]> err.no Git - util-linux/commitdiff
Imported from util-linux-2.10m tarball.
authorKarel Zak <kzak@redhat.com>
Wed, 6 Dec 2006 23:25:43 +0000 (00:25 +0100)
committerKarel Zak <kzak@redhat.com>
Wed, 6 Dec 2006 23:25:43 +0000 (00:25 +0100)
142 files changed:
HISTORY
MCONFIG
Makefile
VERSION
attic/pidof.c [deleted file]
attic/strings.1 [deleted file]
attic/strings.c [deleted file]
clock/Makefile
clock/clock.h
clock/cmos.c
clock/hwclock.8
clock/hwclock.c
clock/kd.c
clock/shhopt.c
configure
disk-utils/Makefile
disk-utils/blockdev.c
disk-utils/elvtune.8 [new file with mode: 0644]
disk-utils/elvtune.c [new file with mode: 0644]
disk-utils/fdformat.c
disk-utils/fsck.minix.8
disk-utils/fsck.minix.c
disk-utils/minix.h [new file with mode: 0644]
disk-utils/mkfs.bfs.c
disk-utils/mkfs.minix.c
disk-utils/mkswap.8
disk-utils/mkswap.c
disk-utils/raw.8
disk-utils/raw.c
fdisk/Makefile
fdisk/cfdisk.c
fdisk/common.h
fdisk/fdisk.8
fdisk/fdisk.c
fdisk/fdisk.h
fdisk/fdiskaixlabel.c
fdisk/fdiskaixlabel.h
fdisk/fdiskbsdlabel.c
fdisk/fdiskbsdlabel.h
fdisk/fdisksgilabel.c
fdisk/fdisksgilabel.h
fdisk/fdisksunlabel.c
fdisk/fdisksunlabel.h
fdisk/i386_sys_types.c
fdisk/llseek.c
fdisk/partname.c [new file with mode: 0644]
fdisk/sfdisk.8
fdisk/sfdisk.c
games/banner.c
kbd/kbdrate.c
login-utils/Makefile
login-utils/agetty.c
login-utils/chfn.c
login-utils/chsh.c
login-utils/login.c
login-utils/need.8 [new file with mode: 0644]
login-utils/need.c [new file with mode: 0644]
login-utils/shutdown.8
login-utils/shutdown.c
login-utils/simpleinit.8
login-utils/simpleinit.c
login-utils/simpleinit.h [new file with mode: 0644]
misc-utils/cal.c
misc-utils/ddate.c
misc-utils/kill.c
misc-utils/kill.h [new file with mode: 0644]
misc-utils/logger.c
misc-utils/md5.h
misc-utils/namei.c
misc-utils/procs.c
misc-utils/rename.c
misc-utils/script.c
misc-utils/setterm.1
misc-utils/setterm.c
misc-utils/tsort.c
misc-utils/whereis.c
misc-utils/write.c
mount/Makefile
mount/lomount.c
mount/losetup.c [deleted file]
mount/mount.8
mount/mount.c
mount/mount_by_label.c
mount/mount_by_label.h
mount/mount_guess_fstype.c
mount/nfs_mount4.h [new file with mode: 0644]
mount/nfs_mount4.h.sv [moved from mount/nfs_mount3.h with 77% similarity]
mount/nfsmount.c
mount/nfsmount.h [deleted file]
mount/nfsmount.x
mount/nfsmount_clnt.c [deleted file]
mount/nfsmount_xdr.c [deleted file]
mount/pivot_root.2 [new file with mode: 0644]
mount/pivot_root.8 [new file with mode: 0644]
mount/pivot_root.c [new file with mode: 0644]
mount/realpath.c
mount/rpcsvc/nfsmount.h
mount/rpcsvc/nfsmount.x
mount/rpcsvc/nfsmount_clnt.c
mount/rpcsvc/nfsmount_xdr.c
mount/swapon.8
partx/Makefile [new file with mode: 0644]
partx/addpart.c [moved from fdisk/addpart.c with 100% similarity]
partx/bsd.c [new file with mode: 0644]
partx/delpart.c [moved from fdisk/delpart.c with 100% similarity]
partx/dos.c [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
po/POTFILES.in
po/cat-id-tbl.c
po/cs.po
po/de.po
po/es.po [new file with mode: 0644]
po/fr.po
po/it.po
po/pt_BR.po
rescuept/README
rescuept/rescuept.c
sys-utils/Makefile
sys-utils/cytune.c
sys-utils/dmesg.c
sys-utils/ipcrm.c
sys-utils/ipcs.c
sys-utils/rdev.c
sys-utils/readprofile.c
sys-utils/sln.c
sys-utils/tunelp.c
text-utils/col.1
text-utils/col.c
text-utils/column.c
text-utils/display.c
text-utils/hexdump.c
text-utils/hexdump.h
text-utils/more.1
text-utils/more.c
text-utils/odsyntax.c
text-utils/parse.c
text-utils/rev.c
text-utils/ul.c

diff --git a/HISTORY b/HISTORY
index e89cbf6559b90b5daa22bf1b82688bebb1302363..9c6099de28755cf41b0c4bbd0d0a165432a3df2f 100644 (file)
--- a/HISTORY
+++ b/HISTORY
@@ -1,3 +1,62 @@
+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)
+* 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)
diff --git a/MCONFIG b/MCONFIG
index 4afbfe0e63cc884469b6f3337fe3b840154d8e2c..f1f0e3d0767b210445086ce781a76884854d3d69 100644 (file)
--- a/MCONFIG
+++ b/MCONFIG
@@ -87,6 +87,7 @@ ifeq "$(CC)" ""
 endif
 
 # Different optimizations for different cpus.
+# Change the -m486 part if you have a 386.
 ifeq "$(CPU)" "intel"
   OPT=         -pipe -O2 -m486 -fomit-frame-pointer
 else 
@@ -99,7 +100,7 @@ endif
 
 LDFLAGS   = -s
 
-WARNFLAGS = -Wall
+WARNFLAGS = -Wall -Wmissing-prototypes -Wstrict-prototypes
 
 LIB=../lib
 
index d9c653f493cc965a8f9b2a921b49c6ff96f95e43..b67fb3d4b02aa8f649c1c178c26dc8304e8c3036 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -51,6 +51,7 @@ clean:
 
 distclean: make_include clean
        cd po && make distclean
+       cd mount && make distclean
        -rm -f defines.h make_include
 
 #
diff --git a/VERSION b/VERSION
index 3a55462277f6605adece50ac8a1bffe5c4d3a24c..d877938d220ad245e411f33435812aeafcb5b35d 100644 (file)
--- a/VERSION
+++ b/VERSION
@@ -1 +1 @@
-2.10f
+2.10m
diff --git a/attic/pidof.c b/attic/pidof.c
deleted file mode 100644 (file)
index 74709c7..0000000
+++ /dev/null
@@ -1,95 +0,0 @@
-/* pid -- display the process id of a running command
-
-   Copyright (c) 1994 Salvatore Valente <svalente@mit.edu>
-   Copyright (c) 1996 Bruno Haible <haible@ilog.fr>
-
-   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 <string.h>
-#include <stdlib.h>
-
-extern int* get_pids (char*, int);
-
-char version_string[] = "pid 1.0";
-char* program_name;
-
-int usage (int status)
-{
-  FILE* fp = (status == 0 ? stdout : stderr);
-  fprintf(fp, "Usage:  %s command ...\n", program_name);
-  return status;
-}
-
-static int compar_int (const void* i1, const void* i2)
-{
-  return *((int *)i1) - *((int *)i2);
-}
-
-int main (int argc, char *argv[])
-{
-  int i;
-  int *pids, *pids0;
-  int num_allpids = 0;
-  int *allpids = (int*)0;
-  int allpids_size = 0;
-
-  program_name = argv[0];
-
-  /* Argument processing. */
-  for (i = 1; i < argc; i++) {
-    char* arg = argv[i];
-    if (!strcmp(arg, "--help"))
-      return usage(0);
-    else if (!strcmp(arg, "--version")) {
-      printf("%s\n", version_string);
-      return 0;
-    }
-  }
-
-  /* Gather the pids. */
-  for (i = 1; i < argc; i++) {
-    char* arg = argv[i];
-    pids0 = pids = get_pids(arg, 1);
-    if (pids) {
-      while (*pids >= 0) {
-        int pid = *pids++;
-        if (num_allpids >= allpids_size) {
-          allpids_size = 2*allpids_size+1;
-          allpids = (int*) realloc(allpids, sizeof(int)*allpids_size);
-          if (!allpids) {
-            fprintf(stderr, "%s: out of memory\n", program_name);
-            exit(1);
-          }
-        }
-        allpids[num_allpids++] = pid;
-      }
-      free(pids0);
-    }
-  }
-
-  /* Sort them. */
-  if (num_allpids > 1)
-    qsort(allpids, num_allpids, sizeof(int), compar_int);
-
-  /* Print them. */
-  for (pids = allpids, i = num_allpids; i > 0; pids++, i--)
-    printf("%d\n", *pids);
-
-  return 0;
-}
diff --git a/attic/strings.1 b/attic/strings.1
deleted file mode 100644 (file)
index 08dda5b..0000000
+++ /dev/null
@@ -1,96 +0,0 @@
-.\" 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.
-.\"
-.\"     @(#)strings.1  6.11 (Berkeley) 5/9/91
-.\"
-.Dd May 9, 1991
-.Dt STRINGS 1
-.Os BSD 3
-.Sh NAME
-.Nm strings
-.Nd find printable strings in a file
-.Sh SYNOPSIS
-.Nm strings
-.Op Fl afo
-.Op Fl n Ar number
-.Op Ar file ...
-.Sh DESCRIPTION
-.Nm Strings
-displays the sequences of printable characters in each of the specified
-files, or in the standard input, by default.
-By default, a sequence must be at least four characters in length
-before being displayed.
-.Pp
-The options are as follows:
-.Bl -tag -width Ds
-.It Fl a
-By default,
-.Nm strings
-only searches the text and data segments of object files.
-The
-.Fl a
-option causes
-.Nm strings
-to search the entire object file.
-.It Fl f
-Each string is preceded by the name of the file
-in which it was found.
-.It Fl n
-Specifies the minimum number of characters in a sequence to be
-.Ar number ,
-instead of four.
-.It Fl o
-Each string is preceded by its decimal offset in the
-file.
-.El
-.Pp
-.Nm Strings
-is useful for identifying random binaries, among other things.
-.Sh SEE ALSO
-.Xr hexdump 1
-.Sh BUGS
-The algorithm for identifying strings is extremely primitive.
-In particular, machine code instructions on certain architectures
-can resemble sequences of ASCII bytes, which
-will fool the algorithm.
-.Sh COMPATIBILITY
-Historic implementations of
-.Nm
-only search the initialized data portion of the object file.
-This was reasonable as strings were normally stored there.
-Given new compiler technology which installs strings in the 
-text portion of the object file, the default behavior was
-changed.
-.Sh HISTORY
-The
-.Nm
-command appeared in
-.Bx 3.0 .
diff --git a/attic/strings.c b/attic/strings.c
deleted file mode 100644 (file)
index 6c201a7..0000000
+++ /dev/null
@@ -1,212 +0,0 @@
-/*
- * Copyright (c) 1980, 1987 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.
- *
- * Wed Jun 22 22:22:37 1994, faith@cs.unc.edu:
- *     Added internationalization patches from Vitor Duarte <vad@fct.unl.pt>
- */
-
-#include <sys/types.h>
-#include <fcntl.h>
-#include <errno.h>
-#include <a.out.h>
-#include <unistd.h>
-#include <stdio.h>
-#include <ctype.h>
-#include <stdlib.h>
-#include <string.h>
-#include <locale.h>
-
-#define DEF_LEN                4               /* default minimum string length */
-#if 0
-#define ISSTR(ch)      (isascii(ch) && (isprint(ch) || ch == '\t'))
-#else
-#define ISSTR(ch)      (isprint(ch) || ch == '\t')
-#endif
-
-typedef struct exec    EXEC;           /* struct exec cast */
-
-static long    foff;                   /* offset in the file */
-static int     hcnt,                   /* head count */
-               head_len,               /* length of header */
-               read_len;               /* length to read */
-static u_char  hbfr[sizeof(EXEC)];     /* buffer for struct exec */
-
-static void usage();
-
-main(argc, argv)
-       int argc;
-       char **argv;
-{
-       extern char *optarg;
-       extern int optind;
-       register int ch, cnt;
-       register u_char *C;
-       EXEC *head;
-       int exitcode, minlen;
-       short asdata, oflg, fflg;
-       u_char *bfr;
-       char *file, *p;
-
-       setlocale(LC_CTYPE, "");
-
-
-       /*
-        * for backward compatibility, allow '-' to specify 'a' flag; no
-        * longer documented in the man page or usage string.
-        */
-       asdata = exitcode = fflg = oflg = 0;
-       minlen = -1;
-       while ((ch = getopt(argc, argv, "-0123456789an:of")) != EOF)
-               switch((char)ch) {
-               case '0': case '1': case '2': case '3': case '4':
-               case '5': case '6': case '7': case '8': case '9':
-                       /*
-                        * kludge: strings was originally designed to take
-                        * a number after a dash.
-                        */
-                       if (minlen == -1) {
-                               p = argv[optind - 1];
-                               if (p[0] == '-' && p[1] == ch && !p[2])
-                                       minlen = atoi(++p);
-                               else
-                                       minlen = atoi(argv[optind] + 1);
-                       }
-                       break;
-               case '-':
-               case 'a':
-                       asdata = 1;
-                       break;
-               case 'f':
-                       fflg = 1;
-                       break;
-               case 'n':
-                       minlen = atoi(optarg);
-                       break;
-               case 'o':
-                       oflg = 1;
-                       break;
-               case '?':
-               default:
-                       usage();
-               }
-       argc -= optind;
-       argv += optind;
-
-       if (minlen == -1)
-               minlen = DEF_LEN;
-
-       if (!(bfr = malloc((u_int)minlen))) {
-               (void)fprintf(stderr, "strings: %s\n", strerror(errno));
-               exit(1);
-       }
-       bfr[minlen] = '\0';
-       file = "stdin";
-       do {
-               if (*argv) {
-                       file = *argv++;
-                       if (!freopen(file, "r", stdin)) {
-                               (void)fprintf(stderr,
-                                   "strings; %s: %s\n", file, strerror(errno));
-                               exitcode = 1;
-                               goto nextfile;
-                       }
-               }
-               foff = 0;
-#define DO_EVERYTHING()                {read_len = -1; head_len = 0; goto start;}
-               read_len = -1;
-               if (asdata)
-                       DO_EVERYTHING()
-               else {
-                       head = (EXEC *)hbfr;
-                       if ((head_len =
-                           read(fileno(stdin), head, sizeof(EXEC))) == -1)
-                               DO_EVERYTHING()
-                       if (head_len == sizeof(EXEC) && !N_BADMAG(*head)) {
-                               foff = N_TXTOFF(*head);
-                               if (fseek(stdin, foff, SEEK_SET) == -1)
-                                       DO_EVERYTHING()
-                               read_len = head->a_text + head->a_data;
-                               head_len = 0;
-                       }
-                       else
-                               hcnt = 0;
-               }
-start:
-               for (cnt = 0; (ch = getch()) != EOF;) {
-                       if (ISSTR(ch)) {
-                               if (!cnt)
-                                       C = bfr;
-                               *C++ = ch;
-                               if (++cnt < minlen)
-                                       continue;
-                               if (fflg)
-                                       printf("%s:", file);
-                               if (oflg)
-                                       printf("%07ld %s",
-                                           foff - minlen, (char *)bfr);
-                               else
-                                       printf("%s", bfr);
-                               while ((ch = getch()) != EOF && ISSTR(ch))
-                                       putchar((char)ch);
-                               putchar('\n');
-                       }
-                       cnt = 0;
-               }
-nextfile: ;
-       } while (*argv);
-       exit(exitcode);
-}
-
-/*
- * getch --
- *     get next character from wherever
- */
-getch()
-{
-       ++foff;
-       if (head_len) {
-               if (hcnt < head_len)
-                       return((int)hbfr[hcnt++]);
-               head_len = 0;
-       }
-       if (read_len == -1 || read_len-- > 0)
-               return(getchar());
-       return(EOF);
-}
-
-static void
-usage()
-{
-       (void)fprintf(stderr,
-           "usage: strings [-afo] [-n length] [file ... ]\n");
-       exit(1);
-}
index fd0522b388cc7e6e9843e47ecc048bf40d588a7b..10e96051aaaf5d2e0812855a3c58c814a3e846cc 100644 (file)
@@ -20,6 +20,11 @@ hwclock.o: hwclock.c shhopt.h
 hwclock.o cmos.o rtc.o kd.o: clock.h
 hwclock: hwclock.o shhopt.o cmos.o rtc.o kd.o
 
+CWFLAGS := $(subst -Wmissing-prototypes,,$(CFLAGS))
+
+cmos.o: cmos.c
+       $(CC) $(CWFLAGS) -c $< -o $@
+
 install: all
        $(INSTALLDIR) $(SBINDIR) $(BINDIR) $(USRBINDIR)
        $(INSTALLBIN) $(SBIN) $(SBINDIR)
index b57b499c039aad7a3f5e87fdf79d7f572de54789..fc91826ce56e76ed1e6afec49c2f1a7816b8b3b8 100644 (file)
@@ -22,6 +22,7 @@ typedef int bool;
 /* hwclock.c */
 extern char *progname;
 extern int debug;
+extern int epoch_option;
 extern void outsyserr(char *msg);
 
 /* cmos.c */
index 827ec54a9aa6646f989109521192316325623d96..16705bf7feadc9464a1acb56b279e0918d5784ba 100644 (file)
@@ -63,7 +63,7 @@ int inb(int c){ return 0; }
 
 #define TM_EPOCH 1900
 int cmos_epoch = 1900;         /* 1980 for an alpha in ARC console time */
-                               /* One also sees 1952 (Digital Unix?)
+                               /* One also sees 1952 (Digital Unix)
                                   and 1958 (ALPHA_PRE_V1_2_SRM_CONSOLE) */
 
 /* Martin Ostermann writes: 
@@ -125,6 +125,11 @@ 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;
 
@@ -138,6 +143,12 @@ set_cmos_epoch(int ARCconsole, int SRM) {
      return;
   }
 
+  /* The kernel source today says: read the year. If it is
+     in 11-43 then the epoch is 1980 (this covers 1991-2023).
+     Otherwise, if it is less than 96 then the epoch is 1952
+     (this covers 1952-1962 and 1996-2047). Otherwise, the epoch
+     is 1900 (this covers 1996-1999, or rather 1996-2155). */
+
 
   /* See whether we are dealing with SRM or MILO, as they have
      different "epoch" ideas. */
@@ -395,7 +406,7 @@ hclock_set_time(const struct tm *tm) {
 }
 
 static inline int
-cmos_clock_busy() {
+cmos_clock_busy(void) {
        return
 #ifdef __alpha__
                        /* poll bit 4 (UF) of Control Register C */
index ddf0c7c3e87c74f51f9c3fc3b3992e7dde4e322f..f34bfac0093fe1825acb2d096ea311b3db762f7b 100644 (file)
@@ -1,30 +1,30 @@
-.TH CLOCK 8 "02 March 1998"
+.TH HWCLOCK 8 "02 March 1998"
 .SH NAME
-clock \- query and set the hardware clock (RTC)
+hwclock \- query and set the hardware clock (RTC)
 .SH SYNOPSIS
-.B "hwclock \-\-show"
+.BR "hwclock \-r" " or " "hwclock \-\-show"
 .br
-.B "hwclock \-\-set \-\-date=newdate"
+.BR "hwclock \-w" " or " "hwclock \-\-systohc"
 .br
-.B "hwclock \-\-systohc"
+.BR "hwclock \-s" " or " "hwclock \-\-hctosys" 
 .br
-.B "hwclock \-\-hctosys" 
+.BR "hwclock \-a" " or " "hwclock \-\-adjust"
 .br
-.B "hwclock \-\-getepoch"
+.BR "hwclock \-v" " or " "hwclock \-\-version"
 .br
-.B "hwclock \-\-setepoch \-\-epoch=year"
+.B "hwclock \-\-set \-\-date=newdate"
 .br
-.B "hwclock \-\-adjust"
+.B "hwclock \-\-getepoch"
 .br
-.B "hwclock \-\-version"
+.B "hwclock \-\-setepoch \-\-epoch=year"
 .PP
 other options:
 .PP
-.B "\-\-utc  \-\-localtime \-\-directisa \-\-test \-\-debug"
+.B "[\-u|\-\-utc]  \-\-localtime \-\-directisa \-\-test \-\-debug"
 .PP
 and arcane options for DEC Alpha:
 .PP
-.B "\-\-arc \-\-jensen \-\-srm \-\-funky-toy"
+.B "[\-A|\-\-arc] [\-J|\-\-jensen] [\-S|\-\-srm] [\-F|\-\-funky-toy]"
 .PP
 Minimum unique abbreviations of all options are acceptable.
 .PP
@@ -67,16 +67,15 @@ option.
 .B \-\-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
+Also set the kernel's timezone value to the local timezone
+as indicated by the TZ environment variable and/or
 .IR /usr/lib/zoneinfo ,
 as 
 .BR tzset (3)
-would interpret them.  EXCEPT: always set the Daylight Savings Time part of
-the kernel's timezone value to 0 ("not Daylight Savings Time").  If DST
-is indicated, just add an hour to the base part.
-
-See the discussion of timezones below.
+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
@@ -356,21 +355,14 @@ sets the kernel timezone to the value indicated by TZ and/or
 .B \-\-hctosys
 option.
 .PP
-A complication is that the timezone value actually consists of two
-parts: 1) how far from the Standard Meridian the locality is
-geographically, and 2) whether or not a Daylight Savings Time (DST)
-convention is in effect in the locality at the present time.  In
-practice, the DST part of the timezone value is almost never used, so
-if the geographical part were to be set to its correct value, the
-users of the timezone value would actually compute the wrong local
-time.
-.PP
-Therefore, 
-.I hwclock
-violates the definition of the kernel's timezone value and always sets
-the DST part to zero.  If DST is supposed to be in effect, 
-.I hwclock
-simply adds an hour to the geographical part.
+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
index 8c682380ec42864a9e5b0ac218705353d152ecfa..d45516b4bc13fbc38e0730e23ee21ad3088f6419 100644 (file)
@@ -19,6 +19,7 @@
  * 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>
  */
 
 /*
@@ -126,6 +127,9 @@ bool debug;
 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.
@@ -136,7 +140,7 @@ bool badyear;
  * I recommend putting this command "hwclock --badyear" in the monthly
  * crontab, just to be safe. --  Dave Coffin  11/12/98
  */
-void
+static void
 write_date_to_file (struct tm *tm) {
   FILE *fp;
 
@@ -148,7 +152,7 @@ write_date_to_file (struct tm *tm) {
     perror(LASTDATE);
 }
 
-void
+static void
 read_date_from_file (struct tm *tm) {
   int last_mday, last_mon, last_year;
   FILE *fp;
@@ -378,18 +382,17 @@ mktime_tz(struct tm tm, const bool universal,
     *systime_p = 0;
     if (debug)
       printf(_("Invalid values in hardware clock: "
-             "%2d/%.2d/%.2d %.2d:%.2d:%.2d\n"),
-             tm.tm_year, tm.tm_mon+1, tm.tm_mday,
-             tm.tm_hour, tm.tm_min, tm.tm_sec
-             );
+             "%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 : %2d/%.2d/%.2d %.2d:%.2d:%.2d = "
-              "%d seconds since 1969\n"),
-            tm.tm_year, tm.tm_mon+1, tm.tm_mday,
-             tm.tm_hour, tm.tm_min, tm.tm_sec, (int) *systime_p);
+      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);
@@ -414,7 +417,8 @@ read_hardware_clock(const bool universal, bool *valid_p, time_t *systime_p){
     read_date_from_file(&tm);
 
   if (debug)
-    printf (_("Time read from Hardware Clock: %02d:%02d:%02d\n"),
+    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);
 }
@@ -596,8 +600,8 @@ interpret_date_string(const char *date_opt, time_t * const time_p) {
         int seconds_since_epoch;
         rc = sscanf(date_resp + sizeof(magic)-1, "%d", &seconds_since_epoch);
         if (rc < 1) {
-          fprintf(stderr, _("The date command issued by %s returned"
-                  "something other than an integer where the converted"
+          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\nThe response was:\n %s\n"),
                   MYNAME, date_command, date_resp);
@@ -643,29 +647,33 @@ set_system_clock(const bool hclock_valid, const time_t newtime,
     retcode = 1;
   } else {
     struct timeval tv;
+    struct tm *broken;
+    int minuteswest;
     int rc;
     
     tv.tv_sec = newtime;
     tv.tv_usec = 0;
     
-    tzset(); /* init timezone from TZ or ...zoneinfo/localtime */
+    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 = %ld\n"), timezone/60);
+      printf( _("\ttz.tz_minuteswest = %d\n"), minuteswest);
     }
     if (testing) {
       printf(_("Not setting system clock because running in test mode.\n"));
       retcode = 0;
     } else {
-      /* For documentation of settimeofday(), in addition to its man page,
-         see kernel/time.c in the Linux source code.
-        The code used to have `-60*daylight' here, but that is wrong.
-        The variable `daylight' does not specify whether it is DST now. */
-
-      const struct timezone tz = { timezone/60, 0 };
+      const struct timezone tz = { minuteswest, 0 };
 
       rc = settimeofday(&tv, &tz);
       if (rc != 0) {
@@ -1149,7 +1157,6 @@ main(int argc, char **argv, char **envp) {
   bool ARCconsole, utc, testing, directisa, Jensen, SRM, funky_toy;
   bool local_opt;
   char *date_opt;
-  int epoch_opt;
 
   const optStruct option_def[] = {
     { 'h', (char *) "help",      OPT_FLAG,   &help,      0 },
@@ -1163,7 +1170,7 @@ main(int argc, char **argv, char **envp) {
     { 'v', (char *) "version",   OPT_FLAG,   &version,   0 },
     { 'V', (char *) "version",   OPT_FLAG,   &version,   0 },
     { 0,   (char *) "date",      OPT_STRING, &date_opt,  0 },
-    { 0,   (char *) "epoch",     OPT_UINT,   &epoch_opt0 },
+    { 0,   (char *) "epoch",     OPT_UINT,   &epoch_option,0 },
     { 'u', (char *) "utc",       OPT_FLAG,   &utc,       0 },
     { 0,   (char *) "localtime", OPT_FLAG,   &local_opt, 0 },
     { 0,   (char *) "badyear",   OPT_FLAG,   &badyear,   0 },
@@ -1183,7 +1190,9 @@ main(int argc, char **argv, char **envp) {
 
   gettimeofday(&startup_time, NULL);  /* Remember what time we were invoked */
 
-  setlocale(LC_ALL, "");
+  /* not LC_ALL - the LC_NUMERIC part gives problems when
+     writing to /etc/adjtime - gqueri@mail.dotcom.fr */
+  setlocale(LC_MESSAGES, "");
   bindtextdomain(PACKAGE, LOCALEDIR);
   textdomain(PACKAGE);
 
@@ -1192,13 +1201,12 @@ main(int argc, char **argv, char **envp) {
     version = utc = local_opt = ARCconsole = SRM = funky_toy =
     directisa = badyear = Jensen = testing = debug = FALSE;
   date_opt = NULL;
-  epoch_opt = -1; 
 
   argc_parse = argc; argv_parse = argv;
   optParseOptions(&argc_parse, argv_parse, option_def, 0);
     /* Uses and sets argc_parse, argv_parse. 
        Sets show, systohc, hctosys, adjust, utc, local_opt, version,
-       testing, debug, set, date_opt, getepoch, setepoch, epoch_opt
+       testing, debug, set, date_opt, getepoch, setepoch, epoch_option
        */
     /* This is an ugly routine - for example, if I give an incorrect
        option, it only says "unrecognized option" without telling
@@ -1252,12 +1260,17 @@ main(int argc, char **argv, char **envp) {
       fprintf(stderr, 
               _("Sorry, only the superuser can change the Hardware Clock.\n"));
       permitted = FALSE;
+    } else if (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;
+    } else
+      permitted = TRUE;
   }
 
   if (!permitted) retcode = 2;
@@ -1266,16 +1279,19 @@ main(int argc, char **argv, char **envp) {
     if (version) {
       printf(MYNAME " " VERSION "/%s\n",util_linux_version);
     } else if (getepoch || setepoch) {
-      manipulate_epoch(getepoch, setepoch, epoch_opt, testing);
+      manipulate_epoch(getepoch, setepoch, epoch_option, testing);
     } else {
       if (debug)
         printf(MYNAME " " VERSION "/%s\n",util_linux_version);
       determine_clock_access_method(directisa);
-      if (!ur)
-        fprintf(stderr, _("Cannot access the Hardware Clock via any known "
-                "method.  Use --debug option to see the details of our "
-                "search for an access method.\n"));
-      else
+      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"));
+      } else
         manipulate_clock(show, adjust, set, set_time, hctosys, systohc, 
                          startup_time, utc, local_opt, testing, &rc);
     }
index d1c4aca19f8b31f8eb6ee2552c9c40f41747cbf3..8fab619ff77d07a5e11b5ae7fc6e4cd270947038 100644 (file)
@@ -158,7 +158,10 @@ probe_for_kd_clock() {
       } else
         ret = &kd;
     } else {
+      /* probably KDGHWCLK exists on m68k only */
+#ifdef __m68k__
       outsyserr(_("Can't open /dev/tty1"));
+#endif
     }
     return ret;
 }
index e55a7293a9a67dc3568095366fd3ffb6e930ba26..ac34128292ee0169e14159d562b05dd381edcd38 100644 (file)
@@ -228,7 +228,7 @@ static void argvRemove(int *argc, char *argv[], int i)
  *  RETURNS       Nothing. Aborts in case of error.
  *
  */
-void optExecute(const optStruct *opt, char *arg, int lng)
+static void optExecute(const optStruct *opt, char *arg, int lng)
 {
     switch (opt->type) {
       case OPT_FLAG:
index 6b5d6b6ad2032d189995eb52a08efa39ef10f611..4ac10b0463508c8403e75782026daa5b7a5b963f 100755 (executable)
--- a/configure
+++ b/configure
 # 14. For script.c: do we have <pty.h> and openpty()?
 # 15. For lib/widechar.h: do we have wide character support?
 # 16. For clock/kd.c: do we have nanosleep()?
+# 17. For mkswap: do we have personality()?
+# 18. For pivot_root.c: does <linux/unistd.h> define __NR_pivot_root?
+# 19. For hwclock.c: does struct tm have a field tm_gmtoff?
+# 20. For nfsmount: does the output of rpcgen compile?
 
 rm -f make_include defines.h
 
@@ -323,7 +327,9 @@ echo "
 #include <pty.h>
 main(){ exit(0); openpty(0, 0, 0, 0, 0); }
 " > conftest.c
+LIBS=-lutil
 eval $compile
+LIBS=
 if test -s conftest && ./conftest 2>/dev/null; then
        echo "HAVE_OPENPTY=yes" >> make_include
        echo "#define HAVE_openpty" >> defines.h
@@ -381,3 +387,104 @@ else
 fi
 rm -f conftest conftest.c
 
+#
+# 17. For mkswap.c: do we have personality()?
+#
+echo "
+int main () {
+  extern int personality(unsigned long);
+  personality(0);
+  exit(0);
+}
+" > conftest.c
+eval $compile
+if test -s conftest && ./conftest 2>/dev/null; then
+       echo "#define HAVE_personality" >> defines.h
+       echo "You have personality()"
+else
+       echo "You don't have personality()"
+fi
+rm -f conftest conftest.c
+
+#
+# 18. For pivot_root.c: does <linux/unistd.h> define __NR_pivot_root?
+#
+echo "
+#include <linux/unistd.h>
+int main(void)
+{
+    return __NR_pivot_root;
+}
+" >conftest.c
+eval $compile
+if test -s conftest; then
+       echo "HAVE_PIVOT_ROOT=yes" >> make_include
+       echo "You have __NR_pivot_root"
+else
+       echo "You don't have __NR_pivot_root"
+fi
+rm -f conftest conftest.c
+
+#
+# 19. For hwclock.c: does struct tm have a field tm_gmtoff?
+#
+echo "
+#include <time.h>
+#include <unistd.h>
+int main(int a, char **v)
+{
+    struct tm *tm = localtime(0);
+    if (a == -1)  /* false */
+        sleep(tm->tm_gmtoff);
+    exit(0);
+}
+" >conftest.c
+eval $compile
+if test -s conftest; then
+        echo "#define HAVE_tm_gmtoff" >> defines.h
+        echo "You have a tm_gmtoff field in struct tm"
+else
+        echo "You don't have a tm_gmtoff field in struct tm"
+fi
+rm -f conftest conftest.c
+
+#
+# 20. For nfsmount: does the output of rpcgen compile?
+#
+rm -f conftest conftestx.c conftestl.c conftest.h conftest.x
+echo "
+#ifdef RPC_CLNT
+%#include <string.h>            /* for memset() */
+#endif
+%#include <asm/types.h>
+typedef opaque fhandle[1];
+union fhstatus switch (unsigned fhs_status) {
+case 0:
+        fhandle fhs_fhandle;
+default:
+        void;
+};
+typedef string dirpath<1024>;
+struct ppathcnf {
+    short   pc_mask[2];
+};
+
+program MOUNTPROG {
+    version MOUNTVERS {
+       fhstatus
+       MOUNTPROC_MNT(dirpath) = 1;
+    } = 2;
+} = 100005;
+" > conftest.x
+if rpcgen -h -o conftest.h conftest.x && \
+   rpcgen -c -o conftestx.c conftest.x && \
+   rpcgen -l -o conftestl.c conftest.x && \
+   cc -c conftestx.c 2> conferrs && cc -c conftestl.c 2>> conferrs && \
+   test ! -s conferrs
+then
+        echo "HAVE_GOOD_RPC=yes" >> make_include
+        echo "Your rpcgen seems to work"
+else
+        echo "Your rpcgen output does not compile"
+fi
+rm -f conftest conftestx.c conftestl.c conftest.h conftest.x conferrs
index 36f5e616fb9a3216d7d8e32a341670eab3ed79e7..ab9237c88eb011ca624935bd84dc916b40ecba74 100644 (file)
@@ -8,23 +8,17 @@ include ../MCONFIG
 
 # Where to put man pages?
 
-MAN8=          fdformat.8 mkfs.8 mkswap.8
+MAN8=          fdformat.8 mkfs.8 mkswap.8 elvtune.8 fsck.minix.8 mkfs.minix.8 mkfs.bfs.8
 
 # Where to put binaries?
 # See the "install" rule for the links. . .
 
-SBIN=          mkfs mkswap blockdev
+SBIN=          mkfs mkswap blockdev elvtune fsck.minix mkfs.minix mkfs.bfs
 
 USRBIN=                fdformat
 
 ETC=           fdprm
 
-ifneq "$(CPU)" "sparc"
-# fsck and mkfs will compile, but there is no kernel support on sparc
-MAN8:=$(MAN8) fsck.minix.8 mkfs.minix.8 mkfs.bfs.8
-SBIN:=$(SBIN) fsck.minix mkfs.minix mkfs.bfs
-endif
-
 ifneq "$(HAVE_FDUTILS)" "yes"
 USRBIN:=$(USRBIN) setfdprm
 MAN8:=$(MAN8) setfdprm.8
@@ -39,7 +33,7 @@ endif
 
 all: $(SBIN) $(USRBIN)
 
-fsck.minix.o mkfs.minix.o: bitops.h
+fsck.minix.o mkfs.minix.o: bitops.h minix.h
 
 install: all
        $(INSTALLDIR) $(SBINDIR) $(USRBINDIR) $(ETCDIR)
index 7f1fd7bb8e1dc4651b729e9a00f8b4a7e3681df2..af727f7da645501daa1339cbf09745c8503e6bc8 100644 (file)
 #include <unistd.h>
 #include <sys/ioctl.h>
 
-#include <linux/fs.h>
 #include "nls.h"
 
+/* Since it is impossible to include <linux/fs.h>, let us
+   give the ioctls explicitly. */
+
+#ifndef BLKROSET
+#define BLKROSET   _IO(0x12,93)
+#define BLKROGET   _IO(0x12,94)
+#define BLKRRPART  _IO(0x12,95)
+#define BLKGETSIZE _IO(0x12,96)
+#define BLKFLSBUF  _IO(0x12,97)
+#define BLKRASET   _IO(0x12,98)
+#define BLKRAGET   _IO(0x12,99)
+#define BLKSSZGET  _IO(0x12,104)
+#endif
+
 const char *progname;
 
 struct bdc {
@@ -76,7 +89,7 @@ usage(void) {
        exit(1);
 }
 
-int
+static int
 find_cmd(char *s) {
        int j;
 
diff --git a/disk-utils/elvtune.8 b/disk-utils/elvtune.8
new file mode 100644 (file)
index 0000000..21a0bbc
--- /dev/null
@@ -0,0 +1,73 @@
+.\" -*- nroff -*-
+.TH ELVTUNE 8 "14 March 2000" "Version 1.0"
+.SH NAME
+elvtune \- I/O elevator tuner
+.SH SYNOPSIS
+.B elvtune
+[
+.B \-r
+.I r_lat
+]
+[
+.B \-w
+.I w_lat
+]
+[
+.B \-b
+.I b_max
+]
+.B /dev/blkdev1
+[
+.B /dev/blkdev2 ...
+]
+
+.B elvtune
+.B -h
+
+.B elvtune
+.B -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
diff --git a/disk-utils/elvtune.c b/disk-utils/elvtune.c
new file mode 100644 (file)
index 0000000..00640fe
--- /dev/null
@@ -0,0 +1,143 @@
+/*
+ *  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 <getopt.h>
+#include <fcntl.h>
+#include <stdio.h>
+#include <sys/ioctl.h>
+#include <unistd.h>
+#include <stdlib.h>
+
+#define BLKELVGET   _IO(0x12,106)/* elevator get */
+#define BLKELVSET   _IO(0x12,107)/* elevator set */
+
+/* this has to match with the kernel structure */
+typedef struct blkelv_ioctl_arg_s {
+       void * queue_ID;
+       int read_latency;
+       int write_latency;
+       int max_bomb_segments;
+} blkelv_ioctl_arg_t;
+
+static void
+usage(void) {
+       fprintf(stderr, "usage:\n\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");
+}
+
+static void
+version(void) {
+       fprintf(stderr, "elvtune: version 1.0\n");
+}
+
+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;
+
+       for (;;) {
+               int opt;
+
+               opt = getopt(argc, argv, "r:w:b:hv");
+               if (opt < 0)
+                       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;
+               }
+
+               if (ioctl(fd, BLKELVGET, &elevator) < 0) {
+                       perror("ioctl get");
+                       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 %p\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;
+}
index 6c3ef5c91322c9d60ce59d27c3e8a9f0e01bdbf9..0251e34404abda055d70715473c77d143b61ef5d 100644 (file)
 #include <sys/stat.h>
 #include <sys/ioctl.h>
 #include <linux/fd.h>
-#include <linux/fs.h>
+
 #include "nls.h"
 
+/* cannot include <linux/fs.h> */
+#define MAJOR(a)       ((a)>>8)
+
 static int ctrl;
 struct floppy_struct param;
 
index f0d8537514ce94d677d122e48d7f3d3290441aec..68979ced02f9db0d3f909504cd57b3fed4b21518 100644 (file)
@@ -36,9 +36,7 @@ will print "FILE SYSTEM HAS CHANGED" and will
 three times before exiting.  Since Linux does not currently have raw
 devices, there is
 .I no
-need to reboot at this time (versus a system which
-.I does
-have raw devices).
+need to reboot at this time.
 .SH WARNING
 .B fsck.minix
 should
index 99a8ca853d4a381173f06e1237812a5318640066..1f040eb52e7d2a493ce10130179481d09b9155c3 100644 (file)
@@ -96,8 +96,7 @@
 #include <mntent.h>
 #include <sys/stat.h>
 
-#include <linux/fs.h>
-#include <linux/minix_fs.h>
+#include "minix.h"
 #include "nls.h"
 
 #ifdef MINIX2_SUPER_MAGIC2
@@ -169,8 +168,10 @@ static char *zone_map;
 static unsigned char * inode_count = NULL;
 static unsigned char * zone_count = NULL;
 
-void recursive_check(unsigned int ino);
-void recursive_check2(unsigned int ino);
+static void recursive_check(unsigned int ino);
+#ifdef HAVE_MINIX2
+static void recursive_check2(unsigned int ino);
+#endif
 
 #include "bitops.h"
 
@@ -183,22 +184,23 @@ void recursive_check2(unsigned int ino);
 #define mark_zone(x) (setbit(zone_map,(x)-FIRSTZONE+1),changed=1)
 #define unmark_zone(x) (clrbit(zone_map,(x)-FIRSTZONE+1),changed=1)
 
-void leave(int) __attribute__ ((noreturn));
-void leave(int status)
-{
+static void
+leave(int status) {
        if (termios_set)
                tcsetattr(0, TCSANOW, &termios);
        exit(status);
 }
 
-void usage(void) {
+static void
+usage(void) {
        fprintf(stderr,
                _("Usage: %s [-larvsmf] /dev/name\n"),
                program_name);
        leave(16);
 }
 
-void die(const char *str) {
+static void
+die(const char *str) {
        fprintf(stderr, "%s: %s\n", program_name, str);
        leave(8);
 }
@@ -207,8 +209,8 @@ void die(const char *str) {
  * This simply goes through the file-name data and prints out the
  * current file.
  */
-void print_current_name(void)
-{
+static void
+print_current_name(void) {
        int i=0;
 
        while (i<name_depth)
@@ -217,8 +219,8 @@ void print_current_name(void)
                printf ("/");
 }
 
-int ask(const char * string, int def)
-{
+static int
+ask(const char * string, int def) {
        int c;
 
        if (!repair) {
@@ -264,8 +266,8 @@ int ask(const char * string, int def)
  * mounted partition.  Code adapted from e2fsck, Copyright (C) 1993,
  * 1994 Theodore Ts'o.  Also licensed under GPL.
  */
-static void check_mount(void)
-{
+static void
+check_mount(void) {
        FILE * f;
        struct mntent * mnt;
        int cont;
@@ -309,8 +311,8 @@ static void check_mount(void)
  * if an error was corrected, and returns the zone (0 for no zone
  * or a bad zone-number).
  */
-int check_zone_nr(unsigned short * nr, int * corrected)
-{
+static int
+check_zone_nr(unsigned short * nr, int * corrected) {
        if (!*nr)
                return 0;
        if (*nr < FIRSTZONE)
@@ -329,8 +331,8 @@ int check_zone_nr(unsigned short * nr, int * corrected)
 }
 
 #ifdef HAVE_MINIX2
-int check_zone_nr2 (unsigned int *nr, int *corrected)
-{
+static int
+check_zone_nr2 (unsigned int *nr, int *corrected) {
        if (!*nr)
                return 0;
        if (*nr < FIRSTZONE)
@@ -352,8 +354,8 @@ int check_zone_nr2 (unsigned int *nr, int *corrected)
 /*
  * read-block reads block nr into the buffer at addr.
  */
-void read_block(unsigned int nr, char * addr)
-{
+static void
+read_block(unsigned int nr, char * addr) {
        if (!nr) {
                memset(addr,0,BLOCK_SIZE);
                return;
@@ -376,8 +378,8 @@ void read_block(unsigned int nr, char * addr)
 /*
  * write_block writes block nr to disk.
  */
-void write_block(unsigned int nr, char * addr)
-{
+static void
+write_block(unsigned int nr, char * addr) {
        if (!nr)
                return;
        if (nr < FIRSTZONE || nr >= ZONES) {
@@ -401,8 +403,8 @@ void write_block(unsigned int nr, char * addr)
  * It sets 'changed' if the inode has needed changing, and re-writes
  * any indirect blocks with errors.
  */
-int map_block(struct minix_inode * inode, unsigned int blknr)
-{
+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;
@@ -436,8 +438,8 @@ int map_block(struct minix_inode * inode, unsigned int blknr)
 }
 
 #ifdef HAVE_MINIX2
-int map_block2 (struct minix2_inode *inode, unsigned int blknr)
-{
+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];
@@ -494,8 +496,8 @@ int map_block2 (struct minix2_inode *inode, unsigned int blknr)
 }
 #endif
 
-void write_super_block(void)
-{
+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
@@ -515,8 +517,8 @@ void write_super_block(void)
        return;
 }
 
-void write_tables(void)
-{
+static void
+write_tables(void) {
        write_super_block();
 
        if (IMAPS*BLOCK_SIZE != write(IN,inode_map,IMAPS*BLOCK_SIZE))
@@ -527,8 +529,8 @@ void write_tables(void)
                die(_("Unable to write inodes"));
 }
 
-void get_dirsize (void)
-{
+static void
+get_dirsize (void) {
        int block;
        char blk[BLOCK_SIZE];
        int size;
@@ -550,8 +552,8 @@ void get_dirsize (void)
        /* use defaults */
 }
 
-void read_superblock(void)
-{
+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))
@@ -584,8 +586,8 @@ void read_superblock(void)
                die(_("bad s_zmap_blocks field in super-block"));
 }
 
-void read_tables(void)
-{
+static void
+read_tables(void) {
        inode_map = malloc(IMAPS * BLOCK_SIZE);
        if (!inode_map)
                die(_("Unable to allocate buffer for inode map"));
@@ -625,8 +627,8 @@ void read_tables(void)
        }
 }
 
-struct minix_inode * get_inode(unsigned int nr)
-{
+static struct minix_inode *
+get_inode(unsigned int nr) {
        struct minix_inode * inode;
 
        if (!nr || nr > INODES)
@@ -676,9 +678,8 @@ struct minix_inode * get_inode(unsigned int nr)
 }
 
 #ifdef HAVE_MINIX2
-struct minix2_inode *
-get_inode2 (unsigned int nr)
-{
+static struct minix2_inode *
+get_inode2 (unsigned int nr) {
        struct minix2_inode *inode;
 
        if (!nr || nr > INODES)
@@ -724,8 +725,8 @@ get_inode2 (unsigned int nr)
 }
 #endif
 
-void check_root(void)
-{
+static void
+check_root(void) {
        struct minix_inode * inode = Inode + ROOT_INO;
 
        if (!inode || !S_ISDIR(inode->i_mode))
@@ -733,8 +734,8 @@ void check_root(void)
 }
 
 #ifdef HAVE_MINIX2
-void check_root2 (void)
-{
+static void
+check_root2 (void) {
        struct minix2_inode *inode = Inode2 + ROOT_INO;
 
        if (!inode || !S_ISDIR (inode->i_mode))
@@ -742,8 +743,8 @@ void check_root2 (void)
 }
 #endif
 
-static int add_zone(unsigned short * znr, int * corrected)
-{
+static int
+add_zone(unsigned short * znr, int * corrected) {
        int result;
        int block;
 
@@ -776,8 +777,8 @@ static int add_zone(unsigned short * znr, int * corrected)
 }
 
 #ifdef HAVE_MINIX2
-static int add_zone2 (unsigned int *znr, int *corrected)
-{
+static int
+add_zone2 (unsigned int *znr, int *corrected) {
        int result;
        int block;
 
@@ -810,8 +811,8 @@ static int add_zone2 (unsigned int *znr, int *corrected)
 }
 #endif
 
-static void add_zone_ind(unsigned short * znr, int * corrected)
-{
+static void
+add_zone_ind(unsigned short * znr, int * corrected) {
        static char blk[BLOCK_SIZE];
        int i, chg_blk=0;
        int block;
@@ -828,8 +829,7 @@ static void add_zone_ind(unsigned short * znr, int * corrected)
 
 #ifdef HAVE_MINIX2
 static void
-add_zone_ind2 (unsigned int *znr, int *corrected)
-{
+add_zone_ind2 (unsigned int *znr, int *corrected) {
        static char blk[BLOCK_SIZE];
        int i, chg_blk = 0;
        int block;
@@ -845,8 +845,8 @@ add_zone_ind2 (unsigned int *znr, int *corrected)
 }
 #endif
 
-static void add_zone_dind(unsigned short * znr, int * corrected)
-{
+static void
+add_zone_dind(unsigned short * znr, int * corrected) {
        static char blk[BLOCK_SIZE];
        int i, blk_chg=0;
        int block;
@@ -863,8 +863,7 @@ static void add_zone_dind(unsigned short * znr, int * corrected)
 
 #ifdef HAVE_MINIX2
 static void
-add_zone_dind2 (unsigned int *znr, int *corrected)
-{
+add_zone_dind2 (unsigned int *znr, int *corrected) {
        static char blk[BLOCK_SIZE];
        int i, blk_chg = 0;
        int block;
@@ -880,8 +879,7 @@ add_zone_dind2 (unsigned int *znr, int *corrected)
 }
 
 static void
-add_zone_tind2 (unsigned int *znr, int *corrected)
-{
+add_zone_tind2 (unsigned int *znr, int *corrected) {
        static char blk[BLOCK_SIZE];
        int i, blk_chg = 0;
        int block;
@@ -897,8 +895,8 @@ add_zone_tind2 (unsigned int *znr, int *corrected)
 }
 #endif
 
-void check_zones(unsigned int i)
-{
+static void
+check_zones(unsigned int i) {
        struct minix_inode * inode;
 
        if (!i || i > INODES)
@@ -916,9 +914,8 @@ void check_zones(unsigned int i)
 }
 
 #ifdef HAVE_MINIX2
-void
-check_zones2 (unsigned int i)
-{
+static void
+check_zones2 (unsigned int i) {
        struct minix2_inode *inode;
 
        if (!i || i > INODES)
@@ -937,8 +934,8 @@ check_zones2 (unsigned int i)
 }
 #endif
 
-void check_file(struct minix_inode * dir, unsigned int offset)
-{
+static void
+check_file(struct minix_inode * dir, unsigned int offset) {
        static char blk[BLOCK_SIZE];
        struct minix_inode * inode;
        int ino;
@@ -1000,9 +997,8 @@ void check_file(struct minix_inode * dir, unsigned int offset)
 }
 
 #ifdef HAVE_MINIX2
-void
-check_file2 (struct minix2_inode *dir, unsigned int offset)
-{
+static void
+check_file2 (struct minix2_inode *dir, unsigned int offset) {
        static char blk[BLOCK_SIZE];
        struct minix2_inode *inode;
        int ino;
@@ -1064,8 +1060,8 @@ check_file2 (struct minix2_inode *dir, unsigned int offset)
 }
 #endif
 
-void recursive_check(unsigned int ino)
-{
+static void
+recursive_check(unsigned int ino) {
        struct minix_inode * dir;
        unsigned int offset;
 
@@ -1082,9 +1078,8 @@ void recursive_check(unsigned int ino)
 }
 
 #ifdef HAVE_MINIX2
-void
-recursive_check2 (unsigned int ino)
-{
+static void
+recursive_check2 (unsigned int ino) {
        struct minix2_inode *dir;
        unsigned int offset;
 
@@ -1101,8 +1096,8 @@ recursive_check2 (unsigned int ino)
 }
 #endif
 
-int bad_zone(int i)
-{
+static int
+bad_zone(int i) {
        char buffer[1024];
 
        if (BLOCK_SIZE*i != lseek(IN, BLOCK_SIZE*i, SEEK_SET))
@@ -1110,8 +1105,8 @@ int bad_zone(int i)
        return (BLOCK_SIZE != read(IN, buffer, BLOCK_SIZE));
 }
 
-void check_counts(void)
-{
+static void
+check_counts(void) {
        int i;
 
        for (i=1 ; i <= INODES ; i++) {
@@ -1162,9 +1157,8 @@ void check_counts(void)
 }
 
 #ifdef HAVE_MINIX2
-void
-check_counts2 (void)
-{
+static void
+check_counts2 (void) {
        int i;
 
        for (i = 1; i <= INODES; i++) {
@@ -1214,8 +1208,8 @@ check_counts2 (void)
 }
 #endif
 
-void check(void)
-{
+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);
@@ -1224,9 +1218,8 @@ void check(void)
 }
 
 #ifdef HAVE_MINIX2
-void
-check2 (void)
-{
+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);
@@ -1235,8 +1228,8 @@ check2 (void)
 }
 #endif
 
-int main(int argc, char ** argv)
-{
+int
+main(int argc, char ** argv) {
        struct termios tmp;
        int count;
        int retcode = 0;
diff --git a/disk-utils/minix.h b/disk-utils/minix.h
new file mode 100644 (file)
index 0000000..46f2af3
--- /dev/null
@@ -0,0 +1,60 @@
+#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 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 */
+
+#endif /* KERNEL_INCLUDES_ARE_CLEAN */
index 93cf1e60ae97fdea9ba4f7cc76c6cc4162485f3c..a8f5578377781b4a338f93d6d57b9ca43beaec34 100644 (file)
 #include <string.h>
 #include <time.h>
 
-#include <linux/fs.h>          /* for BLKGETSIZE */
+/* cannot include <linux/fs.h> */
+#ifndef BLKGETSIZE
+#define BLKGETSIZE _IO(0x12,96)    /* return device size */
+#endif
 
 #include "../defines.h"                /* for util_linux_version */
 
index 4887f05d16c9413480695a92fe8615d77b67f9e8..4eb9aa4b980760d1720b6b2ac98a238a822d7eb6 100644 (file)
 #include <mntent.h>
 #include <getopt.h>
 
-#include <linux/fs.h>
-#include <linux/minix_fs.h>
-
+#include "minix.h"
 #include "nls.h"
 
+#ifndef BLKGETSIZE
+#define BLKGETSIZE _IO(0x12,96)    /* return device size */
+#endif
+
 #ifdef MINIX2_SUPER_MAGIC2
 #define HAVE_MINIX2 1
 #endif
 #error "needs gcc for the bitop-__asm__'s"
 #endif
 
-#ifndef __linux__
-#define volatile
-#endif
-
 #define MINIX_ROOT_INO 1
 #define MINIX_BAD_INO 2
 
@@ -162,24 +160,20 @@ static unsigned long req_nr_inodes = 0;
 #define mark_zone(x) (setbit(zone_map,(x)-FIRSTZONE+1))
 #define unmark_zone(x) (clrbit(zone_map,(x)-FIRSTZONE+1))
 
-/*
- * Volatile to let gcc know that this doesn't return. When trying
- * to compile this under minix, volatile gives a warning, as
- * exit() isn't defined as volatile under minix.
- */
-volatile void fatal_error(const char * fmt_string,int status)
-{
+static void
+fatal_error(const char * fmt_string,int status) {
        fprintf(stderr,fmt_string,program_name,device_name);
        exit(status);
 }
 
-volatile void die(char *str) {
+static void
+die(char *str) {
        fprintf(stderr, "%s: %s\n", program_name, str);
        exit(8);
 }
 
-volatile void usage()
-{
+static void
+usage(void) {
        fprintf(stderr, "%s (%s)\n", program_name, util_linux_version);
        fprintf(stderr,
                _("Usage: %s [-c | -l filename] [-nXX] [-iXX] /dev/name [blocks]\n"),
@@ -192,8 +186,8 @@ volatile void usage()
  * an already mounted partition.  Code adapted from mke2fs, Copyright
  * (C) 1994 Theodore Ts'o.  Also licensed under GPL.
  */
-static void check_mount(void)
-{
+static void
+check_mount(void) {
        FILE * f;
        struct mntent * mnt;
 
@@ -209,8 +203,8 @@ static void check_mount(void)
        die(_("%s is mounted; will not make a filesystem here!"));
 }
 
-static long valid_offset (int fd, int offset)
-{
+static long
+valid_offset (int fd, int offset) {
        char ch;
 
        if (lseek (fd, offset, 0) < 0)
@@ -220,8 +214,8 @@ static long valid_offset (int fd, int offset)
        return 1;
 }
 
-static int count_blocks (int fd)
-{
+static int
+count_blocks (int fd) {
        int high, low;
 
        low = 0;
@@ -240,8 +234,8 @@ static int count_blocks (int fd)
        return (low + 1);
 }
 
-static int get_size(const char  *file)
-{
+static int
+get_size(const char  *file) {
        int     fd;
        long    size;
 
@@ -260,8 +254,8 @@ static int get_size(const char  *file)
        return size;
 }
 
-void write_tables(void)
-{
+static void
+write_tables(void) {
        /* Mark the super block valid. */
        Super.s_state |= MINIX_VALID_FS;
        Super.s_state &= ~MINIX_ERROR_FS;
@@ -283,16 +277,16 @@ void write_tables(void)
        
 }
 
-void write_block(int blk, char * buffer)
-{
+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"));
 }
 
-int get_free_block(void)
-{
+static int
+get_free_block(void) {
        int blk;
 
        if (used_good_blocks+1 >= MAX_GOOD_BLOCKS)
@@ -310,16 +304,16 @@ int get_free_block(void)
        return blk;
 }
 
-void mark_good_blocks(void)
-{
+static void
+mark_good_blocks(void) {
        int blk;
 
        for (blk=0 ; blk < used_good_blocks ; blk++)
                mark_zone(good_blocks_table[blk]);
 }
 
-inline int next(int zone)
-{
+static inline int
+next(int zone) {
        if (!zone)
                zone = FIRSTZONE-1;
        while (++zone < ZONES)
@@ -328,8 +322,8 @@ inline int next(int zone)
        return 0;
 }
 
-void make_bad_inode(void)
-{
+static void
+make_bad_inode(void) {
        struct minix_inode * inode = &Inode[MINIX_BAD_INO];
        int i,j,zone;
        int ind=0,dind=0;
@@ -379,9 +373,8 @@ end_bad:
 }
 
 #ifdef HAVE_MINIX2
-void
-make_bad_inode2 (void)
-{
+static void
+make_bad_inode2 (void) {
        struct minix2_inode *inode = &Inode2[MINIX_BAD_INO];
        int i, j, zone;
        int ind = 0, dind = 0;
@@ -430,8 +423,8 @@ make_bad_inode2 (void)
 }
 #endif
 
-void make_root_inode(void)
-{
+static void
+make_root_inode(void) {
        struct minix_inode * inode = &Inode[MINIX_ROOT_INO];
 
        mark_inode(MINIX_ROOT_INO);
@@ -453,9 +446,8 @@ void make_root_inode(void)
 }
 
 #ifdef HAVE_MINIX2
-void
-make_root_inode2 (void)
-{
+static void
+make_root_inode2 (void) {
        struct minix2_inode *inode = &Inode2[MINIX_ROOT_INO];
 
        mark_inode (MINIX_ROOT_INO);
@@ -477,8 +469,8 @@ make_root_inode2 (void)
 }
 #endif
 
-void setup_tables(void)
-{
+static void
+setup_tables(void) {
        int i;
        unsigned long inodes;
 
@@ -540,8 +532,8 @@ void setup_tables(void)
  * Perform a test of a block; return the number of
  * blocks readable/writeable.
  */
-long do_check(char * buffer, int try, unsigned int current_block) 
-{
+static long
+do_check(char * buffer, int try, unsigned int current_block) {
        long got;
        
        /* Seek to the correct loc. */
@@ -563,8 +555,8 @@ long do_check(char * buffer, int try, unsigned int current_block)
 
 static unsigned int currently_testing = 0;
 
-void alarm_intr(int alnum)
-{
+static void
+alarm_intr(int alnum) {
        if (currently_testing >= ZONES)
                return;
        signal(SIGALRM,alarm_intr);
@@ -575,8 +567,8 @@ void alarm_intr(int alnum)
        fflush(stdout);
 }
 
-void check_blocks(void)
-{
+static void
+check_blocks(void) {
        int try,got;
        static char buffer[BLOCK_SIZE * TEST_BUFFER_BLOCKS];
 
@@ -606,10 +598,8 @@ void check_blocks(void)
                printf(_("one bad block\n"));
 }
 
-void get_list_blocks(filename)
-char *filename;
-
-{
+static void
+get_list_blocks(char *filename) {
   FILE *listfile;
   unsigned long blockno;
 
@@ -628,8 +618,8 @@ char *filename;
     printf(_("one bad block\n"));
 }
 
-int main(int argc, char ** argv)
-{
+int
+main(int argc, char ** argv) {
   int i;
   char * tmp;
   struct stat statbuf;
index 368ef3b5c86f19cfd0f4f78bf03c723aac3d42d6..4ee3627ab239fdcd7408d29d4f7f391f7f5c2f0c 100644 (file)
@@ -97,7 +97,7 @@ 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
-running
+initializing it with
 .B mkswap ,
 e.g. using a command like
 
@@ -140,13 +140,12 @@ Create a new style swap area.
 .LP
 If no \-v option is given,
 .B mkswap
-will default to old style if the size of the swap area does not
-exceed the maximum size of an old style swap area, and also if
-the current kernel is older than 2.1.117 (and also if PAGE_SIZE
-is less than 2048).
+will default to new style, but use old style if the current kernel
+is older than 2.1.117 (and also if PAGE_SIZE is less than 2048).
 The new style header does not touch the first block, so may be
-preferable (also if the swap area is small), in case you have
-a boot loader or disk label there.
+preferable, in case you have a boot loader or disk label there.
+If you need to use both 2.0 and 2.2 kernels, use the \-v0 option
+when creating the swapspace.
 
 .SH "SEE ALSO"
 .BR fdisk (8),
index 2803587b72862ae9acaf22dd1c33ad1200f407e3..960500013bc6036d301a169c89e3113c522feccb 100644 (file)
@@ -24,6 +24,7 @@
  *
  * 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@misiek.eu.org>
  * - added Native Language Support
@@ -74,6 +75,57 @@ linux_version_code(void) {
        return 0;
 }
 
+#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 constant PAGE_SIZE.
  * Unfortunately, on some architectures this depends on the hardware model,
@@ -92,7 +144,7 @@ static int user_pagesize = 0;
 static int kernel_pagesize;       /* obtained via getpagesize(); */
 static int defined_pagesize = 0;   /* PAGE_SIZE, when that exists */
 static int pagesize;
-static int *signature_page;
+static long *signature_page;
 
 struct swap_header_v1 {
         char         bootbits[1024];    /* Space for disklabel etc. */
@@ -104,7 +156,7 @@ struct swap_header_v1 {
 } *p;
 
 static void
-init_signature_page() {
+init_signature_page(void) {
 #ifdef PAGE_SIZE
        defined_pagesize = PAGE_SIZE;
 #endif
@@ -130,7 +182,7 @@ init_signature_page() {
                fprintf(stderr, _("Assuming pages of size %d (not %d)\n"),
                        pagesize, defined_pagesize);
 
-       signature_page = (int *) malloc(pagesize);
+       signature_page = (long *) malloc(pagesize);
        memset(signature_page,0,pagesize);
        p = (struct swap_header_v1 *) signature_page;
 }
@@ -169,14 +221,14 @@ write_signature(char *sig) {
    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_v9__)
-#define V1_MAX_PAGES           ((3 << 29) - 1)
 #elif defined(__sparc__)
-#define V1_MAX_PAGES           (pagesize == 8192 ? ((3 << 29) - 1) : ((1 << 18) - 1))
+#define V1_MAX_PAGES           (is_sparc64() ? ((3 << 29) - 1) : ((1 << 18) - 1))
 #else
 #define V1_MAX_PAGES           V1_OLD_MAX_PAGES
 #endif
@@ -188,28 +240,68 @@ It is roughly 2GB on i386, PPC, m68k, ARM, 1GB on sparc, 512MB on mips,
 
 #define MAX_BADPAGES   ((pagesize-1024-128*sizeof(int)-10)/sizeof(int))
 
+/*
+ * One more point of lossage - Linux swapspace really is a mess.
+ * The definition of the bitmap used is architecture dependent,
+ * and requires one to know whether the machine is bigendian,
+ * and if so, whether it will use 32-bit or 64-bit units in
+ * test_bit().
+ * davem writes: "... is based upon an unsigned long type of
+ * the cpu and the native endianness".
+ * So, it seems we can write `unsigned long' below.
+ * However, sparc64 uses 64-bit units in the kernel, while
+ * mkswap may have been translated with 32-bit longs. Thus,
+ * we need an explicit test for version 0 swap on sparc64.
+ */
+
 static void
-bit_set (unsigned int *addr, unsigned int nr) {
+bit_set (unsigned long *addr, unsigned int nr) {
        unsigned int r, m;
 
-       addr += nr / (8 * sizeof(int));
+       if(is_be64()) {
+               unsigned long long *bitmap = (unsigned long long *) addr;
+               unsigned long long bitnum = (unsigned long long) nr;
+               unsigned long long rl, ml;
+
+               bitmap += bitnum / (8 * sizeof(long long));
+               rl = *bitmap;
+               ml = 1ULL << (bitnum &
+                             (8ULL * (unsigned long long)sizeof(long long) - 1ULL));
+               *bitmap = rl | ml;
+               return;
+       }
+
+       addr += nr / (8 * sizeof(unsigned long));
        r = *addr;
-       m = 1 << (nr & (8 * sizeof(int) - 1));
+       m = 1 << (nr & (8 * sizeof(unsigned long) - 1));
        *addr = r | m;
 }
 
 static int
-bit_test_and_clear (unsigned int *addr, unsigned int nr) {
+bit_test_and_clear (unsigned long *addr, unsigned int nr) {
        unsigned int r, m;
 
-       addr += nr / (8 * sizeof(int));
+       if(is_be64()) {
+               unsigned long long *bitmap = (unsigned long long *) addr;
+               unsigned long long bitnum = (unsigned long long) nr;
+               unsigned long long rl, ml;
+
+               bitmap += bitnum / (8 * sizeof(long long));
+               rl = *bitmap;
+               ml = 1ULL << (bitnum &
+                             (8ULL * (unsigned long long)sizeof(long long) - 1ULL));
+               *bitmap = rl & ~ml;
+               return ((rl & ml) != 0ULL);
+       }
+
+       addr += nr / (8 * sizeof(unsigned long));
        r = *addr;
-       m = 1 << (nr & (8 * sizeof(int) - 1));
+       m = 1 << (nr & (8 * sizeof(unsigned long) - 1));
        *addr = r & ~m;
        return (r & m) != 0;
 }
 
-void
+static void
 usage(void) {
        fprintf(stderr,
                _("Usage: %s [-c] [-v0|-v1] [-pPAGESZ] /dev/name [blocks]\n"),
@@ -217,19 +309,19 @@ usage(void) {
        exit(1);
 }
 
-void
+static void
 die(const char *str) {
        fprintf(stderr, "%s: %s\n", program_name, str);
        exit(1);
 }
 
-void
+static void
 page_ok(int page) {
        if (version==0)
                bit_set(signature_page, page);
 }
 
-void
+static void
 page_bad(int page) {
        if (version == 0)
                bit_test_and_clear(signature_page, page);
@@ -241,7 +333,7 @@ page_bad(int page) {
        badpages++;
 }
 
-void
+static void
 check_blocks(void) {
        unsigned int current_page;
        int do_seek = 1;
@@ -322,7 +414,7 @@ get_size(const char  *file) {
        return size;
 }
 
-int
+static int
 isnzdigit(char c) {
        return (c >= '1' && c <= '9');
 }
@@ -371,7 +463,7 @@ main(int argc, char ** argv) {
                                                usage();
                                        break;
                                case 'v':
-                                       version = atoi(argv[0]+2);
+                                       version = atoi(argv[i]+2);
                                        break;
                                default:
                                        usage();
@@ -414,7 +506,8 @@ main(int argc, char ** argv) {
        }
 
        if (version == -1) {
-               if (PAGES <= V0_MAX_PAGES)
+               /* use version 1 as default, if possible */
+               if (PAGES <= V0_MAX_PAGES && PAGES > V1_MAX_PAGES)
                        version = 0;
                else if (linux_version_code() < MAKE_VERSION(2,1,117))
                        version = 0;
index cb80216687fd37f8896ef2f1812346ef5f62cf13..4fd91facf519cb5f3ef81b369fbe564188c2d682 100644 (file)
@@ -4,14 +4,14 @@
 raw \- bind a Linux raw character device
 .SH SYNOPSIS
 .B raw
-.I /dev/raw<N> <major> <minor>
+.I /dev/raw/raw<N> <major> <minor>
 .PP
 .B raw
-.I /dev/raw<N> /dev/<blockdev>
+.I /dev/raw/raw<N> /dev/<blockdev>
 .PP
 .B raw
 .B \-q
-.I /dev/raw<N>
+.I /dev/raw/raw<N>
 .PP
 .B raw
 .B \-qa
@@ -25,7 +25,7 @@ module later).
 .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<N>
+.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
index 5fb95348ad64cc0fe9ecc6687819c26304a921b9..54e1008cbee86b3e5de0c4634d75f00d3171d13d 100644 (file)
@@ -1,12 +1,12 @@
 /*
  * raw.c: User mode tool to bind and query raw character devices.
  *
- * Stephen Tweedie, 1999
+ * 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
+ * Copyright Red Hat Software, 1999, 2000
  *
  */
 
 #include <sys/stat.h>
 #include <sys/ioctl.h>
 #include <sys/sysmacros.h>
-#include <sys/raw.h>
+#include <linux/raw.h>
+#include <linux/major.h>
 
+#ifdef OLD_RAW_DEVS
+#define RAWCTLDEV "/dev/raw"
+#define RAWDEVDIR "/dev/"
+#else
+#define RAWCTLDEV "/dev/rawctl"
+#define RAWDEVDIR "/dev/raw/"
+#endif
 
 
 char * progname;
@@ -39,9 +47,9 @@ static void usage(int err)
 {
        fprintf(stderr,
                "Usage:\n"
-               "  %s /dev/rawN <major> <minor>\n"
-               "  %s /dev/rawN /dev/<blockdev>\n"
-               "  %s -q /dev/rawN\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);
@@ -164,10 +172,10 @@ int main(int argc, char *argv[])
 
 void open_raw_ctl(void)
 {
-       master_fd = open("/dev/raw", O_RDWR, 0);
+       master_fd = open(RAWCTLDEV, O_RDWR, 0);
        if (master_fd < 0) {
                fprintf (stderr, 
-                        "Cannot open master raw device '/dev/raw' (%s)\n",
+                        "Cannot open master raw device '" RAWCTLDEV "' (%s)\n",
                         strerror(errno));
                exit(2);
        }
@@ -190,7 +198,7 @@ int query(int minor, int quiet)
        }
        if (quiet && !rq.block_major && !rq.block_minor)
                return 0;
-       printf ("/dev/raw%d:    bound to major %d, minor %d\n",
+       printf (RAWDEVDIR "raw%d:       bound to major %d, minor %d\n",
                minor, (int) rq.block_major, (int) rq.block_minor);
        return 0;
 }
@@ -210,7 +218,7 @@ int bind(int minor, int block_major, int block_minor)
                         strerror(errno));
                exit(3);
        }
-       printf ("/dev/raw%d:    bound to major %d, minor %d\n",
+       printf (RAWDEVDIR "raw%d:       bound to major %d, minor %d\n",
                raw_minor, (int) rq.block_major, (int) rq.block_minor);
        return 0;
 }
index 873b2850d0e0f639d5a1a7e312127bddb21e6b33..a319c2baf4bd3137b7d0e34980c821f4648fc001 100644 (file)
@@ -59,14 +59,14 @@ activate: sfdisk
        ln -s sfdisk activate
 
 fdisk: fdisk.o llseek.o fdiskbsdlabel.o fdisksgilabel.o fdisksunlabel.o \
-       fdiskaixlabel.o i386_sys_types.o
+       fdiskaixlabel.o i386_sys_types.o partname.o
 fdisk.o: fdisk.c fdisk.h
 fdiskbsdlabel.o: fdiskbsdlabel.c fdisk.h fdiskbsdlabel.h
 fdisksunlabel.o: fdisksunlabel.c fdisksunlabel.h fdisk.h
 fdiskaixlabel.o: fdiskaixlabel.c fdiskaixlabel.h fdisk.h
 fdisk.o cfdisk.o sfdisk.o fdiskbsdlabel.o fdisksunlabel.o \
-       fdisksgilabel.o fdiskaixlabel.o i386_sys_types.o: common.h
-sfdisk: sfdisk.o i386_sys_types.o
+       fdisksgilabel.o fdiskaixlabel.o i386_sys_types.o partname.o: common.h
+sfdisk: sfdisk.o i386_sys_types.o partname.o
 
 install: all
        $(INSTALLDIR) $(SBINDIR)
@@ -76,4 +76,4 @@ install: all
 
 .PHONY:        clean
 clean:
-       -rm -f *.o *~ core $(SBIN) addpart delpart
+       -rm -f *.o *~ core $(SBIN)
index 4d0eb7ea465fe53c8c1171e96466b302ed0c1066..055046d7bcfa1088ea6d60cc73c2dd6f90812423 100644 (file)
@@ -74,7 +74,6 @@
 #include <sys/ioctl.h>
 #include <linux/types.h>
 #include <linux/hdreg.h>
-#include <linux/fs.h>          /* for BLKRRPART, BLKGETSIZE */
 
 #include "nls.h"
 #include "common.h"
@@ -206,7 +205,7 @@ int kern_heads = 0, kern_sectors = 0;
 int pt_heads = 0, pt_sectors = 0;
 
 
-void
+static void
 set_hsc0(unsigned char *h, unsigned char *s, int *c, int sector) {
        if (sector >= 1024*cylinder_size)
                sector = 1024*cylinder_size - 1;
@@ -217,7 +216,7 @@ set_hsc0(unsigned char *h, unsigned char *s, int *c, int sector) {
        *c = sector;
 }
 
-void
+static void
 set_hsc(unsigned char *h, unsigned char *s, unsigned char *c, int sector) {
        int cc;
 
@@ -226,12 +225,12 @@ set_hsc(unsigned char *h, unsigned char *s, unsigned char *c, int sector) {
        *s |= (cc >> 2) & 0xC0;
 }
 
-void
+static void
 set_hsc_begin(struct partition *p, int sector) {
        set_hsc(& p->head, & p->sector, & p->cyl, sector);
 }
 
-void
+static void
 set_hsc_end(struct partition *p, int sector) {
        set_hsc(& p->end_head, & p->end_sector, & p->end_cyl, sector);
 }
@@ -246,7 +245,7 @@ set_hsc_end(struct partition *p, int sector) {
 
 /* start_sect and nr_sects are stored little endian on all machines */
 /* moreover, they are not aligned correctly */
-void
+static void
 store4_little_endian(unsigned char *cp, unsigned int val) {
        cp[0] = (val & 0xff);
        cp[1] = ((val >> 8) & 0xff);
@@ -254,28 +253,28 @@ store4_little_endian(unsigned char *cp, unsigned int val) {
        cp[3] = ((val >> 24) & 0xff);
 }
 
-unsigned int
+static unsigned int
 read4_little_endian(unsigned char *cp) {
        return (uint)(cp[0]) + ((uint)(cp[1]) << 8)
                + ((uint)(cp[2]) << 16) + ((uint)(cp[3]) << 24);
 }
 
-void
+static void
 set_start_sect(struct partition *p, unsigned int start_sect) {
        store4_little_endian(p->start4, start_sect);
 }
 
-unsigned int
+static unsigned int
 get_start_sect(struct partition *p) {
        return read4_little_endian(p->start4);
 }
 
-void
+static void
 set_nr_sects(struct partition *p, unsigned int nr_sects) {
        store4_little_endian(p->size4, nr_sects);
 }
 
-unsigned int
+static unsigned int
 get_nr_sects(struct partition *p) {
        return read4_little_endian(p->size4);
 }
@@ -353,11 +352,11 @@ int LABEL_START = 54;
 int SIZE_START = 70;
 int COMMAND_LINE_X = 5;
 
-void die_x(int ret);
-void draw_screen(void);
+static void die_x(int ret);
+static void draw_screen(void);
 
 /* Guaranteed alloc */
-void *
+static void *
 xmalloc (size_t size) {
      void *t;
 
@@ -373,14 +372,14 @@ xmalloc (size_t size) {
 }
 
 /* Some libc's have their own basename() */
-char *my_basename(char *devname)
-{
+static char *
+my_basename(char *devname) {
     char *s = rindex(devname, '/');
     return s ? s+1 : devname;
 }
 
-char *partition_type_name(unsigned char type)
-{
+static char *
+partition_type_name(unsigned char type) {
     struct systypes *s = i386_sys_types;
 
     while(s->name && s->type != type)
@@ -388,8 +387,8 @@ char *partition_type_name(unsigned char type)
     return s->name;
 }
 
-char *partition_type_text(int i)
-{
+static char *
+partition_type_text(int i) {
     if (p_info[i].id == UNUSABLE)
         return _("Unusable");
     else if (p_info[i].id == FREE_SPACE)
@@ -412,8 +411,8 @@ char *partition_type_text(int i)
         return partition_type_name(p_info[i].id);
 }
 
-void fdexit(int ret)
-{
+static void
+fdexit(int ret) {
     if (opened)
        close(fd);
 
@@ -430,8 +429,8 @@ void fdexit(int ret)
     exit(ret);
 }
 
-int get_string(char *str, int len, char *def)
-{
+static int
+get_string(char *str, int len, char *def) {
     char c;
     int i = 0;
     int x, y;
@@ -489,8 +488,8 @@ int get_string(char *str, int len, char *def)
        return i;
 }
 
-void clear_warning(void)
-{
+static void
+clear_warning(void) {
     int i;
 
     if (!curses_started || !warning_last_time)
@@ -503,8 +502,8 @@ void clear_warning(void)
     warning_last_time = FALSE;
 }
 
-void print_warning(char *s)
-{
+static void
+print_warning(char *s) {
     if (!curses_started) {
         fprintf(stderr, "%s\n", s);
     } else {
@@ -515,8 +514,8 @@ void print_warning(char *s)
     }
 }
 
-void fatal(char *s, int ret)
-{
+static void
+fatal(char *s, int ret) {
     char *err = _("FATAL ERROR");
 
     if (curses_started) {
@@ -538,13 +537,13 @@ void fatal(char *s, int ret)
     }
 }
 
-void die(int dummy)
-{
+static void
+die(int dummy) {
     die_x(0);
 }
 
-void die_x(int ret)
-{
+static void
+die_x(int ret) {
     signal(SIGINT, old_SIGINT);
     signal(SIGTERM, old_SIGTERM);
 #ifdef SLCURSES
@@ -559,23 +558,24 @@ void die_x(int ret)
     fdexit(ret);
 }
 
-void read_sector(char *buffer, int sect_num)
-{
+static void
+read_sector(char *buffer, int sect_num) {
     if (ext2_llseek(fd, ((ext2_loff_t) 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);
 }
 
-void write_sector(char *buffer, int sect_num)
-{
+static void
+write_sector(char *buffer, int sect_num) {
     if (ext2_llseek(fd, ((ext2_loff_t) 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);
 }
 
-void dos_copy_to_info(char *to, int tosz, char *from, int fromsz) {
+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++)
@@ -583,8 +583,8 @@ void dos_copy_to_info(char *to, int tosz, char *from, int fromsz) {
      to[i] = 0;
 }
 
-void get_dos_label(int i)
-{
+static void
+get_dos_label(int i) {
     char sector[128];
 #define DOS_OSTYPE_OFFSET 3
 #define DOS_LABEL_OFFSET 43
@@ -607,8 +607,8 @@ void get_dos_label(int i)
     }
 }
 
-void get_ext2_label(int i)
-{
+static void
+get_ext2_label(int i) {
 #define EXT2_SUPER_MAGIC 0xEF53
 #define EXT2LABELSZ 16
     struct ext2_super_block {
@@ -637,8 +637,8 @@ void get_ext2_label(int i)
     }
 }
 
-void check_part_info(void)
-{
+static void
+check_part_info(void) {
     int i, pri = 0, log = 0;
 
     for (i = 0; i < num_parts; i++)
@@ -718,8 +718,8 @@ void check_part_info(void)
     }
 }
 
-void remove_part(int i)
-{
+static void
+remove_part(int i) {
     int p;
 
     for (p = i; p < num_parts; p++)
@@ -730,8 +730,8 @@ void remove_part(int i)
        cur_part--;
 }
 
-void insert_empty_part(int i, int first, int last)
-{
+static void
+insert_empty_part(int i, int first, int last) {
     int p;
 
     for (p = num_parts; p > i; p--)
@@ -750,8 +750,8 @@ void insert_empty_part(int i, int first, int last)
     num_parts++;
 }
 
-void del_part(int i)
-{
+static void
+del_part(int i) {
     int num = p_info[i].num;
 
     if (i > 0 && (p_info[i-1].id == FREE_SPACE ||
@@ -805,9 +805,9 @@ void del_part(int i)
     check_part_info();
 }
 
-int add_part(int num, int id, int flags, int first, int last, int offset,
-            int want_label, char **errmsg)
-{
+static int
+add_part(int num, int id, int flags, int first, int last, int offset,
+        int want_label, char **errmsg) {
     int i, pri = 0, log = 0;
 
     if (num_parts == MAXIMUM_PARTS) {
@@ -952,8 +952,8 @@ int add_part(int num, int id, int flags, int first, int last, int offset,
     return 0;
 }
 
-int find_primary(void)
-{
+static int
+find_primary(void) {
     int num = 0, cur = 0;
 
     while (cur < num_parts && IS_PRIMARY(num))
@@ -970,8 +970,8 @@ int find_primary(void)
        return num;
 }
 
-int find_logical(int i)
-{
+static int
+find_logical(int i) {
     int num = -1;
     int j;
 
@@ -989,8 +989,8 @@ int find_logical(int i)
     return num;
 }
 
-void inc_logical(int i)
-{
+static void
+inc_logical(int i) {
     int j;
 
     for (j = i; j < num_parts; j++)
@@ -1025,9 +1025,9 @@ struct MenuItem
  * Should not be called directly. Call function menuSelect instead.
  */
 
-int menuUpdate( int y, int x, struct MenuItem *menuItems, int itemLength,
-               char *available, int menuType, int current )
-{
+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;
 
@@ -1112,9 +1112,9 @@ int menuUpdate( int y, int x, struct MenuItem *menuItems, int itemLength,
 /* This function takes a list of menu items, lets the user choose one *
  * and returns the value keyboard shortcut of the selected menu item  */
 
-int menuSelect( int y, int x, struct MenuItem *menuItems, int itemLength,
-               char *available, int menuType, int menuDefault )
-{
+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 ) ) )   
@@ -1268,8 +1268,8 @@ int menuSelect( int y, int x, struct MenuItem *menuItems, int itemLength,
  * and waits for a keypress.                                            *
  * Perhaps calling function menuSelect is a bit overkill but who cares? */
 
-void menuContinue(void)
-{
+static void
+menuContinue(void) {
     static struct MenuItem menuContinueBtn[]=
     {
         { 'c', "", N_("Press a key to continue") },
@@ -1283,8 +1283,8 @@ void menuContinue(void)
 /* Function menuSelect takes way too many parameters  *
  * Luckily, most of time we can do with this function */
 
-int menuSimple(struct MenuItem *menuItems, int menuDefault)
-{
+static int
+menuSimple(struct MenuItem *menuItems, int menuDefault) {
     int i, j, itemLength = 0;
     char available[MENU_MAX_ITEMS];
 
@@ -1301,8 +1301,8 @@ int menuSimple(struct MenuItem *menuItems, int menuDefault)
 
 /* End of command menu support code */
 
-void new_part(int i)
-{
+static void
+new_part(int i) {
     char response[LINE_LENGTH], def[LINE_LENGTH];
     char c;
     int first = p_info[i].first_sector;
@@ -1411,8 +1411,8 @@ void new_part(int i)
     (void) add_part(num, id, flags, first, last, offset, 0, &errmsg);
 }
 
-void get_kernel_geometry(void)
-{
+static void
+get_kernel_geometry(void) {
 #ifdef HDIO_GETGEO
     struct hd_geometry geometry;
 
@@ -1423,8 +1423,8 @@ void get_kernel_geometry(void)
 #endif
 }
 
-void get_partition_table_geometry(partition_table *bufp)
-{
+static void
+get_partition_table_geometry(partition_table *bufp) {
     struct partition *p;
     int i,h,s,hh,ss;
     int first = TRUE;
@@ -1455,8 +1455,8 @@ void get_partition_table_geometry(partition_table *bufp)
     }
 }
 
-void decide_on_geometry(void)
-{
+static void
+decide_on_geometry(void) {
     heads = (user_heads ? user_heads :
             pt_heads ? pt_heads :
             kern_heads ? kern_heads : 255);
@@ -1473,8 +1473,8 @@ void decide_on_geometry(void)
            print_warning(_("You specified more cylinders than fit on disk"));
 }
 
-void clear_p_info(void)
-{
+static void
+clear_p_info(void) {
     num_parts = 1;
     p_info[0].first_sector = 0;
     p_info[0].last_sector = total_size - 1;
@@ -1491,8 +1491,8 @@ void clear_p_info(void)
     ext_info.num = PRIMARY;
 }
 
-void fill_p_info(void)
-{
+static void
+fill_p_info(void) {
     int pn, i, bs, bsz;
     struct partition *p;
     partition_table buffer;
@@ -1602,8 +1602,8 @@ void fill_p_info(void)
     }
 }
 
-void fill_part_table(struct partition *p, partition_info *pi)
-{
+static void
+fill_part_table(struct partition *p, partition_info *pi) {
     int begin;
 
     p->boot_ind = pi->flags;
@@ -1618,8 +1618,8 @@ void fill_part_table(struct partition *p, partition_info *pi)
     set_hsc_end(p, pi->last_sector);
 }
 
-void fill_primary_table(partition_table *buffer)
-{
+static void
+fill_primary_table(partition_table *buffer) {
     int i;
 
     /* Zero out existing table */
@@ -1637,8 +1637,8 @@ void fill_primary_table(partition_table *buffer)
     buffer->p.magicflag[1] = PART_TABLE_FLAG1;
 }
 
-void fill_logical_table(partition_table *buffer, partition_info *pi)
-{
+static void
+fill_logical_table(partition_table *buffer, partition_info *pi) {
     struct partition *p;
     int i;
 
@@ -1674,8 +1674,8 @@ void fill_logical_table(partition_table *buffer, partition_info *pi)
     buffer->p.magicflag[1] = PART_TABLE_FLAG1;
 }
 
-void write_part_table(void)
-{
+static void
+write_part_table(void) {
     int i, ct, done = FALSE, len;
     partition_table buffer;
     struct stat s;
@@ -1755,8 +1755,8 @@ void write_part_table(void)
        print_warning(_("Not precisely one primary partition is bootable. DOS MBR cannot boot this."));
 }
 
-void fp_printf(FILE *fp, char *format, ...)
-{
+static void
+fp_printf(FILE *fp, char *format, ...) {
     va_list args;
     char buf[1024];
     int y, x;
@@ -1780,8 +1780,8 @@ void fp_printf(FILE *fp, char *format, ...)
 }
 
 #define MAX_PER_LINE 16
-void print_file_buffer(FILE *fp, char *buffer)
-{
+static void
+print_file_buffer(FILE *fp, char *buffer) {
     int i,l;
 
     for (i = 0, l = 0; i < SECTOR_SIZE; i++, l++) {
@@ -1798,8 +1798,8 @@ void print_file_buffer(FILE *fp, char *buffer)
     fp_printf(fp, "\n");
 }
 
-void print_raw_table(void)
-{
+static void
+print_raw_table(void) {
     int i, to_file;
     partition_table buffer;
     char fname[LINE_LENGTH];
@@ -1852,8 +1852,8 @@ void print_raw_table(void)
     }
 }
 
-void print_p_info_entry(FILE *fp, partition_info *p)
-{
+static void
+print_p_info_entry(FILE *fp, partition_info *p) {
     int size;
     char part_str[40];
 
@@ -1917,8 +1917,8 @@ void print_p_info_entry(FILE *fp, partition_info *p)
     fp_printf(fp, "\n");
 }
 
-void print_p_info(void)
-{
+static void
+print_p_info(void) {
     char fname[LINE_LENGTH];
     FILE *fp;
     int i, to_file, pext = is_extended(ext_info.id);
@@ -1969,8 +1969,8 @@ void print_p_info(void)
     }
 }
 
-void print_part_entry(FILE *fp, int num, partition_info *pi)
-{
+static void
+print_part_entry(FILE *fp, int num, partition_info *pi) {
     int first = 0, start = 0, end = 0, size = 0;
     unsigned char ss, es, sh, eh;
     int sc, ec;
@@ -2001,8 +2001,8 @@ void print_part_entry(FILE *fp, int num, partition_info *pi)
 }
 
 
-void print_part_table(void)
-{
+static void
+print_part_table(void) {
     int i, j, to_file;
     char fname[LINE_LENGTH];
     FILE *fp;
@@ -2062,8 +2062,8 @@ void print_part_table(void)
     }
 }
 
-void print_tables(void)
-{
+static void
+print_tables(void) {
     int done = FALSE;
 
     static struct MenuItem menuFormat[]=
@@ -2096,8 +2096,8 @@ void print_tables(void)
 }
 
 #define END_OF_HELP "EOHS!"
-void display_help()
-{
+static void
+display_help(void) {
     char *help_text[] = {
        N_("Help Screen for cfdisk"),
        "",
@@ -2158,8 +2158,8 @@ void display_help()
     menuContinue();
 }
 
-int change_geometry(void)
-{
+static int
+change_geometry(void) {
     int ret_val = FALSE;
     int done = FALSE;
     char def[LINE_LENGTH];
@@ -2277,8 +2277,8 @@ int change_geometry(void)
     return ret_val;
 }
 
-void change_id(int i)
-{
+static void
+change_id(int i) {
     char id[LINE_LENGTH], def[LINE_LENGTH];
     int num_types = 0;
     int num_across, num_down;
@@ -2351,8 +2351,8 @@ void change_id(int i)
        p_info[i].id = new_id;
 }
 
-void draw_partition(int i)
-{
+static void
+draw_partition(int i) {
     int size, j;
     int y = i + DISK_TABLE_START + 2 - (cur_part/NUM_ON_SCREEN)*NUM_ON_SCREEN;
     char *t;
@@ -2429,8 +2429,8 @@ void draw_partition(int i)
        mvprintw(y, COLUMNS-1, "*");
 }
 
-void init_const(void)
-{
+static void
+init_const(void) {
     if (!defined) {
        NAME_START = (((float)NAME_START)/COLUMNS)*COLS;
        FLAGS_START = (((float)FLAGS_START)/COLUMNS)*COLS;
@@ -2451,8 +2451,8 @@ void init_const(void)
     }
 }
 
-void draw_screen(void)
-{
+static void
+draw_screen(void) {
     int i;
     char *line;
 
@@ -2514,8 +2514,8 @@ void draw_screen(void)
     free(line);
 }
 
-int draw_cursor(int move)
-{
+static int
+draw_cursor(int move) {
     if (move != 0 && (cur_part + move < 0 || cur_part + move >= num_parts))
        return -1;
 
@@ -2543,8 +2543,8 @@ int draw_cursor(int move)
     return 0;
 }
 
-void do_curses_fdisk(void)
-{
+static void
+do_curses_fdisk(void) {
     int done = FALSE;
     char command;
 
@@ -2713,13 +2713,13 @@ void do_curses_fdisk(void)
     die_x(0);
 }
 
-void copyright(void)
-{
-    fprintf(stderr, _("Copyright (C) 1994-1999 Kevin E. Martin & aeb\n"));
+static void
+copyright(void) {
+    fprintf(stderr, _("Copyright (C) 1994-2000 Kevin E. Martin & aeb\n"));
 }
 
-void usage(char *prog_name)
-{
+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"
index a79d9acc302a98658e0469a6c3250d0bb17314cb..c5e237148e98595c29a81308485acdf2762ecc4d 100644 (file)
@@ -1,5 +1,11 @@
 /* common stuff for fdisk, cfdisk, sfdisk */
 
+/* including <linux/fs.h> fails */
+#include <sys/ioctl.h>
+#define BLKRRPART  _IO(0x12,95)    /* re-read partition table */
+#define BLKGETSIZE _IO(0x12,96)    /* return device size */
+#define BLKFLSBUF  _IO(0x12,97)    /* flush buffer cache */
+
 struct systypes {
        unsigned char type;
        char *name;
@@ -7,3 +13,4 @@ struct systypes {
 
 extern struct systypes i386_sys_types[];
 
+extern char *partname(char *dev, int pno, int lth);
index 2a8c85e8e5c1d71daa0e4ff32e240df20c928780..aad93987b9ffe4f0f842a1c8e600d33cff27d2ad 100644 (file)
@@ -5,9 +5,9 @@
 .SH NAME
 fdisk \- Partition table manipulator for Linux
 .SH SYNOPSIS
-.BI "fdisk [\-u] " device
+.BI "fdisk [\-u] [\-b sectorsize]" device
 .sp
-.BI "fdisk \-l [\-u] [" "device ..." ]
+.BI "fdisk \-l [\-u] [\-b sectorsize] [" "device ..." ]
 .sp
 .BI "fdisk \-s " "partition ..."
 .sp
@@ -169,10 +169,10 @@ program and Linux partitions with the Linux fdisk or Linux cfdisk program.
 
 .SH OPTIONS
 .TP
-.B \-v
-Print version number of
-.B fdisk
-program and exit.
+.BI "\-b " sectorsize
+Specify the sector size of the disk. Valid values are 512, 1024, or 2048.
+(Recent kernels know the sector size. Use this only on old kernels or
+to override the kernel's ideas.)
 .TP
 .B \-l
 List the partition tables for the specified devices and then exit.
@@ -188,6 +188,11 @@ of cylinders.
 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.
index 56caa9a17f7bc7e7f3b150b931d0c8e162a3dab5..45110ccd6247ea99039da217dbb20e1568e50aa0 100644 (file)
@@ -7,81 +7,27 @@
  * published by the Free Software Foundation: either version 1 or
  * (at your option) any later version.
  *
- * Before Linux version 0.95c, this program requires a kernel patch.
- *
- * Modified, Tue Feb  2 18:46:49 1993, faith@cs.unc.edu to better support SCSI.
- * Modified, Sat Feb 27 18:11:27 1993, faith@cs.unc.edu: added extfs support.
- * Modified, Sat Mar  6 10:14:12 1993, faith@cs.unc.edu: added more comments.
- * Modified, Sat Mar  6 12:25:45 1993, faith@cs.unc.edu:
- *     Added patches from Michael Bischoff (i1041905@ws.rz.tu-bs.de
- *     or mbi@mo.math.nat.tu-bs.de) to fix the following problems:
- *     1) Incorrect mapping of head/sector/cylinder to absolute sector
- *     2) Odd sector count causes one sector to be lost
- * Modified, Sat Mar  6 12:25:52 1993, faith@cs.unc.edu: improved verification.
- * Modified, Sat Apr 17 15:00:00 1993, LeBlanc@mcc.ac.uk: add -s, fix -l.
- * Modified, Sat Apr 24 10:00:00 1993, LeBlanc@mcc.ac.uk: fix overlap bug.
- * Modified, Wed May  5 21:30:00 1993, LeBlanc@mcc.ac.uk: errors to stderr.
- * Modified, Mon Mar 21 20:00:00 1994, LeBlanc@mcc.ac.uk:
- *     more stderr for messages, avoid division by 0, and
- *     give reboot message only if ioctl(fd, BLKRRPART) fails.
- * Modified, Mon Apr 25 01:01:05 1994, martin@cs.unc.edu:
- *    1) Added support for DOS, OS/2, ... compatibility.  We should be able
- *       use this fdisk to partition our drives for other operating systems.
- *    2) Added a print the raw data in the partition table command.
- * Modified, Wed Jun 22 21:05:30 1994, faith@cs.unc.edu:
- *    Added/changed a few partition type names to conform to cfdisk.
- *    (suggested by Sujal, smpatel@wam.umd.edu)
- * Modified 3/5/95 leisner@sdsp.mc.xerox.com -- on -l only open
- *    devices RDONLY (instead of RDWR).  This allows you to
- *    have the disks as rw-r----- with group disk (and if you
- *    want is safe to setguid fdisk to disk).
- * Modified Sat Mar 11 10:02 1995 with more partition types, faith@cs.unc.edu
- * Modified, Thu May  4 01:11:45 1995, esr@snark.thyrsus.com:
- *     It's user-interface cleanup time.
- *     Actual error messages for out-of-bounds values (what a concept!).
- *     Enable read-only access to partition table for learners.
- *     Smart defaults for most numeric prompts.
- * Fixed a bug preventing a partition from crossing cylinder 8064, aeb, 950801.
- * Read partition table twice to avoid kernel bug
- *     (from Daniel Quinlan <quinlan@yggdrasil.com>), Tue Sep 26 10:25:28 1995
- * Modified, Sat Jul  1 23:43:16 MET DST 1995, fasten@cs.bonn.edu:
- *      editor for NetBSD/i386 (and Linux/Alpha?) disklabels.
- * Tue Sep 26 17:07:54 1995: More patches from aeb.  Fix segfaults, all >4GB.
- *   Don't destroy random data if extd partition starts past 4GB, aeb, 950818.
- *   Don't segfault on bad partition created by previous fdisk.
- * Fixed for using variable blocksizes (needed by magnet-optical drive-patch)
- *   (from orschaer@cip.informatik.uni-erlangen.de)
- * Modified, Fri Jul 14 11:13:35 MET DST 1996, jj@sunsite.mff.cuni.cz:
- *      editor for Sun disklabels.
- * Modified, Wed Jul  3 10:14:17 MET DST 1996, jj@sunsite.mff.cuni.cz:
- *      support for Sun floppies 
- * Modified, Thu Jul 24 16:42:33 MET DST 1997, fasten@shw.com:
- *   LINUX_EXTENDED support
- * Added Windows 95 partition types, aeb.
- * Fixed a bug described by johnf@whitsunday.net.au, aeb, 980408.
- *   [There are lots of other bugs - nobody should use this program]
- *   [cfdisk on the other hand is nice and correct]
- * Try to avoid reading a CD-ROM.
- * Do not print Begin column -- it confuses too many people -- aeb, 980610.
- * Modified, Sat Oct  3 14:40:17 MET DST 1998, ANeuper@GUUG.de
- *     Support SGI's partitioning -- an, 980930.
- * Do the verify using LBA, not CHS, limits -- aeb, 981206.
- * Corrected single-cylinder partition creating a little, now that
- * ankry@mif.pg.gda.pl pointed out a bug; there are more bugs -- aeb, 990214.
+ * For detailed old history, see older versions.
+ * Contributions before 2000 by faith@cs.unc.edu, Michael Bischoff,
+ * LeBlanc@mcc.ac.uk, martin@cs.unc.edu, leisner@sdsp.mc.xerox.com,
+ * esr@snark.thyrsus.com, aeb@cwi.nl, quinlan@yggdrasil.com,
+ * fasten@cs.bonn.edu, orschaer@cip.informatik.uni-erlangen.de,
+ * jj@sunsite.mff.cuni.cz, fasten@shw.com, ANeuper@GUUG.de,
+ * kgw@suse.de.
  * 
- * Sat Mar 20 09:31:05 EST 1999 Arnaldo Carvalho de Melo <acme@conectiva.com.br>
- *     Internationalization
+ * Modified, Sun Feb 20 2000, kalium@gmx.de
+ * Added fix operation allowing to reorder primary/extended partition
+ * entries within the partition table. Some programs or OSes have
+ * problems using a partition table with entries not ordered
+ * according to their positions on disk.
+ * Munged this patch to also make it work for logical partitions.
+ * aeb, 2000-02-20.
  *
- * Corrected deleting last logical partition -- aeb, 990430.
- * Removed all assumptions on file names -- aeb, 990709
- *   [modprobe gave ugly error messages, and the number of devices to probe
- *    increased all the time: hda, sda, eda, rd/c0d0, ida/c0d0, ...
- *    Also partition naming was very ugly.]
+ * Wed Mar 1 14:34:53 EST 2000 David Huggins-Daines <dhuggins@linuxcare.com>
+ * Better support for OSF/1 disklabels on Alpha.
  *
- * Corrected a bug where creating an extended hda3, say, then a logical hda5
- * that does not start at the beginning of hda3, then a logical hda6 that does
- * start at the beginning of hda3 would wipe out the partition table describing
- * hda5.  [Patch by Klaus G. Wagner" <kgw@suse.de>] -- aeb, 990711
+ * 2000-04-06, Michal Jaegermann (michal@ellpspace.math.ualberta.ca)
+ * fixed and added some alpha stuff.
  */
 
 
 #include <setjmp.h>
 #include <errno.h>
 #include <getopt.h>
-#include "nls.h"
-
 #include <sys/stat.h>
-#include <sys/ioctl.h>
 
 #include <linux/hdreg.h>       /* for HDIO_GETGEO */
-#include <linux/fs.h>          /* for BLKRRPART, BLKGETSIZE */
 
+#include "nls.h"
 #include "common.h"
 #include "fdisk.h"
 
 
 
 #define LINE_LENGTH    80
-#define offset(b, n)   ((struct partition *)((b) + 0x1be + \
+#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))
                        }
 
 /* A valid partition table sector ends in 0x55 0xaa */
-unsigned int
+static unsigned int
 part_table_flag(char *b) {
        return ((uint) b[510]) + (((uint) b[511]) << 8);
 }
@@ -149,7 +92,7 @@ valid_part_table_flag(unsigned char *b) {
        return (b[510] == 0x55 && b[511] == 0xaa);
 }
 
-void
+static void
 write_part_table_flag(char *b) {
        b[510] = 0x55;
        b[511] = 0xaa;
@@ -157,7 +100,7 @@ write_part_table_flag(char *b) {
 
 /* start_sect and nr_sects are stored little endian on all machines */
 /* moreover, they are not aligned correctly */
-void
+static void
 store4_little_endian(unsigned char *cp, unsigned int val) {
        cp[0] = (val & 0xff);
        cp[1] = ((val >> 8) & 0xff);
@@ -165,13 +108,13 @@ store4_little_endian(unsigned char *cp, unsigned int val) {
        cp[3] = ((val >> 24) & 0xff);
 }
 
-unsigned int
+static unsigned int
 read4_little_endian(unsigned char *cp) {
        return (uint)(cp[0]) + ((uint)(cp[1]) << 8)
                + ((uint)(cp[2]) << 16) + ((uint)(cp[3]) << 24);
 }
 
-void
+static void
 set_start_sect(struct partition *p, unsigned int start_sect) {
        store4_little_endian(p->start4, start_sect);
 }
@@ -181,7 +124,7 @@ get_start_sect(struct partition *p) {
        return read4_little_endian(p->start4);
 }
 
-void
+static void
 set_nr_sects(struct partition *p, unsigned int nr_sects) {
        store4_little_endian(p->size4, nr_sects);
 }
@@ -194,13 +137,31 @@ get_nr_sects(struct partition *p) {
 /* 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.
+ */
+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 */
+       uint offset;            /* disk sector number */
+       char *sectorbuffer;     /* disk sector contents */
+} ptes[MAXIMUM_PARTS];
+
 char   *disk_device,                   /* must be specified */
        *line_ptr,                      /* interactive input */
-       line_buffer[LINE_LENGTH],
-       changed[MAXIMUM_PARTS],         /* marks changed buffers */
-       buffer[MAX_SECTOR_SIZE],        /* first four partitions */
-       *buffers[MAXIMUM_PARTS]         /* pointers to buffers */
-               = {buffer, buffer, buffer, buffer};
+       line_buffer[LINE_LENGTH];
 
 int    fd,                             /* the disk */
        ext_index,                      /* the prime extended partition */
@@ -209,6 +170,8 @@ int fd,                             /* the disk */
        dos_compatible_flag = ~0,
        partitions = 4;                 /* maximum partition + 1 */
 
+uint   user_cylinders, user_heads, user_sectors;
+
 uint   heads,
        sectors,
        cylinders,
@@ -216,23 +179,16 @@ uint      heads,
        sector_offset = 1,
        units_per_sector = 1,
        display_in_cyl_units = 1,
-       extended_offset = 0,            /* offset of link pointers */
-       offsets[MAXIMUM_PARTS] = {0, 0, 0, 0};
+       extended_offset = 0;            /* offset of link pointers */
 
+#define dos_label (!sun_label && !sgi_label && !aix_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 */
-
-struct partition *part_table[MAXIMUM_PARTS]    /* partitions */
-               = {offset(buffer, 0), offset(buffer, 1),
-               offset(buffer, 2), offset(buffer, 3)},
-       *ext_pointers[MAXIMUM_PARTS]            /* link pointers */
-               = {NULL, NULL, NULL, NULL};
-
+int    osf_label = 0;                  /* looking at osf disklabel */
 jmp_buf listingbuf;
 
-void fatal(enum failure why)
-{
+void fatal(enum failure why) {
        char    error[LINE_LENGTH],
                *message = error;
 
@@ -289,8 +245,66 @@ void fatal(enum failure why)
        exit(1);
 }
 
-void menu(void)
-{
+static void
+seek_sector(int fd, uint secno) {
+       ext2_loff_t offset = (ext2_loff_t) secno * sector_size;
+       if (ext2_llseek(fd, offset, SEEK_SET) == (ext2_loff_t) -1)
+               fatal(unable_to_seek);
+}
+
+static void
+read_sector(int fd, uint secno, char *buf) {
+       seek_sector(fd, secno);
+       if (read(fd, buf, sector_size) != sector_size)
+               fatal(unable_to_read);
+}
+
+static void
+write_sector(int fd, uint secno, 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, uint offset) {
+       struct pte *pe = &ptes[pno];
+
+       pe->offset = offset;
+       pe->sectorbuffer = (char *) 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 int
+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 void
+menu(void) {
        if (sun_label) {
           puts(_("Command action"));
           puts(_("   a   toggle a read only flag"));           /* sun */
@@ -356,11 +370,11 @@ void menu(void)
        }
 }
 
-void xmenu(void)
-{
+static void
+xmenu(void) {
        if (sun_label) {
           puts(_("Command action"));
-          puts(_("   a   change number of alternate cylinders"));       /*sun*/
+          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*/
@@ -376,12 +390,45 @@ void xmenu(void)
           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 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) {
+          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 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 partition table"));    /* sgi */
           puts(_("   h   change number of heads"));
           puts(_("   m   print this menu"));
@@ -391,17 +438,17 @@ void xmenu(void)
           puts(_("   s   change number of sectors/track"));
           puts(_("   v   verify the partition table"));
           puts(_("   w   write table to disk and exit"));
-        }
+       }
 }
 
-int
+static int
 get_sysid(int i) {
        return (
                sun_label ? sunlabel->infos[i].id :
-               sgi_label ? sgi_get_sysid(i) : part_table[i]->sys_ind);
+               sgi_label ? sgi_get_sysid(i) : ptes[i].part_table->sys_ind);
 }
 
-struct systypes *
+static struct systypes *
 get_sys_types(void) {
        return (
                sun_label ? sun_sys_types :
@@ -444,8 +491,10 @@ void list_types(struct systypes *sys)
        putchar('\n');
 }
 
-void clear_partition(struct partition *p)
-{
+static void
+clear_partition(struct partition *p) {
+       if (!p)
+               return;
        p->boot_ind = 0;
        p->head = 0;
        p->sector = 0;
@@ -458,9 +507,9 @@ void clear_partition(struct partition *p)
        set_nr_sects(p,0);
 }
 
-void set_partition(int i, struct partition *p, uint start, uint stop,
-       int sysid, uint offset)
-{
+static void
+set_partition(int i, struct partition *p, uint start, uint stop,
+             int sysid, uint offset) {
        p->boot_ind = 0;
        p->sys_ind = sysid;
        set_start_sect(p, start - offset);
@@ -471,11 +520,11 @@ void set_partition(int i, struct partition *p, uint start, uint stop,
        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);
-       changed[i] = 1;
+       ptes[i].changed = 1;
 }
 
-int test_c(char **m, char *mesg)
-{
+static int
+test_c(char **m, char *mesg) {
        int val = 0;
        if (!*m)
                fprintf(stderr, _("You must set"));
@@ -487,8 +536,8 @@ int test_c(char **m, char *mesg)
        return val;
 }
 
-int warn_geometry(void)
-{
+static int
+warn_geometry(void) {
        char *m = NULL;
        int prev = 0;
        if (!heads)
@@ -515,85 +564,95 @@ void update_units(void)
                units_per_sector = 1;   /* in sectors */
 }
 
-void warn_cylinders(void)
-{
-       if (!sun_label && !sgi_label && cylinders > 1024 && !nowarn)
+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., LILO)\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);
 }
 
-void read_extended(struct partition *p)
-{
+static void
+read_extended(int ext) {
        int i;
-       struct partition *q;
+       struct pte *pex;
+       struct partition *p, *q;
+
+       ext_index = ext;
+       pex = &ptes[ext];
+       pex->ext_pointer = pex->part_table;
 
-       ext_pointers[ext_index] = part_table[ext_index];
+       p = pex->part_table;
        if (!get_start_sect(p))
                fprintf(stderr, _("Bad offset in primary extended partition\n"));
        else 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: deleting partitions after %d\n"),
                                partitions);
-                       clear_partition(ext_pointers[partitions - 1]);
-                       changed[partitions - 1] = 1;
+                       clear_partition(pre->ext_pointer);
+                       pre->changed = 1;
                        return;
                }
-               offsets[partitions] = extended_offset + get_start_sect(p);
+
+               read_pte(fd, partitions, extended_offset + get_start_sect(p));
+
                if (!extended_offset)
                        extended_offset = get_start_sect(p);
-               if (ext2_llseek(fd, (ext2_loff_t)offsets[partitions]
-                              * sector_size, SEEK_SET) < 0)
-                       fatal(unable_to_seek);
-               if (!(buffers[partitions] = (char *) malloc(sector_size)))
-                       fatal(out_of_memory);
-               if (sector_size != read(fd, buffers[partitions], sector_size))
-                       fatal(unable_to_read);
-               part_table[partitions] = ext_pointers[partitions] = NULL;
-               q = p = offset(buffers[partitions], 0);
+
+               q = p = pt_offset(pe->sectorbuffer, 0);
                for (i = 0; i < 4; i++, p++) {
                        if (IS_EXTENDED (p->sys_ind)) {
-                               if (ext_pointers[partitions])
-                                       fprintf(stderr, _("Warning: extra link "
-                                               "pointer in partition table "
-                                               "%d\n"), partitions + 1);
+                               if (pe->ext_pointer)
+                                       fprintf(stderr, _("Warning: extra link"
+                                                         " pointer in partition table "
+                                                         "%d\n"), partitions + 1);
                                else
-                                       ext_pointers[partitions] = p;
+                                       pe->ext_pointer = p;
                        } else if (p->sys_ind) {
-                               if (part_table[partitions])
+                               if (pe->part_table)
                                        fprintf(stderr,
                                                _("Warning: ignoring extra data "
-                                               "in partition table %d\n"),
+                                                 "in partition table %d\n"),
                                                partitions + 1);
                                else
-                                       part_table[partitions] = p;
+                                       pe->part_table = p;
                        }
                }
-               if (!part_table[partitions]) {
-                       if (q != ext_pointers[partitions])
-                               part_table[partitions] = q;
-                       else part_table[partitions] = q + 1;
+
+               /* very strange code here... */
+               if (!pe->part_table) {
+                       if (q != pe->ext_pointer)
+                               pe->part_table = q;
+                       else
+                               pe->part_table = q + 1;
                }
-               if (!ext_pointers[partitions]) {
-                       if (q != part_table[partitions])
-                               ext_pointers[partitions] = q;
-                       else ext_pointers[partitions] = q + 1;
+               if (!pe->ext_pointer) {
+                       if (q != pe->part_table)
+                               pe->ext_pointer = q;
+                       else
+                               pe->ext_pointer = q + 1;
                }
-               p = ext_pointers[partitions++];
+
+               p = pe->ext_pointer;
+               partitions++;
        }
 }
 
-void create_doslabel(void)
-{
+static void
+create_doslabel(void) {
        int i;
 
        fprintf(stderr,
@@ -604,38 +663,17 @@ void create_doslabel(void)
        sun_nolabel();  /* otherwise always recognised as sun */
        sgi_nolabel();  /* otherwise always recognised as sgi */
 
-       write_part_table_flag(buffer);
+       write_part_table_flag(MBRbuffer);
        for (i = 0; i < 4; i++)
-           clear_partition(part_table[i]);
-       for (i = 1; i < MAXIMUM_PARTS; i++)
-           changed[i] = 0;
-       changed[0] = 1;
+           if (ptes[i].part_table)
+               clear_partition(ptes[i].part_table);
+       set_all_unchanged();
+       set_changed(0);
        get_boot(create_empty);
 }
 
-/*
- * Read MBR.  Returns:
- *   -1: no 0xaa55 flag present (possibly entire disk BSD)
- *    0: found or created label
- */
-int get_boot(enum action what)
-{
-       int i, sec_fac;
-       struct hd_geometry geometry;
-
-       partitions = 4;
-       sec_fac = sector_size / 512;
-
-       if (what == create_empty)
-               goto got_table;         /* skip reading disk */
-
-       if ((fd = open(disk_device, type_open)) < 0) {
-           if ((fd = open(disk_device, O_RDONLY)) < 0)
-               fatal(unable_to_open);
-           else
-               printf(_("You will not be able to write the partition table.\n"));
-       }
-
+static void
+get_sectorsize(int fd) {
 #if defined(BLKSSZGET) && defined(HAVE_blkpg_h)
        /* For a short while BLKSSZGET gave a wrong sector size */
        { int arg;
@@ -645,36 +683,95 @@ int get_boot(enum action what)
                printf(_("Note: sector size is %d (not %d)\n"),
                       sector_size, DEFAULT_SECTOR_SIZE);
        }
+#else
+       sector_size = DEFAULT_SECTOR_SIZE;
 #endif
+}
 
-       guess_device_type(fd);
+/*
+ * Ask kernel about geometry. Invent something reasonable
+ * in case the kernel has no opinion.
+ */
+void
+get_geometry(int fd, struct geom *g) {
+       int sec_fac;
+       long longsectors;
+       struct hd_geometry geometry;
+       int res1, res2;
 
-       if (sector_size != read(fd, buffer, sector_size))
-               fatal(unable_to_read);
+       get_sectorsize(fd);
+       sec_fac = sector_size / 512;
 
+       guess_device_type(fd);
+
+       res1 = ioctl(fd, BLKGETSIZE, &longsectors);
 #ifdef HDIO_REQ
-       if (!ioctl(fd, HDIO_REQ, &geometry)) {
+       res2 = ioctl(fd, HDIO_REQ, &geometry);
 #else
-       if (!ioctl(fd, HDIO_GETGEO, &geometry)) {
+       res2 = ioctl(fd, HDIO_GETGEO, &geometry);
 #endif
+
+       /* never use geometry.cylinders - it is truncated */
+       heads = cylinders = sectors = 0;
+       sector_offset = 1;
+       if (res2 == 0) {
                heads = geometry.heads;
                sectors = geometry.sectors;
-               cylinders = geometry.cylinders;
-               cylinders /= sec_fac;   /* do not round up */
-               if (dos_compatible_flag)
+               if (heads * sectors == 0)
+                       res2 = -1;
+               else if (dos_compatible_flag)
                        sector_offset = sectors;
-       } else {
-               long longsectors;
-               if (!ioctl(fd, BLKGETSIZE, &longsectors)) {
-                       heads = 1;
-                       cylinders = 1;
-                       sectors = longsectors / sec_fac;
-               } else {
-                       heads = cylinders = sectors = 0;
-               }
        }
+       if (res1 == 0 && res2 == 0) {   /* normal case */
+               cylinders = longsectors / (heads * sectors);
+               cylinders /= sec_fac;   /* do not round up */
+       } else if (res1 == 0) {         /* size but no geometry */
+               heads = cylinders = 1;
+               sectors = longsectors / sec_fac;
+       }
+
+       if (!sectors)
+               sectors = user_sectors;
+       if (!heads)
+               heads = user_heads;
+       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
+ */
+int
+get_boot(enum action what) {
+       int i;
+
+       partitions = 4;
+
+       if (what == create_empty)
+               goto got_table;         /* skip reading disk */
+
+       if ((fd = open(disk_device, type_open)) < 0) {
+           if ((fd = open(disk_device, O_RDONLY)) < 0)
+               fatal(unable_to_open);
+           else
+               printf(_("You will not be able to write the partition table.\n"));
+       }
+
+       get_geometry(fd, NULL);
+
        update_units();
 
+       if (sector_size != read(fd, MBRbuffer, sector_size))
+               fatal(unable_to_read);
+
 got_table:
 
        if (check_sun_label())
@@ -686,12 +783,15 @@ got_table:
        if (check_aix_label())
                return 0;
 
-       if (!valid_part_table_flag(buffer)) {
+       if (check_osf_label())
+               return 0;
+
+       if (!valid_part_table_flag(MBRbuffer)) {
                switch(what) {
                case fdisk:
                        fprintf(stderr,
                                _("Device contains neither a valid DOS partition"
-                                 " table, nor Sun or SGI disklabel\n"));
+                                 " table, nor Sun, SGI or OSF disklabel\n"));
 #ifdef __sparc__
                        create_sunlabel();
 #else
@@ -713,21 +813,39 @@ got_table:
        warn_cylinders();
        warn_geometry();
 
-       for (i = 0; i < 4; i++)
-               if(IS_EXTENDED (part_table[i]->sys_ind)) {
+       for (i = 0; i < 4; i++) {
+               struct pte *pe = &ptes[i];
+
+               pe->part_table = pt_offset(MBRbuffer, i);
+               pe->ext_pointer = NULL;
+               pe->changed = 0;
+               pe->offset = 0;
+               pe->sectorbuffer = MBRbuffer;
+       }
+
+       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(part_table[ext_index = i]);
+                       else
+                               read_extended(i);
                }
-       for (i = 3; i < partitions; i++)
-               if (!valid_part_table_flag(buffers[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(buffers[i]), i + 1);
-                       changed[i] = 1;
+                               part_table_flag(pe->sectorbuffer), i + 1);
+                       pe->changed = 1;
                }
+       }
 
        return 0;
 }
@@ -874,7 +992,7 @@ read_int(uint low, uint dflt, uint high, uint base, char *mesg)
                        }
                }
                if (use_default)
-                   printf(_("Using default value %d\n"), i = dflt);
+                       printf(_("Using default value %d\n"), i = dflt);
                if (i >= low && i <= high)
                        break;
                else
@@ -883,12 +1001,16 @@ read_int(uint low, uint dflt, uint high, uint base, char *mesg)
        return i;
 }
 
-int get_partition(int warn, int max)
-{
-       int i = read_int(1, 0, max, 0, _("Partition number")) - 1;
+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 && (
-            (!sun_label && !sgi_label && !part_table[i]->sys_ind)
+            (!sun_label && !sgi_label && !pe->part_table->sys_ind)
             || (sun_label &&
                (!sunlabel->partitions[i].num_sectors ||
                 !sunlabel->infos[i].id))
@@ -897,8 +1019,8 @@ int get_partition(int warn, int max)
        return i;
 }
 
-char *const str_units(int n)   /* n==1: use singular */
-{
+char * const
+str_units(int n) {     /* n==1: use singular */
        if (n == 1)
                return display_in_cyl_units ? _("cylinder") : _("sector");
        else
@@ -913,22 +1035,21 @@ void change_units(void)
                str_units(PLURAL));
 }
 
-void toggle_active(int i)
-{
-       struct partition *p = part_table[i];
+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);
-       if (p->boot_ind)
-               p->boot_ind = 0;
-       else p->boot_ind = ACTIVE_FLAG;
-       changed[i] = 1;
+       p->boot_ind = (p->boot_ind ? 0 : ACTIVE_FLAG);
+       pe->changed = 1;
 }
 
-void toggle_dos(void)
-{
+static void
+toggle_dos_compatibility_flag(void) {
        dos_compatible_flag = ~dos_compatible_flag;
        if (dos_compatible_flag) {
                sector_offset = sectors;
@@ -940,9 +1061,11 @@ void toggle_dos(void)
        }
 }
 
-void delete_partition(int i)
-{
-       struct partition *p = part_table[i], *q = ext_pointers[i];
+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.
@@ -950,7 +1073,7 @@ void delete_partition(int i)
 
        if (warn_geometry())
                return;
-       changed[i] = 1;
+       pe->changed = 1;
 
        if (sun_label) {
                sun_delete_partition(i);
@@ -962,21 +1085,21 @@ void delete_partition(int i)
        }
        if (i < 4) {
                if (IS_EXTENDED (p->sys_ind) && i == ext_index) {
-                       while (partitions > 4)
-                               free(buffers[--partitions]);
-                       ext_pointers[ext_index] = NULL;
+                       partitions = 4;
+                       ptes[ext_index].ext_pointer = NULL;
                        extended_offset = 0;
                }
                clear_partition(p);
        }
        else if (!q->sys_ind && i > 4) {
-               free(buffers[--partitions]);
-               clear_partition(ext_pointers[--i]);
-               changed[i] = 1;
+               --partitions;
+               --i;
+               clear_partition(ptes[i].ext_pointer);
+               ptes[i].changed = 1;
        }
        else if (i > 3) {
                if (i > 4) {
-                       p = ext_pointers[i - 1];
+                       p = ptes[i-1].ext_pointer;
                        p->boot_ind = 0;
                        p->head = q->head;
                        p->sector = q->sector;
@@ -987,37 +1110,33 @@ void delete_partition(int i)
                        p->end_cyl = q->end_cyl;
                        set_start_sect(p, get_start_sect(q));
                        set_nr_sects(p, get_nr_sects(q));
-                       changed[i - 1] = 1;
+                       ptes[i-1].changed = 1;
                } else {
-                       if(part_table[5]) /* prevent SEGFAULT */
-                               set_start_sect(part_table[5],
-                                              get_start_sect(part_table[5]) +
-                                              offsets[5] - extended_offset);
-                       offsets[5] = extended_offset;
-                       changed[5] = 1;
+                       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--;
-                       free(buffers[i]);
                        while (i < partitions) {
-                               changed[i] = changed[i + 1];
-                               buffers[i] = buffers[i + 1];
-                               offsets[i] = offsets[i + 1];
-                               part_table[i] = part_table[i + 1];
-                               ext_pointers[i] = ext_pointers[i + 1];
+                               ptes[i] = ptes[i+1];
                                i++;
                        }
-               }
-               else
-                       clear_partition(part_table[i]);
+               } else
+                       clear_partition(ptes[i].part_table);
        }
 }
 
-void change_sysid(void)
-{
+static void
+change_sysid(void) {
        char *temp;
        int i = get_partition(0, partitions), sys, origsys;
-       struct partition *p = part_table[i];
+       struct partition *p = ptes[i].part_table;
 
        origsys = sys = get_sysid(i);
 
@@ -1064,12 +1183,12 @@ void change_sysid(void)
                        if (sgi_label) {
                                sgi_change_sysid(i, sys);
                        } else
-                               part_table[i]->sys_ind = sys;
+                               p->sys_ind = sys;
                         printf (_("Changed system type of partition %d "
                                 "to %x (%s)\n"), i + 1, sys,
                                 (temp = partition_type(sys)) ? temp :
                                 _("Unknown"));
-                        changed[i] = 1;
+                        ptes[i].changed = 1;
                         break;
                 }
         }
@@ -1080,8 +1199,7 @@ void change_sysid(void)
  * Jan.  1990 (version 1.2.1 by Gordon W. Ross Aug. 1990; Modified by S.
  * Lubkin Oct.  1991). */
 
-static void long2chs(ulong ls, uint *c, uint *h, uint *s)
-{
+static void long2chs(ulong ls, uint *c, uint *h, uint *s) {
        int     spc = heads * sectors;
 
        *c = ls / spc;
@@ -1090,8 +1208,7 @@ static void long2chs(ulong ls, uint *c, uint *h, uint *s)
        *s = ls % sectors + 1;  /* sectors count from 1 */
 }
 
-static void check_consistency(struct partition *p, int partition)
-{
+static void check_consistency(struct partition *p, int partition) {
        uint    pbc, pbh, pbs;          /* physical beginning c, h, s */
        uint    pec, peh, pes;          /* physical ending c, h, s */
        uint    lbc, lbh, lbs;          /* logical beginning c, h, s */
@@ -1152,18 +1269,91 @@ static void check_consistency(struct partition *p, int partition)
        }
 }
 
-void list_disk_geometry(void)
-{
+static void
+list_disk_geometry(void) {
        printf(_("\nDisk %s: %d heads, %d sectors, %d cylinders\nUnits = "
               "%s of %d * %d bytes\n\n"), disk_device, heads, sectors,
               cylinders, str_units(PLURAL), units_per_sector, sector_size);
 }
 
-void list_table(int xtra)
-{
+/*
+ * 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;
+       uint 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;
+}
+
+static void
+fix_partition_table_order(void) {
+       struct pte *pei, *pek, ptebuf;
+       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) {
+               /* partition i should have come earlier, move it */
+               pei = &ptes[i];
+               pek = &ptes[k];
+
+               if (i < 4) {
+                       /* We have to move data in the MBR */
+                       struct partition *pi, *pk, *pe, pbuf;
+
+                       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));
+               } else {
+                       /* Only change is change in numbering */
+                       ptebuf = *pei;
+                       *pei = *pek;
+                       *pek = ptebuf;
+               }
+               pei->changed = pek->changed = 1;
+
+       }
+}
+
+static void
+list_table(int xtra) {
        struct partition *p;
        char *type;
-       int digit_last = 0;
        int i, w;
 
        if (sun_label) {
@@ -1176,26 +1366,30 @@ void list_table(int xtra)
                return;
        }
 
-       w = strlen(disk_device);
+       list_disk_geometry();
+
+       if (osf_label) {
+               xbsd_print_disklabel(xtra);
+               return;
+       }
+
        /* 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. */
-       if (isdigit(disk_device[w-1]))
-               digit_last = 1;
-
-       list_disk_geometry();
-
+       w = strlen(disk_device);
+       if (w && isdigit(disk_device[w-1]))
+               w++;
        if (w < 5)
                w = 5;
 
-       /* FIXME! let's see how this shows up with other languagues 
-          acme@conectiva.com.br */
-
        printf(_("%*s Boot    Start       End    Blocks   Id  System\n"),
-              (digit_last ? w + 2 : w + 1), _("Device"));
+              w+1, _("Device"));
 
        for (i = 0 ; i < partitions; i++) {
-               if ((p = part_table[i])->sys_ind) {
+               struct pte *pe = &ptes[i];
+
+               p = pe->part_table;
+               if (p->sys_ind) {
                        unsigned int psects = get_nr_sects(p);
                        unsigned int pblocks = psects;
                        unsigned int podd = 0;
@@ -1207,12 +1401,12 @@ void list_table(int xtra)
                        if (sector_size > 1024)
                                pblocks *= (sector_size / 1024);
                         printf(
-                           "%*s%s%-2d  %c %9ld %9ld %9ld%c  %2x  %s\n",
-/* device */           w, disk_device, (digit_last ? "p" : ""), i+1,
+                           "%s  %c %9ld %9ld %9ld%c  %2x  %s\n",
+                       partname(disk_device, i+1, w+2),
 /* boot flag */                !p->boot_ind ? ' ' : p->boot_ind == ACTIVE_FLAG
                        ? '*' : '?',
-/* start */            (long) cround(get_start_sect(p) + offsets[i]),
-/* end */              (long) cround(get_start_sect(p) + offsets[i] + psects
+/* start */            (long) cround(get_partition_start(pe)),
+/* end */              (long) cround(get_partition_start(pe) + psects
                                - (psects ? 1 : 0)),
 /* odd flag on end */  (long) pblocks, podd ? '+' : ' ',
 /* type id */          p->sys_ind,
@@ -1221,22 +1415,28 @@ void list_table(int xtra)
                        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"));
+       }
 }
 
-void x_list_table(int extend)
-{
-       struct partition *p, **q;
+static void
+x_list_table(int extend) {
+       struct pte *pe;
+       struct partition *p;
        int i;
 
-       if (extend)
-               q = ext_pointers;
-       else
-               q = part_table;
        printf(_("\nDisk %s: %d heads, %d 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++)
-               if ((p = q[i]) != NULL) {
+       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%9d%9d %02x\n",
                                i + 1, p->boot_ind, p->head,
                                sector(p->sector),
@@ -1247,26 +1447,29 @@ void x_list_table(int extend)
                        if (p->sys_ind)
                                check_consistency(p, i);
                }
+       }
 }
 
-void fill_bounds(uint *first, uint *last)
-{
+static void
+fill_bounds(uint *first, uint *last) {
        int i;
-       struct partition *p = part_table[0];
+       struct pte *pe = &ptes[0];
+       struct partition *p;
 
-       for (i = 0; i < partitions; p = part_table[++i]) {
+       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_start_sect(p) + offsets[i];
+                       first[i] = get_partition_start(pe);
                        last[i] = first[i] + get_nr_sects(p) - 1;
                }
        }
 }
 
-void check(int n, uint h, uint s, uint c, uint start)
-{
+static void
+check(int n, uint h, uint s, uint c, uint start) {
        uint total, real_s, real_c;
 
        real_s = sector(s) - 1;
@@ -1290,9 +1493,8 @@ void check(int n, uint h, uint s, uint c, uint start)
                        "total %d\n"), n, start, total);
 }
 
-
-void verify(void)
-{
+static void
+verify(void) {
        int i, j;
        uint total = 1;
        uint first[partitions], last[partitions];
@@ -1312,10 +1514,13 @@ void verify(void)
        }
 
        fill_bounds(first, last);
-       for (i = 0; i < partitions; p = part_table[++i])
+       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_start_sect(p) + offsets[i] < first[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,
@@ -1332,14 +1537,16 @@ void verify(void)
                                        last[i] : last[j];
                        }
                }
+       }
 
        if (extended_offset) {
-               uint e_last = get_start_sect(part_table[ext_index]) +
-                       get_nr_sects(part_table[ext_index]) - 1;
+               struct pte *pex = &ptes[ext_index];
+               uint e_last = get_start_sect(pex->part_table) +
+                       get_nr_sects(pex->part_table) - 1;
 
-               for (p = part_table[i = 4]; i < partitions;
-                               p = part_table[++i]) {
+               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 "
@@ -1359,15 +1566,16 @@ void verify(void)
                printf(_("%d unallocated sectors\n"), total);
 }
 
-void add_partition(int n, int sys)
-{
+static void
+add_partition(int n, int sys) {
        char mesg[256];         /* 48 does not suffice in Japanese */
        int i, read = 0;
-       struct partition *p = part_table[n], *q = part_table[ext_index];
+       struct partition *p = ptes[n].part_table;
+       struct partition *q = ptes[ext_index].part_table;
        uint start, stop = 0, limit, temp,
                first[partitions], last[partitions];
 
-       if (p->sys_ind) {
+       if (p && p->sys_ind) {
                printf(_("Partition %d is already defined.  Delete "
                        "it before re-adding it.\n"), n + 1);
                return;
@@ -1395,7 +1603,7 @@ void add_partition(int n, int sys)
                for (i = 0; i < partitions; i++) {
                        int lastplusoff;
 
-                       if (start == offsets[i])
+                       if (start == ptes[i].offset)
                                start += sector_offset;
                        lastplusoff = last[i] + ((n<4) ? 0 : sector_offset);
                        if (start >= first[i] && start <= lastplusoff)
@@ -1421,26 +1629,28 @@ void add_partition(int n, int sys)
                }
        } while (start != temp || !read);
        if (n > 4) {                    /* NOT for fifth partition */
-               offsets[n] = start - sector_offset;
-               if (offsets[n] == extended_offset) { /* must be corrected */
-                    offsets[n]++;
+               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++) {
-               if (start < offsets[i] && limit >= offsets[i])
-                       limit = offsets[i] - 1;
+               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) {
-                       free(buffers[n]);
+               if (n > 4)
                        partitions--;
-               }
                return;
        }
        if (cround(start) == cround(limit)) {
@@ -1457,22 +1667,25 @@ void add_partition(int n, int sys)
                }
        }
 
-       set_partition(n, p, start, stop, sys, offsets[n]);
+       set_partition(n, p, start, stop, sys, ptes[n].offset);
 
        if (IS_EXTENDED (sys)) {
+               struct pte *pe4 = &ptes[4];
+               struct pte *pen = &ptes[n];
+
                ext_index = n;
-               offsets[4] = extended_offset = start;
-               ext_pointers[n] = p;
-               if (!(buffers[4] = calloc(1, sector_size)))
+               pen->ext_pointer = p;
+               pe4->offset = extended_offset = start;
+               if (!(pe4->sectorbuffer = calloc(1, sector_size)))
                        fatal(out_of_memory);
-               part_table[4] = offset(buffers[4], 0);
-               ext_pointers[4] = part_table[4] + 1;
-               changed[4] = 1;
+               pe4->part_table = pt_offset(pe4->sectorbuffer, 0);
+               pe4->ext_pointer = pe4->part_table + 1;
+               pe4->changed = 1;
                partitions = 5;
        } else {
                if (n > 4)
-                       set_partition(n - 1, ext_pointers[n - 1],
-                               offsets[n], stop, EXTENDED,
+                       set_partition(n - 1, ptes[n-1].ext_pointer,
+                               ptes[n].offset, stop, EXTENDED,
                                extended_offset);
 #if 0
                if ((limit = get_nr_sects(p)) & 1)
@@ -1482,21 +1695,24 @@ void add_partition(int n, int sys)
        }
 }
 
-void add_logical(void)
-{
-       if (partitions > 5 || part_table[4]->sys_ind) {
-               if (!(buffers[partitions] = calloc(1, sector_size)))
+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);
-               part_table[partitions] = offset(buffers[partitions], 0);
-               ext_pointers[partitions] = part_table[partitions] + 1;
-               offsets[partitions] = 0;
+               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);
 }
 
-void new_partition(void)
-{
+static void
+new_partition(void) {
        int i, free_primary = 0;
 
        if (warn_geometry())
@@ -1518,7 +1734,7 @@ void new_partition(void)
        }
 
        for (i = 0; i < 4; i++)
-               free_primary += !part_table[i]->sys_ind;
+               free_primary += !ptes[i].part_table->sys_ind;
        if (!free_primary) {
                if (extended_offset)
                        add_logical();
@@ -1552,30 +1768,33 @@ void new_partition(void)
        }
 }
 
-void write_table(void)
-{
+static void
+write_table(void) {
        int i;
 
-       changed[3] = changed[0] || changed[1] || changed[2] || changed[3];
-       if (!sun_label && !sgi_label) {
-           for (i = 3; i < partitions; i++) {
-               if (changed[i]) {
-                       write_part_table_flag(buffers[i]);
-                       if (ext2_llseek(fd, (ext2_loff_t)offsets[i]
-                                      * sector_size, SEEK_SET) < 0)
-                               fatal(unable_to_seek);
-                       if (write(fd, buffers[i], sector_size) != sector_size)
-                               fatal(unable_to_write);
+       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();
+               /* no test on change? the printf below might be mistaken */
+               sgi_write_table();
        } else if (sun_label) {
-           if (changed[3] || changed[4] || changed[5] ||
-               changed[6] || changed[7]) {
-               sun_write_table();
-           }
+               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"));
@@ -1624,15 +1843,15 @@ reread_partition_table(int leave) {
 }
 
 #define MAX_PER_LINE   16
-void print_buffer(char buffer[])
-{
+static void
+print_buffer(char pbuffer[]) {
        int     i,
                l;
 
        for (i = 0, l = 0; i < sector_size; i++, l++) {
                if (l == 0)
                        printf("0x%03X:", i);
-               printf(" %02X", (unsigned char) buffer[i]);
+               printf(" %02X", (unsigned char) pbuffer[i]);
                if (l == MAX_PER_LINE - 1) {
                        printf("\n");
                        l = -1;
@@ -1643,20 +1862,21 @@ void print_buffer(char buffer[])
        printf("\n");
 }
 
-void print_raw(void)
-{
+static void
+print_raw(void) {
        int i;
 
        printf(_("Device: %s\n"), disk_device);
        if (sun_label || sgi_label)
-               print_buffer(buffer);
+               print_buffer(MBRbuffer);
        else for (i = 3; i < partitions; i++)
-               print_buffer(buffers[i]);
+               print_buffer(ptes[i].sectorbuffer);
 }
 
-void move_begin(int i)
-{
-       struct partition *p = part_table[i];
+static void
+move_begin(int i) {
+       struct pte *pe = &ptes[i];
+       struct partition *p = pe->part_table;
        uint new, first;
 
        if (warn_geometry())
@@ -1665,38 +1885,42 @@ void move_begin(int i)
                printf(_("Partition %d has no data area\n"), i + 1);
                return;
        }
-       first = get_start_sect(p) + offsets[i];
-       new = read_int(first, first, 
-                      get_start_sect(p) + get_nr_sects(p) + offsets[i] - 1,
-                      first, _("New beginning of data")) - offsets[i];
+       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);
-               changed[i] = 1;
+               pe->changed = 1;
        }
 }
 
-void xselect(void)
-{
+static void
+xselect(void) {
+       char c;
+
        while(1) {
                putchar('\n');
-               switch (tolower(read_char(_("Expert command (m for help): ")))) {
+               c = tolower(read_char(_("Expert command (m for help): ")));
+               switch (c) {
                case 'a':
                        if (sun_label)
                                sun_set_alt_cyl();
                        break;
                case 'b':
-                       if (!sun_label && !sgi_label)
+                       if (dos_label)
                                move_begin(get_partition(0, partitions));
                        break;
                case 'c':
-                       cylinders = read_int(1, cylinders, 131071,
-                                            0, _("Number of cylinders"));
+                       user_cylinders = cylinders =
+                               read_int(1, cylinders, 131071, 0,
+                                        _("Number of cylinders"));
                        if (sun_label)
                                sun_set_ncyl(cylinders);
-                       warn_cylinders();
+                       if (dos_label)
+                               warn_cylinders();
                        break;
                case 'd':
                        print_raw();
@@ -1706,14 +1930,18 @@ void xselect(void)
                                sgi_set_xcyl();
                        else if (sun_label)
                                sun_set_xcyl();
-                       else
+                       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':
-                       heads = read_int(1, heads, 256, 0,
+                       user_heads = heads = read_int(1, heads, 256, 0,
                                         _("Number of heads"));
                        update_units();
                        break;
@@ -1738,7 +1966,7 @@ void xselect(void)
                case 'r':
                        return;
                case 's':
-                       sectors = read_int(1, sectors, 63, 0,
+                       user_sectors = sectors = read_int(1, sectors, 63, 0,
                                           _("Number of sectors"));
                        if (dos_compatible_flag) {
                                sector_offset = sectors;
@@ -1764,7 +1992,7 @@ void xselect(void)
        }
 }
 
-int
+static int
 is_ide_cdrom(char *device) {
        /* No device was given explicitly, and we are trying some
        likely things.  But opening /dev/hdc may produce errors like
@@ -1792,8 +2020,8 @@ is_ide_cdrom(char *device) {
     return 0;
 }
 
-void try(char *device, int user_specified)
-{
+static void
+try(char *device, int user_specified) {
        disk_device = device;
        if (!setjmp(listingbuf)) {
                if (!user_specified)
@@ -1827,8 +2055,8 @@ void try(char *device, int user_specified)
 
 /* for fdisk -l: try all things in /proc/partitions
    that look like a partition name (do not end in a digit) */
-void
-tryprocpt() {
+static void
+tryprocpt(void) {
        FILE *procpt;
        char line[100], ptname[100], devname[120], *s;
        int ma, mi, sz;
@@ -1851,16 +2079,14 @@ tryprocpt() {
        }
 }
 
-int
-dir_exists(char *dirname) {
-       struct stat statbuf;
+static void
+dummy(int *kk) {}
 
-       return (stat(dirname, &statbuf) == 0 && S_ISDIR(statbuf.st_mode));
+static void
+unknown_command(int c) {
+       printf(_("%c: unknown command\n"), c);
 }
 
-void
-dummy(int *kk) {}
-
 int
 main(int argc, char **argv) {
        int j, c;
@@ -1878,7 +2104,7 @@ main(int argc, char **argv) {
         *  fdisk -s [partition] ...
         *  fdisk [-b sectorsize] [-u] device
         */
-       while ((c = getopt(argc, argv, "b:lsuv")) != EOF) {
+       while ((c = getopt(argc, argv, "b:lsuvV")) != EOF) {
                switch (c) {
                case 'b':
                        /* ugly: this sector size is really per device,
@@ -1899,6 +2125,7 @@ main(int argc, char **argv) {
                case 'u':
                        display_in_cyl_units = 0;
                        break;
+               case 'V':
                case 'v':
                        printf("fdisk v" UTIL_LINUX_VERSION "\n");
                        exit(0);
@@ -1968,19 +2195,34 @@ main(int argc, char **argv) {
 
        get_boot(fdisk);
 
+#ifdef __alpha__
+       /* On alpha, if we detect a disklabel, go directly to
+          disklabel mode (typically you'll be switching from DOS
+          partition tables to disklabels, not the other way around)
+          - dhuggins@linuxcare.com */
+       if (osf_label) {
+               printf(_("Detected an OSF/1 disklabel on %s, entering disklabel mode.\n"
+                        "To return to DOS partition table mode, use the 'r' command.\n"),
+                      disk_device);
+               bselect();
+       }
+#endif
+
        while (1) {
                putchar('\n');
-               switch (tolower(read_char(_("Command (m for help): ")))) {
+               c = tolower(read_char(_("Command (m for help): ")));
+               switch (c) {
                case 'a':
-                       if (sun_label)
+                       if (dos_label)
+                               toggle_active(get_partition(1, partitions));
+                       else if (sun_label)
                                toggle_sunflags(get_partition(1, partitions),
                                                0x01);
+                       else if (sgi_label)
+                               sgi_set_bootpartition(
+                                       get_partition(1, partitions));
                        else
-                               if (sgi_label)
-                                       sgi_set_bootpartition(
-                                               get_partition(1, partitions));
-                               else
-                                       toggle_active(get_partition(1, partitions));
+                               unknown_command(c);
                        break;
                case 'b':
                        if (sgi_label) {
@@ -1995,15 +2237,16 @@ main(int argc, char **argv) {
                                bselect();
                        break;
                case 'c':
-                       if (sun_label)
+                       if (dos_label)
+                               toggle_dos_compatibility_flag();
+                       else if (sun_label)
                                toggle_sunflags(get_partition(1, partitions),
                                                0x10);
-                       else
-                               if (sgi_label)
-                                       sgi_set_swappartition(
+                       else if (sgi_label)
+                               sgi_set_swappartition(
                                                get_partition(1, partitions));
-                               else
-                                       toggle_dos();
+                       else
+                               unknown_command(c);
                        break;
                case 'd':
                        delete_partition(
@@ -2013,10 +2256,13 @@ main(int argc, char **argv) {
                        if (sgi_label)
                                create_sgiinfo();
                        else
-                               menu();
+                               unknown_command(c);
                case 'l':
                        list_types(get_sys_types());
                        break;
+               case 'm':
+                       menu();
+                       break;
                case 'n':
                        new_partition();
                        break;
@@ -2046,14 +2292,16 @@ main(int argc, char **argv) {
                        write_table();          /* does not return */
                        break;
                case 'x':
-                       if( sgi_label ) {
+                       if(sgi_label) {
                                fprintf(stderr,
                                        _("\n\tSorry, no experts menu for SGI "
                                        "partition tables available.\n\n"));
                        } else
                                xselect();
                        break;
-               default: menu();
+               default:
+                       unknown_command(c);
+                       menu();
                }
        }
        return 0;
index 551b02f6fe319ac3e8210e703161e54fccc762f2..868251dff91e829e113bd00c4b125516ce430c68 100644 (file)
@@ -53,6 +53,12 @@ enum failure {usage, usage2, ioctl_error,
 
 enum action {fdisk, require, try_only, create_empty};
 
+struct geom {
+       unsigned int heads;
+       unsigned int sectors;
+       unsigned int cylinders;
+};
+
 /* prototypes for fdisk.c */
 extern char *disk_device,
             *line_ptr;
@@ -60,8 +66,10 @@ extern int fd,
            partitions;
 extern uint display_in_cyl_units,
             units_per_sector;
+extern void change_units(void);
 extern struct partition *part_table[];
 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);
@@ -69,7 +77,10 @@ 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);
-uint read_int(uint low, uint dflt, uint high, uint base, char *mesg);
+extern struct partition *get_part_table(int);
+extern int valid_part_table_flag(unsigned char *b);
+extern uint read_int(uint low, uint dflt, uint high, uint base, char *mesg);
+
 
 #define PLURAL 0
 #define SINGULAR 1
@@ -78,9 +89,13 @@ extern char *const str_units(int);
 extern unsigned int get_start_sect(struct partition *p);
 extern unsigned int get_nr_sects(struct partition *p);
 
+extern int osf_label;
+
 /* prototypes for fdiskbsdlabel.c */
 extern void bselect(void);
-extern int btrydev (char * dev);
+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);
index 7540f9a6db3fd5dee27d4b7650ee3f8fd67e8681..395de53eb825f0b6b753e83c8447015c59a721ff 100644 (file)
@@ -22,9 +22,8 @@ static  short volumes=1;
  * only dealing with free blocks here
  */
 
-void
-aix_info( void )
-{
+static void
+aix_info( void ) {
     puts(
        _("\n\tThere is a valid AIX label on this disk.\n"
        "\tUnfortunately Linux cannot handle these\n"
@@ -46,7 +45,7 @@ aix_nolabel( void )
     aixlabel->magic = 0;
     aix_label = 0;
     partitions = 4;
-    memset( buffer, 0, sizeof(buffer) );       /* avoid fdisk cores */
+    memset( MBRbuffer, 0, sizeof(MBRbuffer) ); /* avoid fdisk cores */
     return;
 }
 
index fd95bc015ef1dba6047a9b3d276e59d40462d2b1..ca6919d77b93e08a3bfdd0eeb51c240318764213 100644 (file)
@@ -18,8 +18,8 @@ typedef struct {
 #define        AIX_INFO_MAGIC_SWAPPED  0x59290700
 
 /* fdisk.c */
-#define aixlabel ((aix_partition *)buffer)
-extern char buffer[MAX_SECTOR_SIZE];
+#define aixlabel ((aix_partition *)MBRbuffer)
+extern char MBRbuffer[MAX_SECTOR_SIZE];
 extern char changed[MAXIMUM_PARTS];
 extern uint heads, sectors, cylinders;
 extern int show_begin;
index 980bc38c7655dee26e592dab2b38074a0e31c157..0f3c681364b3a1da729ad90e36658186d139808c 100644 (file)
 
    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>
@@ -61,7 +65,6 @@
 
 static void xbsd_delete_part (void);
 static void xbsd_new_part (void);
-static void xbsd_print_disklabel (int show_all);
 static void xbsd_write_disklabel (void);
 static int xbsd_create_disklabel (void);
 static void xbsd_edit_disklabel (void);
@@ -75,33 +78,49 @@ static int xbsd_initlabel  (struct partition *p, struct xbsd_disklabel *d, int p
 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 (i386) || defined (__sparc__) || defined (__arm__)
-static int xbsd_translate_fstype (int linux_type);
-static void xbsd_link_part (void);
-#endif
+
 #if defined (__alpha__)
 void alpha_bootblock_checksum (char *boot);
 #endif
 
-static struct xbsd_disklabel xbsd_dlabel;
-static char buffer[BSD_BBSIZE];
-#if defined (i386) || defined (__sparc__) || defined (__arm__)
+#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))
+
+int
+check_osf_label(void) {
+    if (xbsd_readlabel (NULL, &xbsd_dlabel) == 0)
+       return 0;
+    osf_label = 1;
+    return 1;
+}
+
 int
 btrydev (char * dev) {
     if (xbsd_readlabel (NULL, &xbsd_dlabel) == 0)
-      return -1;
+       return -1;
     printf(_("\nBSD label for device: %s\n"), dev);
     xbsd_print_disklabel (0);
     return 0;
 }
 
-void
-bmenu (void)
-{
+static void
+bmenu (void) {
   puts (_("Command action"));
   puts (_("   d   delete a BSD partition"));
   puts (_("   e   edit drive data"));
@@ -111,49 +130,53 @@ bmenu (void)
   puts (_("   n   add a new BSD partition"));
   puts (_("   p   print BSD partition table"));
   puts (_("   q   quit without saving changes"));
-#if defined (i386) || defined (__sparc__) || defined (__arm__)
   puts (_("   r   return to main menu"));
-#endif
   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 (i386) || defined (__sparc__) || defined (__arm__)
+#if !defined (__alpha__)
   puts (_("   x   link BSD partition to non-BSD partition"));
 #endif
 }
 
-int
+#if !defined (__alpha__)
+static int
 hidden(int type) {
        return type ^ 0x10;
 }
 
-int
+static int
 is_netbsd_partition_type(int type) {
        return (type == NETBSD_PARTITION || type == hidden(NETBSD_PARTITION));
 }
+#endif
 
 void
 bselect (void) {
-#if defined (i386) || defined (__sparc__) || defined (__arm__)
+#if !defined (__alpha__)
   int t, ss;
+  struct partition *p;
 
-  for (t=0; t<4; t++)
-    if (is_netbsd_partition_type(part_table[t] -> sys_ind)) {
-      xbsd_part = part_table[t];
+  for (t=0; t<4; t++) {
+    p = get_part_table(t);
+    if (p && is_netbsd_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%d has invalid starting sector 0.\n"),
-                disk_device, t+1);
-        return;
+       fprintf (stderr, _("Partition %s has invalid starting sector 0.\n"),
+                partname(disk_device, t+1, 0));
+       return;
       }
-      printf (_("Reading disklabel of %s%d at sector %d.\n"),
-             disk_device, t+1, ss + BSD_LABELSECTOR);
+      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)
+       if (xbsd_create_disklabel () == 0)
          return;
       break;
     }
+  }
 
   if (t == 4) {
     printf (_("There is no *BSD partition on %s.\n"), disk_device);
@@ -168,22 +191,20 @@ bselect (void) {
 
 #endif
 
-  while (1)
-  {
+  while (1) {
     putchar ('\n');
-    switch (tolower (read_char (_("BSD disklabel command (m for help): "))))
-    {
+    switch (tolower (read_char (_("BSD disklabel command (m for help): ")))) {
       case 'd':
-        xbsd_delete_part ();
+       xbsd_delete_part ();
        break;
       case 'e':
-        xbsd_edit_disklabel ();
+       xbsd_edit_disklabel ();
        break;
       case 'i':
-        xbsd_write_bootstrap ();
+       xbsd_write_bootstrap ();
        break;
       case 'l':
-        xbsd_list_types ();
+       xbsd_list_types ();
        break;
       case 'n':
        xbsd_new_part ();
@@ -194,18 +215,21 @@ bselect (void) {
       case 'q':
        close (fd);
        exit ( EXIT_SUCCESS );
+      case 'r':
+       return;
       case 's':
        xbsd_print_disklabel (1);
        break;
       case 't':
-        xbsd_change_fstype ();
+       xbsd_change_fstype ();
+       break;
+      case 'u':
+       change_units();
        break;
       case 'w':
        xbsd_write_disklabel ();
        break;
-#if defined (i386) || defined (__sparc__) || defined (__arm__)
-      case 'r':
-       return;
+#if !defined (__alpha__)
       case 'x':
        xbsd_link_part ();
        break;
@@ -225,7 +249,7 @@ xbsd_delete_part (void)
   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;  
+  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--;
@@ -241,7 +265,7 @@ xbsd_new_part (void)
   if (!xbsd_check_new_partition (&i))
     return;
 
-#if defined (i386) || defined (__sparc__) || defined (__arm__)
+#if !defined (__alpha__) && !defined (__powerpc__)
   begin = get_start_sect(xbsd_part);
   end = begin + get_nr_sects(xbsd_part) - 1;
 #elif defined (__alpha__) || defined (__powerpc__)
@@ -250,39 +274,37 @@ xbsd_new_part (void)
 #endif
 
   sprintf (mesg, _("First %s"), str_units(SINGULAR));
-  begin = read_int (cround (begin), cround (begin), cround (end),
+  begin = read_int (bsd_cround (begin), bsd_cround (begin), bsd_cround (end),
                    0, mesg);
 
   if (display_in_cyl_units)
-    begin = (begin - 1) * units_per_sector;
+    begin = (begin - 1) * xbsd_dlabel.d_secpercyl;
 
   sprintf (mesg, _("Last %s or +size or +sizeM or +sizeK"),
           str_units(SINGULAR));
-  end = read_int (cround (begin), cround (end), cround (end),
-                 cround (begin), mesg);
+  end = read_int (bsd_cround (begin), bsd_cround (end), bsd_cround (end),
+                 bsd_cround (begin), mesg);
 
   if (display_in_cyl_units)
-    end = end * units_per_sector - 1;
+    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; 
+  xbsd_dlabel.d_partitions[i].p_fstype = BSD_FS_UNUSED;
 }
 
-static void
-xbsd_print_disklabel (int show_all)
-{
+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 (i386) || defined (__sparc__) || defined (__arm__)
-    fprintf(f, "# %s%d:\n", disk_device, xbsd_part_index+1);
-#elif defined (__alpha__)
+  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]);
@@ -309,8 +331,10 @@ xbsd_print_disklabel (int show_all)
     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, _("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])
@@ -321,19 +345,33 @@ xbsd_print_disklabel (int show_all)
       fprintf(f, "%ld ", (long) lp->d_drivedata[j]);
   }
   fprintf (f, _("\n%d partitions:\n"), lp->d_npartitions);
-  fprintf (f, _("#        size   offset    fstype   [fsize bsize   cpg]\n"));
+  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) {
-      fprintf(f, "  %c: %8ld %8ld  ", 'a' + i,
-             (long) pp->p_size, (long) pp->p_offset);
+      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:
+      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;
@@ -345,76 +383,55 @@ xbsd_print_disklabel (int show_all)
          break;
          
        default:
-         fprintf(f, "%20.20s", "");
+         fprintf(f, "%22.22s", "");
          break;
       }
-      fprintf(f, "\t# (Cyl. %4ld", (long)
-#if 0
-             pp->p_offset / lp->d_secpercyl); /* differs from Linux fdisk */
-#else
-             pp->p_offset / lp->d_secpercyl + 1);
-#endif
-      if (pp->p_offset % lp->d_secpercyl)
-       putc('*', f);
-      else
-       putc(' ', f);
-      fprintf(f, "- %ld",
-             (long) (pp->p_offset + 
-              pp->p_size + lp->d_secpercyl - 1) /
-#if 0
-             lp->d_secpercyl - 1); /* differs from Linux fdisk */
-#else
-             lp->d_secpercyl);
-#endif
-      if (pp->p_size % lp->d_secpercyl)
-       putc('*', f);
-      fprintf(f, ")\n");
+      fprintf(f, "\n");
     }
   }
 }
 
 static void
-xbsd_write_disklabel (void)
-{
-#if defined (i386) || defined (__sparc__) || defined (__arm__)
-  printf (_("Writing disklabel to %s%d.\n"), disk_device, xbsd_part_index+1);
-  xbsd_writelabel (xbsd_part, &xbsd_dlabel);
-#elif defined (__alpha__)
-  printf (_("Writing disklabel to %s.\n"), disk_device);
-  xbsd_writelabel (NULL, &xbsd_dlabel);
+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 */
+       reread_partition_table(0);      /* no exit yet */
 }
 
 static int
-xbsd_create_disklabel (void)
-{
-  char c;
+xbsd_create_disklabel (void) {
+       char c;
 
-#if defined (i386) || defined (__sparc__) || defined (__arm__)
-  fprintf (stderr, _("%s%d contains no disklabel.\n"),
-          disk_device, xbsd_part_index+1);
-#elif defined (__alpha__)
-  fprintf (stderr, _("%s contains no disklabel.\n"), disk_device);
+#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)
-    if ((c = tolower (read_char (_("Do you want to create a disklabel? (y/n) ")))) == 'y')
-    {
-#if defined (i386) || defined (__sparc__) || defined (__arm__)
-      if (xbsd_initlabel (xbsd_part, &xbsd_dlabel, xbsd_part_index) == 1)
-#elif defined (__alpha__) || defined (__powerpc__)
-      if (xbsd_initlabel (NULL, &xbsd_dlabel, 0) == 1)
+       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__)
+                               NULL, &xbsd_dlabel, 0
+#else
+                               xbsd_part, &xbsd_dlabel, xbsd_part_index
 #endif
-      {
-        xbsd_print_disklabel (1);
-       return 1;
-      }
-      else
-       return 0;
-    }
-    else if (c == 'n')
-      return 0;
+                               ) == 1) {
+                               xbsd_print_disklabel (1);
+                               return 1;
+                       } else
+                               return 0;
+               } else if (c == 'n')
+                       return 0;
+       }
 }
 
 static int
@@ -437,7 +454,7 @@ xbsd_edit_disklabel (void)
 
   d = &xbsd_dlabel;
 
-#ifdef __alpha__
+#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"));
@@ -507,18 +524,18 @@ xbsd_write_bootstrap (void)
     dkbasename = line_ptr;
   }
   sprintf (path, "%s/%sboot", bootdir, dkbasename);
-  if (!xbsd_get_bootstrap (path, buffer, (int) xbsd_dlabel.d_secsize))
+  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 = &buffer[BSD_LABELSECTOR * SECTOR_SIZE];
+  d = &disklabelbuffer[BSD_LABELSECTOR * SECTOR_SIZE];
   bcopy (d, &dl, sizeof (struct xbsd_disklabel));
 
   /* The disklabel will be overwritten by 0's from bootxx anyway */
   bzero (d, sizeof (struct xbsd_disklabel));
 
   sprintf (path, "%s/boot%s", bootdir, dkbasename);
-  if (!xbsd_get_bootstrap (path, &buffer[xbsd_dlabel.d_secsize],
+  if (!xbsd_get_bootstrap (path, &disklabelbuffer[xbsd_dlabel.d_secsize],
                          (int) xbsd_dlabel.d_bbsize - xbsd_dlabel.d_secsize))
     return;
 
@@ -532,24 +549,25 @@ xbsd_write_bootstrap (void)
 
   bcopy (&dl, d, sizeof (struct xbsd_disklabel));
 
-#if defined (i386) || defined (__sparc__) || defined (__arm__)
-  sector = get_start_sect(xbsd_part);
-#elif defined (__powerpc__)
+#if defined (__powerpc__)
   sector = 0;
 #elif defined (__alpha__)
   sector = 0;
-  alpha_bootblock_checksum (buffer);
+  alpha_bootblock_checksum (disklabelbuffer);
+#else
+  sector = get_start_sect(xbsd_part);
 #endif
 
-  if (ext2_llseek (fd, sector * SECTOR_SIZE, SEEK_SET) == -1)
+  if (ext2_llseek (fd, (ext2_loff_t) sector * SECTOR_SIZE, SEEK_SET) == -1)
     fatal (unable_to_seek);
-  if (BSD_BBSIZE != write (fd, buffer, BSD_BBSIZE))
+  if (BSD_BBSIZE != write (fd, disklabelbuffer, BSD_BBSIZE))
     fatal (unable_to_write);
 
-#if defined (i386) || defined (__sparc__) || defined (__arm__)
-  printf (_("Bootstrap installed on %s%d.\n"), disk_device, xbsd_part_index+1);
-#elif defined (__alpha__)
+#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 ();
@@ -629,14 +647,10 @@ xbsd_dkcksum (struct xbsd_disklabel *lp)
 static int
 xbsd_initlabel (struct partition *p, struct xbsd_disklabel *d, int pindex)
 {
-  struct hd_geometry geometry;
   struct xbsd_partition *pp;
+  struct geom g;
 
-  if (ioctl (fd, HDIO_GETGEO, &geometry) == -1)
-  {
-    perror ("ioctl");
-    return 0;
-  }
+  get_geometry (fd, &g);
   bzero (d, sizeof (struct xbsd_disklabel));
 
   d -> d_magic = BSD_DISKMAGIC;
@@ -650,16 +664,18 @@ xbsd_initlabel (struct partition *p, struct xbsd_disklabel *d, int pindex)
   d -> d_subtype = BSD_DSTYPE_INDOSPART & pindex;
 #endif
 
-#if defined (i386) || defined (__sparc__) || defined (__arm__)
+#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 = geometry.sectors; /* sectors/track */
-  d -> d_ntracks = geometry.heads;    /* tracks/cylinder (heads) */
-  d -> d_ncylinders = geometry.cylinders;
-  d -> d_secpercyl  = geometry.sectors * geometry.heads; /* sectors/cylinder */
+  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;
@@ -673,7 +689,7 @@ xbsd_initlabel (struct partition *p, struct xbsd_disklabel *d, int pindex)
   d -> d_bbsize = BSD_BBSIZE;
   d -> d_sbsize = BSD_SBSIZE;
 
-#if defined (i386) || defined (__sparc__) || defined (__arm__)
+#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);
@@ -699,18 +715,18 @@ xbsd_readlabel (struct partition *p, struct xbsd_disklabel *d)
 {
   int t, sector;
 
-#if defined (i386) || defined (__sparc__) || defined (__arm__)
+#if !defined (__alpha__)
   sector = (p ? get_start_sect(p) : 0);
 #elif defined (__alpha__)
   sector = 0;
 #endif
 
-  if (ext2_llseek (fd, sector * SECTOR_SIZE, SEEK_SET) == -1)
+  if (ext2_llseek (fd, (ext2_loff_t) sector * SECTOR_SIZE, SEEK_SET) == -1)
     fatal (unable_to_seek);
-  if (BSD_BBSIZE != read (fd, buffer, BSD_BBSIZE))
+  if (BSD_BBSIZE != read (fd, disklabelbuffer, BSD_BBSIZE))
     fatal (unable_to_read);
 
-  bcopy (&buffer[BSD_LABELSECTOR * SECTOR_SIZE + BSD_LABELOFFSET],
+  bcopy (&disklabelbuffer[BSD_LABELSECTOR * SECTOR_SIZE + BSD_LABELOFFSET],
         d, sizeof (struct xbsd_disklabel));
 
   for (t = d -> d_npartitions; t < BSD_MAXPARTITIONS; t++)
@@ -733,7 +749,7 @@ xbsd_writelabel (struct partition *p, struct xbsd_disklabel *d)
 {
   int sector;
 
-#if defined (i386) || defined (__sparc__) || defined (__arm__)
+#if !defined (__alpha__) && !defined (__powerpc__)
   sector = get_start_sect(p) + BSD_LABELSECTOR;
 #elif defined (__alpha__) || defined (__powerpc__)
   sector = BSD_LABELSECTOR;
@@ -745,17 +761,18 @@ xbsd_writelabel (struct partition *p, struct xbsd_disklabel *d)
   /* This is necessary if we want to write the bootstrap later,
      otherwise we'd write the old disklabel with the bootstrap.
   */
-  bcopy (d, &buffer[BSD_LABELSECTOR * SECTOR_SIZE + BSD_LABELOFFSET],
+  bcopy (d, &disklabelbuffer[BSD_LABELSECTOR * SECTOR_SIZE + BSD_LABELOFFSET],
         sizeof (struct xbsd_disklabel));
 
 #if defined (__alpha__) && BSD_LABELSECTOR == 0
-  alpha_bootblock_checksum (buffer);
-  if (ext2_llseek (fd, 0, SEEK_SET) == -1)
+  alpha_bootblock_checksum (disklabelbuffer);
+  if (ext2_llseek (fd, (ext2_loff_t) 0, SEEK_SET) == -1)
     fatal (unable_to_seek);
-  if (BSD_BBSIZE != write (fd, buffer, BSD_BBSIZE))
+  if (BSD_BBSIZE != write (fd, disklabelbuffer, BSD_BBSIZE))
     fatal (unable_to_write);
 #else
-  if (ext2_llseek (fd, sector * SECTOR_SIZE + BSD_LABELOFFSET, SEEK_SET) == -1)
+  if (ext2_llseek (fd, (ext2_loff_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);
@@ -774,7 +791,7 @@ sync_disks (void)
   sleep (4);
 }
 
-#if defined (i386) || defined (__sparc__) || defined (__arm__)
+#if !defined (__alpha__)
 static int
 xbsd_translate_fstype (int linux_type)
 {
@@ -798,16 +815,18 @@ static void
 xbsd_link_part (void)
 {
   int k, i;
+  struct partition *p;
 
   k = get_partition (1, partitions);
 
   if (!xbsd_check_new_partition (&i))
     return;
 
-  xbsd_dlabel.d_partitions[i].p_size   = get_nr_sects(part_table[k]);
-  xbsd_dlabel.d_partitions[i].p_offset = get_start_sect(part_table[k]);
-  xbsd_dlabel.d_partitions[i].p_fstype =
-    xbsd_translate_fstype (part_table[k] -> sys_ind);
+  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
 
index 1a06a08d57d02c92572591cbc9b67f944694c207..68747d48e36d52be3e7fd1120f722484a37484ad 100644 (file)
 
 #define BSD_LINUX_BOOTDIR "/usr/ucb/mdec"
 
-#if defined (i386) || defined (__sparc__) || defined (__arm__)
+#if defined (i386) || defined (__sparc__) || defined (__arm__) || defined (__mips__)
 #define BSD_LABELSECTOR   1
 #define BSD_LABELOFFSET   0
-#elif defined (__alpha__) || defined (__powerpc__)
+#elif defined (__alpha__) || defined (__powerpc__) || defined (__ia64__)
 #define BSD_LABELSECTOR   0
 #define BSD_LABELOFFSET   64
 #else
@@ -182,10 +182,11 @@ static char *xbsd_dktypenames[] = {
 #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               /* MS-DOS file system */
+#define        BSD_FS_EXT2     8               /* ext2 file system */
 #else
 #define        BSD_FS_MSDOS    8               /* MS-DOS file system */
 #endif
@@ -212,6 +213,7 @@ static struct systypes xbsd_fstypes[] = {
        {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)
index b2870e65b7d6f620be28070387ba10fe05f83a69..97e6c595a3ecc158195d216327b4ad2274475550 100644 (file)
@@ -36,17 +36,40 @@ static  short volumes=1;
 
 typedef struct { int first; int last; } freeblocks;
 static freeblocks freelist[17]; /* 16 partitions can produce 17 vacant slots */
-void setfreelist( int i, int f, int l ) \
-       { freelist[i].first = f; freelist[i].last = l; return; }
-void add2freelist( int f, int l ) \
-       { int i = 0; for( ; i<17 ; i++ ) { if(freelist[i].last==0) break; }\
-         setfreelist( i, f, l ); return; }
-void clearfreelist( void )             \
-       { int i = 0; for( ; i<17 ; i++ ) { setfreelist( i, 0, 0 ); } return; }
-int  isinfreelist( int b )             \
-       { int i = 0; for( ; i<17 ; i++ )\
-       { if( ( freelist[i].first <= b ) && ( freelist[i].last >= b) )\
-       { return freelist[i].last; } } return 0; }
+
+static void
+setfreelist( int i, int f, int l ) {
+       freelist[i].first = f;
+       freelist[i].last = l;
+}
+
+static void
+add2freelist( int f, 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 = 0;
+       for( ; i<17 ; i++ ) {
+               setfreelist( i, 0, 0 );
+       }
+}
+
+static int
+isinfreelist( int b ) {
+       int i = 0;
+       for( ; 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 */
 /*
@@ -63,53 +86,49 @@ struct systypes sgi_sys_types[] = {
     {SGI_EFS,    N_("SGI efs")},
     {0x08,       N_("SGI lvol")},
     {0x09,       N_("SGI rlvol")},
-    {0x0A,       N_("SGI xfs")},
-    {0x0B,       N_("SGI xlvol")},
-    {0x0C,       N_("SGI rxlvol")},
+    {0x0a,       N_("SGI xfs")},
+    {0x0b,       N_("SGI xlvol")},
+    {0x0c,       N_("SGI rxlvol")},
     {LINUX_SWAP,  N_("Linux swap")},
     {LINUX_NATIVE,N_("Linux native")},
+    {0x8e,       N_("Linux LVM")},
     {0, NULL }
 };
 
-static inline unsigned short __swap16(unsigned short x) {
+static inline unsigned short
+__swap16(unsigned short x) {
         return (((__u16)(x) & 0xFF) << 8) | (((__u16)(x) & 0xFF00) >> 8);
 }
-static inline __u32 __swap32(__u32 x) {
+
+static inline __u32
+__swap32(__u32 x) {
         return (((__u32)(x) & 0xFF) << 24) | (((__u32)(x) & 0xFF00) << 8) | (((__u32)(x) & 0xFF0000) >> 8) | (((__u32)(x) & 0xFF000000) >> 24);
 }
 
-static
-int
-sgi_get_nsect( void )
-{
+static int
+sgi_get_nsect(void) {
     return SSWAP16(sgilabel->devparam.nsect);
 }
 
-static
-int
-sgi_get_ntrks( void )
-{
+static int
+sgi_get_ntrks(void) {
     return SSWAP16(sgilabel->devparam.ntrks);
 }
 
 #if 0
 static int
-sgi_get_head_vol0( void )
-{
+sgi_get_head_vol0(void) {
     return SSWAP16(sgilabel->devparam.head_vol0);
 }
 
 static int
-sgi_get_bytes( void )
-{
+sgi_get_bytes(void) {
     return SSWAP16(sgilabel->devparam.bytes);
 }
 #endif
 
-static
-int
-sgi_get_pcylcount( void )
-{
+static int
+sgi_get_pcylcount(void) {
     return SSWAP16(sgilabel->devparam.pcylcount);
 }
 
@@ -121,23 +140,19 @@ sgi_nolabel()
     partitions = 4;
 }
 
-unsigned int
-two_s_complement_32bit_sum(
-    unsigned int* base,
-    int size /* in bytes */ )
-{
+static unsigned int
+two_s_complement_32bit_sum(unsigned int* base, int size /* in bytes */ ) {
     int i=0;
     unsigned int sum=0;
+
     size = size / sizeof( unsigned int );
     for( i=0; i<size; i++ )
-    {
        sum = sum - SSWAP32(base[i]);
-    }
     return sum;
 }
 
-int check_sgi_label()
-{
+int
+check_sgi_label() {
     if (sizeof(sgilabel) > 512) {
            fprintf(stderr,
                    _("According to MIPS Computer Systems, Inc the "
@@ -174,8 +189,7 @@ int check_sgi_label()
 }
 
 void
-sgi_list_table( int xtra )
-{
+sgi_list_table( int xtra ) {
     int i, w;
     char *type;
 
@@ -241,14 +255,12 @@ sgi_list_table( int xtra )
 }
 
 int
-sgi_get_start_sector( int i )
-{
+sgi_get_start_sector( int i ) {
     return SSWAP32(sgilabel->partitions[i].start_sector);
 }
 
 int
-sgi_get_num_sectors( int i )
-{
+sgi_get_num_sectors( int i ) {
     return SSWAP32(sgilabel->partitions[i].num_sectors);
 }
 
@@ -259,13 +271,13 @@ sgi_get_sysid( int i )
 }
 
 int
-sgi_get_bootpartition( void )
+sgi_get_bootpartition(void)
 {
     return SSWAP16(sgilabel->boot_part);
 }
 
 int
-sgi_get_swappartition( void )
+sgi_get_swappartition(void)
 {
     return SSWAP16(sgilabel->swap_part);
 }
@@ -274,25 +286,20 @@ void
 sgi_set_bootpartition( int i )
 {
     sgilabel->boot_part = SSWAP16(((short)i));
-    return;
 }
 
-int
-sgi_get_lastblock( void )
-{
+static int
+sgi_get_lastblock(void) {
     return heads * sectors * cylinders;
 }
 
 void
-sgi_set_swappartition( int i )
-{
+sgi_set_swappartition( int i ) {
     sgilabel->swap_part = SSWAP16(((short)i));
-    return;
 }
 
 static int
-sgi_check_bootfile( const char* aFile )
-{
+sgi_check_bootfile( const char* aFile ) {
     if( strlen( aFile ) < 3 ) /* "/a\n" is minimum */
     {
        printf( _("\nInvalid Bootfile!\n"
@@ -342,23 +349,21 @@ sgi_set_bootfile( const char* aFile )
        }
        printf( _("\n\tBootfile is changed to \"%s\".\n"), sgilabel->boot_file );
     }
-    return;
 }
 
 void
-create_sgiinfo( 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( sgilabel->directory[0].vol_file_name, "sgilabel",8 );
-    return;
 }
 
-sgiinfo * fill_sgiinfo( void );
+sgiinfo * fill_sgiinfo(void);
 
 void
-sgi_write_table( void )
+sgi_write_table(void)
 {
     sgilabel->csum = 0;
     sgilabel->csum = SSWAP32( two_s_complement_32bit_sum(
@@ -385,13 +390,10 @@ sgi_write_table( void )
            fatal(unable_to_write);
        free( info );
     }
-    return;
 }
 
-static
-int
-compare_start( int *x, int *y )
-{
+static int
+compare_start( int *x, int *y ) {
     /*
      * sort according to start sectors
      * and prefers largest partition:
@@ -410,10 +412,8 @@ compare_start( int *x, int *y )
     return( a - b );
 }
 
-static
-int
-sgi_gaps()
-{
+static int
+sgi_gaps(void) {
     /*
      * returned value is:
      *  = 0 : disk is properly filled to the rim
@@ -582,12 +582,11 @@ sgi_change_sysid( int i, int sys )
                     return;
     }
     sgilabel->partitions[i].id = SSWAP32(sys);
-    return;
 }
 
-int
-sgi_entire( void )
-{   /* returns partition index of first entry marked as entire disk */
+/* returns partition index of first entry marked as entire disk */
+static int
+sgi_entire(void) {
     int i=0;
     for( i=0; i<16; i++ )
        if( sgi_get_sysid(i) == SGI_VOLUME )
@@ -595,52 +594,33 @@ sgi_entire( void )
     return -1;
 }
 
-int
-sgi_num_partitions( void )
-{
-    int i=0,
-       n=0;
-    for( i=0; i<16; i++ )
-       if( sgi_get_num_sectors(i)!=0 )
-           n++;
-    return n;
-}
-
-static
-void
-sgi_set_partition( int i, uint start, uint length, int sys )
-{
+static void
+sgi_set_partition( int i, uint start, uint length, int sys ) {
     sgilabel->partitions[i].id =
            SSWAP32( sys );
     sgilabel->partitions[i].num_sectors =
            SSWAP32( length );
     sgilabel->partitions[i].start_sector =
            SSWAP32( start );
-    changed[i] = 1;
-    if( sgi_gaps(0) < 0 )      /* rebuild freelist */
+    set_changed(i);
+    if( sgi_gaps() < 0 )       /* rebuild freelist */
        printf(_("Do You know, You got a partition overlap on the disk?\n"));
-    return;
 }
 
-static
-void
-sgi_set_entire( void )
-{
+static void
+sgi_set_entire(void) {
     int n;
-    for( n=10; n<partitions; n++ )
-    {
-       if(!sgi_get_num_sectors( n ) )
-       {
+    for( n=10; n<partitions; n++ ) {
+       if(!sgi_get_num_sectors( n ) ) {
            sgi_set_partition( n, 0, sgi_get_lastblock(), SGI_VOLUME );
            break;
        }
     }
-    return;
 }
 
 static
 void
-sgi_set_volhdr( void )
+sgi_set_volhdr(void)
 {
     int n;
     for( n=8; n<partitions; n++ )
@@ -658,14 +638,12 @@ sgi_set_volhdr( void )
            break;
        }
     }
-    return;
 }
 
 void
 sgi_delete_partition( int i )
 {
     sgi_set_partition( i, 0, 0, 0 );
-    return;
 }
 
 void
@@ -741,11 +719,10 @@ sgi_add_partition( int n, int sys )
        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 );
-    return;
 }
 
 void
-create_sgilabel( void )
+create_sgilabel(void)
 {
     struct hd_geometry geometry;
     struct { int start;
@@ -755,7 +732,7 @@ create_sgilabel( void )
     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 unrecoverable lost.\n\n"));
+       "content will be unrecoverably lost.\n\n"));
 #if BYTE_ORDER == LITTLE_ENDIAN
     other_endian = 1;
 #else
@@ -774,13 +751,13 @@ create_sgilabel( void )
     for (i = 0; i < 4; i++)
     {
        old[i].sysid = 0;
-       if( valid_part_table_flag(buffer) )
+       if( valid_part_table_flag(MBRbuffer) )
        {
-           if( part_table[i]->sys_ind )
+           if( get_part_table(i)->sys_ind )
            {
-               old[i].sysid = part_table[i]->sys_ind;
-               old[i].start = get_start_sect( part_table[i] );
-               old[i].nsect = get_nr_sects( part_table[i] );
+               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"),
@@ -788,7 +765,7 @@ create_sgilabel( void )
            }
        }
     }
-    memset(buffer, 0, SECTOR_SIZE);
+    memset(MBRbuffer, 0, sizeof(MBRbuffer));
     sgilabel->magic = SSWAP32(SGI_LABEL_MAGIC);
     sgilabel->boot_part = SSWAP16(0);
     sgilabel->swap_part = SSWAP16(1); strncpy(
@@ -833,35 +810,34 @@ create_sgilabel( void )
            sgi_set_partition( i, old[i].start, old[i].nsect, old[i].sysid );
        }
     }
-    return;
 }
 
 void
-sgi_set_ilfact( void )
+sgi_set_ilfact(void)
 {
     /* do nothing in the beginning */
 }
 
 void
-sgi_set_rspeed( void )
+sgi_set_rspeed(void)
 {
     /* do nothing in the beginning */
 }
 
 void
-sgi_set_pcylcount( void )
+sgi_set_pcylcount(void)
 {
     /* do nothing in the beginning */
 }
 
 void
-sgi_set_xcyl( void )
+sgi_set_xcyl(void)
 {
     /* do nothing in the beginning */
 }
 
 void
-sgi_set_ncyl( void )
+sgi_set_ncyl(void)
 {
     /* do nothing in the beginning */
 }
@@ -870,7 +846,7 @@ sgi_set_ncyl( void )
  */
 
 sgiinfo*
-fill_sgiinfo( void )
+fill_sgiinfo(void)
 {
     sgiinfo*info=calloc( 1, sizeof(sgiinfo) );
     info->magic=SSWAP32(SGI_INFO_MAGIC);
index fa35f8f3e7bc9d7935ee342ba5cba4bbeedf3e89..a0c3a1056d0dbd7502607fc82a2fe9c557e49f14 100644 (file)
@@ -93,16 +93,16 @@ typedef struct {
                                  : (__u32)(x))
 
 /* fdisk.c */
-#define sgilabel ((sgi_partition *)buffer)
+#define sgilabel ((sgi_partition *)MBRbuffer)
 #define sgiparam (sgilabel->devparam)
-extern char buffer[MAX_SECTOR_SIZE];
-extern char changed[MAXIMUM_PARTS];
+extern char MBRbuffer[MAX_SECTOR_SIZE];
 extern uint heads, sectors, cylinders;
 extern int show_begin;
 extern int sgi_label;
 extern char *partition_type(unsigned char type);
 extern void update_units(void);
 extern char read_chars(char *mesg);
+extern void set_changed(int);
 
 /* fdisksgilabel.c */
 extern struct  systypes sgi_sys_types[];
index 48916ad485e51088eecf55aa09afe2c5a05c41dc..3ec5624a120038425ed0702ee397bd9d059c6e86 100644 (file)
@@ -51,6 +51,7 @@ struct systypes sun_sys_types[] = {
        {8, N_("SunOS home")},
        {LINUX_SWAP, N_("Linux swap")},
        {LINUX_NATIVE, N_("Linux native")},
+       {0x8e, N_("Linux LVM")},
        { 0, NULL }
 };
 
@@ -87,25 +88,25 @@ void guess_device_type(int fd) {
        }
 }
 
-void set_sun_partition(int i, uint start, uint stop, int sysid)
-{
+static void
+set_sun_partition(int i, uint start, uint stop, int sysid) {
        sunlabel->infos[i].id = sysid;
        sunlabel->partitions[i].start_cylinder =
                SSWAP32(start / (heads * sectors));
        sunlabel->partitions[i].num_sectors =
                SSWAP32(stop - start);
-       changed[i] = 1;
+       set_changed(i);
 }
 
-void sun_nolabel(void)
-{
+void
+sun_nolabel(void) {
        sun_label = 0;
        sunlabel->magic = 0;
        partitions = 4;
 }
 
-int check_sun_label(void)
-{
+int
+check_sun_label(void) {
        unsigned short *ush;
        int csum;
        
@@ -148,6 +149,10 @@ struct sun_predefined_drives {
 {"Quantum","ProDrive 80S",1,832,2,834,6,34,3662},
 {"Quantum","ProDrive 105S",1,974,2,1019,6,35,3662},
 {"CDC","Wren IV 94171-344",3,1545,2,1549,9,46,3600},
+{"IBM","DPES-31080",0,4901,2,4903,4,108,5400},
+{"IBM","DORS-32160",0,1015,2,1017,67,62,5400},
+{"IBM","DNES-318350",0,11199,2,11474,10,320,7200},
+{"SEAGATE","ST34371",0,3880,2,3882,16,135,7228},
 {"","SUN0104",1,974,2,1019,6,35,3662},
 {"","SUN0207",4,1254,2,1272,9,36,3600},
 {"","SUN0327",3,1545,2,1549,9,46,3600},
@@ -162,8 +167,8 @@ struct sun_predefined_drives {
 {"IOMEGA","Jaz",0,1019,2,1021,64,32,5394},
 };
 
-struct sun_predefined_drives *
-sun_autoconfigure_scsi() {
+static struct sun_predefined_drives *
+sun_autoconfigure_scsi(void) {
     struct sun_predefined_drives *p = NULL;
 
 #ifdef SCSI_IOCTL_GET_IDLUN
@@ -193,16 +198,18 @@ sun_autoconfigure_scsi() {
         pfd = fopen("/proc/scsi/scsi","r");
         if (pfd) {
             while (fgets(buffer2,2048,pfd)) {
-                            if (!strcmp(buffer, buffer2)) {
+               if (!strcmp(buffer, buffer2)) {
                     if (fgets(buffer2,2048,pfd)) {
                         q = strstr(buffer2,"Vendor: ");
                         if (q) {
                             q += 8;
                             vendor = q;
-                            q = strstr(q," Model: ");
+                           q = strstr(q," ");
+                           *q++ = 0;   /* truncate vendor name */
+                            q = strstr(q,"Model: ");
                             if (q) {
                                 *q = 0;
-                                q += 8;
+                                q += 7;
                                 model = q;
                                 q = strstr(q," Rev: ");
                                 if (q) {
@@ -247,7 +254,7 @@ void create_sunlabel(void)
 #else
        other_endian = 0;
 #endif
-       memset(buffer, 0, SECTOR_SIZE);
+       memset(MBRbuffer, 0, sizeof(MBRbuffer));
        sunlabel->magic = SSWAP16(SUN_LABEL_MAGIC);
        if (!floppy) {
            puts(_("Drive type\n"
@@ -328,14 +335,19 @@ void create_sunlabel(void)
            sunlabel->ntrks = SSWAP16(p->ntrks);
            sunlabel->nsect = SSWAP16(p->nsect);
            sunlabel->rspeed = SSWAP16(p->rspeed);
+           sunlabel->ilfact = SSWAP16(1);
            cylinders = p->ncyl;
            heads = p->ntrks;
            sectors = p->nsect;
            puts(_("You may change all the disk params from the x menu"));
        }
-       sprintf(buffer, "%s%s%s cyl %d alt %d hd %d sec %d", 
-                       p ? p->vendor : "", (p && *p->vendor) ? " " : "", p ? p->model : (floppy ? _("3,5\" floppy") : _("Linux custom")),
-                       cylinders, SSWAP16(sunlabel->nacyl), heads, sectors);
+
+       sprintf(sunlabel->info, "%s%s%s cyl %d alt %d hd %d sec %d", 
+               p ? p->vendor : "",
+               (p && *p->vendor) ? " " : "",
+               p ? p->model : (floppy ? _("3,5\" floppy") : _("Linux custom")),
+               cylinders, SSWAP16(sunlabel->nacyl), heads, sectors);
+
        sunlabel->ntrks = SSWAP16(heads);
        sunlabel->nsect = SSWAP16(sectors);
        sunlabel->ncyl = SSWAP16(cylinders);
@@ -358,26 +370,28 @@ void create_sunlabel(void)
                        csum ^= *ush++;
                sunlabel->csum = csum;
        }
-       for (i = 1; i < MAXIMUM_PARTS; i++)
-           changed[i] = 0;
-       changed[0] = 1;
+
+       set_all_unchanged();
+       set_changed(0);
        get_boot(create_empty);
 }
 
-void toggle_sunflags(int i, unsigned char mask)
-{
+void
+toggle_sunflags(int i, unsigned char mask) {
        if (sunlabel->infos[i].flags & mask)
                sunlabel->infos[i].flags &= ~mask;
        else sunlabel->infos[i].flags |= mask;
-       changed[i] = 1;
+       set_changed(i);
 }
 
-void fetch_sun(uint *starts, uint *lens, uint *start, uint *stop)
-{
+static void
+fetch_sun(uint *starts, uint *lens, uint *start, uint *stop) {
        int i, continuous = 1;
        *start = 0; *stop = cylinders * heads * sectors;
        for (i = 0; i < partitions; i++) {
-               if (sunlabel->partitions[i].num_sectors && sunlabel->infos[i].id && sunlabel->infos[i].id != WHOLE_DISK) {
+               if (sunlabel->partitions[i].num_sectors
+                   && sunlabel->infos[i].id
+                   && sunlabel->infos[i].id != WHOLE_DISK) {
                        starts[i] = SSWAP32(sunlabel->partitions[i].start_cylinder) * heads * sectors;
                        lens[i] = SSWAP32(sunlabel->partitions[i].num_sectors);
                        if (continuous) {
@@ -386,7 +400,9 @@ void fetch_sun(uint *starts, uint *lens, uint *start, uint *stop)
                                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 */
+                                       continuous = 0;
+                                       /* There will be probably more gaps
+                                         than one, so lets check afterwards */
                        }
                } else {
                        starts[i] = 0;
@@ -396,16 +412,17 @@ void fetch_sun(uint *starts, uint *lens, uint *start, uint *stop)
 }
 
 static uint *verify_sun_starts;
-int verify_sun_cmp(int *a, int *b)
-{
+
+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)
-{
+void
+verify_sun(void) {
     uint starts[8], lens[8], start, stop;
     int i,j,k,starto,endo;
     int array[8];
@@ -466,8 +483,8 @@ void verify_sun(void)
         printf(_("Unused gap - sectors %d-%d\n"),start,stop);
 }
 
-void add_sun_partition(int n, int sys)
-{
+void
+add_sun_partition(int n, int sys) {
        uint start, stop, stop2;
        uint starts[8], lens[8];
        int whole_disk = 0;
@@ -701,4 +718,3 @@ sun_write_table(void) {
        if (write(fd, sunlabel, SECTOR_SIZE) != SECTOR_SIZE)
                fatal(unable_to_write);
 }
-
index 1a75713c8f8010dd23f4275bb2507e28a33d0650..424f462ea64e5fb9c8f8b4213d8a6e7ce7527282 100644 (file)
@@ -30,21 +30,22 @@ typedef struct {
 
 #define SUN_LABEL_MAGIC          0xDABE
 #define SUN_LABEL_MAGIC_SWAPPED  0xBEDA
-#define sunlabel ((sun_partition *)buffer)
+#define sunlabel ((sun_partition *)MBRbuffer)
 #define SSWAP16(x) (other_endian ? __swap16(x) \
                                 : (__u16)(x))
 #define SSWAP32(x) (other_endian ? __swap32(x) \
                                 : (__u32)(x))
                                 
 /* fdisk.c */
-extern char changed[MAXIMUM_PARTS];
-extern char buffer[MAX_SECTOR_SIZE];
+extern char MBRbuffer[MAX_SECTOR_SIZE];
 extern uint heads, sectors, cylinders;
 extern int show_begin;
 extern int sun_label;
 extern char *partition_type(unsigned char type);
 extern void update_units(void);
 extern char read_chars(char *mesg);
+extern void set_all_unchanged(void);
+extern void set_changed(int);
 
 /* fdisksunlabel.c */
 #define SUNOS_SWAP 3
index f3624724ecfe7c14e0f176ec35899f641bd26bc0..0cad6fa72fdf56115c96e00a4f81d56fb578528d 100644 (file)
@@ -58,8 +58,10 @@ struct systypes i386_sys_types[] = {
        {0x85, N_("Linux extended")},
        {0x86, N_("NTFS volume set")},
        {0x87, N_("NTFS volume set")},
+       {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_("BSD/386")},
        {0xa6, N_("OpenBSD")},
index a9cd5a3acaa883d403cbb90d2652251f9afcc741..9e00d3e6df6bf3ddb5be5adbd206ea6755694e8a 100644 (file)
@@ -25,7 +25,7 @@ extern ext2_loff_t ext2_llseek (unsigned int, ext2_loff_t, unsigned int);
 
 #else  /* HAVE_LLSEEK */
 
-#ifdef __alpha__
+#if defined(__alpha__) || defined(__ia64__)
 
 #define my_llseek lseek
 
diff --git a/fdisk/partname.c b/fdisk/partname.c
new file mode 100644 (file)
index 0000000..b09b958
--- /dev/null
@@ -0,0 +1,46 @@
+#include <ctype.h>
+#include <stdio.h>
+#include <string.h>
+#include "common.h"
+
+/*
+ * return partition name - uses static storage unless buf is supplied
+ */
+static char *
+partnamebf(char *dev, int pno, int lth, int bufsiz, char *bufp) {
+       static char buffer[80];
+       char *p;
+       int w, wp;
+
+       if (!bufp) {
+               bufp = buffer;
+               bufsiz = sizeof(buffer);
+       }
+
+       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";
+       }
+
+       wp = strlen(p);
+               
+       if (lth) {
+               sprintf(bufp, "%*.*s%s%-2u", lth-wp-2, w, dev, p, pno);
+       } else {
+               sprintf(bufp, "%.*s%s%-2u", w, dev, p, pno);
+       }
+       return bufp;
+}
+
+char *
+partname(char *dev, int pno, int lth) {
+       return partnamebf(dev, pno, lth, 0, NULL);
+}
index e7f3e82b68d25b8e545f6787d56efea2401ae49d..0c62c2e96214528c59e7b884e267e57e866c92cb 100644 (file)
@@ -265,6 +265,17 @@ 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
@@ -339,7 +350,7 @@ details, see the
 .B lilo
 documentation.
 .LP
-Each partition has a type, its `Id', and if this type is 5
+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
@@ -347,7 +358,7 @@ 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 - this can be
+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
index 7bf7fd83db4a87b3aa99088edc437a17869a6f40..206ea28dc8624d684b12c9e21320c62412677a50 100644 (file)
@@ -45,9 +45,9 @@
 #include <getopt.h>
 #include <sys/ioctl.h>
 #include <sys/stat.h>
+#include <sys/utsname.h>
 #include <linux/unistd.h>      /* _syscall */
 #include <linux/hdreg.h>       /* HDIO_GETGEO */
-#include <linux/fs.h>          /* BLKGETSIZE */
 #include "nls.h"
 #include "common.h"
 
@@ -69,8 +69,11 @@ 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 */
@@ -80,7 +83,7 @@ int opt_list = 0;
 char *save_sector_file = NULL;
 char *restore_sector_file = NULL;
 
-void
+static void
 warn(char *s, ...) {
     va_list p;
 
@@ -91,7 +94,7 @@ warn(char *s, ...) {
     va_end(p);
 }
 
-void
+static void
 error(char *s, ...) {
     va_list p;
 
@@ -102,7 +105,7 @@ error(char *s, ...) {
     va_end(p);
 }
 
-void
+static void
 fatal(char *s, ...) {
     va_list p;
 
@@ -125,23 +128,25 @@ fatal(char *s, ...) {
  * On the other hand, a 32 bit sector number is OK until 2TB.
  * The routines _llseek and sseek below are the only ones that
  * know about the loff_t type.
+ *
+ * Note: we use 512-byte sectors here, irrespective of the hardware ss.
  */
-#ifndef __alpha__
+#if !defined (__alpha__) && !defined (__ia64__)
 static
 _syscall5(int,  _llseek,  uint,  fd, ulong, hi, ulong, lo,
        loff_t *, res, uint, wh);
 #endif
 
-int
+static int
 sseek(char *dev, unsigned int fd, unsigned long s) {
     loff_t in, out;
     in = ((loff_t) s << 9);
     out = 1;
 
-#ifndef __alpha__
+#if !defined (__alpha__) && !defined (__ia64__)
     if (_llseek (fd, in>>32, in & 0xffffffff, &out, SEEK_SET) != 0) {
 #else
-        if ((out = lseek(fd, in, SEEK_SET)) != in) {
+    if ((out = lseek(fd, in, SEEK_SET)) != in) {
 #endif
        perror("llseek");
        error(_("seek error on %s - cannot seek to %lu\n"), dev, s);
@@ -172,7 +177,7 @@ struct sector {
     char data[512];
 } *sectorhead;
 
-void
+static void
 free_sectors(void) {
     struct sector *s;
 
@@ -183,7 +188,7 @@ free_sectors(void) {
     }
 }
 
-struct sector *
+static struct sector *
 get_sector(char *dev, int fd, unsigned long sno) {
     struct sector *s;
 
@@ -198,7 +203,8 @@ get_sector(char *dev, int fd, unsigned long sno) {
        fatal(_("out of memory - giving up\n"));
 
     if (read(fd, s->data, sizeof(s->data)) != sizeof(s->data)) {
-       perror("read");
+       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;
@@ -212,7 +218,7 @@ get_sector(char *dev, int fd, unsigned long sno) {
     return s;
 }
 
-int
+static int
 msdos_signature (struct sector *s) {
     if (*(unsigned short *) (s->data + 0x1fe) != 0xaa55) {
        error(_("ERROR: sector %lu does not have an msdos signature\n"),
@@ -222,7 +228,7 @@ msdos_signature (struct sector *s) {
     return 1;
 }
 
-int
+static int
 write_sectors(char *dev, int fd) {
     struct sector *s;
 
@@ -241,7 +247,7 @@ write_sectors(char *dev, int fd) {
     return 1;
 }
 
-void
+static void
 ulong_to_chars(unsigned long u, char *uu) {
     int i;
 
@@ -251,7 +257,7 @@ ulong_to_chars(unsigned long u, char *uu) {
     }
 }
 
-unsigned long
+static unsigned long
 chars_to_ulong(unsigned char *uu) {
     int i;
     unsigned long u = 0;
@@ -261,7 +267,7 @@ chars_to_ulong(unsigned char *uu) {
     return u;
 }
 
-int
+static int
 save_sectors(char *dev, int fdin) {
     struct sector *s;
     char ss[516];
@@ -295,9 +301,9 @@ save_sectors(char *dev, int fdin) {
     return 1;
 }
 
-void reread_disk_partition(char *dev, int fd);
+static void reread_disk_partition(char *dev, int fd);
 
-int
+static int
 restore_sectors(char *dev) {
     int fdin, fdout, ct;
     struct stat statbuf;
@@ -370,6 +376,8 @@ restore_sectors(char *dev) {
  *      unsigned short cylinders;
  *      unsigned long start;
  * };
+ *
+ * For large disks g.cylinders is truncated, so we use BLKGETSIZE.
  */
 
 /*
@@ -383,52 +391,64 @@ restore_sectors(char *dev) {
 struct geometry {
        unsigned long cylindersize;
        unsigned long heads, sectors, cylinders;
+       unsigned long start;
 } B, F, U;
 
-void
-get_cylindersize(char *dev, int fd, int silent) {
+static struct geometry
+get_geometry(char *dev, int fd, int silent) {
     struct hd_geometry g;
-    int ioctl_ok = 0;
+    long size;
+    struct geometry R;
 
-    B.heads = B.sectors = B.cylinders = 0;
+    if (ioctl(fd, BLKGETSIZE, &size)) {
+       size = 0;
+       if (!silent)
+           printf(_("Disk %s: cannot get size\n"), dev);
+    }
+    if (ioctl(fd, HDIO_GETGEO, &g)) {
+       g.heads = g.sectors = g.cylinders = g.start = 0;
+       if (!silent)
+           printf(_("Disk %s: cannot get geometry\n"), dev);
+    }
+    R.heads = g.heads;
+    R.sectors = g.sectors;
+    R.cylindersize = R.heads * R.sectors;
+    R.cylinders = (R.cylindersize ? size / R.cylindersize : 0);
+    R.start = g.start;
+    return R;
+}
 
-    if (!ioctl(fd, HDIO_GETGEO, &g)) {
-       ioctl_ok = 1;
+static void
+get_cylindersize(char *dev, int fd, int silent) {
+    struct geometry R;
 
-       B.heads = g.heads;
-       B.sectors = g.sectors;
-       B.cylinders = g.cylinders;
-    }
+    R = get_geometry(dev, fd, silent);
 
-    if (U.heads)
-      B.heads = U.heads;
-    if (U.sectors)
-      B.sectors = U.sectors;
-    if (U.cylinders)
-      B.cylinders = U.cylinders;
+    B.heads = (U.heads ? U.heads : R.heads);
+    B.sectors = (U.sectors ? U.sectors : R.sectors);
+    B.cylinders = (U.cylinders ? U.cylinders : R.cylinders);
 
     B.cylindersize = B.heads * B.sectors;
 
-    if (ioctl_ok) {
-       if (g.start && !force) {
-           warn(
-                _("Warning: start=%d - 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"), g.start);
-           exit(1);
-       }
-       if (B.heads != g.heads)
-         warn(_("Warning: HDIO_GETGEO says that there are %d heads\n"),
-              g.heads);
-       if (B.sectors != g.sectors)
-         warn(_("Warning: HDIO_GETGEO says that there are %d sectors\n"),
-              g.sectors);
-       if (B.cylinders != g.cylinders)
-         warn(_("Warning: HDIO_GETGEO says that there are %d cylinders\n"),
-              g.cylinders);
-    } else if (!silent)
-      if (!B.heads || !B.sectors || !B.cylinders)
-       printf(_("Disk %s: cannot get geometry\n"), dev);
+    if (R.start && !force) {
+       warn(
+           _("Warning: start=%d - 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 (R.heads && B.heads != R.heads)
+       warn(_("Warning: HDIO_GETGEO says that there are %d heads\n"),
+            R.heads);
+    if (R.sectors && B.sectors != R.sectors)
+       warn(_("Warning: HDIO_GETGEO says that there are %d 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 %d cylinders\n"),
+            R.cylinders);
+
     if (B.sectors > 63)
       warn(_("Warning: unlikely number of sectors (%d) - usually at most 63\n"
           "This will give problems with all software that uses C/H/S addressing.\n"),
@@ -444,7 +464,7 @@ chs zero_chs = { 0,0,0 };
 typedef struct { unsigned long h,s,c; } longchs;
 longchs zero_longchs;
 
-chs
+static chs
 longchs_to_chs (longchs aa, struct geometry G) {
     chs a;
 
@@ -461,7 +481,7 @@ longchs_to_chs (longchs aa, struct geometry G) {
     return a;
 }
 
-longchs
+static longchs
 chs_to_longchs (chs a) {
     longchs aa;
 
@@ -472,7 +492,7 @@ chs_to_longchs (chs a) {
     return aa;
 }
 
-longchs
+static longchs
 ulong_to_longchs (unsigned long sno, struct geometry G) {
     longchs aa;
 
@@ -486,27 +506,29 @@ ulong_to_longchs (unsigned long sno, struct geometry G) {
     }
 }
 
-unsigned long
-longchs_to_ulong (longchs aa, struct geometry G) {
-    return (aa.c*G.cylindersize + aa.h*G.sectors + aa.s - 1);
-}
-
-chs
+static chs
 ulong_to_chs (unsigned long sno, struct geometry G) {
     return longchs_to_chs(ulong_to_longchs(sno, G), G);
 }
 
-unsigned long
+#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
 
-int
+static int
 is_equal_chs (chs a, chs b) {
     return (a.h == b.h && a.s == b.s && a.c == b.c);
 }
 
-int
+static int
 chs_ok (chs a, char *v, char *w) {
     longchs aa = chs_to_longchs(a);
     int ret = 1;
@@ -549,7 +571,7 @@ chs_ok (chs a, char *v, char *w) {
 
 /* List of partition types now in i386_sys_types.c */
 
-const char *
+static const char *
 sysname(unsigned char type) {
     struct systypes *s;
 
@@ -559,7 +581,7 @@ sysname(unsigned char type) {
     return _("Unknown");
 }
 
-void
+static void
 list_types(void) {
     struct systypes *s;
 
@@ -568,14 +590,14 @@ list_types(void) {
       printf("%2x  %s\n", s->type, _(s->name));
 }
 
-int
+static int
 is_extended(unsigned char type) {
        return (type == EXTENDED_PARTITION
                || type == LINUX_EXTENDED
                || type == WIN98_EXTENDED);
 }
 
-int
+static int
 is_bsd(unsigned char type) {
        return (type == BSD_PARTITION);
 }
@@ -597,7 +619,7 @@ struct partition {
 
 /* Unfortunately, partitions are not aligned, and non-Intel machines
    are unhappy with non-aligned integers. So, we need a copy by hand. */
-int
+static int
 copy_to_int(unsigned char *cp) {
     unsigned int m;
 
@@ -608,7 +630,7 @@ copy_to_int(unsigned char *cp) {
     return m;
 }
 
-void
+static void
 copy_from_int(int m, char *cp) {
     *cp++ = (m & 0xff); m >>= 8;
     *cp++ = (m & 0xff); m >>= 8;
@@ -616,7 +638,7 @@ copy_from_int(int m, char *cp) {
     *cp++ = (m & 0xff);
 }
 
-void
+static void
 copy_to_part(char *cp, struct partition *p) {
     p->bootable = *cp++;
     p->begin_chs.h = *cp++;
@@ -630,7 +652,7 @@ copy_to_part(char *cp, struct partition *p) {
     p->nr_sects = copy_to_int(cp+4);
 }
 
-void
+static void
 copy_from_part(struct partition *p, char *cp) {
     *cp++ = p->bootable;
     *cp++ = p->begin_chs.h;
@@ -661,14 +683,14 @@ struct part_desc {
 #define BSD_TYPE       1
 } zero_part_desc;
 
-struct part_desc *
+static struct part_desc *
 outer_extended_partition(struct part_desc *p) {
     while (p->ep)
       p = p->ep;
     return p;
 }
 
-int
+static int
 is_parent(struct part_desc *pp, struct part_desc *p) {
     while (p) {
        if (pp == p)
@@ -684,7 +706,7 @@ struct disk_desc {
 } oldp, newp;
 
 /* determine where on the disk this information goes */
-void
+static void
 add_sector_and_offset(struct disk_desc *z) {
     int pno;
     struct part_desc *p;
@@ -697,7 +719,7 @@ add_sector_and_offset(struct disk_desc *z) {
 }
 
 /* tell the kernel to reread the partition tables */
-int
+static int
 reread_ioctl(int fd) {
     if(ioctl(fd, BLKRRPART)) {
        perror("BLKRRPART");
@@ -706,7 +728,7 @@ reread_ioctl(int fd) {
     return 0;
 }
 
-int
+static int
 is_blockdev(int fd) {
     struct stat statbuf;
 
@@ -714,7 +736,7 @@ is_blockdev(int fd) {
 }
 
 /* reread after writing */
-void
+static void
 reread_disk_partition(char *dev, int fd) {
     printf(_("Re-reading the partition table ...\n"));
     fflush(stdout);
@@ -733,7 +755,7 @@ reread_disk_partition(char *dev, int fd) {
 }
 
 /* find Linux name of this partition, assuming that it will have a name */
-int
+static int
 index_to_linux(int pno, struct disk_desc *z) {
     int i, ct = 1;
     struct part_desc *p = &(z->partitions[0]);
@@ -743,7 +765,7 @@ index_to_linux(int pno, struct disk_desc *z) {
     return ct;
 }
 
-int
+static int
 linux_to_index(int lpno, struct disk_desc *z) {
     int i, ct = 0;
     struct part_desc *p = &(z->partitions[0]);
@@ -754,7 +776,7 @@ linux_to_index(int lpno, struct disk_desc *z) {
     return -1;
 }
 
-int
+static int
 asc_to_index(char *pnam, struct disk_desc *z) {
     int pnum, pno;
 
@@ -784,7 +806,7 @@ int one_only = 0;
 int one_only_pno;
 int increment = 0;
 
-void
+static void
 set_format(char c) {
     switch(c) {
       default:
@@ -796,7 +818,7 @@ set_format(char c) {
     }
 }
 
-unsigned long
+static unsigned long
 unitsize(int format) {
     default_format = (B.cylindersize ? F_CYLINDER : F_MEGABYTE);
     if (!format && !(format = specified_format))
@@ -816,7 +838,7 @@ unitsize(int format) {
     }
 }
 
-unsigned long
+static unsigned long
 get_disksize(int format) {
     unsigned long cs = B.cylinders;
     if (cs && leave_last)
@@ -824,7 +846,7 @@ get_disksize(int format) {
     return (cs * B.cylindersize) / unitsize(format);
 }
 
-void
+static void
 out_partition_header(char *dev, int format, struct geometry G) {
     if (dump) {
        printf(_("# partition table of %s\n"), dev);
@@ -894,7 +916,7 @@ out_roundup_size(int width, unsigned long n, unsigned long unit) {
     putchar(' ');
 }
 
-int
+static int
 get_fdisk_geometry(struct part_desc *p) {
     chs b = p->p.end_chs;
     longchs bb = chs_to_longchs(b);
@@ -904,7 +926,7 @@ get_fdisk_geometry(struct part_desc *p) {
     return (F.sectors != B.sectors || F.heads != B.heads);
 }
 
-void
+static void
 out_partition(char *dev, int format, struct part_desc *p,
              struct disk_desc *z, struct geometry G) {
     unsigned long start, end, size;
@@ -916,7 +938,7 @@ out_partition(char *dev, int format, struct part_desc *p,
     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("%8s%-2u", dev, lpno);     /* yes */
+      printf("%s", partname(dev, lpno, 10));  /* yes */
     else if(show_extended)
       printf("    -     ");
     else
@@ -1009,7 +1031,7 @@ out_partition(char *dev, int format, struct part_desc *p,
     }
 }
 
-void
+static void
 out_partitions(char *dev, struct disk_desc *z) {
     struct part_desc *p;
     int pno, format = 0;
@@ -1020,7 +1042,7 @@ out_partitions(char *dev, struct disk_desc *z) {
        for (pno=0; pno < z->partno; pno++) {
            p = &(z->partitions[pno]);
            if (p->size != 0 && p->p.sys_type != 0) {
-               if (get_fdisk_geometry(p))
+               if (get_fdisk_geometry(p) && !dump)
                    printf(
                   _("Warning: The first partition looks like it was made\n"
                     "  for C/H/S=*/%ld/%ld (instead of %ld/%ld/%ld).\n"
@@ -1046,7 +1068,7 @@ disj(struct part_desc *p, struct part_desc *q) {
            && q->start + q->size <= p->start + p->size));
 }
 
-char *
+static char *
 pnumber(struct part_desc *p, struct disk_desc *z) {
     static char buf[20];
     int this, next;
@@ -1062,7 +1084,7 @@ pnumber(struct part_desc *p, struct disk_desc *z) {
     return buf;
 }
 
-int
+static int
 partitions_ok(struct disk_desc *z) {
     struct part_desc *partitions = &(z->partitions[0]), *p, *q;
     int partno = z->partno;
@@ -1258,6 +1280,20 @@ extended_partition(char *dev, int fd, struct part_desc *ep, struct disk_desc *z)
 
     here = start = ep->start;
 
+    if (B.cylindersize && start % B.cylindersize) {
+       /* This is BAD */
+       if (DOS_extended) {
+           here = start -= (start % B.cylindersize);
+           printf(_("Warning: shifted start of the extd partition from %ld to %ld\n"),
+                  ep->start, start);
+           printf(_("(For listing purposes only. Do not change its contents.)\n"));
+       } else {
+           printf(_("Warning: extended partition does not start at a "
+                    "cylinder boundary.\n"));
+           printf(_("DOS and Linux will interpret the contents differently.\n"));
+       }
+    }
+
     while (moretodo) {
        moretodo = 0;
 
@@ -1365,6 +1401,22 @@ bsd_partition(char *dev, int fd, struct part_desc *ep, struct disk_desc *z) {
        z->partno = pno;
 }
 
+#define MAKE_VERSION(p,q,r)     (65536*(p) + 256*(q) + (r))
+
+static int
+linux_version_code(void) {
+        struct utsname my_utsname;
+        int p, q, r;
+
+        if (uname(&my_utsname) == 0) {
+                p = atoi(strtok(my_utsname.release, "."));
+                q = atoi(strtok(NULL, "."));
+                r = atoi(strtok(NULL, "."));
+                return MAKE_VERSION(p,q,r);
+        }
+        return 0;
+}
+
 static int
 msdos_partition(char *dev, int fd, unsigned long start, struct disk_desc *z) {
     int i;
@@ -1373,6 +1425,7 @@ msdos_partition(char *dev, int fd, unsigned long start, struct disk_desc *z) {
     struct sector *s;
     struct part_desc *partitions = &(z->partitions[0]);
     int pno = z->partno;
+    int bsd_later = (linux_version_code() >= MAKE_VERSION(2,3,40));
 
     if (!(s = get_sector(dev, fd, start)))
        return 0;
@@ -1421,7 +1474,7 @@ msdos_partition(char *dev, int fd, unsigned long start, struct disk_desc *z) {
            }
            extended_partition(dev, fd, &partitions[i], z);
        }
-       if (is_bsd(partitions[i].p.sys_type)) {
+       if (!bsd_later && is_bsd(partitions[i].p.sys_type)) {
            if (!partitions[i].size) {
                printf(_("strange..., a BSD partition of size 0?\n"));
                continue;
@@ -1429,6 +1482,19 @@ msdos_partition(char *dev, int fd, unsigned long start, struct disk_desc *z) {
            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) {
+                   printf(_("strange..., a BSD partition of size 0?\n"));
+                   continue;
+               }
+               bsd_partition(dev, fd, &partitions[i], z);
+           }
+       }
+    }
+           
     return 1;
 }
 
@@ -1447,7 +1513,7 @@ amiga_partition(char *dev, int fd, unsigned long start, struct disk_desc *z) {
        return 0;
 }
 
-void
+static void
 get_partitions(char *dev, int fd, struct disk_desc *z) {
     z->partno = 0;
 
@@ -1460,7 +1526,7 @@ get_partitions(char *dev, int fd, struct disk_desc *z) {
     }
 }
 
-int
+static int
 write_partitions(char *dev, int fd, struct disk_desc *z) {
     struct sector *s;
     struct part_desc *partitions = &(z->partitions[0]), *p;
@@ -1543,7 +1609,7 @@ struct dumpfld {
 #define RD_EOF (-1)
 #define RD_CMD (-2)
 
-int
+static int
 read_stdin(unsigned char **fields, unsigned char *line, int fieldssize, int linesize) {
     unsigned char *lp, *ip;
     int c, fno;
@@ -1635,7 +1701,7 @@ read_stdin(unsigned char **fields, unsigned char *line, int fieldssize, int line
 }
 
 /* read a number, use default if absent */
-int
+static int
 get_ul(char *u, unsigned long *up, unsigned long def, int base) {
     char *nu;
 
@@ -1672,7 +1738,7 @@ int all_logicals_inside_outermost_extended = 1;
 enum { NESTED, CHAINED, ONESECTOR } boxes = NESTED;
 
 /* find the default value for <start> - assuming entire units */
-unsigned long
+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;
@@ -1716,7 +1782,7 @@ first_free(int pno, int is_extended, struct part_desc *ep, int format,
 }
 
 /* find the default value for <size> - assuming entire units */
-unsigned long
+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;
@@ -1745,7 +1811,7 @@ max_length(int pno, int is_extended, struct part_desc *ep, int format,
 
 /* compute starting sector of a partition inside an extended one */
 /* ep is 0 or points to surrounding extended partition */
-int
+static int
 compute_start_sect(struct part_desc *p, struct part_desc *ep) {
     unsigned long base;
     int inc = (DOS && B.sectors) ? B.sectors : 1;
@@ -1785,7 +1851,7 @@ compute_start_sect(struct part_desc *p, struct part_desc *ep) {
 }    
 
 /* build the extended partition surrounding a given logical partition */
-int
+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;
@@ -1819,7 +1885,7 @@ build_surrounding_extended(struct part_desc *p, struct part_desc *ep,
     return 1;
 }
 
-int
+static int
 read_line(int pno, struct part_desc *ep, char *dev, int interactive,
          struct disk_desc *z) {
     unsigned char line[1000];
@@ -1837,7 +1903,7 @@ read_line(int pno, struct part_desc *ep, char *dev, int interactive,
     if (interactive) {
        if (pct == 0 && (show_extended || pno == 0))
          warn("\n");
-       warn("%8s%d: ", dev, lpno);
+       warn("%s:", partname(dev, lpno, 10));
     }
 
     /* read input line - skip blank lines when reading from a file */
@@ -1932,7 +1998,8 @@ read_line(int pno, struct part_desc *ep, char *dev, int interactive,
        p.size -= (p.size % unitsize(format));
     }
     if (p.size > ml1) {
-       warn(_("Warning: exceeds max allowable size (%lu)\n"), ml1 / unitsize(0));
+       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;
     }
@@ -2022,7 +2089,7 @@ read_line(int pno, struct part_desc *ep, char *dev, int interactive,
 
 /* ep either points to the extended partition to contain this one,
    or to the empty partition that may become extended or is 0 */
-int
+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]);
@@ -2050,7 +2117,7 @@ read_partition(char *dev, int interactive, int pno, struct part_desc *ep,
     return 1;
 }
 
-void
+static void
 read_partition_chain(char *dev, int interactive, struct part_desc *ep,
                     struct disk_desc *z) {
     int i, base;
@@ -2082,7 +2149,7 @@ read_partition_chain(char *dev, int interactive, struct part_desc *ep,
     }
 }
 
-void
+static void
 read_input(char *dev, int interactive, struct disk_desc *z) {
     int i;
     struct part_desc *partitions = &(z->partitions[0]), *ep;
@@ -2191,6 +2258,7 @@ static const struct option long_opts[] = {
     { "sectors",    required_argument, NULL, 'S' },
     { "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' },
@@ -2219,7 +2287,7 @@ static struct devd {
     { "ed", "abcd" }
 };
 
-int
+static int
 is_ide_cdrom(char *device) {
     /* No device was given explicitly, and we are trying some
        likely things.  But opening /dev/hdc may produce errors like
@@ -2244,14 +2312,14 @@ is_ide_cdrom(char *device) {
     return 0;
 }
 
-void do_list(char *dev, int silent);
-void do_size(char *dev, int silent);
-void do_geom(char *dev, int silent);
-void do_fdisk(char *dev);
-void do_reread(char *dev);
-void do_change_id(char *dev, char *part, char *id);
-void do_unhide(char **av, int ac, char *arg);
-void do_activate(char **av, int ac, char *arg);
+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_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);
 
 int total_size;
 
@@ -2325,6 +2393,8 @@ main(int argc, char **argv) {
            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':
@@ -2463,7 +2533,7 @@ main(int argc, char **argv) {
  *  H. Listing the current situation
  */
 
-int
+static int
 my_open (char *dev, int rw, int silent) {
     int fd, mode;
 
@@ -2476,7 +2546,7 @@ my_open (char *dev, int rw, int silent) {
     return fd;
 }
 
-void
+static void
 do_list (char *dev, int silent) {
     int fd;
     struct disk_desc *z;
@@ -2502,25 +2572,23 @@ do_list (char *dev, int silent) {
     }
 }
 
-void
+static void
 do_geom (char *dev, int silent) {
     int fd;
-    struct hd_geometry g;
+    struct geometry R;
 
     fd = my_open(dev, 0, silent);
     if (fd < 0)
        return;
 
-    /* get_cylindersize(dev, fd, silent); */
-    if (!ioctl(fd, HDIO_GETGEO, &g))
-       printf(_("%s: %d cylinders, %d heads, %d sectors/track\n"),
-              dev, g.cylinders, g.heads, g.sectors);
-    else
-       printf(_("%s: unknown geometry\n"), dev);
+    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);
 }
 
 /* for compatibility with earlier fdisk: provide option -s */
-void
+static void
 do_size (char *dev, int silent) {
     int fd;
     long size;
@@ -2575,7 +2643,7 @@ do_size (char *dev, int silent) {
  * The present syntax was chosen to be (somewhat) compatible with the
  * activate from the LILO package.
  */
-void
+static void
 set_active (struct disk_desc *z, char *pnam) {
     int pno;
 
@@ -2583,7 +2651,7 @@ set_active (struct disk_desc *z, char *pnam) {
     z->partitions[pno].p.bootable = 0x80;
 }
 
-void
+static void
 do_activate (char **av, int ac, char *arg) {
     char *dev = av[0];
     int fd;
@@ -2605,7 +2673,7 @@ do_activate (char **av, int ac, char *arg) {
            if (z->partitions[pno].p.bootable) {
                lpno = index_to_linux(pno, z);
                if (pno == linux_to_index(lpno, z))
-                 printf("%s%d\n", dev, lpno);
+                 printf("%s\n", partname(dev, lpno, 0));
                else
                  printf("%s#%d\n", dev, pno);
                if (z->partitions[pno].p.bootable != 0x80)
@@ -2639,7 +2707,7 @@ do_activate (char **av, int ac, char *arg) {
           "but the DOS MBR will only boot a disk with 1 active partition.\n"), i);
 }
 
-void
+static void
 set_unhidden (struct disk_desc *z, char *pnam) {
     int pno;
     unsigned char id;
@@ -2656,7 +2724,7 @@ set_unhidden (struct disk_desc *z, char *pnam) {
 /*
  * maybe remove and make part of --change-id
  */
-void
+static void
 do_unhide (char **av, int ac, char *arg) {
     char *dev = av[0];
     int fd, rw, i;
@@ -2684,7 +2752,8 @@ do_unhide (char **av, int ac, char *arg) {
       exit_status = 1;
 }
 
-void do_change_id(char *dev, char *pnam, char *id) {
+static void
+do_change_id(char *dev, char *pnam, char *id) {
     int fd, rw, pno;
     struct disk_desc *z;
     unsigned long i;
@@ -2714,7 +2783,7 @@ void do_change_id(char *dev, char *pnam, char *id) {
       exit_status = 1;
 }
 
-void
+static void
 do_reread(char *dev) {
     int fd;
 
@@ -2727,7 +2796,7 @@ do_reread(char *dev) {
  *  I. Writing the new situation
  */
 
-void
+static void
 do_fdisk(char *dev){
     int fd;
     int c, answer;
@@ -2748,15 +2817,15 @@ do_fdisk(char *dev){
     if(!no_write && !no_reread) {
        warn(_("Checking that no-one is using this disk right now ...\n"));
        if(reread_ioctl(fd)) {
-           printf(_("\nThis disk is currently in use - repartitioning is probably a bad idea."
-                  "Umount all file systems, and swapoff all swap partitions on this disk."
+           printf(_("\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) {
                printf(_("Use the --force flag to overrule all checks.\n"));
                exit(1);
            }
        } else
-         warn(_("OK"));
+         warn(_("OK\n"));
     }
 
     z = &oldp;
index 36688b27aa15d69b7522093bbf9b6ade4b6f3e16..31206a4337f87fbffffc1efb2b3f57c8dc101242 100644 (file)
@@ -1018,10 +1018,7 @@ int      debug, i, j, linen, max, nchars, pc, term, trace, x, y;
 int    width = DWIDTH; /* -w option: scrunch letters to 80 columns */
 
 int
-main(argc, argv)
-       int argc;
-       char **argv;
-{ 
+main(int argc, char **argv) {
        int ch;
        extern char *__progname;
        __progname = argv[0];
index 0a9064f3fe6864bfd86d647468e87a0da61b9155..747757daf2a21734da6d25353f5923fdfad90f87 100644 (file)
@@ -95,7 +95,7 @@ static int valid_rates[] = { 300, 267, 240, 218, 200, 185, 171, 160, 150,
 static int valid_delays[] = { 250, 500, 750, 1000 };
 #define DELAY_COUNT (sizeof( valid_delays ) / sizeof( int ))
 
-int
+static int
 KDKBDREP_ioctl_ok(double rate, int delay, int silent) {
 #ifdef KDKBDREP
      /* This ioctl is defined in <linux/kd.h> but is not
@@ -145,7 +145,7 @@ KDKBDREP_ioctl_ok(double rate, int delay, int silent) {
 #endif /* KDKBDREP */
 }
 
-int
+static int
 KIOCSRATE_ioctl_ok(double rate, int delay, int silent) {
 #ifdef KIOCSRATE
    struct kbd_rate kbdrate_s;
index e277d1bad9084dd4b89c9380c480754bf48491b7..0960854ecbe19c941036689db252dcadf0b44444 100644 (file)
@@ -18,7 +18,8 @@ MAN1.PASSWD=    passwd.1
 
 MAN8.GETTY=    agetty.8
 
-MAN8.INIT=     fastboot.8 fasthalt.8 halt.8 reboot.8 simpleinit.8 shutdown.8
+MAN8.INIT=     fastboot.8 fasthalt.8 halt.8 reboot.8 simpleinit.8 shutdown.8 \
+               need.8
 
 MAN8.PUTILS=   vipw.8 vigr.8
 
@@ -27,7 +28,7 @@ MAN8.PUTILS=  vipw.8 vigr.8
 
 SBIN.GETTY=    agetty
 
-SBIN.INIT=     simpleinit shutdown
+SBIN.INIT=     simpleinit shutdown need
 
 BIN.PUTILS=    login
 
@@ -109,10 +110,15 @@ newgrp: newgrp.o
 setpwnam.o: $(LIB)/pathnames.h
 shutdown.o: $(LIB)/pathnames.h $(LIB)/linux_reboot.h
 shutdown: shutdown.o $(LIB)/my_reboot.o
-simpleinit.o: $(LIB)/pathnames.h $(LIB)/linux_reboot.h
+simpleinit.o: $(LIB)/pathnames.h $(LIB)/linux_reboot.h simpleinit.h
+need.o: simpleinit.h
+
 simpleinit: simpleinit.o $(LIB)/my_reboot.o
        $(CC) $(LDFLAGS) -o $@ $^ $(CRYPT)
 
+need: need.o
+       $(CC) $(LDFLAGS) -o $@ $^
+
 vipw.o: $(LIB)/pathnames.h
 vipw: vipw.o
 
@@ -177,6 +183,7 @@ install-init: $(SBIN.INIT)
        (cd $(SHUTDOWNDIR); ln -sf shutdown fastboot)
        (cd $(SHUTDOWNDIR); ln -sf shutdown halt)
        (cd $(SHUTDOWNDIR); ln -sf shutdown fasthalt)
+       (cd $(SHUTDOWNDIR); ln -sf need display-services)
 
 
 install-getty: $(SBIN.GETTY)
index 9360be0aecf803e9589dc3fef2f80c7bbd506514..6ae4e83358befead156100dd16e5ca76cdb70d17 100644 (file)
 #include <sys/types.h>
 #include <sys/stat.h>
 #include <fcntl.h>
-#include <varargs.h>
+#include <stdarg.h>
 #include <ctype.h>
 #include <utmp.h>
 #include <getopt.h>
-#include <memory.h>
+#include <time.h>
 #include <sys/file.h>
 #include "nls.h"
 
@@ -42,7 +42,6 @@
 
 #ifdef USE_SYSLOG
 #include <syslog.h>
-extern void closelog();
 #endif
 
  /*
@@ -216,12 +215,13 @@ static struct Speedtab speedtab[] = {
     { 0, 0 },
 };
 
-#define P_(s) ()
+#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 termio *tp, int local));
-void termio_init P_((struct termio *tp, int speed, int local));
+void termio_init P_((struct termio *tp, int speed, struct options *op));
 void auto_baud P_((struct termio *tp));
 void do_prompt P_((struct options *op, struct termio *tp));
 void next_speed P_((struct termio *tp, struct options *op));
@@ -230,7 +230,7 @@ void termio_final P_((struct options *op, struct termio *tp, struct chardata *cp
 int caps_lock P_((char *s));
 int bcode P_((char *s));
 void usage P_((void));
-void error P_((int va_alist));
+void error P_((const char *, ...));
 #undef P_
 
 /* The following is used for understandable diagnostics. */
@@ -499,7 +499,6 @@ parse_speeds(op, arg)
      struct options *op;
      char   *arg;
 {
-    char   *strtok();
     char   *cp;
 
        debug(_("entered parse_speeds\n"));
@@ -522,8 +521,6 @@ update_utmp(line)
     struct  utmp ut;
     time_t  t;
     int     mypid = getpid();
-    long    time();
-    long    lseek();
     struct  utmp *utp;
 
     /*
@@ -1178,13 +1175,9 @@ usage()
 
 #define        str2cpy(b,s1,s2)        strcat(strcpy(b,s1),s2)
 
-/* VARARGS */
 void
-error(va_alist)
-     va_dcl
-{
+error(const char *fmt, ...) {
     va_list ap;
-    char   *fmt;
 #ifndef        USE_SYSLOG
     int     fd;
 #endif
@@ -1214,15 +1207,14 @@ error(va_alist)
      * vsprintf() like interface.
      */
 
-    va_start(ap);
-    fmt = va_arg(ap, char *);
+    va_start(ap, fmt);
     while (*fmt) {
        if (strncmp(fmt, "%s", 2) == 0) {
            (void) strcpy(bp, va_arg(ap, char *));
            bp += strlen(bp);
            fmt += 2;
        } else if (strncmp(fmt, "%m", 2) == 0) {
-           (void) strcpy(bp, sys_errlist[errno]);
+           (void) strcpy(bp, strerror(errno));
            bp += strlen(bp);
            fmt += 2;
        } else {
index 93e801e0c43f44f5aa4624eaa333878c236a4025..73a9b8918633c590f93fc8055e2ec5603783419e 100644 (file)
@@ -86,16 +86,12 @@ extern int setpwnam P((struct passwd *pwd));
 /* we do not accept gecos field sizes longer than MAX_FIELD_SIZE */
 #define MAX_FIELD_SIZE         256
 
-int main (argc, argv)
-    int argc;
-    char *argv[];
-{
+int main (int argc, char **argv) {
     char *cp;
     uid_t uid;
     struct finfo oldf, newf;
     boolean interactive;
     int status;
-    extern int errno;
 #if REQUIRE_PASSWORD && USE_PAM
     pam_handle_t *pamh = NULL;
     int retcode;
@@ -316,13 +312,15 @@ 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 */
-       cp = pw->pw_gecos;
+       /* 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;
index d1d14d0fa5ce6c20a0d3b1565f6780a57478f087..f17b176fb2be7e08236fa754a0750201f25a1318 100644 (file)
@@ -88,7 +88,6 @@ int main (argc, argv)
     uid_t uid;
     struct sinfo info;
     struct passwd *pw;
-    extern int errno;
 #if REQUIRE_PASSWORD && USE_PAM
     pam_handle_t *pamh = NULL;
     int retcode;
index 399b4aee16c8ba2b895ab1aab8618b62d469bfe1..eaaf1a520464cc19ecc8d23047c6863738a64c5a 100644 (file)
@@ -30,7 +30,7 @@
    
                                    'Lastlog' feature.
    
-   - A lot of nitty gritty details has been adjusted in favour of
+   - 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'.
    
@@ -304,7 +304,7 @@ consoletty(int fd)
 int
 main(int argc, char **argv)
 {
-    extern int errno, optind;
+    extern int optind;
     extern char *optarg, **environ;
     struct group *gr;
     register int ch;
@@ -414,7 +414,7 @@ main(int argc, char **argv)
            *p++ = ' ';
     } else
       ask = 1;
-    
+
 #ifndef __linux__
     ioctlval = 0;
     ioctl(0, TIOCLSET, &ioctlval);
@@ -479,12 +479,12 @@ main(int argc, char **argv)
        opentty(ttyn);
        tcsetattr(0,TCSAFLUSH,&tt);
     }
-    
-    if ((tty = rindex(ttyn, '/')))
-      ++tty;
+
+    if (strncmp(ttyn, "/dev/", 5) == 0)
+       tty = ttyn+5;
     else
-      tty = ttyn;
-    
+       tty = ttyn;
+
     openlog("login", LOG_ODELAY, LOG_AUTHPRIV);
 
 #if 0
@@ -494,10 +494,11 @@ main(int argc, char **argv)
 #endif
 
 #ifdef USE_PAM
-    /* username is initialized to NULL
-       and if specified on the command line it is set.
-       Therefore, we are safe not setting it to anything
-    */
+    /*
+     * 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("login",username, &conv, &pamh);
     if(retcode != PAM_SUCCESS) {
@@ -513,14 +514,18 @@ main(int argc, char **argv)
     retcode = pam_set_item(pamh, PAM_TTY, tty);
     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). */
+    /*
+     * 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
+    /*
+     * other than iso-8859-1
      * one more time due to reset tty by PAM
      */
     printf("\033(K");
@@ -602,12 +607,12 @@ main(int argc, char **argv)
        ioctlval = 0;
        ioctl(0, TIOCSETD, &ioctlval);
 #  endif
-       
+
        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
@@ -672,7 +677,7 @@ main(int argc, char **argv)
                     pwd->pw_name, tty);
            continue;
        }
-       
+
        /*
         * If no pre-authentication and a password exists
         * for this user, prompt for one and verify it.
@@ -717,6 +722,7 @@ main(int argc, char **argv)
        }
 #  endif /* KERBEROS */
        memset(pp, 0, strlen(pp));
+
        if (pwd && !strcmp(p, pwd->pw_passwd))
          break;
        
@@ -852,7 +858,6 @@ main(int argc, char **argv)
     /* for linux, write entries in utmp and wtmp */
     {
        struct utmp ut;
-       int wtmp;
        struct utmp *utp;
        pid_t mypid = getpid();
        
@@ -924,15 +929,19 @@ Michael Riepe <michael@stud.uni-hannover.de>
 #if 0
        /* The O_APPEND open() flag should be enough to guarantee
           atomic writes at end of file. */
-       if((wtmp = open(_PATH_WTMP, O_APPEND|O_WRONLY)) >= 0) {
+       {
+           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;
+           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) {
diff --git a/login-utils/need.8 b/login-utils/need.8
new file mode 100644 (file)
index 0000000..cc3712d
--- /dev/null
@@ -0,0 +1,85 @@
+.\" 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.
+.\"
+.\"    need.8          Richard Gooch   28-FEB-2000
+.\"
+.TH NEED 8 "28 Feb 2000" "Util-Linux Package"
+.SH NAME
+need \- utility to tell simpleinit(8) to start a service
+.SH SYNOPSIS
+.nf
+\fBneed\fP [\fB-r\fP] [\fBservice\fP]
+.BR display-services
+.fi
+.SH DESCRIPTION
+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.
+
+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.
+
+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.
+
+The \fBneed\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 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).
+.SH SIGNALS
+\fBneed\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
+\fBneed\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 Util-Linux package is available from:
+ftp://ftp.??.kernel.org/pub/linux/utils/util-linux/
diff --git a/login-utils/need.c b/login-utils/need.c
new file mode 100644 (file)
index 0000000..97690c4
--- /dev/null
@@ -0,0 +1,160 @@
+/*  need.c
+
+    Source file for  need  (init(8) dependency 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 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
+
+    Last updated by Richard Gooch   28-FEB-2000
+
+
+*/
+#include <unistd.h>
+#include <stdio.h>
+#include <limits.h>
+#include <sys/types.h>
+#include <sys/stat.h>
+#include <fcntl.h>
+#include <signal.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)];
+    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 ();
+    if ( ( ptr = strrchr (argv[0], '/') ) == NULL ) ptr = argv[0];
+    else ++ptr;
+    if (strcmp (ptr, "display-services") == 0)
+    {
+       command->command = 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);
+       }
+    }
+    else
+    {
+       if ( (argc > 1) && (strcmp (argv[1], "-r") == 0) )
+       {
+           command->command = COMMAND_ROLLBACK;
+           --argc;
+           ++argv;
+       }
+       else command->command = COMMAND_NEED;
+       if (argc == 2) strcpy (command->name, argv[1]);
+       else
+       {
+           if (command->command == COMMAND_ROLLBACK) command->name[0] = '\0';
+           else
+           {
+               fprintf (stderr, "Usage:\tneed programme\n");
+               exit (1);
+           }
+       }
+    }
+    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 (caught_signal)
+       {
+         case SIG_PRESENT:
+           return 0;
+         case SIG_NOT_PRESENT:
+           return 2;
+         case SIG_FAILED:
+           return 1;
+       }
+       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  */
index 961579bdcc9223f275305581be1e71a50a39e7c2..492084a2b592f7e292a8b5b6f4c2151be7a68781 100644 (file)
@@ -2,7 +2,7 @@
 .\" May be distributed under the GNU General Public License
 .\"
 .\" 
-.TH SHUTDOWN 8 "24 July 1998" "Linux 2.0" "Linux Programmer's Manual"
+.TH SHUTDOWN 8 "2 March 2000" "Linux 2.0" "Linux Programmer's Manual"
 .SH NAME
 shutdown \- close down the system
 .SH SYNOPSIS
@@ -66,6 +66,12 @@ 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
index 7ccb748ac96843e3a7fe7500a8f0c72cc35205ab..e3ec93c1eceb146b4958b6ef420d3c312601bae1 100644 (file)
@@ -31,6 +31,8 @@
  * 1999-02-22 Arkadiusz Mi¶kiewicz <misiek@misiek.eu.org>
  * - added Native Language Support
  *
+ * 2000-03-02 Richard Gooch <rgooch@atnf.csiro.au>
+ * - pause forever if (pid == 1) and send SIGQUIT to pid = 1
  */
 
 #include <stdio.h>
@@ -75,7 +77,7 @@ char  halt_action[256];               /* to find out what to do upon halt */
 
 #define WR(s) write(fd, s, strlen(s))
 #define WRCRLF write(fd, "\r\n", 2)
-#define ERRSTRING sys_errlist[errno]
+#define ERRSTRING strerror(errno)
 
 
 void
@@ -115,7 +117,11 @@ main(int argc, char *argv[])
        int c,i;        
        int fd;
        char *ptr;
-       
+
+       if (getpid () == 1) {
+               for (i = 0; i < getdtablesize (); i++) close (i);
+               while (1) pause ();
+       }
         setlocale(LC_ALL, "");
         bindtextdomain(PACKAGE, LOCALEDIR);
         textdomain(PACKAGE);
@@ -361,6 +367,10 @@ main(int argc, char *argv[])
           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);
+
        sync();
        sleep(2);
 
index ad942d3b30b92fd96175609b25436c2723429081..2a2f666ed9b97ef799ea58829dc94361e9f97513 100644 (file)
@@ -5,7 +5,7 @@
 .SH NAME
 simpleinit \- process control initialization
 .SH SYNOPSIS
-.B "init [ single ]"
+.B "init [ single ] [ script ]"
 .SH DESCRIPTION
 .B init
 is invoked as the last step in the Linux boot sequence.  If the
@@ -35,43 +35,6 @@ file is executed, and the information in
 .I /etc/inittab
 will be used to start processes.
 
-While
-.B init
-is running, several signals are trapped, with special action taken.  Since
-.B init
-has PID 1, sending signals to the
-.B init
-process is easy with the
-.BR kill (1)
-command.
-
-If
-.B init
-catches a SIGHUP (hangup) signal, the
-.I /etc/inittab
-will be read again.
-
-If
-.B init
-catches a SIGTSTP (terminal stop) signal, no more processes will be
-spawned.  This is a toggle, which is reset is
-.B init
-catches another SIGTSTP signal.
-
-If
-.B init
-catches a SIGINT (interrupt) signal,
-.B init
-will sync a few times, and try to start
-.IR reboot .
-Failing this,
-.B init
-will execute the system
-.BR reboot (2)
-call.  Under Linux, it is possible to configure the Ctrl-Alt-Del sequence
-to send a signal to
-.B init
-instead of rebooting the system.
 .SH "THE INITTAB FILE"
 Because of the number of init programs which are appearing in the Linux
 community, the documentation for the
@@ -83,6 +46,12 @@ man page, is presented here:
 The format is
 
 .RS
+.B bootprog=file
+
+.B fileprefix=string
+
+.B PATH=search path
+
 .B "ttyline:termcap-entry:getty-command"
 .RE
 
@@ -90,6 +59,10 @@ An example is as follows:
 
 .nf
 .RS
+bootprog    = rc
+fileprefix  = /sbin/
+PATH        = /sbin:/bin
+
 tty1:linux:/sbin/getty 9600 tty1
 tty2:linux:/sbin/getty 9600 tty2
 tty3:linux:/sbin/getty 9600 tty3
@@ -106,6 +79,29 @@ character are treated as comments.  Please see documentation for the
 .B getty (8)
 command that you are using, since there are several of these in the Linux
 community at this time.
+.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
index 1e496ad59724a3ee789556b3122551f956e14301..1baf50cd76a4b8f6f8bff5114d2cb0e6facb788f 100644 (file)
@@ -8,8 +8,8 @@
 #include <sys/types.h>
 #include <stdlib.h>
 #include <unistd.h>
-#include <limits.h>
 #include <stdio.h>
+#include <ctype.h>
 #include <fcntl.h>
 #include <string.h>
 #include <signal.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 "pathnames.h"
 #include "linux_reboot.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 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 RUN_RC
 #define TZFILE "/etc/TZ"
 char tzone[CMDSIZ];
 /* #define DEBUGGING */
@@ -43,21 +52,42 @@ char tzone[CMDSIZ];
 #define ever (;;)
 
 struct initline {
-       pid_t   pid;
-       char    tty[10];
-       char    termcap[30];
-       char    *toks[NUMTOK];
-       char    line[CMDSIZ];
+       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 */
-
-int do_rc();
+static char boot_script[PATH_SIZE] = _PATH_RC;
+static char script_prefix[PATH_SIZE] = "\0";
+static int caught_sigint = 0;
+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 ();
+static int do_rc_tty (const char *path);
+static int process_path ( const char *path, int (*func) (const char *path) );
+static int preload_file (const char *path);
+static int run_file (const char *path);
 void spawn(), hup_handler(), read_inittab();
-void tstp_handler(), int_handler(), set_tz(), write_wtmp();
-int boot_single();
+void tstp_handler ();
+void int_handler ();
+static void sigchild_handler (int sig);
+static void sigquit_handler (int sig);
+void set_tz(), write_wtmp();
+static pid_t mywaitpid (pid_t pid, int *status, int *rc_status);
+static int run_command (const char *path, const char *name, pid_t pid);
+static void forget_those_not_present ();
+
 
 void err(char *s)
 {
@@ -82,7 +112,7 @@ enter_single()
        execl(_PATH_BSHELL, _PATH_BSHELL, NULL);
        err(_("exec of single user shell failed\n"));
     } else if(pid > 0) {
-       while(wait(&i) != pid) /* nothing */;
+       while (waitpid (pid, &i, 0) != pid)  /*  Nothing  */;
     } else if(pid < 0) {
        err(_("fork of single user shell failed\n"));
     }
@@ -91,43 +121,63 @@ enter_single()
 
 int main(int argc, char *argv[])
 {
-       int     vec,i;
-       pid_t   pid;
+       int                     vec,i;
+       int                     want_single = 0;
+       pid_t                   pid;
+       struct sigaction        sa;
+
 
 #ifdef SET_TZ
        set_tz();
 #endif
-       signal(SIGTSTP, tstp_handler);
-       signal(SIGINT, int_handler);
+       sigemptyset (&sa.sa_mask);
+       sa.sa_flags = 0;
+       signal (SIGTSTP, tstp_handler);
+       signal (SIGINT, int_handler);
+       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 {
+                       char path[PATH_SIZE];
+
+                       strcpy (path, script_prefix);
+                       strcat (path, argv[i]);
+                       if (access (path, R_OK | X_OK) == 0)
+                               strcpy (boot_script, path);
+               }
+       }
+
+       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") );
+       }
 
-       /* 
-        * start up in single user mode if /etc/singleboot exists or if
-        * argv[1] is "single".
-        */
-       if(boot_single(0, argc, argv)) enter_single();
+       if ( want_single || (access (_PATH_SINGLE, R_OK) == 0) ) do_single ();
 
-#ifdef RUN_RC
        /*If we get a SIGTSTP before multi-user mode, do nothing*/
        while(stopped)  
                pause();
-       if(do_rc() != 0 && boot_single(1, argc, argv) && !stopped)
-               enter_single();
+
+       if ( do_rc_tty (boot_script) ) do_single ();
+
        while(stopped)  /*Also if /etc/rc fails & we get SIGTSTP*/
                pause();
-#endif
 
        write_wtmp();   /* write boottime record */
-
-       for(i = 0; i < NUMCMD; i++)
-               inittab[i].pid = -1;
-
-       read_inittab();
-
 #ifdef DEBUGGING
        for(i = 0; i < numcmd; i++) {
                char **p;
@@ -140,13 +190,15 @@ int main(int argc, char *argv[])
 #endif
        signal(SIGHUP, hup_handler);
 
-       for(i = 0; i < getdtablesize(); i++) close(i);
+       for (i = 0; i < getdtablesize (); i++)
+               if (i != initctl_fd) close (i);
 
        for(i = 0; i < numcmd; i++)
                spawn(i);
        
        for ever {
-               pid = wait(&vec);
+               pid = mywaitpid (-1, &vec, NULL);
+               if (pid == 0) continue;
 
                /* clear utmp entry, and append to wtmp if possible */
                {
@@ -194,80 +246,170 @@ int main(int argc, char *argv[])
 #define MAXTRIES 3 /* number of tries allowed when giving the password */
 
 /*
- * return true if we should boot up in singleuser mode. If argv[i] is 
- * "single" or the file /etc/singleboot exists, then singleuser mode should
- * be entered. If /etc/securesingle exists ask for root password first.
+ * return true if singleuser mode is allowed.
+ * If /etc/securesingle exists ask for root password, otherwise always OK.
  */
-int boot_single(int singlearg, int argc, char *argv[])
+static int check_single_ok ()
 {
-       char *pass, *rootpass = NULL;
-       struct passwd *pwd;
-       int i;
+    char *pass, *rootpass = NULL;
+    struct passwd *pwd;
+    int i;
 
-       for(i = 1; i < argc; i++) {
-           if(argv[i] && !strcmp(argv[i], "single")) singlearg = 1;
-       }
+    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 */
 
-       if(access(_PATH_SINGLE, 04) == 0 || singlearg) {
-               if(access(_PATH_SECURE, 04) == 0) {
-                       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;
-                               }
+    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"));
-                       }
-               } else return 1;
-       }
-       return 0;
+       puts (_ ("\nWrong password.\n") );
+    }
+    return 0;
 }
 
+static void do_single ()
+{
+    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 /etc/rc. The environment is passed to the script, so the RC environment
- * variable can be used to decide what to do. RC may be set from LILO.
+ * 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.
  */
-int do_rc()
+static int do_rc_tty (const char *path)
 {
-       pid_t pid;
-       int stat;
-       
-       if((pid = fork()) == 0) {
-               /* the child */
-               char *argv[2];
-
-               argv[0] = _PATH_BSHELL;
-               argv[1] = (char *)0;
-
-               close(0);
-               if(open(_PATH_RC, O_RDONLY, 0) == 0) {
-                       execv(_PATH_BSHELL, argv);
-                       err(_("exec rc failed\n"));
-                       _exit(2);
-               }
-               err(_("open of rc file failed\n"));
-               _exit(1);
-       } else if(pid > 0) {
-               /* parent, wait till rc process dies before spawning */
-               while(wait(&stat) != pid) /* nothing */;
-       } else if(pid < 0) {
-               err(_("fork of rc shell failed\n"));
-       }
-       return WEXITSTATUS(stat);
-}
+    int status, rc_status = 0;
+    pid_t pid;
+    sigset_t ss;
+
+    if (caught_sigint) return 0;
+    process_path (path, preload_file);
+    /*  Launch off a subprocess to start a new session (required for frobbing
+       the TTY) and capture control-C  */
+    switch ( pid = 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 is controlled by this TTY now       */
+      case -1:  /*  Error  */
+       return (1);
+       /*break;*/
+      default:  /*  Parent  */
+       break;
+    }
+    /*  Parent  */
+    process_path (path, run_file);
+    while (rc_status == 0)
+       if (mywaitpid (-1, &status, &rc_status) == pid)
+           return (WTERMSIG (status) == SIGINT) ? 0 : 1;
+    forget_those_not_present ();
+    kill (pid, SIGKILL);
+    while (waitpid (pid, NULL, 0) != pid)  /*  Nothing  */;
+    return (rc_status < 0) ? 1 : 0;
+}   /*  End Function do_rc_tty  */
+
+static int process_path ( const char *path, int (*func) (const char *path) )
+{
+    struct stat statbuf;
+    DIR *dp;
+    struct dirent *de;
+
+    if (stat (path, &statbuf) != 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 = sprintf (newpath, "%s/%s", path, de->d_name);
+       if (newpath[retval - 1] == '~') continue;  /*  Common mistake  */
+       if ( ( retval = process_path (newpath, func) ) ) 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, 1023, 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 preload_file  */
 
 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;
+       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;
+               sprintf (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"));
@@ -276,6 +418,7 @@ void spawn(int i)
        if(pid) {
                /* this is the parent */
                inittab[i].pid = pid;
+               inittab[i].last_start = ct;
                return;
        } else {
                /* this is the child */
@@ -310,7 +453,9 @@ void read_inittab()
        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;
@@ -322,21 +467,43 @@ void read_inittab()
                        
        if(!(f = fopen(_PATH_INITTAB, "r"))) {
                err(_("cannot open inittab\n"));
-               _exit(1);
+               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] == '#') { 
+                       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;
+                       }
+               }
+                       
 
                (void) strcpy(inittab[i].line, buf);
 
@@ -373,6 +540,17 @@ void read_inittab()
        }
        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_script, path);
+       }
 }
 
 void hup_handler()
@@ -413,13 +591,9 @@ void tstp_handler()
 
 void int_handler()
 {
-       /*
-        * After Linux 0.96b PL1, we get a SIGINT when
-        * the user presses Ctrl-Alt-Del...
-        */
-
-       int pid;
+       pid_t pid;
        
+       caught_sigint = 1;
        sync();
        sync();
        pid = fork();
@@ -432,6 +606,17 @@ void int_handler()
        my_reboot(LINUX_REBOOT_CMD_RESTART);
 }
 
+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  */
+}
+
 void set_tz()
 {
        FILE *f;
@@ -466,3 +651,285 @@ void write_wtmp()
        close(lf);
     }
 }     
+
+
+struct waiter_struct
+{
+    struct waiter_struct *next;
+    pid_t pid;
+};
+
+struct script_struct
+{
+    pid_t pid;
+    struct script_struct *prev, *next;
+    struct waiter_struct *first_waiter;
+    char name[1];
+};
+
+struct list_head
+{
+    struct script_struct *first, *last;
+};
+
+
+static struct list_head available_list = {NULL, NULL};
+static struct list_head starting_list = {NULL, NULL};
+static struct list_head failed_list = {NULL, NULL};
+static struct list_head unavailable_list = {NULL, NULL};
+
+
+static void process_pidstat (pid_t pid, int status, int *rc_status);
+static struct script_struct *find_script (const char *name,
+                                         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_waiters (struct script_struct *script, int sig);
+
+
+static pid_t mywaitpid (pid_t pid, int *status, int *rc_status)
+{
+    int ival;
+    struct script_struct *script;
+    sigset_t ss_new, ss_old;
+    long buffer[COMMAND_SIZE / sizeof (long)];
+    struct command_struct *command = (struct command_struct *) buffer;
+
+    if (initctl_fd < 0) return waitpid (pid, status, 0);
+    if (status == NULL) status = &ival;
+    if ( ( pid = waitpid (pid, status, WNOHANG) ) > 0 )
+    {
+       process_pidstat (pid, *status, rc_status);
+       return pid;
+    }
+    /*  Some magic to avoid races  */
+    command->command = -1;
+    sigemptyset (&ss_new);
+    sigaddset (&ss_new, SIGCHLD);
+    sigprocmask (SIG_BLOCK, &ss_new, &ss_old);
+    ival = sigsetjmp (jmp_env, 0);
+    sigprocmask (SIG_SETMASK, &ss_old, NULL);
+    if (ival == 0) do_longjmp = 1;
+    else
+    {
+       do_longjmp = 0;
+       if (command->command < 0) return 0;
+    }
+    if (command->command < 0) read (initctl_fd, buffer, COMMAND_SIZE);
+    do_longjmp = 0;
+    switch (command->command)
+    {
+      case COMMAND_TEST:
+       kill (command->pid,
+             (find_script (command->name, &available_list) == NULL) ?
+             SIG_NOT_PRESENT : SIG_PRESENT);
+       break;
+      case COMMAND_NEED:
+       ival = run_command (command->name, command->name, command->pid);
+       if (ival != 0) kill (command->pid, ival);
+       break;
+      case COMMAND_ROLLBACK:
+       if (command->name[0] == '\0') script = NULL;
+       else
+       {
+           if ( ( script = find_script (command->name, &available_list) )
+                == NULL )
+           {
+               kill (command->pid, SIG_NOT_PRESENT);
+               break;
+           }
+       }
+       while (script != available_list.first)
+       {
+           struct script_struct *victim = available_list.first;
+
+           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 (victim->name, victim->name, "stop", NULL);
+               err ( _("error running programme\n") );
+               _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) )
+               {
+                   remove_entry (&available_list, victim);
+                   free (victim);
+               }
+               else break;
+           }
+       }
+       kill (command->pid,
+             (script ==available_list.first) ? SIG_STOPPED : SIG_NOT_STOPPED);
+       break;
+      case COMMAND_DUMP_LIST:
+       if (fork () == 0)
+       {
+           FILE *fp;
+
+           if ( ( fp = fopen (command->name, "w") ) == NULL ) _exit (1);
+           fputs ("AVAILABLE SERVICES:\n", fp);
+           for (script = available_list.first; script != NULL;
+                script = script->next) fprintf (fp, "%s\n", script->name);
+           fputs ("FAILED SERVICES:\n", fp);
+           for (script = failed_list.first; script != NULL;
+                script = script->next) fprintf (fp, "%s\n", script->name);
+           fclose (fp);
+           _exit (0);
+       }
+       break;
+      case -1:
+      default:
+       break;
+    }
+    return 0;
+}   /*  End Function mywaitpid  */
+
+static void process_pidstat (pid_t pid, int status, int *rc_status)
+{
+    struct script_struct *script;
+
+    if (initctl_fd < 0) return;
+    if (pid < 1) return;
+    for (script = starting_list.first; script != NULL; script = script->next)
+       if (script->pid == pid) break;
+    if (script == NULL) return;
+    remove_entry (&starting_list, script);
+    if ( WIFEXITED (status) && (WEXITSTATUS (status) == 0) )
+    {
+       signal_waiters (script, SIG_PRESENT);
+       insert_entry (&available_list, script);
+    }
+    else if ( WIFEXITED (status) && (WEXITSTATUS (status) == 2) )
+    {
+       signal_waiters (script, SIG_NOT_PRESENT);
+       insert_entry (&unavailable_list, script);
+    }
+    else
+    {
+       signal_waiters (script, SIG_FAILED);
+       insert_entry (&failed_list, script);
+    }
+    if ( (rc_status == NULL) || (starting_list.first != NULL) ) return;
+    *rc_status = (failed_list.first == NULL) ? 1 : -1;
+}   /*  End Function process_pidstat  */
+
+static int run_command (const char *path, const char *name, pid_t pid)
+{
+    struct script_struct *script;
+    struct waiter_struct *waiter = NULL;
+
+    if (find_script (name, &available_list) != NULL) return SIG_PRESENT;
+    if (find_script (name, &failed_list) != NULL) return SIG_FAILED;
+    if (find_script (name, &unavailable_list) != NULL) return SIG_NOT_PRESENT;
+    if (pid != 0)
+    {
+       waiter = calloc (1, sizeof *waiter);
+       if (waiter == NULL) return SIG_FAILED;
+       waiter->pid = pid;
+    }
+    script = find_script (name, &starting_list);
+    if (script == NULL)
+    {
+       int i;
+
+       script = calloc (1, strlen (name) + sizeof *script);
+       if (script == NULL)
+       {
+           if (waiter != NULL) free (waiter);
+           return SIG_FAILED;
+       }
+       strcpy (script->name, name);
+       switch ( script->pid = fork () )
+       {
+         case 0:   /*  Child   */
+           for (i = 1; i < NSIG; i++) signal (i, SIG_DFL);
+           execlp (path, script->name, "start", NULL);
+           err ( _("error running programme\n") );
+           _exit (SIG_FAILED);
+           break;
+         case -1:  /*  Error   */
+           free (script);
+           if (waiter != NULL) free (waiter);
+           return SIG_FAILED;
+           /*break;*/
+         default:  /*  Parent  */
+           insert_entry (&starting_list, script);
+           sched_yield ();
+           break;
+       }
+    }
+    if (waiter == NULL) return 0;
+    waiter->next = script->first_waiter;
+    script->first_waiter = waiter;
+    return 0;
+}   /*  End Function run_command  */
+
+static struct script_struct *find_script (const char *name,
+                                         struct list_head *head)
+{
+    struct script_struct *entry;
+
+    for (entry = head->first; entry != NULL; entry = entry->next)
+    {
+       if (strcmp (entry->name, name) == 0) return (entry);
+    }
+    return NULL;
+}   /*  End Function find_script  */
+
+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;
+}   /*  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;
+}   /*  End Function remove_entry  */
+
+static void signal_waiters (struct script_struct *script, int sig)
+{
+    struct waiter_struct *waiter, *next_waiter;
+
+    for (waiter = script->first_waiter; waiter != NULL; waiter = next_waiter)
+    {
+       kill (waiter->pid, sig);
+       next_waiter = waiter->next;
+       free (waiter);
+    }
+    script->first_waiter = NULL;
+}   /*  End Function signal_waiters  */
+
+static void forget_those_not_present ()
+{
+    struct script_struct *curr, *next;
+
+    for (curr = failed_list.first; curr != NULL; curr = next)
+    {
+       next = curr->next;
+       free (curr);
+    }
+    failed_list.first = NULL;
+    failed_list.last = NULL;
+    for (curr = unavailable_list.first; curr != NULL; curr = next)
+    {
+       next = curr->next;
+       free (curr);
+    }
+    unavailable_list.first = NULL;
+    unavailable_list.last = NULL;
+}   /*  End Function forget_those_not_present  */
diff --git a/login-utils/simpleinit.h b/login-utils/simpleinit.h
new file mode 100644 (file)
index 0000000..ff26480
--- /dev/null
@@ -0,0 +1,25 @@
+#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 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                       */
+
+struct command_struct  /*  Must always be COMMAND_SIZE  */
+{
+    signed int command;
+    pid_t pid;
+    char name[1];
+};
index fe35e1851fbb8d0676cd9842835bd552700c1443..bc0c1eff57a6149beb9765cbd1debcbd32107e04 100644 (file)
@@ -63,7 +63,7 @@
 #define        THURSDAY                4               /* for reformation */
 #define        SATURDAY                6               /* 1 Jan 1 was a Saturday */
 
-#define        FIRST_MISSING_DAY       639787          /* 3 Sep 1752 */
+#define        FIRST_MISSING_DAY       639799          /* 3 Sep 1752 */
 #define        NUMBER_MISSING_DAYS     11              /* 11 day correction */
 
 #define        MAXDAYS                 43              /* max slots in a month array */
@@ -141,10 +141,7 @@ void    headers_init(void);
 extern char *__progname;
 
 int
-main(argc, argv)
-       int argc;
-       char **argv;
-{
+main(int argc, char **argv) {
        struct tm *local_time;
        time_t now;
        int ch, month, year, yflag;
index f00a8fd07b9d025cccd691b0840626997b4cd0f6..304c31c60b85a5f0ec09a520579d267369c328d4 100644 (file)
@@ -29,6 +29,8 @@
    1999-02-22 Arkadiusz Mi¶kiewicz <misiek@misiek.eu.org>
    - added Native Language Support
 
+   2000-03-17 Burt Holzman <bnh@iname.com>
+   - added range checks for dates
 */
 #include "../defines.h"                /* for util-linux-version */
 
@@ -129,13 +131,21 @@ default_fmt
 
 #define DY(y) (y+1166)
 
-inline char *ending(int i) { return (i%10==1)?"st":(i%10==2?"nd":(i%10==3?"rd":"th"));};
-inline int leapp(int i) { return (!(DY(i)%4))&&((DY(i)%100)||(!(DY(i)%400)));};
+static inline char *ending(int i) {
+       return (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);
-/* select a random string */
-inline char *sel(char **strings, int num) {return(strings[random()%num]); }; 
 /* read a fortune file */
 int load_fortunes(char *fn, char *delim, char** result);
 
@@ -186,6 +196,10 @@ main (int argc, char *argv[])
            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:
@@ -201,6 +215,7 @@ main (int argc, char *argv[])
     }
     format(schwa, fnord, hastur);
     printf("%s\n", schwa);
+   
     return 0;
 }
 
@@ -282,6 +297,19 @@ struct disc_time makeday(int imonth,int iday,int iyear) /*i for input */
     
     int cal[12] = { 31,28,31,30,31,30,31,31,30,31,30,31 };
     int dayspast=0;
+
+    /* 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;
index 5372f5216841e996d99b950b14a74f498f14837c..ea4e4682d9fc85b9233458225b215b92b6a6c53b 100644 (file)
@@ -48,6 +48,7 @@
 #include <ctype.h>
 #include <unistd.h>
 #include <signal.h>
+#include "kill.h"
 #include "nls.h"
 
 #define SIZE(a)        (sizeof(a)/sizeof(a[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);
index 9d848a66061b7f3a7723a94ab9169b158e339b13..372fe1ecedc8be4271cfaee4dae9ca2b608c1a1b 100644 (file)
@@ -54,12 +54,10 @@ int decode __P((char *, CODE *));
 int    pencode __P((char *));
 void   usage __P((void));
 
-int
-myopenlog(sock)
-     const char *sock;
-{
+static int
+myopenlog(const char *sock) {
        int fd;
-       static struct sockaddr s_addr;      /* AF_UNIX address of local logger */
+       static struct sockaddr s_addr;     /* AF_UNIX address of local logger */
 
        s_addr.sa_family = AF_UNIX;
        (void)strncpy(s_addr.sa_data, sock, sizeof(s_addr.sa_data));
@@ -76,14 +74,8 @@ myopenlog(sock)
        return fd;
 }
 
-void
-mysyslog(fd, logflags, pri, tag, msg)
-     int fd;
-     int logflags;
-     int pri;
-     char *tag;
-     char *msg;
-{
+static void
+mysyslog(int fd, int logflags, int pri, char *tag, char *msg) {
        char buf[1000], pid[30], *cp, *tp;
        time_t now;
 
@@ -120,10 +112,7 @@ mysyslog(fd, logflags, pri, tag, msg)
  *     log.
  */
 int
-main(argc, argv)
-       int argc;
-       char *argv[];
-{
+main(int argc, char **argv) {
        int ch, logflags, pri;
        char *tag, buf[1024];
        char *usock = NULL;
index e264f686db8806a3ed9e230b8296eaf4f39aa39c..b211ed24e46b3d6a70916a78297371f9f11c2255 100644 (file)
@@ -1,7 +1,7 @@
 #ifndef MD5_H
 #define MD5_H
 
-#ifdef __alpha
+#if defined (__alpha__) || defined (__ia64__)
 typedef unsigned int uint32;
 #else
 typedef unsigned long uint32;
index 2541d03bc477d93fcedf694e1307b8805a6778cb..65faad4f3c264bbbcdca45dd8af1aaa1c0d09b2a 100644 (file)
@@ -47,17 +47,13 @@ chdir to /,  or if it encounters an unknown file type.
 #include <stdio.h>
 #include <unistd.h>
 #include <string.h>
+#include <errno.h>
 #include <sys/types.h>
 #include <sys/stat.h>
 #include <sys/param.h>
 #include "nls.h"
 
-#ifndef __GNU_LIBRARY__
-extern char *sys_errlist[];
-#endif
-
-extern int errno;
-#define ERR    sys_errlist[errno],errno
+#define ERR    strerror(errno),errno
 
 int symcount;
 int mflag = 0;
@@ -67,17 +63,14 @@ int xflag = 0;
 #define MAXSYMLINKS 256
 #endif
 
-static char *pperm();
+static char *pperm(unsigned short);
+static void namei(char *, int);
+static void usage(void);
 
 int
-main(argc, argv)
-int argc;
-char *argv[];
-{
-    void namei(), usage();
-    int getopt();
+main(int argc, char **argv) {
     extern int optind;
-    register int c;
+    int c;
     char curdir[MAXPATHLEN];
 
     setlocale(LC_ALL, "");
@@ -122,9 +115,8 @@ char *argv[];
     return 0;
 }
 
-void
-usage()
-{
+static void
+usage(void) {
     (void)fprintf(stderr,_("usage: namei [-mx] pathname [pathname ...]\n"));
     exit(1);
 }
@@ -133,16 +125,12 @@ usage()
 #define NODEV          (dev_t)(-1)
 #endif
 
-void
-namei(file, lev)
-
-register char *file;
-register int lev;
-{
-    register char *cp;
+static void
+namei(char *file, int lev) {
+    char *cp;
     char buf[BUFSIZ], sym[BUFSIZ];
     struct stat stb;
-    register int i;
+    int i;
     dev_t lastdev = NODEV;
 
     /*
@@ -305,9 +293,7 @@ register int lev;
  * For example 0755 produces "rwxr-xr-x"
  */
 static char *
-pperm(mode)
-unsigned short mode;
-{
+pperm(unsigned short mode) {
        unsigned short m;
        static char buf[16];
        char *bp;
index fd0e5add36547a8954319c601a893026de819005..715d9fb09937d77bd0b0f068c52d03e22d2d35a7 100644 (file)
 
 #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 <sys/types.h>
+#include <sys/stat.h>
+#include "kill.h"
 
 extern char *mybasename (char *);
 static char *parse_parens (char *buf);
 
-int *get_pids (char *process_name, int get_all)
-{
+int *
+get_pids (char *process_name, int get_all) {
     DIR *dir;
     struct dirent *ent;
     int status;
index af5ba44ccd455753c5f20844dc6037193e420b95..05f8f19b27e09a8fb6feb1ebc08a77bcfbe97ba9 100644 (file)
@@ -21,7 +21,7 @@ for i in $@; do N=`echo "$i" | sed "s/$FROM/$TO/g"`; mv "$i" "$N"; done
 
 static char *progname;
 
-int
+static int
 do_rename(char *from, char *to, char *s) {
        char *newname, *where, *p, *q;
        int flen, tlen, slen;
@@ -49,7 +49,7 @@ do_rename(char *from, char *to, char *s) {
        p = where+flen;
        while (*p)
                *q++ = *p++;
-       *p = 0;
+       *q = 0;
 
        if (rename(s, newname) != 0) {
                int errsv = errno;
index 283bc8fcba771983a56b9f3013e4aebcbace3c48..cb7ae1a9676b6c8ef91b72c554716991bb9987e7 100644 (file)
 /*
  * script
  */
+#include <stdio.h>
+#include <stdlib.h>
+#include <paths.h>
+#include <time.h>
 #include <sys/types.h>
 #include <sys/stat.h>
 #include <termios.h>
@@ -45,8 +49,6 @@
 #include <sys/time.h>
 #include <sys/file.h>
 #include <sys/signal.h>
-#include <stdio.h>
-#include <paths.h>
 #include "nls.h"
 
 #ifdef __linux__
@@ -59,6 +61,7 @@
 #include <pty.h>
 #endif
 
+void finish(int);
 void done(void);
 void fail(void);
 void fixtty(void);
@@ -86,14 +89,9 @@ char line[] = "/dev/ptyXX";
 int    aflg;
 
 int
-main(argc, argv)
-       int argc;
-       char *argv[];
-{
+main(int argc, char **argv) {
        extern int optind;
        int ch;
-       void finish();
-       char *getenv();
 
        setlocale(LC_ALL, "");
        bindtextdomain(PACKAGE, LOCALEDIR);
@@ -152,8 +150,7 @@ main(argc, argv)
 }
 
 void
-doinput()
-{
+doinput() {
        register int cc;
        char ibuf[BUFSIZ];
 
@@ -169,8 +166,7 @@ doinput()
 #include <sys/wait.h>
 
 void
-finish()
-{
+finish(int dummy) {
        union wait status;
        register int pid;
        register int die = 0;
@@ -184,11 +180,10 @@ finish()
 }
 
 void
-dooutput()
-{
+dooutput() {
        register int cc;
-       time_t tvec, time();
-       char obuf[BUFSIZ], *ctime();
+       time_t tvec;
+       char obuf[BUFSIZ];
 
        (void) close(0);
 #ifdef HAVE_openpty
@@ -207,8 +202,7 @@ dooutput()
 }
 
 void
-doshell()
-{
+doshell() {
        /***
        int t;
 
@@ -235,8 +229,7 @@ doshell()
 }
 
 void
-fixtty()
-{
+fixtty() {
        struct termios rtt;
 
        rtt = tt;
@@ -246,18 +239,15 @@ fixtty()
 }
 
 void
-fail()
-{
+fail() {
 
        (void) kill(0, SIGTERM);
        done();
 }
 
 void
-done()
-{
-       time_t tvec, time();
-       char *ctime();
+done() {
+       time_t tvec;
 
        if (subchild) {
                tvec = time((time_t *)NULL);
@@ -272,8 +262,7 @@ done()
 }
 
 void
-getmaster()
-{
+getmaster() {
 #ifdef HAVE_openpty
        (void) tcgetattr(0, &tt);
        (void) ioctl(0, TIOCGWINSZ, (char *)&win);
@@ -318,8 +307,7 @@ getmaster()
 }
 
 void
-getslave()
-{
+getslave() {
 #ifndef HAVE_openpty
        line[strlen("/dev/")] = 't';
        slave = open(line, O_RDWR);
index 0dbbdf42e575d85fc6343b63c56be31c0635fcd3..6fffa219ca350e922359fcc55faad1a975aa91af 100644 (file)
 .\" 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.
+.\" Most of this was copied from the source code.
+.\" Do not restrict distribution.
 .\" May be distributed under the GNU General Public License
-.TH SETTERM 1 "2 July 1996" "Util-Linux 2.6" "Linux Programmer's Manual"
+.\"
+.\" 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
 .nf
-.BR "setterm [ \-term " terminal_name " ]"
-.B  "setterm [ \-reset ]"
-.B  "setterm [ \-initialize ]"
-.B  "setterm [ \-cursor [on|off] ]"
-.B  "setterm [ \-repeat [on|off] ]"
-.B  "setterm [ \-appcursorkeys [on|off] ]"
-.B  "setterm [ \-linewrap [on|off] ]"
-.B  "setterm [ \-snow [on|off] ]"
-.B  "setterm [ \-softscroll [on|off] ]"
-.B  "setterm [ \-defaults ]"
-.B  "setterm [ \-foreground black|red|green|yellow|blue|magenta|cyan|white|default ]"
-.B  "setterm [ \-background black|red|green|yellow|blue|magenta|cyan|white|default ]"
-.B  "setterm [ \-ulcolor black|grey|red|green|yellow|blue|magenta|cyan|white ]"
-.B  "setterm [ \-ulcolor bright red|green|yellow|blue|magenta|cyan|white ]"
-.B  "setterm [ \-hbcolor black|grey|red|green|yellow|blue|magenta|cyan|white ]"
-.B  "setterm [ \-hbcolor bright red|green|yellow|blue|magenta|cyan|white ]"
-.B  "setterm [ \-inversescreen [on|off] ]"
-.B  "setterm [ \-bold [on|off] ]"
-.B  "setterm [ \-half-bright [on|off] ]"
-.B  "setterm [ \-blink [on|off] ]"
-.B  "setterm [ \-reverse [on|off] ]"
-.B  "setterm [ \-underline [on|off] ]"
-.B  "setterm [ \-store ]"
-.B  "setterm [ \-clear [ all|rest ] ]"
-.BR "setterm [ \-tabs [tab1 tab2 tab3 ... ] ]" " where (tabn = 1-160)"
-.BR "setterm [ \-clrtabs [ tab1 tab2 tab3 ... ]" " where (tabn = 1-160)"
-.BR "setterm [ \-regtabs [" " 1-160 " "] ]"
-.BR "setterm [ \-blank [" " 0-60 " "] ]"
-.BR "setterm [ \-powersave [ on|vsync|hsync|powerdown|off ] ]"
-.BR "setterm [ \-powerdown [" " 0-60 " "] ]"
-.BR "setterm [ \-dump [" " 1-NR_CONS " "] ]"
-.BR "setterm [ \-append [" " 1-NR_CONS " "] ]"
-.BR "setterm [ \-file" " dumpfilename " ]
-.BR "setterm [ \-standout [" " attr " "] ]"
-.BR "setterm [ \-blength [" " 0-2000 " "] ]"
-.B  "setterm [ \-bfreq freqnumber ]"
+.BR "setterm " [ options ]
 .fi
 .SH DESCRIPTION
 .B setterm
-writes to standard output a character string that will invoke the specified
-terminal capabilities.  Where possibile
+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 do not
-correspond to a
+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.
+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
-Most options are self explanatory.  The less obvious options are as
-follows:
+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
-.B \-term
-can be used to override the TERM environment variable.
+.BR \-term " terminal_name"
+Overrides the TERM environment variable.
 .TP
 .B \-reset
-displays the terminal reset string, which typically resets the terminal to
+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
+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.
+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 as the default values.
+.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 " [tab1 tab2 tab3 ...] (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 " [tab1 tab2 tab3 ...] (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 " [1-160] (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 " [0-60] (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,
+defaults to 0 (disable console blanking).
+.TP
+.BR \-dump " [1-NR_CONS]"
+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 " [1-NR_CONS]"
+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
+.BR \-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 " 1-8 (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 " [0-60]"
+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 " [0-2000]"
+Sets the bell duration in milliseconds.  Without an argument, defaults to 0.
 .TP
-.B \-store
-stores the terminal's current rendering options as the default values.
+.BR \-bfreq " [freqnumber]"
+Sets the bell frequency in Hz.  Without an argument, defaults to 0.
 .SH "SEE ALSO"
 .BR tput (1),
 .BR stty (1),
@@ -83,11 +194,3 @@ stores the terminal's current rendering options as the default values.
 .BR tty (4)
 .SH BUGS
 Differences between the Minix and Linux versions are not documented.
-.SH AUTHORS
-Gordon Irlam (gordoni@cs.ua.oz.au)
-.br
-Adaption to Linux by Peter MacDonald
-.br
-Enhancements by Mika Liljeberg (liljeber@cs.Helsinki.FI)
-.br
-Beep patch by Christophe Jolif (cjolif@storm.gatelink.fr.net)
index 36d3be190c706b7866505cd07187c8fc162294c9..92161d01caa068b25b5acbeb00c58a0754dd6934 100644 (file)
@@ -90,8 +90,8 @@
  *   -store stores the terminal's current rendering options as the default
  *      values.  */
 
-#include <stdlib.h>
 #include <stdio.h>
+#include <stdlib.h>
 #include <errno.h>
 #include <ctype.h>
 #include <unistd.h>
@@ -193,892 +193,921 @@ int opt_ps_mode, opt_pd_min;    /* powersave mode/powerdown time */
 
 char opt_sn_name[200] = "screen.dump";
 
-void screendump(int vcnum, FILE *F);
+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.
  */
 
-void parse_term(argc, argv, option, opt_term, bad_arg)
-int argc;                      /* Number of arguments for this option. */
-char *argv[];                  /* Arguments for this option. */
-int *option;                   /* Term flag to set. */
-char **opt_term;               /* Terminal name to set. */
-int *bad_arg;                  /* Set to true if an error is detected. */
-{
+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];
-  }
+       if (argc != 1 || *option)
+               *bad_arg = TRUE;
+       *option = TRUE;
+       if (argc == 1)
+               *opt_term = argv[0];
 }
 
-void parse_none(argc, argv, option, bad_arg)
-int argc;                      /* Number of arguments for this option. */
-char *argv[];                  /* Arguments for this option. */
-int *option;                   /* Option flag to set. */
-int *bad_arg;                  /* Set to true if an error is detected. */
-{
+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;
+       if (argc != 0 || *option)
+               *bad_arg = TRUE;
+       *option = TRUE;
 }
 
-void parse_switch(argc, argv, option, opt_on, bad_arg)
-int argc;                      /* Number of arguments for this option. */
-char *argv[];                  /* Arguments for this option. */
-int *option;                   /* Option flag to set. */
-int *opt_on;                   /* Boolean option switch to set or reset. */
-int *bad_arg;                  /* Set to true if an error is detected. */
-{
+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
+       if (argc > 1 || *option)
                *bad_arg = TRUE;
-  } else {
-       *opt_on = 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;
+       }
 }
 
-void par_color(argc, argv, option, opt_color, bad_arg)
-int argc;                      /* Number of arguments for this option. */
-char *argv[];                  /* Arguments for this option. */
-int *option;                   /* Color flag to set. */
-int *opt_color;                        /* Color to set. */
-int *bad_arg;                  /* Set to true if an error is detected. */
-{
+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 (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 > 7)
-      *bad_arg = TRUE;
-  }
+               if(*opt_color < 0 || *opt_color > 7)
+                       *bad_arg = TRUE;
+       }
 }
 
-void par_color2(argc, argv, option, opt_color, bad_arg)
-int argc;                      /* Number of arguments for this option. */
-char *argv[];                  /* Arguments for this option. */
-int *option;                   /* Color flag to set. */
-int *opt_color;                        /* Color to set. */
-int *bad_arg;                  /* Set to true if an error is detected. */
-{
+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 {
+       if (!argc || argc > 2 || *option)
                *bad_arg = TRUE;
-               return;
+       *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)
+       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;
-               else
-                       *opt_color = BLACK;
-       } else if (strcmp(argv[argc-1], "grey") == 0) {
-               if(*opt_color)
+               if(*opt_color < 0 || *opt_color > 15)
                        *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;
-  }
+       }
 }
 
-void parse_clear(argc, argv, option, opt_all, bad_arg)
-int argc;                      /* Number of arguments for this option. */
-char *argv[];                  /* Arguments for this option. */
-int *option;                   /* Clear flag to set. */
-int *opt_all;                  /* Clear all switch to set or reset. */
-int *bad_arg;                  /* Set to true if an error is detected. */
-{
+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
+       if (argc > 1 || *option)
                *bad_arg = TRUE;
-  } else {
-       *opt_all = 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;
+       }
 }
 
-void parse_blank(argc, argv, option, opt_all, bad_arg)
-int argc;                      /* Number of arguments for this option. */
-char *argv[];                  /* Arguments for this option. */
-int *option;                   /* Clear flag to set. */
-int *opt_all;                  /* Clear all switch to set or reset. */
-int *bad_arg;                  /* Set to true if an error is detected. */
-{
+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) {
-       *opt_all = atoi(argv[0]);
-       if ((*opt_all > 60) || (*opt_all < 0))
+       if (argc > 1 || *option)
                *bad_arg = TRUE;
-  } else {
-       *opt_all = 0;
-  }
+       *option = TRUE;
+       if (argc == 1) {
+               *opt_all = atoi(argv[0]);
+               if ((*opt_all > 60) || (*opt_all < 0))
+                       *bad_arg = TRUE;
+       } else {
+               *opt_all = 0;
+       }
 }
 
-void parse_powersave(argc, argv, option, opt_mode, bad_arg)
-int argc;                      /* Number of arguments for this option. */
-char *argv[];                  /* Arguments for this option. */
-int *option;                   /* powersave flag to set. */
-int *opt_mode;                 /* Powersaving mode, defined in vesa_blank.c */
-int *bad_arg;                  /* Set to true if an error is detected. */
-{
+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
+       if (argc > 1 || *option)
                *bad_arg = TRUE;
-  } else {
-       *opt_mode = 0;
-  }
+       *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
-void parse_standout(argc, argv, option, opt_all, bad_arg)
-int argc;                      /* Number of arguments for this option. */
-char *argv[];                  /* Arguments for this option. */
-int *option;                   /* Clear flag to set. */
-int *opt_all;                  /* Clear all switch to set or reset. */
-int *bad_arg;                  /* Set to true if an error is detected. */
-{
+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;
-  }
+       if (argc > 1 || *option)
+               *bad_arg = TRUE;
+       *option = TRUE;
+       if (argc == 1)
+               *opt_all = atoi(argv[0]);
+       else
+               *opt_all = -1;
 }
 #endif
 
-void parse_msglevel(argc, argv, option, opt_all, bad_arg)
-int argc;                      /* Number of arguments for this option. */
-char *argv[];                  /* Arguments for this option. */
-int *option;                   /* Clear flag to set. */
-int *opt_all;                  /* Clear all switch to set or reset. */
-int *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)
+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;
-  } else {
-       *opt_all = -1;
-  }
+       *option = TRUE;
+       if (argc == 1) {
+               *opt_all = atoi(argv[0]);
+               if (*opt_all < 0 || *opt_all > 8)
+                       *bad_arg = TRUE;
+       } else {
+               *opt_all = -1;
+       }
 }
 
-void parse_snap(argc, argv, option, opt_all, bad_arg)
-int argc;                      /* Number of arguments for this option. */
-char *argv[];                  /* Arguments for this option. */
-int *option;                   /* Clear flag to set. */
-int *opt_all;                  /* Clear all switch to set or reset. */
-int *bad_arg;                  /* Set to true if an error is detected. */
-{
+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))
+       if (argc > 1 || *option)
                *bad_arg = TRUE;
-  } else {
-       *opt_all = 0;
-  }
+       *option = TRUE;
+       if (argc == 1) {
+               *opt_all = atoi(argv[0]);
+               if ((*opt_all <= 0))
+                       *bad_arg = TRUE;
+       } else {
+               *opt_all = 0;
+       }
 }
 
-void parse_snapfile(argc, argv, option, opt_all, bad_arg)
-int argc;                      /* Number of arguments for this option. */
-char *argv[];                  /* Arguments for this option. */
-int *option;                   /* Clear flag to set. */
-int *opt_all;                  /* Clear all switch to set or reset. */
-int *bad_arg;                  /* Set to true if an error is detected. */
-{
+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]);
-  }
+       if (argc != 1 || *option)
+               *bad_arg = TRUE;
+       *option = TRUE;
+       if (argc == 1)
+               strcpy((char *)opt_all, argv[0]);
 }
 
-void parse_tabs(argc, argv, option, tab_array, bad_arg)
-int argc;                      /* Number of arguments for this option. */
-char *argv[];                  /* Arguments for this option. */
-int *option;                   /* Clear flag to set. */
-int *tab_array;                        /* Array of tabs */
-int *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_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;
+               }
+       }
 }
 
-void parse_clrtabs(argc, argv, option, tab_array, bad_arg)
-int argc;                      /* Number of arguments for this option. */
-char *argv[];                  /* Arguments for this option. */
-int *option;                   /* Clear flag to set. */
-int *tab_array;                        /* Array of tabs */
-int *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_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;
+               }
+       }
 }
 
-void parse_regtabs(argc, argv, option, opt_len, bad_arg)
-int argc;                      /* Number of arguments for this option. */
-char *argv[];                  /* Arguments for this option. */
-int *option;                   /* Clear flag to set. */
-int *opt_len;                  /* Regular tab length. */
-int *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_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;
+       }
 }
 
 
-void parse_blength(argc, argv, option, opt_all, bad_arg)
-int argc;                      /* Number of arguments for this option. */
-char *argv[];                  /* Arguments for this option. */
-int *option;                   /* Clear flag to set. */
-int *opt_all;                  
-int *bad_arg;                  /* Set to true if an error is detected. */
-{
+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)
+       if (argc > 1 || *option)
                *bad_arg = TRUE;
-  } else {
-       *opt_all = 0;
-  }
+       *option = TRUE;
+       if (argc == 1) {
+               *opt_all = atoi(argv[0]);
+               if (*opt_all > 2000)
+                       *bad_arg = TRUE;
+       } else {
+               *opt_all = 0;
+       }
 }
 
-void parse_bfreq(argc, argv, option, opt_all, bad_arg)
-int argc;                      /* Number of arguments for this option. */
-char *argv[];                  /* Arguments for this option. */
-int *option;                   /* Clear flag to set. */
-int *opt_all;                  
-int *bad_arg;                  /* Set to true if an error is detected. */
-{
+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;
-  }
+       if (argc > 1 || *option)
+               *bad_arg = TRUE;
+       *option = TRUE;
+       if (argc == 1) {
+               *opt_all = atoi(argv[0]);
+       } else {
+               *opt_all = 0;
+       }
 }
 
 
-void show_tabs()
-{
-  int i, co = tigetnum("cols");
-
-  if(co > 0) {
-    printf("\r         ");
-    for(i = 10; i < co-2; i+=10)
-      printf("%-10d", i);
-    putchar('\n');
-    for(i = 1; i <= co; i++)
-      putchar(i%10+'0');
-    putchar('\n');
-    for(i = 1; i < co; i++)
-      printf("\tT\b");
-    putchar('\n');
-  }
+static void
+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))
 
-void parse_option(option, argc, argv, bad_arg)
-char *option;                  /* Option with leading '-' removed. */
-int argc;                      /* Number of arguments for this option. */
-char *argv[];                  /* Arguments for this option. */
-int *bad_arg;                  /* Set to true if an error is detected. */
-{
+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 (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);
+       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);
+       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);
+       else if (STRCMP(option, "standout") == 0)
+               parse_standout(argc, argv, &opt_standout, &opt_st_attr, bad_arg);
 #endif
-  else
-       *bad_arg = TRUE;
+       else
+               *bad_arg = TRUE;
 }
 
 /* End of command line parsing routines. */
 
-void usage(prog_name)
-char *prog_name;               /* Name of this program. */
-{
+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"));
+       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"));
+       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"));
+       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"));
+       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] ]\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"));
+       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] ]\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"));
 }
 
-char *ti_entry(name)
-const char *name;              /* Terminfo capability string to lookup. */
-{
+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;
+       char *buf_ptr;
 
-  if ((buf_ptr = tigetstr(name)) == (char *)-1) buf_ptr = NULL;
-  return buf_ptr;
+       if ((buf_ptr = tigetstr(name)) == (char *)-1) buf_ptr = NULL;
+       return buf_ptr;
 }
 
-void perform_sequence(vcterm)
-int vcterm;                    /* Set if terminal is a virtual console. */
-{
-  int result;
+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"));
-  }
+       /* -reset. */
+       if (opt_reset) {
+               putp(ti_entry("rs1"));
+       }
 
-  /* -initialize. */
-  if (opt_initialize) {
-       putp(ti_entry("is2"));
-  }
+       /* -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"));
-  }
+       /* -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");
-  }
+       /* -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");
-  }
+       /* -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");
-  }
+       /* -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
+       /* -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);
+       }
 
-  /* -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");
+       /* -softscroll [on|off].  Vc only. */
+       if (opt_softscroll && vcterm) {
+               if (opt_so_on)
+                       printf("%s%s%s", DCS, _("softscroll.on"), ST);
                else
-                       printf("\033[?5l");
+                       printf("%s%s%s", DCS, _("softscroll.off"), ST);
        }
-  }
-
-  /* -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 {
+#endif
+
+       /* -default.  Vc sets default rendition, otherwise clears all
+        * attributes.
+        */
+       if (opt_default) {
                if (vcterm)
-                       printf("%s%s", ESC, "[22m");
+                       printf("\033[0m");
                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");
+
+       /* -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("sgr0"));
+                       putp(ti_entry("rmul"));
        }
-  }
-
-  /* -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");
+
+       /* -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("sgr0"));
+                       putp(ti_entry("ed"));
        }
-  }
-
-  /* -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");
+
+       /* -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
-                       putp(ti_entry("sgr0"));
+                       for(i=0; opt_tb_array[i] > 0; i++)
+                               printf("\033[%dG\033[g", opt_tb_array[i]);
+               putchar('\r');
        }
-  }
 
-  /* -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) 
-    printf("\033[9;%d]", opt_bl_min);
+       /* -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) 
+               printf("\033[9;%d]", opt_bl_min);
     
-  /* -powersave [on|vsync|hsync|powerdown|off] (console) */
-  if (opt_powersave) {
-        char ioctlarg[2];
-       ioctlarg[0] = 10;       /* powersave */
-       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);
-  }
+       /* -powersave [on|vsync|hsync|powerdown|off] (console) */
+       if (opt_powersave) {
+               char ioctlarg[2];
+               ioctlarg[0] = 10;       /* powersave */
+               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 */;
+       /* -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(result));
-  }
-
-  /* -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(result));
-   }
-
-  /* -blength [0-2000] */
-  if (opt_blength && vcterm) {
-       printf("\033[11;%d]", opt_blength_l);
-  }
+       /* -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(result));
+       }
+
+       /* -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(result));
+       }
+
+       /* -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);
-  }
+       /* -bfreq freqnumber */
+       if (opt_bfreq && vcterm) {
+               printf("\033[10;%d]", opt_bfreq_f);
+       }
 
 }
 
-extern char *malloc();
-
-void
-screendump(int vcnum, FILE *F){
+static void
+screendump(int vcnum, FILE *F) {
 #include <sys/param.h>
     char infile[MAXPATHLEN];
     unsigned char header[4];
@@ -1148,69 +1177,70 @@ try_ioctl:
     }
 }
 
-int main(int argc, char **argv)
-{
-  int bad_arg = FALSE;         /* Set if error in arguments. */
-  int arg, modifier;
-  char *term;                  /* Terminal type. */
-  int vcterm;                  /* Set if terminal is a virtual console. */
+int
+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);
+       setlocale(LC_ALL, "");
+       bindtextdomain(PACKAGE, LOCALEDIR);
+       textdomain(PACKAGE);
   
-  if (argc < 2) bad_arg = TRUE;
+       if (argc < 2)
+               bad_arg = TRUE;
 
-  /* Parse arguments. */
+       /* Parse arguments. */
 
-  for (arg = 1; arg < argc;) {
-       if (*argv[arg] == '-') {
+       for (arg = 1; arg < argc;) {
+               if (*argv[arg] == '-') {
 
-               /* Parse a single option. */
+                       /* Parse a single option. */
 
-               for (modifier = arg + 1; modifier < argc; modifier++) {
-                       if (*argv[modifier] == '-') break;
+                       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++;
                }
-               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. */
+       /* Display syntax message if error in arguments. */
 
-  if (bad_arg) {
-       usage(argv[0]);
-       exit(1);
-  }
+       if (bad_arg) {
+               usage(argv[0]);
+               exit(1);
+       }
 
-  /* Find out terminal name. */
+       /* 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);
+       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. */
+       /* Find terminfo entry. */
 
-  setupterm(term, 1, (int *)0);
+       setupterm(term, 1, (int *)0);
 
-  /* See if the terminal is a virtual console terminal. */
+       /* See if the terminal is a virtual console terminal. */
 
-  vcterm = (!strncmp(term, "con", 3) || !strncmp(term, "linux", 5));
+       vcterm = (!strncmp(term, "con", 3) || !strncmp(term, "linux", 5));
 
-  /* Perform the selected options. */
+       /* Perform the selected options. */
 
-  perform_sequence(vcterm);
+       perform_sequence(vcterm);
 
-  return 0;
+       return 0;
 }
index a1fab2a9ee42b53b41fb0cb945279359b674ffc5..b97b1a03bec82f4a830691d2339457f738b75c41 100644 (file)
@@ -86,24 +86,21 @@ typedef struct _buf {
        int b_bsize;
 } BUF;
 
-NODE *add_node(), *find_node();
-void add_arc(), no_memory(), remove_node(), tsort();
-char *grow_buf();
+NODE *add_node(char *), *find_node(char *);
+void add_arc(char *, char *), no_memory(void);
+void remove_node(NODE *), tsort(void);
+char *grow_buf(char *, int);
 int find_cycle(NODE *, NODE *, int, int);
 
-extern int errno;
 NODE *graph;
 NODE *hashtable[HASHSIZE];
 NODE **cycle_buf;
 NODE **longest_cycle;
 
 int
-main(argc, argv)
-       int argc;
-       char **argv;
-{
-       register BUF *b;
-       register int c, n;
+main(int argc, char **argv) {
+       BUF *b;
+       int c, n;
        FILE *fp;
        int bsize, nused;
        BUF bufs[2];
@@ -165,10 +162,7 @@ main(argc, argv)
 
 /* double the size of oldbuf and return a pointer to the new buffer. */
 char *
-grow_buf(bp, size)
-       char *bp;
-       int size;
-{
+grow_buf(char *bp, int size) {
        if (!(bp = realloc(bp, (u_int)size)))
                no_memory();
        return(bp);
@@ -179,10 +173,8 @@ grow_buf(bp, size)
  * the graph, then add them.
  */
 void
-add_arc(s1, s2)
-       char *s1, *s2;
-{
-       register NODE *n1;
+add_arc(char *s1, char *s2) {
+       NODE *n1;
        NODE *n2;
        int bsize;
 
@@ -213,11 +205,9 @@ add_arc(s1, s2)
        ++n2->n_refcnt;
 }
 
-int
-hash_string(s)
-       char *s;
-{
-       register int hash, i;
+static int
+hash_string(char *s) {
+       int hash, i;
 
        for (hash = 0, i = 1; *s; s++, i++)
                hash += *s * i;
@@ -229,10 +219,8 @@ hash_string(s)
  * found.
  */
 NODE *
-find_node(name)
-       char *name;
-{
-       register NODE *n;
+find_node(char *name) {
+       NODE *n;
 
        for (n = hashtable[hash_string(name)]; n; n = n->n_hash)
                if (!strcmp(n->n_name, name))
@@ -242,10 +230,8 @@ find_node(name)
 
 /* Add a node to the graph and return a pointer to it. */
 NODE *
-add_node(name)
-       char *name;
-{
-       register NODE *n;
+add_node(char *name) {
+       NODE *n;
        int hash;
 
        if (!(n = (NODE *)malloc(sizeof(NODE))) || !(n->n_name = strdup(name)))
@@ -272,10 +258,9 @@ add_node(name)
 
 /* do topological sort on graph */
 void
-tsort()
-{
-       register NODE *n, *next;
-       register int cnt;
+tsort(void) {
+       NODE *n, *next;
+       int cnt;
 
        while (graph) {
                /*
@@ -314,7 +299,7 @@ tsort()
                for (n = graph; n; n = n->n_next)
                        if (!(n->n_flags & NF_ACYCLIC)) {
                                if ((cnt = find_cycle(n, n, 0, 0)) != 0) {
-                                       register int i;
+                                       int i;
 
                                        (void)fprintf(stderr,
                                            _("tsort: cycle in data.\n"));
@@ -338,11 +323,9 @@ tsort()
 
 /* print node and remove from graph (does not actually free node) */
 void
-remove_node(n)
-       register NODE *n;
-{
-       register NODE **np;
-       register int i;
+remove_node(NODE *n) {
+       NODE **np;
+       int i;
 
        (void)printf("%s\n", n->n_name);
        for (np = n->n_arcs, i = n->n_narcs; --i >= 0; np++)
@@ -355,12 +338,9 @@ remove_node(n)
 
 /* look for the longest cycle from node from to node to. */
 int
-find_cycle(from, to, longest_len, depth)
-       NODE *from, *to;
-       int depth, longest_len;
-{
-       register NODE **np;
-       register int i, len;
+find_cycle(NODE *from, NODE *to, int longest_len, int depth) {
+       NODE **np;
+       int i, len;
 
        /*
         * avoid infinite loops and ignore portions of the graph known
@@ -390,8 +370,7 @@ find_cycle(from, to, longest_len, depth)
 }
 
 void
-no_memory()
-{
+no_memory(void) {
        (void)fprintf(stderr, "tsort: %s.\n", strerror(ENOMEM));
        exit(1);
 }
index cb07bc685cf23f1c6ea2cd1673cc741befa12280..bc505c54f005c534fac54961b6b26b63be93f351 100644 (file)
@@ -143,10 +143,7 @@ char       uflag;
  * look for source, documentation and binaries
  */
 int
-main(argc, argv)
-       int argc;
-       char *argv[];
-{
+main(int argc, char **argv) {
        setlocale(LC_ALL, "");
        bindtextdomain(PACKAGE, LOCALEDIR);
        textdomain(PACKAGE);
index cac26239e61f2d7de424ca3a6d3cac7c9855cf4d..1cf99c7f0003dd05e5be971d57a41a8124771060 100644 (file)
  *
  */
 
+#include <stdio.h>
 #include <unistd.h>
 #include <utmp.h>
+#include <errno.h>
 #include <ctype.h>
+#include <time.h>
 #include <pwd.h>
-#include <stdio.h>
 #include <string.h>
 #include <locale.h>
+#include <signal.h>
 #include <sys/param.h>
 #include <sys/signal.h>
 #include <sys/stat.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 *);
 
-extern int errno;
 
 int
-main(int argc, char **argv)
-{
+main(int argc, char **argv) {
        time_t atime;
        uid_t myuid;
        int msgsok, myttyfd;
-       char tty[MAXPATHLEN], *mytty, *ttyname();
-       void done();
+       char tty[MAXPATHLEN], *mytty;
 
        setlocale(LC_ALL, "");
        bindtextdomain(PACKAGE, LOCALEDIR);
@@ -146,7 +147,7 @@ main(int argc, char **argv)
                (void)fprintf(stderr, _("usage: write user [tty]\n"));
                exit(1);
        }
-       done();
+       done(0);
        /* NOTREACHED */
        return 0;
 }
@@ -287,14 +288,11 @@ int term_chk(char *tty, int *msgsokP, time_t *atimeP, int showerror)
 /*
  * do_write - actually make the connection
  */
-void do_write(char *tty, char *mytty, uid_t myuid)
-
-{
+void do_write(char *tty, char *mytty, uid_t myuid) {
        register char *login, *nows;
        register struct passwd *pwd;
-       time_t now, time();
-       char *getlogin(), path[MAXPATHLEN], host[MAXHOSTNAMELEN], line[512];
-       void done();
+       time_t now;
+       char path[MAXPATHLEN], host[MAXHOSTNAMELEN], line[512];
 
        /* Determine our login name before the we reopen() stdout */
        if ((login = getlogin()) == NULL) {
@@ -333,8 +331,8 @@ void do_write(char *tty, char *mytty, uid_t myuid)
 /*
  * done - cleanup and exit
  */
-void done(void)
-{
+static void
+done(int dummy) {
        (void)printf("EOF\r\n");
        exit(0);
 }
index 443e8f7834a854c570be2729e128ff962f043655..6f72413dbb9fe153a0419e4df331bb7db8030892 100644 (file)
@@ -14,14 +14,20 @@ LINK = $(CC) $(LDFLAGS)
 
 SUID_PROGS = mount umount
 NOSUID_PROGS = swapon losetup
-PROGS = $(SUID_PROGS) $(NOSUID_PROGS)
 MAN5 = fstab.5 nfs.5
 MAN8 = mount.8 swapoff.8 swapon.8 umount.8 losetup.8
 
+ifeq "$(HAVE_PIVOT_ROOT)" "yes"
+NOSUID_PROGS := $(NOSUID_PROGS) pivot_root
+MAN8 := $(MAN8) pivot_root.8
+endif
+
+PROGS = $(SUID_PROGS) $(NOSUID_PROGS)
+
 # comment these out if you are not compiling in NFS support
 NFS_OBJS = nfsmount.o nfsmount_xdr.o nfsmount_clnt.o
 # uncomment this if you don't have libc-4.2 but do have the rpclib
-GEN_FILES = nfsmount.x nfsmount.h nfsmount_xdr.c nfsmount_clnt.c
+GEN_FILES = nfsmount.h nfsmount_xdr.c nfsmount_clnt.c
 
 # comment these out if you are not compiling in loop support
 LO_OBJS=lomount.o
@@ -30,8 +36,8 @@ all: $(PROGS)
 
 install: $(PROGS)
        $(INSTALLDIR) $(BINDIR) $(SBINDIR)
-       $(INSTALLSUID) -s $(SUID_PROGS) $(BINDIR)
-       $(INSTALLBIN) -s $(NOSUID_PROGS) $(SBINDIR)
+       $(INSTALLSUID) $(SUID_PROGS) $(BINDIR)
+       $(INSTALLBIN) $(NOSUID_PROGS) $(SBINDIR)
        (cd $(SBINDIR); ln -sf swapon swapoff)
        $(INSTALLDIR) $(MAN5DIR) $(MAN8DIR)
        $(INSTALLMAN) $(MAN5) $(MAN5DIR)
@@ -52,6 +58,10 @@ umount: umount.o fstab.o sundries.o realpath.o mntent.o getusername.o \
 swapon:        swapon.o version.o
        $(LINK) $^ -o $@
 
+losetup.o: lomount.c
+       $(COMPILE) -DMAIN lomount.c
+       mv lomount.o losetup.o
+
 losetup: losetup.o
        $(LINK) $^ -o $@
 
@@ -85,28 +95,20 @@ nfsmount_clnt.o: nfsmount_clnt.c
 nfsmount_xdr.o: nfsmount_xdr.c
        $(COMPILE) $(RPC_CFLAGS) nfsmount_xdr.c
 
-# rpcgen generates files that do not compile - use the pregenerated ones
-# nfsmount.h nfsmount_xdr.c nfsmount_clnt.c: nfsmount.x
-#      rm -f nfsmount.h nfsmount_xdr.c nfsmount_clnt.c
-#      $(RPCGEN) -h -o nfsmount.h nfsmount.x
-#      $(RPCGEN) -c -o nfsmount_xdr.c nfsmount.x
-#      $(RPCGEN) -l -o nfsmount_clnt.c nfsmount.x
-
-nfsmount.x:
-       cp $(RPCSVCDIR)/nfsmount.x .
-
-nfsmount.o: nfs_mountversion.h nfs_mount3.h
-
-NFSMOUNTH=/usr/include/linux/nfs_mount.h
-
-nfs_mountversion.h:
-       rm -f nfs_mountversion.h
-       if [ -f $(NFSMOUNTH) ]; then \
-               grep NFS_MOUNT_VERSION $(NFSMOUNTH) \
-                       | sed -e 's/NFS/KERNEL_NFS/'; \
-       else \
-               echo '#define KERNEL_NFS_MOUNT_VERSION 0'; \
-       fi > nfs_mountversion.h
+ifeq "$(HAVE_GOOD_RPC)" "yes"
+nfsmount.h nfsmount_xdr.c nfsmount_clnt.c: nfsmount.x
+       rm -f nfsmount.h nfsmount_xdr.c nfsmount_clnt.c
+       $(RPCGEN) -h -o nfsmount.h nfsmount.x
+       $(RPCGEN) -c -o nfsmount_xdr.c nfsmount.x
+       $(RPCGEN) -l -o nfsmount_clnt.c nfsmount.x
+else
+nfsmount.h nfsmount_xdr.c nfsmount_clnt.c:
+       cp $(RPCSVCDIR)/nfsmount.h .
+       cp $(RPCSVCDIR)/nfsmount_xdr.c .
+       cp $(RPCSVCDIR)/nfsmount_clnt.c .
+endif
+
+nfsmount.o: nfs_mount4.h
 
 swapargs.h:
        sh swap.configure
@@ -119,4 +121,4 @@ clean:
        rm -f loop.h nfs_mountversion.h
 
 clobber distclean realclean: clean
-#      rm -f $(GEN_FILES)
+       rm -f $(GEN_FILES)
index d99078585e45d43e867c7c3c86c5fb0952e4a9ec..52157a14a8cb0f1697caf9ce08a80e3dd5edde58 100644 (file)
 #include <unistd.h>
 #include <sys/ioctl.h>
 #include <sys/stat.h>
+#include <sys/mman.h>
 
 #include "loop.h"
 #include "lomount.h"
 #include "nls.h"
 
-char *xstrdup (const char *s);         /* not: #include "sundries.h" */
-void error (const char *fmt, ...);     /* idem */
+extern int verbose;
+extern char *xstrdup (const char *s);  /* not: #include "sundries.h" */
+extern void error (const char *fmt, ...);      /* idem */
 
 #ifdef LOOP_SET_FD
 struct crypt_type_struct {
-  int id;
-  char *name;
+       int id;
+       char *name;
 } crypt_type_tbl[] = {
-  { LO_CRYPT_NONE, "no" },
-  { LO_CRYPT_NONE, "none" },
-  { LO_CRYPT_XOR, "xor" },
-  { LO_CRYPT_DES, "DES" },
-  { -1, NULL   }
+       { LO_CRYPT_NONE, "no" },
+       { LO_CRYPT_NONE, "none" },
+       { LO_CRYPT_XOR, "xor" },
+       { LO_CRYPT_DES, "DES" },
+       { -1, NULL   }
 };
 
 static int 
-crypt_type (const char *name)
-{
-  int i;
-
-  if (name)
-    for (i = 0; crypt_type_tbl[i].id != -1; i++)
-      if (!strcasecmp (name, crypt_type_tbl[i].name))
-       return crypt_type_tbl[i].id;
-  return -1;
+crypt_type (const char *name) {
+       int i;
+
+       if (name) {
+               for (i = 0; crypt_type_tbl[i].id != -1; i++)
+                       if (!strcasecmp (name, crypt_type_tbl[i].name))
+                               return crypt_type_tbl[i].id;
+       }
+       return -1;
 }
 
-#if 0
+#ifdef MAIN
 static char *
-crypt_name (int id)
-{
-  int i;
-
-  for (i = 0; crypt_type_tbl[i].id != -1; i++)
-    if (id == crypt_type_tbl[i].id)
-      return crypt_type_tbl[i].name;
-  return "undefined";
+crypt_name (int id) {
+       int i;
+
+       for (i = 0; crypt_type_tbl[i].id != -1; i++)
+               if (id == crypt_type_tbl[i].id)
+                       return crypt_type_tbl[i].name;
+       return "undefined";
 }
 
 static void 
-show_loop (char *device)
-{
-  struct loop_info loopinfo;
-  int 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;
-  }
-  if (ioctl (fd, LOOP_GET_STATUS, &loopinfo) < 0) {
-    int errsv = errno;
-    fprintf(stderr, _("loop: can't get info on device %s: %s\n"),
-           device, strerror (errsv));
-    close (fd);
-    return;
-  }
-  printf (_("%s: [%04x]:%ld (%s) offset %d, %s encryption\n"),
-         device, loopinfo.lo_device, loopinfo.lo_inode,
-         loopinfo.lo_name, loopinfo.lo_offset,
-         crypt_name (loopinfo.lo_encrypt_type));
-  close (fd);
+show_loop (char *device) {
+       struct loop_info loopinfo;
+       int 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;
+       }
+       if (ioctl (fd, LOOP_GET_STATUS, &loopinfo) < 0) {
+               int errsv = errno;
+               fprintf(stderr, _("loop: can't get info on device %s: %s\n"),
+                       device, strerror (errsv));
+               close (fd);
+               return;
+       }
+       printf (_("%s: [%04x]:%ld (%s) offset %d, %s encryption\n"),
+               device, loopinfo.lo_device, loopinfo.lo_inode,
+               loopinfo.lo_name, loopinfo.lo_offset,
+               crypt_name (loopinfo.lo_encrypt_type));
+       close (fd);
 }
 #endif
 
 char *
-find_unused_loop_device (void)
-{
-    /* Just creating a device, say in /tmp, is probably a bad idea -
-       people might have problems with backup or so.
-       So, we just try /dev/loop[0-7]. */
-    char dev[20];
-    int i, fd, somedev = 0, someloop = 0, loop_known = 0;
-    struct stat statbuf;
-    struct loop_info loopinfo;
-    FILE *procdev;
-
-    for(i = 0; i < 256; i++) {
-      sprintf(dev, "/dev/loop%d", i);
-      if (stat (dev, &statbuf) == 0 && S_ISBLK(statbuf.st_mode)) {
-       somedev++;
-       fd = open (dev, O_RDONLY);
-       if (fd >= 0) {
-         if(ioctl (fd, LOOP_GET_STATUS, &loopinfo) == 0)
-           someloop++;                 /* in use */
-         else if (errno == ENXIO) {
-           close (fd);
-           return xstrdup(dev);        /* probably free */
-         }
-         close (fd);
-        }
-       continue;               /* continue trying as long as devices exist */
-      }
-      if (i >= 7)
-       break;
-    }
-
-    /* Nothing found. Why not? */
-    if ((procdev = fopen(PROC_DEVICES, "r")) != NULL) {
-      char line[100];
-      while (fgets (line, sizeof(line), procdev))
-       if (strstr (line, " loop\n")) {
-         loop_known = 1;
-         break;
+find_unused_loop_device (void) {
+       /* Just creating a device, say in /tmp, is probably a bad idea -
+          people might have problems with backup or so.
+          So, we just try /dev/loop[0-7]. */
+       char dev[20];
+       int i, fd, somedev = 0, someloop = 0, loop_known = 0;
+       struct stat statbuf;
+       struct loop_info loopinfo;
+       FILE *procdev;
+
+       for(i = 0; i < 256; i++) {
+               sprintf(dev, "/dev/loop%d", i);
+               if (stat (dev, &statbuf) == 0 && S_ISBLK(statbuf.st_mode)) {
+                       somedev++;
+                       fd = open (dev, O_RDONLY);
+                       if (fd >= 0) {
+                               if(ioctl (fd, LOOP_GET_STATUS, &loopinfo) == 0)
+                                       someloop++;             /* in use */
+                               else if (errno == ENXIO) {
+                                       close (fd);
+                                       return xstrdup(dev);/* probably free */
+                               }
+                               close (fd);
+                       }
+                       continue;/* continue trying as long as devices exist */
+               }
+               if (i >= 7)
+                       break;
        }
-      fclose(procdev);
-      if (!loop_known)
-       loop_known = -1;
-    }
-
-    if (!somedev)
-      error(_("mount: could not find any device /dev/loop#"));
-    else if(!someloop) {
-      if (loop_known == 1)
-       error(_(
-"mount: Could not find any loop device.\n"
-"       Maybe /dev/loop# has a wrong major number?"));
-      else if (loop_known == -1)
-       error(_(
-"mount: Could not find any loop device, and, according to %s,\n"
-"       this kernel does not know about the loop device.\n"
-"       (If so, then recompile or `insmod loop.o'.)"), PROC_DEVICES);
-      else
-       error(_(
-"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?"));
-    } else
-      error(_("mount: could not find any free loop device"));
-    return 0;
+
+       /* Nothing found. Why not? */
+       if ((procdev = fopen(PROC_DEVICES, "r")) != NULL) {
+               char line[100];
+               while (fgets (line, sizeof(line), procdev))
+                       if (strstr (line, " loop\n")) {
+                               loop_known = 1;
+                               break;
+                       }
+               fclose(procdev);
+               if (!loop_known)
+                       loop_known = -1;
+       }
+
+       if (!somedev)
+               error(_("mount: could not find any device /dev/loop#"));
+       else if(!someloop) {
+           if (loop_known == 1)
+               error(_(
+                   "mount: Could not find any loop device.\n"
+                   "       Maybe /dev/loop# has a wrong major number?"));
+           else if (loop_known == -1)
+               error(_(
+                   "mount: Could not find any loop device, and, according to %s,\n"
+                   "       this kernel does not know about the loop device.\n"
+                   "       (If so, then recompile or `insmod loop.o'.)"),
+                     PROC_DEVICES);
+           else
+               error(_(
+                   "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?"));
+       } else
+               error(_("mount: could not find any free loop device"));
+       return 0;
 }
 
 int
 set_loop (const char *device, const char *file, int offset,
-         const char *encryption, int *loopro)
-{
-  struct loop_info loopinfo;
-  int fd, ffd, mode, i;
-  char *pass;
-
-  mode = (*loopro ? O_RDONLY : O_RDWR);
-  if ((ffd = open (file, mode)) < 0) {
-       if (!*loopro && errno == EROFS)
-           ffd = open (file, mode = O_RDONLY);
-       if (ffd < 0) {
-           perror (file);
-           return 1;
-       }
-  }
-  if ((fd = open (device, mode)) < 0) {
-    perror (device);
-    return 1;
-  }
-  *loopro = (mode == O_RDONLY);
-  memset (&loopinfo, 0, sizeof (loopinfo));
-  strncpy (loopinfo.lo_name, file, LO_NAME_SIZE);
-  loopinfo.lo_name[LO_NAME_SIZE - 1] = 0;
-  if (encryption && (loopinfo.lo_encrypt_type = crypt_type (encryption))
-      < 0) {
-    fprintf (stderr, _("Unsupported encryption type %s\n"), encryption);
-    return 1;
-  }
-  loopinfo.lo_offset = offset;
-  switch (loopinfo.lo_encrypt_type) {
-  case LO_CRYPT_NONE:
-    loopinfo.lo_encrypt_key_size = 0;
-    break;
-  case LO_CRYPT_XOR:
-    pass = getpass (_("Password: "));
-    strncpy (loopinfo.lo_encrypt_key, pass, LO_KEY_SIZE);
-    loopinfo.lo_encrypt_key[LO_KEY_SIZE - 1] = 0;
-    loopinfo.lo_encrypt_key_size = strlen (loopinfo.lo_encrypt_key);
-    break;
-  case LO_CRYPT_DES:
-    pass = getpass (_("Password: "));
-    strncpy (loopinfo.lo_encrypt_key, pass, 8);
-    loopinfo.lo_encrypt_key[8] = 0;
-    loopinfo.lo_encrypt_key_size = 8;
-    pass = getpass (_("Init (up to 16 hex digits): "));
-    for (i = 0; i < 16 && pass[i]; i++)
-      if (isxdigit (pass[i]))
-       loopinfo.lo_init[i >> 3] |= (pass[i] > '9' ?
-                                    (islower (pass[i]) ? toupper (pass[i]) :
-                       pass[i]) - 'A' + 10 : pass[i] - '0') << (i & 7) * 4;
-      else {
-       fprintf (stderr, _("Non-hex digit '%c'.\n"), pass[i]);
-       return 1;
-      }
-    break;
-  default:
-    fprintf (stderr,
-            _("Don't know how to get key for encryption system %d\n"),
-            loopinfo.lo_encrypt_type);
-    return 1;
-  }
-  if (ioctl (fd, LOOP_SET_FD, ffd) < 0) {
-    perror ("ioctl: LOOP_SET_FD");
-    return 1;
-  }
-  if (ioctl (fd, LOOP_SET_STATUS, &loopinfo) < 0) {
-    (void) ioctl (fd, LOOP_CLR_FD, 0);
-    perror ("ioctl: LOOP_SET_STATUS");
-    return 1;
-  }
-  close (fd);
-  close (ffd);
-  if (verbose > 1)
-    printf(_("set_loop(%s,%s,%d): success\n"), device, file, offset);
-  return 0;
+         const char *encryption, int *loopro) {
+       struct loop_info loopinfo;
+       int fd, ffd, mode, i;
+       char *pass;
+
+       mode = (*loopro ? O_RDONLY : O_RDWR);
+       if ((ffd = open (file, mode)) < 0) {
+               if (!*loopro && errno == EROFS)
+                       ffd = open (file, mode = O_RDONLY);
+               if (ffd < 0) {
+                       perror (file);
+                       return 1;
+               }
+       }
+       if ((fd = open (device, mode)) < 0) {
+               perror (device);
+               return 1;
+       }
+       *loopro = (mode == O_RDONLY);
+
+       memset (&loopinfo, 0, sizeof (loopinfo));
+       strncpy (loopinfo.lo_name, file, LO_NAME_SIZE);
+       loopinfo.lo_name[LO_NAME_SIZE - 1] = 0;
+       if (encryption && (loopinfo.lo_encrypt_type = crypt_type (encryption))
+           < 0) {
+               fprintf (stderr, _("Unsupported encryption type %s\n"),
+                        encryption);
+               return 1;
+       }
+       loopinfo.lo_offset = offset;
+
+#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(mlockall(MCL_CURRENT|MCL_FUTURE)) {
+               perror("memlock");
+               fprintf(stderr, _("Couldn't lock into memory, exiting.\n"));
+               exit(1);
+       }
+#endif
+
+       switch (loopinfo.lo_encrypt_type) {
+       case LO_CRYPT_NONE:
+               loopinfo.lo_encrypt_key_size = 0;
+               break;
+       case LO_CRYPT_XOR:
+               pass = getpass (_("Password: "));
+               strncpy (loopinfo.lo_encrypt_key, pass, LO_KEY_SIZE);
+               loopinfo.lo_encrypt_key[LO_KEY_SIZE - 1] = 0;
+               loopinfo.lo_encrypt_key_size = strlen(loopinfo.lo_encrypt_key);
+               break;
+       case LO_CRYPT_DES:
+               pass = getpass (_("Password: "));
+               strncpy (loopinfo.lo_encrypt_key, pass, 8);
+               loopinfo.lo_encrypt_key[8] = 0;
+               loopinfo.lo_encrypt_key_size = 8;
+               pass = getpass (_("Init (up to 16 hex digits): "));
+               for (i = 0; i < 16 && pass[i]; i++)
+                       if (isxdigit (pass[i])) {
+                               loopinfo.lo_init[i >> 3] |= (pass[i] > '9' ?
+                                 (islower (pass[i]) ? toupper (pass[i]) :
+                                  pass[i])-'A'+10 : pass[i]-'0') << (i&7) * 4;
+                       } else {
+                               fprintf (stderr, _("Non-hex digit '%c'.\n"),
+                                        pass[i]);
+                               return 1;
+                       }
+               break;
+       default:
+               fprintf (stderr,
+                        _("Don't know how to get key for encryption system %d\n"),
+                        loopinfo.lo_encrypt_type);
+               return 1;
+       }
+       if (ioctl (fd, LOOP_SET_FD, ffd) < 0) {
+               perror ("ioctl: LOOP_SET_FD");
+               return 1;
+       }
+       if (ioctl (fd, LOOP_SET_STATUS, &loopinfo) < 0) {
+               (void) ioctl (fd, LOOP_CLR_FD, 0);
+               perror ("ioctl: LOOP_SET_STATUS");
+               return 1;
+       }
+       close (fd);
+       close (ffd);
+       if (verbose > 1)
+               printf(_("set_loop(%s,%s,%d): success\n"),
+                      device, file, offset);
+       return 0;
 }
 
 int 
-del_loop (const char *device)
-{
-  int fd;
-
-  if ((fd = open (device, O_RDONLY)) < 0) {
-    int errsv = errno;
-    fprintf(stderr, _("loop: can't delete device %s: %s\n"),
-           device, strerror (errsv));
-    return 1;
-  }
-  if (ioctl (fd, LOOP_CLR_FD, 0) < 0) {
-    perror ("ioctl: LOOP_CLR_FD");
-    return 1;
-  }
-  close (fd);
-  if (verbose > 1)
-    printf(_("del_loop(%s): success\n"), device);
-  return 0;
+del_loop (const char *device) {
+       int fd;
+
+       if ((fd = open (device, O_RDONLY)) < 0) {
+               int errsv = errno;
+               fprintf(stderr, _("loop: can't delete device %s: %s\n"),
+                       device, strerror (errsv));
+               return 1;
+       }
+       if (ioctl (fd, LOOP_CLR_FD, 0) < 0) {
+               perror ("ioctl: LOOP_CLR_FD");
+               return 1;
+       }
+       close (fd);
+       if (verbose > 1)
+               printf(_("del_loop(%s): success\n"), device);
+       return 0;
 }
 
 #else /* no LOOP_SET_FD defined */
 static void
 mutter(void) {
-  fprintf(stderr,
-         _("This mount was compiled without loop support. Please recompile.\n"));
+       fprintf(stderr,
+               _("This mount was compiled without loop support. "
+                 "Please recompile.\n"));
 }  
 
 int
 set_loop (const char *device, const char *file, int offset,
          const char *encryption, int *loopro) {
-  mutter();
-  return 1;
+       mutter();
+       return 1;
 }
 
 int
 del_loop (const char *device) {
-  mutter();
-  return 1;
+       mutter();
+       return 1;
 }
 
 char *
 find_unused_loop_device (void) {
-  mutter();
-  return 0;
+       mutter();
+       return 0;
 }
 
 #endif
+
+#ifdef MAIN
+
+#ifdef LOOP_SET_FD
+
+#include <getopt.h>
+#include <stdarg.h>
+
+int verbose = 0;
+static char *progname;
+
+static void
+usage(void) {
+       fprintf(stderr, _("usage:\n\
+  %s loop_device                                      # give info\n\
+  %s -d loop_device                                   # delete\n\
+  %s [ -e encryption ] [ -o offset ] loop_device file # setup\n"),
+               progname, progname, progname);
+       exit(1);
+}
+
+char *
+xstrdup (const char *s) {
+       char *t;
+
+       if (s == NULL)
+               return NULL;
+
+       t = strdup (s);
+
+       if (t == NULL) {
+               fprintf(stderr, _("not enough memory"));
+               exit(1);
+       }
+
+       return t;
+}
+
+void
+error (const char *fmt, ...) {
+       va_list args;
+
+       va_start (args, fmt);
+       vfprintf (stderr, fmt, args);
+       va_end (args);
+       fprintf (stderr, "\n");
+}
+
+int
+main(int argc, char **argv) {
+       char *offset, *encryption;
+       int delete,off,c;
+       int res = 0;
+       int ro = 0;
+
+       setlocale(LC_ALL, "");
+       bindtextdomain(PACKAGE, LOCALEDIR);
+       textdomain(PACKAGE);
+
+       delete = off = 0;
+       offset = encryption = NULL;
+       progname = argv[0];
+       while ((c = getopt(argc,argv,"de:o:v")) != EOF) {
+               switch (c) {
+               case 'd':
+                       delete = 1;
+                       break;
+               case 'e':
+                       encryption = optarg;
+                       break;
+               case 'o':
+                       offset = optarg;
+                       break;
+               case 'v':
+                       verbose = 1;
+                       break;
+               default:
+                       usage();
+               }
+       }
+       if (argc == 1) usage();
+       if ((delete && (argc != optind+1 || encryption || offset)) ||
+           (!delete && (argc < optind+1 || argc > optind+2)))
+               usage();
+       if (argc == optind+1) {
+               if (delete)
+                       res = del_loop(argv[optind]);
+               else
+                       show_loop(argv[optind]);
+       } else {
+               if (offset && sscanf(offset,"%d",&off) != 1)
+                       usage();
+               res = set_loop(argv[optind],argv[optind+1],off,encryption,&ro);
+       }
+       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
+#endif
diff --git a/mount/losetup.c b/mount/losetup.c
deleted file mode 100644 (file)
index 9f20ee8..0000000
+++ /dev/null
@@ -1,237 +0,0 @@
-/*
- * losetup.c - setup and control loop devices
- */
-
-/* 1999-02-22 Arkadiusz Mi¶kiewicz <misiek@misiek.eu.org>
- * - added Native Language Support
- */
-
-#include <stdio.h>
-#include <string.h>
-#include <ctype.h>
-#include <fcntl.h>
-#include <unistd.h>
-#include <getopt.h>
-#include <errno.h>
-#include <sys/ioctl.h>
-
-#include "loop.h"
-#include "lomount.h"
-#include "nls.h"
-
-#ifdef LOOP_SET_FD
-
-static char *progname;
-
-struct crypt_type_struct {
-       int id;
-       char *name;
-} crypt_type_tbl[] = {
-       { LO_CRYPT_NONE,"no" },
-       { LO_CRYPT_NONE,"none" },
-       { LO_CRYPT_XOR, "xor" },
-       { LO_CRYPT_DES, "DES" },
-       { -1,           NULL }
-};
-
-
-static char *crypt_name(int id)
-{
-       int i;
-
-       for (i = 0; crypt_type_tbl[i].id != -1; i++)
-               if (id == crypt_type_tbl[i].id)
-                       return crypt_type_tbl[i].name;
-       return "undefined";
-}
-
-
-static int crypt_type(const char *name)
-{
-       int i;
-
-       for (i = 0; crypt_type_tbl[i].id != -1; i++)
-               if (!strcasecmp(name, crypt_type_tbl[i].name))
-                       return crypt_type_tbl[i].id;
-       return -1;
-}
-
-
-static void show_loop(const char *device)
-{
-       struct  loop_info       loopinfo;
-       int                     fd;
-
-       if ((fd = open(device, O_RDWR)) < 0) {
-               perror(device);
-               return;
-       }
-       if (ioctl(fd, LOOP_GET_STATUS, &loopinfo) < 0) {
-               perror(_("Cannot get loop info"));
-               close(fd);
-               return;
-       }
-       printf(_("%s: [%04x]:%ld (%s) offset %d, %s encryption\n"),
-              device, loopinfo.lo_device, loopinfo.lo_inode,
-              loopinfo.lo_name, loopinfo.lo_offset,
-              crypt_name(loopinfo.lo_encrypt_type));
-       close(fd);
-}
-
-
-int set_loop(const char *device, const char *file, int offset,
-             const char *encryption, int *loopro)
-{
-       struct loop_info loopinfo;
-       int     fd, ffd, mode, i;
-       char    *pass;
-
-       mode = *loopro ? O_RDONLY : O_RDWR;
-       if ((ffd = open (file, mode)) < 0 && !*loopro
-           && (errno != EROFS || (ffd = open (file, mode = O_RDONLY)) < 0)) {
-         perror (file);
-         return 1;
-       }
-       if ((fd = open (device, mode)) < 0) {
-         perror (device);
-         return 1;
-       }
-       *loopro = (mode == O_RDONLY);
-
-       memset(&loopinfo, 0, sizeof(loopinfo));
-       strncpy(loopinfo.lo_name, file, LO_NAME_SIZE);
-       loopinfo.lo_name[LO_NAME_SIZE-1] = 0;
-       if (encryption && (loopinfo.lo_encrypt_type = crypt_type(encryption))
-           < 0) {
-               fprintf(stderr,_("Unsupported encryption type %s\n"),
-                       encryption);
-               exit(1);
-       }
-       loopinfo.lo_offset = offset;
-       switch (loopinfo.lo_encrypt_type) {
-       case LO_CRYPT_NONE:
-               loopinfo.lo_encrypt_key_size = 0;
-               break;
-       case LO_CRYPT_XOR:
-               pass = getpass(_("Password: "));
-               strncpy(loopinfo.lo_encrypt_key, pass, LO_KEY_SIZE);
-               loopinfo.lo_encrypt_key[LO_KEY_SIZE-1] = 0;
-               loopinfo.lo_encrypt_key_size = strlen(loopinfo.lo_encrypt_key);
-               break;
-       case LO_CRYPT_DES:
-               pass = getpass(_("Password: "));
-               strncpy(loopinfo.lo_encrypt_key, pass, 8);
-               loopinfo.lo_encrypt_key[8] = 0;
-               loopinfo.lo_encrypt_key_size = 8;
-               pass = getpass(_("Init (up to 16 hex digits): "));
-               for (i = 0; i < 16 && pass[i]; i++)
-                       if (isxdigit(pass[i]))
-                               loopinfo.lo_init[i >> 3] |= (pass[i] > '9' ?
-                                   (islower(pass[i]) ? toupper(pass[i]) :
-                                   pass[i])-'A'+10 : pass[i]-'0') << (i & 7)*4;
-                       else {
-                               fprintf(stderr,_("Non-hex digit '%c'.\n"),
-                                       pass[i]);
-                               exit(1);
-                       }
-               break;
-       default:
-               fprintf(stderr,
-                       _("Don't know how to get key for encryption system %d\n"),
-                       loopinfo.lo_encrypt_type);
-               exit(1);
-       }
-       if (ioctl(fd, LOOP_SET_FD, ffd) < 0) {
-               perror("ioctl: LOOP_SET_FD");
-               exit(1);
-       }
-       if (ioctl(fd, LOOP_SET_STATUS, &loopinfo) < 0) {
-               (void) ioctl(fd, LOOP_CLR_FD, 0);
-               perror("ioctl: LOOP_SET_STATUS");
-               exit(1);
-       }
-       close(fd);
-       close(ffd);
-       return 0;
-}
-
-int del_loop(const char *device)
-{
-       int fd;
-
-       if ((fd = open(device, O_RDONLY)) < 0) {
-               perror(device);
-               exit(1);
-       }
-       if (ioctl(fd, LOOP_CLR_FD, 0) < 0) {
-               perror("ioctl: LOOP_CLR_FD");
-               exit(1);
-       }
-       return(0);
-}
-
-
-static int usage(void)
-{
-       fprintf(stderr, _("usage:\n\
-  %s loop_device                                      # give info\n\
-  %s -d loop_device                                   # delete\n\
-  %s [ -e encryption ] [ -o offset ] loop_device file # setup\n"),
-               progname, progname, progname);
-       exit(1);
-}
-
-int main(int argc, char **argv)
-{
-       char *offset,*encryption;
-       int delete,off,c;
-       int res = 0;
-       int ro = 0;
-
-       setlocale(LC_ALL, "");
-       bindtextdomain(PACKAGE, LOCALEDIR);
-       textdomain(PACKAGE);
-
-       delete = off = 0;
-       offset = encryption = NULL;
-       progname = argv[0];
-       while ((c = getopt(argc,argv,"de:o:")) != EOF) {
-               switch (c) {
-                       case 'd':
-                               delete = 1;
-                               break;
-                       case 'e':
-                               encryption = optarg;
-                               break;
-                       case 'o':
-                               offset = optarg;
-                               break;
-                       default:
-                               usage();
-               }
-       }
-       if (argc == 1) usage();
-       if ((delete && (argc != optind+1 || encryption || offset)) ||
-           (!delete && (argc < optind+1 || argc > optind+2)))
-               usage();
-       if (argc == optind+1) {
-               if (delete)
-                       del_loop(argv[optind]);
-               else
-                       show_loop(argv[optind]);
-       } else {
-               if (offset && sscanf(offset,"%d",&off) != 1)
-                       usage();
-               res = set_loop(argv[optind],argv[optind+1],off,encryption,&ro);
-       }
-       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
index 4aba358c23abfc0cfc046cdf1588e868cff29460..7016ee53513565e7d34451d6f09be251f8339b49 100644 (file)
@@ -40,7 +40,7 @@
 .SH NAME
 mount \- mount a file system
 .SH SYNOPSIS
-.BI "mount [\-hV]"
+.BI "mount [\-lhV]"
 .LP
 .BI "mount \-a [\-fFnrsvw] [\-t " vfstype ]
 .br
@@ -91,11 +91,12 @@ prints a help message;
 .RE
 prints a version string; and just
 .RS
-.BI "mount [-t" " type" ]
+.BI "mount [-l] [-t" " type" ]
 .RE
 lists all mounted file systems (of type
-.IR type )
-- see below.
+.IR type ).
+The option \-l adds the (ext2) labels in this listing.
+See below.
 
 The
 .I proc
@@ -270,6 +271,14 @@ flag to determine what the
 command is trying to do. It can also be used to add entries for devices
 that were mounted earlier with the -n option.
 .TP
+.B \-l
+Add the ext2 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
+using the
+.BR e2label (8)
+utility.
+.TP
 .B \-n
 Mount without writing in
 .IR /etc/mtab .
@@ -624,12 +633,15 @@ to the options given in
 Set checking level. When at least one of these options is set (and
 .B check=normal
 is set by default) the inodes and blocks bitmaps are checked upon mount
-(which can take half a minute or so on a big disk).
+(which can take half a minute or so on a big disk, and is rather useless).
 With strict checking, block deallocation checks that the block to free
 is in the data zone.
 .TP
 .BR check=none " / " nocheck
-No checking is done.
+No checking is done. This is fast. Recent kernels do not have a
+check option anymore - checking with
+.BR e2fsck (8)
+is more meaningful.
 .TP
 .B debug
 Print debugging info upon each (re)mount.
@@ -985,7 +997,10 @@ Especially useful options include
 .TP
 .B rsize=8192,wsize=8192
 This will make your nfs connection much faster than with the default
-buffer size of 1024.
+buffer size of 1024. (NFSv2 does not work with larger values of
+.B rsize
+and
+.BR wsize .)
 .TP
 .B hard
 The program accessing a file on a NFS mounted file system will hang
@@ -1251,6 +1266,7 @@ temporary file
 .BR umount (8),
 .BR swapon (8),
 .BR nfs (5),
+.BR e2label (8),
 .BR mountd (8),
 .BR nfsd (8),
 .BR mke2fs (8),
index 6c1f40a299737c8d90bdc94132df7a8811ded7d1..b8ee2ebec986a12bb70320b93b452b077155c412 100644 (file)
@@ -34,6 +34,8 @@
  * - fixed use of nouser option
  * 1999-09-09 Michael K. Johnson <johnsonm@redhat.com>
  * - added `owner' mount option
+ * 2000-05-11 Mark A. Peloquin <peloquin@us.ibm.com>
+ * - check_special_mountprog now returns correct status
  */
 
 #include <unistd.h>
 #endif
 
 /* True for fake mount (-f).  */
-int fake = 0;
+static int fake = 0;
 
 /* Don't write a entry in /etc/mtab (-n).  */
-int nomtab = 0;
+static int nomtab = 0;
 
 /* True for explicit readonly (-r).  */
-int readonly = 0;
+static int readonly = 0;
 
 /* Nonzero for chatty (-v).  */
 int verbose = 0;
@@ -83,20 +85,22 @@ int verbose = 0;
 int sloppy = 0;
 
 /* True for explicit read/write (-w).  */
-int readwrite = 0;
+static int readwrite = 0;
 
 /* True for all mount (-a).  */
 int all = 0;
 
 /* True for fork() during all mount (-F).  */
-int optfork = 0;
+static int optfork = 0;
+
+/* Add volumelabel in a listing of mounted devices (-l). */
+static int list_with_volumelabel = 0;
 
 /* True if ruid != euid.  */
-int suid = 0;
+static int suid = 0;
 
 /* Map from -o and fstab option strings to the flag argument to mount(2).  */
-struct opt_map
-{
+struct opt_map {
   const char *opt;             /* option name */
   int  skip;                   /* skip in mtab option string */
   int  inv;                    /* true if flag value should be inverted */
@@ -124,7 +128,7 @@ struct opt_map
 /* Options that we make owner-mounted devices have by default */
 #define MS_OWNERSECURE (MS_NOSUID|MS_NODEV)
 
-const struct opt_map opt_map[] = {
+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 */
@@ -170,9 +174,10 @@ const struct opt_map opt_map[] = {
   { NULL,      0, 0, 0         }
 };
 
-static char *opt_loopdev, *opt_vfstype, *opt_offset, *opt_encryption;
+static char *opt_loopdev, *opt_vfstype, *opt_offset, *opt_encryption,
+  *opt_speed;
 
-struct string_opt_map {
+static struct string_opt_map {
   char *tag;
   int skip;
   char **valptr;
@@ -181,6 +186,7 @@ struct string_opt_map {
   { "vfs=",    1, &opt_vfstype },
   { "offset=", 0, &opt_offset },
   { "encryption=", 0, &opt_encryption },
+  { "speed=", 0, &opt_speed },
   { NULL, 0, NULL }
 };
 
@@ -219,13 +225,18 @@ print_one (const struct mntentchn *mc) {
          printf (" type %s", mc->mnt_type);
      if (mc->mnt_opts != NULL)
          printf (" (%s)", mc->mnt_opts);
+     if (list_with_volumelabel) {
+            const char *label;
+            label = get_volume_label_by_spec(mc->mnt_fsname);
+            if (label)
+                    printf (" [%s]", label);
+     }
      printf ("\n");
 }
 
 /* Report on everything in mtab (of the specified types if any).  */
 static int
-print_all (string_list types)
-{
+print_all (string_list types) {
      struct mntentchn *mc;
 
      for (mc = mtab_head()->nxt; mc; mc = mc->nxt) {
@@ -239,8 +250,7 @@ print_all (string_list types)
 /* 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).  */
 static inline void
-parse_opt (const char *opt, int *mask, char *extra_opts)
-{
+parse_opt (const char *opt, int *mask, char *extra_opts) {
   const struct opt_map *om;
 
   for (om = opt_map; om->opt != NULL; om++)
@@ -270,8 +280,7 @@ parse_opt (const char *opt, int *mask, char *extra_opts)
 /* Take -o options list and compute 4th and 5th args to mount(2).  flags
    gets the standard options and extra_opts anything we don't recognize.  */
 static void
-parse_opts (char *opts, int *flags, char **extra_opts)
-{
+parse_opts (char *opts, int *flags, char **extra_opts) {
   char *opt;
 
   *flags = 0;
@@ -387,9 +396,13 @@ create_mtab (void) {
 /* count successful mount system calls */
 static int mountcount = 0;
 
-/* returns 0: OK, -1: error */
+/*
+ * do_mount_syscall()
+ *     Mount a single file system. Keep track of successes.
+ * returns: 0: OK, -1: error in errno
+ */
 static int
-mount5 (struct mountargs *args) {
+do_mount_syscall (struct mountargs *args) {
      int ret = mount (args->spec, args->node, args->type,
                      MS_MGC_VAL | (args->flags), args->data);
      if (ret == 0)
@@ -397,11 +410,15 @@ mount5 (struct mountargs *args) {
      return ret;
 }
 
-/* Mount a single file system.
-   Return status: 0: OK, -1: error in errno, 1: other error
-   don't exit on non-fatal errors.  */
+/*
+ * 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.
+ */
 static int
-try_mount5 (char *spec, char *node, char **type, int flags, char *mount_opts) {
+guess_fstype_and_mount (char *spec, char *node, char **type,
+                       int flags, char *mount_opts) {
    struct mountargs args = { spec, node, NULL, flags & ~MS_NOSYS, mount_opts };
    
    if (*type && strcasecmp (*type, "auto") == 0)
@@ -418,55 +435,30 @@ try_mount5 (char *spec, char *node, char **type, int flags, char *mount_opts) {
 
    if (*type || (flags & MS_REMOUNT)) {
       args.type = *type;
-      return mount5 (&args);
+      return do_mount_syscall (&args);
    }
 
-   return procfsloop(mount5, &args, type);
+   return procfsloop(do_mount_syscall, &args, type);
 }
 
 /*
- * try_mount_one()
- *     Try to mount one file system. When "bg" is 1, this is a retry
- *     in the background. One additional exit code EX_BG is used here.
- *     It is used to instruct the caller to retry the mount in the
- *     background.
+ * suid_check()
+ *     Die if the user is not allowed to do this.
  */
-static int
-try_mount_one (const char *spec0, const char *node0, char *type0,
-              const char *opts0, int freq, int pass, int bg, int ro) {
-  struct mntentchn mcn;
-  struct mntent mnt;
-  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 */
-  int loop, looptype, offset;
-  const char *opts;
-  char *spec, *node, *type, *loopdev, *loopfile;
-  char *user = 0;
-  struct stat statbuf;
-
-  spec = xstrdup(spec0);
-  node = xstrdup(node0);
-  type = xstrdup(type0);
-  opts = xstrdup(opts0);
-
-  parse_opts (xstrdup (opts), &flags, &extra_opts);
-
-  /* root may allow certain types of mounts by ordinary users */
+static void
+suid_check(char *spec, char *node, int *flags, char **user) {
   if (suid) {
       /* RedHat patch: 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. */
-      if (flags & MS_OWNER) {
-         if (!strncmp(spec0, "/dev/", 5)) {
+      if (*flags & MS_OWNER) {
+         if (!strncmp(spec, "/dev/", 5)) {
              struct stat sb;
 
-             if (!stat(spec0, &sb)) {
+             if (!stat(spec, &sb)) {
                  if (getuid() == sb.st_uid)
-                     flags |= MS_USER;
+                     *flags |= MS_USER;
              }
          }
       }
@@ -476,24 +468,24 @@ try_mount_one (const char *spec0, const char *node0, char *type0,
          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 (!(*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();
+      if (*flags & MS_USER)
+         *user = getusername();
   }
 
-  if (flags & MS_OWNER)
-      flags &= ~MS_OWNER;
-
-  /* quietly succeed for fstab entries that don't get mounted automatically */
-  if (all && (flags & MS_NOAUTO))
-    return 0;
+  if (*flags & MS_OWNER)
+      *flags &= ~MS_OWNER;
+}
 
-  mount_opts = extra_opts;
+static int
+loop_check(char **spec, char **type, int *flags,
+          int *loop, char **loopdev, char **loopfile) {
+  int looptype, offset;
 
   /*
    * In the case of a loop mount, either type is of the form lo@/dev/loop5
@@ -503,84 +495,142 @@ try_mount_one (const char *spec0, const char *node0, char *type0,
    * immediately: maybe later other types of mountable objects will occur.
    */
 
-  loopdev = opt_loopdev;
+  *loopdev = opt_loopdev;
 
-  looptype = (type && strncmp("lo@", type, 3) == 0);
+  looptype = (*type && strncmp("lo@", *type, 3) == 0);
   if (looptype) {
-    if (loopdev)
+    if (*loopdev)
       error(_("mount: loop device specified twice"));
-    loopdev = type+3;
-    type = opt_vfstype;
-  }
-  else if (opt_vfstype) {
-    if (type)
+    *loopdev = *type + 3;
+    *type = opt_vfstype;
+  } else if (opt_vfstype) {
+    if (*type)
       error(_("mount: type specified twice"));
     else
-      type = opt_vfstype;
+      *type = opt_vfstype;
   }
 
-  loop = ((flags & MS_LOOP) || loopdev || opt_offset || opt_encryption);
-  loopfile = spec;
+  *loop = ((*flags & MS_LOOP) || *loopdev || opt_offset || opt_encryption);
+  *loopfile = *spec;
 
-  if (loop) {
-    flags |= MS_LOOP;
+  if (*loop) {
+    *flags |= MS_LOOP;
     if (fake) {
       if (verbose)
        printf(_("mount: skipping the setup of a loop device\n"));
     } else {
-      int loopro = (flags & MS_RDONLY);
+      int loopro = (*flags & MS_RDONLY);
 
-      if (!loopdev || !*loopdev)
-       loopdev = find_unused_loop_device();
-      if (!loopdev)
+      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);
+       printf(_("mount: going to use the loop device %s\n"), *loopdev);
       offset = opt_offset ? strtoul(opt_offset, NULL, 0) : 0;
-      if (set_loop (loopdev, loopfile, offset, opt_encryption, &loopro)) {
+      if (set_loop (*loopdev, *loopfile, offset, opt_encryption, &loopro)) {
        if (verbose)
          printf(_("mount: failed setting up loop device\n"));
        return EX_FAIL;
       }
       if (verbose > 1)
        printf(_("mount: setup loop device successfully\n"));
-      spec = loopdev;
+      *spec = *loopdev;
       if (loopro)
-       flags |= MS_RDONLY;
+       *flags |= MS_RDONLY;
     }
   }
 
-  if (!fake && type && streq (type, "nfs")) {
-#ifdef HAVE_NFS
-    mnt_err = nfsmount (spec, node, &flags, &extra_opts, &mount_opts, bg);
-    if (mnt_err)
-      return mnt_err;
-#else
-    die (EX_SOFTWARE, _("mount: this version was compiled "
-                     "without support for the type `nfs'"));
-#endif
-  }
+  return 0;
+}
 
-  /*
-   * Call mount.TYPE for types that require a separate
-   * mount program.  For the moment these types are ncp and smb.
-   */
-  if (type)
+static void
+update_mtab_entry(char *spec, char *node, char *type, char *opts,
+                 int flags, int freq, int pass) {
+    struct mntentchn mcn;
+    struct mntent mnt;
+
+    mcn.mnt_fsname = mnt.mnt_fsname = canonicalize (spec);
+    mcn.mnt_dir = mnt.mnt_dir = canonicalize (node);
+    mcn.mnt_type = mnt.mnt_type = type;
+    mcn.mnt_opts = mnt.mnt_opts = opts;
+    mcn.nxt = 0;
+    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 (&mcn);
+
+    if (!nomtab && mtab_is_writable()) {
+       if (flags & MS_REMOUNT)
+           update_mtab (mnt.mnt_dir, &mnt);
+       else {
+           mntFILE *mfp;
+
+           lock_mtab();
+           mfp = my_setmntent(MOUNTED, "a+");
+           if (mfp == NULL || mfp->mntent_fp == NULL) {
+               int errsv = errno;
+               error(_("mount: can't open %s: %s"), MOUNTED,
+                     strerror (errsv));
+           } else {
+               if ((my_addmntent (mfp, &mnt)) == 1) {
+                       int errsv = errno;
+                       error(_("mount: error writing %s: %s"), MOUNTED,
+                             strerror (errsv));
+               }
+               my_endmntent(mfp);
+           }
+           unlock_mtab();
+       }
+    }
+}
+
+static void
+cdrom_setspeed(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 not 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);
+    }
+}
+
+/*
+ * 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(char *spec, char *node, char *type, int flags,
+                       char *extra_opts, int *status) {
+  char mountprog[120];
+  struct stat statbuf;
+  int res;
+
+  if (type &&
 #ifndef ALWAYS_STAT
-  if (streq (type, "smb") || streq (type, "ncp")
+     (streq (type, "smb") || streq (type, "ncp")
       /* these are incorrect but perhaps used by smbmount or so */
        || streq (type, "smbfs") || streq (type, "ncpfs")
      )
 #else
-  if (strlen (type) < 100)
+     (strlen (type) < 100)
 #endif
-  {
-       char mountprog[120];
-
+  ) {
        sprintf(mountprog, "/sbin/mount.%s", type);
        if (stat(mountprog, &statbuf) == 0) {
-           int res;
-           if ((res = fork()) == 0) {
+           res = fork();
+           if (res == 0) {
                 char *oo, *mountargs[10];
                 int i = 0;
 
@@ -602,63 +652,103 @@ try_mount_one (const char *spec0, const char *node0, char *type0,
                 execv(mountprog, mountargs);
                 exit(1);       /* exec failed */
            } else if (res != -1) {
-                int status;
-                wait(&status);
-                return status;
+                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;
+}
+
+/*
+ * try_mount_one()
+ *     Try to mount one file system. When "bg" is 1, this is a retry
+ *     in the background. One additional exit code EX_BG is used here.
+ *     It is used to instruct the caller to retry the mount in the
+ *     background.
+ * 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, char *type0,
+              const char *opts0, int freq, int pass, int bg, int ro) {
+  int res, status;
+  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;
+  char *spec, *node, *type;
+  char *user = 0;
+  int loop = 0;
+  char *loopdev = 0, *loopfile = 0;
+  struct stat statbuf;
+
+  spec = xstrdup(spec0);
+  node = xstrdup(node0);
+  type = xstrdup(type0);
+  opts = xstrdup(opts0);
+
+  parse_opts (xstrdup (opts), &flags, &extra_opts);
+
+  suid_check (spec, node, &flags, &user);
+
+  /* quietly succeed for fstab entries that don't get mounted automatically */
+  if (all && (flags & MS_NOAUTO))
+    return 0;
+
+  mount_opts = extra_opts;
+
+  if (opt_speed)
+      cdrom_setspeed(spec);
+
+  res = loop_check (&spec, &type, &flags, &loop, &loopdev, &loopfile);
+  if (res)
+         return res;
+
+  /*
+   * Call mount.TYPE for types that require a separate mount program.
+   * For the moment these types are ncp and smb.
+   */
+  if (check_special_mountprog (spec, node, type, flags, extra_opts, &status))
+      return status;
+
+  if (!fake && type && streq (type, "nfs")) {
+#ifdef HAVE_NFS
+retry_nfs:
+    mnt_err = nfsmount (spec, node, &flags, &extra_opts, &mount_opts, bg);
+    if (mnt_err)
+      return mnt_err;
+#else
+    die (EX_SOFTWARE, _("mount: this version was compiled "
+                     "without support for the type `nfs'"));
+#endif
+  }
 
   block_signals (SIG_BLOCK);
 
   if (!fake)
-    mnt5_res = try_mount5 (spec, node, &type, flags & ~MS_NOSYS, mount_opts);
+    mnt5_res = guess_fstype_and_mount (spec, node, &type, flags & ~MS_NOSYS,
+                                      mount_opts);
 
   if (fake || mnt5_res == 0) {
-    /* Mount succeeded, report this (if verbose) and write mtab entry.  */
+      /* Mount succeeded, report this (if verbose) and write mtab entry.  */
       if (loop)
          opt_loopdev = loopdev;
 
-      mcn.mnt_fsname = mnt.mnt_fsname = canonicalize (loop ? loopfile : spec);
-      mcn.mnt_dir = mnt.mnt_dir = canonicalize (node);
-      mcn.mnt_type = mnt.mnt_type = type ? type : "unknown";
-      mcn.mnt_opts = mnt.mnt_opts = fix_opts_string (flags & ~MS_NOMTAB,
-                                                    extra_opts, user);
-      mcn.nxt = 0;
-      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 (&mcn);
-
-      if (!nomtab && mtab_is_writable()) {
-         if (flags & MS_REMOUNT)
-              update_mtab (mnt.mnt_dir, &mnt);
-         else {
-              mntFILE *mfp;
-
-              lock_mtab();
-              mfp = my_setmntent(MOUNTED, "a+");
-              if (mfp == NULL || mfp->mntent_fp == NULL) {
-                   int errsv = errno;
-                   error(_("mount: can't open %s: %s"), MOUNTED,
-                         strerror (errsv));
-              } else {
-                   if ((my_addmntent (mfp, &mnt)) == 1) {
-                        int errsv = errno;
-                        error(_("mount: error writing %s: %s"), MOUNTED,
-                              strerror (errsv));
-                   }
-                   my_endmntent(mfp);
-              }
-              unlock_mtab();
-         }
-      }
+      update_mtab_entry(loop ? loopfile : spec,
+                       node,
+                       type ? type : "unknown",
+                       fix_opts_string (flags & ~MS_NOMTAB, extra_opts, user),
+                       flags,
+                       freq,
+                       pass);
 
       block_signals (SIG_UNBLOCK);
       return 0;
@@ -671,6 +761,18 @@ try_mount_one (const char *spec0, const char *node0, char *type0,
 
   block_signals (SIG_UNBLOCK);
 
+#ifdef HAVE_NFS
+  if (mnt_err && type && streq (type, "nfs")) {
+      extern int nfs_mount_version;
+      if (nfs_mount_version == 4) {
+         if (verbose)
+           printf(_("mount: failed with nfs mount version 4, trying 3..\n"));
+         nfs_mount_version = 3;
+         goto retry_nfs;
+      }
+  }
+#endif
+
   /* Mount failed, complain, but don't die.  */
 
   if (type == 0) {
@@ -799,10 +901,15 @@ try_mount_one (const char *spec0, const char *node0, char *type0,
       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) {
-          error (_("mount: block device %s is not permitted on its filesystem"),
-                spec);
+          error (_("mount: %s%s is not permitted on its filesystem"),
+                bd, spec);
           break;
+      } else if (readwrite) {
+         error (_("mount: %s%s is write-protected but explicit `-w' flag given"),
+                bd, spec);
+         break;
       } else {
         if (loop) {
             opts = opts0;
@@ -817,10 +924,11 @@ try_mount_one (const char *spec0, const char *node0, char *type0,
         if (type && !strcmp(type, "guess"))
             type = 0;
          error (_("mount: %s%s is write-protected, mounting read-only"),
-               loop ? "" : _("block device "), spec0);
+               bd, spec0);
         return try_mount_one (spec0, node0, type, opts, freq, pass, bg, 1);
       }
       break;
+    }
     default:
       error ("mount: %s", strerror (mnt_err)); break;
     }
@@ -950,6 +1058,15 @@ mount_one (const char *spec, const char *node, char *type, const char *opts,
 static int
 mounted (char *spec, char *node) {
      struct mntentchn *mc;
+     char *nspec = NULL;
+
+     if (!strncmp(spec, "UUID=", 5))
+         nspec = get_spec_by_uuid(spec+5);
+     else if (!strncmp(spec, "LABEL=", 6))
+         nspec = get_spec_by_volume_label(spec+6);
+
+     if (nspec)
+         spec = nspec;
 
      spec = canonicalize (spec);
      node = canonicalize (node);
@@ -1102,7 +1219,7 @@ static struct option longopts[] =
 static void
 usage (FILE *fp, int n)
 {
-  fprintf (fp, _("Usage: mount [-hV]\n"
+  fprintf (fp, _("Usage: mount [-lhV]\n"
               "       mount -a [-nfFrsvw] [-t vfstypes]\n"
               "       mount [-nfrsvw] [-o options] special | node\n"
               "       mount [-nfrsvw] [-t vfstype] [-o options] special node\n"
@@ -1136,7 +1253,7 @@ main (int argc, char *argv[]) {
   initproctitle(argc, argv);
 #endif
 
-  while ((c = getopt_long (argc, argv, "afFhL:no:rsU:vVwt:", longopts, NULL))
+  while ((c = getopt_long (argc, argv, "afFhlL:no:rsU:vVwt:", longopts, NULL))
         != EOF)
     switch (c) {
       case 'a':                        /* mount everything in fstab */
@@ -1151,6 +1268,9 @@ main (int argc, char *argv[]) {
       case 'h':                        /* help */
        usage (stdout, 0);
        break;
+      case 'l':
+       list_with_volumelabel = 1;
+       break;
       case 'L':
        volumelabel = optarg;
        break;
index be37496f8af25b6fbde5e59346981188e6382016..1567bfb184390283eae8fa9598f063dc65e24e85 100644 (file)
@@ -1,5 +1,12 @@
-/* 1999-02-22 Arkadiusz Mi¶kiewicz <misiek@misiek.eu.org>
+/*
+ * mount_by_label.c - aeb
+ *
+ * 1999-02-22 Arkadiusz Mi¶kiewicz <misiek@misiek.eu.org>
  * - added Native Language Support
+ * 2000-01-20 James Antill <james@and.org>
+ * - Added error message if /proc/partitions cannot be opened
+ * 2000-05-09 Erik Troan <ewt@redhat.com>
+ * - Added cache for UUID and disk labels
  */
 
 #include <stdio.h>
 #define PROC_PARTITIONS "/proc/partitions"
 #define DEVLABELDIR    "/dev"
 
-static FILE *procpt;
-
-static void
-procptclose(void) {
-    if (procpt)
-        fclose (procpt);
-    procpt = 0;
-}
-
-static int
-procptopen(void) {
-    return ((procpt = fopen(PROC_PARTITIONS, "r")) != NULL);
-}
-
-static char *
-procptnext(void) {
-   char line[100];
-   char *s;
-   int ma, mi, sz;
-   static char ptname[100];
-
-   while (fgets(line, sizeof(line), procpt)) {
-      if (sscanf (line, " %d %d %d %[^\n]\n", &ma, &mi, &sz, ptname) != 4)
-             continue;
-
-      /* skip extended partitions (heuristic: size 1) */
-      if (sz == 1)
-             continue;
-
-      /* skip entire disk (minor 0, 64, ... on ide; 0, 16, ... on sd) */
-      /* heuristic: partition name ends in a digit */
-      for(s = ptname; *s; s++);
-      if (isdigit(s[-1]))
-             return ptname;
-   }
-   return 0;
-}
-
-#define UUID   1
-#define VOL    2
+static struct uuidCache_s {
+       struct uuidCache_s *next;
+       char uuid[16];
+       char *label;
+       char *device;
+} *uuidCache = NULL;
 
 /* for now, only ext2 is supported */
 static int
-has_right_label(const char *device, int n, const char *label) {
+get_label_uuid(const char *device, char **label, char *uuid) {
 
        /* start with a test for ext2, taken from mount_guess_fstype */
        /* should merge these later */
        int fd;
-       char *s;
        struct ext2_super_block e2sb;
 
        fd = open(device, O_RDONLY);
        if (fd < 0)
-               return 0;
+               return 1;
 
        if (lseek(fd, 1024, SEEK_SET) != 1024
            || read(fd, (char *) &e2sb, sizeof(e2sb)) != sizeof(e2sb)
            || (ext2magic(e2sb) != EXT2_SUPER_MAGIC)) {
                close(fd);
-               return 0;
+               return 1;
        }
 
        close(fd);
 
        /* superblock is ext2 - now what is its label? */
-       s = ((n == UUID) ? e2sb.s_uuid : e2sb.s_volume_name);
-       return (strncmp(s, label, 16) == 0);
+       memcpy(uuid, e2sb.s_uuid, sizeof(e2sb.s_uuid));
+       *label = strdup(e2sb.s_volume_name);
+
+       return 0;
 }
 
-static char *
-get_spec_by_x(int n, const char *t) {
-       char *pt;
+static void
+uuidcache_addentry(char *device, char *label, char *uuid) {
+       struct uuidCache_s *last;
+
+       if (!uuidCache) {
+               last = uuidCache = malloc(sizeof(*uuidCache));
+       } else {
+               for (last = uuidCache; last->next; last = last->next) ;
+               last->next = malloc(sizeof(*uuidCache));
+               last = last->next;
+       }
+       last->next = NULL;
+       last->device = device;
+       last->label = label;
+       memcpy(last->uuid, uuid, sizeof(last->uuid));
+}
+
+static void
+uuidcache_init(void) {
+       char line[100];
+       char *s;
+       int ma, mi, sz;
+       static char ptname[100];
+       FILE *procpt;
+       char uuid[16], *label;
        char device[110];
+       int firstPass;
+       int handleOnFirst;
+
+       if (uuidCache)
+               return;
+
+       procpt = fopen(PROC_PARTITIONS, "r");
+       if (!procpt)
+               return;
+
+       for (firstPass = 1; firstPass >= 0; firstPass--) {
+           fseek(procpt, 0, SEEK_SET);
+
+           while (fgets(line, sizeof(line), procpt)) {
+               if (sscanf (line, " %d %d %d %[^\n ]",
+                           &ma, &mi, &sz, ptname) != 4)
+                       continue;
+
+               /* skip extended partitions (heuristic: size 1) */
+               if (sz == 1)
+                       continue;
+
+               /* look only at md devices on first pass */
+               handleOnFirst = !strncmp(ptname, "md", 2);
+               if (firstPass != handleOnFirst)
+                       continue;
+
+               /* skip entire disk (minor 0, 64, ... on ide;
+                  0, 16, ... on sd) */
+               /* heuristic: partition name ends in a digit */
+
+               for(s = ptname; *s; s++);
+               if (isdigit(s[-1])) {
+               /*
+                * Note: this is a heuristic only - there is no reason
+                * why these devices should live in /dev.
+                * Perhaps this directory should be specifiable by option.
+                * One might for example have /devlabel with links to /dev
+                * for the devices that may be accessed in this way.
+                * (This is useful, if the cdrom on /dev/hdc must not
+                * be accessed.)
+                */
+                       sprintf(device, "%s/%s", DEVLABELDIR, ptname);
+                       if (!get_label_uuid(device, &label, uuid))
+                               uuidcache_addentry(strdup(device), label, uuid);
+               }
+           }
+       }
+
+       fclose(procpt);
+}
 
-       if(!procptopen())
-               return NULL;
-       while((pt = procptnext()) != NULL) {
-               /* Note: this is a heuristic only - there is no reason
-                  why these devices should live in /dev.
-                  Perhaps this directory should be specifiable by option.
-                  One might for example have /devlabel with links to /dev
-                  for the devices that may be accessed in this way.
-                  (This is useful, if the cdrom on /dev/hdc must not
-                  be accessed.)
-               */
-               sprintf(device, "%s/%s", DEVLABELDIR, pt);
-               if (has_right_label(device, n, t)) {
-                       procptclose();
-                       return xstrdup(device);
+#define UUID   1
+#define VOL    2
+
+static char *
+get_spec_by_x(int n, const char *t) {
+       struct uuidCache_s *uc;
+
+       uuidcache_init();
+       uc = uuidCache;
+
+       while(uc) {
+               switch (n) {
+               case UUID:
+                       if (!memcmp(t, uc->uuid, sizeof(uc->uuid)))
+                               return xstrdup(uc->device);
+                       break;
+               case VOL:
+                       if (!strcmp(t, uc->label))
+                               return xstrdup(uc->device);
+                       break;
                }
+               uc = uc->next;
        }
-       procptclose();
        return NULL;
 }
 
@@ -147,3 +199,17 @@ get_spec_by_volume_label(const char *s) {
        return get_spec_by_x(VOL, s);
 }
 
+const char *
+get_volume_label_by_spec(const char *spec) {
+        struct uuidCache_s *uc;
+
+        uuidcache_init();
+        uc = uuidCache;
+
+       while(uc) {
+               if (!strcmp(spec, uc->device))
+                       return uc->label;
+               uc = uc->next;
+       }
+       return NULL;
+}
index 21c2d844b27fa36e15423825426036d2fded4121..64bbbfa7d5205358b8a5b8b11d2b5c4794cd2400 100644 (file)
@@ -1,2 +1,3 @@
 char *get_spec_by_uuid(const char *uuid);
 char *get_spec_by_volume_label(const char *volumelabel);
+const char *get_volume_label_by_spec(const char *spec);
index 9e3a54a488fa835f958a2d18b67fc082838ac757..ec39c531a4c45f6798877b6ac2d9661fb06ddb56 100644 (file)
@@ -72,13 +72,14 @@ swapped(unsigned short a) {
     Added a very weak heuristic for vfat - aeb
     Added qnx4 - aeb
     Added swap - aeb
+    Added xfs - 2000-03-21 Martin K. Petersen <mkp@linuxcare.com>
 
     Currently supports: minix, ext, ext2, xiafs, iso9660, romfs,
-    ufs, ntfs, vfat, qnx4, bfs
+    ufs, ntfs, vfat, qnx4, bfs, xfs
 */
 static char
 *magic_known[] = { "minix", "ext", "ext2", "xiafs", "iso9660", "romfs",
-                  "ufs", "ntfs", "qnx4", "bfs", "udf",
+                  "ufs", "ntfs", "qnx4", "bfs", "udf", "xfs",
                   "swap"       /* last - just to warn the user */
 };
 
@@ -130,6 +131,7 @@ fstype(const char *device) {
     union {
        struct xiafs_super_block xiasb;
        char romfs_magic[8];
+       char xfs_magic[4];
        char qnx4fs_magic[10];  /* ignore first 4 bytes */
        long bfs_magic;
        struct ntfs_super_block ntfssb;
@@ -177,6 +179,9 @@ fstype(const char *device) {
              type = "xiafs";
         else if(!strncmp(xsb.romfs_magic, "-rom1fs-", 8))
              type = "romfs";
+        else if(!strncmp(xsb.xfs_magic, "XFSB", 4) ||
+                !strncmp(xsb.xfs_magic, "BSFX", 4))
+             type = "xfs";
         else if(!strncmp(xsb.qnx4fs_magic+4, "QNX4FS", 6))
              type = "qnx4fs";
         else if(xsb.bfs_magic == 0x1badface)
@@ -187,7 +192,8 @@ fstype(const char *device) {
         else if ((!strncmp(xsb.fatsb.s_os, "MSDOS", 5) ||
                   !strncmp(xsb.fatsb.s_os, "MSWIN", 5) ||
                   !strncmp(xsb.fatsb.s_os, "MTOOL", 5) ||
-                  !strncmp(xsb.fatsb.s_os, "mkdosfs", 7))
+                  !strncmp(xsb.fatsb.s_os, "mkdosfs", 7) ||
+                  !strncmp(xsb.fatsb.s_os, "kmkdosfs", 8))
                  && (!strncmp(xsb.fatsb.s_fs, "FAT12   ", 8) ||
                      !strncmp(xsb.fatsb.s_fs, "FAT16   ", 8) ||
                      !strncmp(xsb.fatsb.s_fs2, "FAT32   ", 8)))
diff --git a/mount/nfs_mount4.h b/mount/nfs_mount4.h
new file mode 100644 (file)
index 0000000..0e3b052
--- /dev/null
@@ -0,0 +1,53 @@
+/*
+ * We want to be able to compile mount on old kernels in such a way
+ * that the binary will work well on more recent kernels.
+ * Thus, if necessary we teach nfsmount.c the structure of new fields
+ * that will come later.
+ *
+ * Moreover, the new kernel includes conflict with glibc includes
+ * so it is easiest to ignore the kernel altogether (at compile time).
+ */
+
+#define NFS_MOUNT_VERSION      4
+
+struct nfs2_fh {
+        char                    data[32];
+};
+struct nfs3_fh {
+        unsigned short          size;
+        unsigned char           data[64];
+};
+
+struct nfs_mount_data {
+       int             version;                /* 1 */
+       int             fd;                     /* 1 */
+       struct nfs2_fh  old_root;               /* 1 */
+       int             flags;                  /* 1 */
+       int             rsize;                  /* 1 */
+       int             wsize;                  /* 1 */
+       int             timeo;                  /* 1 */
+       int             retrans;                /* 1 */
+       int             acregmin;               /* 1 */
+       int             acregmax;               /* 1 */
+       int             acdirmin;               /* 1 */
+       int             acdirmax;               /* 1 */
+       struct sockaddr_in addr;                /* 1 */
+       char            hostname[256];          /* 1 */
+       int             namlen;                 /* 2 */
+       unsigned int    bsize;                  /* 3 */
+       struct nfs3_fh  root;                   /* 4 */
+};
+
+/* bits in the flags field */
+
+#define NFS_MOUNT_SOFT         0x0001  /* 1 */
+#define NFS_MOUNT_INTR         0x0002  /* 1 */
+#define NFS_MOUNT_SECURE       0x0004  /* 1 */
+#define NFS_MOUNT_POSIX                0x0008  /* 1 */
+#define NFS_MOUNT_NOCTO                0x0010  /* 1 */
+#define NFS_MOUNT_NOAC         0x0020  /* 1 */
+#define NFS_MOUNT_TCP          0x0040  /* 2 */
+#define NFS_MOUNT_VER3         0x0080  /* 3 */
+#define NFS_MOUNT_KERBEROS     0x0100  /* 3 */
+#define NFS_MOUNT_NONLM                0x0200  /* 3 */
+
similarity index 77%
rename from mount/nfs_mount3.h
rename to mount/nfs_mount4.h.sv
index e5c2b2fe424a2b23d174d5d23ce2dec9b8af58a0..f3111d7843244fdffec0468007da9bf0ad372f5f 100644 (file)
@@ -6,7 +6,7 @@
  */
 #include "nfs_mountversion.h"
 
-#if KERNEL_NFS_MOUNT_VERSION >= 3
+#if KERNEL_NFS_MOUNT_VERSION >= 4
 
 /*
  * The kernel includes are at least as good as this file.
  */
 #include <linux/nfs_mount.h>
 
-#else /* KERNEL_NFS_MOUNT_VERSION < 3 */
+#define NFS_FHSIZE 32
+#define NFS_PORT 2049
+#define NFS_VERSION 2
+
+
+#else /* KERNEL_NFS_MOUNT_VERSION < 4 */
 
 /*
  * We know more than the kernel. Override the kernel defines.
  * Check at runtime whether the running kernel can handle the new stuff.
  */
-#define NFS_MOUNT_VERSION      3
+#define NFS_MOUNT_VERSION      4
+
+struct nfs2_fh {
+        char                    data[32];
+};
+struct nfs3_fh {
+        unsigned short          size;
+        unsigned char           data[64];
+};
 
 struct nfs_mount_data {
        int             version;                /* 1 */
        int             fd;                     /* 1 */
-       struct nfs_fh   root;                   /* 1 */
+       struct nfs2_fh  old_root;               /* 1 */
        int             flags;                  /* 1 */
        int             rsize;                  /* 1 */
        int             wsize;                  /* 1 */
@@ -39,6 +52,7 @@ struct nfs_mount_data {
        char            hostname[256];          /* 1 */
        int             namlen;                 /* 2 */
        unsigned int    bsize;                  /* 3 */
+       struct nfs3_fh  root;                   /* 4 */
 };
 
 /* bits in the flags field */
index 9500ec2928e6e94f7cdce56b3b74efada76811ea..bf4be63694f69cc0e0fb2c3395a9e8eca9cdd3b8 100644 (file)
@@ -24,6 +24,8 @@
  * 1999-02-22 Arkadiusz Mi¶kiewicz <misiek@misiek.eu.org>
  * - added Native Language Support
  * 
+ * Modified by Olaf Kirch and Trond Myklebust for new NFS code,
+ * plus NFSv3 stuff.
  */
 
 /*
@@ -50,7 +52,8 @@
 
 #include <linux/nfs.h>
 #include "mount_constants.h"
-#include "nfs_mount3.h"
+#include "nfs_mount4.h"
+
 #include "nls.h"
 
 #include "../defines.h"                /* for HAVE_inet_aton */
@@ -59,6 +62,8 @@ static char *nfs_strerror(int stat);
 
 #define MAKE_VERSION(p,q,r)    (65536*(p) + 256*(q) + (r))
 
+#define MAX_NFSPROT ((nfs_mount_version >= 4) ? 3 : 2)
+
 static int
 linux_version_code(void) {
        struct utsname my_utsname;
@@ -74,9 +79,9 @@ linux_version_code(void) {
 }
 
 /*
- * nfs_mount_version according to the kernel sources seen at compile time.
+ * nfs_mount_version according to the sources seen at compile time.
  */
-static int nfs_mount_version = KERNEL_NFS_MOUNT_VERSION;
+int nfs_mount_version = NFS_MOUNT_VERSION;
 
 /*
  * Unfortunately, the kernel prints annoying console messages
@@ -91,18 +96,73 @@ static int nfs_mount_version = KERNEL_NFS_MOUNT_VERSION;
  */
 static void
 find_kernel_nfs_mount_version(void) {
-       int kernel_version = linux_version_code();
+       static int kernel_version = 0;
+
+       if (kernel_version)
+               return;
+
+       kernel_version = linux_version_code();
 
        if (kernel_version) {
             if (kernel_version < MAKE_VERSION(2,1,32))
                  nfs_mount_version = 1;
-            else
+            else if (kernel_version < MAKE_VERSION(2,3,99))
                  nfs_mount_version = 3;
+            else
+                 nfs_mount_version = 4; /* since 2.3.99pre4 */
        }
        if (nfs_mount_version > NFS_MOUNT_VERSION)
             nfs_mount_version = NFS_MOUNT_VERSION;
 }
 
+static struct pmap *
+get_mountport(struct sockaddr_in *server_addr,
+      long unsigned prog,
+      long unsigned version,
+      long unsigned proto,
+      long unsigned port)
+{
+struct pmaplist *pmap;
+static struct pmap p = {0, 0, 0, 0};
+
+server_addr->sin_port = PMAPPORT;
+pmap = pmap_getmaps(server_addr);
+
+if (version > MAX_NFSPROT)
+       version = MAX_NFSPROT;
+if (!prog)
+       prog = MOUNTPROG;
+p.pm_prog = prog;
+p.pm_vers = version;
+p.pm_prot = proto;
+p.pm_port = port;
+
+while (pmap) {
+       if (pmap->pml_map.pm_prog != prog)
+               goto next;
+       if (!version && p.pm_vers > pmap->pml_map.pm_vers)
+               goto next;
+       if (version > 2 && pmap->pml_map.pm_vers != version)
+               goto next;
+       if (version && version <= 2 && pmap->pml_map.pm_vers > 2)
+               goto next;
+       if (pmap->pml_map.pm_vers > MAX_NFSPROT ||
+           (proto && p.pm_prot && pmap->pml_map.pm_prot != proto) ||
+           (port && pmap->pml_map.pm_port != port))
+               goto next;
+       memcpy(&p, &pmap->pml_map, sizeof(p));
+next:
+       pmap = pmap->pml_next;
+}
+if (!p.pm_vers)
+       p.pm_vers = MOUNTVERS;
+if (!p.pm_port)
+       p.pm_port = MOUNTPORT;
+if (!p.pm_prot)
+       p.pm_prot = IPPROTO_TCP;
+return &p;
+}
+
 int nfsmount(const char *spec, const char *node, int *flags,
             char **extra_opts, char **mount_opts, int running_bg)
 {
@@ -114,7 +174,6 @@ int nfsmount(const char *spec, const char *node, int *flags,
        char *old_opts;
        char *mounthost=NULL;
        char new_opts[1024];
-       fhandle root_fhandle;
        struct timeval total_timeout;
        enum clnt_stat clnt_stat;
        static struct nfs_mount_data data;
@@ -123,13 +182,18 @@ int nfsmount(const char *spec, const char *node, int *flags,
        struct hostent *hp;
        struct sockaddr_in server_addr;
        struct sockaddr_in mount_server_addr;
+       struct pmap* pm_mnt;
        int msock, fsock;
        struct timeval retry_timeout;
-       struct fhstatus status;
+       union {
+               struct fhstatus nfsv2;
+               struct mountres3 nfsv3;
+       } status;
        struct stat statbuf;
        char *s;
        int port;
        int mountport;
+       int proto;
        int bg;
        int soft;
        int intr;
@@ -238,11 +302,11 @@ int nfsmount(const char *spec, const char *node, int *flags,
        tcp = 0;
 
        mountprog = MOUNTPROG;
-       mountvers = MOUNTVERS;
+       mountvers = 0;
        port = 0;
        mountport = 0;
        nfsprog = NFS_PROGRAM;
-       nfsvers = NFS_VERSION;
+       nfsvers = 0;
 
        /* parse options */
 
@@ -352,6 +416,8 @@ int nfsmount(const char *spec, const char *node, int *flags,
                        }
                }
        }
+       proto = (tcp) ? IPPROTO_TCP : IPPROTO_UDP;
+
        data.flags = (soft ? NFS_MOUNT_SOFT : 0)
                | (intr ? NFS_MOUNT_INTR : 0)
                | (posix ? NFS_MOUNT_POSIX : 0)
@@ -365,6 +431,19 @@ int nfsmount(const char *spec, const char *node, int *flags,
        if (nfs_mount_version >= 3)
                data.flags |= (nolock ? NFS_MOUNT_NONLM : 0);
 #endif
+       if (nfsvers > MAX_NFSPROT) {
+               fprintf(stderr, "NFSv%d not supported!\n", nfsvers);
+               return 0;
+       }
+       if (mountvers > MAX_NFSPROT) {
+               fprintf(stderr, "NFSv%d not supported!\n", nfsvers);
+               return 0;
+       }
+       if (nfsvers && !mountvers)
+               mountvers = (nfsvers < 3) ? 1 : nfsvers;
+       if (nfsvers && nfsvers < mountvers) {
+               mountvers = nfsvers;
+       }
 
        /* Adjust options if none specified */
        if (!data.timeo)
@@ -470,28 +549,60 @@ int nfsmount(const char *spec, const char *node, int *flags,
                        if (t - prevt < 30)
                                sleep(30);
 
+                       pm_mnt = get_mountport(&mount_server_addr,
+                                      mountprog,
+                                      mountvers,
+                                      proto,
+                                      mountport);
+
                        /* contact the mount daemon via TCP */
-                       mount_server_addr.sin_port = htons(mountport);
+                       mount_server_addr.sin_port = htons(pm_mnt->pm_port);
                        msock = RPC_ANYSOCK;
-                       mclient = clnttcp_create(&mount_server_addr,
-                                                mountprog, mountvers,
-                                                &msock, 0, 0);
 
-                       /* if this fails, contact the mount daemon via UDP */
-                       if (!mclient) {
-                               mount_server_addr.sin_port = htons(mountport);
-                               msock = RPC_ANYSOCK;
+                       switch (pm_mnt->pm_prot) {
+                       case IPPROTO_UDP:
                                mclient = clntudp_create(&mount_server_addr,
-                                                        mountprog, mountvers,
-                                                        retry_timeout, &msock);
+                                                pm_mnt->pm_prog,
+                                                pm_mnt->pm_vers,
+                                                retry_timeout,
+                                                &msock);
+                 if (mclient)
+                         break;
+                 mount_server_addr.sin_port = htons(pm_mnt->pm_port);
+                 msock = RPC_ANYSOCK;
+               case IPPROTO_TCP:
+                       mclient = clnttcp_create(&mount_server_addr,
+                                                pm_mnt->pm_prog,
+                                                pm_mnt->pm_vers,
+                                                &msock, 0, 0);
+                       break;
+               default:
+                       mclient = 0;
                        }
                        if (mclient) {
                                /* try to mount hostname:dirname */
                                mclient->cl_auth = authunix_create_default();
-                               clnt_stat = clnt_call(mclient, MOUNTPROC_MNT,
-                                       (xdrproc_t) xdr_dirpath, (caddr_t) &dirname,
-                                       (xdrproc_t) xdr_fhstatus, (caddr_t) &status,
+
+                       /* make pointers in xdr_mountres3 NULL so
+                        * that xdr_array allocates memory for us
+                        */
+                       memset(&status, 0, sizeof(status));
+
+                       if (pm_mnt->pm_vers == 3)
+                               clnt_stat = clnt_call(mclient, MOUNTPROC3_MNT,
+                                                     (xdrproc_t) xdr_dirpath,
+                                                     (caddr_t) &dirname,
+                                                     (xdrproc_t) xdr_mountres3,
+                                                     (caddr_t) &status,
                                        total_timeout);
+                       else
+                               clnt_stat = clnt_call(mclient, MOUNTPROC_MNT,
+                                                     (xdrproc_t) xdr_dirpath,
+                                                     (caddr_t) &dirname,
+                                                     (xdrproc_t) xdr_fhstatus,
+                                                     (caddr_t) &status,
+                                                     total_timeout);
+
                                if (clnt_stat == RPC_SUCCESS)
                                        break;          /* we're done */
                                if (errno != ECONNREFUSED) {
@@ -522,15 +633,46 @@ int nfsmount(const char *spec, const char *node, int *flags,
                if (t >= timeout)
                        goto fail;
        }
-
-       if (status.fhs_status != 0) {
-               fprintf(stderr,
-                       _("mount: %s:%s failed, reason given by server: %s\n"),
-                       hostname, dirname, nfs_strerror(status.fhs_status));
-               goto fail;
+       nfsvers = (pm_mnt->pm_vers < 2) ? 2 : pm_mnt->pm_vers;
+
+       if (nfsvers == 2) {
+               if (status.nfsv2.fhs_status != 0) {
+                       fprintf(stderr,
+                               "mount: %s:%s failed, reason given by server: %s\n",
+                               hostname, dirname,
+                               nfs_strerror(status.nfsv2.fhs_status));
+                       goto fail;
+               }
+               memcpy(data.root.data,
+                      (char *) status.nfsv2.fhstatus_u.fhs_fhandle,
+                      NFS_FHSIZE);
+#if NFS_MOUNT_VERSION >= 4
+               data.root.size = NFS_FHSIZE;
+               memcpy(data.old_root.data,
+                      (char *) status.nfsv2.fhstatus_u.fhs_fhandle,
+                      NFS_FHSIZE);
+#endif
+       } else {
+#if NFS_MOUNT_VERSION >= 4
+               fhandle3 *fhandle;
+               if (status.nfsv3.fhs_status != 0) {
+                       fprintf(stderr,
+                               "mount: %s:%s failed, reason given by server: %s\n",
+                               hostname, dirname,
+                               nfs_strerror(status.nfsv3.fhs_status));
+                       goto fail;
+               }
+               fhandle = &status.nfsv3.mountres3_u.mountinfo.fhandle;
+               memset(data.old_root.data, 0, NFS_FHSIZE);
+               memset(&data.root, 0, sizeof(data.root));
+               data.root.size = fhandle->fhandle3_len;
+               memcpy(data.root.data,
+                      (char *) fhandle->fhandle3_val,
+                      fhandle->fhandle3_len);
+
+               data.flags |= NFS_MOUNT_VER3;
+#endif
        }
-       memcpy((char *) &root_fhandle, (char *) status.fhstatus_u.fhs_fhandle,
-               sizeof (root_fhandle));
 
        /* create nfs socket for kernel */
 
@@ -580,8 +722,6 @@ int nfsmount(const char *spec, const char *node, int *flags,
        /* prepare data structure for kernel */
 
        data.fd = fsock;
-       memcpy((char *) &data.root, (char *) &root_fhandle,
-               sizeof (root_fhandle));
        memcpy((char *) &data.addr, (char *) &server_addr, sizeof(data.addr));
        strncpy(data.hostname, hostname, sizeof(data.hostname));
 
diff --git a/mount/nfsmount.h b/mount/nfsmount.h
deleted file mode 100644 (file)
index 73c71fc..0000000
+++ /dev/null
@@ -1,325 +0,0 @@
-/*
- * Please do not edit this file.
- * It was generated using rpcgen.
- */
-
-#ifndef _NFSMOUNT_H_RPCGEN
-#define _NFSMOUNT_H_RPCGEN
-
-#include <rpc/rpc.h>
-
-/*
- * Sun RPC is a product of Sun Microsystems, Inc. and is provided for
- * unrestricted use provided that this legend is included on all tape
- * media and as a part of the software program in whole or part.  Users
- * may copy or modify Sun RPC without charge, but are not authorized
- * to license or distribute it to anyone else except as part of a product or
- * program developed by the user or with the express written consent of
- * Sun Microsystems, Inc.
- *
- * SUN RPC IS PROVIDED AS IS WITH NO WARRANTIES OF ANY KIND INCLUDING THE
- * WARRANTIES OF DESIGN, MERCHANTIBILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE, OR ARISING FROM A COURSE OF DEALING, USAGE OR TRADE PRACTICE.
- *
- * Sun RPC is provided with no support and without any obligation on the
- * part of Sun Microsystems, Inc. to assist in its use, correction,
- * modification or enhancement.
- *
- * SUN MICROSYSTEMS, INC. SHALL HAVE NO LIABILITY WITH RESPECT TO THE
- * INFRINGEMENT OF COPYRIGHTS, TRADE SECRETS OR ANY PATENTS BY SUN RPC
- * OR ANY PART THEREOF.
- *
- * In no event will Sun Microsystems, Inc. be liable for any lost revenue
- * or profits or other special, indirect and consequential damages, even if
- * Sun has been advised of the possibility of such damages.
- *
- * Sun Microsystems, Inc.
- * 2550 Garcia Avenue
- * Mountain View, California  94043
- */
-/*
- * Copyright (c) 1985, 1990 by Sun Microsystems, Inc.
- */
-
-/* from @(#)mount.x    1.3 91/03/11 TIRPC 1.0 */
-#ifndef _rpcsvc_mount_h
-#define _rpcsvc_mount_h
-#define MNTPATHLEN 1024
-#define MNTNAMLEN 255
-#define FHSIZE 32
-
-typedef char fhandle[FHSIZE];
-#ifdef __cplusplus 
-extern "C" bool_t xdr_fhandle(XDR *, fhandle);
-#elif __STDC__ 
-extern  bool_t xdr_fhandle(XDR *, fhandle);
-#else /* Old Style C */ 
-bool_t xdr_fhandle();
-#endif /* Old Style C */ 
-
-
-struct fhstatus {
-       u_int fhs_status;
-       union {
-               fhandle fhs_fhandle;
-       } fhstatus_u;
-};
-typedef struct fhstatus fhstatus;
-#ifdef __cplusplus 
-extern "C" bool_t xdr_fhstatus(XDR *, fhstatus*);
-#elif __STDC__ 
-extern  bool_t xdr_fhstatus(XDR *, fhstatus*);
-#else /* Old Style C */ 
-bool_t xdr_fhstatus();
-#endif /* Old Style C */ 
-
-
-typedef char *dirpath;
-#ifdef __cplusplus 
-extern "C" bool_t xdr_dirpath(XDR *, dirpath*);
-#elif __STDC__ 
-extern  bool_t xdr_dirpath(XDR *, dirpath*);
-#else /* Old Style C */ 
-bool_t xdr_dirpath();
-#endif /* Old Style C */ 
-
-
-typedef char *name;
-#ifdef __cplusplus 
-extern "C" bool_t xdr_name(XDR *, name*);
-#elif __STDC__ 
-extern  bool_t xdr_name(XDR *, name*);
-#else /* Old Style C */ 
-bool_t xdr_name();
-#endif /* Old Style C */ 
-
-
-typedef struct mountbody *mountlist;
-#ifdef __cplusplus 
-extern "C" bool_t xdr_mountlist(XDR *, mountlist*);
-#elif __STDC__ 
-extern  bool_t xdr_mountlist(XDR *, mountlist*);
-#else /* Old Style C */ 
-bool_t xdr_mountlist();
-#endif /* Old Style C */ 
-
-
-struct mountbody {
-       name ml_hostname;
-       dirpath ml_directory;
-       mountlist ml_next;
-};
-typedef struct mountbody mountbody;
-#ifdef __cplusplus 
-extern "C" bool_t xdr_mountbody(XDR *, mountbody*);
-#elif __STDC__ 
-extern  bool_t xdr_mountbody(XDR *, mountbody*);
-#else /* Old Style C */ 
-bool_t xdr_mountbody();
-#endif /* Old Style C */ 
-
-
-typedef struct groupnode *groups;
-#ifdef __cplusplus 
-extern "C" bool_t xdr_groups(XDR *, groups*);
-#elif __STDC__ 
-extern  bool_t xdr_groups(XDR *, groups*);
-#else /* Old Style C */ 
-bool_t xdr_groups();
-#endif /* Old Style C */ 
-
-
-struct groupnode {
-       name gr_name;
-       groups gr_next;
-};
-typedef struct groupnode groupnode;
-#ifdef __cplusplus 
-extern "C" bool_t xdr_groupnode(XDR *, groupnode*);
-#elif __STDC__ 
-extern  bool_t xdr_groupnode(XDR *, groupnode*);
-#else /* Old Style C */ 
-bool_t xdr_groupnode();
-#endif /* Old Style C */ 
-
-
-typedef struct exportnode *exports;
-#ifdef __cplusplus 
-extern "C" bool_t xdr_exports(XDR *, exports*);
-#elif __STDC__ 
-extern  bool_t xdr_exports(XDR *, exports*);
-#else /* Old Style C */ 
-bool_t xdr_exports();
-#endif /* Old Style C */ 
-
-
-struct exportnode {
-       dirpath ex_dir;
-       groups ex_groups;
-       exports ex_next;
-};
-typedef struct exportnode exportnode;
-#ifdef __cplusplus 
-extern "C" bool_t xdr_exportnode(XDR *, exportnode*);
-#elif __STDC__ 
-extern  bool_t xdr_exportnode(XDR *, exportnode*);
-#else /* Old Style C */ 
-bool_t xdr_exportnode();
-#endif /* Old Style C */ 
-
-
-struct ppathcnf {
-       int pc_link_max;
-       short pc_max_canon;
-       short pc_max_input;
-       short pc_name_max;
-       short pc_path_max;
-       short pc_pipe_buf;
-       u_char pc_vdisable;
-       char pc_xxx;
-       short pc_mask[2];
-};
-typedef struct ppathcnf ppathcnf;
-#ifdef __cplusplus 
-extern "C" bool_t xdr_ppathcnf(XDR *, ppathcnf*);
-#elif __STDC__ 
-extern  bool_t xdr_ppathcnf(XDR *, ppathcnf*);
-#else /* Old Style C */ 
-bool_t xdr_ppathcnf();
-#endif /* Old Style C */ 
-
-#endif /*!_rpcsvc_mount_h*/
-
-#define MOUNTPROG ((u_long)100005)
-#define MOUNTVERS ((u_long)1)
-
-#ifdef __cplusplus
-#define MOUNTPROC_NULL ((u_long)0)
-extern "C" void * mountproc_null_1(void *, CLIENT *);
-extern "C" void * mountproc_null_1_svc(void *, struct svc_req *);
-#define MOUNTPROC_MNT ((u_long)1)
-extern "C" fhstatus * mountproc_mnt_1(dirpath *, CLIENT *);
-extern "C" fhstatus * mountproc_mnt_1_svc(dirpath *, struct svc_req *);
-#define MOUNTPROC_DUMP ((u_long)2)
-extern "C" mountlist * mountproc_dump_1(void *, CLIENT *);
-extern "C" mountlist * mountproc_dump_1_svc(void *, struct svc_req *);
-#define MOUNTPROC_UMNT ((u_long)3)
-extern "C" void * mountproc_umnt_1(dirpath *, CLIENT *);
-extern "C" void * mountproc_umnt_1_svc(dirpath *, struct svc_req *);
-#define MOUNTPROC_UMNTALL ((u_long)4)
-extern "C" void * mountproc_umntall_1(void *, CLIENT *);
-extern "C" void * mountproc_umntall_1_svc(void *, struct svc_req *);
-#define MOUNTPROC_EXPORT ((u_long)5)
-extern "C" exports * mountproc_export_1(void *, CLIENT *);
-extern "C" exports * mountproc_export_1_svc(void *, struct svc_req *);
-#define MOUNTPROC_EXPORTALL ((u_long)6)
-extern "C" exports * mountproc_exportall_1(void *, CLIENT *);
-extern "C" exports * mountproc_exportall_1_svc(void *, struct svc_req *);
-
-#elif __STDC__
-#define MOUNTPROC_NULL ((u_long)0)
-extern  void * mountproc_null_1(void *, CLIENT *);
-extern  void * mountproc_null_1_svc(void *, struct svc_req *);
-#define MOUNTPROC_MNT ((u_long)1)
-extern  fhstatus * mountproc_mnt_1(dirpath *, CLIENT *);
-extern  fhstatus * mountproc_mnt_1_svc(dirpath *, struct svc_req *);
-#define MOUNTPROC_DUMP ((u_long)2)
-extern  mountlist * mountproc_dump_1(void *, CLIENT *);
-extern  mountlist * mountproc_dump_1_svc(void *, struct svc_req *);
-#define MOUNTPROC_UMNT ((u_long)3)
-extern  void * mountproc_umnt_1(dirpath *, CLIENT *);
-extern  void * mountproc_umnt_1_svc(dirpath *, struct svc_req *);
-#define MOUNTPROC_UMNTALL ((u_long)4)
-extern  void * mountproc_umntall_1(void *, CLIENT *);
-extern  void * mountproc_umntall_1_svc(void *, struct svc_req *);
-#define MOUNTPROC_EXPORT ((u_long)5)
-extern  exports * mountproc_export_1(void *, CLIENT *);
-extern  exports * mountproc_export_1_svc(void *, struct svc_req *);
-#define MOUNTPROC_EXPORTALL ((u_long)6)
-extern  exports * mountproc_exportall_1(void *, CLIENT *);
-extern  exports * mountproc_exportall_1_svc(void *, struct svc_req *);
-
-#else /* Old Style C */ 
-#define MOUNTPROC_NULL ((u_long)0)
-extern  void * mountproc_null_1();
-extern  void * mountproc_null_1_svc();
-#define MOUNTPROC_MNT ((u_long)1)
-extern  fhstatus * mountproc_mnt_1();
-extern  fhstatus * mountproc_mnt_1_svc();
-#define MOUNTPROC_DUMP ((u_long)2)
-extern  mountlist * mountproc_dump_1();
-extern  mountlist * mountproc_dump_1_svc();
-#define MOUNTPROC_UMNT ((u_long)3)
-extern  void * mountproc_umnt_1();
-extern  void * mountproc_umnt_1_svc();
-#define MOUNTPROC_UMNTALL ((u_long)4)
-extern  void * mountproc_umntall_1();
-extern  void * mountproc_umntall_1_svc();
-#define MOUNTPROC_EXPORT ((u_long)5)
-extern  exports * mountproc_export_1();
-extern  exports * mountproc_export_1_svc();
-#define MOUNTPROC_EXPORTALL ((u_long)6)
-extern  exports * mountproc_exportall_1();
-extern  exports * mountproc_exportall_1_svc();
-#endif /* Old Style C */ 
-#define MOUNTVERS_POSIX ((u_long)2)
-
-#ifdef __cplusplus
-extern "C" void * mountproc_null_2(void *, CLIENT *);
-extern "C" void * mountproc_null_2_svc(void *, struct svc_req *);
-extern "C" fhstatus * mountproc_mnt_2(dirpath *, CLIENT *);
-extern "C" fhstatus * mountproc_mnt_2_svc(dirpath *, struct svc_req *);
-extern "C" mountlist * mountproc_dump_2(void *, CLIENT *);
-extern "C" mountlist * mountproc_dump_2_svc(void *, struct svc_req *);
-extern "C" void * mountproc_umnt_2(dirpath *, CLIENT *);
-extern "C" void * mountproc_umnt_2_svc(dirpath *, struct svc_req *);
-extern "C" void * mountproc_umntall_2(void *, CLIENT *);
-extern "C" void * mountproc_umntall_2_svc(void *, struct svc_req *);
-extern "C" exports * mountproc_export_2(void *, CLIENT *);
-extern "C" exports * mountproc_export_2_svc(void *, struct svc_req *);
-extern "C" exports * mountproc_exportall_2(void *, CLIENT *);
-extern "C" exports * mountproc_exportall_2_svc(void *, struct svc_req *);
-#define MOUNTPROC_PATHCONF ((u_long)7)
-extern "C" ppathcnf * mountproc_pathconf_2(dirpath *, CLIENT *);
-extern "C" ppathcnf * mountproc_pathconf_2_svc(dirpath *, struct svc_req *);
-
-#elif __STDC__
-extern  void * mountproc_null_2(void *, CLIENT *);
-extern  void * mountproc_null_2_svc(void *, struct svc_req *);
-extern  fhstatus * mountproc_mnt_2(dirpath *, CLIENT *);
-extern  fhstatus * mountproc_mnt_2_svc(dirpath *, struct svc_req *);
-extern  mountlist * mountproc_dump_2(void *, CLIENT *);
-extern  mountlist * mountproc_dump_2_svc(void *, struct svc_req *);
-extern  void * mountproc_umnt_2(dirpath *, CLIENT *);
-extern  void * mountproc_umnt_2_svc(dirpath *, struct svc_req *);
-extern  void * mountproc_umntall_2(void *, CLIENT *);
-extern  void * mountproc_umntall_2_svc(void *, struct svc_req *);
-extern  exports * mountproc_export_2(void *, CLIENT *);
-extern  exports * mountproc_export_2_svc(void *, struct svc_req *);
-extern  exports * mountproc_exportall_2(void *, CLIENT *);
-extern  exports * mountproc_exportall_2_svc(void *, struct svc_req *);
-#define MOUNTPROC_PATHCONF ((u_long)7)
-extern  ppathcnf * mountproc_pathconf_2(dirpath *, CLIENT *);
-extern  ppathcnf * mountproc_pathconf_2_svc(dirpath *, struct svc_req *);
-
-#else /* Old Style C */ 
-extern  void * mountproc_null_2();
-extern  void * mountproc_null_2_svc();
-extern  fhstatus * mountproc_mnt_2();
-extern  fhstatus * mountproc_mnt_2_svc();
-extern  mountlist * mountproc_dump_2();
-extern  mountlist * mountproc_dump_2_svc();
-extern  void * mountproc_umnt_2();
-extern  void * mountproc_umnt_2_svc();
-extern  void * mountproc_umntall_2();
-extern  void * mountproc_umntall_2_svc();
-extern  exports * mountproc_export_2();
-extern  exports * mountproc_export_2_svc();
-extern  exports * mountproc_exportall_2();
-extern  exports * mountproc_exportall_2_svc();
-#define MOUNTPROC_PATHCONF ((u_long)7)
-extern  ppathcnf * mountproc_pathconf_2();
-extern  ppathcnf * mountproc_pathconf_2_svc();
-#endif /* Old Style C */ 
-
-#endif /* !_NFSMOUNT_H_RPCGEN */
index 90590eb2cd4a35161f3de746de15a767a236802d..c27e74b7ce30dc21e67ed5275a3d39dcc887e864 100644 (file)
 #ifdef RPC_CLNT
 %#include <string.h>           /* for memset() */
 #endif
+%#include <asm/types.h>
 
+const MOUNTPORT = 635;
 const MNTPATHLEN = 1024;       /* maximum bytes in a pathname argument */
 const MNTNAMLEN = 255;         /* maximum bytes in a name argument */
 const FHSIZE = 32;             /* size in bytes of a file handle */
+const FHSIZE3 = 64;            /* size in bytes of a file handle */
 
 /*
  * The fhandle is the file handle that the server passes to the client.
@@ -58,6 +61,20 @@ const FHSIZE = 32;           /* size in bytes of a file handle */
  * server needs to distinguish an individual file.
  */
 typedef opaque fhandle[FHSIZE];        
+typedef opaque fhandle3<FHSIZE3>;
+
+enum mountstat3 {
+       MNT_OK                  = 0,            /* no error */
+       MNT3ERR_PERM            = 1,            /* not owner */
+       MNT3ERR_NOENT           = 2,            /* No such file or directory */
+       MNT3ERR_IO              = 5,            /* I/O error */
+       MNT3ERR_ACCES           = 13,           /* Permission denied */
+       MNT3ERR_NOTDIR          = 20,           /* Not a directory */
+       MNT3ERR_INVAL           = 22,           /* Invalid argument */
+       MNT3ERR_NAMETOOLONG     = 63,           /* File name too long */
+       MNT3ERR_NOTSUPP         = 10004,        /* Operation not supported */
+       MNT3ERR_SERVERFAULT     = 10006         /* A failure on the server */
+};
 
 /*
  * If a status of zero is returned, the call completed successfully, and 
@@ -71,6 +88,18 @@ default:
        void;
 };
 
+struct mountres3_ok {
+       fhandle3 fhandle;
+       int auth_flavours<>;
+};
+
+union mountres3 switch (mountstat3 fhs_status) {
+case MNT_OK:
+       mountres3_ok mountinfo;
+default:
+       void;
+};
+
 /*
  * The type dirpath is the pathname of a directory
  */
@@ -252,6 +281,55 @@ program MOUNTPROG {
                ppathcnf
                MOUNTPROC_PATHCONF(dirpath) = 7;
        } = 2;
+       version MOUNT_V3 {
+               /*
+                * Does no work. It is made available in all RPC services
+                * to allow server reponse testing and timing
+                */
+               void
+               MOUNTPROC3_NULL(void) = 0;
+
+               /*      
+                * If fhs_status is 0, then fhs_fhandle contains the
+                * file handle for the directory. This file handle may
+                * be used in the NFS protocol. This procedure also adds
+                * a new entry to the mount list for this client mounting
+                * the directory.
+                * Unix authentication required.
+                */
+               mountres3
+               MOUNTPROC3_MNT(dirpath) = 1;
+
+               /*
+                * Returns the list of remotely mounted filesystems. The 
+                * mountlist contains one entry for each hostname and 
+                * directory pair.
+                */
+               mountlist
+               MOUNTPROC3_DUMP(void) = 2;
+
+               /*
+                * Removes the mount list entry for the directory
+                * Unix authentication required.
+                */
+               void
+               MOUNTPROC3_UMNT(dirpath) = 3;
+
+               /*
+                * Removes all of the mount list entries for this client
+                * Unix authentication required.
+                */
+               void
+               MOUNTPROC3_UMNTALL(void) = 4;
+
+               /*
+                * Returns a list of all the exported filesystems, and which
+                * machines are allowed to import it.
+                */
+               exports
+               MOUNTPROC3_EXPORT(void)  = 5;
+
+       } = 3;
 } = 100005;
 
 #ifdef RPC_HDR
diff --git a/mount/nfsmount_clnt.c b/mount/nfsmount_clnt.c
deleted file mode 100644 (file)
index ef57525..0000000
+++ /dev/null
@@ -1,281 +0,0 @@
-/*
- * Please do not edit this file.
- * It was generated using rpcgen.
- */
-
-#include "nfsmount.h"
-/*
- * Sun RPC is a product of Sun Microsystems, Inc. and is provided for
- * unrestricted use provided that this legend is included on all tape
- * media and as a part of the software program in whole or part.  Users
- * may copy or modify Sun RPC without charge, but are not authorized
- * to license or distribute it to anyone else except as part of a product or
- * program developed by the user or with the express written consent of
- * Sun Microsystems, Inc.
- *
- * SUN RPC IS PROVIDED AS IS WITH NO WARRANTIES OF ANY KIND INCLUDING THE
- * WARRANTIES OF DESIGN, MERCHANTIBILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE, OR ARISING FROM A COURSE OF DEALING, USAGE OR TRADE PRACTICE.
- *
- * Sun RPC is provided with no support and without any obligation on the
- * part of Sun Microsystems, Inc. to assist in its use, correction,
- * modification or enhancement.
- *
- * SUN MICROSYSTEMS, INC. SHALL HAVE NO LIABILITY WITH RESPECT TO THE
- * INFRINGEMENT OF COPYRIGHTS, TRADE SECRETS OR ANY PATENTS BY SUN RPC
- * OR ANY PART THEREOF.
- *
- * In no event will Sun Microsystems, Inc. be liable for any lost revenue
- * or profits or other special, indirect and consequential damages, even if
- * Sun has been advised of the possibility of such damages.
- *
- * Sun Microsystems, Inc.
- * 2550 Garcia Avenue
- * Mountain View, California  94043
- */
-/*
- * Copyright (c) 1985, 1990 by Sun Microsystems, Inc.
- */
-
-/* from @(#)mount.x    1.3 91/03/11 TIRPC 1.0 */
-
-#include <string.h>            /* for memset() */
-
-/* Default timeout can be changed using clnt_control() */
-static struct timeval TIMEOUT = { 25, 0 };
-
-void *
-mountproc_null_1(argp, clnt)
-       void *argp;
-       CLIENT *clnt;
-{
-       static char clnt_res;
-
-       memset((char *)&clnt_res, 0, sizeof(clnt_res));
-       if (clnt_call(clnt, MOUNTPROC_NULL, (xdrproc_t) xdr_void, argp, (xdrproc_t) xdr_void, &clnt_res, TIMEOUT) != RPC_SUCCESS) {
-               return (NULL);
-       }
-       return ((void *)&clnt_res);
-}
-
-fhstatus *
-mountproc_mnt_1(argp, clnt)
-       dirpath *argp;
-       CLIENT *clnt;
-{
-       static fhstatus clnt_res;
-
-       memset((char *)&clnt_res, 0, sizeof(clnt_res));
-       if (clnt_call(clnt, MOUNTPROC_MNT, (xdrproc_t) xdr_dirpath,
-                     (caddr_t) argp, (xdrproc_t) xdr_fhstatus,
-                     (caddr_t) &clnt_res, TIMEOUT) != RPC_SUCCESS) {
-               return (NULL);
-       }
-       return (&clnt_res);
-}
-
-mountlist *
-mountproc_dump_1(argp, clnt)
-       void *argp;
-       CLIENT *clnt;
-{
-       static mountlist clnt_res;
-
-       memset((char *)&clnt_res, 0, sizeof(clnt_res));
-       if (clnt_call(clnt, MOUNTPROC_DUMP, (xdrproc_t) xdr_void,
-                     (caddr_t) argp, (xdrproc_t) xdr_mountlist,
-                     (caddr_t) &clnt_res, TIMEOUT) != RPC_SUCCESS) {
-               return (NULL);
-       }
-       return (&clnt_res);
-}
-
-void *
-mountproc_umnt_1(argp, clnt)
-       dirpath *argp;
-       CLIENT *clnt;
-{
-       static char clnt_res;
-
-       memset((char *)&clnt_res, 0, sizeof(clnt_res));
-       if (clnt_call(clnt, MOUNTPROC_UMNT, (xdrproc_t) xdr_dirpath,
-                     (caddr_t) argp, (xdrproc_t) xdr_void,
-                     (caddr_t) &clnt_res, TIMEOUT) != RPC_SUCCESS) {
-               return (NULL);
-       }
-       return ((void *)&clnt_res);
-}
-
-void *
-mountproc_umntall_1(argp, clnt)
-       void *argp;
-       CLIENT *clnt;
-{
-       static char clnt_res;
-
-       memset((char *)&clnt_res, 0, sizeof(clnt_res));
-       if (clnt_call(clnt, MOUNTPROC_UMNTALL, (xdrproc_t) xdr_void,
-                     (caddr_t) argp, (xdrproc_t) xdr_void,
-                     (caddr_t) &clnt_res, TIMEOUT) != RPC_SUCCESS) {
-               return (NULL);
-       }
-       return ((void *)&clnt_res);
-}
-
-exports *
-mountproc_export_1(argp, clnt)
-       void *argp;
-       CLIENT *clnt;
-{
-       static exports clnt_res;
-
-       memset((char *)&clnt_res, 0, sizeof(clnt_res));
-       if (clnt_call(clnt, MOUNTPROC_EXPORT, (xdrproc_t) xdr_void,
-                     (caddr_t) argp, (xdrproc_t) xdr_exports,
-                     (caddr_t) &clnt_res, TIMEOUT) != RPC_SUCCESS) {
-               return (NULL);
-       }
-       return (&clnt_res);
-}
-
-exports *
-mountproc_exportall_1(argp, clnt)
-       void *argp;
-       CLIENT *clnt;
-{
-       static exports clnt_res;
-
-       memset((char *)&clnt_res, 0, sizeof(clnt_res));
-       if (clnt_call(clnt, MOUNTPROC_EXPORTALL, (xdrproc_t) xdr_void,
-                     (caddr_t) argp, (xdrproc_t) xdr_exports,
-                     (caddr_t) &clnt_res, TIMEOUT) != RPC_SUCCESS) {
-         return (NULL);
-       }
-       return (&clnt_res);
-}
-
-void *
-mountproc_null_2(argp, clnt)
-       void *argp;
-       CLIENT *clnt;
-{
-       static char clnt_res;
-
-       memset((char *)&clnt_res, 0, sizeof(clnt_res));
-       if (clnt_call(clnt, MOUNTPROC_NULL, (xdrproc_t) xdr_void, argp, (xdrproc_t) xdr_void, &clnt_res, TIMEOUT) != RPC_SUCCESS) {
-               return (NULL);
-       }
-       return ((void *)&clnt_res);
-}
-
-fhstatus *
-mountproc_mnt_2(argp, clnt)
-       dirpath *argp;
-       CLIENT *clnt;
-{
-       static fhstatus clnt_res;
-
-       memset((char *)&clnt_res, 0, sizeof(clnt_res));
-       if (clnt_call(clnt, MOUNTPROC_MNT, (xdrproc_t) xdr_dirpath,
-                     (caddr_t) argp, (xdrproc_t) xdr_fhstatus,
-                     (caddr_t) &clnt_res, TIMEOUT) != RPC_SUCCESS) {
-               return (NULL);
-       }
-       return (&clnt_res);
-}
-
-mountlist *
-mountproc_dump_2(argp, clnt)
-       void *argp;
-       CLIENT *clnt;
-{
-       static mountlist clnt_res;
-
-       memset((char *)&clnt_res, 0, sizeof(clnt_res));
-       if (clnt_call(clnt, MOUNTPROC_DUMP, (xdrproc_t) xdr_void, argp,
-                     (xdrproc_t) xdr_mountlist, (caddr_t) &clnt_res,
-                     TIMEOUT) != RPC_SUCCESS) {
-               return (NULL);
-       }
-       return (&clnt_res);
-}
-
-void *
-mountproc_umnt_2(argp, clnt)
-       dirpath *argp;
-       CLIENT *clnt;
-{
-       static char clnt_res;
-
-       memset((char *)&clnt_res, 0, sizeof(clnt_res));
-       if (clnt_call(clnt, MOUNTPROC_UMNT, (xdrproc_t) xdr_dirpath,
-                     (caddr_t) argp, (xdrproc_t) xdr_void,
-                     (caddr_t) &clnt_res, TIMEOUT) != RPC_SUCCESS) {
-               return (NULL);
-       }
-       return ((void *)&clnt_res);
-}
-
-void *
-mountproc_umntall_2(argp, clnt)
-       void *argp;
-       CLIENT *clnt;
-{
-       static char clnt_res;
-
-       memset((char *)&clnt_res, 0, sizeof(clnt_res));
-       if (clnt_call(clnt, MOUNTPROC_UMNTALL, (xdrproc_t) xdr_void,
-                     (caddr_t) argp, (xdrproc_t) xdr_void,
-                     (caddr_t) &clnt_res, TIMEOUT) != RPC_SUCCESS) {
-               return (NULL);
-       }
-       return ((void *)&clnt_res);
-}
-
-exports *
-mountproc_export_2(argp, clnt)
-       void *argp;
-       CLIENT *clnt;
-{
-       static exports clnt_res;
-
-       memset((char *)&clnt_res, 0, sizeof(clnt_res));
-       if (clnt_call(clnt, MOUNTPROC_EXPORT, (xdrproc_t) xdr_void,
-                     argp, (xdrproc_t) xdr_exports, (caddr_t) &clnt_res,
-                     TIMEOUT) != RPC_SUCCESS) {
-               return (NULL);
-       }
-       return (&clnt_res);
-}
-
-exports *
-mountproc_exportall_2(argp, clnt)
-       void *argp;
-       CLIENT *clnt;
-{
-       static exports clnt_res;
-
-       memset((char *)&clnt_res, 0, sizeof(clnt_res));
-       if (clnt_call(clnt, MOUNTPROC_EXPORTALL, (xdrproc_t) xdr_void, argp,
-                     (xdrproc_t) xdr_exports, (caddr_t) &clnt_res,
-                     TIMEOUT) != RPC_SUCCESS) {
-               return (NULL);
-       }
-       return (&clnt_res);
-}
-
-ppathcnf *
-mountproc_pathconf_2(argp, clnt)
-       dirpath *argp;
-       CLIENT *clnt;
-{
-       static ppathcnf clnt_res;
-
-       memset((char *)&clnt_res, 0, sizeof(clnt_res));
-       if (clnt_call(clnt, MOUNTPROC_PATHCONF, (xdrproc_t) xdr_dirpath,
-                     (caddr_t) argp, (xdrproc_t) xdr_ppathcnf,
-                     (caddr_t) &clnt_res, TIMEOUT) != RPC_SUCCESS) {
-               return (NULL);
-       }
-       return (&clnt_res);
-}
diff --git a/mount/nfsmount_xdr.c b/mount/nfsmount_xdr.c
deleted file mode 100644 (file)
index 91fbeec..0000000
+++ /dev/null
@@ -1,334 +0,0 @@
-/*
- * Please do not edit this file.
- * It was generated using rpcgen.
- */
-
-#include <rpc/types.h>
-#include <rpc/xdr.h>
-
-#include "nfsmount.h"
-/*
- * Sun RPC is a product of Sun Microsystems, Inc. and is provided for
- * unrestricted use provided that this legend is included on all tape
- * media and as a part of the software program in whole or part.  Users
- * may copy or modify Sun RPC without charge, but are not authorized
- * to license or distribute it to anyone else except as part of a product or
- * program developed by the user or with the express written consent of
- * Sun Microsystems, Inc.
- *
- * SUN RPC IS PROVIDED AS IS WITH NO WARRANTIES OF ANY KIND INCLUDING THE
- * WARRANTIES OF DESIGN, MERCHANTIBILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE, OR ARISING FROM A COURSE OF DEALING, USAGE OR TRADE PRACTICE.
- *
- * Sun RPC is provided with no support and without any obligation on the
- * part of Sun Microsystems, Inc. to assist in its use, correction,
- * modification or enhancement.
- *
- * SUN MICROSYSTEMS, INC. SHALL HAVE NO LIABILITY WITH RESPECT TO THE
- * INFRINGEMENT OF COPYRIGHTS, TRADE SECRETS OR ANY PATENTS BY SUN RPC
- * OR ANY PART THEREOF.
- *
- * In no event will Sun Microsystems, Inc. be liable for any lost revenue
- * or profits or other special, indirect and consequential damages, even if
- * Sun has been advised of the possibility of such damages.
- *
- * Sun Microsystems, Inc.
- * 2550 Garcia Avenue
- * Mountain View, California  94043
- */
-/*
- * Copyright (c) 1985, 1990 by Sun Microsystems, Inc.
- */
-
-/* from @(#)mount.x    1.3 91/03/11 TIRPC 1.0 */
-
-bool_t
-xdr_fhandle(XDR *xdrs, fhandle objp)
-{
-
-        register long *buf;
-
-        if (!xdr_opaque(xdrs, objp, FHSIZE)) {
-                return (FALSE);
-        }
-       return (TRUE);
-}
-
-bool_t
-xdr_fhstatus(XDR *xdrs, fhstatus *objp)
-{
-
-        register long *buf;
-
-        if (!xdr_u_int(xdrs, &objp->fhs_status)) {
-                return (FALSE);
-        }
-       switch (objp->fhs_status) {
-       case 0:
-                if (!xdr_fhandle(xdrs, objp->fhstatus_u.fhs_fhandle)) {
-                        return (FALSE);
-                }
-               break;
-       default:
-               break;
-       }
-       return (TRUE);
-}
-
-bool_t
-xdr_dirpath(XDR *xdrs, dirpath *objp)
-{
-
-        register long *buf;
-
-        if (!xdr_string(xdrs, objp, MNTPATHLEN)) {
-                return (FALSE);
-        }
-       return (TRUE);
-}
-
-bool_t
-xdr_name(XDR *xdrs, name *objp)
-{
-
-        register long *buf;
-
-        if (!xdr_string(xdrs, objp, MNTNAMLEN)) {
-                return (FALSE);
-        }
-       return (TRUE);
-}
-
-bool_t
-xdr_mountlist(XDR *xdrs, mountlist *objp)
-{
-
-        register long *buf;
-
-        if (!xdr_pointer(xdrs, (char **)objp, sizeof(struct mountbody), (xdrproc_t)xdr_mountbody)) {
-                return (FALSE);
-        }
-       return (TRUE);
-}
-
-bool_t
-xdr_mountbody(XDR *xdrs, mountbody *objp)
-{
-
-        register long *buf;
-
-        if (!xdr_name(xdrs, &objp->ml_hostname)) {
-                return (FALSE);
-        }
-        if (!xdr_dirpath(xdrs, &objp->ml_directory)) {
-                return (FALSE);
-        }
-        if (!xdr_mountlist(xdrs, &objp->ml_next)) {
-                return (FALSE);
-        }
-       return (TRUE);
-}
-
-bool_t
-xdr_groups(XDR *xdrs, groups *objp)
-{
-
-        register long *buf;
-
-        if (!xdr_pointer(xdrs, (char **)objp, sizeof(struct groupnode), (xdrproc_t)xdr_groupnode)) {
-                return (FALSE);
-        }
-       return (TRUE);
-}
-
-bool_t
-xdr_groupnode(XDR *xdrs, groupnode *objp)
-{
-
-        register long *buf;
-
-        if (!xdr_name(xdrs, &objp->gr_name)) {
-                return (FALSE);
-        }
-        if (!xdr_groups(xdrs, &objp->gr_next)) {
-                return (FALSE);
-        }
-       return (TRUE);
-}
-
-bool_t
-xdr_exports(XDR *xdrs, exports *objp)
-{
-
-        register long *buf;
-
-        if (!xdr_pointer(xdrs, (char **)objp, sizeof(struct exportnode), (xdrproc_t)xdr_exportnode)) {
-                return (FALSE);
-        }
-       return (TRUE);
-}
-
-bool_t
-xdr_exportnode(XDR *xdrs, exportnode *objp)
-{
-
-        register long *buf;
-
-        if (!xdr_dirpath(xdrs, &objp->ex_dir)) {
-                return (FALSE);
-        }
-        if (!xdr_groups(xdrs, &objp->ex_groups)) {
-                return (FALSE);
-        }
-        if (!xdr_exports(xdrs, &objp->ex_next)) {
-                return (FALSE);
-        }
-       return (TRUE);
-}
-
-bool_t
-xdr_ppathcnf(XDR *xdrs, ppathcnf *objp)
-{
-
-        register long *buf;
-
-        int i;
-
-        if (xdrs->x_op == XDR_ENCODE) {
-        buf = XDR_INLINE(xdrs,6 * BYTES_PER_XDR_UNIT);
-          if (buf == NULL) {
-                if (!xdr_int(xdrs, &objp->pc_link_max)) {
-                        return (FALSE);
-                }
-                if (!xdr_short(xdrs, &objp->pc_max_canon)) {
-                        return (FALSE);
-                }
-                if (!xdr_short(xdrs, &objp->pc_max_input)) {
-                        return (FALSE);
-                }
-                if (!xdr_short(xdrs, &objp->pc_name_max)) {
-                        return (FALSE);
-                }
-                if (!xdr_short(xdrs, &objp->pc_path_max)) {
-                        return (FALSE);
-                }
-                if (!xdr_short(xdrs, &objp->pc_pipe_buf)) {
-                        return (FALSE);
-                }
-
-         }
-         else {
-                IXDR_PUT_LONG(buf,objp->pc_link_max);
-                IXDR_PUT_SHORT(buf,objp->pc_max_canon);
-                IXDR_PUT_SHORT(buf,objp->pc_max_input);
-                IXDR_PUT_SHORT(buf,objp->pc_name_max);
-                IXDR_PUT_SHORT(buf,objp->pc_path_max);
-                IXDR_PUT_SHORT(buf,objp->pc_pipe_buf);
-         }
-        if (!xdr_u_char(xdrs, &objp->pc_vdisable)) {
-                return (FALSE);
-        }
-        if (!xdr_char(xdrs, &objp->pc_xxx)) {
-                return (FALSE);
-        }
-               buf = XDR_INLINE(xdrs,   2  * BYTES_PER_XDR_UNIT);
-               if (buf == NULL) {
-                if (!xdr_vector(xdrs, (char *)objp->pc_mask, 2, sizeof(short), (xdrproc_t)xdr_short)) {
-                        return (FALSE);
-                }
-
-         }
-         else {
-               { register short *genp; 
-                 for ( i = 0,genp=objp->pc_mask;
-                       i < 2; i++){
-                                IXDR_PUT_SHORT(buf,*genp++);
-                  }
-                };
-         }
-
-        return (TRUE);
-       } else if (xdrs->x_op == XDR_DECODE) {
-        buf = XDR_INLINE(xdrs,6 * BYTES_PER_XDR_UNIT);
-          if (buf == NULL) {
-                if (!xdr_int(xdrs, &objp->pc_link_max)) {
-                        return (FALSE);
-                }
-                if (!xdr_short(xdrs, &objp->pc_max_canon)) {
-                        return (FALSE);
-                }
-                if (!xdr_short(xdrs, &objp->pc_max_input)) {
-                        return (FALSE);
-                }
-                if (!xdr_short(xdrs, &objp->pc_name_max)) {
-                        return (FALSE);
-                }
-                if (!xdr_short(xdrs, &objp->pc_path_max)) {
-                        return (FALSE);
-                }
-                if (!xdr_short(xdrs, &objp->pc_pipe_buf)) {
-                        return (FALSE);
-                }
-
-         }
-         else {
-                objp->pc_link_max = IXDR_GET_LONG(buf);
-                objp->pc_max_canon = IXDR_GET_SHORT(buf);
-                objp->pc_max_input = IXDR_GET_SHORT(buf);
-                objp->pc_name_max = IXDR_GET_SHORT(buf);
-                objp->pc_path_max = IXDR_GET_SHORT(buf);
-                objp->pc_pipe_buf = IXDR_GET_SHORT(buf);
-         }
-        if (!xdr_u_char(xdrs, &objp->pc_vdisable)) {
-                return (FALSE);
-        }
-        if (!xdr_char(xdrs, &objp->pc_xxx)) {
-                return (FALSE);
-        }
-               buf = XDR_INLINE(xdrs,   2  * BYTES_PER_XDR_UNIT);
-               if (buf == NULL) {
-                if (!xdr_vector(xdrs, (char *)objp->pc_mask, 2, sizeof(short), (xdrproc_t)xdr_short)) {
-                        return (FALSE);
-                }
-
-         }
-         else {
-               { register short *genp; 
-                 for ( i = 0,genp=objp->pc_mask;
-                       i < 2; i++){
-                                *genp++ = IXDR_GET_SHORT(buf);
-                  }
-                };
-         }
-        return(TRUE);
-       }
-
-        if (!xdr_int(xdrs, &objp->pc_link_max)) {
-                return (FALSE);
-        }
-        if (!xdr_short(xdrs, &objp->pc_max_canon)) {
-                return (FALSE);
-        }
-        if (!xdr_short(xdrs, &objp->pc_max_input)) {
-                return (FALSE);
-        }
-        if (!xdr_short(xdrs, &objp->pc_name_max)) {
-                return (FALSE);
-        }
-        if (!xdr_short(xdrs, &objp->pc_path_max)) {
-                return (FALSE);
-        }
-        if (!xdr_short(xdrs, &objp->pc_pipe_buf)) {
-                return (FALSE);
-        }
-        if (!xdr_u_char(xdrs, &objp->pc_vdisable)) {
-                return (FALSE);
-        }
-        if (!xdr_char(xdrs, &objp->pc_xxx)) {
-                return (FALSE);
-        }
-        if (!xdr_vector(xdrs, (char *)objp->pc_mask, 2, sizeof(short), (xdrproc_t)xdr_short)) {
-                return (FALSE);
-        }
-       return (TRUE);
-}
diff --git a/mount/pivot_root.2 b/mount/pivot_root.2
new file mode 100644 (file)
index 0000000..1c8f168
--- /dev/null
@@ -0,0 +1,97 @@
+.TH PIVOT_ROOT 2 "Feb 23, 2000" "Linux" "System Calls"
+.SH NAME
+pivot_root \- change the root file system
+.SH SYNOPSIS
+.B #include <linux/unistd.h>
+.sp
+.B _syscall2(int,pivot_root,const char *,new_root,const char *,put_old)
+.sp
+.BI "int pivot_root(const char *" new_root ", const char *" 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
+of the current process.
+
+The typical use of \fBpivot_root\fP is during system startup, when the
+system mounts a temporary root file system (e.g. an \fBinitrd\fP), then
+mounts the real root file system, and eventually turns the latter into
+the current root of all relevant processes or threads.
+
+\fBpivot_root\fP may or may not change the current root and the current
+working directory (cwd) of any processes or threads which use the old
+root directory. The caller of \fBpivot_root\fP
+must ensure that processes with root or cwd at the old root operate
+correctly in either case. An easy way to ensure this is to change their 
+root and cwd to \fInew_root\fP before invoking \fBpivot_root\fP.
+
+The paragraph above is intentionally vague because the implementation
+of \fBpivot_root\fP may change in the future. At the time of writing,
+\fBpivot_root\fP changes root and cwd of each process or
+thread to \fInew_root\fP if they point to the old root directory. This
+is necessary in order to prevent kernel threads from keeping the old
+root directory busy with their root and cwd, even if they never access
+the file system in any way. In the future, there may be a mechanism for
+kernel threads to explicitly relinquish any access to the file system,
+such that this fairly intrusive mechanism can be removed from
+\fBpivot_root\fP.
+
+Note that this also applies to the current process: \fBpivot_root\fP may
+or may not affect its cwd. It is therefore recommended to call
+\fBchdir("/")\fP immediately after \fBpivot_root\fP.
+
+The following restrictions apply to \fInew_root\fP and \fIput_old\fP:
+.IP \- 3
+They must be directories.
+.IP \- 3
+\fInew_root\fP and \fIput_old\fP must not be on the same file system as
+the current root.
+.IP \- 3
+\fIput_old\fP must be underneath \fInew_root\fP, i.e. adding a non-zero
+number of \fB/..\fP to the string pointed to by \fIput_old\fP must yield
+the same directory as \fInew_root\fP.
+.IP \- 3
+No other file system may be mounted on \fIput_old\fP.
+.PP
+See also \fBpivot_root(8)\fP for additional usage examples.
+
+If the current root is not a mount point (e.g. after \fBchroot(2)\fP or
+\fBpivot_root\fP, see also below), not the old root directory, but the
+mount point of that file system is mounted on \fIput_old\fP.
+.SH NOTES
+\fInew_root\fP does not have to be a mount point. In this case,
+\fB/proc/mounts\fP will show the mount point of the file system containing
+\fInew_root\fP as root (\fB/\fP).
+.SH "RETURN VALUE"
+On success, zero is returned.  On error, \-1 is returned, and
+\fIerrno\fP is set appropriately.
+.SH ERRORS
+\fBpivot_root\fP may return (in \fIerrno\fP) any of the errors returned by
+\fBstat(2)\fP. Additionally, it may return:
+
+.TP
+.B EBUSY
+\fInew_root\fP or \fIput_old\fP are on the current root file system,
+or a file system is already mounted on \fIput_old\fP.
+.TP
+.B EINVAL
+\fIput_old\fP is not underneath \fInew_root\fP.
+.TP
+.B ENOTDIR
+\fInew_root\fP or \fIput_old\fP is not a directory.
+.TP
+.B EPERM
+The current process does not have the administrator capability.
+.SH BUGS
+\fBpivot_root\fP should not have to change root and cwd of all other
+processes in the system.
+
+Some of the more obscure uses of \fBpivot_root\fP may quickly lead to
+insanity.
+.SH HISTORY
+\fBpivot_root\fP was introduced in Linux 2.3.41.
+.SH "SEE ALSO"
+.BR chdir(2),
+.BR chroot(2),
+.BR initrd(4),
+.BR pivot_root(8),
+.BR stat(2)
diff --git a/mount/pivot_root.8 b/mount/pivot_root.8
new file mode 100644 (file)
index 0000000..83d1daa
--- /dev/null
@@ -0,0 +1,65 @@
+.TH PIVOT_ROOT 8 "Feb 23, 2000" "Linux" "Maintenance Commands"
+.SH NAME
+pivot_root \- change the root file system
+.SH SYNOPSIS
+.B pivot_root
+.RB \fInew_root\fP
+.RB \fIput_old\fP
+.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(8)\fP simply calls \fBpivot_root(2)\fP, 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)
diff --git a/mount/pivot_root.c b/mount/pivot_root.c
new file mode 100644 (file)
index 0000000..4ab8be8
--- /dev/null
@@ -0,0 +1,24 @@
+/* pivot_root.c - Change the root file system */
+
+/* Written 2000 by Werner Almesberger */
+
+
+#include <stdio.h>
+#include <linux/unistd.h>
+
+
+_syscall2(int,pivot_root,const char *,new_root,const char *,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;
+}
index f0d7c76c0184ec26ccbd3577aae0315dfbf9ca30..374f8a3a2989e48dec42da14041a7e0e5a1adc11 100644 (file)
 
 #define MAX_READLINKS 32
 
+/* this leaks some memory - unimportant for mount */
 char *
 myrealpath(const char *path, char *resolved_path, int maxreslth) {
-       char *npath;
+       char *npath, *buf;
        char link_path[PATH_MAX+1];
        int readlinks = 0;
-       int n;
+       int m, n;
 
        npath = resolved_path;
 
        /* If it's a relative pathname use getcwd for starters. */
        if (*path != '/') {
-               getcwd(npath, maxreslth-2);
+               if (!getcwd(npath, maxreslth-2))
+                       return NULL;
                npath += strlen(npath);
                if (npath[-1] != '/')
                        *npath++ = '/';
@@ -100,14 +102,13 @@ myrealpath(const char *path, char *resolved_path, int maxreslth) {
                                /* Otherwise back up over this component. */
                                while (*(--npath) != '/')
                                        ;
-                       /* Safe sex check. */
-                       if (strlen(path) + n >= sizeof(link_path)) {
-                               errno = ENAMETOOLONG;
-                               return NULL;
-                       }
+
                        /* Insert symlink contents into path. */
-                       strcat(link_path, path);
-                       path = xstrdup(link_path);
+                       m = strlen(path);
+                       buf = xmalloc(m + n + 1);
+                       memcpy(buf, link_path, n);
+                       memcpy(buf + n, path, m + 1);
+                       path = buf;
                }
 
                *npath++ = '/';
index 73c71fc68c58a0d434f1b281b0972c1246414c52..55b5d8e7ece7acbcdaa88f0e097c341a2d661541 100644 (file)
@@ -8,6 +8,11 @@
 
 #include <rpc/rpc.h>
 
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
 /*
  * Sun RPC is a product of Sun Microsystems, Inc. and is provided for
  * unrestricted use provided that this legend is included on all tape
 /* from @(#)mount.x    1.3 91/03/11 TIRPC 1.0 */
 #ifndef _rpcsvc_mount_h
 #define _rpcsvc_mount_h
+#include <asm/types.h>
+#define MOUNTPORT 635
 #define MNTPATHLEN 1024
 #define MNTNAMLEN 255
 #define FHSIZE 32
+#define FHSIZE3 64
 
 typedef char fhandle[FHSIZE];
-#ifdef __cplusplus 
-extern "C" bool_t xdr_fhandle(XDR *, fhandle);
-#elif __STDC__ 
-extern  bool_t xdr_fhandle(XDR *, fhandle);
-#else /* Old Style C */ 
-bool_t xdr_fhandle();
-#endif /* Old Style C */ 
 
+typedef struct {
+       u_int fhandle3_len;
+       char *fhandle3_val;
+} fhandle3;
+
+enum mountstat3 {
+       MNT_OK = 0,
+       MNT3ERR_PERM = 1,
+       MNT3ERR_NOENT = 2,
+       MNT3ERR_IO = 5,
+       MNT3ERR_ACCES = 13,
+       MNT3ERR_NOTDIR = 20,
+       MNT3ERR_INVAL = 22,
+       MNT3ERR_NAMETOOLONG = 63,
+       MNT3ERR_NOTSUPP = 10004,
+       MNT3ERR_SERVERFAULT = 10006,
+};
+typedef enum mountstat3 mountstat3;
 
 struct fhstatus {
        u_int fhs_status;
@@ -65,44 +84,29 @@ struct fhstatus {
        } fhstatus_u;
 };
 typedef struct fhstatus fhstatus;
-#ifdef __cplusplus 
-extern "C" bool_t xdr_fhstatus(XDR *, fhstatus*);
-#elif __STDC__ 
-extern  bool_t xdr_fhstatus(XDR *, fhstatus*);
-#else /* Old Style C */ 
-bool_t xdr_fhstatus();
-#endif /* Old Style C */ 
 
+struct mountres3_ok {
+       fhandle3 fhandle;
+       struct {
+               u_int auth_flavours_len;
+               int *auth_flavours_val;
+       } auth_flavours;
+};
+typedef struct mountres3_ok mountres3_ok;
 
-typedef char *dirpath;
-#ifdef __cplusplus 
-extern "C" bool_t xdr_dirpath(XDR *, dirpath*);
-#elif __STDC__ 
-extern  bool_t xdr_dirpath(XDR *, dirpath*);
-#else /* Old Style C */ 
-bool_t xdr_dirpath();
-#endif /* Old Style C */ 
+struct mountres3 {
+       mountstat3 fhs_status;
+       union {
+               mountres3_ok mountinfo;
+       } mountres3_u;
+};
+typedef struct mountres3 mountres3;
 
+typedef char *dirpath;
 
 typedef char *name;
-#ifdef __cplusplus 
-extern "C" bool_t xdr_name(XDR *, name*);
-#elif __STDC__ 
-extern  bool_t xdr_name(XDR *, name*);
-#else /* Old Style C */ 
-bool_t xdr_name();
-#endif /* Old Style C */ 
-
 
 typedef struct mountbody *mountlist;
-#ifdef __cplusplus 
-extern "C" bool_t xdr_mountlist(XDR *, mountlist*);
-#elif __STDC__ 
-extern  bool_t xdr_mountlist(XDR *, mountlist*);
-#else /* Old Style C */ 
-bool_t xdr_mountlist();
-#endif /* Old Style C */ 
-
 
 struct mountbody {
        name ml_hostname;
@@ -110,48 +114,16 @@ struct mountbody {
        mountlist ml_next;
 };
 typedef struct mountbody mountbody;
-#ifdef __cplusplus 
-extern "C" bool_t xdr_mountbody(XDR *, mountbody*);
-#elif __STDC__ 
-extern  bool_t xdr_mountbody(XDR *, mountbody*);
-#else /* Old Style C */ 
-bool_t xdr_mountbody();
-#endif /* Old Style C */ 
-
 
 typedef struct groupnode *groups;
-#ifdef __cplusplus 
-extern "C" bool_t xdr_groups(XDR *, groups*);
-#elif __STDC__ 
-extern  bool_t xdr_groups(XDR *, groups*);
-#else /* Old Style C */ 
-bool_t xdr_groups();
-#endif /* Old Style C */ 
-
 
 struct groupnode {
        name gr_name;
        groups gr_next;
 };
 typedef struct groupnode groupnode;
-#ifdef __cplusplus 
-extern "C" bool_t xdr_groupnode(XDR *, groupnode*);
-#elif __STDC__ 
-extern  bool_t xdr_groupnode(XDR *, groupnode*);
-#else /* Old Style C */ 
-bool_t xdr_groupnode();
-#endif /* Old Style C */ 
-
 
 typedef struct exportnode *exports;
-#ifdef __cplusplus 
-extern "C" bool_t xdr_exports(XDR *, exports*);
-#elif __STDC__ 
-extern  bool_t xdr_exports(XDR *, exports*);
-#else /* Old Style C */ 
-bool_t xdr_exports();
-#endif /* Old Style C */ 
-
 
 struct exportnode {
        dirpath ex_dir;
@@ -159,14 +131,6 @@ struct exportnode {
        exports ex_next;
 };
 typedef struct exportnode exportnode;
-#ifdef __cplusplus 
-extern "C" bool_t xdr_exportnode(XDR *, exportnode*);
-#elif __STDC__ 
-extern  bool_t xdr_exportnode(XDR *, exportnode*);
-#else /* Old Style C */ 
-bool_t xdr_exportnode();
-#endif /* Old Style C */ 
-
 
 struct ppathcnf {
        int pc_link_max;
@@ -180,110 +144,62 @@ struct ppathcnf {
        short pc_mask[2];
 };
 typedef struct ppathcnf ppathcnf;
-#ifdef __cplusplus 
-extern "C" bool_t xdr_ppathcnf(XDR *, ppathcnf*);
-#elif __STDC__ 
-extern  bool_t xdr_ppathcnf(XDR *, ppathcnf*);
-#else /* Old Style C */ 
-bool_t xdr_ppathcnf();
-#endif /* Old Style C */ 
-
 #endif /*!_rpcsvc_mount_h*/
 
-#define MOUNTPROG ((u_long)100005)
-#define MOUNTVERS ((u_long)1)
+#define MOUNTPROG 100005
+#define MOUNTVERS 1
 
-#ifdef __cplusplus
-#define MOUNTPROC_NULL ((u_long)0)
-extern "C" void * mountproc_null_1(void *, CLIENT *);
-extern "C" void * mountproc_null_1_svc(void *, struct svc_req *);
-#define MOUNTPROC_MNT ((u_long)1)
-extern "C" fhstatus * mountproc_mnt_1(dirpath *, CLIENT *);
-extern "C" fhstatus * mountproc_mnt_1_svc(dirpath *, struct svc_req *);
-#define MOUNTPROC_DUMP ((u_long)2)
-extern "C" mountlist * mountproc_dump_1(void *, CLIENT *);
-extern "C" mountlist * mountproc_dump_1_svc(void *, struct svc_req *);
-#define MOUNTPROC_UMNT ((u_long)3)
-extern "C" void * mountproc_umnt_1(dirpath *, CLIENT *);
-extern "C" void * mountproc_umnt_1_svc(dirpath *, struct svc_req *);
-#define MOUNTPROC_UMNTALL ((u_long)4)
-extern "C" void * mountproc_umntall_1(void *, CLIENT *);
-extern "C" void * mountproc_umntall_1_svc(void *, struct svc_req *);
-#define MOUNTPROC_EXPORT ((u_long)5)
-extern "C" exports * mountproc_export_1(void *, CLIENT *);
-extern "C" exports * mountproc_export_1_svc(void *, struct svc_req *);
-#define MOUNTPROC_EXPORTALL ((u_long)6)
-extern "C" exports * mountproc_exportall_1(void *, CLIENT *);
-extern "C" exports * mountproc_exportall_1_svc(void *, struct svc_req *);
-
-#elif __STDC__
-#define MOUNTPROC_NULL ((u_long)0)
+#if defined(__STDC__) || defined(__cplusplus)
+#define MOUNTPROC_NULL 0
 extern  void * mountproc_null_1(void *, CLIENT *);
 extern  void * mountproc_null_1_svc(void *, struct svc_req *);
-#define MOUNTPROC_MNT ((u_long)1)
+#define MOUNTPROC_MNT 1
 extern  fhstatus * mountproc_mnt_1(dirpath *, CLIENT *);
 extern  fhstatus * mountproc_mnt_1_svc(dirpath *, struct svc_req *);
-#define MOUNTPROC_DUMP ((u_long)2)
+#define MOUNTPROC_DUMP 2
 extern  mountlist * mountproc_dump_1(void *, CLIENT *);
 extern  mountlist * mountproc_dump_1_svc(void *, struct svc_req *);
-#define MOUNTPROC_UMNT ((u_long)3)
+#define MOUNTPROC_UMNT 3
 extern  void * mountproc_umnt_1(dirpath *, CLIENT *);
 extern  void * mountproc_umnt_1_svc(dirpath *, struct svc_req *);
-#define MOUNTPROC_UMNTALL ((u_long)4)
+#define MOUNTPROC_UMNTALL 4
 extern  void * mountproc_umntall_1(void *, CLIENT *);
 extern  void * mountproc_umntall_1_svc(void *, struct svc_req *);
-#define MOUNTPROC_EXPORT ((u_long)5)
+#define MOUNTPROC_EXPORT 5
 extern  exports * mountproc_export_1(void *, CLIENT *);
 extern  exports * mountproc_export_1_svc(void *, struct svc_req *);
-#define MOUNTPROC_EXPORTALL ((u_long)6)
+#define MOUNTPROC_EXPORTALL 6
 extern  exports * mountproc_exportall_1(void *, CLIENT *);
 extern  exports * mountproc_exportall_1_svc(void *, struct svc_req *);
+extern int mountprog_1_freeresult (SVCXPRT *, xdrproc_t, caddr_t);
 
-#else /* Old Style C */ 
-#define MOUNTPROC_NULL ((u_long)0)
+#else /* K&R C */
+#define MOUNTPROC_NULL 0
 extern  void * mountproc_null_1();
 extern  void * mountproc_null_1_svc();
-#define MOUNTPROC_MNT ((u_long)1)
+#define MOUNTPROC_MNT 1
 extern  fhstatus * mountproc_mnt_1();
 extern  fhstatus * mountproc_mnt_1_svc();
-#define MOUNTPROC_DUMP ((u_long)2)
+#define MOUNTPROC_DUMP 2
 extern  mountlist * mountproc_dump_1();
 extern  mountlist * mountproc_dump_1_svc();
-#define MOUNTPROC_UMNT ((u_long)3)
+#define MOUNTPROC_UMNT 3
 extern  void * mountproc_umnt_1();
 extern  void * mountproc_umnt_1_svc();
-#define MOUNTPROC_UMNTALL ((u_long)4)
+#define MOUNTPROC_UMNTALL 4
 extern  void * mountproc_umntall_1();
 extern  void * mountproc_umntall_1_svc();
-#define MOUNTPROC_EXPORT ((u_long)5)
+#define MOUNTPROC_EXPORT 5
 extern  exports * mountproc_export_1();
 extern  exports * mountproc_export_1_svc();
-#define MOUNTPROC_EXPORTALL ((u_long)6)
+#define MOUNTPROC_EXPORTALL 6
 extern  exports * mountproc_exportall_1();
 extern  exports * mountproc_exportall_1_svc();
-#endif /* Old Style C */ 
-#define MOUNTVERS_POSIX ((u_long)2)
+extern int mountprog_1_freeresult ();
+#endif /* K&R C */
+#define MOUNTVERS_POSIX 2
 
-#ifdef __cplusplus
-extern "C" void * mountproc_null_2(void *, CLIENT *);
-extern "C" void * mountproc_null_2_svc(void *, struct svc_req *);
-extern "C" fhstatus * mountproc_mnt_2(dirpath *, CLIENT *);
-extern "C" fhstatus * mountproc_mnt_2_svc(dirpath *, struct svc_req *);
-extern "C" mountlist * mountproc_dump_2(void *, CLIENT *);
-extern "C" mountlist * mountproc_dump_2_svc(void *, struct svc_req *);
-extern "C" void * mountproc_umnt_2(dirpath *, CLIENT *);
-extern "C" void * mountproc_umnt_2_svc(dirpath *, struct svc_req *);
-extern "C" void * mountproc_umntall_2(void *, CLIENT *);
-extern "C" void * mountproc_umntall_2_svc(void *, struct svc_req *);
-extern "C" exports * mountproc_export_2(void *, CLIENT *);
-extern "C" exports * mountproc_export_2_svc(void *, struct svc_req *);
-extern "C" exports * mountproc_exportall_2(void *, CLIENT *);
-extern "C" exports * mountproc_exportall_2_svc(void *, struct svc_req *);
-#define MOUNTPROC_PATHCONF ((u_long)7)
-extern "C" ppathcnf * mountproc_pathconf_2(dirpath *, CLIENT *);
-extern "C" ppathcnf * mountproc_pathconf_2_svc(dirpath *, struct svc_req *);
-
-#elif __STDC__
+#if defined(__STDC__) || defined(__cplusplus)
 extern  void * mountproc_null_2(void *, CLIENT *);
 extern  void * mountproc_null_2_svc(void *, struct svc_req *);
 extern  fhstatus * mountproc_mnt_2(dirpath *, CLIENT *);
@@ -298,11 +214,12 @@ extern  exports * mountproc_export_2(void *, CLIENT *);
 extern  exports * mountproc_export_2_svc(void *, struct svc_req *);
 extern  exports * mountproc_exportall_2(void *, CLIENT *);
 extern  exports * mountproc_exportall_2_svc(void *, struct svc_req *);
-#define MOUNTPROC_PATHCONF ((u_long)7)
+#define MOUNTPROC_PATHCONF 7
 extern  ppathcnf * mountproc_pathconf_2(dirpath *, CLIENT *);
 extern  ppathcnf * mountproc_pathconf_2_svc(dirpath *, struct svc_req *);
+extern int mountprog_2_freeresult (SVCXPRT *, xdrproc_t, caddr_t);
 
-#else /* Old Style C */ 
+#else /* K&R C */
 extern  void * mountproc_null_2();
 extern  void * mountproc_null_2_svc();
 extern  fhstatus * mountproc_mnt_2();
@@ -317,9 +234,96 @@ extern  exports * mountproc_export_2();
 extern  exports * mountproc_export_2_svc();
 extern  exports * mountproc_exportall_2();
 extern  exports * mountproc_exportall_2_svc();
-#define MOUNTPROC_PATHCONF ((u_long)7)
+#define MOUNTPROC_PATHCONF 7
 extern  ppathcnf * mountproc_pathconf_2();
 extern  ppathcnf * mountproc_pathconf_2_svc();
-#endif /* Old Style C */ 
+extern int mountprog_2_freeresult ();
+#endif /* K&R C */
+#define MOUNT_V3 3
+
+#if defined(__STDC__) || defined(__cplusplus)
+#define MOUNTPROC3_NULL 0
+extern  void * mountproc3_null_3(void *, CLIENT *);
+extern  void * mountproc3_null_3_svc(void *, struct svc_req *);
+#define MOUNTPROC3_MNT 1
+extern  mountres3 * mountproc3_mnt_3(dirpath *, CLIENT *);
+extern  mountres3 * mountproc3_mnt_3_svc(dirpath *, struct svc_req *);
+#define MOUNTPROC3_DUMP 2
+extern  mountlist * mountproc3_dump_3(void *, CLIENT *);
+extern  mountlist * mountproc3_dump_3_svc(void *, struct svc_req *);
+#define MOUNTPROC3_UMNT 3
+extern  void * mountproc3_umnt_3(dirpath *, CLIENT *);
+extern  void * mountproc3_umnt_3_svc(dirpath *, struct svc_req *);
+#define MOUNTPROC3_UMNTALL 4
+extern  void * mountproc3_umntall_3(void *, CLIENT *);
+extern  void * mountproc3_umntall_3_svc(void *, struct svc_req *);
+#define MOUNTPROC3_EXPORT 5
+extern  exports * mountproc3_export_3(void *, CLIENT *);
+extern  exports * mountproc3_export_3_svc(void *, struct svc_req *);
+extern int mountprog_3_freeresult (SVCXPRT *, xdrproc_t, caddr_t);
+
+#else /* K&R C */
+#define MOUNTPROC3_NULL 0
+extern  void * mountproc3_null_3();
+extern  void * mountproc3_null_3_svc();
+#define MOUNTPROC3_MNT 1
+extern  mountres3 * mountproc3_mnt_3();
+extern  mountres3 * mountproc3_mnt_3_svc();
+#define MOUNTPROC3_DUMP 2
+extern  mountlist * mountproc3_dump_3();
+extern  mountlist * mountproc3_dump_3_svc();
+#define MOUNTPROC3_UMNT 3
+extern  void * mountproc3_umnt_3();
+extern  void * mountproc3_umnt_3_svc();
+#define MOUNTPROC3_UMNTALL 4
+extern  void * mountproc3_umntall_3();
+extern  void * mountproc3_umntall_3_svc();
+#define MOUNTPROC3_EXPORT 5
+extern  exports * mountproc3_export_3();
+extern  exports * mountproc3_export_3_svc();
+extern int mountprog_3_freeresult ();
+#endif /* K&R C */
+
+/* the xdr functions */
+
+#if defined(__STDC__) || defined(__cplusplus)
+extern  bool_t xdr_fhandle (XDR *, fhandle);
+extern  bool_t xdr_fhandle3 (XDR *, fhandle3*);
+extern  bool_t xdr_mountstat3 (XDR *, mountstat3*);
+extern  bool_t xdr_fhstatus (XDR *, fhstatus*);
+extern  bool_t xdr_mountres3_ok (XDR *, mountres3_ok*);
+extern  bool_t xdr_mountres3 (XDR *, mountres3*);
+extern  bool_t xdr_dirpath (XDR *, dirpath*);
+extern  bool_t xdr_name (XDR *, name*);
+extern  bool_t xdr_mountlist (XDR *, mountlist*);
+extern  bool_t xdr_mountbody (XDR *, mountbody*);
+extern  bool_t xdr_groups (XDR *, groups*);
+extern  bool_t xdr_groupnode (XDR *, groupnode*);
+extern  bool_t xdr_exports (XDR *, exports*);
+extern  bool_t xdr_exportnode (XDR *, exportnode*);
+extern  bool_t xdr_ppathcnf (XDR *, ppathcnf*);
+
+#else /* K&R C */
+extern bool_t xdr_fhandle ();
+extern bool_t xdr_fhandle3 ();
+extern bool_t xdr_mountstat3 ();
+extern bool_t xdr_fhstatus ();
+extern bool_t xdr_mountres3_ok ();
+extern bool_t xdr_mountres3 ();
+extern bool_t xdr_dirpath ();
+extern bool_t xdr_name ();
+extern bool_t xdr_mountlist ();
+extern bool_t xdr_mountbody ();
+extern bool_t xdr_groups ();
+extern bool_t xdr_groupnode ();
+extern bool_t xdr_exports ();
+extern bool_t xdr_exportnode ();
+extern bool_t xdr_ppathcnf ();
+
+#endif /* K&R C */
+
+#ifdef __cplusplus
+}
+#endif
 
 #endif /* !_NFSMOUNT_H_RPCGEN */
index 90590eb2cd4a35161f3de746de15a767a236802d..c27e74b7ce30dc21e67ed5275a3d39dcc887e864 100644 (file)
 #ifdef RPC_CLNT
 %#include <string.h>           /* for memset() */
 #endif
+%#include <asm/types.h>
 
+const MOUNTPORT = 635;
 const MNTPATHLEN = 1024;       /* maximum bytes in a pathname argument */
 const MNTNAMLEN = 255;         /* maximum bytes in a name argument */
 const FHSIZE = 32;             /* size in bytes of a file handle */
+const FHSIZE3 = 64;            /* size in bytes of a file handle */
 
 /*
  * The fhandle is the file handle that the server passes to the client.
@@ -58,6 +61,20 @@ const FHSIZE = 32;           /* size in bytes of a file handle */
  * server needs to distinguish an individual file.
  */
 typedef opaque fhandle[FHSIZE];        
+typedef opaque fhandle3<FHSIZE3>;
+
+enum mountstat3 {
+       MNT_OK                  = 0,            /* no error */
+       MNT3ERR_PERM            = 1,            /* not owner */
+       MNT3ERR_NOENT           = 2,            /* No such file or directory */
+       MNT3ERR_IO              = 5,            /* I/O error */
+       MNT3ERR_ACCES           = 13,           /* Permission denied */
+       MNT3ERR_NOTDIR          = 20,           /* Not a directory */
+       MNT3ERR_INVAL           = 22,           /* Invalid argument */
+       MNT3ERR_NAMETOOLONG     = 63,           /* File name too long */
+       MNT3ERR_NOTSUPP         = 10004,        /* Operation not supported */
+       MNT3ERR_SERVERFAULT     = 10006         /* A failure on the server */
+};
 
 /*
  * If a status of zero is returned, the call completed successfully, and 
@@ -71,6 +88,18 @@ default:
        void;
 };
 
+struct mountres3_ok {
+       fhandle3 fhandle;
+       int auth_flavours<>;
+};
+
+union mountres3 switch (mountstat3 fhs_status) {
+case MNT_OK:
+       mountres3_ok mountinfo;
+default:
+       void;
+};
+
 /*
  * The type dirpath is the pathname of a directory
  */
@@ -252,6 +281,55 @@ program MOUNTPROG {
                ppathcnf
                MOUNTPROC_PATHCONF(dirpath) = 7;
        } = 2;
+       version MOUNT_V3 {
+               /*
+                * Does no work. It is made available in all RPC services
+                * to allow server reponse testing and timing
+                */
+               void
+               MOUNTPROC3_NULL(void) = 0;
+
+               /*      
+                * If fhs_status is 0, then fhs_fhandle contains the
+                * file handle for the directory. This file handle may
+                * be used in the NFS protocol. This procedure also adds
+                * a new entry to the mount list for this client mounting
+                * the directory.
+                * Unix authentication required.
+                */
+               mountres3
+               MOUNTPROC3_MNT(dirpath) = 1;
+
+               /*
+                * Returns the list of remotely mounted filesystems. The 
+                * mountlist contains one entry for each hostname and 
+                * directory pair.
+                */
+               mountlist
+               MOUNTPROC3_DUMP(void) = 2;
+
+               /*
+                * Removes the mount list entry for the directory
+                * Unix authentication required.
+                */
+               void
+               MOUNTPROC3_UMNT(dirpath) = 3;
+
+               /*
+                * Removes all of the mount list entries for this client
+                * Unix authentication required.
+                */
+               void
+               MOUNTPROC3_UMNTALL(void) = 4;
+
+               /*
+                * Returns a list of all the exported filesystems, and which
+                * machines are allowed to import it.
+                */
+               exports
+               MOUNTPROC3_EXPORT(void)  = 5;
+
+       } = 3;
 } = 100005;
 
 #ifdef RPC_HDR
index a77f4c5ebc11ff447d1dcf1d55c082590b65cab6..053d357afb3e642dfcb3c555afc2fe5d8b7283af 100644 (file)
@@ -3,6 +3,7 @@
  * It was generated using rpcgen.
  */
 
+#include <memory.h> /* for memset */
 #include "nfsmount.h"
 /*
  * Sun RPC is a product of Sun Microsystems, Inc. and is provided for
  */
 
 /* from @(#)mount.x    1.3 91/03/11 TIRPC 1.0 */
-
-#include <string.h>            /* for memset() */
+#include <string.h>            /* for memset() */
+#include <asm/types.h>
 
 /* Default timeout can be changed using clnt_control() */
 static struct timeval TIMEOUT = { 25, 0 };
 
 void *
-mountproc_null_1(argp, clnt)
-       void *argp;
-       CLIENT *clnt;
+mountproc_null_1(void *argp, CLIENT *clnt)
 {
        static char clnt_res;
 
        memset((char *)&clnt_res, 0, sizeof(clnt_res));
-       if (clnt_call(clnt, MOUNTPROC_NULL, (xdrproc_t) xdr_void, argp, (xdrproc_t) xdr_void, &clnt_res, TIMEOUT) != RPC_SUCCESS) {
+       if (clnt_call (clnt, MOUNTPROC_NULL,
+               (xdrproc_t) xdr_void, (caddr_t) argp,
+               (xdrproc_t) xdr_void, (caddr_t) &clnt_res,
+               TIMEOUT) != RPC_SUCCESS) {
                return (NULL);
        }
        return ((void *)&clnt_res);
 }
 
 fhstatus *
-mountproc_mnt_1(argp, clnt)
-       dirpath *argp;
-       CLIENT *clnt;
+mountproc_mnt_1(dirpath *argp, CLIENT *clnt)
 {
        static fhstatus clnt_res;
 
        memset((char *)&clnt_res, 0, sizeof(clnt_res));
-       if (clnt_call(clnt, MOUNTPROC_MNT, (xdrproc_t) xdr_dirpath, argp, (xdrproc_t) xdr_fhstatus, &clnt_res, TIMEOUT) != RPC_SUCCESS) {
+       if (clnt_call (clnt, MOUNTPROC_MNT,
+               (xdrproc_t) xdr_dirpath, (caddr_t) argp,
+               (xdrproc_t) xdr_fhstatus, (caddr_t) &clnt_res,
+               TIMEOUT) != RPC_SUCCESS) {
                return (NULL);
        }
        return (&clnt_res);
 }
 
 mountlist *
-mountproc_dump_1(argp, clnt)
-       void *argp;
-       CLIENT *clnt;
+mountproc_dump_1(void *argp, CLIENT *clnt)
 {
        static mountlist clnt_res;
 
        memset((char *)&clnt_res, 0, sizeof(clnt_res));
-       if (clnt_call(clnt, MOUNTPROC_DUMP, (xdrproc_t) xdr_void, argp, (xdrproc_t) xdr_mountlist, &clnt_res, TIMEOUT) != RPC_SUCCESS) {
+       if (clnt_call (clnt, MOUNTPROC_DUMP,
+               (xdrproc_t) xdr_void, (caddr_t) argp,
+               (xdrproc_t) xdr_mountlist, (caddr_t) &clnt_res,
+               TIMEOUT) != RPC_SUCCESS) {
                return (NULL);
        }
        return (&clnt_res);
 }
 
 void *
-mountproc_umnt_1(argp, clnt)
-       dirpath *argp;
-       CLIENT *clnt;
+mountproc_umnt_1(dirpath *argp, CLIENT *clnt)
 {
        static char clnt_res;
 
        memset((char *)&clnt_res, 0, sizeof(clnt_res));
-       if (clnt_call(clnt, MOUNTPROC_UMNT, (xdrproc_t) xdr_dirpath, argp, (xdrproc_t) xdr_void, &clnt_res, TIMEOUT) != RPC_SUCCESS) {
+       if (clnt_call (clnt, MOUNTPROC_UMNT,
+               (xdrproc_t) xdr_dirpath, (caddr_t) argp,
+               (xdrproc_t) xdr_void, (caddr_t) &clnt_res,
+               TIMEOUT) != RPC_SUCCESS) {
                return (NULL);
        }
        return ((void *)&clnt_res);
 }
 
 void *
-mountproc_umntall_1(argp, clnt)
-       void *argp;
-       CLIENT *clnt;
+mountproc_umntall_1(void *argp, CLIENT *clnt)
 {
        static char clnt_res;
 
        memset((char *)&clnt_res, 0, sizeof(clnt_res));
-       if (clnt_call(clnt, MOUNTPROC_UMNTALL, (xdrproc_t) xdr_void, argp, (xdrproc_t) xdr_void, &clnt_res, TIMEOUT) != RPC_SUCCESS) {
+       if (clnt_call (clnt, MOUNTPROC_UMNTALL,
+               (xdrproc_t) xdr_void, (caddr_t) argp,
+               (xdrproc_t) xdr_void, (caddr_t) &clnt_res,
+               TIMEOUT) != RPC_SUCCESS) {
                return (NULL);
        }
        return ((void *)&clnt_res);
 }
 
 exports *
-mountproc_export_1(argp, clnt)
-       void *argp;
-       CLIENT *clnt;
+mountproc_export_1(void *argp, CLIENT *clnt)
 {
        static exports clnt_res;
 
        memset((char *)&clnt_res, 0, sizeof(clnt_res));
-       if (clnt_call(clnt, MOUNTPROC_EXPORT, (xdrproc_t) xdr_void, argp, (xdrproc_t) xdr_exports, &clnt_res, TIMEOUT) != RPC_SUCCESS) {
+       if (clnt_call (clnt, MOUNTPROC_EXPORT,
+               (xdrproc_t) xdr_void, (caddr_t) argp,
+               (xdrproc_t) xdr_exports, (caddr_t) &clnt_res,
+               TIMEOUT) != RPC_SUCCESS) {
                return (NULL);
        }
        return (&clnt_res);
 }
 
 exports *
-mountproc_exportall_1(argp, clnt)
-       void *argp;
-       CLIENT *clnt;
+mountproc_exportall_1(void *argp, CLIENT *clnt)
 {
        static exports clnt_res;
 
        memset((char *)&clnt_res, 0, sizeof(clnt_res));
-       if (clnt_call(clnt, MOUNTPROC_EXPORTALL, (xdrproc_t) xdr_void, argp, (xdrproc_t) xdr_exports, &clnt_res, TIMEOUT) != RPC_SUCCESS) {
+       if (clnt_call (clnt, MOUNTPROC_EXPORTALL,
+               (xdrproc_t) xdr_void, (caddr_t) argp,
+               (xdrproc_t) xdr_exports, (caddr_t) &clnt_res,
+               TIMEOUT) != RPC_SUCCESS) {
                return (NULL);
        }
        return (&clnt_res);
 }
 
 void *
-mountproc_null_2(argp, clnt)
-       void *argp;
-       CLIENT *clnt;
+mountproc_null_2(void *argp, CLIENT *clnt)
 {
        static char clnt_res;
 
        memset((char *)&clnt_res, 0, sizeof(clnt_res));
-       if (clnt_call(clnt, MOUNTPROC_NULL, (xdrproc_t) xdr_void, argp, (xdrproc_t) xdr_void, &clnt_res, TIMEOUT) != RPC_SUCCESS) {
+       if (clnt_call (clnt, MOUNTPROC_NULL,
+               (xdrproc_t) xdr_void, (caddr_t) argp,
+               (xdrproc_t) xdr_void, (caddr_t) &clnt_res,
+               TIMEOUT) != RPC_SUCCESS) {
                return (NULL);
        }
        return ((void *)&clnt_res);
 }
 
 fhstatus *
-mountproc_mnt_2(argp, clnt)
-       dirpath *argp;
-       CLIENT *clnt;
+mountproc_mnt_2(dirpath *argp, CLIENT *clnt)
 {
        static fhstatus clnt_res;
 
        memset((char *)&clnt_res, 0, sizeof(clnt_res));
-       if (clnt_call(clnt, MOUNTPROC_MNT, (xdrproc_t) xdr_dirpath, argp, (xdrproc_t) xdr_fhstatus, &clnt_res, TIMEOUT) != RPC_SUCCESS) {
+       if (clnt_call (clnt, MOUNTPROC_MNT,
+               (xdrproc_t) xdr_dirpath, (caddr_t) argp,
+               (xdrproc_t) xdr_fhstatus, (caddr_t) &clnt_res,
+               TIMEOUT) != RPC_SUCCESS) {
                return (NULL);
        }
        return (&clnt_res);
 }
 
 mountlist *
-mountproc_dump_2(argp, clnt)
-       void *argp;
-       CLIENT *clnt;
+mountproc_dump_2(void *argp, CLIENT *clnt)
 {
        static mountlist clnt_res;
 
        memset((char *)&clnt_res, 0, sizeof(clnt_res));
-       if (clnt_call(clnt, MOUNTPROC_DUMP, (xdrproc_t) xdr_void, argp, (xdrproc_t) xdr_mountlist, &clnt_res, TIMEOUT) != RPC_SUCCESS) {
+       if (clnt_call (clnt, MOUNTPROC_DUMP,
+               (xdrproc_t) xdr_void, (caddr_t) argp,
+               (xdrproc_t) xdr_mountlist, (caddr_t) &clnt_res,
+               TIMEOUT) != RPC_SUCCESS) {
                return (NULL);
        }
        return (&clnt_res);
 }
 
 void *
-mountproc_umnt_2(argp, clnt)
-       dirpath *argp;
-       CLIENT *clnt;
+mountproc_umnt_2(dirpath *argp, CLIENT *clnt)
 {
        static char clnt_res;
 
        memset((char *)&clnt_res, 0, sizeof(clnt_res));
-       if (clnt_call(clnt, MOUNTPROC_UMNT, (xdrproc_t) xdr_dirpath, argp, (xdrproc_t) xdr_void, &clnt_res, TIMEOUT) != RPC_SUCCESS) {
+       if (clnt_call (clnt, MOUNTPROC_UMNT,
+               (xdrproc_t) xdr_dirpath, (caddr_t) argp,
+               (xdrproc_t) xdr_void, (caddr_t) &clnt_res,
+               TIMEOUT) != RPC_SUCCESS) {
                return (NULL);
        }
        return ((void *)&clnt_res);
 }
 
 void *
-mountproc_umntall_2(argp, clnt)
-       void *argp;
-       CLIENT *clnt;
+mountproc_umntall_2(void *argp, CLIENT *clnt)
 {
        static char clnt_res;
 
        memset((char *)&clnt_res, 0, sizeof(clnt_res));
-       if (clnt_call(clnt, MOUNTPROC_UMNTALL, (xdrproc_t) xdr_void, argp, (xdrproc_t) xdr_void, &clnt_res, TIMEOUT) != RPC_SUCCESS) {
+       if (clnt_call (clnt, MOUNTPROC_UMNTALL,
+               (xdrproc_t) xdr_void, (caddr_t) argp,
+               (xdrproc_t) xdr_void, (caddr_t) &clnt_res,
+               TIMEOUT) != RPC_SUCCESS) {
                return (NULL);
        }
        return ((void *)&clnt_res);
 }
 
 exports *
-mountproc_export_2(argp, clnt)
-       void *argp;
-       CLIENT *clnt;
+mountproc_export_2(void *argp, CLIENT *clnt)
 {
        static exports clnt_res;
 
        memset((char *)&clnt_res, 0, sizeof(clnt_res));
-       if (clnt_call(clnt, MOUNTPROC_EXPORT, (xdrproc_t) xdr_void, argp, (xdrproc_t) xdr_exports, &clnt_res, TIMEOUT) != RPC_SUCCESS) {
+       if (clnt_call (clnt, MOUNTPROC_EXPORT,
+               (xdrproc_t) xdr_void, (caddr_t) argp,
+               (xdrproc_t) xdr_exports, (caddr_t) &clnt_res,
+               TIMEOUT) != RPC_SUCCESS) {
                return (NULL);
        }
        return (&clnt_res);
 }
 
 exports *
-mountproc_exportall_2(argp, clnt)
-       void *argp;
-       CLIENT *clnt;
+mountproc_exportall_2(void *argp, CLIENT *clnt)
 {
        static exports clnt_res;
 
        memset((char *)&clnt_res, 0, sizeof(clnt_res));
-       if (clnt_call(clnt, MOUNTPROC_EXPORTALL, (xdrproc_t) xdr_void, argp, (xdrproc_t) xdr_exports, &clnt_res, TIMEOUT) != RPC_SUCCESS) {
+       if (clnt_call (clnt, MOUNTPROC_EXPORTALL,
+               (xdrproc_t) xdr_void, (caddr_t) argp,
+               (xdrproc_t) xdr_exports, (caddr_t) &clnt_res,
+               TIMEOUT) != RPC_SUCCESS) {
                return (NULL);
        }
        return (&clnt_res);
 }
 
 ppathcnf *
-mountproc_pathconf_2(argp, clnt)
-       dirpath *argp;
-       CLIENT *clnt;
+mountproc_pathconf_2(dirpath *argp, CLIENT *clnt)
 {
        static ppathcnf clnt_res;
 
        memset((char *)&clnt_res, 0, sizeof(clnt_res));
-       if (clnt_call(clnt, MOUNTPROC_PATHCONF, (xdrproc_t) xdr_dirpath, argp, (xdrproc_t) xdr_ppathcnf, &clnt_res, TIMEOUT) != RPC_SUCCESS) {
+       if (clnt_call (clnt, MOUNTPROC_PATHCONF,
+               (xdrproc_t) xdr_dirpath, (caddr_t) argp,
+               (xdrproc_t) xdr_ppathcnf, (caddr_t) &clnt_res,
+               TIMEOUT) != RPC_SUCCESS) {
+               return (NULL);
+       }
+       return (&clnt_res);
+}
+
+void *
+mountproc3_null_3(void *argp, CLIENT *clnt)
+{
+       static char clnt_res;
+
+       memset((char *)&clnt_res, 0, sizeof(clnt_res));
+       if (clnt_call (clnt, MOUNTPROC3_NULL,
+               (xdrproc_t) xdr_void, (caddr_t) argp,
+               (xdrproc_t) xdr_void, (caddr_t) &clnt_res,
+               TIMEOUT) != RPC_SUCCESS) {
+               return (NULL);
+       }
+       return ((void *)&clnt_res);
+}
+
+mountres3 *
+mountproc3_mnt_3(dirpath *argp, CLIENT *clnt)
+{
+       static mountres3 clnt_res;
+
+       memset((char *)&clnt_res, 0, sizeof(clnt_res));
+       if (clnt_call (clnt, MOUNTPROC3_MNT,
+               (xdrproc_t) xdr_dirpath, (caddr_t) argp,
+               (xdrproc_t) xdr_mountres3, (caddr_t) &clnt_res,
+               TIMEOUT) != RPC_SUCCESS) {
+               return (NULL);
+       }
+       return (&clnt_res);
+}
+
+mountlist *
+mountproc3_dump_3(void *argp, CLIENT *clnt)
+{
+       static mountlist clnt_res;
+
+       memset((char *)&clnt_res, 0, sizeof(clnt_res));
+       if (clnt_call (clnt, MOUNTPROC3_DUMP,
+               (xdrproc_t) xdr_void, (caddr_t) argp,
+               (xdrproc_t) xdr_mountlist, (caddr_t) &clnt_res,
+               TIMEOUT) != RPC_SUCCESS) {
+               return (NULL);
+       }
+       return (&clnt_res);
+}
+
+void *
+mountproc3_umnt_3(dirpath *argp, CLIENT *clnt)
+{
+       static char clnt_res;
+
+       memset((char *)&clnt_res, 0, sizeof(clnt_res));
+       if (clnt_call (clnt, MOUNTPROC3_UMNT,
+               (xdrproc_t) xdr_dirpath, (caddr_t) argp,
+               (xdrproc_t) xdr_void, (caddr_t) &clnt_res,
+               TIMEOUT) != RPC_SUCCESS) {
+               return (NULL);
+       }
+       return ((void *)&clnt_res);
+}
+
+void *
+mountproc3_umntall_3(void *argp, CLIENT *clnt)
+{
+       static char clnt_res;
+
+       memset((char *)&clnt_res, 0, sizeof(clnt_res));
+       if (clnt_call (clnt, MOUNTPROC3_UMNTALL,
+               (xdrproc_t) xdr_void, (caddr_t) argp,
+               (xdrproc_t) xdr_void, (caddr_t) &clnt_res,
+               TIMEOUT) != RPC_SUCCESS) {
+               return (NULL);
+       }
+       return ((void *)&clnt_res);
+}
+
+exports *
+mountproc3_export_3(void *argp, CLIENT *clnt)
+{
+       static exports clnt_res;
+
+       memset((char *)&clnt_res, 0, sizeof(clnt_res));
+       if (clnt_call (clnt, MOUNTPROC3_EXPORT,
+               (xdrproc_t) xdr_void, (caddr_t) argp,
+               (xdrproc_t) xdr_exports, (caddr_t) &clnt_res,
+               TIMEOUT) != RPC_SUCCESS) {
                return (NULL);
        }
        return (&clnt_res);
index 6f539c24fa03ead48cf2bf60382452f8c190c7df..c22492de34baaf28a396896fe5d9a5ce600c3d19 100644 (file)
  */
 
 /* from @(#)mount.x    1.3 91/03/11 TIRPC 1.0 */
+#include <asm/types.h>
 
 bool_t
-xdr_fhandle(xdrs, objp)
-       XDR *xdrs;
-       fhandle objp;
+xdr_fhandle (XDR *xdrs, fhandle objp)
 {
+       register int32_t *buf;
 
-        register long *buf;
+        if (!xdr_opaque (xdrs, objp, FHSIZE))
+                return FALSE;
+       return TRUE;
+}
+
+bool_t
+xdr_fhandle3 (XDR *xdrs, fhandle3 *objp)
+{
+       register int32_t *buf;
 
-        if (!xdr_opaque(xdrs, objp, FHSIZE)) {
-                return (FALSE);
-        }
-       return (TRUE);
+        if (!xdr_bytes (xdrs, (char **)&objp->fhandle3_val, (u_int *) &objp->fhandle3_len, FHSIZE3))
+                return FALSE;
+       return TRUE;
 }
 
 bool_t
-xdr_fhstatus(xdrs, objp)
-       XDR *xdrs;
-       fhstatus *objp;
+xdr_mountstat3 (XDR *xdrs, mountstat3 *objp)
 {
+       register int32_t *buf;
 
-        register long *buf;
+        if (!xdr_enum (xdrs, (enum_t *) objp))
+                return FALSE;
+       return TRUE;
+}
+
+bool_t
+xdr_fhstatus (XDR *xdrs, fhstatus *objp)
+{
+       register int32_t *buf;
 
-        if (!xdr_u_int(xdrs, &objp->fhs_status)) {
-                return (FALSE);
-        }
+        if (!xdr_u_int (xdrs, &objp->fhs_status))
+                return FALSE;
        switch (objp->fhs_status) {
        case 0:
-                if (!xdr_fhandle(xdrs, objp->fhstatus_u.fhs_fhandle)) {
-                        return (FALSE);
-                }
+                if (!xdr_fhandle (xdrs, objp->fhstatus_u.fhs_fhandle))
+                        return FALSE;
+               break;
+       default:
                break;
        }
-       return (TRUE);
+       return TRUE;
 }
 
 bool_t
-xdr_dirpath(xdrs, objp)
-       XDR *xdrs;
-       dirpath *objp;
+xdr_mountres3_ok (XDR *xdrs, mountres3_ok *objp)
 {
+       register int32_t *buf;
+
+        if (!xdr_fhandle3 (xdrs, &objp->fhandle))
+                return FALSE;
+        if (!xdr_array (xdrs, (char **)&objp->auth_flavours.auth_flavours_val, (u_int *) &objp->auth_flavours.auth_flavours_len, ~0,
+               sizeof (int), (xdrproc_t) xdr_int))
+                return FALSE;
+       return TRUE;
+}
 
-        register long *buf;
+bool_t
+xdr_mountres3 (XDR *xdrs, mountres3 *objp)
+{
+       register int32_t *buf;
 
-        if (!xdr_string(xdrs, objp, MNTPATHLEN)) {
-                return (FALSE);
-        }
-       return (TRUE);
+        if (!xdr_mountstat3 (xdrs, &objp->fhs_status))
+                return FALSE;
+       switch (objp->fhs_status) {
+       case MNT_OK:
+                if (!xdr_mountres3_ok (xdrs, &objp->mountres3_u.mountinfo))
+                        return FALSE;
+               break;
+       default:
+               break;
+       }
+       return TRUE;
 }
 
 bool_t
-xdr_name(xdrs, objp)
-       XDR *xdrs;
-       name *objp;
+xdr_dirpath (XDR *xdrs, dirpath *objp)
 {
+       register int32_t *buf;
 
-        register long *buf;
-
-        if (!xdr_string(xdrs, objp, MNTNAMLEN)) {
-                return (FALSE);
-        }
-       return (TRUE);
+        if (!xdr_string (xdrs, objp, MNTPATHLEN))
+                return FALSE;
+       return TRUE;
 }
 
 bool_t
-xdr_mountlist(xdrs, objp)
-       XDR *xdrs;
-       mountlist *objp;
+xdr_name (XDR *xdrs, name *objp)
 {
+       register int32_t *buf;
 
-        register long *buf;
-
-        if (!xdr_pointer(xdrs, (char **)objp, sizeof(struct mountbody), (xdrproc_t)xdr_mountbody)) {
-                return (FALSE);
-        }
-       return (TRUE);
+        if (!xdr_string (xdrs, objp, MNTNAMLEN))
+                return FALSE;
+       return TRUE;
 }
 
 bool_t
-xdr_mountbody(xdrs, objp)
-       XDR *xdrs;
-       mountbody *objp;
+xdr_mountlist (XDR *xdrs, mountlist *objp)
 {
+       register int32_t *buf;
 
-        register long *buf;
-
-        if (!xdr_name(xdrs, &objp->ml_hostname)) {
-                return (FALSE);
-        }
-        if (!xdr_dirpath(xdrs, &objp->ml_directory)) {
-                return (FALSE);
-        }
-        if (!xdr_mountlist(xdrs, &objp->ml_next)) {
-                return (FALSE);
-        }
-       return (TRUE);
+        if (!xdr_pointer (xdrs, (char **)objp, sizeof (struct mountbody), (xdrproc_t) xdr_mountbody))
+                return FALSE;
+       return TRUE;
 }
 
 bool_t
-xdr_groups(xdrs, objp)
-       XDR *xdrs;
-       groups *objp;
+xdr_mountbody (XDR *xdrs, mountbody *objp)
 {
+       register int32_t *buf;
+
+        if (!xdr_name (xdrs, &objp->ml_hostname))
+                return FALSE;
+        if (!xdr_dirpath (xdrs, &objp->ml_directory))
+                return FALSE;
+        if (!xdr_mountlist (xdrs, &objp->ml_next))
+                return FALSE;
+       return TRUE;
+}
 
-        register long *buf;
+bool_t
+xdr_groups (XDR *xdrs, groups *objp)
+{
+       register int32_t *buf;
 
-        if (!xdr_pointer(xdrs, (char **)objp, sizeof(struct groupnode), (xdrproc_t)xdr_groupnode)) {
-                return (FALSE);
-        }
-       return (TRUE);
+        if (!xdr_pointer (xdrs, (char **)objp, sizeof (struct groupnode), (xdrproc_t) xdr_groupnode))
+                return FALSE;
+       return TRUE;
 }
 
 bool_t
-xdr_groupnode(xdrs, objp)
-       XDR *xdrs;
-       groupnode *objp;
+xdr_groupnode (XDR *xdrs, groupnode *objp)
 {
+       register int32_t *buf;
 
-        register long *buf;
-
-        if (!xdr_name(xdrs, &objp->gr_name)) {
-                return (FALSE);
-        }
-        if (!xdr_groups(xdrs, &objp->gr_next)) {
-                return (FALSE);
-        }
-       return (TRUE);
+        if (!xdr_name (xdrs, &objp->gr_name))
+                return FALSE;
+        if (!xdr_groups (xdrs, &objp->gr_next))
+                return FALSE;
+       return TRUE;
 }
 
 bool_t
-xdr_exports(xdrs, objp)
-       XDR *xdrs;
-       exports *objp;
+xdr_exports (XDR *xdrs, exports *objp)
 {
+       register int32_t *buf;
 
-        register long *buf;
-
-        if (!xdr_pointer(xdrs, (char **)objp, sizeof(struct exportnode), (xdrproc_t)xdr_exportnode)) {
-                return (FALSE);
-        }
-       return (TRUE);
+        if (!xdr_pointer (xdrs, (char **)objp, sizeof (struct exportnode), (xdrproc_t) xdr_exportnode))
+                return FALSE;
+       return TRUE;
 }
 
 bool_t
-xdr_exportnode(xdrs, objp)
-       XDR *xdrs;
-       exportnode *objp;
+xdr_exportnode (XDR *xdrs, exportnode *objp)
 {
-
-        register long *buf;
-
-        if (!xdr_dirpath(xdrs, &objp->ex_dir)) {
-                return (FALSE);
-        }
-        if (!xdr_groups(xdrs, &objp->ex_groups)) {
-                return (FALSE);
-        }
-        if (!xdr_exports(xdrs, &objp->ex_next)) {
-                return (FALSE);
-        }
-       return (TRUE);
+       register int32_t *buf;
+
+        if (!xdr_dirpath (xdrs, &objp->ex_dir))
+                return FALSE;
+        if (!xdr_groups (xdrs, &objp->ex_groups))
+                return FALSE;
+        if (!xdr_exports (xdrs, &objp->ex_next))
+                return FALSE;
+       return TRUE;
 }
 
 bool_t
-xdr_ppathcnf(xdrs, objp)
-       XDR *xdrs;
-       ppathcnf *objp;
+xdr_ppathcnf (XDR *xdrs, ppathcnf *objp)
 {
+       register int32_t *buf;
 
-        register long *buf;
-
-        int i;
-
-        if (xdrs->x_op == XDR_ENCODE) {
-        buf = XDR_INLINE(xdrs,6 * BYTES_PER_XDR_UNIT);
-          if (buf == NULL) {
-                if (!xdr_int(xdrs, &objp->pc_link_max)) {
-                        return (FALSE);
-                }
-                if (!xdr_short(xdrs, &objp->pc_max_canon)) {
-                        return (FALSE);
-                }
-                if (!xdr_short(xdrs, &objp->pc_max_input)) {
-                        return (FALSE);
-                }
-                if (!xdr_short(xdrs, &objp->pc_name_max)) {
-                        return (FALSE);
-                }
-                if (!xdr_short(xdrs, &objp->pc_path_max)) {
-                        return (FALSE);
-                }
-                if (!xdr_short(xdrs, &objp->pc_pipe_buf)) {
-                        return (FALSE);
-                }
-
-         }
-         else {
-                IXDR_PUT_LONG(buf,objp->pc_link_max);
-                IXDR_PUT_SHORT(buf,objp->pc_max_canon);
-                IXDR_PUT_SHORT(buf,objp->pc_max_input);
-                IXDR_PUT_SHORT(buf,objp->pc_name_max);
-                IXDR_PUT_SHORT(buf,objp->pc_path_max);
-                IXDR_PUT_SHORT(buf,objp->pc_pipe_buf);
-         }
-        if (!xdr_u_char(xdrs, &objp->pc_vdisable)) {
-                return (FALSE);
-        }
-        if (!xdr_char(xdrs, &objp->pc_xxx)) {
-                return (FALSE);
-        }
-               buf = XDR_INLINE(xdrs,   2  * BYTES_PER_XDR_UNIT);
+       int i;
+
+       if (xdrs->x_op == XDR_ENCODE) {
+               /* On many machines XDR_INLINE returns a (long *) */
+               buf = (int32_t *) XDR_INLINE (xdrs, 6 * BYTES_PER_XDR_UNIT);
+               if (buf == NULL) {
+                        if (!xdr_int (xdrs, &objp->pc_link_max))
+                                return FALSE;
+                        if (!xdr_short (xdrs, &objp->pc_max_canon))
+                                return FALSE;
+                        if (!xdr_short (xdrs, &objp->pc_max_input))
+                                return FALSE;
+                        if (!xdr_short (xdrs, &objp->pc_name_max))
+                                return FALSE;
+                        if (!xdr_short (xdrs, &objp->pc_path_max))
+                                return FALSE;
+                        if (!xdr_short (xdrs, &objp->pc_pipe_buf))
+                                return FALSE;
+
+               } else {
+               IXDR_PUT_LONG(buf, objp->pc_link_max);
+               IXDR_PUT_SHORT(buf, objp->pc_max_canon);
+               IXDR_PUT_SHORT(buf, objp->pc_max_input);
+               IXDR_PUT_SHORT(buf, objp->pc_name_max);
+               IXDR_PUT_SHORT(buf, objp->pc_path_max);
+               IXDR_PUT_SHORT(buf, objp->pc_pipe_buf);
+               }
+                if (!xdr_u_char (xdrs, &objp->pc_vdisable))
+                        return FALSE;
+                if (!xdr_char (xdrs, &objp->pc_xxx))
+                        return FALSE;
+               buf = (int32_t *) XDR_INLINE(xdrs, 2  * BYTES_PER_XDR_UNIT);
                if (buf == NULL) {
-                if (!xdr_vector(xdrs, (char *)objp->pc_mask, 2, sizeof(short), (xdrproc_t)xdr_short)) {
-                        return (FALSE);
-                }
-
-         }
-         else {
-               { register short *genp; 
-                 for ( i = 0,genp=objp->pc_mask;
-                       i < 2; i++){
-                                IXDR_PUT_SHORT(buf,*genp++);
-                  }
-                };
-         }
-
-        return (TRUE);
+                        if (!xdr_vector (xdrs, (char *)objp->pc_mask, 2,
+                               sizeof (short), (xdrproc_t) xdr_short))
+                                return FALSE;
+               } else {
+                       {
+                               register short *genp;
+
+                               for (i = 0, genp = objp->pc_mask;
+                                       i < 2; ++i) {
+                                       IXDR_PUT_SHORT(buf, *genp++);
+                               }
+                       }
+               }
+               return TRUE;
        } else if (xdrs->x_op == XDR_DECODE) {
-        buf = XDR_INLINE(xdrs,6 * BYTES_PER_XDR_UNIT);
-          if (buf == NULL) {
-                if (!xdr_int(xdrs, &objp->pc_link_max)) {
-                        return (FALSE);
-                }
-                if (!xdr_short(xdrs, &objp->pc_max_canon)) {
-                        return (FALSE);
-                }
-                if (!xdr_short(xdrs, &objp->pc_max_input)) {
-                        return (FALSE);
-                }
-                if (!xdr_short(xdrs, &objp->pc_name_max)) {
-                        return (FALSE);
-                }
-                if (!xdr_short(xdrs, &objp->pc_path_max)) {
-                        return (FALSE);
-                }
-                if (!xdr_short(xdrs, &objp->pc_pipe_buf)) {
-                        return (FALSE);
-                }
-
-         }
-         else {
-                objp->pc_link_max = IXDR_GET_LONG(buf);
-                objp->pc_max_canon = IXDR_GET_SHORT(buf);
-                objp->pc_max_input = IXDR_GET_SHORT(buf);
-                objp->pc_name_max = IXDR_GET_SHORT(buf);
-                objp->pc_path_max = IXDR_GET_SHORT(buf);
-                objp->pc_pipe_buf = IXDR_GET_SHORT(buf);
-         }
-        if (!xdr_u_char(xdrs, &objp->pc_vdisable)) {
-                return (FALSE);
-        }
-        if (!xdr_char(xdrs, &objp->pc_xxx)) {
-                return (FALSE);
-        }
-               buf = XDR_INLINE(xdrs,   2  * BYTES_PER_XDR_UNIT);
+               buf = (int32_t *) XDR_INLINE (xdrs, 6 * BYTES_PER_XDR_UNIT);
+               if (buf == NULL) {
+                        if (!xdr_int (xdrs, &objp->pc_link_max))
+                                return FALSE;
+                        if (!xdr_short (xdrs, &objp->pc_max_canon))
+                                return FALSE;
+                        if (!xdr_short (xdrs, &objp->pc_max_input))
+                                return FALSE;
+                        if (!xdr_short (xdrs, &objp->pc_name_max))
+                                return FALSE;
+                        if (!xdr_short (xdrs, &objp->pc_path_max))
+                                return FALSE;
+                        if (!xdr_short (xdrs, &objp->pc_pipe_buf))
+                                return FALSE;
+
+               } else {
+               objp->pc_link_max = IXDR_GET_LONG(buf);
+               objp->pc_max_canon = IXDR_GET_SHORT(buf);
+               objp->pc_max_input = IXDR_GET_SHORT(buf);
+               objp->pc_name_max = IXDR_GET_SHORT(buf);
+               objp->pc_path_max = IXDR_GET_SHORT(buf);
+               objp->pc_pipe_buf = IXDR_GET_SHORT(buf);
+               }
+                if (!xdr_u_char (xdrs, &objp->pc_vdisable))
+                        return FALSE;
+                if (!xdr_char (xdrs, &objp->pc_xxx))
+                        return FALSE;
+               buf = (int32_t *) XDR_INLINE(xdrs, 2  * BYTES_PER_XDR_UNIT);
                if (buf == NULL) {
-                if (!xdr_vector(xdrs, (char *)objp->pc_mask, 2, sizeof(short), (xdrproc_t)xdr_short)) {
-                        return (FALSE);
-                }
-
-         }
-         else {
-               { register short *genp; 
-                 for ( i = 0,genp=objp->pc_mask;
-                       i < 2; i++){
-                                *genp++ = IXDR_GET_SHORT(buf);
-                  }
-                };
-         }
-        return(TRUE);
+                        if (!xdr_vector (xdrs, (char *)objp->pc_mask, 2,
+                               sizeof (short), (xdrproc_t) xdr_short))
+                                return FALSE;
+               } else {
+                       {
+                               register short *genp;
+
+                               for (i = 0, genp = objp->pc_mask;
+                                       i < 2; ++i) {
+                                       *genp++ = IXDR_GET_SHORT(buf);
+                               }
+                       }
+               }
+        return TRUE;
        }
 
-        if (!xdr_int(xdrs, &objp->pc_link_max)) {
-                return (FALSE);
-        }
-        if (!xdr_short(xdrs, &objp->pc_max_canon)) {
-                return (FALSE);
-        }
-        if (!xdr_short(xdrs, &objp->pc_max_input)) {
-                return (FALSE);
-        }
-        if (!xdr_short(xdrs, &objp->pc_name_max)) {
-                return (FALSE);
-        }
-        if (!xdr_short(xdrs, &objp->pc_path_max)) {
-                return (FALSE);
-        }
-        if (!xdr_short(xdrs, &objp->pc_pipe_buf)) {
-                return (FALSE);
-        }
-        if (!xdr_u_char(xdrs, &objp->pc_vdisable)) {
-                return (FALSE);
-        }
-        if (!xdr_char(xdrs, &objp->pc_xxx)) {
-                return (FALSE);
-        }
-        if (!xdr_vector(xdrs, (char *)objp->pc_mask, 2, sizeof(short), (xdrproc_t)xdr_short)) {
-                return (FALSE);
-        }
-       return (TRUE);
+        if (!xdr_int (xdrs, &objp->pc_link_max))
+                return FALSE;
+        if (!xdr_short (xdrs, &objp->pc_max_canon))
+                return FALSE;
+        if (!xdr_short (xdrs, &objp->pc_max_input))
+                return FALSE;
+        if (!xdr_short (xdrs, &objp->pc_name_max))
+                return FALSE;
+        if (!xdr_short (xdrs, &objp->pc_path_max))
+                return FALSE;
+        if (!xdr_short (xdrs, &objp->pc_pipe_buf))
+                return FALSE;
+        if (!xdr_u_char (xdrs, &objp->pc_vdisable))
+                return FALSE;
+        if (!xdr_char (xdrs, &objp->pc_xxx))
+                return FALSE;
+        if (!xdr_vector (xdrs, (char *)objp->pc_mask, 2,
+               sizeof (short), (xdrproc_t) xdr_short))
+                return FALSE;
+       return TRUE;
 }
index 74f61eea46fa06d42839845c11c674bb364edb38..61cd3b375081bd56dbe14e1550134eaaec1573ae 100644 (file)
@@ -111,9 +111,15 @@ flag is given.
 You should not use
 .B swapon
 on a file with holes.
+Swap over NFS may not work.
 .SH SEE ALSO
-.BR swapon "(2), " swapoff "(2), " fstab "(5), " init "(8), " mkswap (8),
-.BR rc "(8), " mount (8)
+.BR swapon (2),
+.BR swapoff (2),
+.BR fstab (5),
+.BR init (8),
+.BR mkswap (8),
+.BR rc (8),
+.BR mount (8)
 .SH FILES
 .I /dev/hd??
 standard paging devices
diff --git a/partx/Makefile b/partx/Makefile
new file mode 100644 (file)
index 0000000..39237e0
--- /dev/null
@@ -0,0 +1,14 @@
+OBJ = bsd.o dos.o partx.o solaris.o unixware.o
+
+all: addpart delpart partx
+
+partx: $(OBJ)
+
+addpart: addpart.o
+
+delpart: delpart.o
+
+clean:
+       rm -f $(OBJ) addpart.o delpart.o addpart delpart partx *~
+
+$(OBJ): partx.h
similarity index 100%
rename from fdisk/addpart.c
rename to partx/addpart.c
diff --git a/partx/bsd.c b/partx/bsd.c
new file mode 100644 (file)
index 0000000..531c36c
--- /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;
+       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;
+}
similarity index 100%
rename from fdisk/delpart.c
rename to partx/delpart.c
diff --git a/partx/dos.c b/partx/dos.c
new file mode 100644 (file)
index 0000000..b32801e
--- /dev/null
@@ -0,0 +1,106 @@
+#include <stdio.h>
+#include "partx.h"
+
+struct partition {
+        unsigned char boot_ind;         /* 0x80 - active */
+        unsigned char bh, bs, bc;
+        unsigned char sys_type;
+        unsigned char eh, es, ec;
+        unsigned int start_sect;
+        unsigned int nr_sects;
+};
+
+static int
+is_extended(int type) {
+       return (type == 5 || type == 0xf || type == 0x85);
+}
+
+static int
+read_extended_partition(int fd, struct partition *ep,
+                       struct slice *sp, int ns) {
+       struct partition *p;
+       unsigned long start, here, next;
+       unsigned char *bp;
+       int loopct = 0;
+       int moretodo = 1;
+       int i, n=0;
+
+       here = start = ep->start_sect;
+
+       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 (p->nr_sects == 0 || is_extended(p->sys_type))
+                               continue;
+                       if (n < ns) {
+                               sp[n].start = here + p->start_sect;
+                               sp[n].size = p->nr_sects;
+                               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(p->nr_sects != 0 && is_extended(p->sys_type)) {
+                               here = start + p->start_sect;
+                               moretodo = 1;
+                               break;
+                       }
+               }
+       }
+       return n;
+}
+
+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;
+
+       bp = getblock(fd, offset);
+       if (bp == NULL)
+               return -1;
+
+       if (bp[510] != 0x55 || bp[511] != 0xaa)
+               return -1;
+
+       p = (struct partition *) (bp + 0x1be);
+       for (i=0; i<4; i++) {
+               /* always add, even if zero length */
+               if (n < ns) {
+                       sp[n].start = p->start_sect;
+                       sp[n].size = p->nr_sects;
+                       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);
+               p++;
+       }
+       return n;
+}
diff --git a/partx/partx.c b/partx/partx.c
new file mode 100644 (file)
index 0000000..212f651
--- /dev/null
@@ -0,0 +1,395 @@
+/*
+ * 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}.
+ *
+ * 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 <sys/ioctl.h>
+#include <linux/hdreg.h>        /* HDIO_GETGEO */
+#include <linux/blkpg.h>
+#define BLKGETSIZE _IO(0x12,96)    /* return device size */
+
+#include "partx.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;
+
+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++;
+}
+
+initpts(){
+       addpts("dos", read_dos_pt);
+       addpts("bsd", read_bsd_pt);
+       addpts("solaris", read_solaris_pt);
+       addpts("unixware", read_unixware_pt);
+}
+
+static char short_opts[] = "ladvn:t:";
+static const struct option long_opts[] = {
+       { "type",       required_argument,      NULL,   't' },
+       { "nr",         required_argument,      NULL,   'n' },
+       { NULL, 0, NULL, 0 }
+};
+
+int
+main(int argc, char **argv){
+        int fd, fd2, c, i, j, k, n;
+       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();
+
+       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 'n':
+               p = optarg;
+               lower = atoi(p);
+               p = index(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(ioctl(fd2, BLKGETSIZE, &size)) {
+               perror("BLKGETSIZE");
+               exit(1);
+       }
+       all.size = 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,
+                                      ((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;
+}
+
+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;
+}
+
+/*
+ * sseek: seek to specified sector
+ */
+#if !defined (__alpha__) && !defined (__ia64__)
+#include <linux/unistd.h>       /* _syscall */
+static
+_syscall5(int,  _llseek,  uint,  fd, ulong, hi, ulong, lo,
+         long long *, res, uint, wh);
+#endif
+
+static int
+sseek(int fd, unsigned int secnr) {
+       long long in, out;
+       in = ((long long) secnr << 9);
+       out = 1;
+
+#if !defined (__alpha__) && !defined (__ia64__)
+       if (_llseek (fd, in>>32, in & 0xffffffff, &out, SEEK_SET) != 0
+           || out != in)
+#else
+       if ((out = lseek(fd, in, SEEK_SET)) != in)
+#endif
+       {
+               fprintf(stderr, "llseek error\n");
+               return -1;
+       }
+       return 0;
+}
+
+static
+struct block {
+       unsigned int secnr;
+       char *block;
+       struct block *next;
+} *blockhead;
+
+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 = (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..b96588a
--- /dev/null
@@ -0,0 +1,26 @@
+/*
+ * 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;
+
+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);
+}
diff --git a/partx/solaris.c b/partx/solaris.c
new file mode 100644 (file)
index 0000000..64c3966
--- /dev/null
@@ -0,0 +1,70 @@
+#include <stdio.h>
+#include <time.h>              /* time_t */
+#include "partx.h"
+
+#define SOLARIS_X86_NUMSLICE   8
+#define SOLARIS_X86_VTOC_SANE  (0x600DDEEEUL)
+
+typedef int daddr_t;           /* or long - check */
+
+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;
+       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..3b3f21e
--- /dev/null
@@ -0,0 +1,83 @@
+#include <stdio.h>
+#include "partx.h"
+
+#define UNIXWARE_FS_UNUSED     0
+#define UNIXWARE_NUMSLICE      16
+#define UNIXWARE_DISKMAGIC     (0xCA5E600DUL)
+#define UNIXWARE_DISKMAGIC2    (0x600DDEEEUL)
+
+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;
+       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;
+}
index 7ee4053ca2cc59170883204f31dff8b0ecf3bd55..3e59fedc8085f08f1b3242929559b3101c7b8dd7 100644 (file)
@@ -38,9 +38,9 @@ INCLUDES = -I.. -I$(INTL)
 COMPILE = $(CC) -c $(DEFS) $(INCLUDES) $(CPPFLAGS) $(CFLAGS) $(XCFLAGS)
 
 # Enter here all .po files
-POFILES = cs.po de.po fr.po it.po ja.po nl.po pt_BR.po
+POFILES = cs.po de.po es.po fr.po it.po ja.po nl.po pt_BR.po
 # the same but with .gmo
-GMOFILES = cs.gmo de.gmo fr.gmo it.gmo ja.gmo nl.gmo pt_BR.gmo
+GMOFILES = cs.gmo de.gmo es.gmo fr.gmo it.gmo ja.gmo nl.gmo pt_BR.gmo
 
 CATALOGS = $(GMOFILES)
 CATOBJEXT = .gmo
index 21c17da9f6c8c5125635f85fa3e6aaadd6ba6c0d..7ea5b805256deec617a2cbafbef87a68135d6942 100644 (file)
@@ -59,14 +59,11 @@ misc-utils/write.c
 mount/fstab.c
 mount/getusername.c
 mount/lomount.c
-mount/losetup.c
 mount/mntent.c
 mount/mount.c
 mount/mount_by_label.c
 mount/mount_guess_fstype.c
 mount/nfsmount.c
-mount/nfsmount_clnt.c
-mount/nfsmount_xdr.c
 mount/realpath.c
 mount/sundries.c
 mount/swapon.c
index b431c0aea12be56d4f96072afd077c93e54c7b1f..b5f9b1342176cc6208913966dde5b13378f19939 100644 (file)
@@ -28,9 +28,9 @@ const struct _msg_ent _msg_tbl[] = {
   {"unknown", 19},
   {"Waiting for clock tick...\n", 20},
   {"...got clock tick\n", 21},
-  {"Invalid values in hardware clock: %2d/%.2d/%.2d %.2d:%.2d:%.2d\n", 22},
-  {"Hw clock time : %2d/%.2d/%.2d %.2d:%.2d:%.2d = %d seconds since 1969\n", 23},
-  {"Time read from Hardware Clock: %02d:%02d:%02d\n", 24},
+  {"Invalid values in hardware clock: %4d/%.2d/%.2d %.2d:%.2d:%.2d\n", 22},
+  {"Hw clock time : %4d/%.2d/%.2d %.2d:%.2d:%.2d = %ld seconds since 1969\n", 23},
+  {"Time read from Hardware Clock: %4d/%.2d/%.2d %02d:%02d:%02d\n", 24},
   {"Setting Hardware Clock to %.2d:%.2d:%.2d = %d seconds since 1969\n", 25},
   {"Clock not changed - testing only.\n", 26},
   {"\
@@ -54,8 +54,8 @@ The command was:\n\
 The response was:\n\
   %s\n", 35},
   {"\
-The date command issued by %s returnedsomething other than an integer where \
-the convertedtime value was expected.\n\
+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\
@@ -66,7 +66,7 @@ The Hardware Clock does not contain a valid time, so we cannot set the \
 System Time from it.\n", 38},
   {"Calling settimeofday:\n", 39},
   {"\ttv.tv_sec = %ld, tv.tv_usec = %ld\n", 40},
-  {"\ttz.tz_minuteswest = %ld\n", 41},
+  {"\ttz.tz_minuteswest = %d\n", 41},
   {"Not setting system clock because running in test mode.\n", 42},
   {"Must be superuser to set system clock.\n", 43},
   {"settimeofday() failed", 44},
@@ -143,158 +143,160 @@ You can only perform one function at a time.\n", 67},
 both.\n", 68},
   {"No usable set-to time.  Cannot set clock.\n", 69},
   {"Sorry, only the superuser can change the Hardware Clock.\n", 70},
+  {"Sorry, only the superuser can change the System Clock.\n", 71},
   {"\
 Sorry, only the superuser can change the Hardware Clock epoch in the \
-kernel.\n", 71},
-  {"\
-Cannot access the Hardware Clock via any known method.  Use --debug option \
-to see the details of our search for an access method.\n", 72},
-  {"Waiting in loop for time from KDGHWCLK to change\n", 73},
-  {"KDGHWCLK ioctl to read time failed", 74},
-  {"Timed out waiting for time change.\n", 75},
-  {"KDGHWCLK ioctl to read time failed in loop", 76},
-  {"ioctl() failed to read time from  /dev/tty1", 77},
-  {"ioctl() to open /dev/tty1 failed", 78},
-  {"KDGHWCLK ioctl failed", 79},
-  {"Can't open /dev/tty1", 80},
-  {"ioctl() to /dev/rtc to read the time failed.\n", 81},
-  {"Waiting in loop for time from /dev/rtc to change\n", 82},
-  {"open() of /dev/rtc failed", 83},
-  {"/dev/rtc does not have interrupt functions. ", 84},
-  {"read() to /dev/rtc to wait for clock tick failed", 85},
-  {"ioctl() to /dev/rtc to turn off update interrupts failed", 86},
-  {"ioctl() to /dev/rtc to turn on update interrupts failed unexpectedly", 87},
-  {"Unable to open /dev/rtc", 88},
-  {"ioctl() to /dev/rtc to set the time failed.\n", 89},
-  {"ioctl(%s) was successful.\n", 90},
-  {"Open of /dev/rtc failed", 91},
+kernel.\n", 72},
+  {"Cannot access the Hardware Clock via any known method.\n", 73},
+  {"\
+Use the --debug option to see the details of our search for an access \
+method.\n", 74},
+  {"Waiting in loop for time from KDGHWCLK to change\n", 75},
+  {"KDGHWCLK ioctl to read time failed", 76},
+  {"Timed out waiting for time change.\n", 77},
+  {"KDGHWCLK ioctl to read time failed in loop", 78},
+  {"ioctl() failed to read time from  /dev/tty1", 79},
+  {"ioctl() to open /dev/tty1 failed", 80},
+  {"KDGHWCLK ioctl failed", 81},
+  {"Can't open /dev/tty1", 82},
+  {"ioctl() to /dev/rtc to read the time failed.\n", 83},
+  {"Waiting in loop for time from /dev/rtc to change\n", 84},
+  {"open() of /dev/rtc failed", 85},
+  {"/dev/rtc does not have interrupt functions. ", 86},
+  {"read() to /dev/rtc to wait for clock tick failed", 87},
+  {"ioctl() to /dev/rtc to turn off update interrupts failed", 88},
+  {"ioctl() to /dev/rtc to turn on update interrupts failed unexpectedly", 89},
+  {"Unable to open /dev/rtc", 90},
+  {"ioctl() to /dev/rtc to set the time failed.\n", 91},
+  {"ioctl(%s) was successful.\n", 92},
+  {"Open of /dev/rtc failed", 93},
   {"\
 To manipulate the epoch value in the kernel, we must access the Linux 'rtc' \
 device driver via the device special file /dev/rtc.  This file does not \
-exist on this system.\n", 92},
-  {"ioctl(RTC_EPOCH_READ) to /dev/rtc failed", 93},
-  {"we have read epoch %ld from /dev/rtc with RTC_EPOCH_READ ioctl.\n", 94},
-  {"The epoch value may not be less than 1900.  You requested %ld\n", 95},
-  {"setting epoch to %ld with RTC_EPOCH_SET ioctl to /dev/rtc.\n", 96},
+exist on this system.\n", 94},
+  {"ioctl(RTC_EPOCH_READ) to /dev/rtc failed", 95},
+  {"we have read epoch %ld from /dev/rtc with RTC_EPOCH_READ ioctl.\n", 96},
+  {"The epoch value may not be less than 1900.  You requested %ld\n", 97},
+  {"setting epoch to %ld with RTC_EPOCH_SET ioctl to /dev/rtc.\n", 98},
   {"\
 The kernel device driver for /dev/rtc does not have the RTC_EPOCH_SET \
-ioctl.\n", 97},
-  {"ioctl(RTC_EPOCH_SET) to /dev/rtc failed", 98},
-  {"invalid number `%s'\n", 99},
-  {"number `%s' to `%s' out of range\n", 100},
-  {"unrecognized option `%s'\n", 101},
-  {"option `%s' requires an argument\n", 102},
-  {"option `%s' doesn't allow an argument\n", 103},
-  {"unrecognized option `-%c'\n", 104},
-  {"set read-only", 105},
-  {"set read-write", 106},
-  {"get read-only", 107},
-  {"get sectorsize", 108},
-  {"get size", 109},
-  {"set readahead", 110},
-  {"get readahead", 111},
-  {"flush buffers", 112},
-  {"reread partition table", 113},
-  {"Usage: %s [-V] [-v|-q] commands devices\n", 114},
-  {"Available commands:\n", 115},
-  {"%s: Unknown command: %s\n", 116},
-  {"%s requires an argument\n", 117},
-  {"Formatting ... ", 118},
-  {"done\n", 119},
-  {"Verifying ... ", 120},
-  {"Read: ", 121},
-  {"Problem reading cylinder %d, expected %d, read %d\n", 122},
+ioctl.\n", 99},
+  {"ioctl(RTC_EPOCH_SET) to /dev/rtc failed", 100},
+  {"invalid number `%s'\n", 101},
+  {"number `%s' to `%s' out of range\n", 102},
+  {"unrecognized option `%s'\n", 103},
+  {"option `%s' requires an argument\n", 104},
+  {"option `%s' doesn't allow an argument\n", 105},
+  {"unrecognized option `-%c'\n", 106},
+  {"set read-only", 107},
+  {"set read-write", 108},
+  {"get read-only", 109},
+  {"get sectorsize", 110},
+  {"get size", 111},
+  {"set readahead", 112},
+  {"get readahead", 113},
+  {"flush buffers", 114},
+  {"reread partition table", 115},
+  {"Usage: %s [-V] [-v|-q] commands devices\n", 116},
+  {"Available commands:\n", 117},
+  {"%s: Unknown command: %s\n", 118},
+  {"%s requires an argument\n", 119},
+  {"Formatting ... ", 120},
+  {"done\n", 121},
+  {"Verifying ... ", 122},
+  {"Read: ", 123},
+  {"Problem reading cylinder %d, expected %d, read %d\n", 124},
   {"\
 bad data in cyl %d\n\
-Continuing ... ", 123},
-  {"usage: %s [ -n ] device\n", 124},
-  {"%s from %s\n", 125},
-  {"%s: not a floppy device\n", 126},
-  {"Could not determine current format type", 127},
-  {"%s-sided, %d tracks, %d sec/track. Total capacity %d kB.\n", 128},
-  {"Double", 129},
-  {"Single", 130},
-  {"Usage: %s [-larvsmf] /dev/name\n", 131},
-  {"%s is mounted.\t ", 132},
-  {"Do you really want to continue", 133},
-  {"check aborted.\n", 134},
-  {"Zone nr < FIRSTZONE in file `", 135},
-  {"Zone nr >= ZONES in file `", 136},
-  {"Remove block", 137},
-  {"Read error: unable to seek to block in file '", 138},
-  {"Read error: bad block in file '", 139},
+Continuing ... ", 125},
+  {"usage: %s [ -n ] device\n", 126},
+  {"%s from %s\n", 127},
+  {"%s: not a floppy device\n", 128},
+  {"Could not determine current format type", 129},
+  {"%s-sided, %d tracks, %d sec/track. Total capacity %d kB.\n", 130},
+  {"Double", 131},
+  {"Single", 132},
+  {"Usage: %s [-larvsmf] /dev/name\n", 133},
+  {"%s is mounted.\t ", 134},
+  {"Do you really want to continue", 135},
+  {"check aborted.\n", 136},
+  {"Zone nr < FIRSTZONE in file `", 137},
+  {"Zone nr >= ZONES in file `", 138},
+  {"Remove block", 139},
+  {"Read error: unable to seek to block in file '", 140},
+  {"Read error: bad block in file '", 141},
   {"\
 Internal error: trying to write bad block\n\
-Write request ignored\n", 140},
-  {"seek failed in write_block", 141},
-  {"Write error: bad block in file '", 142},
-  {"seek failed in write_super_block", 143},
-  {"unable to write super-block", 144},
-  {"Unable to write inode map", 145},
-  {"Unable to write zone map", 146},
-  {"Unable to write inodes", 147},
-  {"seek failed", 148},
-  {"unable to read super block", 149},
-  {"bad magic number in super-block", 150},
-  {"Only 1k blocks/zones supported", 151},
-  {"bad s_imap_blocks field in super-block", 152},
-  {"bad s_zmap_blocks field in super-block", 153},
-  {"Unable to allocate buffer for inode map", 154},
-  {"Unable to allocate buffer for inodes", 155},
-  {"Unable to allocate buffer for inode count", 156},
-  {"Unable to allocate buffer for zone count", 157},
-  {"Unable to read inode map", 158},
-  {"Unable to read zone map", 159},
-  {"Unable to read inodes", 160},
-  {"Warning: Firstzone != Norm_firstzone\n", 161},
-  {"%ld inodes\n", 162},
-  {"%ld blocks\n", 163},
-  {"Firstdatazone=%ld (%ld)\n", 164},
-  {"Zonesize=%d\n", 165},
-  {"Maxsize=%ld\n", 166},
-  {"Filesystem state=%d\n", 167},
+Write request ignored\n", 142},
+  {"seek failed in write_block", 143},
+  {"Write error: bad block in file '", 144},
+  {"seek failed in write_super_block", 145},
+  {"unable to write super-block", 146},
+  {"Unable to write inode map", 147},
+  {"Unable to write zone map", 148},
+  {"Unable to write inodes", 149},
+  {"seek failed", 150},
+  {"unable to read super block", 151},
+  {"bad magic number in super-block", 152},
+  {"Only 1k blocks/zones supported", 153},
+  {"bad s_imap_blocks field in super-block", 154},
+  {"bad s_zmap_blocks field in super-block", 155},
+  {"Unable to allocate buffer for inode map", 156},
+  {"Unable to allocate buffer for inodes", 157},
+  {"Unable to allocate buffer for inode count", 158},
+  {"Unable to allocate buffer for zone count", 159},
+  {"Unable to read inode map", 160},
+  {"Unable to read zone map", 161},
+  {"Unable to read inodes", 162},
+  {"Warning: Firstzone != Norm_firstzone\n", 163},
+  {"%ld inodes\n", 164},
+  {"%ld blocks\n", 165},
+  {"Firstdatazone=%ld (%ld)\n", 166},
+  {"Zonesize=%d\n", 167},
+  {"Maxsize=%ld\n", 168},
+  {"Filesystem state=%d\n", 169},
   {"\
 namelen=%d\n\
-\n", 168},
-  {"Inode %d marked not used, but used for file '", 169},
-  {"Mark in use", 170},
-  {" has mode %05o\n", 171},
-  {"Warning: inode count too big.\n", 172},
-  {"root inode isn't a directory", 173},
-  {"Block has been used before. Now in file `", 174},
-  {"Clear", 175},
-  {"Block %d in file `", 176},
-  {"' is marked not in use.", 177},
-  {"Correct", 178},
-  {" contains a bad inode number for file '", 179},
-  {" Remove", 180},
-  {": bad directory: '.' isn't first\n", 181},
-  {": bad directory: '..' isn't second\n", 182},
-  {"internal error", 183},
-  {": bad directory: size<32", 184},
-  {": bad directory: size < 32", 185},
-  {"seek failed in bad_zone", 186},
-  {"Inode %d mode not cleared.", 187},
-  {"Inode %d not used, marked used in the bitmap.", 188},
-  {"Inode %d used, marked unused in the bitmap.", 189},
-  {"Inode %d (mode = %07o), i_nlinks=%d, counted=%d.", 190},
-  {"Set i_nlinks to count", 191},
-  {"Zone %d: marked in use, no file uses it.", 192},
-  {"Unmark", 193},
-  {"Zone %d: %sin use, counted=%d\n", 194},
-  {"not ", 195},
-  {"Set", 196},
-  {"bad inode size", 197},
-  {"bad v2 inode size", 198},
-  {"need terminal for interactive repairs", 199},
-  {"unable to open '%s'", 200},
-  {"%s is clean, no check.\n", 201},
-  {"Forcing filesystem check on %s.\n", 202},
-  {"Filesystem on %s is dirty, needs checking.\n", 203},
+\n", 170},
+  {"Inode %d marked not used, but used for file '", 171},
+  {"Mark in use", 172},
+  {" has mode %05o\n", 173},
+  {"Warning: inode count too big.\n", 174},
+  {"root inode isn't a directory", 175},
+  {"Block has been used before. Now in file `", 176},
+  {"Clear", 177},
+  {"Block %d in file `", 178},
+  {"' is marked not in use.", 179},
+  {"Correct", 180},
+  {" contains a bad inode number for file '", 181},
+  {" Remove", 182},
+  {": bad directory: '.' isn't first\n", 183},
+  {": bad directory: '..' isn't second\n", 184},
+  {"internal error", 185},
+  {": bad directory: size<32", 186},
+  {": bad directory: size < 32", 187},
+  {"seek failed in bad_zone", 188},
+  {"Inode %d mode not cleared.", 189},
+  {"Inode %d not used, marked used in the bitmap.", 190},
+  {"Inode %d used, marked unused in the bitmap.", 191},
+  {"Inode %d (mode = %07o), i_nlinks=%d, counted=%d.", 192},
+  {"Set i_nlinks to count", 193},
+  {"Zone %d: marked in use, no file uses it.", 194},
+  {"Unmark", 195},
+  {"Zone %d: %sin use, counted=%d\n", 196},
+  {"not ", 197},
+  {"Set", 198},
+  {"bad inode size", 199},
+  {"bad v2 inode size", 200},
+  {"need terminal for interactive repairs", 201},
+  {"unable to open '%s'", 202},
+  {"%s is clean, no check.\n", 203},
+  {"Forcing filesystem check on %s.\n", 204},
+  {"Filesystem on %s is dirty, needs checking.\n", 205},
   {"\
 \n\
-%6ld inodes used (%ld%%)\n", 204},
-  {"%6ld zones used (%ld%%)\n", 205},
+%6ld inodes used (%ld%%)\n", 206},
+  {"%6ld zones used (%ld%%)\n", 207},
   {"\
 \n\
 %6d regular files\n\
@@ -304,272 +306,272 @@ namelen=%d\n\
 %6d links\n\
 %6d symbolic links\n\
 ------\n\
-%6d files\n", 206},
+%6d files\n", 208},
   {"\
 ----------------------------\n\
 FILE SYSTEM HAS BEEN CHANGED\n\
-----------------------------\n", 207},
-  {"Usage: mkfs [-V] [-t fstype] [fs-options] device [size]\n", 208},
-  {"%s: Out of memory!\n", 209},
-  {"mkfs version %s (%s)\n", 210},
-  {"Usage: %s [-c | -l filename] [-nXX] [-iXX] /dev/name [blocks]\n", 211},
-  {"%s is mounted; will not make a filesystem here!", 212},
-  {"seek to boot block failed in write_tables", 213},
-  {"unable to clear boot sector", 214},
-  {"seek failed in write_tables", 215},
-  {"unable to write inode map", 216},
-  {"unable to write zone map", 217},
-  {"unable to write inodes", 218},
-  {"write failed in write_block", 219},
-  {"too many bad blocks", 220},
-  {"not enough good blocks", 221},
-  {"unable to allocate buffers for maps", 222},
-  {"unable to allocate buffer for inodes", 223},
+----------------------------\n", 209},
+  {"Usage: mkfs [-V] [-t fstype] [fs-options] device [size]\n", 210},
+  {"%s: Out of memory!\n", 211},
+  {"mkfs version %s (%s)\n", 212},
+  {"Usage: %s [-c | -l filename] [-nXX] [-iXX] /dev/name [blocks]\n", 213},
+  {"%s is mounted; will not make a filesystem here!", 214},
+  {"seek to boot block failed in write_tables", 215},
+  {"unable to clear boot sector", 216},
+  {"seek failed in write_tables", 217},
+  {"unable to write inode map", 218},
+  {"unable to write zone map", 219},
+  {"unable to write inodes", 220},
+  {"write failed in write_block", 221},
+  {"too many bad blocks", 222},
+  {"not enough good blocks", 223},
+  {"unable to allocate buffers for maps", 224},
+  {"unable to allocate buffer for inodes", 225},
   {"\
 Maxsize=%ld\n\
-\n", 224},
-  {"seek failed during testing of blocks", 225},
-  {"Weird values in do_check: probably bugs\n", 226},
-  {"seek failed in check_blocks", 227},
-  {"bad blocks before data-area: cannot make fs", 228},
-  {"%d bad blocks\n", 229},
-  {"one bad block\n", 230},
-  {"can't open file of bad blocks", 231},
-  {"%s: not compiled with minix v2 support\n", 232},
-  {"strtol error: number of blocks not specified", 233},
-  {"unable to open %s", 234},
-  {"unable to stat %s", 235},
-  {"will not try to make filesystem on '%s'", 236},
-  {"Bad user-specified page size %d\n", 237},
-  {"Using user-specified page size %d, instead of the system values %d/%d\n", 238},
-  {"Assuming pages of size %d (not %d)\n", 239},
-  {"Usage: %s [-c] [-v0|-v1] [-pPAGESZ] /dev/name [blocks]\n", 240},
-  {"too many bad pages", 241},
-  {"Out of memory", 242},
-  {"one bad page\n", 243},
-  {"%d bad pages\n", 244},
-  {"%s: error: Nowhere to set up swap on?\n", 245},
-  {"%s: error: size %ld is larger than device size %d\n", 246},
-  {"%s: error: unknown version %d\n", 247},
-  {"%s: error: swap area needs to be at least %ldkB\n", 248},
-  {"%s: warning: truncating swap area to %ldkB\n", 249},
-  {"Will not try to make swapdevice on '%s'", 250},
-  {"fatal: first page unreadable", 251},
+\n", 226},
+  {"seek failed during testing of blocks", 227},
+  {"Weird values in do_check: probably bugs\n", 228},
+  {"seek failed in check_blocks", 229},
+  {"bad blocks before data-area: cannot make fs", 230},
+  {"%d bad blocks\n", 231},
+  {"one bad block\n", 232},
+  {"can't open file of bad blocks", 233},
+  {"%s: not compiled with minix v2 support\n", 234},
+  {"strtol error: number of blocks not specified", 235},
+  {"unable to open %s", 236},
+  {"unable to stat %s", 237},
+  {"will not try to make filesystem on '%s'", 238},
+  {"Bad user-specified page size %d\n", 239},
+  {"Using user-specified page size %d, instead of the system values %d/%d\n", 240},
+  {"Assuming pages of size %d (not %d)\n", 241},
+  {"Usage: %s [-c] [-v0|-v1] [-pPAGESZ] /dev/name [blocks]\n", 242},
+  {"too many bad pages", 243},
+  {"Out of memory", 244},
+  {"one bad page\n", 245},
+  {"%d bad pages\n", 246},
+  {"%s: error: Nowhere to set up swap on?\n", 247},
+  {"%s: error: size %ld is larger than device size %d\n", 248},
+  {"%s: error: unknown version %d\n", 249},
+  {"%s: error: swap area needs to be at least %ldkB\n", 250},
+  {"%s: warning: truncating swap area to %ldkB\n", 251},
+  {"Will not try to make swapdevice on '%s'", 252},
+  {"fatal: first page unreadable", 253},
   {"\
 %s: Device '%s' contains a valid Sun disklabel.\n\
 This probably means creating v0 swap would destroy your partition table\n\
 No swap created. If you really want to create swap v0 on that device, use\n\
-the -f option to force it.\n", 252},
-  {"Unable to set up swap-space: unreadable", 253},
-  {"Setting up swapspace version %d, size = %ld bytes\n", 254},
-  {"unable to rewind swap-device", 255},
-  {"unable to write signature page", 256},
-  {"fsync failed", 257},
-  {"Invalid number: %s\n", 258},
-  {"Syntax error: '%s'\n", 259},
-  {"No such parameter set: '%s'\n", 260},
-  {"usage: %s [ -p ] dev name\n", 261},
-  {"\
-       %s [ -p ] dev size sect heads tracks stretch gap rate spec1 fmt_gap\n", 262},
-  {"       %s [ -c | -y | -n | -d ] dev\n", 263},
-  {"       %s [ -c | -y | -n ] dev\n", 264},
-  {"Unusable", 265},
-  {"Free Space", 266},
-  {"Linux ext2", 267},
-  {"Linux", 268},
-  {"OS/2 HPFS", 269},
-  {"OS/2 IFS", 270},
-  {"NTFS", 271},
-  {"Disk has been changed.\n", 272},
-  {"Reboot the system to ensure the partition table is correctly updated.\n", 273},
+the -f option to force it.\n", 254},
+  {"Unable to set up swap-space: unreadable", 255},
+  {"Setting up swapspace version %d, size = %ld bytes\n", 256},
+  {"unable to rewind swap-device", 257},
+  {"unable to write signature page", 258},
+  {"fsync failed", 259},
+  {"Invalid number: %s\n", 260},
+  {"Syntax error: '%s'\n", 261},
+  {"No such parameter set: '%s'\n", 262},
+  {"usage: %s [ -p ] dev name\n", 263},
+  {"\
+       %s [ -p ] dev size sect heads tracks stretch gap rate spec1 fmt_gap\n", 264},
+  {"       %s [ -c | -y | -n | -d ] dev\n", 265},
+  {"       %s [ -c | -y | -n ] dev\n", 266},
+  {"Unusable", 267},
+  {"Free Space", 268},
+  {"Linux ext2", 269},
+  {"Linux", 270},
+  {"OS/2 HPFS", 271},
+  {"OS/2 IFS", 272},
+  {"NTFS", 273},
+  {"Disk has been changed.\n", 274},
+  {"Reboot the system to ensure the partition table is correctly updated.\n", 275},
   {"\
 \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", 274},
-  {"FATAL ERROR", 275},
-  {"Press any key to exit cfdisk", 276},
-  {"Cannot seek on disk drive", 277},
-  {"Cannot read disk drive", 278},
-  {"Cannot write disk drive", 279},
-  {"Too many partitions", 280},
-  {"Partition begins before sector 0", 281},
-  {"Partition ends before sector 0", 282},
-  {"Partition begins after end-of-disk", 283},
-  {"Partition ends after end-of-disk", 284},
-  {"logical partitions not in disk order", 285},
-  {"logical partitions overlap", 286},
-  {"enlarged logical partitions overlap", 287},
-  {"\
-!!!! Internal error creating logical drive with no extended partition !!!!", 288},
-  {"\
-Cannot create logical drive here -- would create two extended partitions", 289},
-  {"Menu item too long. Menu may look odd.", 290},
-  {"Menu without direction. Defaulting horizontal.", 291},
-  {"Illegal key", 292},
-  {"Press a key to continue", 293},
-  {"Primary", 294},
-  {"Create a new primary partition", 295},
-  {"Logical", 296},
-  {"Create a new logical partition", 297},
-  {"Cancel", 298},
-  {"Don't create a partition", 299},
-  {"!!! Internal error !!!", 300},
-  {"Size (in MB): ", 301},
-  {"Beginning", 302},
-  {"Add partition at beginning of free space", 303},
-  {"End", 304},
-  {"Add partition at end of free space", 305},
-  {"No room to create the extended partition", 306},
-  {"Bad signature on partition table", 307},
-  {"You specified more cylinders than fit on disk", 308},
-  {"Cannot open disk drive", 309},
-  {"Opened disk read-only - you have no permission to write", 310},
-  {"Cannot get disk size", 311},
-  {"Bad primary partition", 312},
-  {"Bad logical partition", 313},
-  {"Warning!!  This may destroy data on your disk!", 314},
-  {"Are you sure you want write the partition table to disk? (yes or no): ", 315},
-  {"no", 316},
-  {"Did not write partition table to disk", 317},
-  {"yes", 318},
-  {"Please enter `yes' or `no'", 319},
-  {"Writing partition table to disk...", 320},
-  {"Wrote partition table to disk", 321},
-  {"\
-Wrote partition table, but re-read table failed.  Reboot to update table.", 322},
-  {"\
-Not precisely one primary partition is bootable. DOS MBR cannot boot this.", 323},
-  {"Enter filename or press RETURN to display on screen: ", 324},
-  {"Cannot open file '%s'", 325},
-  {"Disk Drive: %s\n", 326},
-  {"Sector 0:\n", 327},
-  {"Sector %d:\n", 328},
-  {"   None   ", 329},
-  {"   Pri/Log", 330},
-  {"   Primary", 331},
-  {"   Logical", 332},
-  {"Unknown", 333},
-  {"Boot (%02X)", 334},
-  {"Unknown (%02X)", 335},
-  {"None (%02X)", 336},
-  {"Partition Table for %s\n", 337},
-  {"            First    Last\n", 338},
-  {"\
- # Type     Sector   Sector   Offset  Length   Filesystem Type (ID)   Flags\n", 339},
+page for additional information.\n", 276},
+  {"FATAL ERROR", 277},
+  {"Press any key to exit cfdisk", 278},
+  {"Cannot seek on disk drive", 279},
+  {"Cannot read disk drive", 280},
+  {"Cannot write disk drive", 281},
+  {"Too many partitions", 282},
+  {"Partition begins before sector 0", 283},
+  {"Partition ends before sector 0", 284},
+  {"Partition begins after end-of-disk", 285},
+  {"Partition ends after end-of-disk", 286},
+  {"logical partitions not in disk order", 287},
+  {"logical partitions overlap", 288},
+  {"enlarged logical partitions overlap", 289},
+  {"\
+!!!! Internal error creating logical drive with no extended partition !!!!", 290},
+  {"\
+Cannot create logical drive here -- would create two extended partitions", 291},
+  {"Menu item too long. Menu may look odd.", 292},
+  {"Menu without direction. Defaulting horizontal.", 293},
+  {"Illegal key", 294},
+  {"Press a key to continue", 295},
+  {"Primary", 296},
+  {"Create a new primary partition", 297},
+  {"Logical", 298},
+  {"Create a new logical partition", 299},
+  {"Cancel", 300},
+  {"Don't create a partition", 301},
+  {"!!! Internal error !!!", 302},
+  {"Size (in MB): ", 303},
+  {"Beginning", 304},
+  {"Add partition at beginning of free space", 305},
+  {"End", 306},
+  {"Add partition at end of free space", 307},
+  {"No room to create the extended partition", 308},
+  {"Bad signature on partition table", 309},
+  {"You specified more cylinders than fit on disk", 310},
+  {"Cannot open disk drive", 311},
+  {"Opened disk read-only - you have no permission to write", 312},
+  {"Cannot get disk size", 313},
+  {"Bad primary partition", 314},
+  {"Bad logical partition", 315},
+  {"Warning!!  This may destroy data on your disk!", 316},
+  {"Are you sure you want write the partition table to disk? (yes or no): ", 317},
+  {"no", 318},
+  {"Did not write partition table to disk", 319},
+  {"yes", 320},
+  {"Please enter `yes' or `no'", 321},
+  {"Writing partition table to disk...", 322},
+  {"Wrote partition table to disk", 323},
+  {"\
+Wrote partition table, but re-read table failed.  Reboot to update table.", 324},
+  {"\
+Not precisely one primary partition is bootable. DOS MBR cannot boot this.", 325},
+  {"Enter filename or press RETURN to display on screen: ", 326},
+  {"Cannot open file '%s'", 327},
+  {"Disk Drive: %s\n", 328},
+  {"Sector 0:\n", 329},
+  {"Sector %d:\n", 330},
+  {"   None   ", 331},
+  {"   Pri/Log", 332},
+  {"   Primary", 333},
+  {"   Logical", 334},
+  {"Unknown", 335},
+  {"Boot (%02X)", 336},
+  {"Unknown (%02X)", 337},
+  {"None (%02X)", 338},
+  {"Partition Table for %s\n", 339},
+  {"            First    Last\n", 340},
+  {"\
+ # Type     Sector   Sector   Offset  Length   Filesystem Type (ID)   Flags\n", 341},
   {"\
 -- ------- -------- --------- ------ --------- ---------------------- \
----------\n", 340},
-  {"         ---Starting---      ----Ending----    Start Number of\n", 341},
-  {" # Flags Head Sect Cyl   ID  Head Sect Cyl    Sector  Sectors\n", 342},
-  {"-- ----- ---- ---- ---- ---- ---- ---- ---- -------- ---------\n", 343},
-  {"Raw", 344},
-  {"Print the table using raw data format", 345},
-  {"Sectors", 346},
-  {"Print the table ordered by sectors", 347},
-  {"Table", 348},
-  {"Just print the partition table", 349},
-  {"Don't print the table", 350},
-  {"Help Screen for cfdisk", 351},
-  {"This is cfdisk, a curses based disk partitioning program, which", 352},
-  {"allows you to create, delete and modify partitions on your hard", 353},
-  {"disk drive.", 354},
-  {"Copyright (C) 1994-1999 Kevin E. Martin & aeb", 355},
-  {"Command      Meaning", 356},
-  {"-------      -------", 357},
-  {"  b          Toggle bootable flag of the current partition", 358},
-  {"  d          Delete the current partition", 359},
-  {"  g          Change cylinders, heads, sectors-per-track parameters", 360},
-  {"             WARNING: This option should only be used by people who", 361},
-  {"             know what they are doing.", 362},
-  {"  h          Print this screen", 363},
-  {"  m          Maximize disk usage of the current partition", 364},
-  {"             Note: This may make the partition incompatible with", 365},
-  {"             DOS, OS/2, ...", 366},
-  {"  n          Create new partition from free space", 367},
-  {"  p          Print partition table to the screen or to a file", 368},
-  {"             There are several different formats for the partition", 369},
-  {"             that you can choose from:", 370},
-  {"                r - Raw data (exactly what would be written to disk)", 371},
-  {"                s - Table ordered by sectors", 372},
-  {"                t - Table in raw format", 373},
-  {"  q          Quit program without writing partition table", 374},
-  {"  t          Change the filesystem type", 375},
-  {"  u          Change units of the partition size display", 376},
-  {"             Rotates through MB, sectors and cylinders", 377},
-  {"  W          Write partition table to disk (must enter upper case W)", 378},
-  {"             Since this might destroy data on the disk, you must", 379},
-  {"             either confirm or deny the write by entering `yes' or", 380},
-  {"             `no'", 381},
-  {"Up Arrow     Move cursor to the previous partition", 382},
-  {"Down Arrow   Move cursor to the next partition", 383},
-  {"CTRL-L       Redraws the screen", 384},
-  {"  ?          Print this screen", 385},
-  {"Note: All of the commands can be entered with either upper or lower", 386},
-  {"case letters (except for Writes).", 387},
-  {"Cylinders", 388},
-  {"Change cylinder geometry", 389},
-  {"Heads", 390},
-  {"Change head geometry", 391},
-  {"Change sector geometry", 392},
-  {"Done", 393},
-  {"Done with changing geometry", 394},
-  {"Enter the number of cylinders: ", 395},
-  {"Illegal cylinders value", 396},
-  {"Enter the number of heads: ", 397},
-  {"Illegal heads value", 398},
-  {"Enter the number of sectors per track: ", 399},
-  {"Illegal sectors value", 400},
-  {"Enter filesystem type: ", 401},
-  {"Cannot change FS Type to empty", 402},
-  {"Cannot change FS Type to extended", 403},
-  {"Boot", 404},
-  {"Unk(%02X)", 405},
-  {", NC", 406},
-  {"NC", 407},
-  {"Pri/Log", 408},
-  {"Disk Drive: %s", 409},
-  {"Size: %lld bytes", 410},
-  {"Heads: %d   Sectors per Track: %d   Cylinders: %d", 411},
-  {"Name", 412},
-  {"Flags", 413},
-  {"Part Type", 414},
-  {"FS Type", 415},
-  {"[Label]", 416},
-  {"  Sectors", 417},
-  {"Size (MB)", 418},
-  {"Size (GB)", 419},
-  {"Bootable", 420},
-  {"Toggle bootable flag of the current partition", 421},
-  {"Delete", 422},
-  {"Delete the current partition", 423},
-  {"Geometry", 424},
-  {"Change disk geometry (experts only)", 425},
-  {"Help", 426},
-  {"Print help screen", 427},
-  {"Maximize", 428},
-  {"Maximize disk usage of the current partition (experts only)", 429},
-  {"New", 430},
-  {"Create new partition from free space", 431},
-  {"Print", 432},
-  {"Print partition table to the screen or to a file", 433},
-  {"Quit", 434},
-  {"Quit program without writing partition table", 435},
-  {"Type", 436},
-  {"Change the filesystem type (DOS, Linux, OS/2 and so on)", 437},
-  {"Units", 438},
-  {"Change units of the partition size display (MB, sect, cyl)", 439},
-  {"Write", 440},
-  {"Write partition table to disk (this might destroy data)", 441},
-  {"Cannot make this partition bootable", 442},
-  {"Cannot delete an empty partition", 443},
-  {"Cannot maximize this partition", 444},
-  {"This partition is unusable", 445},
-  {"This partition is already in use", 446},
-  {"Cannot change the type of an empty partition", 447},
-  {"No more partitions", 448},
-  {"Illegal command", 449},
-  {"Copyright (C) 1994-1999 Kevin E. Martin & aeb\n", 450},
+---------\n", 342},
+  {"         ---Starting---      ----Ending----    Start Number of\n", 343},
+  {" # Flags Head Sect Cyl   ID  Head Sect Cyl    Sector  Sectors\n", 344},
+  {"-- ----- ---- ---- ---- ---- ---- ---- ---- -------- ---------\n", 345},
+  {"Raw", 346},
+  {"Print the table using raw data format", 347},
+  {"Sectors", 348},
+  {"Print the table ordered by sectors", 349},
+  {"Table", 350},
+  {"Just print the partition table", 351},
+  {"Don't print the table", 352},
+  {"Help Screen for cfdisk", 353},
+  {"This is cfdisk, a curses based disk partitioning program, which", 354},
+  {"allows you to create, delete and modify partitions on your hard", 355},
+  {"disk drive.", 356},
+  {"Copyright (C) 1994-1999 Kevin E. Martin & aeb", 357},
+  {"Command      Meaning", 358},
+  {"-------      -------", 359},
+  {"  b          Toggle bootable flag of the current partition", 360},
+  {"  d          Delete the current partition", 361},
+  {"  g          Change cylinders, heads, sectors-per-track parameters", 362},
+  {"             WARNING: This option should only be used by people who", 363},
+  {"             know what they are doing.", 364},
+  {"  h          Print this screen", 365},
+  {"  m          Maximize disk usage of the current partition", 366},
+  {"             Note: This may make the partition incompatible with", 367},
+  {"             DOS, OS/2, ...", 368},
+  {"  n          Create new partition from free space", 369},
+  {"  p          Print partition table to the screen or to a file", 370},
+  {"             There are several different formats for the partition", 371},
+  {"             that you can choose from:", 372},
+  {"                r - Raw data (exactly what would be written to disk)", 373},
+  {"                s - Table ordered by sectors", 374},
+  {"                t - Table in raw format", 375},
+  {"  q          Quit program without writing partition table", 376},
+  {"  t          Change the filesystem type", 377},
+  {"  u          Change units of the partition size display", 378},
+  {"             Rotates through MB, sectors and cylinders", 379},
+  {"  W          Write partition table to disk (must enter upper case W)", 380},
+  {"             Since this might destroy data on the disk, you must", 381},
+  {"             either confirm or deny the write by entering `yes' or", 382},
+  {"             `no'", 383},
+  {"Up Arrow     Move cursor to the previous partition", 384},
+  {"Down Arrow   Move cursor to the next partition", 385},
+  {"CTRL-L       Redraws the screen", 386},
+  {"  ?          Print this screen", 387},
+  {"Note: All of the commands can be entered with either upper or lower", 388},
+  {"case letters (except for Writes).", 389},
+  {"Cylinders", 390},
+  {"Change cylinder geometry", 391},
+  {"Heads", 392},
+  {"Change head geometry", 393},
+  {"Change sector geometry", 394},
+  {"Done", 395},
+  {"Done with changing geometry", 396},
+  {"Enter the number of cylinders: ", 397},
+  {"Illegal cylinders value", 398},
+  {"Enter the number of heads: ", 399},
+  {"Illegal heads value", 400},
+  {"Enter the number of sectors per track: ", 401},
+  {"Illegal sectors value", 402},
+  {"Enter filesystem type: ", 403},
+  {"Cannot change FS Type to empty", 404},
+  {"Cannot change FS Type to extended", 405},
+  {"Boot", 406},
+  {"Unk(%02X)", 407},
+  {", NC", 408},
+  {"NC", 409},
+  {"Pri/Log", 410},
+  {"Disk Drive: %s", 411},
+  {"Size: %lld bytes", 412},
+  {"Heads: %d   Sectors per Track: %d   Cylinders: %d", 413},
+  {"Name", 414},
+  {"Flags", 415},
+  {"Part Type", 416},
+  {"FS Type", 417},
+  {"[Label]", 418},
+  {"  Sectors", 419},
+  {"Size (MB)", 420},
+  {"Size (GB)", 421},
+  {"Bootable", 422},
+  {"Toggle bootable flag of the current partition", 423},
+  {"Delete", 424},
+  {"Delete the current partition", 425},
+  {"Geometry", 426},
+  {"Change disk geometry (experts only)", 427},
+  {"Help", 428},
+  {"Print help screen", 429},
+  {"Maximize", 430},
+  {"Maximize disk usage of the current partition (experts only)", 431},
+  {"New", 432},
+  {"Create new partition from free space", 433},
+  {"Print", 434},
+  {"Print partition table to the screen or to a file", 435},
+  {"Quit", 436},
+  {"Quit program without writing partition table", 437},
+  {"Type", 438},
+  {"Change the filesystem type (DOS, Linux, OS/2 and so on)", 439},
+  {"Units", 440},
+  {"Change units of the partition size display (MB, sect, cyl)", 441},
+  {"Write", 442},
+  {"Write partition table to disk (this might destroy data)", 443},
+  {"Cannot make this partition bootable", 444},
+  {"Cannot delete an empty partition", 445},
+  {"Cannot maximize this partition", 446},
+  {"This partition is unusable", 447},
+  {"This partition is already in use", 448},
+  {"Cannot change the type of an empty partition", 449},
+  {"No more partitions", 450},
+  {"Illegal command", 451},
+  {"Copyright (C) 1994-2000 Kevin E. Martin & aeb\n", 452},
   {"\
 \n\
 Usage:\n\
@@ -585,7 +587,7 @@ Options:\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", 451},
+\n", 453},
   {"\
 Usage: fdisk [-b SSZ] [-u] DISK     Change partition table\n\
        fdisk -l [-b SSZ] [-u] DISK  List partition table(s)\n\
@@ -594,200 +596,211 @@ Usage: fdisk [-b SSZ] [-u] DISK     Change partition table\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 drives) use 2048-byte sectors\n", 452},
+-b 2048: (for certain MO drives) use 2048-byte sectors\n", 454},
   {"\
 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", 453},
-  {"Unable to open %s\n", 454},
-  {"Unable to read %s\n", 455},
-  {"Unable to seek on %s\n", 456},
-  {"Unable to write %s\n", 457},
-  {"BLKGETSIZE ioctl failed on %s\n", 458},
-  {"Unable to allocate any more memory\n", 459},
-  {"Fatal error\n", 460},
-  {"Command action", 461},
-  {"   a   toggle a read only flag", 462},
-  {"   b   edit bsd disklabel", 463},
-  {"   c   toggle the mountable flag", 464},
-  {"   d   delete a partition", 465},
-  {"   l   list known partition types", 466},
-  {"   m   print this menu", 467},
-  {"   n   add a new partition", 468},
-  {"   o   create a new empty DOS partition table", 469},
-  {"   p   print the partition table", 470},
-  {"   q   quit without saving changes", 471},
-  {"   s   create a new empty Sun disklabel", 472},
-  {"   t   change a partition's system id", 473},
-  {"   u   change display/entry units", 474},
-  {"   v   verify the partition table", 475},
-  {"   w   write table to disk and exit", 476},
-  {"   x   extra functionality (experts only)", 477},
-  {"   a   select bootable partition", 478},
-  {"   b   edit bootfile entry", 479},
-  {"   c   select sgi swap partition", 480},
-  {"   a   toggle a bootable flag", 481},
-  {"   c   toggle the dos compatibility flag", 482},
-  {"   a   change number of alternate cylinders", 483},
-  {"   c   change number of cylinders", 484},
-  {"   d   print the raw data in the partition table", 485},
-  {"   e   change number of extra sectors per cylinder", 486},
-  {"   h   change number of heads", 487},
-  {"   i   change interleave factor", 488},
-  {"   o   change rotation speed (rpm)", 489},
-  {"   r   return to main menu", 490},
-  {"   s   change number of sectors/track", 491},
-  {"   y   change number of physical cylinders", 492},
-  {"   b   move beginning of data in a partition", 493},
-  {"   e   list extended partitions", 494},
-  {"   g   create an IRIX partition table", 495},
-  {"You must set", 496},
-  {"heads", 497},
-  {"sectors", 498},
-  {"cylinders", 499},
+  ...\n", 455},
+  {"Unable to open %s\n", 456},
+  {"Unable to read %s\n", 457},
+  {"Unable to seek on %s\n", 458},
+  {"Unable to write %s\n", 459},
+  {"BLKGETSIZE ioctl failed on %s\n", 460},
+  {"Unable to allocate any more memory\n", 461},
+  {"Fatal error\n", 462},
+  {"Command action", 463},
+  {"   a   toggle a read only flag", 464},
+  {"   b   edit bsd disklabel", 465},
+  {"   c   toggle the mountable flag", 466},
+  {"   d   delete a partition", 467},
+  {"   l   list known partition types", 468},
+  {"   m   print this menu", 469},
+  {"   n   add a new partition", 470},
+  {"   o   create a new empty DOS partition table", 471},
+  {"   p   print the partition table", 472},
+  {"   q   quit without saving changes", 473},
+  {"   s   create a new empty Sun disklabel", 474},
+  {"   t   change a partition's system id", 475},
+  {"   u   change display/entry units", 476},
+  {"   v   verify the partition table", 477},
+  {"   w   write table to disk and exit", 478},
+  {"   x   extra functionality (experts only)", 479},
+  {"   a   select bootable partition", 480},
+  {"   b   edit bootfile entry", 481},
+  {"   c   select sgi swap partition", 482},
+  {"   a   toggle a bootable flag", 483},
+  {"   c   toggle the dos compatibility flag", 484},
+  {"   a   change number of alternate cylinders", 485},
+  {"   c   change number of cylinders", 486},
+  {"   d   print the raw data in the partition table", 487},
+  {"   e   change number of extra sectors per cylinder", 488},
+  {"   h   change number of heads", 489},
+  {"   i   change interleave factor", 490},
+  {"   o   change rotation speed (rpm)", 491},
+  {"   r   return to main menu", 492},
+  {"   s   change number of sectors/track", 493},
+  {"   y   change number of physical cylinders", 494},
+  {"   b   move beginning of data in a partition", 495},
+  {"   e   list extended partitions", 496},
+  {"   g   create an IRIX partition table", 497},
+  {"   f   fix partition order", 498},
+  {"You must set", 499},
+  {"heads", 500},
+  {"sectors", 501},
+  {"cylinders", 502},
   {"\
 %s%s.\n\
-You can do this from the extra functions menu.\n", 500},
-  {" and ", 501},
-  {"Bad offset in primary extended partition\n", 502},
-  {"Warning: deleting partitions after %d\n", 503},
-  {"Warning: extra link pointer in partition table %d\n", 504},
-  {"Warning: ignoring extra data in partition table %d\n", 505},
+You can do this from the extra functions menu.\n", 503},
+  {" and ", 504},
+  {"Bad offset in primary extended partition\n", 505},
+  {"Warning: deleting partitions after %d\n", 506},
+  {"Warning: extra link pointer in partition table %d\n", 507},
+  {"Warning: ignoring extra data in partition table %d\n", 508},
   {"\
 Building a new DOS 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", 506},
-  {"You will not be able to write the partition table.\n", 507},
-  {"Note: sector size is %d (not %d)\n", 508},
+\n", 509},
+  {"Note: sector size is %d (not %d)\n", 510},
+  {"You will not be able to write the partition table.\n", 511},
   {"\
-Device contains neither a valid DOS partition table, nor Sun or SGI \
-disklabel\n", 509},
-  {"Internal error\n", 510},
-  {"Ignoring extra extended partition %d\n", 511},
+Device contains neither a valid DOS partition table, nor Sun, SGI or OSF \
+disklabel\n", 512},
+  {"Internal error\n", 513},
+  {"Ignoring extra extended partition %d\n", 514},
   {"\
 Warning: invalid flag 0x%04x of partition table %d will be corrected by \
-w(rite)\n", 512},
+w(rite)\n", 515},
   {"\
 \n\
-got EOF thrice - exiting..\n", 513},
-  {"Hex code (type L to list codes): ", 514},
-  {"%s (%d-%d, default %d): ", 515},
-  {"Using default value %d\n", 516},
-  {"Value out of range.\n", 517},
-  {"Partition number", 518},
-  {"Warning: partition %d has empty type\n", 519},
-  {"cylinder", 520},
-  {"sector", 521},
-  {"Changing display/entry units to %s\n", 522},
-  {"WARNING: Partition %d is an extended partition\n", 523},
-  {"DOS Compatibility flag is set\n", 524},
-  {"DOS Compatibility flag is not set\n", 525},
-  {"Partition %d does not exist yet!\n", 526},
+got EOF thrice - exiting..\n", 516},
+  {"Hex code (type L to list codes): ", 517},
+  {"%s (%d-%d, default %d): ", 518},
+  {"Using default value %d\n", 519},
+  {"Value out of range.\n", 520},
+  {"Partition number", 521},
+  {"Warning: partition %d has empty type\n", 522},
+  {"cylinder", 523},
+  {"sector", 524},
+  {"Changing display/entry units to %s\n", 525},
+  {"WARNING: Partition %d is an extended partition\n", 526},
+  {"DOS Compatibility flag is set\n", 527},
+  {"DOS Compatibility flag is not set\n", 528},
+  {"Partition %d does not exist yet!\n", 529},
   {"\
 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", 527},
+a partition using the `d' command.\n", 530},
   {"\
 You cannot change a partition into an extended one or vice versa\n\
-Delete it first.\n", 528},
+Delete it first.\n", 531},
   {"\
 Consider leaving partition 3 as Whole disk (5),\n\
 as SunOS/Solaris expects it and even Linux likes it.\n\
-\n", 529},
+\n", 532},
   {"\
 Consider leaving partition 9 as volume header (0),\n\
 and partition 11 as entire volume (6)as IRIX expects it.\n\
-\n", 530},
-  {"Changed system type of partition %d to %x (%s)\n", 531},
-  {"Partition %d has different physical/logical beginnings (non-Linux?):\n", 532},
-  {"     phys=(%d, %d, %d) ", 533},
-  {"logical=(%d, %d, %d)\n", 534},
-  {"Partition %d has different physical/logical endings:\n", 535},
-  {"Partition %i does not start on cylinder boundary:\n", 536},
-  {"should be (%d, %d, 1)\n", 537},
-  {"Partition %i does not end on cylinder boundary:\n", 538},
-  {"should be (%d, %d, %d)\n", 539},
+\n", 533},
+  {"Changed system type of partition %d to %x (%s)\n", 534},
+  {"Partition %d has different physical/logical beginnings (non-Linux?):\n", 535},
+  {"     phys=(%d, %d, %d) ", 536},
+  {"logical=(%d, %d, %d)\n", 537},
+  {"Partition %d has different physical/logical endings:\n", 538},
+  {"Partition %i does not start on cylinder boundary:\n", 539},
+  {"should be (%d, %d, 1)\n", 540},
+  {"Partition %i does not end on cylinder boundary:\n", 541},
+  {"should be (%d, %d, %d)\n", 542},
   {"\
 \n\
 Disk %s: %d heads, %d sectors, %d cylinders\n\
 Units = %s of %d * %d bytes\n\
-\n", 540},
-  {"%*s Boot    Start       End    Blocks   Id  System\n", 541},
-  {"Device", 542},
+\n", 543},
+  {"\
+Nothing to do. Ordering is correct already.\n\
+\n", 544},
+  {"%*s Boot    Start       End    Blocks   Id  System\n", 545},
+  {"Device", 546},
+  {"\
+\n\
+Partition table entries are not in disk order\n", 547},
   {"\
 \n\
 Disk %s: %d heads, %d sectors, %d cylinders\n\
-\n", 543},
-  {"Nr AF  Hd Sec  Cyl  Hd Sec  Cyl    Start     Size ID\n", 544},
-  {"Warning: partition %d contains sector 0\n", 545},
-  {"Partition %d: head %d greater than maximum %d\n", 546},
-  {"Partition %d: sector %d greater than maximum %d\n", 547},
-  {"Partitions %d: cylinder %d greater than maximum %d\n", 548},
-  {"Partition %d: previous sectors %d disagrees with total %d\n", 549},
-  {"Warning: bad start-of-data in partition %d\n", 550},
-  {"Warning: partition %d overlaps partition %d.\n", 551},
-  {"Warning: partition %d is empty\n", 552},
-  {"Logical partition %d not entirely in partition %d\n", 553},
-  {"Total allocated sectors %d greater than the maximum %d\n", 554},
-  {"%d unallocated sectors\n", 555},
-  {"Partition %d is already defined.  Delete it before re-adding it.\n", 556},
-  {"First %s", 557},
-  {"Sector %d is already allocated\n", 558},
-  {"No free sectors available\n", 559},
-  {"Last %s or +size or +sizeM or +sizeK", 560},
-  {"Warning: partition %d has an odd number of sectors.\n", 561},
-  {"The maximum number of partitions has been created\n", 562},
-  {"You must delete some partition and add an extended partition first\n", 563},
+\n", 548},
+  {"Nr AF  Hd Sec  Cyl  Hd Sec  Cyl    Start     Size ID\n", 549},
+  {"Warning: partition %d contains sector 0\n", 550},
+  {"Partition %d: head %d greater than maximum %d\n", 551},
+  {"Partition %d: sector %d greater than maximum %d\n", 552},
+  {"Partitions %d: cylinder %d greater than maximum %d\n", 553},
+  {"Partition %d: previous sectors %d disagrees with total %d\n", 554},
+  {"Warning: bad start-of-data in partition %d\n", 555},
+  {"Warning: partition %d overlaps partition %d.\n", 556},
+  {"Warning: partition %d is empty\n", 557},
+  {"Logical partition %d not entirely in partition %d\n", 558},
+  {"Total allocated sectors %d greater than the maximum %d\n", 559},
+  {"%d unallocated sectors\n", 560},
+  {"Partition %d is already defined.  Delete it before re-adding it.\n", 561},
+  {"First %s", 562},
+  {"Sector %d is already allocated\n", 563},
+  {"No free sectors available\n", 564},
+  {"Last %s or +size or +sizeM or +sizeK", 565},
+  {"Warning: partition %d has an odd number of sectors.\n", 566},
+  {"The maximum number of partitions has been created\n", 567},
+  {"You must delete some partition and add an extended partition first\n", 568},
   {"\
 Command action\n\
    %s\n\
-   p   primary partition (1-4)\n", 564},
-  {"l   logical (5 or over)", 565},
-  {"e   extended", 566},
-  {"Invalid partition number for type `%c'\n", 567},
+   p   primary partition (1-4)\n", 569},
+  {"l   logical (5 or over)", 570},
+  {"e   extended", 571},
+  {"Invalid partition number for type `%c'\n", 572},
   {"\
 The partition table has been altered!\n\
-\n", 568},
-  {"Calling ioctl() to re-read partition table.\n", 569},
+\n", 573},
+  {"Calling ioctl() to re-read partition table.\n", 574},
   {"\
 Re-read table failed with error %d: %s.\n\
-Reboot your system to ensure the partition table is updated.\n", 570},
+Reboot your system to ensure the partition table is updated.\n", 575},
   {"\
 \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", 571},
-  {"Syncing disks.\n", 572},
-  {"Device: %s\n", 573},
-  {"Partition %d has no data area\n", 574},
-  {"New beginning of data", 575},
-  {"Expert command (m for help): ", 576},
-  {"Number of cylinders", 577},
-  {"Number of heads", 578},
-  {"Number of sectors", 579},
-  {"Warning: setting sector offset for DOS compatiblity\n", 580},
-  {"Disk %s doesn't contain a valid partition table\n", 581},
-  {"Cannot open %s\n", 582},
-  {"cannot open %s\n", 583},
-  {"This kernel finds the sector size itself - -b option ignored\n", 584},
+information.\n", 576},
+  {"Syncing disks.\n", 577},
+  {"Device: %s\n", 578},
+  {"Partition %d has no data area\n", 579},
+  {"New beginning of data", 580},
+  {"Expert command (m for help): ", 581},
+  {"Number of cylinders", 582},
+  {"Number of heads", 583},
+  {"Number of sectors", 584},
+  {"Warning: setting sector offset for DOS compatiblity\n", 585},
+  {"Disk %s doesn't contain a valid partition table\n", 586},
+  {"Cannot open %s\n", 587},
+  {"cannot open %s\n", 588},
+  {"%c: unknown command\n", 589},
+  {"This kernel finds the sector size itself - -b option ignored\n", 590},
   {"\
 Warning: the -b (set sector size) option should be used with one specified \
-device\n", 585},
-  {"Command (m for help): ", 586},
+device\n", 591},
+  {"\
+Detected an OSF/1 disklabel on %s, entering disklabel mode.\n\
+To return to DOS partition table mode, use the 'r' command.\n", 592},
+  {"Command (m for help): ", 593},
   {"\
 \n\
-The current boot file is: %s\n", 587},
-  {"Please enter the name of the new boot file: ", 588},
-  {"Boot file unchanged\n", 589},
+The current boot file is: %s\n", 594},
+  {"Please enter the name of the new boot file: ", 595},
+  {"Boot file unchanged\n", 596},
   {"\
 \n\
 \tSorry, no experts menu for SGI partition tables available.\n\
-\n", 590},
+\n", 597},
   {"\
 \n\
 \tThere is a valid AIX label on this disk.\n\
@@ -800,93 +813,92 @@ The current boot file is: %s\n", 587},
 \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).", 591},
+\t   machine.  (Otherwise you become an AIXpert).", 598},
   {"\
 \n\
-BSD label for device: %s\n", 592},
-  {"   d   delete a BSD partition", 593},
-  {"   e   edit drive data", 594},
-  {"   i   install bootstrap", 595},
-  {"   l   list known filesystem types", 596},
-  {"   n   add a new BSD partition", 597},
-  {"   p   print BSD partition table", 598},
-  {"   s   show complete disklabel", 599},
-  {"   t   change a partition's filesystem id", 600},
-  {"   w   write disklabel to disk", 601},
-  {"   x   link BSD partition to non-BSD partition", 602},
-  {"Partition %s%d has invalid starting sector 0.\n", 603},
-  {"Reading disklabel of %s%d at sector %d.\n", 604},
-  {"There is no *BSD partition on %s.\n", 605},
-  {"BSD disklabel command (m for help): ", 606},
-  {"type: %s\n", 607},
-  {"type: %d\n", 608},
-  {"disk: %.*s\n", 609},
-  {"label: %.*s\n", 610},
-  {"flags:", 611},
-  {" removable", 612},
-  {" ecc", 613},
-  {" badsect", 614},
-  {"bytes/sector: %ld\n", 615},
-  {"sectors/track: %ld\n", 616},
-  {"tracks/cylinder: %ld\n", 617},
-  {"sectors/cylinder: %ld\n", 618},
-  {"cylinders: %ld\n", 619},
-  {"rpm: %d\n", 620},
-  {"interleave: %d\n", 621},
-  {"trackskew: %d\n", 622},
-  {"cylinderskew: %d\n", 623},
-  {"headswitch: %ld\t\t# milliseconds\n", 624},
-  {"track-to-track seek: %ld\t# milliseconds\n", 625},
-  {"drivedata: ", 626},
+BSD label for device: %s\n", 599},
+  {"   d   delete a BSD partition", 600},
+  {"   e   edit drive data", 601},
+  {"   i   install bootstrap", 602},
+  {"   l   list known filesystem types", 603},
+  {"   n   add a new BSD partition", 604},
+  {"   p   print BSD partition table", 605},
+  {"   s   show complete disklabel", 606},
+  {"   t   change a partition's filesystem id", 607},
+  {"   u   change units (cylinders/sectors)", 608},
+  {"   w   write disklabel to disk", 609},
+  {"   x   link BSD partition to non-BSD partition", 610},
+  {"Partition %s has invalid starting sector 0.\n", 611},
+  {"Reading disklabel of %s at sector %d.\n", 612},
+  {"There is no *BSD partition on %s.\n", 613},
+  {"BSD disklabel command (m for help): ", 614},
+  {"type: %s\n", 615},
+  {"type: %d\n", 616},
+  {"disk: %.*s\n", 617},
+  {"label: %.*s\n", 618},
+  {"flags:", 619},
+  {" removable", 620},
+  {" ecc", 621},
+  {" badsect", 622},
+  {"bytes/sector: %ld\n", 623},
+  {"sectors/track: %ld\n", 624},
+  {"tracks/cylinder: %ld\n", 625},
+  {"sectors/cylinder: %ld\n", 626},
+  {"cylinders: %ld\n", 627},
+  {"rpm: %d\n", 628},
+  {"interleave: %d\n", 629},
+  {"trackskew: %d\n", 630},
+  {"cylinderskew: %d\n", 631},
+  {"headswitch: %ld\t\t# milliseconds\n", 632},
+  {"track-to-track seek: %ld\t# milliseconds\n", 633},
+  {"drivedata: ", 634},
   {"\
 \n\
-%d partitions:\n", 627},
-  {"#        size   offset    fstype   [fsize bsize   cpg]\n", 628},
-  {"Writing disklabel to %s%d.\n", 629},
-  {"Writing disklabel to %s.\n", 630},
-  {"%s%d contains no disklabel.\n", 631},
-  {"%s contains no disklabel.\n", 632},
-  {"Do you want to create a disklabel? (y/n) ", 633},
-  {"bytes/sector", 634},
-  {"sectors/track", 635},
-  {"tracks/cylinder", 636},
-  {"sectors/cylinder", 637},
-  {"Must be <= sectors/track * tracks/cylinder (default).\n", 638},
-  {"rpm", 639},
-  {"interleave", 640},
-  {"trackskew", 641},
-  {"cylinderskew", 642},
-  {"headswitch", 643},
-  {"track-to-track seek", 644},
-  {"Bootstrap: %sboot -> boot%s (%s): ", 645},
-  {"Bootstrap overlaps with disk label!\n", 646},
-  {"Bootstrap installed on %s%d.\n", 647},
-  {"Bootstrap installed on %s.\n", 648},
-  {"Partition (a-%c): ", 649},
-  {"This partition already exists.\n", 650},
-  {"Warning: too many partitions (%d, maximum is %d).\n", 651},
+%d partitions:\n", 635},
+  {"#       start       end      size     fstype   [fsize bsize   cpg]\n", 636},
+  {"Writing disklabel to %s.\n", 637},
+  {"%s contains no disklabel.\n", 638},
+  {"Do you want to create a disklabel? (y/n) ", 639},
+  {"bytes/sector", 640},
+  {"sectors/track", 641},
+  {"tracks/cylinder", 642},
+  {"sectors/cylinder", 643},
+  {"Must be <= sectors/track * tracks/cylinder (default).\n", 644},
+  {"rpm", 645},
+  {"interleave", 646},
+  {"trackskew", 647},
+  {"cylinderskew", 648},
+  {"headswitch", 649},
+  {"track-to-track seek", 650},
+  {"Bootstrap: %sboot -> boot%s (%s): ", 651},
+  {"Bootstrap overlaps with disk label!\n", 652},
+  {"Bootstrap installed on %s.\n", 653},
+  {"Partition (a-%c): ", 654},
+  {"This partition already exists.\n", 655},
+  {"Warning: too many partitions (%d, maximum is %d).\n", 656},
   {"\
 \n\
-Syncing disks.\n", 652},
-  {"SGI volhdr", 653},
-  {"SGI trkrepl", 654},
-  {"SGI secrepl", 655},
-  {"SGI raw", 656},
-  {"SGI bsd", 657},
-  {"SGI sysv", 658},
-  {"SGI volume", 659},
-  {"SGI efs", 660},
-  {"SGI lvol", 661},
-  {"SGI rlvol", 662},
-  {"SGI xfs", 663},
-  {"SGI xlvol", 664},
-  {"SGI rxlvol", 665},
-  {"Linux swap", 666},
-  {"Linux native", 667},
+Syncing disks.\n", 657},
+  {"SGI volhdr", 658},
+  {"SGI trkrepl", 659},
+  {"SGI secrepl", 660},
+  {"SGI raw", 661},
+  {"SGI bsd", 662},
+  {"SGI sysv", 663},
+  {"SGI volume", 664},
+  {"SGI efs", 665},
+  {"SGI lvol", 666},
+  {"SGI rlvol", 667},
+  {"SGI xfs", 668},
+  {"SGI xlvol", 669},
+  {"SGI rxlvol", 670},
+  {"Linux swap", 671},
+  {"Linux native", 672},
+  {"Linux LVM", 673},
   {"\
 According to MIPS Computer Systems, Inc the Label must not contain more than \
-512 bytes\n", 668},
-  {"Detected sgi disklabel with wrong checksum.\n", 669},
+512 bytes\n", 674},
+  {"Detected sgi disklabel with wrong checksum.\n", 675},
   {"\
 \n\
 Disk %s (SGI disk label): %d heads, %d sectors\n\
@@ -894,139 +906,139 @@ Disk %s (SGI disk label): %d heads, %d sectors\n\
 %d extra sects/cyl, interleave %d:1\n\
 %s\n\
 Units = %s of %d * 512 bytes\n\
-\n", 670},
+\n", 676},
   {"\
 \n\
 Disk %s (SGI disk label): %d heads, %d sectors, %d cylinders\n\
 Units = %s of %d * 512 bytes\n\
-\n", 671},
+\n", 677},
   {"\
 ----- partitions -----\n\
-%*s  Info      Start       End   Sectors  Id  System\n", 672},
+%*s  Info      Start       End   Sectors  Id  System\n", 678},
   {"\
 ----- bootinfo -----\n\
 Bootfile: %s\n\
------ directory entries -----\n", 673},
-  {"%2d: %-10s sector%5u size%8u\n", 674},
+----- directory entries -----\n", 679},
+  {"%2d: %-10s sector%5u size%8u\n", 680},
   {"\
 \n\
 Invalid Bootfile!\n\
 \tThe bootfile must be an absolute non-zero pathname,\n\
-\te.g. \"/unix\" or \"/unix.save\".\n", 675},
+\te.g. \"/unix\" or \"/unix.save\".\n", 681},
   {"\
 \n\
-\tName of Bootfile too long:  16 bytes maximum.\n", 676},
+\tName of Bootfile too long:  16 bytes maximum.\n", 682},
   {"\
 \n\
-\tBootfile must have a fully qualified pathname.\n", 677},
+\tBootfile must have a fully qualified pathname.\n", 683},
   {"\
 \n\
 \tBe aware, that the bootfile is not checked for existence.\n\
-\tSGI's default is \"/unix\" and for backup \"/unix.save\".\n", 678},
+\tSGI's default is \"/unix\" and for backup \"/unix.save\".\n", 684},
   {"\
 \n\
-\tBootfile is changed to \"%s\".\n", 679},
-  {"More than one entire disk entry present.\n", 680},
-  {"No partitions defined\n", 681},
-  {"IRIX likes when Partition 11 covers the entire disk.\n", 682},
+\tBootfile is changed to \"%s\".\n", 685},
+  {"More than one entire disk entry present.\n", 686},
+  {"No partitions defined\n", 687},
+  {"IRIX likes when Partition 11 covers the entire disk.\n", 688},
   {"\
 The entire disk partition should start at block 0,\n\
-not at diskblock %d.\n", 683},
+not at diskblock %d.\n", 689},
   {"\
 The entire disk partition is only %d diskblock large,\n\
-but the disk is %d diskblocks long.\n", 684},
-  {"One Partition (#11) should cover the entire disk.\n", 685},
-  {"Partition %d does not start on cylinder boundary.\n", 686},
-  {"Partition %d does not end on cylinder boundary.\n", 687},
-  {"The Partition %d and %d overlap by %d sectors.\n", 688},
-  {"Unused gap of %8d sectors - sectors %8d-%d\n", 689},
+but the disk is %d diskblocks long.\n", 690},
+  {"One Partition (#11) should cover the entire disk.\n", 691},
+  {"Partition %d does not start on cylinder boundary.\n", 692},
+  {"Partition %d does not end on cylinder boundary.\n", 693},
+  {"The Partition %d and %d overlap by %d sectors.\n", 694},
+  {"Unused gap of %8d sectors - sectors %8d-%d\n", 695},
   {"\
 \n\
-The boot partition does not exist.\n", 690},
+The boot partition does not exist.\n", 696},
   {"\
 \n\
-The swap partition does not exist.\n", 691},
+The swap partition does not exist.\n", 697},
   {"\
 \n\
-The swap partition has no swap type.\n", 692},
-  {"\tYou have chosen an unusual boot file name.\n", 693},
-  {"Sorry You may change the Tag of non-empty partitions.\n", 694},
+The swap partition has no swap type.\n", 698},
+  {"\tYou have chosen an unusual boot file name.\n", 699},
+  {"Sorry You may change the Tag of non-empty partitions.\n", 700},
   {"\
 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", 695},
-  {"Do You know, You got a partition overlap on the disk?\n", 696},
-  {"Attempting to generate entire disk entry automatically.\n", 697},
-  {"The entire disk is already covered with partitions.\n", 698},
-  {"You got a partition overlap on the disk. Fix it first!\n", 699},
+Type YES if you are sure about tagging this partition differently.\n", 701},
+  {"Do You know, You got a partition overlap on the disk?\n", 702},
+  {"Attempting to generate entire disk entry automatically.\n", 703},
+  {"The entire disk is already covered with partitions.\n", 704},
+  {"You got a partition overlap on the disk. Fix it first!\n", 705},
   {"\
 It is highly recommended that eleventh partition\n\
-covers the entire disk and is of type `SGI volume'\n", 700},
-  {"You will get a partition overlap on the disk. Fix it first!\n", 701},
-  {" Last %s", 702},
+covers the entire disk and is of type `SGI volume'\n", 706},
+  {"You will get a partition overlap on the disk. Fix it first!\n", 707},
+  {" Last %s", 708},
   {"\
 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 unrecoverable lost.\n\
-\n", 703},
-  {"Trying to keep parameters of partition %d.\n", 704},
-  {"ID=%02x\tSTART=%d\tLENGTH=%d\n", 705},
-  {"Empty", 706},
-  {"SunOS root", 707},
-  {"SunOS swap", 708},
-  {"SunOS usr", 709},
-  {"Whole disk", 710},
-  {"SunOS stand", 711},
-  {"SunOS var", 712},
-  {"SunOS home", 713},
+content will be unrecoverably lost.\n\
+\n", 709},
+  {"Trying to keep parameters of partition %d.\n", 710},
+  {"ID=%02x\tSTART=%d\tLENGTH=%d\n", 711},
+  {"Empty", 712},
+  {"SunOS root", 713},
+  {"SunOS swap", 714},
+  {"SunOS usr", 715},
+  {"Whole disk", 716},
+  {"SunOS stand", 717},
+  {"SunOS var", 718},
+  {"SunOS home", 719},
   {"\
 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", 714},
-  {"Autoconfigure found a %s%s%s\n", 715},
+or force a fresh label (s command in main menu)\n", 720},
+  {"Autoconfigure found a %s%s%s\n", 721},
   {"\
 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", 716},
+\n", 722},
   {"\
 Drive type\n\
    ?   auto configure\n\
-   0   custom (with hardware detected defaults)", 717},
-  {"Select type (? for auto, 0 for custom): ", 718},
-  {"Autoconfigure failed.\n", 719},
-  {"Sectors/track", 720},
-  {"Alternate cylinders", 721},
-  {"Physical cylinders", 722},
-  {"Rotation speed (rpm)", 723},
-  {"Interleave factor", 724},
-  {"Extra sectors per cylinder", 725},
-  {"You may change all the disk params from the x menu", 726},
-  {"3,5\" floppy", 727},
-  {"Linux custom", 728},
-  {"Partition %d doesn't end on cylinder boundary\n", 729},
-  {"Partition %d overlaps with others in sectors %d-%d\n", 730},
-  {"Unused gap - sectors 0-%d\n", 731},
-  {"Unused gap - sectors %d-%d\n", 732},
+   0   custom (with hardware detected defaults)", 723},
+  {"Select type (? for auto, 0 for custom): ", 724},
+  {"Autoconfigure failed.\n", 725},
+  {"Sectors/track", 726},
+  {"Alternate cylinders", 727},
+  {"Physical cylinders", 728},
+  {"Rotation speed (rpm)", 729},
+  {"Interleave factor", 730},
+  {"Extra sectors per cylinder", 731},
+  {"You may change all the disk params from the x menu", 732},
+  {"3,5\" floppy", 733},
+  {"Linux custom", 734},
+  {"Partition %d doesn't end on cylinder boundary\n", 735},
+  {"Partition %d overlaps with others in sectors %d-%d\n", 736},
+  {"Unused gap - sectors 0-%d\n", 737},
+  {"Unused gap - sectors %d-%d\n", 738},
   {"\
 Other partitions already cover the whole disk.\n\
-Delete some/shrink them before retry.\n", 733},
+Delete some/shrink them before retry.\n", 739},
   {"\
 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", 734},
+to %d %s\n", 740},
   {"\
 If you want to maintain SunOS/Solaris compatibility, consider leaving this\n\
-partition as Whole disk (5), starting at 0, with %u sectors\n", 735},
+partition as Whole disk (5), starting at 0, with %u sectors\n", 741},
   {"\
 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): ", 736},
+tagged with 82 (Linux swap): ", 742},
   {"\
 \n\
 Disk %s (Sun disk label): %d heads, %d sectors, %d rpm\n\
@@ -1034,1088 +1046,1099 @@ Disk %s (Sun disk label): %d heads, %d sectors, %d rpm\n\
 %d extra sects/cyl, interleave %d:1\n\
 %s\n\
 Units = %s of %d * 512 bytes\n\
-\n", 737},
+\n", 743},
   {"\
 \n\
 Disk %s (Sun disk label): %d heads, %d sectors, %d cylinders\n\
 Units = %s of %d * 512 bytes\n\
-\n", 738},
-  {"%*s Flag    Start       End    Blocks   Id  System\n", 739},
-  {"Number of alternate cylinders", 740},
-  {"Number of physical cylinders", 741},
-  {"FAT12", 742},
-  {"XENIX root", 743},
-  {"XENIX usr", 744},
-  {"FAT16 <32M", 745},
-  {"Extended", 746},
-  {"FAT16", 747},
-  {"HPFS/NTFS", 748},
-  {"AIX", 749},
-  {"AIX bootable", 750},
-  {"OS/2 Boot Manager", 751},
-  {"Win95 FAT32", 752},
-  {"Win95 FAT32 (LBA)", 753},
-  {"Win95 FAT16 (LBA)", 754},
-  {"Win95 Ext'd (LBA)", 755},
-  {"OPUS", 756},
-  {"Hidden FAT12", 757},
-  {"Compaq diagnostics", 758},
-  {"Hidden FAT16 <32M", 759},
-  {"Hidden FAT16", 760},
-  {"Hidden HPFS/NTFS", 761},
-  {"AST Windows swapfile", 762},
-  {"Hidden Win95 FAT32", 763},
-  {"Hidden Win95 FAT32 (LBA)", 764},
-  {"Hidden Win95 FAT16 (LBA)", 765},
-  {"NEC DOS", 766},
-  {"PartitionMagic recovery", 767},
-  {"Venix 80286", 768},
-  {"PPC PReP Boot", 769},
-  {"SFS", 770},
-  {"QNX4.x", 771},
-  {"QNX4.x 2nd part", 772},
-  {"QNX4.x 3rd part", 773},
-  {"OnTrack DM", 774},
-  {"OnTrack DM6 Aux1", 775},
-  {"CP/M", 776},
-  {"OnTrack DM6 Aux3", 777},
-  {"OnTrackDM6", 778},
-  {"EZ-Drive", 779},
-  {"Golden Bow", 780},
-  {"Priam Edisk", 781},
-  {"SpeedStor", 782},
-  {"GNU HURD or SysV", 783},
-  {"Novell Netware 286", 784},
-  {"Novell Netware 386", 785},
-  {"DiskSecure Multi-Boot", 786},
-  {"PC/IX", 787},
-  {"Old Minix", 788},
-  {"Minix / old Linux", 789},
-  {"OS/2 hidden C: drive", 790},
-  {"Linux extended", 791},
-  {"NTFS volume set", 792},
-  {"Amoeba", 793},
-  {"Amoeba BBT", 794},
-  {"IBM Thinkpad hibernation", 795},
-  {"BSD/386", 796},
-  {"OpenBSD", 797},
-  {"NeXTSTEP", 798},
-  {"BSDI fs", 799},
-  {"BSDI swap", 800},
-  {"DRDOS/sec (FAT-12)", 801},
-  {"DRDOS/sec (FAT-16 < 32M)", 802},
-  {"DRDOS/sec (FAT-16)", 803},
-  {"Syrinx", 804},
-  {"CP/M / CTOS / ...", 805},
-  {"DOS access", 806},
-  {"DOS R/O", 807},
-  {"BeOS fs", 808},
-  {"DOS secondary", 809},
-  {"Linux raid autodetect", 810},
-  {"LANstep", 811},
-  {"BBT", 812},
-  {"seek error on %s - cannot seek to %lu\n", 813},
-  {"seek error: wanted 0x%08x%08x, got 0x%08x%08x\n", 814},
-  {"out of memory - giving up\n", 815},
-  {"read error on %s - cannot read sector %lu\n", 816},
-  {"ERROR: sector %lu does not have an msdos signature\n", 817},
-  {"write error on %s - cannot write sector %lu\n", 818},
-  {"cannot open partition sector save file (%s)\n", 819},
-  {"write error on %s\n", 820},
-  {"cannot stat partition restore file (%s)\n", 821},
-  {"partition restore file has wrong size - not restoring\n", 822},
-  {"out of memory?\n", 823},
-  {"cannot open partition restore file (%s)\n", 824},
-  {"error reading %s\n", 825},
-  {"cannot open device %s for writing\n", 826},
-  {"error writing sector %lu on %s\n", 827},
+\n", 744},
+  {"%*s Flag    Start       End    Blocks   Id  System\n", 745},
+  {"Number of alternate cylinders", 746},
+  {"Number of physical cylinders", 747},
+  {"FAT12", 748},
+  {"XENIX root", 749},
+  {"XENIX usr", 750},
+  {"FAT16 <32M", 751},
+  {"Extended", 752},
+  {"FAT16", 753},
+  {"HPFS/NTFS", 754},
+  {"AIX", 755},
+  {"AIX bootable", 756},
+  {"OS/2 Boot Manager", 757},
+  {"Win95 FAT32", 758},
+  {"Win95 FAT32 (LBA)", 759},
+  {"Win95 FAT16 (LBA)", 760},
+  {"Win95 Ext'd (LBA)", 761},
+  {"OPUS", 762},
+  {"Hidden FAT12", 763},
+  {"Compaq diagnostics", 764},
+  {"Hidden FAT16 <32M", 765},
+  {"Hidden FAT16", 766},
+  {"Hidden HPFS/NTFS", 767},
+  {"AST Windows swapfile", 768},
+  {"Hidden Win95 FAT32", 769},
+  {"Hidden Win95 FAT32 (LBA)", 770},
+  {"Hidden Win95 FAT16 (LBA)", 771},
+  {"NEC DOS", 772},
+  {"PartitionMagic recovery", 773},
+  {"Venix 80286", 774},
+  {"PPC PReP Boot", 775},
+  {"SFS", 776},
+  {"QNX4.x", 777},
+  {"QNX4.x 2nd part", 778},
+  {"QNX4.x 3rd part", 779},
+  {"OnTrack DM", 780},
+  {"OnTrack DM6 Aux1", 781},
+  {"CP/M", 782},
+  {"OnTrack DM6 Aux3", 783},
+  {"OnTrackDM6", 784},
+  {"EZ-Drive", 785},
+  {"Golden Bow", 786},
+  {"Priam Edisk", 787},
+  {"SpeedStor", 788},
+  {"GNU HURD or SysV", 789},
+  {"Novell Netware 286", 790},
+  {"Novell Netware 386", 791},
+  {"DiskSecure Multi-Boot", 792},
+  {"PC/IX", 793},
+  {"Old Minix", 794},
+  {"Minix / old Linux", 795},
+  {"OS/2 hidden C: drive", 796},
+  {"Linux extended", 797},
+  {"NTFS volume set", 798},
+  {"Amoeba", 799},
+  {"Amoeba BBT", 800},
+  {"BSD/OS", 801},
+  {"IBM Thinkpad hibernation", 802},
+  {"BSD/386", 803},
+  {"OpenBSD", 804},
+  {"NeXTSTEP", 805},
+  {"BSDI fs", 806},
+  {"BSDI swap", 807},
+  {"DRDOS/sec (FAT-12)", 808},
+  {"DRDOS/sec (FAT-16 < 32M)", 809},
+  {"DRDOS/sec (FAT-16)", 810},
+  {"Syrinx", 811},
+  {"CP/M / CTOS / ...", 812},
+  {"DOS access", 813},
+  {"DOS R/O", 814},
+  {"BeOS fs", 815},
+  {"DOS secondary", 816},
+  {"Linux raid autodetect", 817},
+  {"LANstep", 818},
+  {"BBT", 819},
+  {"seek error on %s - cannot seek to %lu\n", 820},
+  {"seek error: wanted 0x%08x%08x, got 0x%08x%08x\n", 821},
+  {"out of memory - giving up\n", 822},
+  {"read error on %s - cannot read sector %lu\n", 823},
+  {"ERROR: sector %lu does not have an msdos signature\n", 824},
+  {"write error on %s - cannot write sector %lu\n", 825},
+  {"cannot open partition sector save file (%s)\n", 826},
+  {"write error on %s\n", 827},
+  {"cannot stat partition restore file (%s)\n", 828},
+  {"partition restore file has wrong size - not restoring\n", 829},
+  {"out of memory?\n", 830},
+  {"cannot open partition restore file (%s)\n", 831},
+  {"error reading %s\n", 832},
+  {"cannot open device %s for writing\n", 833},
+  {"error writing sector %lu on %s\n", 834},
+  {"Disk %s: cannot get size\n", 835},
+  {"Disk %s: cannot get geometry\n", 836},
   {"\
 Warning: start=%d - 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", 828},
-  {"Warning: HDIO_GETGEO says that there are %d heads\n", 829},
-  {"Warning: HDIO_GETGEO says that there are %d sectors\n", 830},
-  {"Warning: HDIO_GETGEO says that there are %d cylinders\n", 831},
-  {"Disk %s: cannot get geometry\n", 832},
+[Use the --force option if you really want this]\n", 837},
+  {"Warning: HDIO_GETGEO says that there are %d heads\n", 838},
+  {"Warning: HDIO_GETGEO says that there are %d sectors\n", 839},
+  {"Warning: BLKGETSIZE/HDIO_GETGEO says that there are %d cylinders\n", 840},
   {"\
 Warning: unlikely number of sectors (%d) - usually at most 63\n\
-This will give problems with all software that uses C/H/S addressing.\n", 833},
+This will give problems with all software that uses C/H/S addressing.\n", 841},
   {"\
 \n\
-Disk %s: %lu cylinders, %lu heads, %lu sectors/track\n", 834},
+Disk %s: %lu cylinders, %lu heads, %lu sectors/track\n", 842},
   {"\
-%s of partition %s has impossible value for head: %d (should be in 0-%d)\n", 835},
+%s of partition %s has impossible value for head: %d (should be in 0-%d)\n", 843},
   {"\
-%s of partition %s has impossible value for sector: %d (should be in 1-%d)\n", 836},
+%s of partition %s has impossible value for sector: %d (should be in 1-%d)\n", 844},
   {"\
 %s of partition %s has impossible value for cylinders: %d (should be in \
-0-%d)\n", 837},
+0-%d)\n", 845},
   {"\
 Id  Name\n\
-\n", 838},
-  {"Re-reading the partition table ...\n", 839},
+\n", 846},
+  {"Re-reading the partition table ...\n", 847},
   {"\
 The command to re-read the partition table failed\n\
-Reboot your system now, before using mkfs\n", 840},
-  {"Error closing %s\n", 841},
-  {"%s: no such partition\n", 842},
-  {"unrecognized format - using sectors\n", 843},
-  {"# partition table of %s\n", 844},
-  {"unimplemented format - using %s\n", 845},
+Reboot your system now, before using mkfs\n", 848},
+  {"Error closing %s\n", 849},
+  {"%s: no such partition\n", 850},
+  {"unrecognized format - using sectors\n", 851},
+  {"# partition table of %s\n", 852},
+  {"unimplemented format - using %s\n", 853},
   {"\
 Units = cylinders of %lu bytes, blocks of 1024 bytes, counting from %d\n\
-\n", 846},
-  {"   Device Boot Start     End   #cyls   #blocks   Id  System\n", 847},
+\n", 854},
+  {"   Device Boot Start     End   #cyls   #blocks   Id  System\n", 855},
   {"\
 Units = sectors of 512 bytes, counting from %d\n\
-\n", 848},
-  {"   Device Boot    Start       End  #sectors  Id  System\n", 849},
+\n", 856},
+  {"   Device Boot    Start       End  #sectors  Id  System\n", 857},
   {"\
 Units = blocks of 1024 bytes, counting from %d\n\
-\n", 850},
-  {"   Device Boot   Start       End   #blocks   Id  System\n", 851},
+\n", 858},
+  {"   Device Boot   Start       End   #blocks   Id  System\n", 859},
   {"\
 Units = megabytes of 1048576 bytes, blocks of 1024 bytes, counting from %d\n\
-\n", 852},
-  {"   Device Boot Start   End     MB   #blocks   Id  System\n", 853},
-  {"\t\tstart: (c,h,s) expected (%ld,%ld,%ld) found (%ld,%ld,%ld)\n", 854},
-  {"\t\tend: (c,h,s) expected (%ld,%ld,%ld) found (%ld,%ld,%ld)\n", 855},
-  {"partition ends on cylinder %ld, beyond the end of the disk\n", 856},
-  {"No partitions found\n", 857},
+\n", 860},
+  {"   Device Boot Start   End     MB   #blocks   Id  System\n", 861},
+  {"\t\tstart: (c,h,s) expected (%ld,%ld,%ld) found (%ld,%ld,%ld)\n", 862},
+  {"\t\tend: (c,h,s) expected (%ld,%ld,%ld) found (%ld,%ld,%ld)\n", 863},
+  {"partition ends on cylinder %ld, beyond the end of the disk\n", 864},
+  {"No partitions found\n", 865},
   {"\
 Warning: The first partition 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", 858},
-  {"no partition table present.\n", 859},
-  {"strange, only %d partitions defined.\n", 860},
-  {"Warning: partition %s has size 0 but is not marked Empty\n", 861},
-  {"Warning: partition %s has size 0 and is bootable\n", 862},
-  {"Warning: partition %s has size 0 and nonzero start\n", 863},
-  {"Warning: partition %s ", 864},
-  {"is not contained in partition %s\n", 865},
-  {"Warning: partitions %s ", 866},
-  {"and %s overlap\n", 867},
-  {"Warning: partition %s contains part of ", 868},
-  {"the partition table (sector %lu),\n", 869},
-  {"and will destroy it when filled\n", 870},
-  {"Warning: partition %s starts at sector 0\n", 871},
-  {"Warning: partition %s extends past end of disk\n", 872},
-  {"Among the primary partitions, at most one can be extended\n", 873},
-  {" (although this is not a problem under Linux)\n", 874},
-  {"Warning: partition %s does not start at a cylinder boundary\n", 875},
-  {"Warning: partition %s does not end at a cylinder boundary\n", 876},
+For this listing I'll assume that geometry.\n", 866},
+  {"no partition table present.\n", 867},
+  {"strange, only %d partitions defined.\n", 868},
+  {"Warning: partition %s has size 0 but is not marked Empty\n", 869},
+  {"Warning: partition %s has size 0 and is bootable\n", 870},
+  {"Warning: partition %s has size 0 and nonzero start\n", 871},
+  {"Warning: partition %s ", 872},
+  {"is not contained in partition %s\n", 873},
+  {"Warning: partitions %s ", 874},
+  {"and %s overlap\n", 875},
+  {"Warning: partition %s contains part of ", 876},
+  {"the partition table (sector %lu),\n", 877},
+  {"and will destroy it when filled\n", 878},
+  {"Warning: partition %s starts at sector 0\n", 879},
+  {"Warning: partition %s extends past end of disk\n", 880},
+  {"Among the primary partitions, at most one can be extended\n", 881},
+  {" (although this is not a problem under Linux)\n", 882},
+  {"Warning: partition %s does not start at a cylinder boundary\n", 883},
+  {"Warning: partition %s does not end at a cylinder boundary\n", 884},
   {"\
 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", 877},
+This does not matter for LILO, but the DOS MBR will not boot this disk.\n", 885},
   {"\
 Warning: usually one can boot from primary partitions only\n\
-LILO disregards the `bootable' flag.\n", 878},
+LILO disregards the `bootable' flag.\n", 886},
   {"\
 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", 879},
-  {"\
-partition %s: start: (c,h,s) expected (%ld,%ld,%ld) found (%ld,%ld,%ld)\n", 880},
-  {"partition %s: end: (c,h,s) expected (%ld,%ld,%ld) found (%ld,%ld,%ld)\n", 881},
-  {"partition %s ends on cylinder %ld, beyond the end of the disk\n", 882},
-  {"too many partitions - ignoring those past nr (%d)\n", 883},
-  {"tree of partitions?\n", 884},
-  {"detected Disk Manager - unable to handle that\n", 885},
-  {"DM6 signature found - giving up\n", 886},
-  {"strange..., an extended partition of size 0?\n", 887},
-  {"strange..., a BSD partition of size 0?\n", 888},
-  {" %s: unrecognized partition\n", 889},
-  {"-n flag was given: Nothing changed\n", 890},
-  {"Failed saving the old sectors - aborting\n", 891},
-  {"Failed writing the partition on %s\n", 892},
-  {"long or incomplete input line - quitting\n", 893},
-  {"input error: `=' expected after %s field\n", 894},
-  {"input error: unexpected character %c after %s field\n", 895},
-  {"unrecognized input: %s\n", 896},
-  {"number too big\n", 897},
-  {"trailing junk after number\n", 898},
-  {"no room for partition descriptor\n", 899},
-  {"cannot build surrounding extended partition\n", 900},
-  {"too many input fields\n", 901},
-  {"No room for more\n", 902},
-  {"Illegal type\n", 903},
-  {"Warning: exceeds max allowable size (%lu)\n", 904},
-  {"Warning: empty partition\n", 905},
-  {"Warning: bad partition start (earliest %lu)\n", 906},
-  {"unrecognized bootable flag - choose - or *\n", 907},
-  {"partial c,h,s specification?\n", 908},
-  {"Extended partition not where expected\n", 909},
-  {"bad input\n", 910},
-  {"too many partitions\n", 911},
+This does not matter for LILO, but the DOS MBR will not boot this disk.\n", 887},
+  {"\
+partition %s: start: (c,h,s) expected (%ld,%ld,%ld) found (%ld,%ld,%ld)\n", 888},
+  {"partition %s: end: (c,h,s) expected (%ld,%ld,%ld) found (%ld,%ld,%ld)\n", 889},
+  {"partition %s ends on cylinder %ld, beyond the end of the disk\n", 890},
+  {"Warning: shifted start of the extd partition from %ld to %ld\n", 891},
+  {"(For listing purposes only. Do not change its contents.)\n", 892},
+  {"Warning: extended partition does not start at a cylinder boundary.\n", 893},
+  {"DOS and Linux will interpret the contents differently.\n", 894},
+  {"too many partitions - ignoring those past nr (%d)\n", 895},
+  {"tree of partitions?\n", 896},
+  {"detected Disk Manager - unable to handle that\n", 897},
+  {"DM6 signature found - giving up\n", 898},
+  {"strange..., an extended partition of size 0?\n", 899},
+  {"strange..., a BSD partition of size 0?\n", 900},
+  {" %s: unrecognized partition\n", 901},
+  {"-n flag was given: Nothing changed\n", 902},
+  {"Failed saving the old sectors - aborting\n", 903},
+  {"Failed writing the partition on %s\n", 904},
+  {"long or incomplete input line - quitting\n", 905},
+  {"input error: `=' expected after %s field\n", 906},
+  {"input error: unexpected character %c after %s field\n", 907},
+  {"unrecognized input: %s\n", 908},
+  {"number too big\n", 909},
+  {"trailing junk after number\n", 910},
+  {"no room for partition descriptor\n", 911},
+  {"cannot build surrounding extended partition\n", 912},
+  {"too many input fields\n", 913},
+  {"No room for more\n", 914},
+  {"Illegal type\n", 915},
+  {"Warning: given size (%lu) exceeds max allowable size (%lu)\n", 916},
+  {"Warning: empty partition\n", 917},
+  {"Warning: bad partition start (earliest %lu)\n", 918},
+  {"unrecognized bootable flag - choose - or *\n", 919},
+  {"partial c,h,s specification?\n", 920},
+  {"Extended partition not where expected\n", 921},
+  {"bad input\n", 922},
+  {"too many partitions\n", 923},
   {"\
 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", 912},
-  {"version", 913},
-  {"Usage: %s [options] device ...\n", 914},
-  {"device: something like /dev/hda or /dev/sda", 915},
-  {"useful options:", 916},
-  {"    -s [or --show-size]: list size of a partition", 917},
-  {"    -c [or --id]:        print or change partition Id", 918},
-  {"    -l [or --list]:      list partitions of each device", 919},
-  {"    -d [or --dump]:      idem, but in a format suitable for later input", 920},
-  {"    -i [or --increment]: number cylinders etc. from 1 instead of from 0", 921},
+Usually you only need to specify <start> and <size> (and perhaps <type>).\n", 924},
+  {"version", 925},
+  {"Usage: %s [options] device ...\n", 926},
+  {"device: something like /dev/hda or /dev/sda", 927},
+  {"useful options:", 928},
+  {"    -s [or --show-size]: list size of a partition", 929},
+  {"    -c [or --id]:        print or change partition Id", 930},
+  {"    -l [or --list]:      list partitions of each device", 931},
+  {"    -d [or --dump]:      idem, but in a format suitable for later input", 932},
+  {"    -i [or --increment]: number cylinders etc. from 1 instead of from 0", 933},
   {"\
     -uS, -uB, -uC, -uM:  accept/report in units of \
-sectors/blocks/cylinders/MB", 922},
-  {"    -T [or --list-types]:list the known partition types", 923},
-  {"    -D [or --DOS]:       for DOS-compatibility: waste a little space", 924},
-  {"    -R [or --re-read]:   make kernel reread partition table", 925},
-  {"    -N# :                change only the partition with number #", 926},
-  {"    -n :                 do not actually write to disk", 927},
-  {"\
-    -O file :            save the sectors that will be overwritten to file", 928},
-  {"    -I file :            restore these sectors again", 929},
-  {"    -v [or --version]:   print version", 930},
-  {"    -? [or --help]:      print this message", 931},
-  {"dangerous options:", 932},
-  {"    -g [or --show-geometry]: print the kernel's idea of the geometry", 933},
+sectors/blocks/cylinders/MB", 934},
+  {"    -T [or --list-types]:list the known partition types", 935},
+  {"    -D [or --DOS]:       for DOS-compatibility: waste a little space", 936},
+  {"    -R [or --re-read]:   make kernel reread partition table", 937},
+  {"    -N# :                change only the partition with number #", 938},
+  {"    -n :                 do not actually write to disk", 939},
+  {"\
+    -O file :            save the sectors that will be overwritten to file", 940},
+  {"    -I file :            restore these sectors again", 941},
+  {"    -v [or --version]:   print version", 942},
+  {"    -? [or --help]:      print this message", 943},
+  {"dangerous options:", 944},
+  {"    -g [or --show-geometry]: print the kernel's idea of the geometry", 945},
   {"\
     -x [or --show-extended]: also list extended partitions on output\n\
-                             or expect descriptors for them on input", 934},
-  {"\
-    -L  [or --Linux]:      do not complain about things irrelevant for Linux", 935},
-  {"    -q  [or --quiet]:      suppress warning messages", 936},
-  {"    You can override the detected geometry using:", 937},
-  {"    -C# [or --cylinders #]:set the number of cylinders to use", 938},
-  {"    -H# [or --heads #]:    set the number of heads to use", 939},
-  {"    -S# [or --sectors #]:  set the number of sectors to use", 940},
-  {"You can disable all consistency checking with:", 941},
-  {"    -f  [or --force]:      do what I say, even if it is stupid", 942},
-  {"Usage:", 943},
-  {"%s device\t\t list active partitions on device\n", 944},
-  {"%s device n1 n2 ... activate partitions n1 ..., inactivate the rest\n", 945},
-  {"%s -An device\t activate partition n, inactivate the other ones\n", 946},
-  {"no command?\n", 947},
-  {"total: %d blocks\n", 948},
-  {"usage: sfdisk --print-id device partition-number\n", 949},
-  {"usage: sfdisk --change-id device partition-number Id\n", 950},
-  {"usage: sfdisk --id device partition-number [Id]\n", 951},
-  {"can specify only one device (except with -l or -s)\n", 952},
-  {"cannot open %s %s\n", 953},
-  {"read-write", 954},
-  {"for reading", 955},
-  {"%s: OK\n", 956},
-  {"%s: %d cylinders, %d heads, %d sectors/track\n", 957},
-  {"%s: unknown geometry\n", 958},
-  {"BLKGETSIZE ioctl failed for %s\n", 959},
-  {"bad active byte: 0x%x instead of 0x80\n", 960},
+                             or expect descriptors for them on input", 946},
+  {"\
+    -L  [or --Linux]:      do not complain about things irrelevant for Linux", 947},
+  {"    -q  [or --quiet]:      suppress warning messages", 948},
+  {"    You can override the detected geometry using:", 949},
+  {"    -C# [or --cylinders #]:set the number of cylinders to use", 950},
+  {"    -H# [or --heads #]:    set the number of heads to use", 951},
+  {"    -S# [or --sectors #]:  set the number of sectors to use", 952},
+  {"You can disable all consistency checking with:", 953},
+  {"    -f  [or --force]:      do what I say, even if it is stupid", 954},
+  {"Usage:", 955},
+  {"%s device\t\t list active partitions on device\n", 956},
+  {"%s device n1 n2 ... activate partitions n1 ..., inactivate the rest\n", 957},
+  {"%s -An device\t activate partition n, inactivate the other ones\n", 958},
+  {"no command?\n", 959},
+  {"total: %d blocks\n", 960},
+  {"usage: sfdisk --print-id device partition-number\n", 961},
+  {"usage: sfdisk --change-id device partition-number Id\n", 962},
+  {"usage: sfdisk --id device partition-number [Id]\n", 963},
+  {"can specify only one device (except with -l or -s)\n", 964},
+  {"cannot open %s %s\n", 965},
+  {"read-write", 966},
+  {"for reading", 967},
+  {"%s: OK\n", 968},
+  {"%s: %ld cylinders, %ld heads, %ld sectors/track\n", 969},
+  {"BLKGETSIZE ioctl failed for %s\n", 970},
+  {"bad active byte: 0x%x instead of 0x80\n", 971},
   {"\
 Done\n\
-\n", 961},
+\n", 972},
   {"\
 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", 962},
-  {"partition %s has id %x and is not hidden\n", 963},
-  {"Bad Id %x\n", 964},
-  {"This disk is currently in use.\n", 965},
-  {"Fatal error: cannot find %s\n", 966},
-  {"Warning: %s is not a block device\n", 967},
-  {"Checking that no-one is using this disk right now ...\n", 968},
+but the DOS MBR will only boot a disk with 1 active partition.\n", 973},
+  {"partition %s has id %x and is not hidden\n", 974},
+  {"Bad Id %x\n", 975},
+  {"This disk is currently in use.\n", 976},
+  {"Fatal error: cannot find %s\n", 977},
+  {"Warning: %s is not a block device\n", 978},
+  {"Checking that no-one is using this disk right now ...\n", 979},
   {"\
 \n\
-This disk is currently in use - repartitioning is probably a bad idea.Umount \
-all file systems, and swapoff all swap partitions on this disk.Use the \
---no-reread flag to suppress this check.\n", 969},
-  {"Use the --force flag to overrule all checks.\n", 970},
-  {"OK", 971},
-  {"Old situation:\n", 972},
-  {"Partition %d does not exist, cannot change it\n", 973},
-  {"New situation:\n", 974},
+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", 980},
+  {"Use the --force flag to overrule all checks.\n", 981},
+  {"OK\n", 982},
+  {"Old situation:\n", 983},
+  {"Partition %d does not exist, cannot change it\n", 984},
+  {"New situation:\n", 985},
   {"\
 I don't like these partitions - nothing changed.\n\
-(If you really want this, use the --force option.)\n", 975},
-  {"I don't like this - probably you should answer No\n", 976},
-  {"Are you satisfied with this? [ynq] ", 977},
-  {"Do you want to write this to disk? [ynq] ", 978},
+(If you really want this, use the --force option.)\n", 986},
+  {"I don't like this - probably you should answer No\n", 987},
+  {"Are you satisfied with this? [ynq] ", 988},
+  {"Do you want to write this to disk? [ynq] ", 989},
   {"\
 \n\
-sfdisk: premature end of input\n", 979},
-  {"Quitting - nothing changed\n", 980},
-  {"Please answer one of y,n,q\n", 981},
+sfdisk: premature end of input\n", 990},
+  {"Quitting - nothing changed\n", 991},
+  {"Please answer one of y,n,q\n", 992},
   {"\
 Successfully wrote the new partition table\n\
-\n", 982},
+\n", 993},
   {"\
 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", 983},
-  {"usage: banner [-w width]\n", 984},
-  {"Message: ", 985},
-  {"The character '%c' is not in my character set", 986},
-  {"Message '%s' is OK\n", 987},
-  {"Try `getopt --help' for more information.\n", 988},
-  {"empty long option after -l or --long argument", 989},
-  {"unknown shell after -s or --shell argument", 990},
-  {"Usage: getopt optstring parameters\n", 991},
-  {"       getopt [options] [--] optstring parameters\n", 992},
-  {"       getopt [options] -o|--options optstring [options] [--]\n", 993},
-  {"              parameters\n", 994},
-  {"\
-  -a, --alternative            Allow long options starting with single -\n", 995},
-  {"  -h, --help                   This small usage guide\n", 996},
-  {"  -l, --longoptions=longopts   Long options to be recognized\n", 997},
-  {"\
-  -n, --name=progname          The name under which errors are reported\n", 998},
-  {"  -o, --options=optstring      Short options to be recognized\n", 999},
-  {"  -q, --quiet                  Disable error reporting by getopt(3)\n", 1000},
-  {"  -Q, --quiet-output           No normal output\n", 1001},
-  {"  -s, --shell=shell            Set shell quoting conventions\n", 1002},
-  {"  -T, --test                   Test for getopt(1) version\n", 1003},
-  {"  -V, --version                Output version information\n", 1004},
-  {"missing optstring argument", 1005},
-  {"getopt (enhanced) 1.0.3\n", 1006},
-  {"internal error, contact the author.", 1007},
-  {"calling open_tty\n", 1008},
-  {"calling termio_init\n", 1009},
-  {"writing init string\n", 1010},
-  {"before autobaud\n", 1011},
-  {"waiting for cr-lf\n", 1012},
-  {"read %c\n", 1013},
-  {"reading login name\n", 1014},
-  {"%s: can't exec %s: %m", 1015},
-  {"can't malloc initstring", 1016},
-  {"bad timeout value: %s", 1017},
-  {"after getopt loop\n", 1018},
-  {"exiting parseargs\n", 1019},
-  {"entered parse_speeds\n", 1020},
-  {"bad speed: %s", 1021},
-  {"too many alternate speeds", 1022},
-  {"exiting parsespeeds\n", 1023},
-  {"%s: open for update: %m", 1024},
-  {"%s: no utmp entry", 1025},
-  {"/dev: chdir() failed: %m", 1026},
-  {"/dev/%s: not a character device", 1027},
-  {"open(2)\n", 1028},
-  {"/dev/%s: cannot open as standard input: %m", 1029},
-  {"%s: not open for read/write", 1030},
-  {"duping\n", 1031},
-  {"%s: dup problem: %m", 1032},
-  {"term_io 2\n", 1033},
-  {"user", 1034},
-  {"users", 1035},
-  {"%s: read: %m", 1036},
-  {"%s: input overrun", 1037},
+(See fdisk(8).)\n", 994},
+  {"usage: banner [-w width]\n", 995},
+  {"Message: ", 996},
+  {"The character '%c' is not in my character set", 997},
+  {"Message '%s' is OK\n", 998},
+  {"Try `getopt --help' for more information.\n", 999},
+  {"empty long option after -l or --long argument", 1000},
+  {"unknown shell after -s or --shell argument", 1001},
+  {"Usage: getopt optstring parameters\n", 1002},
+  {"       getopt [options] [--] optstring parameters\n", 1003},
+  {"       getopt [options] -o|--options optstring [options] [--]\n", 1004},
+  {"              parameters\n", 1005},
+  {"\
+  -a, --alternative            Allow long options starting with single -\n", 1006},
+  {"  -h, --help                   This small usage guide\n", 1007},
+  {"  -l, --longoptions=longopts   Long options to be recognized\n", 1008},
+  {"\
+  -n, --name=progname          The name under which errors are reported\n", 1009},
+  {"  -o, --options=optstring      Short options to be recognized\n", 1010},
+  {"  -q, --quiet                  Disable error reporting by getopt(3)\n", 1011},
+  {"  -Q, --quiet-output           No normal output\n", 1012},
+  {"  -s, --shell=shell            Set shell quoting conventions\n", 1013},
+  {"  -T, --test                   Test for getopt(1) version\n", 1014},
+  {"  -V, --version                Output version information\n", 1015},
+  {"missing optstring argument", 1016},
+  {"getopt (enhanced) 1.0.3\n", 1017},
+  {"internal error, contact the author.", 1018},
+  {"calling open_tty\n", 1019},
+  {"calling termio_init\n", 1020},
+  {"writing init string\n", 1021},
+  {"before autobaud\n", 1022},
+  {"waiting for cr-lf\n", 1023},
+  {"read %c\n", 1024},
+  {"reading login name\n", 1025},
+  {"%s: can't exec %s: %m", 1026},
+  {"can't malloc initstring", 1027},
+  {"bad timeout value: %s", 1028},
+  {"after getopt loop\n", 1029},
+  {"exiting parseargs\n", 1030},
+  {"entered parse_speeds\n", 1031},
+  {"bad speed: %s", 1032},
+  {"too many alternate speeds", 1033},
+  {"exiting parsespeeds\n", 1034},
+  {"%s: open for update: %m", 1035},
+  {"%s: no utmp entry", 1036},
+  {"/dev: chdir() failed: %m", 1037},
+  {"/dev/%s: not a character device", 1038},
+  {"open(2)\n", 1039},
+  {"/dev/%s: cannot open as standard input: %m", 1040},
+  {"%s: not open for read/write", 1041},
+  {"duping\n", 1042},
+  {"%s: dup problem: %m", 1043},
+  {"term_io 2\n", 1044},
+  {"user", 1045},
+  {"users", 1046},
+  {"%s: read: %m", 1047},
+  {"%s: input overrun", 1048},
   {"\
 Usage: %s [-hiLmw] [-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", 1038},
-  {"badlogin: %s\n", 1039},
-  {"sleepexit %d\n", 1040},
-  {"login: memory low, login may fail\n", 1041},
-  {"can't malloc for ttyclass", 1042},
-  {"can't malloc for grplist", 1043},
-  {"Login on %s from %s denied by default.\n", 1044},
-  {"Login on %s from %s denied.\n", 1045},
-  {"%s: you (user %d) don't exist.\n", 1046},
-  {"%s: user \"%s\" does not exist.\n", 1047},
-  {"%s: can only change local entries; use yp%s instead.\n", 1048},
-  {"Changing finger information for %s.\n", 1049},
-  {"Password error.", 1050},
-  {"Password: ", 1051},
-  {"Incorrect password.", 1052},
-  {"Finger information not changed.\n", 1053},
-  {"Usage: %s [ -f full-name ] [ -o office ] ", 1054},
+line baud_rate,... [termtype]\n", 1049},
+  {"badlogin: %s\n", 1050},
+  {"sleepexit %d\n", 1051},
+  {"login: memory low, login may fail\n", 1052},
+  {"can't malloc for ttyclass", 1053},
+  {"can't malloc for grplist", 1054},
+  {"Login on %s from %s denied by default.\n", 1055},
+  {"Login on %s from %s denied.\n", 1056},
+  {"%s: you (user %d) don't exist.\n", 1057},
+  {"%s: user \"%s\" does not exist.\n", 1058},
+  {"%s: can only change local entries; use yp%s instead.\n", 1059},
+  {"Changing finger information for %s.\n", 1060},
+  {"Password error.", 1061},
+  {"Password: ", 1062},
+  {"Incorrect password.", 1063},
+  {"Finger information not changed.\n", 1064},
+  {"Usage: %s [ -f full-name ] [ -o office ] ", 1065},
   {"\
 [ -p office-phone ]\n\
-\t[ -h home-phone ] ", 1055},
-  {"[ --help ] [ --version ]\n", 1056},
+\t[ -h home-phone ] ", 1066},
+  {"[ --help ] [ --version ]\n", 1067},
   {"\
 \n\
-Aborted.\n", 1057},
-  {"field is too long.\n", 1058},
-  {"'%c' is not allowed.\n", 1059},
-  {"Control characters are not allowed.\n", 1060},
-  {"Finger information *NOT* changed.  Try again later.\n", 1061},
-  {"Finger information changed.\n", 1062},
-  {"malloc failed", 1063},
-  {"%s: Your shell is not in /etc/shells, shell change denied\n", 1064},
-  {"Changing shell for %s.\n", 1065},
-  {"New shell", 1066},
-  {"Shell not changed.\n", 1067},
-  {"Shell *NOT* changed.  Try again later.\n", 1068},
-  {"Shell changed.\n", 1069},
-  {"Usage: %s [ -s shell ] ", 1070},
-  {"[ --list-shells ] [ --help ] [ --version ]\n", 1071},
-  {"       [ username ]\n", 1072},
-  {"%s: shell must be a full path name.\n", 1073},
-  {"%s: \"%s\" does not exist.\n", 1074},
-  {"%s: \"%s\" is not executable.\n", 1075},
-  {"%s: '%c' is not allowed.\n", 1076},
-  {"%s: Control characters are not allowed.\n", 1077},
-  {"Warning: \"%s\" is not listed in /etc/shells\n", 1078},
-  {"%s: \"%s\" is not listed in /etc/shells.\n", 1079},
-  {"%s: use -l option to see list\n", 1080},
-  {"Warning: \"%s\" is not listed in /etc/shells.\n", 1081},
-  {"Use %s -l to see list.\n", 1082},
-  {"No known shells.\n", 1083},
-  {"couldn't open /dev/urandom", 1084},
-  {"couldn't read random data from /dev/urandom", 1085},
-  {"can't open %s for reading", 1086},
-  {"can't stat(%s)", 1087},
-  {"%s doesn't have the correct filemodes", 1088},
-  {"can't read data from %s", 1089},
-  {"Can't read %s, exiting.", 1090},
-  {"usage: last [-#] [-f file] [-t tty] [-h hostname] [user ...]\n", 1091},
-  {"  still logged in", 1092},
+Aborted.\n", 1068},
+  {"field is too long.\n", 1069},
+  {"'%c' is not allowed.\n", 1070},
+  {"Control characters are not allowed.\n", 1071},
+  {"Finger information *NOT* changed.  Try again later.\n", 1072},
+  {"Finger information changed.\n", 1073},
+  {"malloc failed", 1074},
+  {"%s: Your shell is not in /etc/shells, shell change denied\n", 1075},
+  {"Changing shell for %s.\n", 1076},
+  {"New shell", 1077},
+  {"Shell not changed.\n", 1078},
+  {"Shell *NOT* changed.  Try again later.\n", 1079},
+  {"Shell changed.\n", 1080},
+  {"Usage: %s [ -s shell ] ", 1081},
+  {"[ --list-shells ] [ --help ] [ --version ]\n", 1082},
+  {"       [ username ]\n", 1083},
+  {"%s: shell must be a full path name.\n", 1084},
+  {"%s: \"%s\" does not exist.\n", 1085},
+  {"%s: \"%s\" is not executable.\n", 1086},
+  {"%s: '%c' is not allowed.\n", 1087},
+  {"%s: Control characters are not allowed.\n", 1088},
+  {"Warning: \"%s\" is not listed in /etc/shells\n", 1089},
+  {"%s: \"%s\" is not listed in /etc/shells.\n", 1090},
+  {"%s: use -l option to see list\n", 1091},
+  {"Warning: \"%s\" is not listed in /etc/shells.\n", 1092},
+  {"Use %s -l to see list.\n", 1093},
+  {"No known shells.\n", 1094},
+  {"couldn't open /dev/urandom", 1095},
+  {"couldn't read random data from /dev/urandom", 1096},
+  {"can't open %s for reading", 1097},
+  {"can't stat(%s)", 1098},
+  {"%s doesn't have the correct filemodes", 1099},
+  {"can't read data from %s", 1100},
+  {"Can't read %s, exiting.", 1101},
+  {"usage: last [-#] [-f file] [-t tty] [-h hostname] [user ...]\n", 1102},
+  {"  still logged in", 1103},
   {"\
 \n\
-wtmp begins %s", 1093},
-  {"last: malloc failure.\n", 1094},
-  {"last: gethostname", 1095},
+wtmp begins %s", 1104},
+  {"last: malloc failure.\n", 1105},
+  {"last: gethostname", 1106},
   {"\
 \n\
-interrupted %10.10s %5.5s \n", 1096},
-  {"login: -h for super-user only.\n", 1097},
-  {"usage: login [-fp] [username]\n", 1098},
-  {"login: PAM Failure, aborting: %s\n", 1099},
-  {"Couldn't initialize PAM: %s", 1100},
-  {"login: ", 1101},
-  {"FAILED LOGIN %d FROM %s FOR %s, %s", 1102},
+interrupted %10.10s %5.5s \n", 1107},
+  {"login: -h for super-user only.\n", 1108},
+  {"usage: login [-fp] [username]\n", 1109},
+  {"login: PAM Failure, aborting: %s\n", 1110},
+  {"Couldn't initialize PAM: %s", 1111},
+  {"login: ", 1112},
+  {"FAILED LOGIN %d FROM %s FOR %s, %s", 1113},
   {"\
 Login incorrect\n\
-\n", 1103},
-  {"TOO MANY LOGIN TRIES (%d) FROM %s FOR %s, %s", 1104},
-  {"FAILED LOGIN SESSION FROM %s FOR %s, %s", 1105},
+\n", 1114},
+  {"TOO MANY LOGIN TRIES (%d) FROM %s FOR %s, %s", 1115},
+  {"FAILED LOGIN SESSION FROM %s FOR %s, %s", 1116},
   {"\
 \n\
-Login incorrect\n", 1106},
-  {"Illegal username", 1107},
-  {"%s login refused on this terminal.\n", 1108},
-  {"LOGIN %s REFUSED FROM %s ON TTY %s", 1109},
-  {"LOGIN %s REFUSED ON TTY %s", 1110},
-  {"Login incorrect\n", 1111},
+Login incorrect\n", 1117},
+  {"Illegal username", 1118},
+  {"%s login refused on this terminal.\n", 1119},
+  {"LOGIN %s REFUSED FROM %s ON TTY %s", 1120},
+  {"LOGIN %s REFUSED ON TTY %s", 1121},
+  {"Login incorrect\n", 1122},
   {"\
 Too many users logged on already.\n\
-Try again later.\n", 1112},
-  {"You have too many processes running.\n", 1113},
-  {"Warning: no Kerberos tickets issued\n", 1114},
-  {"Sorry -- your password has expired.\n", 1115},
-  {"Warning: your password expires on %s %d, %d\n", 1116},
-  {"Sorry -- your account has expired.\n", 1117},
-  {"Warning: your account expires on %s %d, %d\n", 1118},
-  {"DIALUP AT %s BY %s", 1119},
-  {"ROOT LOGIN ON %s FROM %s", 1120},
-  {"ROOT LOGIN ON %s", 1121},
-  {"LOGIN ON %s BY %s FROM %s", 1122},
-  {"LOGIN ON %s BY %s", 1123},
-  {"You have %smail.\n", 1124},
-  {"new ", 1125},
-  {"login: failure forking: %s", 1126},
-  {"setuid() failed", 1127},
-  {"No directory %s!\n", 1128},
-  {"Logging in with home = \"/\".\n", 1129},
-  {"login: no memory for shell script.\n", 1130},
-  {"login: couldn't exec shell script: %s.\n", 1131},
-  {"login: no shell: %s.\n", 1132},
+Try again later.\n", 1123},
+  {"You have too many processes running.\n", 1124},
+  {"Warning: no Kerberos tickets issued\n", 1125},
+  {"Sorry -- your password has expired.\n", 1126},
+  {"Warning: your password expires on %s %d, %d\n", 1127},
+  {"Sorry -- your account has expired.\n", 1128},
+  {"Warning: your account expires on %s %d, %d\n", 1129},
+  {"DIALUP AT %s BY %s", 1130},
+  {"ROOT LOGIN ON %s FROM %s", 1131},
+  {"ROOT LOGIN ON %s", 1132},
+  {"LOGIN ON %s BY %s FROM %s", 1133},
+  {"LOGIN ON %s BY %s", 1134},
+  {"You have %smail.\n", 1135},
+  {"new ", 1136},
+  {"login: failure forking: %s", 1137},
+  {"setuid() failed", 1138},
+  {"No directory %s!\n", 1139},
+  {"Logging in with home = \"/\".\n", 1140},
+  {"login: no memory for shell script.\n", 1141},
+  {"login: couldn't exec shell script: %s.\n", 1142},
+  {"login: no shell: %s.\n", 1143},
   {"\
 \n\
-%s login: ", 1133},
-  {"login name much too long.\n", 1134},
-  {"NAME too long", 1135},
-  {"login names may not start with '-'.\n", 1136},
-  {"too many bare linefeeds.\n", 1137},
-  {"EXCESSIVE linefeeds", 1138},
-  {"Login timed out after %d seconds\n", 1139},
-  {"Last login: %.*s ", 1140},
-  {"from %.*s\n", 1141},
-  {"on %.*s\n", 1142},
-  {"LOGIN FAILURE FROM %s, %s", 1143},
-  {"LOGIN FAILURE ON %s, %s", 1144},
-  {"%d LOGIN FAILURES FROM %s, %s", 1145},
-  {"%d LOGIN FAILURES ON %s, %s", 1146},
-  {"is y\n", 1147},
-  {"is n\n", 1148},
-  {"usage: mesg [y | n]\n", 1149},
-  {"newgrp: Who are you?", 1150},
-  {"newgrp: setgid", 1151},
-  {"newgrp: No such group.", 1152},
-  {"newgrp: Permission denied", 1153},
-  {"newgrp: setuid", 1154},
-  {"No shell", 1155},
-  {"The password must have at least 6 characters, try again.\n", 1156},
-  {"The password must contain characters out of two of the following\n", 1157},
-  {"classes:  upper and lower case letters, digits and non alphanumeric\n", 1158},
-  {"characters. See passwd(1) for more information.\n", 1159},
-  {"You cannot reuse the old password.\n", 1160},
-  {"Please don't use something like your username as password!\n", 1161},
-  {"Please don't use something like your realname as password!\n", 1162},
-  {"Usage: passwd [username [password]]\n", 1163},
-  {"Only root may use the one and two argument forms.\n", 1164},
-  {"Usage: passwd [-foqsvV] [user [password]]\n", 1165},
-  {"Can't exec %s: %s\n", 1166},
-  {"Cannot find login name", 1167},
-  {"Only root can change the password for others.\n", 1168},
-  {"Too many arguments.\n", 1169},
-  {"Can't find username anywhere. Is `%s' really a user?", 1170},
-  {"Sorry, I can only change local passwords. Use yppasswd instead.", 1171},
-  {"UID and username does not match, imposter!", 1172},
-  {"Changing password for %s\n", 1173},
-  {"Enter old password: ", 1174},
-  {"Illegal password, imposter.", 1175},
-  {"Enter new password: ", 1176},
-  {"Password not changed.", 1177},
-  {"Re-type new password: ", 1178},
-  {"You misspelled it. Password not changed.", 1179},
-  {"password changed, user %s", 1180},
-  {"ROOT PASSWORD CHANGED", 1181},
-  {"password changed by root, user %s", 1182},
-  {"calling setpwnam to set password.\n", 1183},
-  {"Password *NOT* changed.  Try again later.\n", 1184},
-  {"Password changed.\n", 1185},
-  {"Usage: shutdown [-h|-r] [-fqs] [now|hh:ss|+mins]\n", 1186},
-  {"Shutdown process aborted", 1187},
-  {"%s: Only root can shut a system down.\n", 1188},
-  {"That must be tomorrow, can't you wait till then?\n", 1189},
-  {"for maintenance; bounce, bounce", 1190},
-  {"timeout = %d, quiet = %d, reboot = %d\n", 1191},
-  {"The system is being shut down within 5 minutes", 1192},
-  {"Login is therefore prohibited.", 1193},
-  {"%s by %s: %s", 1194},
-  {"rebooted", 1195},
-  {"halted", 1196},
+%s login: ", 1144},
+  {"login name much too long.\n", 1145},
+  {"NAME too long", 1146},
+  {"login names may not start with '-'.\n", 1147},
+  {"too many bare linefeeds.\n", 1148},
+  {"EXCESSIVE linefeeds", 1149},
+  {"Login timed out after %d seconds\n", 1150},
+  {"Last login: %.*s ", 1151},
+  {"from %.*s\n", 1152},
+  {"on %.*s\n", 1153},
+  {"LOGIN FAILURE FROM %s, %s", 1154},
+  {"LOGIN FAILURE ON %s, %s", 1155},
+  {"%d LOGIN FAILURES FROM %s, %s", 1156},
+  {"%d LOGIN FAILURES ON %s, %s", 1157},
+  {"is y\n", 1158},
+  {"is n\n", 1159},
+  {"usage: mesg [y | n]\n", 1160},
+  {"newgrp: Who are you?", 1161},
+  {"newgrp: setgid", 1162},
+  {"newgrp: No such group.", 1163},
+  {"newgrp: Permission denied", 1164},
+  {"newgrp: setuid", 1165},
+  {"No shell", 1166},
+  {"The password must have at least 6 characters, try again.\n", 1167},
+  {"The password must contain characters out of two of the following\n", 1168},
+  {"classes:  upper and lower case letters, digits and non alphanumeric\n", 1169},
+  {"characters. See passwd(1) for more information.\n", 1170},
+  {"You cannot reuse the old password.\n", 1171},
+  {"Please don't use something like your username as password!\n", 1172},
+  {"Please don't use something like your realname as password!\n", 1173},
+  {"Usage: passwd [username [password]]\n", 1174},
+  {"Only root may use the one and two argument forms.\n", 1175},
+  {"Usage: passwd [-foqsvV] [user [password]]\n", 1176},
+  {"Can't exec %s: %s\n", 1177},
+  {"Cannot find login name", 1178},
+  {"Only root can change the password for others.\n", 1179},
+  {"Too many arguments.\n", 1180},
+  {"Can't find username anywhere. Is `%s' really a user?", 1181},
+  {"Sorry, I can only change local passwords. Use yppasswd instead.", 1182},
+  {"UID and username does not match, imposter!", 1183},
+  {"Changing password for %s\n", 1184},
+  {"Enter old password: ", 1185},
+  {"Illegal password, imposter.", 1186},
+  {"Enter new password: ", 1187},
+  {"Password not changed.", 1188},
+  {"Re-type new password: ", 1189},
+  {"You misspelled it. Password not changed.", 1190},
+  {"password changed, user %s", 1191},
+  {"ROOT PASSWORD CHANGED", 1192},
+  {"password changed by root, user %s", 1193},
+  {"calling setpwnam to set password.\n", 1194},
+  {"Password *NOT* changed.  Try again later.\n", 1195},
+  {"Password changed.\n", 1196},
+  {"Usage: shutdown [-h|-r] [-fqs] [now|hh:ss|+mins]\n", 1197},
+  {"Shutdown process aborted", 1198},
+  {"%s: Only root can shut a system down.\n", 1199},
+  {"That must be tomorrow, can't you wait till then?\n", 1200},
+  {"for maintenance; bounce, bounce", 1201},
+  {"timeout = %d, quiet = %d, reboot = %d\n", 1202},
+  {"The system is being shut down within 5 minutes", 1203},
+  {"Login is therefore prohibited.", 1204},
+  {"%s by %s: %s", 1205},
+  {"rebooted", 1206},
+  {"halted", 1207},
   {"\
 \n\
-Why am I still alive after reboot?", 1197},
+Why am I still alive after reboot?", 1208},
   {"\
 \n\
-Now you can turn off the power...", 1198},
-  {"Calling kernel power-off facility...\n", 1199},
-  {"Error powering off\t%s\n", 1200},
-  {"Executing the program \"%s\" ...\n", 1201},
-  {"Error executing\t%s\n", 1202},
-  {"\aURGENT: broadcast message from %s:", 1203},
-  {"System going down IMMEDIATELY!\n", 1204},
-  {"System going down in %d hour%s %d minutes", 1205},
-  {"s", 1206},
-  {"System going down in %d minute%s\n", 1207},
-  {"\t... %s ...\n", 1208},
-  {"Cannot fork for swapoff. Shrug!", 1209},
-  {"Cannot exec swapoff, hoping umount will do the trick.", 1210},
-  {"Cannot fork for umount, trying manually.", 1211},
-  {"Cannot exec %s, trying umount.\n", 1212},
-  {"Cannot exec umount, giving up on umount.", 1213},
-  {"Unmounting any remaining filesystems...", 1214},
-  {"shutdown: Couldn't umount %s\n", 1215},
-  {"Booting to single user mode.\n", 1216},
-  {"exec of single user shell failed\n", 1217},
-  {"fork of single user shell failed\n", 1218},
+Now you can turn off the power...", 1209},
+  {"Calling kernel power-off facility...\n", 1210},
+  {"Error powering off\t%s\n", 1211},
+  {"Executing the program \"%s\" ...\n", 1212},
+  {"Error executing\t%s\n", 1213},
+  {"\aURGENT: broadcast message from %s:", 1214},
+  {"System going down IMMEDIATELY!\n", 1215},
+  {"System going down in %d hour%s %d minutes", 1216},
+  {"s", 1217},
+  {"System going down in %d minute%s\n", 1218},
+  {"\t... %s ...\n", 1219},
+  {"Cannot fork for swapoff. Shrug!", 1220},
+  {"Cannot exec swapoff, hoping umount will do the trick.", 1221},
+  {"Cannot fork for umount, trying manually.", 1222},
+  {"Cannot exec %s, trying umount.\n", 1223},
+  {"Cannot exec umount, giving up on umount.", 1224},
+  {"Unmounting any remaining filesystems...", 1225},
+  {"shutdown: Couldn't umount %s\n", 1226},
+  {"Booting to single user mode.\n", 1227},
+  {"exec of single user shell failed\n", 1228},
+  {"fork of single user shell failed\n", 1229},
+  {"error opening fifo\n", 1230},
   {"\
 \n\
-Wrong password.\n", 1219},
-  {"exec rc failed\n", 1220},
-  {"open of rc file failed\n", 1221},
-  {"fork of rc shell failed\n", 1222},
-  {"fork failed\n", 1223},
-  {"exec failed\n", 1224},
-  {"cannot open inittab\n", 1225},
-  {"no TERM or cannot stat tty\n", 1226},
-  {"too many iov's (change code in wall/ttymsg.c)", 1227},
-  {"excessively long line arg", 1228},
-  {"cannot fork", 1229},
-  {"fork: %s", 1230},
-  {"%s: BAD ERROR", 1231},
-  {"%s: the %s file is busy.\n", 1232},
-  {"%s: the %s file is busy (%s present)\n", 1233},
-  {"%s: can't link %s: %s\n", 1234},
-  {"%s: can't unlock %s: %s (your changes are still in %s)\n", 1235},
-  {"%s: Cannot fork\n", 1236},
-  {"%s: %s unchanged\n", 1237},
-  {"%s: no changes made\n", 1238},
-  {"usage: %s [file]\n", 1239},
-  {"%s: can't open temporary file.\n", 1240},
-  {"Broadcast Message from %s@%s", 1241},
-  {"%s: can't read %s.\n", 1242},
-  {"%s: can't stat temporary file.\n", 1243},
-  {"%s: can't read temporary file.\n", 1244},
-  {"illegal month value: use 1-12", 1245},
-  {"illegal year value: use 1-9999", 1246},
-  {"usage: cal [-mjyV] [[month] year]\n", 1247},
-  {"usage: %s [+format] [day month year]\n", 1248},
-  {"St. Tib's Day", 1249},
-  {"%s: unknown signal %s\n", 1250},
-  {"%s: can't find process \"%s\"\n", 1251},
-  {"%s: unknown signal %s; valid signals:\n", 1252},
-  {"usage: %s [ -s signal | -p ] [ -a ] pid ...\n", 1253},
-  {"       %s -l [ signal ]\n", 1254},
-  {"logger: %s: %s.\n", 1255},
-  {"logger: unknown facility name: %s.\n", 1256},
-  {"logger: unknown priority name: %s.\n", 1257},
-  {"\
-usage: logger [-is] [-f file] [-p pri] [-t tag] [-u socket] [ message ... ]\n", 1258},
-  {"usage: look [-dfa] [-t char] string [file]\n", 1259},
-  {"Could not open %s\n", 1260},
-  {"Got %d bytes from %s\n", 1261},
-  {"namei: unable to get current directory - %s\n", 1262},
-  {"namei: unable to chdir to %s - %s (%d)\n", 1263},
-  {"usage: namei [-mx] pathname [pathname ...]\n", 1264},
-  {"namei: could not chdir to root!\n", 1265},
-  {"namei: could not stat root!\n", 1266},
-  {" ? could not chdir into %s - %s (%d)\n", 1267},
-  {" ? problems reading symlink %s - %s (%d)\n", 1268},
-  {"  *** EXCEEDED UNIX LIMIT OF SYMLINKS ***\n", 1269},
-  {"namei: unknown file type 0%06o on file %s\n", 1270},
-  {"usage: script [-a] [file]\n", 1271},
-  {"Script started, file is %s\n", 1272},
-  {"Script started on %s", 1273},
+Wrong password.\n", 1231},
+  {"stat of path failed\n", 1232},
+  {"open of directory failed\n", 1233},
+  {"fork failed\n", 1234},
+  {"exec failed\n", 1235},
+  {"cannot open inittab\n", 1236},
+  {"no TERM or cannot stat tty\n", 1237},
+  {"error running programme\n", 1238},
+  {"too many iov's (change code in wall/ttymsg.c)", 1239},
+  {"excessively long line arg", 1240},
+  {"cannot fork", 1241},
+  {"fork: %s", 1242},
+  {"%s: BAD ERROR", 1243},
+  {"%s: the %s file is busy.\n", 1244},
+  {"%s: the %s file is busy (%s present)\n", 1245},
+  {"%s: can't link %s: %s\n", 1246},
+  {"%s: can't unlock %s: %s (your changes are still in %s)\n", 1247},
+  {"%s: Cannot fork\n", 1248},
+  {"%s: %s unchanged\n", 1249},
+  {"%s: no changes made\n", 1250},
+  {"usage: %s [file]\n", 1251},
+  {"%s: can't open temporary file.\n", 1252},
+  {"Broadcast Message from %s@%s", 1253},
+  {"%s: can't read %s.\n", 1254},
+  {"%s: can't stat temporary file.\n", 1255},
+  {"%s: can't read temporary file.\n", 1256},
+  {"illegal month value: use 1-12", 1257},
+  {"illegal year value: use 1-9999", 1258},
+  {"usage: cal [-mjyV] [[month] year]\n", 1259},
+  {"usage: %s [+format] [day month year]\n", 1260},
+  {"St. Tib's Day", 1261},
+  {"%s: unknown signal %s\n", 1262},
+  {"%s: can't find process \"%s\"\n", 1263},
+  {"%s: unknown signal %s; valid signals:\n", 1264},
+  {"usage: %s [ -s signal | -p ] [ -a ] pid ...\n", 1265},
+  {"       %s -l [ signal ]\n", 1266},
+  {"logger: %s: %s.\n", 1267},
+  {"logger: unknown facility name: %s.\n", 1268},
+  {"logger: unknown priority name: %s.\n", 1269},
+  {"\
+usage: logger [-is] [-f file] [-p pri] [-t tag] [-u socket] [ message ... ]\n", 1270},
+  {"usage: look [-dfa] [-t char] string [file]\n", 1271},
+  {"Could not open %s\n", 1272},
+  {"Got %d bytes from %s\n", 1273},
+  {"namei: unable to get current directory - %s\n", 1274},
+  {"namei: unable to chdir to %s - %s (%d)\n", 1275},
+  {"usage: namei [-mx] pathname [pathname ...]\n", 1276},
+  {"namei: could not chdir to root!\n", 1277},
+  {"namei: could not stat root!\n", 1278},
+  {" ? could not chdir into %s - %s (%d)\n", 1279},
+  {" ? problems reading symlink %s - %s (%d)\n", 1280},
+  {"  *** EXCEEDED UNIX LIMIT OF SYMLINKS ***\n", 1281},
+  {"namei: unknown file type 0%06o on file %s\n", 1282},
+  {"usage: script [-a] [file]\n", 1283},
+  {"Script started, file is %s\n", 1284},
+  {"Script started on %s", 1285},
   {"\
 \n\
-Script done on %s", 1274},
-  {"Script done, file is %s\n", 1275},
-  {"openpty failed\n", 1276},
-  {"Out of pty's\n", 1277},
-  {"%s: Argument error, usage\n", 1278},
-  {"  [ -term terminal_name ]\n", 1279},
-  {"  [ -reset ]\n", 1280},
-  {"  [ -initialize ]\n", 1281},
-  {"  [ -cursor [on|off] ]\n", 1282},
-  {"  [ -snow [on|off] ]\n", 1283},
-  {"  [ -softscroll [on|off] ]\n", 1284},
-  {"  [ -repeat [on|off] ]\n", 1285},
-  {"  [ -appcursorkeys [on|off] ]\n", 1286},
-  {"  [ -linewrap [on|off] ]\n", 1287},
-  {"  [ -default ]\n", 1288},
-  {"  [ -foreground black|blue|green|cyan", 1289},
-  {"|red|magenta|yellow|white|default ]\n", 1290},
-  {"  [ -background black|blue|green|cyan", 1291},
-  {"  [ -ulcolor black|grey|blue|green|cyan", 1292},
-  {"|red|magenta|yellow|white ]\n", 1293},
-  {"  [ -ulcolor bright blue|green|cyan", 1294},
-  {"  [ -hbcolor black|grey|blue|green|cyan", 1295},
-  {"  [ -hbcolor bright blue|green|cyan", 1296},
-  {"  [ -standout [ attr ] ]\n", 1297},
-  {"  [ -inversescreen [on|off] ]\n", 1298},
-  {"  [ -bold [on|off] ]\n", 1299},
-  {"  [ -half-bright [on|off] ]\n", 1300},
-  {"  [ -blink [on|off] ]\n", 1301},
-  {"  [ -reverse [on|off] ]\n", 1302},
-  {"  [ -underline [on|off] ]\n", 1303},
-  {"  [ -store ]\n", 1304},
-  {"  [ -clear [all|rest] ]\n", 1305},
-  {"  [ -tabs [ tab1 tab2 tab3 ... ] ]      (tabn = 1-160)\n", 1306},
-  {"  [ -clrtabs [ tab1 tab2 tab3 ... ] ]   (tabn = 1-160)\n", 1307},
-  {"  [ -regtabs [1-160] ]\n", 1308},
-  {"  [ -blank [0-60] ]\n", 1309},
-  {"  [ -dump   [1-NR_CONSOLES] ]\n", 1310},
-  {"  [ -append [1-NR_CONSOLES] ]\n", 1311},
-  {"  [ -file dumpfilename ]\n", 1312},
-  {"  [ -msg [on|off] ]\n", 1313},
-  {"  [ -msglevel [0-8] ]\n", 1314},
-  {"  [ -powersave [on|vsync|hsync|powerdown|off] ]\n", 1315},
-  {"  [ -powerdown [0-60] ]\n", 1316},
-  {"  [ -blength [0-2000] ]\n", 1317},
-  {"  [ -bfreq freqnumber ]\n", 1318},
-  {"snow.on", 1319},
-  {"snow.off", 1320},
-  {"softscroll.on", 1321},
-  {"softscroll.off", 1322},
-  {"cannot (un)set powersave mode\n", 1323},
-  {"klogctl error: %s\n", 1324},
-  {"Error reading %s\n", 1325},
-  {"Error writing screendump\n", 1326},
-  {"couldn't read %s, and cannot ioctl dump\n", 1327},
-  {"%s: $TERM is not defined.\n", 1328},
-  {"usage: tsort [ inputfile ]\n", 1329},
-  {"tsort: odd data count.\n", 1330},
-  {"tsort: cycle in data.\n", 1331},
-  {"tsort: internal error -- could not find cycle.\n", 1332},
-  {"whereis [ -sbmu ] [ -SBM dir ... -f ] name...\n", 1333},
-  {"write: can't find your tty's name\n", 1334},
-  {"write: you have write permission turned off.\n", 1335},
-  {"write: %s is not logged in on %s.\n", 1336},
-  {"write: %s has messages disabled on %s\n", 1337},
-  {"usage: write user [tty]\n", 1338},
-  {"write: %s is not logged in\n", 1339},
-  {"write: %s has messages disabled\n", 1340},
-  {"write: %s is logged in more than once; writing to %s\n", 1341},
-  {"Message from %s@%s on %s at %s ...", 1342},
-  {"warning: error reading %s: %s", 1343},
-  {"warning: can't open %s: %s", 1344},
-  {"mount: could not open %s - using %s instead\n", 1345},
-  {"can't create lock file %s: %s (use -n flag to override)", 1346},
-  {"can't link lock file %s: %s (use -n flag to override)", 1347},
-  {"can't open lock file %s: %s (use -n flag to override)", 1348},
-  {"Can't lock lock file %s: %s\n", 1349},
-  {"can't lock lock file %s: %s", 1350},
-  {"timed out", 1351},
+Script done on %s", 1286},
+  {"Script done, file is %s\n", 1287},
+  {"openpty failed\n", 1288},
+  {"Out of pty's\n", 1289},
+  {"%s: Argument error, usage\n", 1290},
+  {"  [ -term terminal_name ]\n", 1291},
+  {"  [ -reset ]\n", 1292},
+  {"  [ -initialize ]\n", 1293},
+  {"  [ -cursor [on|off] ]\n", 1294},
+  {"  [ -snow [on|off] ]\n", 1295},
+  {"  [ -softscroll [on|off] ]\n", 1296},
+  {"  [ -repeat [on|off] ]\n", 1297},
+  {"  [ -appcursorkeys [on|off] ]\n", 1298},
+  {"  [ -linewrap [on|off] ]\n", 1299},
+  {"  [ -default ]\n", 1300},
+  {"  [ -foreground black|blue|green|cyan", 1301},
+  {"|red|magenta|yellow|white|default ]\n", 1302},
+  {"  [ -background black|blue|green|cyan", 1303},
+  {"  [ -ulcolor black|grey|blue|green|cyan", 1304},
+  {"|red|magenta|yellow|white ]\n", 1305},
+  {"  [ -ulcolor bright blue|green|cyan", 1306},
+  {"  [ -hbcolor black|grey|blue|green|cyan", 1307},
+  {"  [ -hbcolor bright blue|green|cyan", 1308},
+  {"  [ -standout [ attr ] ]\n", 1309},
+  {"  [ -inversescreen [on|off] ]\n", 1310},
+  {"  [ -bold [on|off] ]\n", 1311},
+  {"  [ -half-bright [on|off] ]\n", 1312},
+  {"  [ -blink [on|off] ]\n", 1313},
+  {"  [ -reverse [on|off] ]\n", 1314},
+  {"  [ -underline [on|off] ]\n", 1315},
+  {"  [ -store ]\n", 1316},
+  {"  [ -clear [all|rest] ]\n", 1317},
+  {"  [ -tabs [ tab1 tab2 tab3 ... ] ]      (tabn = 1-160)\n", 1318},
+  {"  [ -clrtabs [ tab1 tab2 tab3 ... ] ]   (tabn = 1-160)\n", 1319},
+  {"  [ -regtabs [1-160] ]\n", 1320},
+  {"  [ -blank [0-60] ]\n", 1321},
+  {"  [ -dump   [1-NR_CONSOLES] ]\n", 1322},
+  {"  [ -append [1-NR_CONSOLES] ]\n", 1323},
+  {"  [ -file dumpfilename ]\n", 1324},
+  {"  [ -msg [on|off] ]\n", 1325},
+  {"  [ -msglevel [0-8] ]\n", 1326},
+  {"  [ -powersave [on|vsync|hsync|powerdown|off] ]\n", 1327},
+  {"  [ -powerdown [0-60] ]\n", 1328},
+  {"  [ -blength [0-2000] ]\n", 1329},
+  {"  [ -bfreq freqnumber ]\n", 1330},
+  {"snow.on", 1331},
+  {"snow.off", 1332},
+  {"softscroll.on", 1333},
+  {"softscroll.off", 1334},
+  {"cannot (un)set powersave mode\n", 1335},
+  {"klogctl error: %s\n", 1336},
+  {"Error reading %s\n", 1337},
+  {"Error writing screendump\n", 1338},
+  {"couldn't read %s, and cannot ioctl dump\n", 1339},
+  {"%s: $TERM is not defined.\n", 1340},
+  {"usage: tsort [ inputfile ]\n", 1341},
+  {"tsort: odd data count.\n", 1342},
+  {"tsort: cycle in data.\n", 1343},
+  {"tsort: internal error -- could not find cycle.\n", 1344},
+  {"whereis [ -sbmu ] [ -SBM dir ... -f ] name...\n", 1345},
+  {"write: can't find your tty's name\n", 1346},
+  {"write: you have write permission turned off.\n", 1347},
+  {"write: %s is not logged in on %s.\n", 1348},
+  {"write: %s has messages disabled on %s\n", 1349},
+  {"usage: write user [tty]\n", 1350},
+  {"write: %s is not logged in\n", 1351},
+  {"write: %s has messages disabled\n", 1352},
+  {"write: %s is logged in more than once; writing to %s\n", 1353},
+  {"Message from %s@%s on %s at %s ...", 1354},
+  {"warning: error reading %s: %s", 1355},
+  {"warning: can't open %s: %s", 1356},
+  {"mount: could not open %s - using %s instead\n", 1357},
+  {"can't create lock file %s: %s (use -n flag to override)", 1358},
+  {"can't link lock file %s: %s (use -n flag to override)", 1359},
+  {"can't open lock file %s: %s (use -n flag to override)", 1360},
+  {"Can't lock lock file %s: %s\n", 1361},
+  {"can't lock lock file %s: %s", 1362},
+  {"timed out", 1363},
   {"\
 Cannot create link %s\n\
-Perhaps there is a stale lock file?\n", 1352},
-  {"cannot open %s (%s) - mtab not updated", 1353},
-  {"mount: warning: cannot change mounted device with a remount\n", 1354},
-  {"mount: warning: cannot change filesystem type with a remount\n", 1355},
-  {"error writing %s: %s", 1356},
-  {"error changing mode of %s: %s\n", 1357},
-  {"can't rename %s to %s: %s\n", 1358},
-  {"loop: can't open device %s: %s\n", 1359},
-  {"loop: can't get info on device %s: %s\n", 1360},
-  {"%s: [%04x]:%ld (%s) offset %d, %s encryption\n", 1361},
-  {"mount: could not find any device /dev/loop#", 1362},
+Perhaps there is a stale lock file?\n", 1364},
+  {"cannot open %s (%s) - mtab not updated", 1365},
+  {"mount: warning: cannot change mounted device with a remount\n", 1366},
+  {"mount: warning: cannot change filesystem type with a remount\n", 1367},
+  {"error writing %s: %s", 1368},
+  {"error changing mode of %s: %s\n", 1369},
+  {"can't rename %s to %s: %s\n", 1370},
+  {"loop: can't open device %s: %s\n", 1371},
+  {"loop: can't get info on device %s: %s\n", 1372},
+  {"%s: [%04x]:%ld (%s) offset %d, %s encryption\n", 1373},
+  {"mount: could not find any device /dev/loop#", 1374},
   {"\
 mount: Could not find any loop device.\n\
-       Maybe /dev/loop# has a wrong major number?", 1363},
+       Maybe /dev/loop# has a wrong major number?", 1375},
   {"\
 mount: Could not find any loop device, and, according to %s,\n\
        this kernel does not know about the loop device.\n\
-       (If so, then recompile or `insmod loop.o'.)", 1364},
+       (If so, then recompile or `insmod loop.o'.)", 1376},
   {"\
 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?", 1365},
-  {"mount: could not find any free loop device", 1366},
-  {"Unsupported encryption type %s\n", 1367},
-  {"Init (up to 16 hex digits): ", 1368},
-  {"Non-hex digit '%c'.\n", 1369},
-  {"Don't know how to get key for encryption system %d\n", 1370},
-  {"set_loop(%s,%s,%d): success\n", 1371},
-  {"loop: can't delete device %s: %s\n", 1372},
-  {"del_loop(%s): success\n", 1373},
-  {"This mount was compiled without loop support. Please recompile.\n", 1374},
-  {"Cannot get loop info", 1375},
+       maybe /dev/loop# has the wrong major number?", 1377},
+  {"mount: could not find any free loop device", 1378},
+  {"Unsupported encryption type %s\n", 1379},
+  {"Couldn't lock into memory, exiting.\n", 1380},
+  {"Init (up to 16 hex digits): ", 1381},
+  {"Non-hex digit '%c'.\n", 1382},
+  {"Don't know how to get key for encryption system %d\n", 1383},
+  {"set_loop(%s,%s,%d): success\n", 1384},
+  {"loop: can't delete device %s: %s\n", 1385},
+  {"del_loop(%s): success\n", 1386},
+  {"This mount was compiled without loop support. Please recompile.\n", 1387},
   {"\
 usage:\n\
   %s loop_device                                      # give info\n\
   %s -d loop_device                                   # delete\n\
-  %s [ -e encryption ] [ -o offset ] loop_device file # setup\n", 1376},
-  {"No loop support was available at compile time. Please recompile.\n", 1377},
-  {"[mntent]: warning: no final newline at the end of %s\n", 1378},
-  {"[mntent]: line %d in %s is bad%s\n", 1379},
-  {"; rest of file ignored", 1380},
-  {"mount: according to mtab, %s is already mounted on %s", 1381},
-  {"mount: according to mtab, %s is mounted on %s", 1382},
-  {"mount: can't open %s for writing: %s", 1383},
-  {"mount: error writing %s: %s", 1384},
-  {"mount: error changing mode of %s: %s", 1385},
-  {"%s looks like swapspace - not mounted", 1386},
-  {"mount failed", 1387},
-  {"mount: only root can mount %s on %s", 1388},
-  {"mount: loop device specified twice", 1389},
-  {"mount: type specified twice", 1390},
-  {"mount: skipping the setup of a loop device\n", 1391},
-  {"mount: going to use the loop device %s\n", 1392},
-  {"mount: failed setting up loop device\n", 1393},
-  {"mount: setup loop device successfully\n", 1394},
-  {"mount: this version was compiled without support for the type `nfs'", 1395},
-  {"mount: cannot fork: %s", 1396},
-  {"mount: can't open %s: %s", 1397},
-  {"\
-mount: I could not determine the filesystem type, and none was specified", 1398},
-  {"mount: you must specify the filesystem type", 1399},
-  {"mount: mount failed", 1400},
-  {"mount: mount point %s is not a directory", 1401},
-  {"mount: permission denied", 1402},
-  {"mount: must be superuser to use mount", 1403},
-  {"mount: %s is busy", 1404},
-  {"mount: proc already mounted", 1405},
-  {"mount: %s already mounted or %s busy", 1406},
-  {"mount: mount point %s does not exist", 1407},
-  {"mount: mount point %s is a symbolic link to nowhere", 1408},
-  {"mount: special device %s does not exist", 1409},
+  %s [ -e encryption ] [ -o offset ] loop_device file # setup\n", 1388},
+  {"not enough memory", 1389},
+  {"No loop support was available at compile time. Please recompile.\n", 1390},
+  {"[mntent]: warning: no final newline at the end of %s\n", 1391},
+  {"[mntent]: line %d in %s is bad%s\n", 1392},
+  {"; rest of file ignored", 1393},
+  {"mount: according to mtab, %s is already mounted on %s", 1394},
+  {"mount: according to mtab, %s is mounted on %s", 1395},
+  {"mount: can't open %s for writing: %s", 1396},
+  {"mount: error writing %s: %s", 1397},
+  {"mount: error changing mode of %s: %s", 1398},
+  {"%s looks like swapspace - not mounted", 1399},
+  {"mount failed", 1400},
+  {"mount: only root can mount %s on %s", 1401},
+  {"mount: loop device specified twice", 1402},
+  {"mount: type specified twice", 1403},
+  {"mount: skipping the setup of a loop device\n", 1404},
+  {"mount: going to use the loop device %s\n", 1405},
+  {"mount: failed setting up loop device\n", 1406},
+  {"mount: setup loop device successfully\n", 1407},
+  {"mount: can't open %s: %s", 1408},
+  {"mount: cannot not open %s for setting speed", 1409},
+  {"mount: cannot set speed: %s", 1410},
+  {"mount: cannot fork: %s", 1411},
+  {"mount: this version was compiled without support for the type `nfs'", 1412},
+  {"mount: failed with nfs mount version 4, trying 3..\n", 1413},
+  {"\
+mount: I could not determine the filesystem type, and none was specified", 1414},
+  {"mount: you must specify the filesystem type", 1415},
+  {"mount: mount failed", 1416},
+  {"mount: mount point %s is not a directory", 1417},
+  {"mount: permission denied", 1418},
+  {"mount: must be superuser to use mount", 1419},
+  {"mount: %s is busy", 1420},
+  {"mount: proc already mounted", 1421},
+  {"mount: %s already mounted or %s busy", 1422},
+  {"mount: mount point %s does not exist", 1423},
+  {"mount: mount point %s is a symbolic link to nowhere", 1424},
+  {"mount: special device %s does not exist", 1425},
   {"\
 mount: special device %s does not exist\n\
-       (a path prefix is not a directory)\n", 1410},
-  {"mount: %s not mounted already, or bad option", 1411},
+       (a path prefix is not a directory)\n", 1426},
+  {"mount: %s not mounted already, or bad option", 1427},
   {"\
 mount: wrong fs type, bad option, bad superblock on %s,\n\
-       or too many mounted file systems", 1412},
-  {"mount table full", 1413},
-  {"mount: %s: can't read superblock", 1414},
-  {"mount: %s has wrong major or minor number", 1415},
-  {"mount: fs type %s not supported by kernel", 1416},
-  {"mount: probably you meant %s", 1417},
-  {"mount: maybe you meant iso9660 ?", 1418},
-  {"mount: %s has wrong device number or fs type %s not supported", 1419},
-  {"mount: %s is not a block device, and stat fails?", 1420},
+       or too many mounted file systems", 1428},
+  {"mount table full", 1429},
+  {"mount: %s: can't read superblock", 1430},
+  {"mount: %s has wrong major or minor number", 1431},
+  {"mount: fs type %s not supported by kernel", 1432},
+  {"mount: probably you meant %s", 1433},
+  {"mount: maybe you meant iso9660 ?", 1434},
+  {"mount: %s has wrong device number or fs type %s not supported", 1435},
+  {"mount: %s is not a block device, and stat fails?", 1436},
   {"\
 mount: the kernel does not recognize %s as a block device\n\
-       (maybe `insmod driver'?)", 1421},
-  {"mount: %s is not a block device (maybe try `-o loop'?)", 1422},
-  {"mount: %s is not a block device", 1423},
-  {"mount: %s is not a valid block device", 1424},
-  {"mount: block device %s is not permitted on its filesystem", 1425},
-  {"mount: %s%s is write-protected, mounting read-only", 1426},
-  {"block device ", 1427},
-  {"mount: consider mounting %s by %s\n", 1428},
-  {"UUID", 1429},
-  {"label", 1430},
-  {"mount: no such partition found", 1431},
-  {"mount: no type was given - I'll assume nfs because of the colon\n", 1432},
-  {"mount: backgrounding \"%s\"\n", 1433},
-  {"mount: giving up \"%s\"\n", 1434},
-  {"mount: %s already mounted on %s\n", 1435},
-  {"\
-Usage: mount [-hV]\n\
+       (maybe `insmod driver'?)", 1437},
+  {"mount: %s is not a block device (maybe try `-o loop'?)", 1438},
+  {"mount: %s is not a block device", 1439},
+  {"mount: %s is not a valid block device", 1440},
+  {"block device ", 1441},
+  {"mount: %s%s is not permitted on its filesystem", 1442},
+  {"mount: %s%s is write-protected but explicit `-w' flag given", 1443},
+  {"mount: %s%s is write-protected, mounting read-only", 1444},
+  {"mount: consider mounting %s by %s\n", 1445},
+  {"UUID", 1446},
+  {"label", 1447},
+  {"mount: no such partition found", 1448},
+  {"mount: no type was given - I'll assume nfs because of the colon\n", 1449},
+  {"mount: backgrounding \"%s\"\n", 1450},
+  {"mount: giving up \"%s\"\n", 1451},
+  {"mount: %s already mounted on %s\n", 1452},
+  {"\
+Usage: mount [-lhV]\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", 1436},
-  {"mount: only root can do that", 1437},
-  {"mount: no %s found - creating it..\n", 1438},
-  {"mount: mounting %s\n", 1439},
-  {"not mounted anything", 1440},
-  {"mount: cannot find %s in %s", 1441},
-  {"mount: can't find %s in %s or %s", 1442},
-  {"mount: bad UUID", 1443},
-  {"mount: you didn't specify a filesystem type for %s\n", 1444},
-  {"       I will try all types mentioned in %s or %s\n", 1445},
-  {"       and it looks like this is swapspace\n", 1446},
-  {"       I will try type %s\n", 1447},
-  {"Trying %s\n", 1448},
-  {"mount: excessively long host:dir argument\n", 1449},
-  {"mount: warning: multiple hostnames not supported\n", 1450},
-  {"mount: directory to mount not in host:dir format\n", 1451},
-  {"mount: can't get address for %s\n", 1452},
-  {"mount: got bad hp->h_length\n", 1453},
-  {"mount: excessively long option argument\n", 1454},
-  {"Warning: Unrecognized proto= option.\n", 1455},
-  {"Warning: Option namlen is not supported.\n", 1456},
-  {"unknown nfs mount parameter: %s=%d\n", 1457},
-  {"Warning: option nolock is not supported.\n", 1458},
-  {"unknown nfs mount option: %s%s\n", 1459},
-  {"mount: got bad hp->h_length?\n", 1460},
-  {"mount: %s:%s failed, reason given by server: %s\n", 1461},
-  {"NFS over TCP is not supported.\n", 1462},
-  {"nfs socket", 1463},
-  {"nfs bindresvport", 1464},
-  {"used portmapper to find NFS port\n", 1465},
-  {"using port %d for nfs deamon\n", 1466},
-  {"nfs connect", 1467},
-  {"unknown nfs status return value: %d", 1468},
-  {"not enough memory", 1469},
-  {"bug in xstrndup call", 1470},
+       A special device can be indicated by  -L label  or  -U uuid .\n", 1453},
+  {"mount: only root can do that", 1454},
+  {"mount: no %s found - creating it..\n", 1455},
+  {"mount: mounting %s\n", 1456},
+  {"not mounted anything", 1457},
+  {"mount: cannot find %s in %s", 1458},
+  {"mount: can't find %s in %s or %s", 1459},
+  {"mount: bad UUID", 1460},
+  {"mount: you didn't specify a filesystem type for %s\n", 1461},
+  {"       I will try all types mentioned in %s or %s\n", 1462},
+  {"       and it looks like this is swapspace\n", 1463},
+  {"       I will try type %s\n", 1464},
+  {"Trying %s\n", 1465},
+  {"mount: excessively long host:dir argument\n", 1466},
+  {"mount: warning: multiple hostnames not supported\n", 1467},
+  {"mount: directory to mount not in host:dir format\n", 1468},
+  {"mount: can't get address for %s\n", 1469},
+  {"mount: got bad hp->h_length\n", 1470},
+  {"mount: excessively long option argument\n", 1471},
+  {"Warning: Unrecognized proto= option.\n", 1472},
+  {"Warning: Option namlen is not supported.\n", 1473},
+  {"unknown nfs mount parameter: %s=%d\n", 1474},
+  {"Warning: option nolock is not supported.\n", 1475},
+  {"unknown nfs mount option: %s%s\n", 1476},
+  {"mount: got bad hp->h_length?\n", 1477},
+  {"NFS over TCP is not supported.\n", 1478},
+  {"nfs socket", 1479},
+  {"nfs bindresvport", 1480},
+  {"used portmapper to find NFS port\n", 1481},
+  {"using port %d for nfs deamon\n", 1482},
+  {"nfs connect", 1483},
+  {"unknown nfs status return value: %d", 1484},
+  {"bug in xstrndup call", 1485},
   {"\
 usage: %s [-hV]\n\
        %s -a [-v]\n\
        %s [-v] [-p priority] special ...\n\
-       %s [-s]\n", 1471},
-  {"%s on %s\n", 1472},
-  {"swapon: cannot stat %s: %s\n", 1473},
-  {"swapon: warning: %s has insecure permissions %04o, 0600 suggested\n", 1474},
-  {"swapon: Skipping file %s - it appears to have holes.\n", 1475},
-  {"%s: cannot open %s: %s\n", 1476},
-  {"umount: compiled without support for -f\n", 1477},
-  {"host: %s, directory: %s\n", 1478},
-  {"umount: can't get address for %s\n", 1479},
-  {"umount: got bad hostp->h_length\n", 1480},
-  {"umount: %s: invalid block device", 1481},
-  {"umount: %s: not mounted", 1482},
-  {"umount: %s: can't write superblock", 1483},
-  {"umount: %s: device is busy", 1484},
-  {"umount: %s: not found", 1485},
-  {"umount: %s: must be superuser to umount", 1486},
-  {"umount: %s: block devices not permitted on fs", 1487},
-  {"umount: %s: %s", 1488},
-  {"no umount2, trying umount...\n", 1489},
-  {"could not umount %s - trying %s instead\n", 1490},
-  {"umount: %s busy - remounted read-only\n", 1491},
-  {"umount: could not remount %s read-only\n", 1492},
-  {"%s umounted\n", 1493},
-  {"umount: cannot find list of filesystems to unmount", 1494},
+       %s [-s]\n", 1486},
+  {"%s on %s\n", 1487},
+  {"swapon: cannot stat %s: %s\n", 1488},
+  {"swapon: warning: %s has insecure permissions %04o, 0600 suggested\n", 1489},
+  {"swapon: Skipping file %s - it appears to have holes.\n", 1490},
+  {"%s: cannot open %s: %s\n", 1491},
+  {"umount: compiled without support for -f\n", 1492},
+  {"host: %s, directory: %s\n", 1493},
+  {"umount: can't get address for %s\n", 1494},
+  {"umount: got bad hostp->h_length\n", 1495},
+  {"umount: %s: invalid block device", 1496},
+  {"umount: %s: not mounted", 1497},
+  {"umount: %s: can't write superblock", 1498},
+  {"umount: %s: device is busy", 1499},
+  {"umount: %s: not found", 1500},
+  {"umount: %s: must be superuser to umount", 1501},
+  {"umount: %s: block devices not permitted on fs", 1502},
+  {"umount: %s: %s", 1503},
+  {"no umount2, trying umount...\n", 1504},
+  {"could not umount %s - trying %s instead\n", 1505},
+  {"umount: %s busy - remounted read-only\n", 1506},
+  {"umount: could not remount %s read-only\n", 1507},
+  {"%s umounted\n", 1508},
+  {"umount: cannot find list of filesystems to unmount", 1509},
   {"\
 Usage: umount [-hV]\n\
        umount -a [-f] [-r] [-n] [-v] [-t vfstypes]\n\
-       umount [-f] [-r] [-n] [-v] special | node...\n", 1495},
-  {"umount: only root can do that", 1496},
-  {"Trying to umount %s\n", 1497},
-  {"Could not find %s in mtab\n", 1498},
-  {"umount: %s is not mounted (according to mtab)", 1499},
-  {"umount: it seems %s is mounted multiple times", 1500},
-  {"umount: %s is not in the fstab (and you are not root)", 1501},
-  {"umount: %s mount disagrees with the fstab", 1502},
-  {"umount: only root can unmount %s from %s", 1503},
-  {"umount: only %s can unmount %s from %s", 1504},
-  {"You must be root to set the Ctrl-Alt-Del behaviour.\n", 1505},
-  {"Usage: ctrlaltdel hard|soft\n", 1506},
+       umount [-f] [-r] [-n] [-v] special | node...\n", 1510},
+  {"umount: only root can do that", 1511},
+  {"Trying to umount %s\n", 1512},
+  {"Could not find %s in mtab\n", 1513},
+  {"umount: %s is not mounted (according to mtab)", 1514},
+  {"umount: it seems %s is mounted multiple times", 1515},
+  {"umount: %s is not in the fstab (and you are not root)", 1516},
+  {"umount: %s mount disagrees with the fstab", 1517},
+  {"umount: only root can unmount %s from %s", 1518},
+  {"umount: only %s can unmount %s from %s", 1519},
+  {"You must be root to set the Ctrl-Alt-Del behaviour.\n", 1520},
+  {"Usage: ctrlaltdel hard|soft\n", 1521},
   {"\
 File %s, For threshold value %lu, Maximum characters in fifo were %d,\n\
-and the maximum transfer rate in characters/second was %f\n", 1507},
+and the maximum transfer rate in characters/second was %f\n", 1522},
   {"\
 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", 1508},
-  {"Invalid interval value: %s\n", 1509},
-  {"Invalid set value: %s\n", 1510},
-  {"Invalid default value: %s\n", 1511},
-  {"Invalid set time value: %s\n", 1512},
-  {"Invalid default time value: %s\n", 1513},
+and the maximum transfer rate in characters/second was %f\n", 1523},
+  {"Invalid interval value: %s\n", 1524},
+  {"Invalid set value: %s\n", 1525},
+  {"Invalid default value: %s\n", 1526},
+  {"Invalid set time value: %s\n", 1527},
+  {"Invalid default time value: %s\n", 1528},
   {"\
 Usage: %s [-q [-i interval]] ([-s value]|[-S value]) ([-t value]|[-T value]) \
-[-g|-G] file [file...]\n", 1514},
-  {"Can't open %s: %s\n", 1515},
-  {"Can't set %s to threshold %d: %s\n", 1516},
-  {"Can't set %s to time threshold %d: %s\n", 1517},
-  {"Can't get threshold for %s: %s\n", 1518},
-  {"Can't get timeout for %s: %s\n", 1519},
-  {"%s: %ld %s threshold and %ld %s timeout\n", 1520},
-  {"current", 1521},
-  {"default", 1522},
-  {"Can't set signal handler", 1523},
-  {"gettimeofday failed", 1524},
-  {"Can't issue CYGETMON on %s: %s\n", 1525},
-  {"%s: %lu ints, %lu/%lu chars; ", 1526},
-  {"fifo: %lu thresh, %lu tmout, ", 1527},
-  {"%lu max, %lu now\n", 1528},
-  {"   %f int/sec; %f rec, %f send (char/sec)\n", 1529},
-  {"\
-%s: %lu ints, %lu chars; fifo: %lu thresh, %lu tmout, %lu max, %lu now\n", 1530},
-  {"   %f int/sec; %f rec (char/sec)\n", 1531},
-  {"Usage: %s [-c] [-n level] [-s bufsize]\n", 1532},
-  {"usage: %s [shm | msg | sem] id\n", 1533},
-  {"usage: %s [-shm | -msg | -sem] id\n", 1534},
-  {"resource deleted\n", 1535},
-  {"usage : %s -asmq -tclup \n", 1536},
-  {"\t%s [-s -m -q] -i id\n", 1537},
-  {"\t%s -h for help.\n", 1538},
-  {"%s provides information on ipc facilities for", 1539},
-  {" which you have read access.\n", 1540},
+[-g|-G] file [file...]\n", 1529},
+  {"Can't open %s: %s\n", 1530},
+  {"Can't set %s to threshold %d: %s\n", 1531},
+  {"Can't set %s to time threshold %d: %s\n", 1532},
+  {"Can't get threshold for %s: %s\n", 1533},
+  {"Can't get timeout for %s: %s\n", 1534},
+  {"%s: %ld %s threshold and %ld %s timeout\n", 1535},
+  {"current", 1536},
+  {"default", 1537},
+  {"Can't set signal handler", 1538},
+  {"gettimeofday failed", 1539},
+  {"Can't issue CYGETMON on %s: %s\n", 1540},
+  {"%s: %lu ints, %lu/%lu chars; ", 1541},
+  {"fifo: %lu thresh, %lu tmout, ", 1542},
+  {"%lu max, %lu now\n", 1543},
+  {"   %f int/sec; %f rec, %f send (char/sec)\n", 1544},
+  {"\
+%s: %lu ints, %lu chars; fifo: %lu thresh, %lu tmout, %lu max, %lu now\n", 1545},
+  {"   %f int/sec; %f rec (char/sec)\n", 1546},
+  {"Usage: %s [-c] [-n level] [-s bufsize]\n", 1547},
+  {"invalid id: %s\n", 1548},
+  {"cannot remove id %s (%s)\n", 1549},
+  {"usage: %s {shm | msg | sem} id ...\n", 1550},
+  {"unknown resource type: %s\n", 1551},
+  {"resource(s) deleted\n", 1552},
+  {"usage : %s -asmq -tclup \n", 1553},
+  {"\t%s [-s -m -q] -i id\n", 1554},
+  {"\t%s -h for help.\n", 1555},
+  {"%s provides information on ipc facilities for", 1556},
+  {" which you have read access.\n", 1557},
   {"\
 Resource Specification:\n\
 \t-m : shared_mem\n\
-\t-q : messages\n", 1541},
+\t-q : messages\n", 1558},
   {"\
 \t-s : semaphores\n\
-\t-a : all (default)\n", 1542},
+\t-a : all (default)\n", 1559},
   {"\
 Output Format:\n\
 \t-t : time\n\
 \t-p : pid\n\
-\t-c : creator\n", 1543},
+\t-c : creator\n", 1560},
   {"\
 \t-l : limits\n\
-\t-u : summary\n", 1544},
-  {"-i id [-s -q -m] : details on resource identified by id\n", 1545},
-  {"kernel not configured for shared memory\n", 1546},
-  {"------ Shared Memory Limits --------\n", 1547},
-  {"max number of segments = %d\n", 1548},
-  {"max seg size (kbytes) = %d\n", 1549},
-  {"max total shared memory (kbytes) = %d\n", 1550},
-  {"min seg size (bytes) = %d\n", 1551},
-  {"------ Shared Memory Status --------\n", 1552},
-  {"segments allocated %d\n", 1553},
-  {"pages allocated %ld\n", 1554},
-  {"pages resident  %ld\n", 1555},
-  {"pages swapped   %ld\n", 1556},
-  {"Swap performance: %ld attempts\t %ld successes\n", 1557},
-  {"------ Shared Memory Segment Creators/Owners --------\n", 1558},
-  {"%-10s%-10s%-10s%-10s%-10s%-10s\n", 1559},
-  {"shmid", 1560},
-  {"perms", 1561},
-  {"cuid", 1562},
-  {"cgid", 1563},
-  {"uid", 1564},
-  {"gid", 1565},
-  {"------ Shared Memory Attach/Detach/Change Times --------\n", 1566},
-  {"%-10s%-10s  %-20s%-20s%-20s\n", 1567},
-  {"owner", 1568},
-  {"attached", 1569},
-  {"detached", 1570},
-  {"changed", 1571},
-  {"------ Shared Memory Creator/Last-op --------\n", 1572},
-  {"%-10s%-10s%-10s%-10s\n", 1573},
-  {"cpid", 1574},
-  {"lpid", 1575},
-  {"------ Shared Memory Segments --------\n", 1576},
-  {"%-10s%-10s%-10s%-10s%-10s%-10s%-12s\n", 1577},
-  {"key", 1578},
-  {"bytes", 1579},
-  {"nattch", 1580},
-  {"status", 1581},
-  {"Not set", 1582},
-  {"dest", 1583},
-  {"locked", 1584},
-  {"kernel not configured for semaphores\n", 1585},
-  {"------ Semaphore Limits --------\n", 1586},
-  {"max number of arrays = %d\n", 1587},
-  {"max semaphores per array = %d\n", 1588},
-  {"max semaphores system wide = %d\n", 1589},
-  {"max ops per semop call = %d\n", 1590},
-  {"semaphore max value = %d\n", 1591},
-  {"------ Semaphore Status --------\n", 1592},
-  {"used arrays = %d\n", 1593},
-  {"allocated semaphores = %d\n", 1594},
-  {"------ Semaphore Arrays Creators/Owners --------\n", 1595},
-  {"semid", 1596},
-  {"------ Shared Memory Operation/Change Times --------\n", 1597},
-  {"%-8s%-10s  %-26.24s %-26.24s\n", 1598},
-  {"last-op", 1599},
-  {"last-changed", 1600},
-  {"------ Semaphore Arrays --------\n", 1601},
-  {"%-10s%-10s%-10s%-10s%-10s%-12s\n", 1602},
-  {"nsems", 1603},
-  {"------ Messages: Limits --------\n", 1604},
-  {"max queues system wide = %d\n", 1605},
-  {"max size of message (bytes) = %d\n", 1606},
-  {"default max size of queue (bytes) = %d\n", 1607},
-  {"------ Messages: Status --------\n", 1608},
-  {"allocated queues = %d\n", 1609},
-  {"used headers = %d\n", 1610},
-  {"used space = %d bytes\n", 1611},
-  {"------ Message Queues: Creators/Owners --------\n", 1612},
-  {"msqid", 1613},
-  {"------ Message Queues Send/Recv/Change Times --------\n", 1614},
-  {"%-8s%-10s  %-20s%-20s%-20s\n", 1615},
-  {"send", 1616},
-  {"recv", 1617},
-  {"change", 1618},
-  {"------ Message Queues PIDs --------\n", 1619},
-  {"lspid", 1620},
-  {"lrpid", 1621},
-  {"------ Message Queues --------\n", 1622},
-  {"%-10s%-10s%-10s%-10s%-12s%-12s\n", 1623},
-  {"used-bytes", 1624},
-  {"messages", 1625},
+\t-u : summary\n", 1561},
+  {"-i id [-s -q -m] : details on resource identified by id\n", 1562},
+  {"kernel not configured for shared memory\n", 1563},
+  {"------ Shared Memory Limits --------\n", 1564},
+  {"max number of segments = %d\n", 1565},
+  {"max seg size (kbytes) = %d\n", 1566},
+  {"max total shared memory (kbytes) = %d\n", 1567},
+  {"min seg size (bytes) = %d\n", 1568},
+  {"------ Shared Memory Status --------\n", 1569},
+  {"segments allocated %d\n", 1570},
+  {"pages allocated %ld\n", 1571},
+  {"pages resident  %ld\n", 1572},
+  {"pages swapped   %ld\n", 1573},
+  {"Swap performance: %ld attempts\t %ld successes\n", 1574},
+  {"------ Shared Memory Segment Creators/Owners --------\n", 1575},
+  {"%-10s%-10s%-10s%-10s%-10s%-10s\n", 1576},
+  {"shmid", 1577},
+  {"perms", 1578},
+  {"cuid", 1579},
+  {"cgid", 1580},
+  {"uid", 1581},
+  {"gid", 1582},
+  {"------ Shared Memory Attach/Detach/Change Times --------\n", 1583},
+  {"%-10s%-10s  %-20s%-20s%-20s\n", 1584},
+  {"owner", 1585},
+  {"attached", 1586},
+  {"detached", 1587},
+  {"changed", 1588},
+  {"------ Shared Memory Creator/Last-op --------\n", 1589},
+  {"%-10s%-10s%-10s%-10s\n", 1590},
+  {"cpid", 1591},
+  {"lpid", 1592},
+  {"------ Shared Memory Segments --------\n", 1593},
+  {"%-10s%-10s%-10s%-10s%-10s%-10s%-12s\n", 1594},
+  {"key", 1595},
+  {"bytes", 1596},
+  {"nattch", 1597},
+  {"status", 1598},
+  {"Not set", 1599},
+  {"dest", 1600},
+  {"locked", 1601},
+  {"kernel not configured for semaphores\n", 1602},
+  {"------ Semaphore Limits --------\n", 1603},
+  {"max number of arrays = %d\n", 1604},
+  {"max semaphores per array = %d\n", 1605},
+  {"max semaphores system wide = %d\n", 1606},
+  {"max ops per semop call = %d\n", 1607},
+  {"semaphore max value = %d\n", 1608},
+  {"------ Semaphore Status --------\n", 1609},
+  {"used arrays = %d\n", 1610},
+  {"allocated semaphores = %d\n", 1611},
+  {"------ Semaphore Arrays Creators/Owners --------\n", 1612},
+  {"semid", 1613},
+  {"------ Shared Memory Operation/Change Times --------\n", 1614},
+  {"%-8s%-10s  %-26.24s %-26.24s\n", 1615},
+  {"last-op", 1616},
+  {"last-changed", 1617},
+  {"------ Semaphore Arrays --------\n", 1618},
+  {"%-10s%-10s%-10s%-10s%-10s%-12s\n", 1619},
+  {"nsems", 1620},
+  {"------ Messages: Limits --------\n", 1621},
+  {"max queues system wide = %d\n", 1622},
+  {"max size of message (bytes) = %d\n", 1623},
+  {"default max size of queue (bytes) = %d\n", 1624},
+  {"------ Messages: Status --------\n", 1625},
+  {"allocated queues = %d\n", 1626},
+  {"used headers = %d\n", 1627},
+  {"used space = %d bytes\n", 1628},
+  {"------ Message Queues: Creators/Owners --------\n", 1629},
+  {"msqid", 1630},
+  {"------ Message Queues Send/Recv/Change Times --------\n", 1631},
+  {"%-8s%-10s  %-20s%-20s%-20s\n", 1632},
+  {"send", 1633},
+  {"recv", 1634},
+  {"change", 1635},
+  {"------ Message Queues PIDs --------\n", 1636},
+  {"lspid", 1637},
+  {"lrpid", 1638},
+  {"------ Message Queues --------\n", 1639},
+  {"%-10s%-10s%-10s%-10s%-12s%-12s\n", 1640},
+  {"used-bytes", 1641},
+  {"messages", 1642},
   {"\
 \n\
-Shared memory Segment shmid=%d\n", 1626},
-  {"uid=%d\tgid=%d\tcuid=%d\tcgid=%d\n", 1627},
-  {"mode=%#o\taccess_perms=%#o\n", 1628},
-  {"bytes=%d\tlpid=%d\tcpid=%d\tnattch=%d\n", 1629},
-  {"att_time=%s", 1630},
-  {"Not set\n", 1631},
-  {"det_time=%s", 1632},
-  {"change_time=%s", 1633},
+Shared memory Segment shmid=%d\n", 1643},
+  {"uid=%d\tgid=%d\tcuid=%d\tcgid=%d\n", 1644},
+  {"mode=%#o\taccess_perms=%#o\n", 1645},
+  {"bytes=%d\tlpid=%d\tcpid=%d\tnattch=%d\n", 1646},
+  {"att_time=%s", 1647},
+  {"Not set\n", 1648},
+  {"det_time=%s", 1649},
+  {"change_time=%s", 1650},
   {"\
 \n\
-Message Queue msqid=%d\n", 1634},
-  {"uid=%d\tgid=%d\tcuid=%d\tcgid=%d\tmode=%#o\n", 1635},
-  {"cbytes=%d\tqbytes=%d\tqnum=%d\tlspid=%d\tlrpid=%d\n", 1636},
-  {"send_time=%srcv_time=%schange_time=%s", 1637},
-  {"Not Set\n", 1638},
+Message Queue msqid=%d\n", 1651},
+  {"uid=%d\tgid=%d\tcuid=%d\tcgid=%d\tmode=%#o\n", 1652},
+  {"cbytes=%d\tqbytes=%d\tqnum=%d\tlspid=%d\tlrpid=%d\n", 1653},
+  {"send_time=%srcv_time=%schange_time=%s", 1654},
+  {"Not Set\n", 1655},
   {"\
 \n\
-Semaphore Array semid=%d\n", 1639},
-  {"uid=%d\t gid=%d\t cuid=%d\t cgid=%d\n", 1640},
-  {"mode=%#o, access_perms=%#o\n", 1641},
-  {"nsems = %d\n", 1642},
-  {"otime = %s", 1643},
-  {"ctime = %s", 1644},
-  {"%-10s%-10s%-10s%-10s%-10s\n", 1645},
-  {"semnum", 1646},
-  {"value", 1647},
-  {"ncount", 1648},
-  {"zcount", 1649},
-  {"pid", 1650},
-  {"usage: rdev [ -rsv ] [ -o OFFSET ] [ IMAGE [ VALUE [ OFFSET ] ] ]", 1651},
-  {"\
-  rdev /dev/fd0  (or rdev /linux, etc.) displays the current ROOT device", 1652},
-  {"  rdev /dev/fd0 /dev/hda2         sets ROOT to /dev/hda2", 1653},
-  {"  rdev -R /dev/fd0 1              set the ROOTFLAGS (readonly status)", 1654},
-  {"  rdev -s /dev/fd0 /dev/hda2      set the SWAP device", 1655},
-  {"  rdev -r /dev/fd0 627            set the RAMDISK size", 1656},
-  {"  rdev -v /dev/fd0 1              set the bootup VIDEOMODE", 1657},
-  {"  rdev -o N ...                   use the byte offset N", 1658},
-  {"  rootflags ...                   same as rdev -R", 1659},
-  {"  swapdev ...                     same as rdev -s", 1660},
-  {"  ramsize ...                     same as rdev -r", 1661},
-  {"  vidmode ...                     same as rdev -v", 1662},
-  {"\
-Note: video modes are: -3=Ask, -2=Extended, -1=NormalVga, 1=key1, 2=key2,...", 1663},
-  {"      use -R 1 to mount root readonly, -R 0 for read/write.", 1664},
+Semaphore Array semid=%d\n", 1656},
+  {"uid=%d\t gid=%d\t cuid=%d\t cgid=%d\n", 1657},
+  {"mode=%#o, access_perms=%#o\n", 1658},
+  {"nsems = %d\n", 1659},
+  {"otime = %s", 1660},
+  {"ctime = %s", 1661},
+  {"%-10s%-10s%-10s%-10s%-10s\n", 1662},
+  {"semnum", 1663},
+  {"value", 1664},
+  {"ncount", 1665},
+  {"zcount", 1666},
+  {"pid", 1667},
+  {"usage: rdev [ -rsv ] [ -o OFFSET ] [ IMAGE [ VALUE [ OFFSET ] ] ]", 1668},
+  {"\
+  rdev /dev/fd0  (or rdev /linux, etc.) displays the current ROOT device", 1669},
+  {"  rdev /dev/fd0 /dev/hda2         sets ROOT to /dev/hda2", 1670},
+  {"  rdev -R /dev/fd0 1              set the ROOTFLAGS (readonly status)", 1671},
+  {"  rdev -s /dev/fd0 /dev/hda2      set the SWAP device", 1672},
+  {"  rdev -r /dev/fd0 627            set the RAMDISK size", 1673},
+  {"  rdev -v /dev/fd0 1              set the bootup VIDEOMODE", 1674},
+  {"  rdev -o N ...                   use the byte offset N", 1675},
+  {"  rootflags ...                   same as rdev -R", 1676},
+  {"  swapdev ...                     same as rdev -s", 1677},
+  {"  ramsize ...                     same as rdev -r", 1678},
+  {"  vidmode ...                     same as rdev -v", 1679},
+  {"\
+Note: video modes are: -3=Ask, -2=Extended, -1=NormalVga, 1=key1, 2=key2,...", 1680},
+  {"      use -R 1 to mount root readonly, -R 0 for read/write.", 1681},
   {"\
 %s: Usage: \"%s [options]\n\
 \t -m <mapfile>  (default = \"%s\")\n\
@@ -2124,110 +2147,110 @@ Note: video modes are: -3=Ask, -2=Extended, -1=NormalVga, 1=key1, 2=key2,...", 1
 \t -v            print verbose data\n\
 \t -a            print all symbols, even if count is 0\n\
 \t -r            reset all the counters (root only)\n\
-\t -V            print version and exit\n", 1665},
-  {"%s Version %s\n", 1666},
-  {"anything\n", 1667},
-  {"Sampling_step: %i\n", 1668},
-  {"%s: %s(%i): wrong map line\n", 1669},
-  {"%s: can't find \"_stext\" in %s\n", 1670},
-  {"total", 1671},
-  {"\
-usage: renice priority [ [ -p ] pids ] [ [ -g ] pgrps ] [ [ -u ] users ]\n", 1672},
-  {"renice: %s: unknown user\n", 1673},
-  {"renice: %s: bad value\n", 1674},
-  {"getpriority", 1675},
-  {"setpriority", 1676},
-  {"%d: old priority %d, new priority %d\n", 1677},
-  {"usage: %s program [arg ...]\n", 1678},
+\t -V            print version and exit\n", 1682},
+  {"%s Version %s\n", 1683},
+  {"anything\n", 1684},
+  {"Sampling_step: %i\n", 1685},
+  {"%s: %s(%i): wrong map line\n", 1686},
+  {"%s: can't find \"_stext\" in %s\n", 1687},
+  {"total", 1688},
+  {"\
+usage: renice priority [ [ -p ] pids ] [ [ -g ] pgrps ] [ [ -u ] users ]\n", 1689},
+  {"renice: %s: unknown user\n", 1690},
+  {"renice: %s: bad value\n", 1691},
+  {"getpriority", 1692},
+  {"setpriority", 1693},
+  {"%d: old priority %d, new priority %d\n", 1694},
+  {"usage: %s program [arg ...]\n", 1695},
   {"\
 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", 1679},
-  {"malloc error", 1680},
-  {"%s: bad value\n", 1681},
-  {"%s: %s not an lp device.\n", 1682},
-  {"%s status is %d", 1683},
-  {", busy", 1684},
-  {", ready", 1685},
-  {", out of paper", 1686},
-  {", on-line", 1687},
-  {", error", 1688},
-  {"LPGETIRQ error", 1689},
-  {"%s using IRQ %d\n", 1690},
-  {"%s using polling\n", 1691},
-  {"col: bad -l argument %s.\n", 1692},
-  {"usage: col [-bfx] [-l nline]\n", 1693},
-  {"col: write error.\n", 1694},
-  {"col: warning: can't back up %s.\n", 1695},
-  {"past first line", 1696},
-  {"-- line already flushed", 1697},
-  {"usage: %s [ - ] [ -2 ] [ file ... ]\n", 1698},
-  {"line too long", 1699},
-  {"usage: column [-tx] [-c columns] [file ...]\n", 1700},
-  {"hexdump: bad length value.\n", 1701},
-  {"hexdump: bad skip value.\n", 1702},
-  {"\
-hexdump: [-bcdovx] [-e fmt] [-f fmt_file] [-n length] [-s skip] [file ...]\n", 1703},
-  {"usage: %s [-dfln] [+linenum | +/pattern] name1 name2 ...\n", 1704},
+          -T [on|off] ]\n", 1696},
+  {"malloc error", 1697},
+  {"%s: bad value\n", 1698},
+  {"%s: %s not an lp device.\n", 1699},
+  {"%s status is %d", 1700},
+  {", busy", 1701},
+  {", ready", 1702},
+  {", out of paper", 1703},
+  {", on-line", 1704},
+  {", error", 1705},
+  {"LPGETIRQ error", 1706},
+  {"%s using IRQ %d\n", 1707},
+  {"%s using polling\n", 1708},
+  {"col: bad -l argument %s.\n", 1709},
+  {"usage: col [-bfpx] [-l nline]\n", 1710},
+  {"col: write error.\n", 1711},
+  {"col: warning: can't back up %s.\n", 1712},
+  {"past first line", 1713},
+  {"-- line already flushed", 1714},
+  {"usage: %s [ - ] [ -2 ] [ file ... ]\n", 1715},
+  {"line too long", 1716},
+  {"usage: column [-tx] [-c columns] [file ...]\n", 1717},
+  {"hexdump: bad length value.\n", 1718},
+  {"hexdump: bad skip value.\n", 1719},
+  {"\
+hexdump: [-bcdovx] [-e fmt] [-f fmt_file] [-n length] [-s skip] [file ...]\n", 1720},
+  {"usage: %s [-dfln] [+linenum | +/pattern] name1 name2 ...\n", 1721},
   {"\
 \n\
 *** %s: directory ***\n\
-\n", 1705},
+\n", 1722},
   {"\
 \n\
 ******** %s: Not a text file ********\n\
-\n", 1706},
-  {"[Use q or Q to quit]", 1707},
-  {"--More--", 1708},
-  {"(Next file: %s)", 1709},
-  {"[Press space to continue, 'q' to quit.]", 1710},
-  {"...back %d page", 1711},
-  {"...skipping %d line", 1712},
+\n", 1723},
+  {"[Use q or Q to quit]", 1724},
+  {"--More--", 1725},
+  {"(Next file: %s)", 1726},
+  {"[Press space to continue, 'q' to quit.]", 1727},
+  {"...back %d page", 1728},
+  {"...skipping %d line", 1729},
   {"\
 \n\
 ***Back***\n\
-\n", 1713},
-  {"Can't open help file", 1714},
-  {"[Press 'h' for instructions.]", 1715},
-  {"\"%s\" line %d", 1716},
-  {"[Not a file] line %d", 1717},
-  {"  Overflow\n", 1718},
-  {"...skipping\n", 1719},
-  {"Regular expression botch", 1720},
+\n", 1730},
+  {"Can't open help file", 1731},
+  {"[Press 'h' for instructions.]", 1732},
+  {"\"%s\" line %d", 1733},
+  {"[Not a file] line %d", 1734},
+  {"  Overflow\n", 1735},
+  {"...skipping\n", 1736},
+  {"Regular expression botch", 1737},
   {"\
 \n\
-Pattern not found\n", 1721},
-  {"Pattern not found", 1722},
-  {"can't fork\n", 1723},
+Pattern not found\n", 1738},
+  {"Pattern not found", 1739},
+  {"can't fork\n", 1740},
   {"\
 \n\
-...Skipping ", 1724},
-  {"...Skipping ", 1725},
-  {"to file ", 1726},
-  {"back to file ", 1727},
-  {"Line too long", 1728},
-  {"No previous command to substitute for", 1729},
-  {"od: od(1) has been deprecated for hexdump(1).\n", 1730},
-  {"od: hexdump(1) compatibility doesn't support the -%c option%s\n", 1731},
-  {"; see strings(1).", 1732},
-  {"hexdump: can't read %s.\n", 1733},
-  {"hexdump: line too long.\n", 1734},
-  {"hexdump: byte count with multiple conversion characters.\n", 1735},
-  {"hexdump: bad byte count for conversion character %s.\n", 1736},
-  {"hexdump: %%s requires a precision or a byte count.\n", 1737},
-  {"hexdump: bad format {%s}\n", 1738},
-  {"hexdump: bad conversion character %%%s.\n", 1739},
-  {"Unable to allocate bufferspace\n", 1740},
-  {"usage: rev [file ...]\n", 1741},
-  {"usage: %s [ -i ] [ -tTerm ] file...\n", 1742},
-  {"trouble reading terminfo", 1743},
-  {"Unknown escape sequence in input: %o, %o\n", 1744},
-  {"Unable to allocate buffer.\n", 1745},
-  {"Input line too long.\n", 1746},
-  {"Out of memory when growing buffer.\n", 1747},
-  {"Typematic Rate set to %.1f cps (delay = %d ms)\n", 1748},
-  {"Usage: kbdrate [-V] [-s] [-r rate] [-d delay]\n", 1749},
-  {"Cannot open /dev/port", 1750},
+...Skipping ", 1741},
+  {"...Skipping ", 1742},
+  {"to file ", 1743},
+  {"back to file ", 1744},
+  {"Line too long", 1745},
+  {"No previous command to substitute for", 1746},
+  {"od: od(1) has been deprecated for hexdump(1).\n", 1747},
+  {"od: hexdump(1) compatibility doesn't support the -%c option%s\n", 1748},
+  {"; see strings(1).", 1749},
+  {"hexdump: can't read %s.\n", 1750},
+  {"hexdump: line too long.\n", 1751},
+  {"hexdump: byte count with multiple conversion characters.\n", 1752},
+  {"hexdump: bad byte count for conversion character %s.\n", 1753},
+  {"hexdump: %%s requires a precision or a byte count.\n", 1754},
+  {"hexdump: bad format {%s}\n", 1755},
+  {"hexdump: bad conversion character %%%s.\n", 1756},
+  {"Unable to allocate bufferspace\n", 1757},
+  {"usage: rev [file ...]\n", 1758},
+  {"usage: %s [ -i ] [ -tTerm ] file...\n", 1759},
+  {"trouble reading terminfo", 1760},
+  {"Unknown escape sequence in input: %o, %o\n", 1761},
+  {"Unable to allocate buffer.\n", 1762},
+  {"Input line too long.\n", 1763},
+  {"Out of memory when growing buffer.\n", 1764},
+  {"Typematic Rate set to %.1f cps (delay = %d ms)\n", 1765},
+  {"Usage: kbdrate [-V] [-s] [-r rate] [-d delay]\n", 1766},
+  {"Cannot open /dev/port", 1767},
 };
 
-int _msg_tbl_length = 1750;
+int _msg_tbl_length = 1767;
index 422f35a5c1f227de672be586e944471a244e3df8..dc3407e11c4f1a90f003ca857994ee64a99a1a18 100644 (file)
--- a/po/cs.po
+++ b/po/cs.po
@@ -3,9 +3,9 @@
 #
 msgid ""
 msgstr ""
-"Project-Id-Version: util-linux-2.10\n"
-"POT-Creation-Date: 1999-11-03 21:24+0100\n"
-"PO-Revision-Date: 1999-11-03 21:38+0100\n"
+"Project-Id-Version: util-linux-2.10d\n"
+"POT-Creation-Date: 2000-02-08 11:01+0100\n"
+"PO-Revision-Date: 2000-02-08 11:13+0100\n"
 "Last-Translator: Jiøí Pavlovský <pavlovsk@ff.cuni.cz>\n"
 "Language-Team: Czech <cs@li.org>\n"
 "MIME-Version: 1.0\n"
@@ -16,39 +16,39 @@ msgstr ""
 msgid "booted from MILO\n"
 msgstr "spu¹tìn pomocí MILO\n"
 
-#: clock/cmos.c:154
+#: clock/cmos.c:155
 msgid "Ruffian BCD clock\n"
 msgstr "hodnoty ulo¾eny v BCD tvaru\n"
 
-#: clock/cmos.c:170
+#: clock/cmos.c:171
 #, 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"
 
-#: clock/cmos.c:180
+#: clock/cmos.c:181
 msgid "funky TOY!\n"
 msgstr "pou¾it pøepínaè --funky-toy!\n"
 
-#: clock/cmos.c:234
+#: clock/cmos.c:235
 #, c-format
 msgid "%s: atomic %s failed for 1000 iterations!"
 msgstr "%s: 1000 neúspì¹ných pokusù o atomické provedení %s!"
 
-#: clock/cmos.c:558
+#: clock/cmos.c:559
 #, c-format
 msgid "Cannot open /dev/port: %s"
 msgstr "/dev/port nelze otevøít: %s"
 
-#: clock/cmos.c:565
+#: clock/cmos.c:566
 msgid "I failed to get permission because I didnt try.\n"
 msgstr "Jeliko¾ jsem se nesna¾il, nepodaøilo se mi získat práva pro pøístup.\n"
 
-#: clock/cmos.c:568
+#: clock/cmos.c:569
 #, 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"
 
-#: clock/cmos.c:571
+#: clock/cmos.c:572
 msgid "Probably you need root privileges.\n"
 msgstr "Pravdìpodobnì je tøeba mít práva superu¾ivatele.\n"
 
@@ -77,12 +77,12 @@ msgstr "(O
 #: clock/hwclock.c:297
 #, c-format
 msgid "Last drift adjustment done at %d seconds after 1969\n"
-msgstr "Poslední oprava posunu probìhla %d vteøin od roku 1969.\n"
+msgstr "Poslední oprava posunu probìhla %d sekund od roku 1969.\n"
 
 #: clock/hwclock.c:299
 #, c-format
 msgid "Last calibration done at %d seconds after 1969\n"
-msgstr "Poslední kalibrace probìhla %d vteøin od roku 1969.\n"
+msgstr "Poslední kalibrace probìhla %d sekund od roku 1969.\n"
 
 #: clock/hwclock.c:301
 #, c-format
@@ -115,42 +115,43 @@ msgstr "
 msgid "...got clock tick\n"
 msgstr "...hodiny tikly\n"
 
-#: clock/hwclock.c:381
+#: clock/hwclock.c:380
 #, c-format
 msgid "Invalid values in hardware clock: %2d/%.2d/%.2d %.2d:%.2d:%.2d\n"
 msgstr ""
 "Hodiny reálného èasu obsahují chybné hodnoty: %2d/%.2d/%.2d %.2d:%.2d:%.2d\n"
 
-#: clock/hwclock.c:390
+#: clock/hwclock.c:389
 #, c-format
-msgid "Hw clock time : %.2d:%.2d:%.2d = %d seconds since 1969\n"
-msgstr "Hodiny reálného èasu ukazují %.2d:%.2d:%.2d = %d vteøin od roku 1969\n"
+msgid "Hw clock time : %2d/%.2d/%.2d %.2d:%.2d:%.2d = %d seconds since 1969\n"
+msgstr ""
+"Hodiny reálného èasu: %2d/%.2d/%.2d %.2d:%.2d:%.2d = %d sekund od roku 1969\n"
 
-#: clock/hwclock.c:416
+#: clock/hwclock.c:417
 #, c-format
 msgid "Time read from Hardware Clock: %02d:%02d:%02d\n"
 msgstr "Hodiny reálného èasu ukazují %02d:%02d:%02d\n"
 
-#: clock/hwclock.c:442
+#: clock/hwclock.c:443
 #, c-format
 msgid "Setting Hardware Clock to %.2d:%.2d:%.2d = %d seconds since 1969\n"
 msgstr ""
-"Nastavuji hodiny reálného èasu na %.2d:%.2d:%.2d = %d vteøin od roku 1969\n"
+"Nastavuji hodiny reálného èasu na %.2d:%.2d:%.2d = %d sekund od roku 1969\n"
 
-#: clock/hwclock.c:448
+#: clock/hwclock.c:449
 msgid "Clock not changed - testing only.\n"
 msgstr "Testovací re¾im - Èas nezmìnìn.\n"
 
-#: clock/hwclock.c:496
+#: clock/hwclock.c:497
 #, c-format
 msgid ""
 "Time elapsed since reference time has been %.6f seconds.\n"
 "Delaying further to reach the next full second.\n"
 msgstr ""
-"Poèet vteøin uplynulých od referenèního èasu: %.6f.\n"
-"Èekám, dokud neuplyne dal¹í celá vteøina.\n"
+"Poèet sekund uplynulých od referenèního èasu: %.6f.\n"
+"Èekám, dokud neuplyne dal¹í celá sekunda.\n"
 
-#: clock/hwclock.c:520
+#: clock/hwclock.c:521
 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"
@@ -164,39 +165,39 @@ msgstr ""
 #.
 #. Compute display value for time
 #. Cut off trailing newline
-#: clock/hwclock.c:532
+#: clock/hwclock.c:533
 #, c-format
 msgid "%s  %.6f seconds\n"
-msgstr "%s  %.6f vteøiny\n"
+msgstr "%s  %.6f sekundy\n"
 
-#: clock/hwclock.c:566
+#: clock/hwclock.c:567
 msgid "No --date option specified.\n"
 msgstr "Pøepínaè --date vy¾aduje argument.\n"
 
 #. Quotation marks in date_opt would ruin the date command we construct.
 #.
-#: clock/hwclock.c:571
+#: clock/hwclock.c:572
 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"
 
-#: clock/hwclock.c:577
+#: clock/hwclock.c:578
 #, c-format
 msgid "Issuing date command: %s\n"
 msgstr "Spou¹tím pøíkaz 'date': %s\n"
 
-#: clock/hwclock.c:581
+#: clock/hwclock.c:582
 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."
 
-#: clock/hwclock.c:587
+#: clock/hwclock.c:588
 #, c-format
 msgid "response from date command = %s\n"
 msgstr "odpovìï pøíkazu 'date' = %s\n"
 
-#: clock/hwclock.c:589
+#: clock/hwclock.c:590
 #, c-format
 msgid ""
 "The date command issued by %s returned unexpected results.\n"
@@ -211,7 +212,7 @@ msgstr ""
 "Odpovìï:\n"
 "  %s\n"
 
-#: clock/hwclock.c:598
+#: clock/hwclock.c:599
 #, c-format
 msgid ""
 "The date command issued by %s returnedsomething other than an integer where "
@@ -228,12 +229,12 @@ msgstr ""
 "Odpovìï:\n"
 "  %s\n"
 
-#: clock/hwclock.c:608
+#: clock/hwclock.c:609
 #, c-format
 msgid "date string %s equates to %d seconds since 1969.\n"
-msgstr "Datum %s odpovídá %d vteøinám od roku 1969.\n"
+msgstr "Datum %s odpovídá %d sekundám od roku 1969.\n"
 
-#: clock/hwclock.c:643
+#: clock/hwclock.c:641
 msgid ""
 "The Hardware Clock does not contain a valid time, so we cannot set the "
 "System Time from it.\n"
@@ -241,33 +242,33 @@ msgstr ""
 "Systémový èas nelze podle hodin reálného èasu nastavit, proto¾e neukazují\n"
 "platný èas.\n"
 
-#: clock/hwclock.c:659
+#: clock/hwclock.c:654
 msgid "Calling settimeofday:\n"
 msgstr "Volám settimeofday:\n"
 
-#: clock/hwclock.c:660
+#: clock/hwclock.c:655
 #, c-format
 msgid "\ttv.tv_sec = %ld, tv.tv_usec = %ld\n"
 msgstr "\ttv.tv_sec = %ld, tv.tv_usec = %ld\n"
 
-#: clock/hwclock.c:662
+#: clock/hwclock.c:657
 #, c-format
 msgid "\ttz.tz_minuteswest = %ld\n"
 msgstr "\ttz.tz_minuteswest = %ld\n"
 
-#: clock/hwclock.c:665
+#: clock/hwclock.c:660
 msgid "Not setting system clock because running in test mode.\n"
 msgstr "Testovací re¾im - systémový èas nezmìnìn.\n"
 
-#: clock/hwclock.c:677
+#: clock/hwclock.c:673
 msgid "Must be superuser to set system clock.\n"
 msgstr "Nastavit systémový èas mù¾e pouze superu¾ivatel.\n"
 
-#: clock/hwclock.c:679
+#: clock/hwclock.c:675
 msgid "settimeofday() failed"
 msgstr "volání settimeofday() selhalo"
 
-#: clock/hwclock.c:712
+#: clock/hwclock.c:708
 msgid ""
 "Not adjusting drift factor because the Hardware Clock previously contained "
 "garbage.\n"
@@ -275,7 +276,7 @@ msgstr ""
 "Neopravuji míru posunu, proto¾e hodiny reálného èasu poslednì obsahovaly\n"
 "neplatné hodnoty.\n"
 
-#: clock/hwclock.c:716
+#: clock/hwclock.c:712
 msgid ""
 "Not adjusting drift factor because it has been less than a day since the "
 "last calibration.\n"
@@ -283,33 +284,33 @@ msgstr ""
 "Neopravuji míru posunu, proto¾e poslední kalibrace je¹tì neuplynul celý "
 "den.\n"
 
-#: clock/hwclock.c:725
+#: clock/hwclock.c:721
 #, c-format
 msgid ""
 "Clock drifted %d 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 vteøin roze¹ly o %1$d vteøin, pøesto¾e míra "
+"Hodiny se za posledních %2$d sekund roze¹ly o %1$d sekund, pøesto¾e míra "
 "posunu\n"
-"je nastavena na %3$f vteøin/den.\n"
-"Opravuji míru posunu o %4$f vteøin.\n"
+"je nastavena na %3$f sekund/den.\n"
+"Opravuji míru posunu o %4$f sekund.\n"
 
-#: clock/hwclock.c:776
+#: clock/hwclock.c:772
 #, c-format
 msgid "Time since last adjustment is %d seconds\n"
-msgstr "Poèet vteøin od poslední opravy: %d\n"
+msgstr "Poèet sekund od poslední opravy: %d\n"
 
-#: clock/hwclock.c:778
+#: clock/hwclock.c:774
 #, c-format
 msgid "Need to insert %d seconds and refer time back %.6f seconds ago\n"
-msgstr "Potøebná zmìna èasu: vteøin vpøed: %d ; vteøin zpìt: %.6f\n"
+msgstr "Potøebná zmìna èasu: sekund vpøed: %d ; sekund zpìt: %.6f\n"
 
-#: clock/hwclock.c:807
+#: clock/hwclock.c:803
 msgid "Not updating adjtime file because of testing mode.\n"
 msgstr "Testovací re¾im - soubor adjtime nezmìnìn.\n"
 
-#: clock/hwclock.c:808
+#: clock/hwclock.c:804
 #, c-format
 msgid ""
 "Would have written the following to %s:\n"
@@ -318,33 +319,33 @@ msgstr ""
 "Do %s by bylo ulo¾eno následující:\n"
 "%s"
 
-#: clock/hwclock.c:832
+#: clock/hwclock.c:828
 msgid "Drift adjustment parameters not updated.\n"
 msgstr "Parametry opravy posunu nezmìnìny.\n"
 
-#: clock/hwclock.c:873
+#: clock/hwclock.c:869
 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"
 
-#: clock/hwclock.c:897
+#: clock/hwclock.c:893
 msgid "Needed adjustment is less than one second, so not setting clock.\n"
-msgstr "Potøebná oprava je men¹í ne¾ 1 vteøina, proto hodiny nenastavuji.\n"
+msgstr "Potøebná oprava je men¹í ne¾ 1 sekunda, proto hodiny nenastavuji.\n"
 
-#: clock/hwclock.c:923
+#: clock/hwclock.c:919
 #, c-format
 msgid "Using %s.\n"
 msgstr "Pou¾ívám %s.\n"
 
-#: clock/hwclock.c:925
+#: clock/hwclock.c:921
 msgid "No usable clock interface found.\n"
 msgstr "Nebylo nalezeno ¾ádné pou¾itelné rozhraní k hodinám.\n"
 
-#: clock/hwclock.c:1020
+#: clock/hwclock.c:1016
 msgid "Unable to set system clock.\n"
 msgstr "Systémový èas nelze nastavit.\n"
 
-#: clock/hwclock.c:1049
+#: clock/hwclock.c:1045
 msgid ""
 "The kernel keeps an epoch value for the Hardware Clock only on an Alpha "
 "machine.\n"
@@ -357,37 +358,98 @@ msgstr ""
 "Tento program nebyl pøelo¾en pro Alpha systém ( a tudí¾ pravdìpodobnì nyní\n"
 "nebì¾í na Alphì). Ignorováno.\n"
 
-#: clock/hwclock.c:1058
+#: clock/hwclock.c:1054
 msgid "Unable to get the epoch value from the kernel.\n"
 msgstr "Poèátek epochy nelze z jádra zjistit.\n"
 
-#: clock/hwclock.c:1060
+#: clock/hwclock.c:1056
 #, c-format
 msgid "Kernel is assuming an epoch value of %lu\n"
 msgstr "Jádro pokládá za poèátek epochy %lu.\n"
 
-#: clock/hwclock.c:1063
+#: clock/hwclock.c:1059
 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"
 
-#: clock/hwclock.c:1066
+#: clock/hwclock.c:1062
 #, 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"
 
-#: clock/hwclock.c:1069
+#: clock/hwclock.c:1065
 msgid "Unable to set the epoch value in the kernel.\n"
 msgstr "Hodnotu poèátku epochy v jádøe nelze nastavit.\n"
 
-#: clock/hwclock.c:1151
+#: clock/hwclock.c:1088
+msgid ""
+"hwclock - query and set the hardware clock (RTC)\n"
+"\n"
+"Usage: hwclock [function] [options...]\n"
+"\n"
+"Functions:\n"
+"  --help        show this help\n"
+"  --show        read hardware clock and print result\n"
+"  --set         set the rtc to the time given with --date\n"
+"  --hctosys     set the system time from the hardware clock\n"
+"  --systohc     set the hardware clock to the current system time\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"
+"  --version     print out the version of hwclock to stdout\n"
+"\n"
+"Options: \n"
+"  --utc         the hardware clock is kept in coordinated universal time\n"
+"  --localtime   the hardware clock is kept in local time\n"
+"  --directisa   access the ISA bus directly instead of /dev/rtc\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"
+msgstr ""
+"hwclock - nastavuje a zji¹»uje reálný èas (RTC)\n"
+"\n"
+"Pou¾ití: hwclock [funkce] [volby...]\n"
+"\n"
+"Funkce:\n"
+"  --help        vypí¹e tuto nápovìdu\n"
+"  --show        zjistí a vypí¹e aktuální stav hodin reálného èasu\n"
+"  --set         nastaví RTC na hodnotu zadanou pøepínaèem --date\n"
+"  --hctosys     nastaví systémový èas podle hodin reálného èasu\n"
+"  --systohc     nastaví RTC podle aktuálního systémového èasu\n"
+"  --adjust      opraví systematický posun, který nastal od poslední\n"
+"                opravy èi nastavení RTC\n"
+"  --getepoch    vypí¹e poèátek epochy pro hodiny reálného èasu\n"
+"  --setepoch    nastaví poèátek epochy pro hodiny reálného èasu na hodnotu\n"
+"                zadanou pøepínaèem --epoch\n"
+"  --version     vypí¹e oznaèení verze\n"
+"\n"
+"Volby: \n"
+"  --utc         hodiny reálného èasu jsou nastaveny na UTC\n"
+"  --localtime   hodiny reálného èasu jsou nastaveny na místní èas\n"
+"  --directisa   místo /dev/rtc pou¾ije pøímo ISA sbìrnici\n"
+"  --badyear     ignoruje rok RTC, proto¾e BIOS je chybný\n"
+"  --date        èas, na který budou nastaveny hodiny reálného èasu\n"
+"  --epoch=ROK   nastaví poèátek epochy pro hodiny reálného èasu na ROK\n"
+
+#: clock/hwclock.c:1113
+msgid ""
+"  --jensen, --arc, --srm, --funky-toy\n"
+"                tell hwclock the type of alpha you have (see hwclock(8))\n"
+msgstr ""
+"  --jensen, --arc, --srm, --funky-toy\n"
+"                nastaví typ alpha systému (viz hwclock(8))\n"
+
+#: clock/hwclock.c:1209
 #, 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"
 
-#: clock/hwclock.c:1159
+#: clock/hwclock.c:1219
 msgid ""
 "You have specified multiple function options.\n"
 "You can only perform one function at a time.\n"
@@ -395,29 +457,28 @@ msgstr ""
 "Zadal jste vícero funkèních pøepínaèù. Program mù¾e provést maximálnì jednu\n"
 "funkci najednou.\n"
 
-#: clock/hwclock.c:1165
+#: clock/hwclock.c:1225
 #, 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"
+msgstr "%s: Pøepínaèe --utc a --localtime nelze pou¾ít zároveò.\n"
 
-#: clock/hwclock.c:1178
+#: clock/hwclock.c:1238
 msgid "No usable set-to time.  Cannot set clock.\n"
 msgstr "Nebyl zadán platný èas, který mám nastavit. Hodiny nelze nastavit.\n"
 
-#: clock/hwclock.c:1193
+#: clock/hwclock.c:1253
 msgid "Sorry, only the superuser can change the Hardware Clock.\n"
 msgstr "Hodiny reálného èasu mù¾e nastavit pouze superu¾ivatel.\n"
 
-#: clock/hwclock.c:1197
+#: clock/hwclock.c:1257
 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"
 
-#: clock/hwclock.c:1213
+#: clock/hwclock.c:1275
 msgid ""
 "Cannot access the Hardware Clock via any known method.  Use --debug option "
 "to see the details of our search for an access method.\n"
@@ -581,6 +642,61 @@ msgstr "p
 msgid "unrecognized option `-%c'\n"
 msgstr "neznámý pøepínaè `-%c'\n"
 
+#: disk-utils/blockdev.c:34
+msgid "set read-only"
+msgstr "nastaví pouze pro ètení"
+
+#: disk-utils/blockdev.c:35
+msgid "set read-write"
+msgstr "nastaví pro ètení/zápis"
+
+#: disk-utils/blockdev.c:38
+msgid "get read-only"
+msgstr "zjistí zda je zakázán zápis"
+
+#: disk-utils/blockdev.c:41
+msgid "get sectorsize"
+msgstr "zjistí velikost sektoru"
+
+#: disk-utils/blockdev.c:44
+msgid "get size"
+msgstr "zjistí velikost"
+
+#: disk-utils/blockdev.c:47
+msgid "set readahead"
+msgstr "nastaví dopøedné ètení sektorù"
+
+#: disk-utils/blockdev.c:50
+msgid "get readahead"
+msgstr "zjistí nastavení dopøedného ètení sektorù"
+
+#: disk-utils/blockdev.c:53
+msgid "flush buffers"
+msgstr "vyprázdnit buffery"
+
+#: disk-utils/blockdev.c:57
+msgid "reread partition table"
+msgstr "naète znovu tabulku rozdìlení disku"
+
+#: disk-utils/blockdev.c:66
+#, c-format
+msgid "Usage: %s [-V] [-v|-q] commands devices\n"
+msgstr "Pou¾ití: %s [-V] [-v|-q] pøepínaèe zaøízení\n"
+
+#: disk-utils/blockdev.c:67
+msgid "Available commands:\n"
+msgstr "Dostupné pøíkazy:\n"
+
+#: disk-utils/blockdev.c:167
+#, c-format
+msgid "%s: Unknown command: %s\n"
+msgstr "%s: neznámý pøíkaz %s\n"
+
+#: disk-utils/blockdev.c:178
+#, c-format
+msgid "%s requires an argument\n"
+msgstr "pøepínaè %s vy¾aduje argument\n"
+
 #: disk-utils/fdformat.c:33
 msgid "Formatting ... "
 msgstr "Formátuji ... "
@@ -616,67 +732,75 @@ msgstr ""
 msgid "usage: %s [ -n ] device\n"
 msgstr "Pou¾ití: %s [ -n ] zaøízení\n"
 
-#: disk-utils/fdformat.c:122
+#: disk-utils/fdformat.c:117 disk-utils/fsck.minix.c:1255 disk-utils/mkfs.c:55
+#: disk-utils/mkfs.minix.c:650 disk-utils/mkswap.c:351
+#: disk-utils/setfdprm.c:128 misc-utils/cal.c:175 misc-utils/ddate.c:172
+#: misc-utils/kill.c:191
+#, c-format
+msgid "%s from %s\n"
+msgstr "%s na %s\n"
+
+#: disk-utils/fdformat.c:131
 #, c-format
 msgid "%s: not a floppy device\n"
 msgstr "%s není zaøízením pru¾ného disku\n"
 
-#: disk-utils/fdformat.c:128
+#: disk-utils/fdformat.c:137
 msgid "Could not determine current format type"
 msgstr "Typ formátu nelze zjistit"
 
-#: disk-utils/fdformat.c:129
+#: disk-utils/fdformat.c:138
 #, 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:130
+#: disk-utils/fdformat.c:139
 msgid "Double"
 msgstr "2"
 
-#: disk-utils/fdformat.c:130
+#: disk-utils/fdformat.c:139
 msgid "Single"
 msgstr "1"
 
-#: disk-utils/fsck.minix.c:198
+#: disk-utils/fsck.minix.c:196
 #, c-format
 msgid "Usage: %s [-larvsmf] /dev/name\n"
 msgstr "Pou¾ití: %s [ -larvsmf ] jméno zaøízení\n"
 
-#: disk-utils/fsck.minix.c:296
+#: disk-utils/fsck.minix.c:294
 #, c-format
 msgid "%s is mounted.\t "
 msgstr "%s je ji¾ pøipojeno.\t"
 
-#: disk-utils/fsck.minix.c:298
+#: disk-utils/fsck.minix.c:296
 msgid "Do you really want to continue"
 msgstr "Chcete opravdu pokraèovat"
 
-#: disk-utils/fsck.minix.c:302
+#: disk-utils/fsck.minix.c:300
 msgid "check aborted.\n"
 msgstr "prohlídka ukonèena.\n"
 
-#: disk-utils/fsck.minix.c:319 disk-utils/fsck.minix.c:339
+#: disk-utils/fsck.minix.c:317 disk-utils/fsck.minix.c:337
 msgid "Zone nr < FIRSTZONE in file `"
 msgstr "èíslo Zóny < FIRSTZONE v souboru `"
 
-#: disk-utils/fsck.minix.c:321 disk-utils/fsck.minix.c:341
+#: disk-utils/fsck.minix.c:319 disk-utils/fsck.minix.c:339
 msgid "Zone nr >= ZONES in file `"
 msgstr "èíslo Zóny >= poèet ZÓN v souboru `"
 
-#: disk-utils/fsck.minix.c:326 disk-utils/fsck.minix.c:346
+#: disk-utils/fsck.minix.c:324 disk-utils/fsck.minix.c:344
 msgid "Remove block"
 msgstr "Odstranit blok"
 
-#: disk-utils/fsck.minix.c:364
+#: disk-utils/fsck.minix.c:362
 msgid "Read error: unable to seek to block in file '"
 msgstr "Chyba pøi ètení: nelze posunout ukazovátko na blok v souboru '"
 
-#: disk-utils/fsck.minix.c:370
+#: disk-utils/fsck.minix.c:368
 msgid "Read error: bad block in file '"
 msgstr "Chyba pøi ètení: chybný blok v souboru '"
 
-#: disk-utils/fsck.minix.c:386
+#: disk-utils/fsck.minix.c:384
 msgid ""
 "Internal error: trying to write bad block\n"
 "Write request ignored\n"
@@ -684,284 +808,284 @@ msgstr ""
 "Vnitøní chyba: pokus o zápis chybného bloku.\n"
 "®ádost o zápis ignorována.\n"
 
-#: disk-utils/fsck.minix.c:392 disk-utils/mkfs.minix.c:290
+#: disk-utils/fsck.minix.c:390 disk-utils/mkfs.minix.c:289
 msgid "seek failed in write_block"
 msgstr "chyba pøi posunu ukazovátka ve write_block"
 
-#: disk-utils/fsck.minix.c:394
+#: disk-utils/fsck.minix.c:392
 msgid "Write error: bad block in file '"
 msgstr "Chyba pøi zápisu: chybný blok v souboru '"
 
-#: disk-utils/fsck.minix.c:513
+#: disk-utils/fsck.minix.c:511
 msgid "seek failed in write_super_block"
 msgstr "chyba pøi posunu ukazovátka ve write_super_block"
 
-#: disk-utils/fsck.minix.c:515 disk-utils/mkfs.minix.c:277
+#: disk-utils/fsck.minix.c:513 disk-utils/mkfs.minix.c:276
 msgid "unable to write super-block"
 msgstr "superblok nelze zapsat"
 
-#: disk-utils/fsck.minix.c:525
+#: disk-utils/fsck.minix.c:523
 msgid "Unable to write inode map"
 msgstr "mapu i-uzlù nelze zapsat"
 
-#: disk-utils/fsck.minix.c:527
+#: disk-utils/fsck.minix.c:525
 msgid "Unable to write zone map"
 msgstr "mapu zón nelze zapsat"
 
-#: disk-utils/fsck.minix.c:529
+#: disk-utils/fsck.minix.c:527
 msgid "Unable to write inodes"
 msgstr "i-uzly nelze zapsat"
 
-#: disk-utils/fsck.minix.c:558
+#: disk-utils/fsck.minix.c:556
 msgid "seek failed"
 msgstr "chyba pøi posunu ukazovátka"
 
-#: disk-utils/fsck.minix.c:560
+#: disk-utils/fsck.minix.c:558
 msgid "unable to read super block"
 msgstr "superblok nelze èíst"
 
-#: disk-utils/fsck.minix.c:580
+#: disk-utils/fsck.minix.c:578
 msgid "bad magic number in super-block"
 msgstr "superblok obsahuje chybné magické èíslo"
 
-#: disk-utils/fsck.minix.c:582
+#: disk-utils/fsck.minix.c:580
 msgid "Only 1k blocks/zones supported"
 msgstr "podporovány jsou pouze 1kilobajtové bloky/zóny"
 
-#: disk-utils/fsck.minix.c:584
+#: disk-utils/fsck.minix.c:582
 msgid "bad s_imap_blocks field in super-block"
 msgstr "superblok obsahuje chybnou polo¾ku s_imap_blocks"
 
-#: disk-utils/fsck.minix.c:586
+#: disk-utils/fsck.minix.c:584
 msgid "bad s_zmap_blocks field in super-block"
 msgstr "superblok obsahuje chybnou polo¾ku s_zmap_blocks"
 
-#: disk-utils/fsck.minix.c:593
+#: disk-utils/fsck.minix.c:591
 msgid "Unable to allocate buffer for inode map"
 msgstr "buffer pro mapu i-uzlù nelze alokovat"
 
-#: disk-utils/fsck.minix.c:601
+#: disk-utils/fsck.minix.c:599
 msgid "Unable to allocate buffer for inodes"
 msgstr "buffer pro i-uzly nelze alokovat"
 
-#: disk-utils/fsck.minix.c:604
+#: disk-utils/fsck.minix.c:602
 msgid "Unable to allocate buffer for inode count"
 msgstr "buffer pro poèítadlo i-uzlù nelze alokovat"
 
-#: disk-utils/fsck.minix.c:607
+#: disk-utils/fsck.minix.c:605
 msgid "Unable to allocate buffer for zone count"
 msgstr "buffer pro poèítadlo zón nelze alokovat"
 
-#: disk-utils/fsck.minix.c:609
+#: disk-utils/fsck.minix.c:607
 msgid "Unable to read inode map"
 msgstr "mapu i-uzlù nelze èíst"
 
-#: disk-utils/fsck.minix.c:611
+#: disk-utils/fsck.minix.c:609
 msgid "Unable to read zone map"
 msgstr "mapu zón nelze èíst"
 
-#: disk-utils/fsck.minix.c:613
+#: disk-utils/fsck.minix.c:611
 msgid "Unable to read inodes"
 msgstr "i-uzly nelze èíst"
 
-#: disk-utils/fsck.minix.c:615
+#: disk-utils/fsck.minix.c:613
 msgid "Warning: Firstzone != Norm_firstzone\n"
 msgstr "Varování: Firstzone != Norm_firstzone\n"
 
-#: disk-utils/fsck.minix.c:620 disk-utils/mkfs.minix.c:528
+#: disk-utils/fsck.minix.c:618 disk-utils/mkfs.minix.c:532
 #, c-format
 msgid "%ld inodes\n"
 msgstr "i-uzlù: %ld\n"
 
-#: disk-utils/fsck.minix.c:621 disk-utils/mkfs.minix.c:529
+#: disk-utils/fsck.minix.c:619 disk-utils/mkfs.minix.c:533
 #, c-format
 msgid "%ld blocks\n"
 msgstr "blokù: %ld\n"
 
-#: disk-utils/fsck.minix.c:622 disk-utils/mkfs.minix.c:530
+#: disk-utils/fsck.minix.c:620 disk-utils/mkfs.minix.c:534
 #, c-format
 msgid "Firstdatazone=%ld (%ld)\n"
 msgstr "Firstdatazone=%ld (%ld)\n"
 
-#: disk-utils/fsck.minix.c:623 disk-utils/mkfs.minix.c:531
+#: disk-utils/fsck.minix.c:621 disk-utils/mkfs.minix.c:535
 #, c-format
 msgid "Zonesize=%d\n"
 msgstr "Velikost zóny=%d\n"
 
-#: disk-utils/fsck.minix.c:624
+#: disk-utils/fsck.minix.c:622
 #, c-format
 msgid "Maxsize=%ld\n"
 msgstr "Maxvelikost=%ld\n"
 
-#: disk-utils/fsck.minix.c:625
+#: disk-utils/fsck.minix.c:623
 #, c-format
 msgid "Filesystem state=%d\n"
 msgstr "Stav systému souborù=%d\n"
 
-#: disk-utils/fsck.minix.c:626
+#: disk-utils/fsck.minix.c:624
 #, c-format
 msgid ""
 "namelen=%d\n"
 "\n"
 msgstr "namelen=%d\n"
 
-#: disk-utils/fsck.minix.c:640 disk-utils/fsck.minix.c:692
+#: disk-utils/fsck.minix.c:638 disk-utils/fsck.minix.c:690
 #, c-format
 msgid "Inode %d marked not used, but used for file '"
 msgstr "I-uzel %d je oznaèen jako nepou¾ívaný, ale je pou¾it pro soubor '"
 
-#: disk-utils/fsck.minix.c:645 disk-utils/fsck.minix.c:696
+#: disk-utils/fsck.minix.c:643 disk-utils/fsck.minix.c:694
 msgid "Mark in use"
 msgstr "Oznaèen jako pou¾ívaný"
 
-#: disk-utils/fsck.minix.c:667 disk-utils/fsck.minix.c:716
+#: disk-utils/fsck.minix.c:665 disk-utils/fsck.minix.c:714
 #, c-format
 msgid " has mode %05o\n"
 msgstr " mód je %05o\n"
 
-#: disk-utils/fsck.minix.c:673 disk-utils/fsck.minix.c:721
+#: disk-utils/fsck.minix.c:671 disk-utils/fsck.minix.c:719
 msgid "Warning: inode count too big.\n"
 msgstr "Varování: poèet i-uzlù je pøíli¹ veliký.\n"
 
-#: disk-utils/fsck.minix.c:734
+#: disk-utils/fsck.minix.c:732
 msgid "root inode isn't a directory"
 msgstr "root i-uzel není adresáøem"
 
-#: disk-utils/fsck.minix.c:757 disk-utils/fsck.minix.c:791
+#: disk-utils/fsck.minix.c:755 disk-utils/fsck.minix.c:789
 msgid "Block has been used before. Now in file `"
 msgstr "Blok byl pou¾it ji¾ pøedtím. Nyní v souboru `"
 
-#: disk-utils/fsck.minix.c:760 disk-utils/fsck.minix.c:794
-#: disk-utils/fsck.minix.c:1122 disk-utils/fsck.minix.c:1131
-#: disk-utils/fsck.minix.c:1175 disk-utils/fsck.minix.c:1184
+#: disk-utils/fsck.minix.c:758 disk-utils/fsck.minix.c:792
+#: disk-utils/fsck.minix.c:1120 disk-utils/fsck.minix.c:1129
+#: disk-utils/fsck.minix.c:1173 disk-utils/fsck.minix.c:1182
 msgid "Clear"
 msgstr "Smazat"
 
-#: disk-utils/fsck.minix.c:769 disk-utils/fsck.minix.c:803
+#: disk-utils/fsck.minix.c:767 disk-utils/fsck.minix.c:801
 #, c-format
 msgid "Block %d in file `"
 msgstr "Blok %d v souboru `"
 
-#: disk-utils/fsck.minix.c:771 disk-utils/fsck.minix.c:805
+#: disk-utils/fsck.minix.c:769 disk-utils/fsck.minix.c:803
 msgid "' is marked not in use."
 msgstr "  je oznaèen jako nepou¾ívaný."
 
-#: disk-utils/fsck.minix.c:772 disk-utils/fsck.minix.c:806
+#: disk-utils/fsck.minix.c:770 disk-utils/fsck.minix.c:804
 msgid "Correct"
 msgstr "Opravit"
 
-#: disk-utils/fsck.minix.c:956 disk-utils/fsck.minix.c:1020
+#: disk-utils/fsck.minix.c:954 disk-utils/fsck.minix.c:1018
 msgid " contains a bad inode number for file '"
 msgstr " obsahuje chybné èíslo i-uzlu pro soubor '"
 
-#: disk-utils/fsck.minix.c:958 disk-utils/fsck.minix.c:1022
+#: disk-utils/fsck.minix.c:956 disk-utils/fsck.minix.c:1020
 msgid " Remove"
 msgstr " Odstranit"
 
-#: disk-utils/fsck.minix.c:972 disk-utils/fsck.minix.c:1036
+#: disk-utils/fsck.minix.c:970 disk-utils/fsck.minix.c:1034
 msgid ": bad directory: '.' isn't first\n"
 msgstr ": chybný adresáø: '.' není první\n"
 
-#: disk-utils/fsck.minix.c:979 disk-utils/fsck.minix.c:1044
+#: disk-utils/fsck.minix.c:977 disk-utils/fsck.minix.c:1042
 msgid ": bad directory: '..' isn't second\n"
 msgstr ": chybný adresáø: '..' není druhý\n"
 
-#: disk-utils/fsck.minix.c:1076
+#: disk-utils/fsck.minix.c:1074
 msgid "internal error"
 msgstr "vnitøní chyba"
 
-#: disk-utils/fsck.minix.c:1079
+#: disk-utils/fsck.minix.c:1077
 msgid ": bad directory: size<32"
 msgstr ": chybný adresáø: velikost<32"
 
-#: disk-utils/fsck.minix.c:1098
+#: disk-utils/fsck.minix.c:1096
 msgid ": bad directory: size < 32"
 msgstr ": chybný adresáø: velikost < 32"
 
-#: disk-utils/fsck.minix.c:1111
+#: disk-utils/fsck.minix.c:1109
 msgid "seek failed in bad_zone"
 msgstr "chyba pøi posunu ukazovátka v bad_zone"
 
-#: disk-utils/fsck.minix.c:1121 disk-utils/fsck.minix.c:1174
+#: disk-utils/fsck.minix.c:1119 disk-utils/fsck.minix.c:1172
 #, c-format
 msgid "Inode %d mode not cleared."
 msgstr "Mód I-uzlu %d není smazán."
 
-#: disk-utils/fsck.minix.c:1130 disk-utils/fsck.minix.c:1183
+#: disk-utils/fsck.minix.c:1128 disk-utils/fsck.minix.c:1181
 #, 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:1136 disk-utils/fsck.minix.c:1189
+#: disk-utils/fsck.minix.c:1134 disk-utils/fsck.minix.c:1187
 #, 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:1142 disk-utils/fsck.minix.c:1194
+#: disk-utils/fsck.minix.c:1140 disk-utils/fsck.minix.c:1192
 #, 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:1144 disk-utils/fsck.minix.c:1196
+#: disk-utils/fsck.minix.c:1142 disk-utils/fsck.minix.c:1194
 msgid "Set i_nlinks to count"
 msgstr "Nastavit i_nlinks na poèet"
 
-#: disk-utils/fsck.minix.c:1156 disk-utils/fsck.minix.c:1208
+#: disk-utils/fsck.minix.c:1154 disk-utils/fsck.minix.c:1206
 #, c-format
 msgid "Zone %d: marked in use, no file uses it."
 msgstr "Zóna %d je oznaèena jako pou¾ívaná a ¾ádné soubory ji nepou¾ívají."
 
-#: disk-utils/fsck.minix.c:1157 disk-utils/fsck.minix.c:1209
+#: disk-utils/fsck.minix.c:1155 disk-utils/fsck.minix.c:1207
 msgid "Unmark"
 msgstr "Odznaèit"
 
-#: disk-utils/fsck.minix.c:1161 disk-utils/fsck.minix.c:1213
+#: disk-utils/fsck.minix.c:1159 disk-utils/fsck.minix.c:1211
 #, c-format
 msgid "Zone %d: %sin use, counted=%d\n"
 msgstr "Zóna %d: %spou¾ívaná, napoèítáno=%d\n"
 
-#: disk-utils/fsck.minix.c:1162 disk-utils/fsck.minix.c:1214
+#: disk-utils/fsck.minix.c:1160 disk-utils/fsck.minix.c:1212
 msgid "not "
 msgstr "není "
 
-#: disk-utils/fsck.minix.c:1190
+#: disk-utils/fsck.minix.c:1188
 msgid "Set"
 msgstr "Nastavit"
 
-#: disk-utils/fsck.minix.c:1254 disk-utils/mkfs.minix.c:637
-#: disk-utils/mkfs.minix.c:640
+#: disk-utils/fsck.minix.c:1260 disk-utils/mkfs.minix.c:655
+#: disk-utils/mkfs.minix.c:658
 msgid "bad inode size"
 msgstr "chybná velikost i-uzlu"
 
-#: disk-utils/fsck.minix.c:1257
+#: disk-utils/fsck.minix.c:1263
 msgid "bad v2 inode size"
 msgstr "chybná velikost v2 i-uzlu"
 
-#: disk-utils/fsck.minix.c:1283
+#: disk-utils/fsck.minix.c:1289
 msgid "need terminal for interactive repairs"
 msgstr "opravy s úèastí u¾ivatele vy¾adují terminál"
 
-#: disk-utils/fsck.minix.c:1287
+#: disk-utils/fsck.minix.c:1293
 #, c-format
 msgid "unable to open '%s'"
 msgstr "'%s' nelze otevøít"
 
-#: disk-utils/fsck.minix.c:1304
+#: disk-utils/fsck.minix.c:1308
 #, c-format
 msgid "%s is clean, no check.\n"
 msgstr "%s je 'èisté', ovìøování vynecháno.\n"
 
-#: disk-utils/fsck.minix.c:1308
+#: disk-utils/fsck.minix.c:1312
 #, c-format
 msgid "Forcing filesystem check on %s.\n"
 msgstr "Kontrola systému souborù na %s vynucena.\n"
 
-#: disk-utils/fsck.minix.c:1310
+#: disk-utils/fsck.minix.c:1314
 #, 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:1339
+#: disk-utils/fsck.minix.c:1343
 msgid ""
 "\n"
 "%6ld inodes used (%ld%%)\n"
@@ -969,11 +1093,11 @@ msgstr ""
 "\n"
 "pou¾ívaných i-uzlù: %6ld (%ld%%)\n"
 
-#: disk-utils/fsck.minix.c:1344
+#: disk-utils/fsck.minix.c:1348
 msgid "%6ld zones used (%ld%%)\n"
 msgstr "pou¾ívaných zón: %6ld (%ld%%)\n"
 
-#: disk-utils/fsck.minix.c:1346
+#: disk-utils/fsck.minix.c:1350
 #, c-format
 msgid ""
 "\n"
@@ -996,7 +1120,7 @@ msgstr ""
 "------\n"
 "souborù:              %6d\n"
 
-#: disk-utils/fsck.minix.c:1359
+#: disk-utils/fsck.minix.c:1363
 msgid ""
 "----------------------------\n"
 "FILE SYSTEM HAS BEEN CHANGED\n"
@@ -1006,78 +1130,78 @@ msgstr ""
 "SYSTÉM SOUBORÙ BYL ZMÌNÌN \n"
 "----------------------------\n"
 
-#: disk-utils/mkfs.c:66
+#: disk-utils/mkfs.c:76
 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:80 fdisk/cfdisk.c:370 getopt-1.0.3b/getopt.c:85
-#: getopt-1.0.3b/getopt.c:95 login-utils/wall.c:218 mount/sundries.c:195
+#: disk-utils/mkfs.c:90 fdisk/cfdisk.c:369 getopt-1.0.3b/getopt.c:85
+#: getopt-1.0.3b/getopt.c:95 login-utils/wall.c:218 mount/sundries.c:196
 #, c-format
 msgid "%s: Out of memory!\n"
 msgstr "%s: Nedostatek pamìti!\n"
 
-#: disk-utils/mkfs.c:89
+#: disk-utils/mkfs.c:99
 #, c-format
 msgid "mkfs version %s (%s)\n"
 msgstr "mkfs verze %s (%s)\n"
 
-#: disk-utils/mkfs.minix.c:186
+#: disk-utils/mkfs.minix.c:185
 #, 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/jméno [bloky]\n"
 
-#: disk-utils/mkfs.minix.c:210
+#: disk-utils/mkfs.minix.c:209
 #, 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:271
+#: disk-utils/mkfs.minix.c:270
 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:273
+#: disk-utils/mkfs.minix.c:272
 msgid "unable to clear boot sector"
 msgstr "startovací blok nelze smazat"
 
-#: disk-utils/mkfs.minix.c:275
+#: disk-utils/mkfs.minix.c:274
 msgid "seek failed in write_tables"
 msgstr "chyba pøi posunu ukazovátka ve write_tables"
 
-#: disk-utils/mkfs.minix.c:279
+#: disk-utils/mkfs.minix.c:278
 msgid "unable to write inode map"
 msgstr "mapu i-uzlù nelze zapsat"
 
-#: disk-utils/mkfs.minix.c:281
+#: disk-utils/mkfs.minix.c:280
 msgid "unable to write zone map"
 msgstr "mapu zón nelze zapsat"
 
-#: disk-utils/mkfs.minix.c:283
+#: disk-utils/mkfs.minix.c:282
 msgid "unable to write inodes"
 msgstr "i-uzly nelze zapsat"
 
-#: disk-utils/mkfs.minix.c:292
+#: disk-utils/mkfs.minix.c:291
 msgid "write failed in write_block"
 msgstr "chyba pøi zápisu ve write_block"
 
 #. Could make triple indirect block here
-#: disk-utils/mkfs.minix.c:300 disk-utils/mkfs.minix.c:374
-#: disk-utils/mkfs.minix.c:425
+#: disk-utils/mkfs.minix.c:299 disk-utils/mkfs.minix.c:373
+#: disk-utils/mkfs.minix.c:424
 msgid "too many bad blocks"
 msgstr "pøíli¹ mnoho chybných blokù"
 
-#: disk-utils/mkfs.minix.c:308
+#: disk-utils/mkfs.minix.c:307
 msgid "not enough good blocks"
 msgstr "nedostatek korektních blokù"
 
-#: disk-utils/mkfs.minix.c:517
+#: disk-utils/mkfs.minix.c:521
 msgid "unable to allocate buffers for maps"
 msgstr "buffery pro mapy nelze alokovat"
 
-#: disk-utils/mkfs.minix.c:526
+#: disk-utils/mkfs.minix.c:530
 msgid "unable to allocate buffer for inodes"
 msgstr "buffery pro i-uzly nelze alokovat"
 
-#: disk-utils/mkfs.minix.c:532
+#: disk-utils/mkfs.minix.c:536
 #, c-format
 msgid ""
 "Maxsize=%ld\n"
@@ -1086,122 +1210,132 @@ msgstr ""
 "Maxvelikost=%ld\n"
 "\n"
 
-#: disk-utils/mkfs.minix.c:546
+#: disk-utils/mkfs.minix.c:550
 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:554
+#: disk-utils/mkfs.minix.c:558
 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:585 disk-utils/mkswap.c:231
+#: disk-utils/mkfs.minix.c:589 disk-utils/mkswap.c:261
 msgid "seek failed in check_blocks"
 msgstr "chyba pøi posunu ukazovátka v check_blocks"
 
-#: disk-utils/mkfs.minix.c:594
+#: disk-utils/mkfs.minix.c:598
 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:600 disk-utils/mkfs.minix.c:622
+#: disk-utils/mkfs.minix.c:604 disk-utils/mkfs.minix.c:626
 #, c-format
 msgid "%d bad blocks\n"
 msgstr "chybných blokù: %d\n"
 
-#: disk-utils/mkfs.minix.c:602 disk-utils/mkfs.minix.c:624
+#: disk-utils/mkfs.minix.c:606 disk-utils/mkfs.minix.c:628
 msgid "one bad block\n"
 msgstr "chybných blokù: 1\n"
 
-#: disk-utils/mkfs.minix.c:614
+#: disk-utils/mkfs.minix.c:618
 msgid "can't open file of bad blocks"
 msgstr "soubor chybných blokù nelze otevøít"
 
-#: disk-utils/mkfs.minix.c:669
+#: disk-utils/mkfs.minix.c:687
 #, c-format
 msgid "%s: not compiled with minix v2 support\n"
 msgstr "pøi pøekladu %s nebyla zvolena podpora minix v2\n"
 
-#: disk-utils/mkfs.minix.c:685
+#: disk-utils/mkfs.minix.c:703
 msgid "strtol error: number of blocks not specified"
 msgstr "chyba strtol: poèet blokù nebyl zadán"
 
-#: disk-utils/mkfs.minix.c:717
+#: disk-utils/mkfs.minix.c:735
 #, c-format
 msgid "unable to open %s"
 msgstr "%s nelze otevøít"
 
-#: disk-utils/mkfs.minix.c:719
+#: disk-utils/mkfs.minix.c:737
 #, c-format
 msgid "unable to stat %s"
 msgstr "o %s nelze získat informace"
 
-#: disk-utils/mkfs.minix.c:723
+#: disk-utils/mkfs.minix.c:741
 #, 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/mkswap.c:101
+#: disk-utils/mkswap.c:117
 #, c-format
-msgid "Assuming pages of size %d\n"
-msgstr "Pøedpokládám velikost stránek %d\n"
+msgid "Bad user-specified page size %d\n"
+msgstr "Zadadaná velikost stránky (%d) je chybná.\n"
 
-#: disk-utils/mkswap.c:185
+#: disk-utils/mkswap.c:126
 #, c-format
-msgid "Usage: %s [-c] [-v0|-v1] /dev/name [blocks]\n"
-msgstr "Pou¾ití: %s [-c] [-v0|-v1] jméno zaøízení [bloky]\n"
+msgid "Using user-specified page size %d, instead of the system values %d/%d\n"
+msgstr "Pou¾ívám zadanou velikost stránky (%d) místo implicitních hodnot (%d/%d).\n"
 
-#: disk-utils/mkswap.c:208
+#: disk-utils/mkswap.c:130
+#, c-format
+msgid "Assuming pages of size %d (not %d)\n"
+msgstr "Pøedpokládám velikost stránek %d (nikoliv %d)\n"
+
+#: disk-utils/mkswap.c:215
+#, c-format
+msgid "Usage: %s [-c] [-v0|-v1] [-pPAGESZ] /dev/name [blocks]\n"
+msgstr "Pou¾ití: %s [-c] [-v0|-v1] [-pVELIKOST STRÁNKY] jméno zaøízení [bloky]\n"
+
+#: disk-utils/mkswap.c:238
 msgid "too many bad pages"
 msgstr "pøíli¹ mnoho chybných stránek"
 
-#: disk-utils/mkswap.c:222 misc-utils/look.c:170 misc-utils/setterm.c:1100
+#: disk-utils/mkswap.c:252 misc-utils/look.c:170 misc-utils/setterm.c:1100
 #: text-utils/more.c:1863 text-utils/more.c:1874
 msgid "Out of memory"
 msgstr "Nedostatek pamìti"
 
-#: disk-utils/mkswap.c:239
+#: disk-utils/mkswap.c:269
 msgid "one bad page\n"
 msgstr "chybných stránek: 1\n"
 
-#: disk-utils/mkswap.c:241
+#: disk-utils/mkswap.c:271
 #, c-format
 msgid "%d bad pages\n"
 msgstr "chybných stránek: %d\n"
 
-#: disk-utils/mkswap.c:345
+#: disk-utils/mkswap.c:391
 #, 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:354
+#: disk-utils/mkswap.c:409
 #, c-format
 msgid "%s: error: size %ld is larger than device size %d\n"
 msgstr "%s: chyba: zadaná velikost (%ld) je vìt¹í ne¾ velikost zaøízení (%d)\n"
 
-#: disk-utils/mkswap.c:372
+#: disk-utils/mkswap.c:427
 #, c-format
 msgid "%s: error: unknown version %d\n"
 msgstr "%s: chyba: neznámá verze %d\n"
 
-#: disk-utils/mkswap.c:378
+#: disk-utils/mkswap.c:433
 #, c-format
 msgid "%s: error: swap area needs to be at least %ldkB\n"
 msgstr "%s: chyba: minimální velikost odkládacího prostoru je %ldkB\n"
 
-#: disk-utils/mkswap.c:397
+#: disk-utils/mkswap.c:452
 #, c-format
 msgid "%s: warning: truncating swap area to %ldkB\n"
 msgstr "%s: varování: odkládací prostor useknut na %ldkB\n"
 
-#: disk-utils/mkswap.c:409
+#: disk-utils/mkswap.c:464
 #, c-format
 msgid "Will not try to make swapdevice on '%s'"
 msgstr "nebudu se pokou¹et vytvoøit odkládací zaøízení '%s'"
 
-#: disk-utils/mkswap.c:418 disk-utils/mkswap.c:439
+#: disk-utils/mkswap.c:473 disk-utils/mkswap.c:494
 msgid "fatal: first page unreadable"
 msgstr "osudová chyba: první stránka je neèitelná"
 
-#: disk-utils/mkswap.c:424
+#: disk-utils/mkswap.c:479
 #, c-format
 msgid ""
 "%s: Device '%s' contains a valid Sun disklabel.\n"
@@ -1215,24 +1349,24 @@ msgstr ""
 "opravdu\n"
 "chcete vytvoøit odkládací prostor v0, pou¾ijte pøepínaè -f pro vynucení.\n"
 
-#: disk-utils/mkswap.c:448
+#: disk-utils/mkswap.c:503
 msgid "Unable to set up swap-space: unreadable"
 msgstr "Odkládací prostor nelze nastavit: neèitelné"
 
-#: disk-utils/mkswap.c:449
+#: disk-utils/mkswap.c:504
 #, c-format
 msgid "Setting up swapspace version %d, size = %ld bytes\n"
 msgstr "Vytváøím odkládací prostor verze %d, velikost (v bajtech) = %ld\n"
 
-#: disk-utils/mkswap.c:455
+#: disk-utils/mkswap.c:510
 msgid "unable to rewind swap-device"
 msgstr "odkládací prostor nelze pøevinout"
 
-#: disk-utils/mkswap.c:458
+#: disk-utils/mkswap.c:513
 msgid "unable to write signature page"
 msgstr "stránku signatur nelze zapsat"
 
-#: disk-utils/mkswap.c:465
+#: disk-utils/mkswap.c:520
 msgid "fsync failed"
 msgstr "volání fsync selhalo"
 
@@ -1274,46 +1408,46 @@ msgstr "         %s [ -c | -y | -n | -d ] za
 msgid "       %s [ -c | -y | -n ] dev\n"
 msgstr "         %s [ -c | -y | -n ] zaøízení\n"
 
-#: fdisk/cfdisk.c:395 fdisk/cfdisk.c:1900
+#: fdisk/cfdisk.c:394 fdisk/cfdisk.c:1899
 msgid "Unusable"
 msgstr "Nepou¾itelné"
 
-#: fdisk/cfdisk.c:397 fdisk/cfdisk.c:1902
+#: fdisk/cfdisk.c:396 fdisk/cfdisk.c:1901
 msgid "Free Space"
 msgstr "Volný prostor"
 
-#: fdisk/cfdisk.c:400
+#: fdisk/cfdisk.c:399
 msgid "Linux ext2"
 msgstr "Linux ext2"
 
 #. also Solaris
-#: fdisk/cfdisk.c:402 fdisk/i386_sys_types.c:56
+#: fdisk/cfdisk.c:401 fdisk/i386_sys_types.c:56
 msgid "Linux"
 msgstr "Linux"
 
-#: fdisk/cfdisk.c:405
+#: fdisk/cfdisk.c:404
 msgid "OS/2 HPFS"
 msgstr "OS/2 HPFS"
 
-#: fdisk/cfdisk.c:407
+#: fdisk/cfdisk.c:406
 msgid "OS/2 IFS"
 msgstr "OS/2 IFS"
 
-#: fdisk/cfdisk.c:411
+#: fdisk/cfdisk.c:410
 msgid "NTFS"
 msgstr "NTFS"
 
-#: fdisk/cfdisk.c:422
+#: fdisk/cfdisk.c:421
 msgid "Disk has been changed.\n"
 msgstr "Na disku byly provedeny zmìny.\n"
 
-#: fdisk/cfdisk.c:423
+#: fdisk/cfdisk.c:422
 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:426
+#: fdisk/cfdisk.c:425
 msgid ""
 "\n"
 "WARNING: If you have created or modified any\n"
@@ -1325,295 +1459,295 @@ msgstr ""
 "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:521
+#: fdisk/cfdisk.c:520
 msgid "FATAL ERROR"
 msgstr "OSUDOVÁ CHYBA"
 
-#: fdisk/cfdisk.c:530
+#: fdisk/cfdisk.c:529
 msgid "Press any key to exit cfdisk"
 msgstr "Stisknìte jakoukoliv klávesu pro ukonèení programu cfdisk"
 
-#: fdisk/cfdisk.c:566 fdisk/cfdisk.c:574
+#: fdisk/cfdisk.c:565 fdisk/cfdisk.c:573
 msgid "Cannot seek on disk drive"
 msgstr "Nelze posunout ukazovátko na disku"
 
-#: fdisk/cfdisk.c:568
+#: fdisk/cfdisk.c:567
 msgid "Cannot read disk drive"
 msgstr "Z disku nelze èíst"
 
-#: fdisk/cfdisk.c:576
+#: fdisk/cfdisk.c:575
 msgid "Cannot write disk drive"
 msgstr "Nelze zapisovat na disk"
 
-#: fdisk/cfdisk.c:815
+#: fdisk/cfdisk.c:814
 msgid "Too many partitions"
 msgstr "pøíli¹ mnoho diskových oddílù"
 
-#: fdisk/cfdisk.c:820
+#: fdisk/cfdisk.c:819
 msgid "Partition begins before sector 0"
 msgstr "Diskový oddíl zaèíná pøed sektorem 0"
 
-#: fdisk/cfdisk.c:825
+#: fdisk/cfdisk.c:824
 msgid "Partition ends before sector 0"
 msgstr "Diskový oddíl konèí pøed sektorem 0"
 
-#: fdisk/cfdisk.c:830
+#: fdisk/cfdisk.c:829
 msgid "Partition begins after end-of-disk"
 msgstr "Diskový oddíl zaèíná za koncem disku"
 
-#: fdisk/cfdisk.c:835
+#: fdisk/cfdisk.c:834
 msgid "Partition ends after end-of-disk"
 msgstr "Diskový oddíl konèí za koncem disku"
 
-#: fdisk/cfdisk.c:859
+#: fdisk/cfdisk.c:858
 msgid "logical partitions not in disk order"
 msgstr "logické diskový oddíl jsou chybnì seøazeny"
 
-#: fdisk/cfdisk.c:862
+#: fdisk/cfdisk.c:861
 msgid "logical partitions overlap"
 msgstr "logické diskové oddíly se vzájemnì pøekrývají"
 
-#: fdisk/cfdisk.c:864
+#: fdisk/cfdisk.c:863
 msgid "enlarged logical partitions overlap"
 msgstr "zvìt¹ené logické diskové oddíly se vzájemnì pøekrývají"
 
-#: fdisk/cfdisk.c:894
+#: fdisk/cfdisk.c:893
 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:905 fdisk/cfdisk.c:917
+#: fdisk/cfdisk.c:904 fdisk/cfdisk.c:916
 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:1067
+#: fdisk/cfdisk.c:1066
 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:1123
+#: fdisk/cfdisk.c:1122
 msgid "Menu without direction. Defaulting horizontal."
 msgstr "Nabídka nemá zadaný smìr. Pou¾ívám horizontální."
 
-#: fdisk/cfdisk.c:1253
+#: fdisk/cfdisk.c:1252
 msgid "Illegal key"
 msgstr "Chybná klávesa"
 
-#: fdisk/cfdisk.c:1276
+#: fdisk/cfdisk.c:1275
 msgid "Press a key to continue"
 msgstr "Stisknìte klávesu pro pokraèování"
 
-#: fdisk/cfdisk.c:1323 fdisk/cfdisk.c:1871 fdisk/cfdisk.c:2396
-#: fdisk/cfdisk.c:2398
+#: fdisk/cfdisk.c:1322 fdisk/cfdisk.c:1870 fdisk/cfdisk.c:2400
+#: fdisk/cfdisk.c:2402
 msgid "Primary"
 msgstr "Primární"
 
-#: fdisk/cfdisk.c:1323
+#: fdisk/cfdisk.c:1322
 msgid "Create a new primary partition"
 msgstr "Vytvoøit nový primární diskový oddíl"
 
-#: fdisk/cfdisk.c:1324 fdisk/cfdisk.c:1871 fdisk/cfdisk.c:2395
-#: fdisk/cfdisk.c:2398
+#: fdisk/cfdisk.c:1323 fdisk/cfdisk.c:1870 fdisk/cfdisk.c:2399
+#: fdisk/cfdisk.c:2402
 msgid "Logical"
 msgstr "Logický"
 
-#: fdisk/cfdisk.c:1324
+#: fdisk/cfdisk.c:1323
 msgid "Create a new logical partition"
 msgstr "Vytvoøit nový logický diskový oddíl"
 
-#: fdisk/cfdisk.c:1325 fdisk/cfdisk.c:1380 fdisk/cfdisk.c:2075
+#: fdisk/cfdisk.c:1324 fdisk/cfdisk.c:1379 fdisk/cfdisk.c:2074
 msgid "Cancel"
 msgstr "Zru¹it"
 
-#: fdisk/cfdisk.c:1325 fdisk/cfdisk.c:1380
+#: fdisk/cfdisk.c:1324 fdisk/cfdisk.c:1379
 msgid "Don't create a partition"
 msgstr "Nevytváøet diskový oddíl"
 
-#: fdisk/cfdisk.c:1341
+#: fdisk/cfdisk.c:1340
 msgid "!!! Internal error !!!"
 msgstr "!!! Vnitøní chyba !!!"
 
-#: fdisk/cfdisk.c:1344
+#: fdisk/cfdisk.c:1343
 msgid "Size (in MB): "
 msgstr "Velikost (v MB): "
 
-#: fdisk/cfdisk.c:1378
+#: fdisk/cfdisk.c:1377
 msgid "Beginning"
 msgstr "Zaèátek"
 
-#: fdisk/cfdisk.c:1378
+#: fdisk/cfdisk.c:1377
 msgid "Add partition at beginning of free space"
 msgstr "Vytvoøit diskový oddíl na zaèátku volného prostoru"
 
-#: fdisk/cfdisk.c:1379
+#: fdisk/cfdisk.c:1378
 msgid "End"
 msgstr "Konec"
 
-#: fdisk/cfdisk.c:1379
+#: fdisk/cfdisk.c:1378
 msgid "Add partition at end of free space"
 msgstr "Vytvoøit diskový oddíl na konci volného prostoru"
 
-#: fdisk/cfdisk.c:1397
+#: fdisk/cfdisk.c:1396
 msgid "No room to create the extended partition"
 msgstr "Pro roz¹íøený diskový oddíl není dostatek místa"
 
-#: fdisk/cfdisk.c:1436
+#: fdisk/cfdisk.c:1435
 msgid "Bad signature on partition table"
 msgstr "Chybný podpis na tabulce rozdìlení disku"
 
-#: fdisk/cfdisk.c:1474
+#: fdisk/cfdisk.c:1473
 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:1504
+#: fdisk/cfdisk.c:1503
 msgid "Cannot open disk drive"
 msgstr "Disk nelze otevøít"
 
-#: fdisk/cfdisk.c:1506 fdisk/cfdisk.c:1687
+#: fdisk/cfdisk.c:1505 fdisk/cfdisk.c:1686
 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:1527
+#: fdisk/cfdisk.c:1526
 msgid "Cannot get disk size"
 msgstr "Velikost disku nelze zjistit"
 
 #. avoid snprintf - it does not exist on ancient systems
-#: fdisk/cfdisk.c:1553
+#: fdisk/cfdisk.c:1552
 msgid "Bad primary partition"
 msgstr "Chybný primární diskový oddíl"
 
 #. avoid snprintf
-#: fdisk/cfdisk.c:1584
+#: fdisk/cfdisk.c:1583
 msgid "Bad logical partition"
 msgstr "Chybný logický diskový oddíl"
 
-#: fdisk/cfdisk.c:1699
+#: fdisk/cfdisk.c:1698
 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:1703
+#: fdisk/cfdisk.c:1702
 msgid "Are you sure you want write the partition table to disk? (yes or no): "
 msgstr ""
 "Jste si jist, ¾e chcete ulo¾it tabulku rozdìlení disku na disk? (yes èi no):"
 
-#: fdisk/cfdisk.c:1709
+#: fdisk/cfdisk.c:1708
 msgid "no"
 msgstr "ne"
 
-#: fdisk/cfdisk.c:1710
+#: fdisk/cfdisk.c:1709
 msgid "Did not write partition table to disk"
 msgstr "Neukládat tabulku rozdìlení disku na disk"
 
-#: fdisk/cfdisk.c:1712
+#: fdisk/cfdisk.c:1711
 msgid "yes"
 msgstr "ano"
 
-#: fdisk/cfdisk.c:1715
+#: fdisk/cfdisk.c:1714
 msgid "Please enter `yes' or `no'"
 msgstr "Zadejte `yes' èi `no'"
 
-#: fdisk/cfdisk.c:1719
+#: fdisk/cfdisk.c:1718
 msgid "Writing partition table to disk..."
 msgstr "Ukládám tabulku rozdìlení disku na disk"
 
-#: fdisk/cfdisk.c:1744 fdisk/cfdisk.c:1748
+#: fdisk/cfdisk.c:1743 fdisk/cfdisk.c:1747
 msgid "Wrote partition table to disk"
 msgstr "Tabulka rozdìlení disku byla ulo¾ena na disk"
 
-#: fdisk/cfdisk.c:1746
+#: fdisk/cfdisk.c:1745
 msgid ""
 "Wrote partition table, but re-read table failed.  Reboot to update table."
 msgstr ""
 "Tabulka byla ulo¾ena, ale nepodaøilo se ji znovu naèíst. Restartujte systém."
 
-#: fdisk/cfdisk.c:1756
+#: fdisk/cfdisk.c:1755
 msgid ""
 "Not precisely one primary partition is 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:1814 fdisk/cfdisk.c:1932 fdisk/cfdisk.c:2016
+#: fdisk/cfdisk.c:1813 fdisk/cfdisk.c:1931 fdisk/cfdisk.c:2015
 msgid "Enter filename or press RETURN to display on screen: "
 msgstr "Zadejte jméno souboru èi stisknìte RETURN pro zobrazení: "
 
-#: fdisk/cfdisk.c:1822 fdisk/cfdisk.c:1940 fdisk/cfdisk.c:2024
+#: fdisk/cfdisk.c:1821 fdisk/cfdisk.c:1939 fdisk/cfdisk.c:2023
 #, c-format
 msgid "Cannot open file '%s'"
 msgstr "Soubor '%s' nelze otevøít"
 
-#: fdisk/cfdisk.c:1833
+#: fdisk/cfdisk.c:1832
 #, c-format
 msgid "Disk Drive: %s\n"
 msgstr "Disk: %s\n"
 
-#: fdisk/cfdisk.c:1835
+#: fdisk/cfdisk.c:1834
 msgid "Sector 0:\n"
 msgstr "Sektor 0:\n"
 
-#: fdisk/cfdisk.c:1842
+#: fdisk/cfdisk.c:1841
 #, c-format
 msgid "Sector %d:\n"
 msgstr "Sektor %d:\n"
 
-#: fdisk/cfdisk.c:1862
+#: fdisk/cfdisk.c:1861
 msgid "   None   "
 msgstr "  ®ádný  "
 
-#: fdisk/cfdisk.c:1864
+#: fdisk/cfdisk.c:1863
 msgid "   Pri/Log"
 msgstr "  Pri/Log"
 
-#: fdisk/cfdisk.c:1866
+#: fdisk/cfdisk.c:1865
 msgid "   Primary"
 msgstr "  Primární"
 
-#: fdisk/cfdisk.c:1868
+#: fdisk/cfdisk.c:1867
 msgid "   Logical"
 msgstr "  Logický"
 
 #. odd flag on end
 #. type id
 #. type name
-#: fdisk/cfdisk.c:1906 fdisk/fdisk.c:1072 fdisk/fdisk.c:1221
+#: fdisk/cfdisk.c:1905 fdisk/fdisk.c:1071 fdisk/fdisk.c:1220
 #: fdisk/fdisksgilabel.c:224 fdisk/fdisksunlabel.c:646 fdisk/sfdisk.c:559
 msgid "Unknown"
 msgstr "Neznámý"
 
-#: fdisk/cfdisk.c:1912
+#: fdisk/cfdisk.c:1911
 #, c-format
 msgid "Boot (%02X)"
 msgstr "Startovací (%02X)"
 
-#: fdisk/cfdisk.c:1914 fdisk/cfdisk.c:2404
+#: fdisk/cfdisk.c:1913 fdisk/cfdisk.c:2408
 #, c-format
 msgid "Unknown (%02X)"
 msgstr "Neznámý (%02X)"
 
-#: fdisk/cfdisk.c:1916
+#: fdisk/cfdisk.c:1915
 #, c-format
 msgid "None (%02X)"
 msgstr "®ádný (%02X)"
 
-#: fdisk/cfdisk.c:1951 fdisk/cfdisk.c:2035
+#: fdisk/cfdisk.c:1950 fdisk/cfdisk.c:2034
 #, c-format
 msgid "Partition Table for %s\n"
 msgstr "Tabulka rozdìlení disku pro %s\n"
 
-#: fdisk/cfdisk.c:1953
+#: fdisk/cfdisk.c:1952
 msgid "            First    Last\n"
 msgstr "            První    Poslední\n"
 
-#: fdisk/cfdisk.c:1954
+#: fdisk/cfdisk.c:1953
 msgid ""
 " # Type     Sector   Sector   Offset  Length   Filesystem Type (ID)   Flags\n"
 msgstr ""
 " # Typ      Sektor   Sektor   Posun   Délka    ID systému souborù     "
 "Pøíznaky\n"
 
-#: fdisk/cfdisk.c:1955
+#: fdisk/cfdisk.c:1954
 msgid ""
 "-- ------- -------- --------- ------ --------- ---------------------- "
 "---------\n"
@@ -1621,455 +1755,455 @@ msgstr ""
 "-- ------- -------- --------- ------ --------- ---------------------- "
 "---------\n"
 
-#: fdisk/cfdisk.c:2037
+#: fdisk/cfdisk.c:2036
 msgid "         ---Starting---      ----Ending----    Start Number of\n"
 msgstr "        ---Poèátek---       ----Konec----   Poèáteèní\n"
 
-#: fdisk/cfdisk.c:2038
+#: fdisk/cfdisk.c:2037
 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:2039
+#: fdisk/cfdisk.c:2038
 msgid "-- ----- ---- ---- ---- ---- ---- ---- ---- -------- ---------\n"
 msgstr "-- ----- ---- ---- ---- ---- ---- ---- ---- -------- ---------\n"
 
-#: fdisk/cfdisk.c:2072
+#: fdisk/cfdisk.c:2071
 msgid "Raw"
 msgstr "Pøímý"
 
-#: fdisk/cfdisk.c:2072
+#: fdisk/cfdisk.c:2071
 msgid "Print the table using raw data format"
 msgstr "Vytisknout tabulku v pøímém datovém formátu"
 
-#: fdisk/cfdisk.c:2073 fdisk/cfdisk.c:2175
+#: fdisk/cfdisk.c:2072 fdisk/cfdisk.c:2174
 msgid "Sectors"
 msgstr "Sektory"
 
-#: fdisk/cfdisk.c:2073
+#: fdisk/cfdisk.c:2072
 msgid "Print the table ordered by sectors"
 msgstr "Vytisknout tabulku seøazenou dle sektorù"
 
-#: fdisk/cfdisk.c:2074
+#: fdisk/cfdisk.c:2073
 msgid "Table"
 msgstr "Tabulka"
 
-#: fdisk/cfdisk.c:2074
+#: fdisk/cfdisk.c:2073
 msgid "Just print the partition table"
 msgstr "Vytisknout pouze tabulku rozdìlení disku"
 
-#: fdisk/cfdisk.c:2075
+#: fdisk/cfdisk.c:2074
 msgid "Don't print the table"
 msgstr "Netisknout tabulku"
 
-#: fdisk/cfdisk.c:2103
+#: fdisk/cfdisk.c:2102
 msgid "Help Screen for cfdisk"
 msgstr "Nápovìda pro cfdisk"
 
-#: fdisk/cfdisk.c:2105
+#: fdisk/cfdisk.c:2104
 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:2106
+#: fdisk/cfdisk.c:2105
 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:2107
+#: fdisk/cfdisk.c:2106
 msgid "disk drive."
 msgstr "diskových oddílù na Va¹em pevném disku."
 
-#: fdisk/cfdisk.c:2109
+#: fdisk/cfdisk.c:2108
 msgid "Copyright (C) 1994-1999 Kevin E. Martin & aeb"
 msgstr "Copyright (C) 1994-1999 Kevin E. Martin & aeb"
 
-#: fdisk/cfdisk.c:2111
+#: fdisk/cfdisk.c:2110
 msgid "Command      Meaning"
 msgstr "Pøíkaz      Význam"
 
-#: fdisk/cfdisk.c:2112
+#: fdisk/cfdisk.c:2111
 msgid "-------      -------"
 msgstr "-------      -------"
 
-#: fdisk/cfdisk.c:2113
+#: fdisk/cfdisk.c:2112
 msgid "  b          Toggle bootable flag of the current partition"
 msgstr "  b          Pøepne aktuálnímu oddílu pøíznak startovatelnosti"
 
-#: fdisk/cfdisk.c:2114
+#: fdisk/cfdisk.c:2113
 msgid "  d          Delete the current partition"
 msgstr "  d          Sma¾e aktuální oddíl"
 
-#: fdisk/cfdisk.c:2115
+#: fdisk/cfdisk.c:2114
 msgid "  g          Change cylinders, heads, sectors-per-track parameters"
 msgstr "  g          Zmìní geometrii"
 
-#: fdisk/cfdisk.c:2116
+#: fdisk/cfdisk.c:2115
 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:2117
+#: fdisk/cfdisk.c:2116
 msgid "             know what they are doing."
 msgstr "             kteøí vìdí, co èiní."
 
-#: fdisk/cfdisk.c:2118
+#: fdisk/cfdisk.c:2117
 msgid "  h          Print this screen"
 msgstr "  h          Vypí¹e tuto nápovìdu"
 
-#: fdisk/cfdisk.c:2119
+#: fdisk/cfdisk.c:2118
 msgid "  m          Maximize disk usage of the current partition"
 msgstr "  m          Maximálnì zvìt¹í aktuální diskový oddíl "
 
-#: fdisk/cfdisk.c:2120
+#: fdisk/cfdisk.c:2119
 msgid "             Note: This may make the partition incompatible with"
 msgstr "             Poznámka: Toto mù¾e uèinit oddíl nekompatibilní s"
 
-#: fdisk/cfdisk.c:2121
+#: fdisk/cfdisk.c:2120
 msgid "             DOS, OS/2, ..."
 msgstr "             DOS, OS/2 ..."
 
-#: fdisk/cfdisk.c:2122
+#: fdisk/cfdisk.c:2121
 msgid "  n          Create new partition from free space"
 msgstr "  n          Vytvoøit na volném místì nový oddíl"
 
-#: fdisk/cfdisk.c:2123
+#: fdisk/cfdisk.c:2122
 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:2124
+#: fdisk/cfdisk.c:2123
 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:2125
+#: fdisk/cfdisk.c:2124
 msgid "             that you can choose from:"
 msgstr "             z nìkolika formátù:"
 
-#: fdisk/cfdisk.c:2126
+#: fdisk/cfdisk.c:2125
 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:2127
+#: fdisk/cfdisk.c:2126
 msgid "                s - Table ordered by sectors"
 msgstr "                s - Tabulka seøazená dle sektorù"
 
-#: fdisk/cfdisk.c:2128
+#: fdisk/cfdisk.c:2127
 msgid "                t - Table in raw format"
 msgstr "                t - Tabulka v pøímém formátu"
 
-#: fdisk/cfdisk.c:2129
+#: fdisk/cfdisk.c:2128
 msgid "  q          Quit program without writing partition table"
 msgstr "  q          Ukonèí program bez ulo¾ení tabulky rozdìlení disku"
 
-#: fdisk/cfdisk.c:2130
+#: fdisk/cfdisk.c:2129
 msgid "  t          Change the filesystem type"
 msgstr "  t          Zmìní typ systému souborù"
 
-#: fdisk/cfdisk.c:2131
+#: fdisk/cfdisk.c:2130
 msgid "  u          Change units of the partition size display"
 msgstr "  u          Zmìní jednotky pro zobrazení velikosti oddílu"
 
-#: fdisk/cfdisk.c:2132
+#: fdisk/cfdisk.c:2131
 msgid "             Rotates through MB, sectors and cylinders"
 msgstr "             Cykluje mezi MB, sektory a cylindry"
 
-#: fdisk/cfdisk.c:2133
+#: fdisk/cfdisk.c:2132
 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:2134
+#: fdisk/cfdisk.c:2133
 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:2135
+#: fdisk/cfdisk.c:2134
 msgid "             either confirm or deny the write by entering `yes' or"
 msgstr "             nebo odmítnout napsáním `yes' nebo"
 
-#: fdisk/cfdisk.c:2136
+#: fdisk/cfdisk.c:2135
 msgid "             `no'"
 msgstr "             `no'"
 
-#: fdisk/cfdisk.c:2137
+#: fdisk/cfdisk.c:2136
 msgid "Up Arrow     Move cursor to the previous partition"
 msgstr "Nahoru       Pøesune kurzor na pøedcházející oddíl."
 
-#: fdisk/cfdisk.c:2138
+#: fdisk/cfdisk.c:2137
 msgid "Down Arrow   Move cursor to the next partition"
 msgstr "Dolù         Pøesune kurzor na dal¹í oddíl."
 
-#: fdisk/cfdisk.c:2139
+#: fdisk/cfdisk.c:2138
 msgid "CTRL-L       Redraws the screen"
 msgstr "CTRL-L       Pøekreslí obrazovku"
 
-#: fdisk/cfdisk.c:2140
+#: fdisk/cfdisk.c:2139
 msgid "  ?          Print this screen"
 msgstr "  ?          Vypí¹e tuto nápovìdu"
 
-#: fdisk/cfdisk.c:2142
+#: fdisk/cfdisk.c:2141
 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:2143
+#: fdisk/cfdisk.c:2142
 msgid "case letters (except for Writes)."
 msgstr "(s vyjímkou zápisu - W)."
 
-#: fdisk/cfdisk.c:2173 fdisk/cfdisk.c:2490 fdisk/fdisksunlabel.c:305
+#: fdisk/cfdisk.c:2172 fdisk/cfdisk.c:2494 fdisk/fdisksunlabel.c:305
 #: fdisk/fdisksunlabel.c:307
 msgid "Cylinders"
 msgstr "Cylindry"
 
-#: fdisk/cfdisk.c:2173
+#: fdisk/cfdisk.c:2172
 msgid "Change cylinder geometry"
 msgstr "Zmìní geometrii cylindrù"
 
-#: fdisk/cfdisk.c:2174 fdisk/fdisksunlabel.c:302
+#: fdisk/cfdisk.c:2173 fdisk/fdisksunlabel.c:302
 msgid "Heads"
 msgstr "Hlavy"
 
-#: fdisk/cfdisk.c:2174
+#: fdisk/cfdisk.c:2173
 msgid "Change head geometry"
 msgstr "Zmìní geometrii hlav"
 
-#: fdisk/cfdisk.c:2175
+#: fdisk/cfdisk.c:2174
 msgid "Change sector geometry"
 msgstr "Zmìní geometrii sektorù"
 
-#: fdisk/cfdisk.c:2176
+#: fdisk/cfdisk.c:2175
 msgid "Done"
 msgstr "Hotovo"
 
-#: fdisk/cfdisk.c:2176
+#: fdisk/cfdisk.c:2175
 msgid "Done with changing geometry"
 msgstr "Geometrie zmìnìna"
 
-#: fdisk/cfdisk.c:2189
+#: fdisk/cfdisk.c:2188
 msgid "Enter the number of cylinders: "
 msgstr "Zadejte poèet cylindrù: "
 
-#: fdisk/cfdisk.c:2201 fdisk/cfdisk.c:2758
+#: fdisk/cfdisk.c:2200 fdisk/cfdisk.c:2762
 msgid "Illegal cylinders value"
 msgstr "Chybný poèet cylindrù"
 
-#: fdisk/cfdisk.c:2207
+#: fdisk/cfdisk.c:2206
 msgid "Enter the number of heads: "
 msgstr "Zadejte poèet hlav: "
 
-#: fdisk/cfdisk.c:2214 fdisk/cfdisk.c:2768
+#: fdisk/cfdisk.c:2213 fdisk/cfdisk.c:2772
 msgid "Illegal heads value"
 msgstr "Chybný poèet hlav"
 
-#: fdisk/cfdisk.c:2220
+#: fdisk/cfdisk.c:2219
 msgid "Enter the number of sectors per track: "
 msgstr "Zadejte poèet sektorù na stopu: "
 
-#: fdisk/cfdisk.c:2227 fdisk/cfdisk.c:2775
+#: fdisk/cfdisk.c:2226 fdisk/cfdisk.c:2779
 msgid "Illegal sectors value"
 msgstr "Chybný poèet sektorù"
 
-#: fdisk/cfdisk.c:2330
+#: fdisk/cfdisk.c:2329
 msgid "Enter filesystem type: "
 msgstr "Zadejte typ systému souborù: "
 
-#: fdisk/cfdisk.c:2348
+#: fdisk/cfdisk.c:2347
 msgid "Cannot change FS Type to empty"
 msgstr "Nelze nastavit typ SS na prázdný"
 
-#: fdisk/cfdisk.c:2350
+#: fdisk/cfdisk.c:2349
 msgid "Cannot change FS Type to extended"
 msgstr "Nelze nastavit typ SS na roz¹íøený"
 
-#: fdisk/cfdisk.c:2373 fdisk/fdisksunlabel.c:44
+#: fdisk/cfdisk.c:2377 fdisk/fdisksunlabel.c:44
 msgid "Boot"
 msgstr "Startovací"
 
-#: fdisk/cfdisk.c:2375
+#: fdisk/cfdisk.c:2379
 #, c-format
 msgid "Unk(%02X)"
 msgstr "Nez(%02X)"
 
-#: fdisk/cfdisk.c:2378 fdisk/cfdisk.c:2381
+#: fdisk/cfdisk.c:2382 fdisk/cfdisk.c:2385
 msgid ", NC"
 msgstr ", NC"
 
-#: fdisk/cfdisk.c:2386 fdisk/cfdisk.c:2389
+#: fdisk/cfdisk.c:2390 fdisk/cfdisk.c:2393
 msgid "NC"
 msgstr "NC"
 
-#: fdisk/cfdisk.c:2397
+#: fdisk/cfdisk.c:2401
 msgid "Pri/Log"
 msgstr "Pri/Log"
 
-#: fdisk/cfdisk.c:2473
+#: fdisk/cfdisk.c:2477
 #, c-format
 msgid "Disk Drive: %s"
 msgstr "Disk: %s"
 
-#: fdisk/cfdisk.c:2476
+#: fdisk/cfdisk.c:2480
 #, c-format
 msgid "Size: %lld bytes"
 msgstr "Velikostv bajtech: %lld"
 
-#: fdisk/cfdisk.c:2478
+#: fdisk/cfdisk.c:2482
 #, c-format
 msgid "Heads: %d   Sectors per Track: %d   Cylinders: %d"
 msgstr "Hlav: %d   Sektorù na stopu: %d   Cylindrù: %d"
 
-#: fdisk/cfdisk.c:2482
+#: fdisk/cfdisk.c:2486
 msgid "Name"
 msgstr "Jméno"
 
-#: fdisk/cfdisk.c:2483
+#: fdisk/cfdisk.c:2487
 msgid "Flags"
 msgstr "Pøíznaky"
 
-#: fdisk/cfdisk.c:2484
+#: fdisk/cfdisk.c:2488
 msgid "Part Type"
 msgstr "Typ oddílu"
 
-#: fdisk/cfdisk.c:2485
+#: fdisk/cfdisk.c:2489
 msgid "FS Type"
 msgstr "Typ SS"
 
-#: fdisk/cfdisk.c:2486
+#: fdisk/cfdisk.c:2490
 msgid "[Label]"
 msgstr "[Jméno]"
 
-#: fdisk/cfdisk.c:2488
+#: fdisk/cfdisk.c:2492
 msgid "  Sectors"
 msgstr " Sektory"
 
-#: fdisk/cfdisk.c:2492
+#: fdisk/cfdisk.c:2496
 msgid "Size (MB)"
 msgstr "Velikost (MB)"
 
-#: fdisk/cfdisk.c:2494
+#: fdisk/cfdisk.c:2498
 msgid "Size (GB)"
 msgstr "Velikost (GB)"
 
-#: fdisk/cfdisk.c:2549
+#: fdisk/cfdisk.c:2553
 msgid "Bootable"
 msgstr "Start"
 
-#: fdisk/cfdisk.c:2549
+#: fdisk/cfdisk.c:2553
 msgid "Toggle bootable flag of the current partition"
 msgstr "Pøepne pøíznak startovatelnosti aktuálnímu diskovému oddílu"
 
-#: fdisk/cfdisk.c:2550
+#: fdisk/cfdisk.c:2554
 msgid "Delete"
 msgstr "Smazat"
 
-#: fdisk/cfdisk.c:2550
+#: fdisk/cfdisk.c:2554
 msgid "Delete the current partition"
 msgstr "Sma¾e aktuální diskový oddíl"
 
-#: fdisk/cfdisk.c:2551
+#: fdisk/cfdisk.c:2555
 msgid "Geometry"
 msgstr "Geometrie"
 
-#: fdisk/cfdisk.c:2551
+#: fdisk/cfdisk.c:2555
 msgid "Change disk geometry (experts only)"
 msgstr "Zmìní geometrii disku (pouze pro odborníky)"
 
-#: fdisk/cfdisk.c:2552
+#: fdisk/cfdisk.c:2556
 msgid "Help"
 msgstr "Nápovìda"
 
-#: fdisk/cfdisk.c:2552
+#: fdisk/cfdisk.c:2556
 msgid "Print help screen"
 msgstr "Vypí¹e nápovìdu"
 
-#: fdisk/cfdisk.c:2553
+#: fdisk/cfdisk.c:2557
 msgid "Maximize"
 msgstr "Zvìt¹ení"
 
-#: fdisk/cfdisk.c:2553
+#: fdisk/cfdisk.c:2557
 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:2554
+#: fdisk/cfdisk.c:2558
 msgid "New"
 msgstr "Nový"
 
-#: fdisk/cfdisk.c:2554
+#: fdisk/cfdisk.c:2558
 msgid "Create new partition from free space"
 msgstr "Vytvoøí nový diskový oddíl ve volném prostoru"
 
-#: fdisk/cfdisk.c:2555
+#: fdisk/cfdisk.c:2559
 msgid "Print"
 msgstr "Tisk"
 
-#: fdisk/cfdisk.c:2555
+#: fdisk/cfdisk.c:2559
 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:2556
+#: fdisk/cfdisk.c:2560
 msgid "Quit"
 msgstr "Konec"
 
-#: fdisk/cfdisk.c:2556
+#: fdisk/cfdisk.c:2560
 msgid "Quit program without writing partition table"
 msgstr "Ukonèí program bez ulo¾ení tabulky rozdìlení disku"
 
-#: fdisk/cfdisk.c:2557
+#: fdisk/cfdisk.c:2561
 msgid "Type"
 msgstr "Druh"
 
-#: fdisk/cfdisk.c:2557
+#: fdisk/cfdisk.c:2561
 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:2558
+#: fdisk/cfdisk.c:2562
 msgid "Units"
 msgstr "Jednotky"
 
-#: fdisk/cfdisk.c:2558
+#: fdisk/cfdisk.c:2562
 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:2559
+#: fdisk/cfdisk.c:2563
 msgid "Write"
 msgstr "Ulo¾it"
 
-#: fdisk/cfdisk.c:2559
+#: fdisk/cfdisk.c:2563
 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:2605
+#: fdisk/cfdisk.c:2609
 msgid "Cannot make this partition bootable"
 msgstr "Tento oddíl nelze nastavit jako startovací."
 
-#: fdisk/cfdisk.c:2615
+#: fdisk/cfdisk.c:2619
 msgid "Cannot delete an empty partition"
 msgstr "Prázdný diskový oddíl nelze smazat."
 
-#: fdisk/cfdisk.c:2635 fdisk/cfdisk.c:2637
+#: fdisk/cfdisk.c:2639 fdisk/cfdisk.c:2641
 msgid "Cannot maximize this partition"
 msgstr "Tento diskový oddíl nelze zvìt¹it."
 
-#: fdisk/cfdisk.c:2645
+#: fdisk/cfdisk.c:2649
 msgid "This partition is unusable"
 msgstr "Tento diskový oddíl je nepou¾itelný."
 
-#: fdisk/cfdisk.c:2647
+#: fdisk/cfdisk.c:2651
 msgid "This partition is already in use"
 msgstr "Tento diskový oddíl je ji¾ pou¾íván."
 
-#: fdisk/cfdisk.c:2664
+#: fdisk/cfdisk.c:2668
 msgid "Cannot change the type of an empty partition"
 msgstr "Typ prázdného diskového oddílu nelze zmìnit."
 
-#: fdisk/cfdisk.c:2691 fdisk/cfdisk.c:2697
+#: fdisk/cfdisk.c:2695 fdisk/cfdisk.c:2701
 msgid "No more partitions"
 msgstr "®ádné dal¹í diskové oddíly"
 
-#: fdisk/cfdisk.c:2704
+#: fdisk/cfdisk.c:2708
 msgid "Illegal command"
 msgstr "Chybný pøíkaz"
 
-#: fdisk/cfdisk.c:2714
+#: fdisk/cfdisk.c:2718
 msgid "Copyright (C) 1994-1999 Kevin E. Martin & aeb\n"
 msgstr "Copyright (C) 1994-1999 Kevin E. Martin & aeb\n"
 
 #. Unfortunately, xgettext does not handle multi-line strings
 #. so, let's use explicit \n's instead
-#: fdisk/cfdisk.c:2721
+#: fdisk/cfdisk.c:2725
 #, c-format
 msgid ""
 "\n"
@@ -2105,7 +2239,7 @@ msgstr ""
 "                jádro.\n"
 "\n"
 
-#: fdisk/fdisk.c:247
+#: fdisk/fdisk.c:246
 msgid ""
 "Usage: fdisk [-b SSZ] [-u] DISK     Change partition table\n"
 "       fdisk -l [-b SSZ] [-u] DISK  List partition table(s)\n"
@@ -2125,7 +2259,7 @@ msgstr ""
 "-u: zadání Zaèátku a Konce v sektorech (místo cylindrech)\n"
 "-b 2048: (pro nìkteré MO jednotky) pou¾ije 2048bajtové sektory\n"
 
-#: fdisk/fdisk.c:259
+#: fdisk/fdisk.c:258
 msgid ""
 "Usage: fdisk [-l] [-b SSZ] [-u] device\n"
 "E.g.: fdisk /dev/hda  (for the first IDE disk)\n"
@@ -2141,213 +2275,213 @@ msgstr ""
 "  èi: fdisk /dev/rd/c0d0  èi: fdisk /dev/ida/c0d0  (pro RAID zaøízení)\n"
 "  ...\n"
 
-#: fdisk/fdisk.c:267
+#: fdisk/fdisk.c:266
 #, c-format
 msgid "Unable to open %s\n"
 msgstr "%s nelze otevøít\n"
 
-#: fdisk/fdisk.c:270
+#: fdisk/fdisk.c:269
 #, c-format
 msgid "Unable to read %s\n"
 msgstr "%s nelze èíst\n"
 
-#: fdisk/fdisk.c:273
+#: fdisk/fdisk.c:272
 #, c-format
 msgid "Unable to seek on %s\n"
 msgstr "Ukazovátko nelze posunout na %s.\n"
 
-#: fdisk/fdisk.c:276
+#: fdisk/fdisk.c:275
 #, c-format
 msgid "Unable to write %s\n"
 msgstr "%s nelze ulo¾it\n"
 
-#: fdisk/fdisk.c:279
+#: fdisk/fdisk.c:278
 #, c-format
 msgid "BLKGETSIZE ioctl failed on %s\n"
 msgstr "volání BLKGETSIZE ioctl pro %s selhalo\n"
 
-#: fdisk/fdisk.c:283
+#: fdisk/fdisk.c:282
 msgid "Unable to allocate any more memory\n"
 msgstr "Nelze alokovat více pamìti\n"
 
-#: fdisk/fdisk.c:285
+#: fdisk/fdisk.c:284
 msgid "Fatal error\n"
 msgstr "Fatální chyba\n"
 
-#: fdisk/fdisk.c:296 fdisk/fdisk.c:315 fdisk/fdisk.c:333 fdisk/fdisk.c:340
-#: fdisk/fdisk.c:363 fdisk/fdisk.c:381 fdisk/fdiskbsdlabel.c:105
+#: fdisk/fdisk.c:295 fdisk/fdisk.c:314 fdisk/fdisk.c:332 fdisk/fdisk.c:339
+#: fdisk/fdisk.c:362 fdisk/fdisk.c:380 fdisk/fdiskbsdlabel.c:105
 msgid "Command action"
 msgstr "Pøíkazy"
 
-#: fdisk/fdisk.c:297
+#: fdisk/fdisk.c:296
 msgid "   a   toggle a read only flag"
 msgstr "   a   pøepne pøíznak \"pouze pro ètení\""
 
 #. sun
-#: fdisk/fdisk.c:298 fdisk/fdisk.c:342
+#: fdisk/fdisk.c:297 fdisk/fdisk.c:341
 msgid "   b   edit bsd disklabel"
 msgstr "   b   úprava bsd popisu disku"
 
-#: fdisk/fdisk.c:299
+#: fdisk/fdisk.c:298
 msgid "   c   toggle the mountable flag"
 msgstr "   c   pøepne pøíznak \"pøipojitelný\""
 
 #. sun
-#: fdisk/fdisk.c:300 fdisk/fdisk.c:319 fdisk/fdisk.c:344
+#: fdisk/fdisk.c:299 fdisk/fdisk.c:318 fdisk/fdisk.c:343
 msgid "   d   delete a partition"
 msgstr "   d   sma¾e diskový oddíl"
 
-#: fdisk/fdisk.c:301 fdisk/fdisk.c:320 fdisk/fdisk.c:345
+#: fdisk/fdisk.c:300 fdisk/fdisk.c:319 fdisk/fdisk.c:344
 msgid "   l   list known partition types"
 msgstr "   l   vypí¹e známé typy diskových oddílù"
 
 #. sun
-#: fdisk/fdisk.c:302 fdisk/fdisk.c:321 fdisk/fdisk.c:334 fdisk/fdisk.c:346
-#: fdisk/fdisk.c:371 fdisk/fdisk.c:388 fdisk/fdiskbsdlabel.c:110
+#: fdisk/fdisk.c:301 fdisk/fdisk.c:320 fdisk/fdisk.c:333 fdisk/fdisk.c:345
+#: fdisk/fdisk.c:370 fdisk/fdisk.c:387 fdisk/fdiskbsdlabel.c:110
 msgid "   m   print this menu"
 msgstr "   m   vypí¹e tuto nabídku"
 
-#: fdisk/fdisk.c:303 fdisk/fdisk.c:322 fdisk/fdisk.c:347
+#: fdisk/fdisk.c:302 fdisk/fdisk.c:321 fdisk/fdisk.c:346
 msgid "   n   add a new partition"
 msgstr "   n   vytvoøí nový diskový oddíl"
 
-#: fdisk/fdisk.c:304 fdisk/fdisk.c:323 fdisk/fdisk.c:335 fdisk/fdisk.c:348
+#: fdisk/fdisk.c:303 fdisk/fdisk.c:322 fdisk/fdisk.c:334 fdisk/fdisk.c:347
 msgid "   o   create a new empty DOS partition table"
 msgstr "   o   vytvoøí prázdný DOSOVÝ diskový oddíl"
 
-#: fdisk/fdisk.c:305 fdisk/fdisk.c:324 fdisk/fdisk.c:349 fdisk/fdisk.c:372
-#: fdisk/fdisk.c:389
+#: fdisk/fdisk.c:304 fdisk/fdisk.c:323 fdisk/fdisk.c:348 fdisk/fdisk.c:371
+#: fdisk/fdisk.c:388
 msgid "   p   print the partition table"
 msgstr "   p   vypí¹e tabulku rozdìlení disku"
 
-#: fdisk/fdisk.c:306 fdisk/fdisk.c:325 fdisk/fdisk.c:336 fdisk/fdisk.c:350
-#: fdisk/fdisk.c:373 fdisk/fdisk.c:390 fdisk/fdiskbsdlabel.c:113
+#: fdisk/fdisk.c:305 fdisk/fdisk.c:324 fdisk/fdisk.c:335 fdisk/fdisk.c:349
+#: fdisk/fdisk.c:372 fdisk/fdisk.c:389 fdisk/fdiskbsdlabel.c:113
 msgid "   q   quit without saving changes"
 msgstr "   q   ukonèí program bez ulo¾ení zmìn"
 
-#: fdisk/fdisk.c:307 fdisk/fdisk.c:326 fdisk/fdisk.c:337 fdisk/fdisk.c:351
+#: fdisk/fdisk.c:306 fdisk/fdisk.c:325 fdisk/fdisk.c:336 fdisk/fdisk.c:350
 msgid "   s   create a new empty Sun disklabel"
 msgstr "   s   vytvoøí prázdný Sun popis disku"
 
 #. sun
-#: fdisk/fdisk.c:308 fdisk/fdisk.c:327 fdisk/fdisk.c:352
+#: fdisk/fdisk.c:307 fdisk/fdisk.c:326 fdisk/fdisk.c:351
 msgid "   t   change a partition's system id"
 msgstr "   t   zmìní id diskového oddílu"
 
-#: fdisk/fdisk.c:309 fdisk/fdisk.c:328 fdisk/fdisk.c:353
+#: fdisk/fdisk.c:308 fdisk/fdisk.c:327 fdisk/fdisk.c:352
 msgid "   u   change display/entry units"
 msgstr "   u   zmìní jednotky v nich¾ jsou vypisovány informace"
 
-#: fdisk/fdisk.c:310 fdisk/fdisk.c:329 fdisk/fdisk.c:354 fdisk/fdisk.c:376
-#: fdisk/fdisk.c:393
+#: fdisk/fdisk.c:309 fdisk/fdisk.c:328 fdisk/fdisk.c:353 fdisk/fdisk.c:375
+#: fdisk/fdisk.c:392
 msgid "   v   verify the partition table"
 msgstr "   v   ovìøí tabulku rozdìlení disku"
 
-#: fdisk/fdisk.c:311 fdisk/fdisk.c:330 fdisk/fdisk.c:355 fdisk/fdisk.c:377
-#: fdisk/fdisk.c:394
+#: fdisk/fdisk.c:310 fdisk/fdisk.c:329 fdisk/fdisk.c:354 fdisk/fdisk.c:376
+#: fdisk/fdisk.c:393
 msgid "   w   write table to disk and exit"
 msgstr "   w   ulo¾í tabulku rozdìlení disku a ukonèí program"
 
-#: fdisk/fdisk.c:312 fdisk/fdisk.c:356
+#: fdisk/fdisk.c:311 fdisk/fdisk.c:355
 msgid "   x   extra functionality (experts only)"
 msgstr "   x   roz¹iøující funkce (pouze pro odborníky)"
 
-#: fdisk/fdisk.c:316
+#: fdisk/fdisk.c:315
 msgid "   a   select bootable partition"
 msgstr "   a   nastaví startovací diskový oddíl"
 
 #. sgi flavour
-#: fdisk/fdisk.c:317
+#: fdisk/fdisk.c:316
 msgid "   b   edit bootfile entry"
 msgstr "   b   úprava polo¾ky startovacího souboru"
 
 #. sgi
-#: fdisk/fdisk.c:318
+#: fdisk/fdisk.c:317
 msgid "   c   select sgi swap partition"
 msgstr "   c   nastaví sgi odkládací diskový oddíl"
 
-#: fdisk/fdisk.c:341
+#: fdisk/fdisk.c:340
 msgid "   a   toggle a bootable flag"
 msgstr "   a   pøepne pøíznak \"startovací\""
 
-#: fdisk/fdisk.c:343
+#: fdisk/fdisk.c:342
 msgid "   c   toggle the dos compatibility flag"
 msgstr "   c   pøepne pøíznak \"DOS kompatibilní\""
 
-#: fdisk/fdisk.c:364
+#: fdisk/fdisk.c:363
 msgid "   a   change number of alternate cylinders"
 msgstr "   a   zmìní mno¾ství alternativních cylindrù"
 
 #. sun
-#: fdisk/fdisk.c:365 fdisk/fdisk.c:383
+#: fdisk/fdisk.c:364 fdisk/fdisk.c:382
 msgid "   c   change number of cylinders"
 msgstr "   c   zmìní mno¾ství cylindrù"
 
-#: fdisk/fdisk.c:366 fdisk/fdisk.c:384
+#: fdisk/fdisk.c:365 fdisk/fdisk.c:383
 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:367
+#: fdisk/fdisk.c:366
 msgid "   e   change number of extra sectors per cylinder"
 msgstr "   e   zmìní mno¾ství extra sektorù na stopu"
 
 #. sun
-#: fdisk/fdisk.c:368 fdisk/fdisk.c:387
+#: fdisk/fdisk.c:367 fdisk/fdisk.c:386
 msgid "   h   change number of heads"
 msgstr "   h   zmìní mno¾ství hlav"
 
-#: fdisk/fdisk.c:369
+#: fdisk/fdisk.c:368
 msgid "   i   change interleave factor"
 msgstr "   i   zmìní prokládací faktor"
 
 #. sun
-#: fdisk/fdisk.c:370
+#: fdisk/fdisk.c:369
 msgid "   o   change rotation speed (rpm)"
 msgstr "   o   zmìní rychlost otáèení"
 
-#: fdisk/fdisk.c:374 fdisk/fdisk.c:391 fdisk/fdiskbsdlabel.c:115
+#: fdisk/fdisk.c:373 fdisk/fdisk.c:390 fdisk/fdiskbsdlabel.c:115
 msgid "   r   return to main menu"
 msgstr "   r   návrat do hlavní nabídky"
 
-#: fdisk/fdisk.c:375 fdisk/fdisk.c:392
+#: fdisk/fdisk.c:374 fdisk/fdisk.c:391
 msgid "   s   change number of sectors/track"
 msgstr "   s   zmìní poèet sektorù/stopu"
 
-#: fdisk/fdisk.c:378
+#: fdisk/fdisk.c:377
 msgid "   y   change number of physical cylinders"
 msgstr "   y   zmìní poèet fyzických cylindrù"
 
-#: fdisk/fdisk.c:382
+#: fdisk/fdisk.c:381
 msgid "   b   move beginning of data in a partition"
 msgstr "   b   posune poèátek dat v diskovém oddílu"
 
-#: fdisk/fdisk.c:385
+#: fdisk/fdisk.c:384
 msgid "   e   list extended partitions"
 msgstr "   e   vypí¹e roz¹íøené diskové oddíly"
 
 #. !sun
-#: fdisk/fdisk.c:386
+#: fdisk/fdisk.c:385
 msgid "   g   create an IRIX partition table"
 msgstr "   g   vytvoøí IRIX tabulku rozdìlení disku"
 
-#: fdisk/fdisk.c:482
+#: fdisk/fdisk.c:481
 msgid "You must set"
 msgstr "Musíte nastavit"
 
-#: fdisk/fdisk.c:496
+#: fdisk/fdisk.c:495
 msgid "heads"
 msgstr "hlavy"
 
-#: fdisk/fdisk.c:498 fdisk/fdisk.c:906 fdisk/sfdisk.c:842
+#: fdisk/fdisk.c:497 fdisk/fdisk.c:905 fdisk/sfdisk.c:842
 msgid "sectors"
 msgstr "sektory"
 
-#: fdisk/fdisk.c:500 fdisk/fdisk.c:906 fdisk/fdiskbsdlabel.c:442
+#: fdisk/fdisk.c:499 fdisk/fdisk.c:905 fdisk/fdiskbsdlabel.c:444
 #: fdisk/sfdisk.c:842
 msgid "cylinders"
 msgstr "cylindry"
 
-#: fdisk/fdisk.c:504
+#: fdisk/fdisk.c:503
 #, c-format
 msgid ""
 "%s%s.\n"
@@ -2356,30 +2490,30 @@ msgstr ""
 "%s%s.\n"
 "Mù¾ete tak uèinit z nabídky roz¹iøujících funkcí.\n"
 
-#: fdisk/fdisk.c:505
+#: fdisk/fdisk.c:504
 msgid " and "
 msgstr " a "
 
-#: fdisk/fdisk.c:539
+#: fdisk/fdisk.c:538
 msgid "Bad offset in primary extended partition\n"
 msgstr "Chybný posun v primárním diskovém oddílu\n"
 
-#: fdisk/fdisk.c:546
+#: fdisk/fdisk.c:545
 #, c-format
 msgid "Warning: deleting partitions after %d\n"
 msgstr "Varování: ma¾u diskový oddíl za %d\n"
 
-#: fdisk/fdisk.c:567
+#: fdisk/fdisk.c:566
 #, 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:575
+#: fdisk/fdisk.c:574
 #, 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:601
+#: fdisk/fdisk.c:600
 msgid ""
 "Building a new DOS disklabel. Changes will remain in memory only,\n"
 "until you decide to write them. After that, of course, the previous\n"
@@ -2392,16 +2526,16 @@ msgstr ""
 "data\n"
 "pochopitelnì dostupná.\n"
 
-#: fdisk/fdisk.c:637
+#: fdisk/fdisk.c:636
 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:646
+#: fdisk/fdisk.c:645
 #, c-format
 msgid "Note: sector size is %d (not %d)\n"
 msgstr "Pozor: velikost sektoru je %d (nikoliv %d)\n"
 
-#: fdisk/fdisk.c:694
+#: fdisk/fdisk.c:693
 msgid ""
 "Device contains neither a valid DOS partition table, nor Sun or SGI "
 "disklabel\n"
@@ -2410,16 +2544,16 @@ msgstr ""
 "popis\n"
 "disku\n"
 
-#: fdisk/fdisk.c:710
+#: fdisk/fdisk.c:709
 msgid "Internal error\n"
 msgstr "Vnitøní chyba\n"
 
-#: fdisk/fdisk.c:720
+#: fdisk/fdisk.c:719
 #, c-format
 msgid "Ignoring extra extended partition %d\n"
 msgstr "Nadbyteèný roz¹íøený diskový oddíl %d ignorován.\n"
 
-#: fdisk/fdisk.c:727
+#: fdisk/fdisk.c:726
 #, c-format
 msgid ""
 "Warning: invalid flag 0x%04x of partition table %d will be corrected by "
@@ -2428,7 +2562,7 @@ msgstr ""
 "Varování: chybný pøíznak 0x%04x tabulky rozdìlení disku %d bude opraven "
 "zápisem(w)\n"
 
-#: fdisk/fdisk.c:748
+#: fdisk/fdisk.c:747
 msgid ""
 "\n"
 "got EOF thrice - exiting..\n"
@@ -2436,65 +2570,65 @@ msgstr ""
 "\n"
 "tøikrát jsem nalezl EOF - konèím..\n"
 
-#: fdisk/fdisk.c:785
+#: fdisk/fdisk.c:784
 msgid "Hex code (type L to list codes): "
 msgstr "©estnáctkovì (L vypí¹e kódy):"
 
-#: fdisk/fdisk.c:824
+#: fdisk/fdisk.c:823
 #, c-format
 msgid "%s (%d-%d, default %d): "
 msgstr "%s (%d-%d, implicitnì %d): "
 
-#: fdisk/fdisk.c:878
+#: fdisk/fdisk.c:877
 #, c-format
 msgid "Using default value %d\n"
 msgstr "Pou¾ívám implicitní hodnotu %d\n"
 
-#: fdisk/fdisk.c:882
+#: fdisk/fdisk.c:881
 msgid "Value out of range.\n"
 msgstr "Hodnota je mimo meze.\n"
 
-#: fdisk/fdisk.c:889
+#: fdisk/fdisk.c:888
 msgid "Partition number"
 msgstr "Èíslo diskového oddílu"
 
-#: fdisk/fdisk.c:897
+#: fdisk/fdisk.c:896
 #, 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:904
+#: fdisk/fdisk.c:903
 msgid "cylinder"
 msgstr "cylindr"
 
-#: fdisk/fdisk.c:904
+#: fdisk/fdisk.c:903
 msgid "sector"
 msgstr "sektor"
 
-#: fdisk/fdisk.c:913
+#: fdisk/fdisk.c:912
 #, c-format
 msgid "Changing display/entry units to %s\n"
 msgstr "Mìním jednotky v nich¾ jsou vypisovány informace na %sy\n"
 
-#: fdisk/fdisk.c:923
+#: fdisk/fdisk.c:922
 #, 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:936
+#: fdisk/fdisk.c:935
 msgid "DOS Compatibility flag is set\n"
 msgstr "Pøíznak DOSOVÉ kompatibility je nastaven.\n"
 
-#: fdisk/fdisk.c:940
+#: fdisk/fdisk.c:939
 msgid "DOS Compatibility flag is not set\n"
 msgstr "Pøíznak DOSOVÉ kompatibility není nastaven.\n"
 
-#: fdisk/fdisk.c:1026
+#: fdisk/fdisk.c:1025
 #, c-format
 msgid "Partition %d does not exist yet!\n"
 msgstr "Diskový oddíl %d zatím neexistuje!\n"
 
-#: fdisk/fdisk.c:1031
+#: fdisk/fdisk.c:1030
 msgid ""
 "Type 0 means free space to many systems\n"
 "(but not to Linux). Having partitions of\n"
@@ -2505,7 +2639,7 @@ msgstr ""
 "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:1040
+#: fdisk/fdisk.c:1039
 msgid ""
 "You cannot change a partition into an extended one or vice versa\n"
 "Delete it first.\n"
@@ -2513,7 +2647,7 @@ 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:1049
+#: fdisk/fdisk.c:1048
 msgid ""
 "Consider leaving partition 3 as Whole disk (5),\n"
 "as SunOS/Solaris expects it and even Linux likes it.\n"
@@ -2523,7 +2657,7 @@ msgstr ""
 "nebo» SunOS/Solaris to oèekává a i Linux tomu dává pøednost.\n"
 "\n"
 
-#: fdisk/fdisk.c:1055
+#: fdisk/fdisk.c:1054
 msgid ""
 "Consider leaving partition 9 as volume header (0),\n"
 "and partition 11 as entire volume (6)as IRIX expects it.\n"
@@ -2534,53 +2668,53 @@ msgstr ""
 "a diskový oddíl 11 jako celý svazek (6), nebo» IRIX to oèekává.\n"
 "\n"
 
-#: fdisk/fdisk.c:1069
+#: fdisk/fdisk.c:1068
 #, 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:1122
+#: fdisk/fdisk.c:1121
 #, 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:1124 fdisk/fdisk.c:1132 fdisk/fdisk.c:1141 fdisk/fdisk.c:1150
+#: fdisk/fdisk.c:1123 fdisk/fdisk.c:1131 fdisk/fdisk.c:1140 fdisk/fdisk.c:1149
 #, c-format
 msgid "     phys=(%d, %d, %d) "
 msgstr "     fyz=(%d, %d, %d) "
 
-#: fdisk/fdisk.c:1125 fdisk/fdisk.c:1133
+#: fdisk/fdisk.c:1124 fdisk/fdisk.c:1132
 #, c-format
 msgid "logical=(%d, %d, %d)\n"
 msgstr "logický=(%d, %d, %d)\n"
 
-#: fdisk/fdisk.c:1130
+#: fdisk/fdisk.c:1129
 #, 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:1139
+#: fdisk/fdisk.c:1138
 #, 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:1142
+#: fdisk/fdisk.c:1141
 #, c-format
 msgid "should be (%d, %d, 1)\n"
 msgstr "mìlo by být (%d, %d, 1)\n"
 
-#: fdisk/fdisk.c:1148
+#: fdisk/fdisk.c:1147
 #, 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:1151
+#: fdisk/fdisk.c:1150
 #, c-format
 msgid "should be (%d, %d, %d)\n"
 msgstr "mìlo by být (%d, %d, %d)\n"
 
-#: fdisk/fdisk.c:1158
+#: fdisk/fdisk.c:1157
 #, c-format
 msgid ""
 "\n"
@@ -2594,16 +2728,16 @@ msgstr ""
 
 #. FIXME! let's see how this shows up with other languagues
 #. acme@conectiva.com.br
-#: fdisk/fdisk.c:1195
+#: fdisk/fdisk.c:1194
 #, c-format
 msgid "%*s Boot    Start       End    Blocks   Id  System\n"
 msgstr "%*s Boot    Zaèátek     Konec  Bloky    Id  Systém\n"
 
-#: fdisk/fdisk.c:1196 fdisk/fdisksgilabel.c:207 fdisk/fdisksunlabel.c:631
+#: fdisk/fdisk.c:1195 fdisk/fdisksgilabel.c:207 fdisk/fdisksunlabel.c:631
 msgid "Device"
 msgstr "Zaøízení"
 
-#: fdisk/fdisk.c:1236
+#: fdisk/fdisk.c:1235
 #, c-format
 msgid ""
 "\n"
@@ -2614,106 +2748,106 @@ msgstr ""
 "Disk %s: hlav: %d, sektorù: %d, cylindrù: %d\n"
 "\n"
 
-#: fdisk/fdisk.c:1238
-msgid "Nr AF  Hd Sec  Cyl  Hd Sec  Cyl   Start    Size ID\n"
-msgstr "È  AF  Hd Sek  Cyl  Hd Sek  Cyl   Start    Vel  ID\n"
+#: fdisk/fdisk.c:1237
+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:1277
+#: fdisk/fdisk.c:1276
 #, c-format
 msgid "Warning: partition %d contains sector 0\n"
 msgstr "Varování: diskový oddíl %d obsahuje sektor 0\n"
 
-#: fdisk/fdisk.c:1280
+#: fdisk/fdisk.c:1279
 #, 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:1283
+#: fdisk/fdisk.c:1282
 #, c-format
 msgid "Partition %d: sector %d greater than maximum %d\n"
 msgstr "Diskový oddíl %d: sektor %d má vìt¹í èíslo ne¾ je maximum %d\n"
 
-#: fdisk/fdisk.c:1286
+#: fdisk/fdisk.c:1285
 #, 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:1290
+#: fdisk/fdisk.c:1289
 #, 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:1320
+#: fdisk/fdisk.c:1319
 #, 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:1328
+#: fdisk/fdisk.c:1327
 #, 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:1346
+#: fdisk/fdisk.c:1345
 #, c-format
 msgid "Warning: partition %d is empty\n"
 msgstr "Varování: diskový oddíl %d je prázdný.\n"
 
-#: fdisk/fdisk.c:1351
+#: fdisk/fdisk.c:1350
 #, 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:1357
+#: fdisk/fdisk.c:1356
 #, c-format
 msgid "Total allocated sectors %d greater than the maximum %d\n"
 msgstr "Celkový poèet alokovaných sektorù (%d) je vìt¹í ne¾ maximum (%d).\n"
 
-#: fdisk/fdisk.c:1360
+#: fdisk/fdisk.c:1359
 #, c-format
 msgid "%d unallocated sectors\n"
 msgstr "nealokovaných sektorù: %d\n"
 
-#: fdisk/fdisk.c:1372 fdisk/fdisksgilabel.c:684 fdisk/fdisksunlabel.c:479
+#: fdisk/fdisk.c:1371 fdisk/fdisksgilabel.c:684 fdisk/fdisksunlabel.c:479
 #, 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:1393 fdisk/fdiskbsdlabel.c:252 fdisk/fdisksgilabel.c:706
+#: fdisk/fdisk.c:1392 fdisk/fdiskbsdlabel.c:252 fdisk/fdisksgilabel.c:706
 #: fdisk/fdisksunlabel.c:494
 #, c-format
 msgid "First %s"
 msgstr "První %s"
 
-#: fdisk/fdisk.c:1408 fdisk/fdisksunlabel.c:519
+#: fdisk/fdisk.c:1407 fdisk/fdisksunlabel.c:519
 #, c-format
 msgid "Sector %d is already allocated\n"
 msgstr "Sektor %d je ji¾ alokován\n"
 
-#: fdisk/fdisk.c:1440
+#: fdisk/fdisk.c:1439
 msgid "No free sectors available\n"
 msgstr "Nejsou ¾ádné volné sektory.\n"
 
-#: fdisk/fdisk.c:1450 fdisk/fdiskbsdlabel.c:256 fdisk/fdisksunlabel.c:529
+#: fdisk/fdisk.c:1449 fdisk/fdiskbsdlabel.c:259 fdisk/fdisksunlabel.c:529
 #, c-format
 msgid "Last %s or +size or +sizeM or +sizeK"
 msgstr "Poslední %s èi +velikost èi +velikostM èi velikostK"
 
-#: fdisk/fdisk.c:1480
+#: fdisk/fdisk.c:1479
 #, c-format
 msgid "Warning: partition %d has an odd number of sectors.\n"
 msgstr "Varování: diskový oddíl %d má lichý poèet sektorù.\n"
 
-#: fdisk/fdisk.c:1517 fdisk/fdiskbsdlabel.c:591
+#: fdisk/fdisk.c:1516 fdisk/fdiskbsdlabel.c:593
 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/fdisk.c:1527
+#: fdisk/fdisk.c:1526
 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:1531
+#: fdisk/fdisk.c:1530
 #, c-format
 msgid ""
 "Command action\n"
@@ -2724,30 +2858,30 @@ msgstr ""
 "   %s\n"
 "   p   primární diskový oddíl (1-4)\n"
 
-#: fdisk/fdisk.c:1533
+#: fdisk/fdisk.c:1532
 msgid "l   logical (5 or over)"
-msgstr "l   logický (5 a více)"
+msgstr "l   logický diskový oddíl (5 nebo více)"
 
-#: fdisk/fdisk.c:1533
+#: fdisk/fdisk.c:1532
 msgid "e   extended"
-msgstr "e   roz¹íøený"
+msgstr "e   roz¹íøený diskový oddíl"
 
-#: fdisk/fdisk.c:1550
+#: fdisk/fdisk.c:1549
 #, c-format
 msgid "Invalid partition number for type `%c'\n"
 msgstr "Chybné èíslo diskového oddílu pro typ `%c'.\n"
 
-#: fdisk/fdisk.c:1582
+#: fdisk/fdisk.c:1581
 msgid ""
 "The partition table has been altered!\n"
 "\n"
 msgstr "Tabulka rozdìlení disku byla zmìnìna!\n"
 
-#: fdisk/fdisk.c:1591
+#: fdisk/fdisk.c:1590
 msgid "Calling ioctl() to re-read partition table.\n"
 msgstr "Volám ioctl() pro znovunaètení tabulky rozdìlení disku.\n"
 
-#: fdisk/fdisk.c:1607
+#: fdisk/fdisk.c:1606
 #, c-format
 msgid ""
 "Re-read table failed with error %d: %s.\n"
@@ -2756,7 +2890,7 @@ msgstr ""
 "Opìtovné naètení tabulky rozdìlení disku skonèilo s chybou %d: %s.\n"
 "Restartujte systém, aby tabulka byla zmìnìna.\n"
 
-#: fdisk/fdisk.c:1613
+#: fdisk/fdisk.c:1612
 msgid ""
 "\n"
 "WARNING: If you have created or modified any DOS 6.x\n"
@@ -2768,60 +2902,65 @@ msgstr ""
 "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:1620
+#: fdisk/fdisk.c:1619
 msgid "Syncing disks.\n"
 msgstr "Synchronizují se disky.\n"
 
-#: fdisk/fdisk.c:1651
+#: fdisk/fdisk.c:1650
 #, c-format
 msgid "Device: %s\n"
 msgstr "Zaøízení: %s\n"
 
-#: fdisk/fdisk.c:1666
+#: fdisk/fdisk.c:1665
 #, c-format
 msgid "Partition %d has no data area\n"
 msgstr "Diskový oddíl %d neobsahuje datovou oblast.\n"
 
-#: fdisk/fdisk.c:1672
+#: fdisk/fdisk.c:1671
 msgid "New beginning of data"
 msgstr "Nový zaèátek dat"
 
-#: fdisk/fdisk.c:1686
+#: fdisk/fdisk.c:1685
 msgid "Expert command (m for help): "
 msgstr "Pøíkaz pro odborníky (m pro nápovìdu): "
 
-#: fdisk/fdisk.c:1697
+#: fdisk/fdisk.c:1696
 msgid "Number of cylinders"
 msgstr "Poèet cylindrù"
 
-#: fdisk/fdisk.c:1718
+#: fdisk/fdisk.c:1717
 msgid "Number of heads"
 msgstr "Poèet hlav"
 
-#: fdisk/fdisk.c:1743
+#: fdisk/fdisk.c:1742
 msgid "Number of sectors"
 msgstr "Poèet sektorù"
 
-#: fdisk/fdisk.c:1746
+#: fdisk/fdisk.c:1745
 msgid "Warning: setting sector offset for DOS compatiblity\n"
 msgstr "Varování: nastaven posun sektoru kvùli kompatibilitì s DOSEM\n"
 
-#: fdisk/fdisk.c:1808
+#: fdisk/fdisk.c:1807
 #, 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:1822
+#: fdisk/fdisk.c:1821
 #, c-format
 msgid "Cannot open %s\n"
 msgstr "%s nelze otevøít.\n"
 
-#: fdisk/fdisk.c:1887
+#: fdisk/fdisk.c:1838
+#, c-format
+msgid "cannot open %s\n"
+msgstr "%s nelze otevøít.\n"
+
+#: fdisk/fdisk.c:1911
 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:1890
+#: fdisk/fdisk.c:1914
 msgid ""
 "Warning: the -b (set sector size) option should be used with one specified "
 "device\n"
@@ -2830,11 +2969,11 @@ msgstr ""
 "jedním\n"
 "          zadaným zaøízením.\n"
 
-#: fdisk/fdisk.c:1948
+#: fdisk/fdisk.c:1973
 msgid "Command (m for help): "
 msgstr "Pøíkaz (m pro nápovìdu): "
 
-#: fdisk/fdisk.c:1962
+#: fdisk/fdisk.c:1987
 #, c-format
 msgid ""
 "\n"
@@ -2843,15 +2982,15 @@ msgstr ""
 "\n"
 "Aktuální startovací soubor: %s\n"
 
-#: fdisk/fdisk.c:1964
+#: fdisk/fdisk.c:1989
 msgid "Please enter the name of the new boot file: "
 msgstr "Zadejte jméno nového startovacího souboru: "
 
-#: fdisk/fdisk.c:1966
+#: fdisk/fdisk.c:1991
 msgid "Boot file unchanged\n"
 msgstr "Startovací soubor nebyl zmìnìn.\n"
 
-#: fdisk/fdisk.c:2026
+#: fdisk/fdisk.c:2051
 msgid ""
 "\n"
 "\tSorry, no experts menu for SGI partition tables available.\n"
@@ -2956,107 +3095,107 @@ msgstr "Na %s se nenach
 msgid "BSD disklabel command (m for help): "
 msgstr "Pøíkaz pro BSD tabulku rozdìlení disku (m pro nápovìdu): "
 
-#: fdisk/fdiskbsdlabel.c:286
+#: fdisk/fdiskbsdlabel.c:288
 #, c-format
 msgid "type: %s\n"
 msgstr "typ: %s\n"
 
-#: fdisk/fdiskbsdlabel.c:288
+#: fdisk/fdiskbsdlabel.c:290
 #, c-format
 msgid "type: %d\n"
 msgstr "typ: %d\n"
 
-#: fdisk/fdiskbsdlabel.c:289
+#: fdisk/fdiskbsdlabel.c:291
 #, c-format
 msgid "disk: %.*s\n"
 msgstr "disk: %.*s\n"
 
-#: fdisk/fdiskbsdlabel.c:290
+#: fdisk/fdiskbsdlabel.c:292
 #, c-format
 msgid "label: %.*s\n"
 msgstr "tabulka: %.*s\n"
 
-#: fdisk/fdiskbsdlabel.c:291
+#: fdisk/fdiskbsdlabel.c:293
 msgid "flags:"
 msgstr "pøíznaky:"
 
-#: fdisk/fdiskbsdlabel.c:293
+#: fdisk/fdiskbsdlabel.c:295
 msgid " removable"
 msgstr " výmìnný"
 
 # ???
-#: fdisk/fdiskbsdlabel.c:295
+#: fdisk/fdiskbsdlabel.c:297
 msgid " ecc"
 msgstr " ecc"
 
-#: fdisk/fdiskbsdlabel.c:297
+#: fdisk/fdiskbsdlabel.c:299
 msgid " badsect"
 msgstr " chybnýsekt"
 
 #. On various machines the fields of *lp are short/int/long
 #. In order to avoid problems, we cast them all to long.
-#: fdisk/fdiskbsdlabel.c:301
+#: fdisk/fdiskbsdlabel.c:303
 #, c-format
 msgid "bytes/sector: %ld\n"
 msgstr "bajtù/sektor: %ld\n"
 
-#: fdisk/fdiskbsdlabel.c:302
+#: fdisk/fdiskbsdlabel.c:304
 #, c-format
 msgid "sectors/track: %ld\n"
 msgstr "sektorù/stopu: %ld\n"
 
-#: fdisk/fdiskbsdlabel.c:303
+#: fdisk/fdiskbsdlabel.c:305
 #, c-format
 msgid "tracks/cylinder: %ld\n"
 msgstr "stop/cylindr: %ld\n"
 
-#: fdisk/fdiskbsdlabel.c:304
+#: fdisk/fdiskbsdlabel.c:306
 #, c-format
 msgid "sectors/cylinder: %ld\n"
 msgstr "sektorù/cylindr: %ld\n"
 
-#: fdisk/fdiskbsdlabel.c:305
+#: fdisk/fdiskbsdlabel.c:307
 #, c-format
 msgid "cylinders: %ld\n"
 msgstr "cylindrù: %ld\n"
 
-#: fdisk/fdiskbsdlabel.c:306
+#: fdisk/fdiskbsdlabel.c:308
 #, c-format
 msgid "rpm: %d\n"
 msgstr "otm: %d\n"
 
 # *skew ??? 
 # zde pøeklad spí¹e odhaduji
-#: fdisk/fdiskbsdlabel.c:307
+#: fdisk/fdiskbsdlabel.c:309
 #, c-format
 msgid "interleave: %d\n"
 msgstr "interleave: %d\n"
 
-#: fdisk/fdiskbsdlabel.c:308
+#: fdisk/fdiskbsdlabel.c:310
 #, c-format
 msgid "trackskew: %d\n"
 msgstr "zakøivení stopy: %d\n"
 
-#: fdisk/fdiskbsdlabel.c:309
+#: fdisk/fdiskbsdlabel.c:311
 #, c-format
 msgid "cylinderskew: %d\n"
 msgstr "zakøivení cylindru: %d\n"
 
-#: fdisk/fdiskbsdlabel.c:310
+#: fdisk/fdiskbsdlabel.c:312
 #, c-format
 msgid "headswitch: %ld\t\t# milliseconds\n"
 msgstr "pøesun hlavy: %ld\t\t# milisekund\n"
 
-#: fdisk/fdiskbsdlabel.c:311
+#: fdisk/fdiskbsdlabel.c:313
 #, c-format
 msgid "track-to-track seek: %ld\t# milliseconds\n"
 msgstr "posun stopa-stopa: %ld\t# milisekund\n"
 
-#: fdisk/fdiskbsdlabel.c:312
+#: fdisk/fdiskbsdlabel.c:314
 msgid "drivedata: "
 msgstr "diskdata: "
 
-#: fdisk/fdiskbsdlabel.c:321
+#: fdisk/fdiskbsdlabel.c:323
 #, c-format
 msgid ""
 "\n"
@@ -3065,112 +3204,112 @@ msgstr ""
 "\n"
 "poèet diskových oddílù - %d:\n"
 
-#: fdisk/fdiskbsdlabel.c:322
+#: fdisk/fdiskbsdlabel.c:324
 msgid "#        size   offset    fstype   [fsize bsize   cpg]\n"
 msgstr "#       velik  posun     typ ss   [fsize bsize   cpg]\n"
 
-#: fdisk/fdiskbsdlabel.c:378
+#: fdisk/fdiskbsdlabel.c:380
 #, c-format
 msgid "Writing disklabel to %s%d.\n"
 msgstr "Ukládám tabulku rozdìlení disku na %s%d.\n"
 
-#: fdisk/fdiskbsdlabel.c:381
+#: fdisk/fdiskbsdlabel.c:383
 #, c-format
 msgid "Writing disklabel to %s.\n"
 msgstr "Ukládám tabulku rozdìlení disku na %s.\n"
 
-#: fdisk/fdiskbsdlabel.c:393
+#: fdisk/fdiskbsdlabel.c:395
 #, c-format
 msgid "%s%d contains no disklabel.\n"
 msgstr "Na %s%d se nenachází ¾ádná tabulka rozdìlení disku.\n"
 
-#: fdisk/fdiskbsdlabel.c:396
+#: fdisk/fdiskbsdlabel.c:398
 #, c-format
 msgid "%s contains no disklabel.\n"
 msgstr "Na %s se nenachází ¾ádná tabulka rozdìlení disku.\n"
 
-#: fdisk/fdiskbsdlabel.c:400
+#: fdisk/fdiskbsdlabel.c:402
 msgid "Do you want to create a disklabel? (y/n) "
 msgstr "Chcete vytvoøit tabulku rozdìlení disku? (y/n)"
 
-#: fdisk/fdiskbsdlabel.c:439
+#: fdisk/fdiskbsdlabel.c:441
 msgid "bytes/sector"
 msgstr "bajtù/sektor"
 
-#: fdisk/fdiskbsdlabel.c:440
+#: fdisk/fdiskbsdlabel.c:442
 msgid "sectors/track"
 msgstr "sektorù/stopu"
 
-#: fdisk/fdiskbsdlabel.c:441
+#: fdisk/fdiskbsdlabel.c:443
 msgid "tracks/cylinder"
 msgstr "stop/cylindr"
 
-#: fdisk/fdiskbsdlabel.c:449
+#: fdisk/fdiskbsdlabel.c:451
 msgid "sectors/cylinder"
 msgstr "sektorù/cylindr"
 
-#: fdisk/fdiskbsdlabel.c:453
+#: fdisk/fdiskbsdlabel.c:455
 msgid "Must be <= sectors/track * tracks/cylinder (default).\n"
 msgstr "Musí být <= sektorù/stopu * stop/cylindr (implicitní).\n"
 
-#: fdisk/fdiskbsdlabel.c:455
+#: fdisk/fdiskbsdlabel.c:457
 msgid "rpm"
 msgstr "otm"
 
-#: fdisk/fdiskbsdlabel.c:456
+#: fdisk/fdiskbsdlabel.c:458
 msgid "interleave"
 msgstr "interleave"
 
-#: fdisk/fdiskbsdlabel.c:457
+#: fdisk/fdiskbsdlabel.c:459
 msgid "trackskew"
 msgstr "zakøivení stopy"
 
-#: fdisk/fdiskbsdlabel.c:458
+#: fdisk/fdiskbsdlabel.c:460
 msgid "cylinderskew"
 msgstr "zakøivení cylindru"
 
-#: fdisk/fdiskbsdlabel.c:459
+#: fdisk/fdiskbsdlabel.c:461
 msgid "headswitch"
 msgstr "pøesun hlavy"
 
-#: fdisk/fdiskbsdlabel.c:460
+#: fdisk/fdiskbsdlabel.c:462
 msgid "track-to-track seek"
 msgstr "posun stopa-stopa"
 
-#: fdisk/fdiskbsdlabel.c:501
+#: fdisk/fdiskbsdlabel.c:503
 #, c-format
 msgid "Bootstrap: %sboot -> boot%s (%s): "
 msgstr "Zavadìè: %sstart -> start%s (%s): "
 
-#: fdisk/fdiskbsdlabel.c:527
+#: fdisk/fdiskbsdlabel.c:529
 msgid "Bootstrap overlaps with disk label!\n"
 msgstr "Zavadìè pøesahuje do tabulky rozdìlení disku!\n"
 
-#: fdisk/fdiskbsdlabel.c:548
+#: fdisk/fdiskbsdlabel.c:550
 #, c-format
 msgid "Bootstrap installed on %s%d.\n"
 msgstr "Zavadìè instalován na %s%d.\n"
 
-#: fdisk/fdiskbsdlabel.c:550
+#: fdisk/fdiskbsdlabel.c:552
 #, c-format
 msgid "Bootstrap installed on %s.\n"
 msgstr "Zavadìè instalován na %s.\n"
 
-#: fdisk/fdiskbsdlabel.c:571
+#: fdisk/fdiskbsdlabel.c:573
 #, c-format
 msgid "Partition (a-%c): "
 msgstr "Diskový oddíl (a-%c): "
 
-#: fdisk/fdiskbsdlabel.c:602
+#: fdisk/fdiskbsdlabel.c:604
 msgid "This partition already exists.\n"
 msgstr "Tento diskový oddíl ji¾ existuje.\n"
 
-#: fdisk/fdiskbsdlabel.c:724
+#: fdisk/fdiskbsdlabel.c:726
 #, 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:770
+#: fdisk/fdiskbsdlabel.c:772
 msgid ""
 "\n"
 "Syncing disks.\n"
@@ -5180,8 +5319,10 @@ msgid ""
 "or\t[-hiLmw] [-l login_program] [-t timeout] [-I initstring] [-H login_host] "
 "line baud_rate,... [termtype]\n"
 msgstr ""
-"Pou¾ití: %s [-hiLmw] [-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"
+"Pou¾ití: %s [-hiLmw] [-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:46
 #, c-format
@@ -5221,52 +5362,52 @@ msgstr "P
 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:135 login-utils/chsh.c:118
+#: login-utils/chfn.c:134 login-utils/chsh.c:117
 #, c-format
 msgid "%s: you (user %d) don't exist.\n"
 msgstr "%s: vy (u¾ivatel %d) neexistujete.\n"
 
-#: login-utils/chfn.c:142 login-utils/chsh.c:125
+#: login-utils/chfn.c:141 login-utils/chsh.c:124
 #, c-format
 msgid "%s: user \"%s\" does not exist.\n"
 msgstr "%s: u¾ivatel \"%s\" neexistuje.\n"
 
-#: login-utils/chfn.c:147 login-utils/chsh.c:130
+#: login-utils/chfn.c:146 login-utils/chsh.c:129
 #, 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:159
+#: login-utils/chfn.c:158
 #, c-format
 msgid "Changing finger information for %s.\n"
 msgstr "Mìním finger informace o %s.\n"
 
-#: login-utils/chfn.c:165 login-utils/chfn.c:169 login-utils/chfn.c:176
-#: login-utils/chfn.c:180 login-utils/chsh.c:154 login-utils/chsh.c:158
-#: login-utils/chsh.c:165 login-utils/chsh.c:169
+#: login-utils/chfn.c:164 login-utils/chfn.c:168 login-utils/chfn.c:175
+#: login-utils/chfn.c:179 login-utils/chsh.c:153 login-utils/chsh.c:157
+#: login-utils/chsh.c:164 login-utils/chsh.c:168
 msgid "Password error."
 msgstr "Chybné heslo."
 
-#: login-utils/chfn.c:189 login-utils/chsh.c:178 login-utils/login.c:684
+#: login-utils/chfn.c:188 login-utils/chsh.c:177 login-utils/login.c:684
 #: login-utils/newgrp.c:47 login-utils/simpleinit.c:219 mount/lomount.c:200
 #: mount/lomount.c:206 mount/losetup.c:116 mount/losetup.c:122
 msgid "Password: "
 msgstr "Heslo: "
 
-#: login-utils/chfn.c:192 login-utils/chsh.c:181
+#: login-utils/chfn.c:191 login-utils/chsh.c:180
 msgid "Incorrect password."
 msgstr "Chybné heslo."
 
-#: login-utils/chfn.c:203
+#: login-utils/chfn.c:202
 msgid "Finger information not changed.\n"
 msgstr "Finger informace nebyly zmìnìny.\n"
 
-#: login-utils/chfn.c:306
+#: login-utils/chfn.c:305
 #, c-format
 msgid "Usage: %s [ -f full-name ] [ -o office ] "
 msgstr "Pou¾ití: %s [ -f plné-jméno ] [ -o kanceláø ] "
 
-#: login-utils/chfn.c:307
+#: login-utils/chfn.c:306
 msgid ""
 "[ -p office-phone ]\n"
 "\t[ -h home-phone ] "
@@ -5274,11 +5415,11 @@ msgstr ""
 "[ -p telefon-do-kanceláøe ]\n"
 "\t[ -h telefon-domù ] "
 
-#: login-utils/chfn.c:308
+#: login-utils/chfn.c:307
 msgid "[ --help ] [ --version ]\n"
 msgstr "[ --help ] [ -- version ]\n"
 
-#: login-utils/chfn.c:377 login-utils/chsh.c:294
+#: login-utils/chfn.c:376 login-utils/chsh.c:293
 msgid ""
 "\n"
 "Aborted.\n"
@@ -5286,121 +5427,121 @@ msgstr ""
 "\n"
 "Ukonèen.\n"
 
-#: login-utils/chfn.c:410
+#: login-utils/chfn.c:409
 msgid "field is too long.\n"
 msgstr "Polo¾ka je pøíli¹ dlouhá.\n"
 
-#: login-utils/chfn.c:418
+#: login-utils/chfn.c:417
 #, c-format
 msgid "'%c' is not allowed.\n"
 msgstr "'%c' není povoleno.\n"
 
-#: login-utils/chfn.c:423
+#: login-utils/chfn.c:422
 msgid "Control characters are not allowed.\n"
 msgstr "Kontrolní znaky nejsou povoleny.\n"
 
-#: login-utils/chfn.c:488
+#: login-utils/chfn.c:487
 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:491
+#: login-utils/chfn.c:490
 msgid "Finger information changed.\n"
 msgstr "Finger informace byly zmìnìny.\n"
 
-#: login-utils/chfn.c:505 login-utils/chsh.c:412 sys-utils/cytune.c:324
+#: login-utils/chfn.c:504 login-utils/chsh.c:411 sys-utils/cytune.c:324
 msgid "malloc failed"
 msgstr "volání malloc selhalo"
 
-#: login-utils/chsh.c:141
+#: login-utils/chsh.c:140
 #, 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:148
+#: login-utils/chsh.c:147
 #, c-format
 msgid "Changing shell for %s.\n"
 msgstr "Mìním shell pro %s.\n"
 
-#: login-utils/chsh.c:189
+#: login-utils/chsh.c:188
 msgid "New shell"
 msgstr "Nový shell"
 
-#: login-utils/chsh.c:196
+#: login-utils/chsh.c:195
 msgid "Shell not changed.\n"
 msgstr "Shell nebyl zmìnìn.\n"
 
-#: login-utils/chsh.c:203
+#: login-utils/chsh.c:202
 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:206
+#: login-utils/chsh.c:205
 msgid "Shell changed.\n"
 msgstr "Shell byl zmìnìn.\n"
 
-#: login-utils/chsh.c:274
+#: login-utils/chsh.c:273
 #, c-format
 msgid "Usage: %s [ -s shell ] "
 msgstr "Pou¾ití: %s [ -s shell ] "
 
-#: login-utils/chsh.c:275
+#: login-utils/chsh.c:274
 msgid "[ --list-shells ] [ --help ] [ --version ]\n"
 msgstr "[ --list-shells ] [ --help ] [ --version ]\n"
 
-#: login-utils/chsh.c:276
+#: login-utils/chsh.c:275
 msgid "       [ username ]\n"
 msgstr "       [ u¾ivatelské jméno ]\n"
 
-#: login-utils/chsh.c:320
+#: login-utils/chsh.c:319
 #, 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:324
+#: login-utils/chsh.c:323
 #, c-format
 msgid "%s: \"%s\" does not exist.\n"
 msgstr "%s: \"%s\" neexistuje.\n"
 
-#: login-utils/chsh.c:328
+#: login-utils/chsh.c:327
 #, c-format
 msgid "%s: \"%s\" is not executable.\n"
 msgstr "%s: \"%s\" není spustitelným souborem.\n"
 
-#: login-utils/chsh.c:335
+#: login-utils/chsh.c:334
 #, c-format
 msgid "%s: '%c' is not allowed.\n"
 msgstr "%s: '%c' není povoleno.\n"
 
-#: login-utils/chsh.c:339
+#: login-utils/chsh.c:338
 #, c-format
 msgid "%s: Control characters are not allowed.\n"
 msgstr "%s: Kontrolní znaky nejsou povoleny.\n"
 
-#: login-utils/chsh.c:346
+#: login-utils/chsh.c:345
 #, 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:348
+#: login-utils/chsh.c:347
 #, c-format
 msgid "%s: \"%s\" is not listed in /etc/shells.\n"
 msgstr "%s: \"%s\" není v /etc/shells.\n"
 
-#: login-utils/chsh.c:350
+#: login-utils/chsh.c:349
 #, c-format
 msgid "%s: use -l option to see list\n"
 msgstr "%s: pou¾ijte pøepínaè -l pro vypsání seznamu\n"
 
-#: login-utils/chsh.c:356
+#: login-utils/chsh.c:355
 #, 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:357
+#: login-utils/chsh.c:356
 #, c-format
 msgid "Use %s -l to see list.\n"
 msgstr "Pou¾ijte %s -l pro vypsání seznamu\n"
 
-#: login-utils/chsh.c:378
+#: login-utils/chsh.c:377
 msgid "No known shells.\n"
 msgstr "Není znám ¾ádný shell.\n"
 
@@ -5685,7 +5826,7 @@ msgstr "P
 #: login-utils/login.c:1229
 #, c-format
 msgid "Login timed out after %d seconds\n"
-msgstr "Vypr¹el èasový limit (%d vteøin) pro pøihlá¹ení.\n"
+msgstr "Vypr¹el èasový limit (%d sekund) pro pøihlá¹ení.\n"
 
 #: login-utils/login.c:1329
 #, c-format
@@ -5758,129 +5899,129 @@ msgstr "newgrp: setuid"
 msgid "No shell"
 msgstr "®ádný shell"
 
-#: login-utils/passwd.c:163
+#: login-utils/passwd.c:161
 msgid "The password must have at least 6 characters, try again.\n"
 msgstr "Heslo musí obsahovat alespoò 6 znakù, zkuste to znovu.\n"
 
-#: login-utils/passwd.c:176
+#: login-utils/passwd.c:174
 msgid "The password must contain characters out of two of the following\n"
 msgstr "Heslo musí obsahovat znaky alespoò ze dvou z následující skupin:\n"
 
-#: login-utils/passwd.c:177
+#: login-utils/passwd.c:175
 msgid "classes:  upper and lower case letters, digits and non alphanumeric\n"
 msgstr "velká nebo malá písmena, èíslice a nealfanumerické znaky.\n"
 
-#: login-utils/passwd.c:178
+#: login-utils/passwd.c:176
 msgid "characters. See passwd(1) for more information.\n"
 msgstr "Viz passwd(1) pro více informací.\n"
 
-#: login-utils/passwd.c:183
+#: login-utils/passwd.c:181
 msgid "You cannot reuse the old password.\n"
 msgstr "Nemù¾ete opìt pou¾ít staré heslo.\n"
 
-#: login-utils/passwd.c:188
+#: login-utils/passwd.c:186
 msgid "Please don't use something like your username as password!\n"
 msgstr ""
 "Nepou¾ívejte, jako heslo Va¹e u¾ivatelské jméno ani nic nìco podobného.\n"
 
-#: login-utils/passwd.c:199 login-utils/passwd.c:206
+#: login-utils/passwd.c:197 login-utils/passwd.c:204
 msgid "Please don't use something like your realname as password!\n"
 msgstr "Nepou¾ívejte, jako heslo Va¹e skuteèné jméno ani nic nìco podobného.\n"
 
-#: login-utils/passwd.c:223
+#: login-utils/passwd.c:221
 msgid "Usage: passwd [username [password]]\n"
 msgstr "Pou¾ití: password [u¾ivatelské jméno [heslo]]\n"
 
-#: login-utils/passwd.c:224
+#: login-utils/passwd.c:222
 msgid "Only root may use the one and two argument forms.\n"
 msgstr "Pouze superu¾ivatel mù¾e pou¾ít argumenty.\n"
 
-#: login-utils/passwd.c:280
+#: login-utils/passwd.c:278
 msgid "Usage: passwd [-foqsvV] [user [password]]\n"
 msgstr "Pou¾ití: passwd [foqsvV] [u¾ivatel [heslo]]\n"
 
-#: login-utils/passwd.c:301
+#: login-utils/passwd.c:299
 #, c-format
 msgid "Can't exec %s: %s\n"
 msgstr "%s nelze spustit: %s\n"
 
-#: login-utils/passwd.c:312
+#: login-utils/passwd.c:310
 msgid "Cannot find login name"
 msgstr "Pøihla¹ovací jméno nelze nalézt"
 
-#: login-utils/passwd.c:319 login-utils/passwd.c:326
+#: login-utils/passwd.c:317 login-utils/passwd.c:324
 msgid "Only root can change the password for others.\n"
 msgstr "Pouze superu¾ivatel mù¾e zmìnit hesla jiným u¾ivatelùm.\n"
 
-#: login-utils/passwd.c:334
+#: login-utils/passwd.c:332
 msgid "Too many arguments.\n"
 msgstr "Pøíli¹ mnoho argumentù.\n"
 
-#: login-utils/passwd.c:339
+#: login-utils/passwd.c:337
 #, c-format
 msgid "Can't find username anywhere. Is `%s' really a user?"
 msgstr "U¾ivatelské jméno nelze nalézt. Je `%s' opravdu u¾ivatelem?"
 
-#: login-utils/passwd.c:343
+#: login-utils/passwd.c:341
 msgid "Sorry, I can only change local passwords. Use yppasswd instead."
 msgstr "Lituji, ale mohu zmìnit pouze místní hesla. Pou¾ijte yppasswd."
 
-#: login-utils/passwd.c:349
+#: login-utils/passwd.c:347
 msgid "UID and username does not match, imposter!"
 msgstr "UID a u¾ivatelské jméno se neshodují!"
 
-#: login-utils/passwd.c:354
+#: login-utils/passwd.c:352
 #, c-format
 msgid "Changing password for %s\n"
 msgstr "Mìním heslo u¾ivatele %s\n"
 
-#: login-utils/passwd.c:358
+#: login-utils/passwd.c:356
 msgid "Enter old password: "
 msgstr "Zadejte staré heslo: "
 
-#: login-utils/passwd.c:360
+#: login-utils/passwd.c:358
 msgid "Illegal password, imposter."
 msgstr "Nepovolené heslo."
 
-#: login-utils/passwd.c:372
+#: login-utils/passwd.c:370
 msgid "Enter new password: "
 msgstr "Zadejte nové heslo: "
 
-#: login-utils/passwd.c:374
+#: login-utils/passwd.c:372
 msgid "Password not changed."
 msgstr "Heslo nebylo zmìnìno."
 
-#: login-utils/passwd.c:384
+#: login-utils/passwd.c:382
 msgid "Re-type new password: "
 msgstr "Potvrïte nové heslo: "
 
-#: login-utils/passwd.c:387
+#: login-utils/passwd.c:385
 msgid "You misspelled it. Password not changed."
 msgstr "Pøepsal jste se. Heslo nebylo zmìnìno."
 
-#: login-utils/passwd.c:402
+#: login-utils/passwd.c:400
 #, c-format
 msgid "password changed, user %s"
 msgstr "heslo bylo zmìnìno, u¾ivatel %s"
 
-#: login-utils/passwd.c:405
+#: login-utils/passwd.c:403
 msgid "ROOT PASSWORD CHANGED"
 msgstr "HESLO U®IVATELE ROOT BYLO ZMÌNÌNO"
 
-#: login-utils/passwd.c:407
+#: login-utils/passwd.c:405
 #, c-format
 msgid "password changed by root, user %s"
 msgstr "heslo zmìnìno u¾ivatelem root, u¾ivatel %s"
 
-#: login-utils/passwd.c:414
+#: login-utils/passwd.c:412
 msgid "calling setpwnam to set password.\n"
 msgstr "Volám setpwnam pro nastavení hesla.\n"
 
-#: login-utils/passwd.c:418
+#: login-utils/passwd.c:416
 msgid "Password *NOT* changed.  Try again later.\n"
 msgstr "Heslo *NEBYLO* zmìnìno. Zkuste to pozdìji.\n"
 
-#: login-utils/passwd.c:424
+#: login-utils/passwd.c:422
 msgid "Password changed.\n"
 msgstr "Heslo bylo zmìnìno.\n"
 
@@ -5970,7 +6111,7 @@ msgstr "Chyba p
 #: login-utils/shutdown.c:431
 #, c-format
 msgid "\aURGENT: broadcast message from %s:"
-msgstr "\aNALÉHAVÉ: v¹eobecná zpráva od %s:"
+msgstr "NALÉHAVÉ: v¹eobecná zpráva od %s:"
 
 #: login-utils/shutdown.c:437
 msgid "System going down IMMEDIATELY!\n"
@@ -6163,50 +6304,49 @@ msgstr "%s: vol
 msgid "%s: can't read temporary file.\n"
 msgstr "%s: doèasný soubor nelze èíst.\n"
 
-#: misc-utils/cal.c:184
+#: misc-utils/cal.c:189
 msgid "illegal month value: use 1-12"
 msgstr "chybná hodnota pro mìsíc: pou¾ijte 1-12"
 
-#: misc-utils/cal.c:188
+#: misc-utils/cal.c:193
 msgid "illegal year value: use 1-9999"
 msgstr "chybná hodnota pro rok: pou¾ijte 1-9999"
 
-#: misc-utils/cal.c:484
-msgid "usage: cal [-mjy] [[month] year]\n"
-msgstr "Pou¾ití: cal [mjy] [[mìsíc] rok]\n"
+#: misc-utils/cal.c:489
+msgid "usage: cal [-mjyV] [[month] year]\n"
+msgstr "Pou¾ití: cal [mjyV] [[mìsíc] rok]\n"
 
-#: misc-utils/ddate.c:184
+#: misc-utils/ddate.c:192
 #, c-format
 msgid "usage: %s [+format] [day month year]\n"
 msgstr "Pou¾ití: %s [+formát] [den mìsíc rok]\n"
 
-# ???
 #. handle St. Tib's Day
-#: misc-utils/ddate.c:230
+#: misc-utils/ddate.c:238
 msgid "St. Tib's Day"
 msgstr "Den svatého Tiba"
 
-#: misc-utils/kill.c:199
+#: misc-utils/kill.c:209
 #, c-format
 msgid "%s: unknown signal %s\n"
 msgstr "%s: neznámý signál %s\n"
 
-#: misc-utils/kill.c:261
+#: misc-utils/kill.c:271
 #, c-format
 msgid "%s: can't find process \"%s\"\n"
 msgstr "%s: proces \"%s\" nelze nalézt\n"
 
-#: misc-utils/kill.c:303
+#: misc-utils/kill.c:315
 #, 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:343
+#: misc-utils/kill.c:355
 #, 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:344
+#: misc-utils/kill.c:356
 #, c-format
 msgid "       %s -l [ signal ]\n"
 msgstr "         %s -l [ signál ]\n"
@@ -6217,24 +6357,24 @@ 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:241
+#: misc-utils/logger.c:248
 #, c-format
 msgid "logger: unknown facility name: %s.\n"
 msgstr "logger: neznámé pøíslu¹enství: %s\n"
 
-#: misc-utils/logger.c:253
+#: misc-utils/logger.c:260
 #, c-format
 msgid "logger: unknown priority name: %s.\n"
 msgstr "logger: neznámé jméno priority: %s\n"
 
-#: misc-utils/logger.c:280
+#: misc-utils/logger.c:287
 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:340
+#: misc-utils/look.c:336
 msgid "usage: look [-dfa] [-t char] string [file]\n"
 msgstr "Pou¾ití: look [-dfa] [-t znak] øetìzec [soubor]\n"
 
@@ -6281,10 +6421,10 @@ msgid " ? problems reading symlink %s - %s (%d)\n"
 msgstr " ? problémy pøi ètení symbolického odkazu %s - %s (%d)\n"
 
 #: misc-utils/namei.c:258
-msgid "  *** EXCEEDED UNIX LIMIT OF SYMLINKS ***"
-msgstr "  *** PØEKROÈEN UNIXOVÝ LIMIT PRO SYMBOLICKÉ ODKAZY ***"
+msgid "  *** EXCEEDED UNIX LIMIT OF SYMLINKS ***\n"
+msgstr "  *** PØEKROÈEN UNIXOVÝ LIMIT PRO SYMBOLICKÉ ODKAZY ***\n"
 
-#: misc-utils/namei.c:294
+#: misc-utils/namei.c:295
 #, c-format
 msgid "namei: unknown file type 0%06o on file %s\n"
 msgstr "namei: typ 0%06o souboru %s je neznámý\n"
@@ -6536,19 +6676,19 @@ msgstr "nelze 
 msgid "%s: $TERM is not defined.\n"
 msgstr "%s: promìnná TERM není nastavena.\n"
 
-#: misc-utils/tsort.c:119
+#: misc-utils/tsort.c:120
 msgid "usage: tsort [ inputfile ]\n"
 msgstr "Pou¾ití: tsort [ soubor ]\n"
 
-#: misc-utils/tsort.c:156
+#: misc-utils/tsort.c:157
 msgid "tsort: odd data count.\n"
 msgstr "tsort: lichý poèet uzlù\n"
 
-#: misc-utils/tsort.c:321
+#: misc-utils/tsort.c:320
 msgid "tsort: cycle in data.\n"
 msgstr "tsort: smyèka v datech.\n"
 
-#: misc-utils/tsort.c:334
+#: misc-utils/tsort.c:333
 msgid "tsort: internal error -- could not find cycle.\n"
 msgstr "tsort: vnitøní chyba -- smyèku nelze najít.\n"
 
@@ -6642,39 +6782,48 @@ msgstr ""
 msgid "Can't lock lock file %s: %s\n"
 msgstr "Zamykací soubor %s nelze zamknout: %s\n"
 
-#: mount/fstab.c:425
+#: mount/fstab.c:427
 #, c-format
 msgid "can't lock lock file %s: %s"
 msgstr "Zamykací soubor %s nelze zamknout: %s"
 
-#: mount/fstab.c:427
+#: mount/fstab.c:429
 msgid "timed out"
 msgstr "vypr¹el èas"
 
-#: mount/fstab.c:472 mount/fstab.c:480
+#: mount/fstab.c:436
+#, 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:482 mount/fstab.c:490
 #, c-format
 msgid "cannot open %s (%s) - mtab not updated"
 msgstr "nelze otevøít %s (%s) - mtab nebyl aktualizován"
 
-#: mount/fstab.c:505
+#: mount/fstab.c:515
 msgid "mount: warning: cannot change mounted device with a remount\n"
 msgstr "mount: varování: pomocí nelze remount zmìnit pøipojené zaøízení\n"
 
-#: mount/fstab.c:510
+#: mount/fstab.c:520
 msgid "mount: warning: cannot change filesystem type with a remount\n"
 msgstr "mount: varování: pomocí nelze remount zmìnit typ systému souborù\n"
 
-#: mount/fstab.c:518 mount/fstab.c:524
+#: mount/fstab.c:528 mount/fstab.c:534
 #, c-format
 msgid "error writing %s: %s"
 msgstr "chyba pøi zápisu %s: %s"
 
-#: mount/fstab.c:531
+#: mount/fstab.c:541
 #, c-format
 msgid "error changing mode of %s: %s\n"
 msgstr "chyba pøi zmìnì módu %s: %s\n"
 
-#: mount/fstab.c:538
+#: mount/fstab.c:548
 #, c-format
 msgid "can't rename %s to %s: %s\n"
 msgstr "%s nelze pøejmenovat na %s: %s\n"
@@ -6821,7 +6970,7 @@ msgstr "mount: podle mtab je %s p
 msgid "mount: can't open %s for writing: %s"
 msgstr "mount: %s nelze otevøít pro zápis: %s"
 
-#: mount/mount.c:372 mount/mount.c:644
+#: mount/mount.c:372 mount/mount.c:654
 #, c-format
 msgid "mount: error writing %s: %s"
 msgstr "mount: chyba pøi zápisu %s: %s"
@@ -6831,111 +6980,120 @@ msgstr "mount: chyba p
 msgid "mount: error changing mode of %s: %s"
 msgstr "mount: chyba pøi zmìnì módu %s: %s"
 
-#: mount/mount.c:473
+#: mount/mount.c:413
+#, c-format
+msgid "%s looks like swapspace - not mounted"
+msgstr "%s vypadá jako odkládací prostor - nepøipojeno"
+
+#: mount/mount.c:481
 msgid "mount failed"
 msgstr "pøipojení se nezdaøilo"
 
-#: mount/mount.c:475
+#: mount/mount.c:483
 #, 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:503
+#: mount/mount.c:511
 msgid "mount: loop device specified twice"
 msgstr "mount: zaøízení loop bylo zadáno dvakrát"
 
-#: mount/mount.c:509
+#: mount/mount.c:517
 msgid "mount: type specified twice"
 msgstr "mount: typ byl zadán dvakrát"
 
-#: mount/mount.c:521
+#: mount/mount.c:529
 msgid "mount: skipping the setup of a loop device\n"
 msgstr "mount: pøeskakuji nastavení loop zaøízení\n"
 
-#: mount/mount.c:530
+#: mount/mount.c:538
 #, 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:534
+#: mount/mount.c:542
 msgid "mount: failed setting up loop device\n"
 msgstr "mount: nepodaøilo se nastavit zaøízení loop\n"
 
-#: mount/mount.c:538
+#: mount/mount.c:546
 msgid "mount: setup loop device successfully\n"
 msgstr "mount: zaøízení loop bylo korektnì nastaveno\n"
 
-#: mount/mount.c:551
+#: mount/mount.c:559
 msgid "mount: this version was compiled without support for the type `nfs'"
 msgstr "mount: tato verze byla pøelo¾ena bez podpory pro typ `nfs'"
 
-#: mount/mount.c:601 mount/mount.c:1030
+#: mount/mount.c:610 mount/mount.c:1043
 #, c-format
 msgid "mount: cannot fork: %s"
 msgstr "mount: volání fork selhalo: %s"
 
-#: mount/mount.c:639
+#: mount/mount.c:649
 #, c-format
 msgid "mount: can't open %s: %s"
 msgstr "mount: %s nelze otevøít: %s"
 
-#: mount/mount.c:668
+#: mount/mount.c:678
 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"
+msgstr "mount: typ systému souborù nebyl zadán a ani jej nelze zjistit"
 
-#: mount/mount.c:671
+#: mount/mount.c:681
 msgid "mount: you must specify the filesystem type"
 msgstr "mount: musíte zadat typ systému souborù"
 
-#: mount/mount.c:678 mount/mount.c:713
+#. should not happen
+#: mount/mount.c:684
+msgid "mount: mount failed"
+msgstr "mount: pøipojení se nezdaøilo"
+
+#: mount/mount.c:690 mount/mount.c:725
 #, c-format
 msgid "mount: mount point %s is not a directory"
 msgstr "mount: pøípojný bod %s není adresáøem"
 
-#: mount/mount.c:680
+#: mount/mount.c:692
 msgid "mount: permission denied"
 msgstr "mount: pøístup odmítnut"
 
-#: mount/mount.c:682
+#: mount/mount.c:694
 msgid "mount: must be superuser to use mount"
 msgstr "mount: mount mù¾e pou¾ívat pouze superu¾ivatel"
 
 #. heuristic: if /proc/version exists, then probably proc is mounted
 #. proc mounted?
-#: mount/mount.c:686 mount/mount.c:690
+#: mount/mount.c:698 mount/mount.c:702
 #, c-format
 msgid "mount: %s is busy"
 msgstr "mount: %s je ji¾ pøipojeno"
 
 #. no
 #. yes, don't mention it
-#: mount/mount.c:692
+#: mount/mount.c:704
 msgid "mount: proc already mounted"
 msgstr "mount: proc je ji¾ pøipojeno"
 
-#: mount/mount.c:694
+#: mount/mount.c:706
 #, 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:700
+#: mount/mount.c:712
 #, c-format
 msgid "mount: mount point %s does not exist"
 msgstr "mount: pøípojný bod %s neexistuje"
 
-#: mount/mount.c:702
+#: mount/mount.c:714
 #, 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:705
+#: mount/mount.c:717
 #, c-format
 msgid "mount: special device %s does not exist"
 msgstr "mount: speciální zaøízení %s neexistuje"
 
-#: mount/mount.c:715
+#: mount/mount.c:727
 #, c-format
 msgid ""
 "mount: special device %s does not exist\n"
@@ -6944,12 +7102,12 @@ msgstr ""
 "mount: speciální zaøízení %s neexistuje\n"
 "              (název cesty nezaèíná adresáøem)\n"
 
-#: mount/mount.c:727
+#: mount/mount.c:739
 #, 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:729
+#: mount/mount.c:741
 #, c-format
 msgid ""
 "mount: wrong fs type, bad option, bad superblock on %s,\n"
@@ -6958,46 +7116,46 @@ msgstr ""
 "mount: chybný typ ss, chybný pøepínaè, chybný superblok na %s\n"
 "       nebo pøíli¹ mnoho pøipojených systémù souborù"
 
-#: mount/mount.c:744
+#: mount/mount.c:756
 msgid "mount table full"
 msgstr "tabulka pøipojení je plná"
 
-#: mount/mount.c:746
+#: mount/mount.c:758
 #, c-format
 msgid "mount: %s: can't read superblock"
 msgstr "mount: %s: superblok nelze pøeèíst"
 
-#: mount/mount.c:749
+#: mount/mount.c:761
 #, c-format
 msgid "mount: %s has wrong major or minor number"
 msgstr "mount: %s má chybné vìt¹í èi men¹í èíslo zaøízení"
 
-#: mount/mount.c:754
+#: mount/mount.c:766
 #, c-format
 msgid "mount: fs type %s not supported by kernel"
 msgstr "mount: typ ss %s není podporován jádrem"
 
-#: mount/mount.c:766
+#: mount/mount.c:778
 #, c-format
 msgid "mount: probably you meant %s"
 msgstr "mount: pravdìpodobnì jste myslel %s"
 
-#: mount/mount.c:768
+#: mount/mount.c:780
 msgid "mount: maybe you meant iso9660 ?"
 msgstr "mount: mo¾ná jste myslel iso9660 ?"
 
-#: mount/mount.c:771
+#: mount/mount.c:783
 #, 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"
 
 #. strange ...
-#: mount/mount.c:776
+#: mount/mount.c:788
 #, 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:778
+#: mount/mount.c:790
 #, c-format
 msgid ""
 "mount: the kernel does not recognize %s as a block device\n"
@@ -7005,75 +7163,75 @@ msgid ""
 msgstr ""
 "mount: jádro nerozpoznalo %s jako blokové zaøízení (mo¾ná `insmod ovladaè'?)"
 
-#: mount/mount.c:781
+#: mount/mount.c:793
 #, 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:784
+#: mount/mount.c:796
 #, c-format
 msgid "mount: %s is not a block device"
 msgstr "mount: %s není blokovým zaøízením"
 
-#: mount/mount.c:787
+#: mount/mount.c:799
 #, 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:791
+#: mount/mount.c:803
 #, c-format
 msgid "mount: block device %s is not permitted on its filesystem"
 msgstr "mount: blokové zaøízení %s není na tomto systému souborù povoleno"
 
-#: mount/mount.c:807
+#: mount/mount.c:819
 #, 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:808
+#: mount/mount.c:820
 msgid "block device "
 msgstr "blokové zaøízení"
 
-#: mount/mount.c:894
+#: mount/mount.c:907
 #, c-format
 msgid "mount: consider mounting %s by %s\n"
 msgstr "mount: zva¾te pøipojení %s dle %s\n"
 
-#: mount/mount.c:895
+#: mount/mount.c:908
 msgid "UUID"
 msgstr "UUID"
 
-#: mount/mount.c:895
+#: mount/mount.c:908
 msgid "label"
 msgstr "jméno"
 
-#: mount/mount.c:897 mount/mount.c:1213
+#: mount/mount.c:910 mount/mount.c:1226
 msgid "mount: no such partition found"
 msgstr "mount: ¾ádný odpovídající diskový oddíl nebyl nalezen"
 
-#: mount/mount.c:905
+#: mount/mount.c:918
 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"
 
 #.
 #. * Retry in the background.
 #.
-#: mount/mount.c:921
+#: mount/mount.c:934
 #, c-format
 msgid "mount: backgrounding \"%s\"\n"
 msgstr "mount: pracuji na pozadí \"%s\"\n"
 
-#: mount/mount.c:932
+#: mount/mount.c:945
 #, c-format
 msgid "mount: giving up \"%s\"\n"
 msgstr "mount: konèím \"%s\"\n"
 
-#: mount/mount.c:981
+#: mount/mount.c:994
 #, c-format
 msgid "mount: %s already mounted on %s\n"
 msgstr "mount: %s je ji¾ pøipojeno na %s\n"
 
-#: mount/mount.c:1092
+#: mount/mount.c:1105
 msgid ""
 "Usage: mount [-hV]\n"
 "       mount -a [-nfFrsvw] [-t vfstypes]\n"
@@ -7087,30 +7245,30 @@ msgstr ""
 "         mount [-nfrsvw] [-t vfstyp] [-o volby] speciální soubor uzel\n"
 "         Speciální zaøízení mù¾e být oznaèeno pomocí -L popiska èi -U uuid.\n"
 
-#: mount/mount.c:1198
+#: mount/mount.c:1211
 msgid "mount: only root can do that"
 msgstr "mount: toto mù¾e provést pouze superu¾ivatel"
 
-#: mount/mount.c:1203
+#: mount/mount.c:1216
 #, c-format
 msgid "mount: no %s found - creating it..\n"
 msgstr "mount: %s nebylo nalezeno - vytváøím jej..\n"
 
-#: mount/mount.c:1215
+#: mount/mount.c:1228
 #, c-format
 msgid "mount: mounting %s\n"
 msgstr "mount: pøipojuji %s\n"
 
-#: mount/mount.c:1224
+#: mount/mount.c:1237
 msgid "not mounted anything"
 msgstr "nic nebylo pøipojeno"
 
-#: mount/mount.c:1237
+#: mount/mount.c:1250
 #, c-format
 msgid "mount: cannot find %s in %s"
 msgstr "mount: %s nelze v %s nalézt"
 
-#: mount/mount.c:1251
+#: mount/mount.c:1264
 #, c-format
 msgid "mount: can't find %s in %s or %s"
 msgstr "mount: %s nelze nalézt v %s ani %s"
@@ -7119,20 +7277,29 @@ msgstr "mount: %s nelze nal
 msgid "mount: bad UUID"
 msgstr "mount: chybné UUID"
 
-#: mount/mount_guess_fstype.c:198
+#: mount/mount_guess_fstype.c:251
 #, 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_guess_fstype.c:201
+#: mount/mount_guess_fstype.c:254
+#, 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_guess_fstype.c:257
+msgid "       and it looks like this is swapspace\n"
+msgstr "       a vypadá to, ¾e se jedná o odkládací prostor\n"
+
+#: mount/mount_guess_fstype.c:259
 #, c-format
 msgid "       I will try type %s\n"
 msgstr "       Vyzkou¹ím typ %s\n"
 
-#: mount/mount_guess_fstype.c:203
+#: mount/mount_guess_fstype.c:321
 #, 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"
+msgid "Trying %s\n"
+msgstr "Pou¾ívám %s.\n"
 
 #: mount/nfsmount.c:157
 msgid "mount: excessively long host:dir argument\n"
@@ -7220,11 +7387,11 @@ msgstr "nfs connect"
 msgid "unknown nfs status return value: %d"
 msgstr "návratová hodnota nfs status %d je neznámá"
 
-#: mount/sundries.c:40 mount/sundries.c:55
+#: mount/sundries.c:41 mount/sundries.c:56
 msgid "not enough memory"
 msgstr "Nedostatek pamìti"
 
-#: mount/sundries.c:65
+#: mount/sundries.c:66
 msgid "bug in xstrndup call"
 msgstr "chyba ve volání xstrndup"
 
@@ -7577,31 +7744,31 @@ msgstr "Pou
 msgid "resource deleted\n"
 msgstr "prostøedek smazán\n"
 
-#: sys-utils/ipcs.c:91
+#: sys-utils/ipcs.c:117
 #, c-format
 msgid "usage : %s -asmq -tclup \n"
 msgstr "Pou¾ití : %s -asmq -tclup \n"
 
-#: sys-utils/ipcs.c:92
+#: sys-utils/ipcs.c:118
 #, c-format
 msgid "\t%s [-s -m -q] -i id\n"
 msgstr "\t%s [-s -m -q] -i id\n"
 
-#: sys-utils/ipcs.c:93
+#: sys-utils/ipcs.c:119
 #, c-format
 msgid "\t%s -h for help.\n"
 msgstr "\t%s -h pro nápovìdu.\n"
 
-#: sys-utils/ipcs.c:99
+#: sys-utils/ipcs.c:125
 #, c-format
 msgid "%s provides information on ipc facilities for"
 msgstr "%s poskytuje informace o ipc prostøedcích, "
 
-#: sys-utils/ipcs.c:100
+#: sys-utils/ipcs.c:126
 msgid " which you have read access.\n"
 msgstr "je kterým máte pøístup pro ètení.\n"
 
-#: sys-utils/ipcs.c:101
+#: sys-utils/ipcs.c:127
 msgid ""
 "Resource Specification:\n"
 "\t-m : shared_mem\n"
@@ -7611,7 +7778,7 @@ msgstr ""
 "\t-m : sdílená pamì»\n"
 "\t-q : zprávy\n"
 
-#: sys-utils/ipcs.c:102
+#: sys-utils/ipcs.c:128
 msgid ""
 "\t-s : semaphores\n"
 "\t-a : all (default)\n"
@@ -7619,7 +7786,7 @@ msgstr ""
 "\t-s : semafory\n"
 "\t-a : v¹e (implicitní)\n"
 
-#: sys-utils/ipcs.c:103
+#: sys-utils/ipcs.c:129
 msgid ""
 "Output Format:\n"
 "\t-t : time\n"
@@ -7631,7 +7798,7 @@ msgstr ""
 "\t-p : pid\n"
 "\t-c : tvùrce\n"
 
-#: sys-utils/ipcs.c:104
+#: sys-utils/ipcs.c:130
 msgid ""
 "\t-l : limits\n"
 "\t-u : summary\n"
@@ -7639,368 +7806,368 @@ msgstr ""
 "\t-l : omezení\n"
 "\t-u : shrnutí\n"
 
-#: sys-utils/ipcs.c:105
+#: sys-utils/ipcs.c:131
 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:237 sys-utils/ipcs.c:439
+#: sys-utils/ipcs.c:263 sys-utils/ipcs.c:465
 msgid "kernel not configured for shared memory\n"
 msgstr "jádro nepodporuje sdílenou pamì»\n"
 
-#: sys-utils/ipcs.c:243
+#: sys-utils/ipcs.c:269
 msgid "------ Shared Memory Limits --------\n"
 msgstr "------ Omezení pro sdílenou pamì» --------\n"
 
-#: sys-utils/ipcs.c:246
+#: sys-utils/ipcs.c:272
 #, c-format
 msgid "max number of segments = %d\n"
 msgstr "maximální poèet segmentù = %d\n"
 
-#: sys-utils/ipcs.c:247
+#: sys-utils/ipcs.c:273
 #, c-format
 msgid "max seg size (kbytes) = %d\n"
 msgstr "maximální velikost segmentu (v kilobajtech) = %d\n"
 
-#: sys-utils/ipcs.c:248
+#: sys-utils/ipcs.c:274
 #, c-format
 msgid "max total shared memory (kbytes) = %d\n"
 msgstr "celkové maximum pro sdílenou pamì» (v kilobajtech) = %d\n"
 
-#: sys-utils/ipcs.c:249
+#: sys-utils/ipcs.c:275
 #, c-format
 msgid "min seg size (bytes) = %d\n"
 msgstr "minimální velikost segmentu (v bajtech) = %d\n"
 
-#: sys-utils/ipcs.c:253
+#: sys-utils/ipcs.c:279
 msgid "------ Shared Memory Status --------\n"
 msgstr "------ Stav sdílené pamìti --------\n"
 
-#: sys-utils/ipcs.c:254
+#: sys-utils/ipcs.c:280
 #, c-format
 msgid "segments allocated %d\n"
 msgstr "alokované segmenty %d\n"
 
-#: sys-utils/ipcs.c:255
+#: sys-utils/ipcs.c:281
 #, c-format
 msgid "pages allocated %ld\n"
 msgstr "alokované stránky %ld\n"
 
-#: sys-utils/ipcs.c:256
+#: sys-utils/ipcs.c:282
 #, c-format
 msgid "pages resident  %ld\n"
 msgstr "rezidentní stránky %ld\n"
 
-#: sys-utils/ipcs.c:257
+#: sys-utils/ipcs.c:283
 #, c-format
 msgid "pages swapped   %ld\n"
 msgstr "stránky v odkládacím prostoru %ld\n"
 
-#: sys-utils/ipcs.c:258
+#: sys-utils/ipcs.c:284
 #, 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:263
+#: sys-utils/ipcs.c:289
 msgid "------ Shared Memory Segment Creators/Owners --------\n"
 msgstr "------ Tvùrci/vlastníci segmentù sdílené pamìti ------\n"
 
-#: sys-utils/ipcs.c:264 sys-utils/ipcs.c:370 sys-utils/ipcs.c:462
+#: sys-utils/ipcs.c:290 sys-utils/ipcs.c:396 sys-utils/ipcs.c:488
 #, c-format
 msgid "%-10s%-10s%-10s%-10s%-10s%-10s\n"
 msgstr "%-10s%-10s%-10s%-10s%-10s%-10s\n"
 
-#: sys-utils/ipcs.c:265 sys-utils/ipcs.c:271 sys-utils/ipcs.c:276
-#: sys-utils/ipcs.c:281 sys-utils/ipcs.c:377
+#: sys-utils/ipcs.c:291 sys-utils/ipcs.c:297 sys-utils/ipcs.c:302
+#: sys-utils/ipcs.c:307 sys-utils/ipcs.c:403
 msgid "shmid"
 msgstr "shmid"
 
-#: sys-utils/ipcs.c:265 sys-utils/ipcs.c:282 sys-utils/ipcs.c:371
-#: sys-utils/ipcs.c:386 sys-utils/ipcs.c:463 sys-utils/ipcs.c:480
+#: sys-utils/ipcs.c:291 sys-utils/ipcs.c:308 sys-utils/ipcs.c:397
+#: sys-utils/ipcs.c:412 sys-utils/ipcs.c:489 sys-utils/ipcs.c:506
 msgid "perms"
 msgstr "práva"
 
-#: sys-utils/ipcs.c:265 sys-utils/ipcs.c:371 sys-utils/ipcs.c:463
+#: sys-utils/ipcs.c:291 sys-utils/ipcs.c:397 sys-utils/ipcs.c:489
 msgid "cuid"
 msgstr "cuid"
 
-#: sys-utils/ipcs.c:265 sys-utils/ipcs.c:371 sys-utils/ipcs.c:463
+#: sys-utils/ipcs.c:291 sys-utils/ipcs.c:397 sys-utils/ipcs.c:489
 msgid "cgid"
 msgstr "cgid"
 
-#: sys-utils/ipcs.c:265 sys-utils/ipcs.c:371 sys-utils/ipcs.c:463
+#: sys-utils/ipcs.c:291 sys-utils/ipcs.c:397 sys-utils/ipcs.c:489
 msgid "uid"
 msgstr "uid"
 
-#: sys-utils/ipcs.c:265 sys-utils/ipcs.c:463
+#: sys-utils/ipcs.c:291 sys-utils/ipcs.c:489
 msgid "gid"
 msgstr "gid"
 
-#: sys-utils/ipcs.c:269
+#: sys-utils/ipcs.c:295
 msgid "------ Shared Memory Attach/Detach/Change Times --------\n"
 msgstr "------ Èasy pøipojení/odpojení/zmìny pro sdílenou pamì» --------\n"
 
-#: sys-utils/ipcs.c:270
+#: sys-utils/ipcs.c:296
 #, c-format
 msgid "%-10s%-10s  %-20s%-20s%-20s\n"
 msgstr "%-10s%-10s  %-20s%-20s%-20s\n"
 
-#: sys-utils/ipcs.c:271 sys-utils/ipcs.c:276 sys-utils/ipcs.c:282
-#: sys-utils/ipcs.c:377 sys-utils/ipcs.c:386 sys-utils/ipcs.c:469
-#: sys-utils/ipcs.c:474 sys-utils/ipcs.c:480
+#: sys-utils/ipcs.c:297 sys-utils/ipcs.c:302 sys-utils/ipcs.c:308
+#: sys-utils/ipcs.c:403 sys-utils/ipcs.c:412 sys-utils/ipcs.c:495
+#: sys-utils/ipcs.c:500 sys-utils/ipcs.c:506
 msgid "owner"
 msgstr "vlastník"
 
-#: sys-utils/ipcs.c:271
+#: sys-utils/ipcs.c:297
 msgid "attached"
 msgstr "pøipojení"
 
-#: sys-utils/ipcs.c:271
+#: sys-utils/ipcs.c:297
 msgid "detached"
 msgstr "odpojení"
 
-#: sys-utils/ipcs.c:271
+#: sys-utils/ipcs.c:297
 msgid "changed"
 msgstr "zmìna"
 
-#: sys-utils/ipcs.c:275
+#: sys-utils/ipcs.c:301
 msgid "------ Shared Memory Creator/Last-op --------\n"
 msgstr "------ Tvùrce sdílené pamìti/poslední operace --------\n"
 
-#: sys-utils/ipcs.c:276 sys-utils/ipcs.c:474
+#: sys-utils/ipcs.c:302 sys-utils/ipcs.c:500
 #, c-format
 msgid "%-10s%-10s%-10s%-10s\n"
 msgstr "%-10s%-10s%-10s%-10s\n"
 
-#: sys-utils/ipcs.c:276
+#: sys-utils/ipcs.c:302
 msgid "cpid"
 msgstr "cpid"
 
-#: sys-utils/ipcs.c:276
+#: sys-utils/ipcs.c:302
 msgid "lpid"
 msgstr "lpid"
 
-#: sys-utils/ipcs.c:280
+#: sys-utils/ipcs.c:306
 msgid "------ Shared Memory Segments --------\n"
 msgstr "------ Segmenty sdílené pamìti --------\n"
 
-#: sys-utils/ipcs.c:281
+#: sys-utils/ipcs.c:307
 #, c-format
 msgid "%-10s%-10s%-10s%-10s%-10s%-10s%-12s\n"
 msgstr "%-10s%-10s%-10s%-10s%-10s%-10s%-12s\n"
 
-#: sys-utils/ipcs.c:281 sys-utils/ipcs.c:386 sys-utils/ipcs.c:479
+#: sys-utils/ipcs.c:307 sys-utils/ipcs.c:412 sys-utils/ipcs.c:505
 msgid "key"
 msgstr "klíè"
 
-#: sys-utils/ipcs.c:282
+#: sys-utils/ipcs.c:308
 msgid "bytes"
 msgstr "bajty"
 
-#: sys-utils/ipcs.c:282
+#: sys-utils/ipcs.c:308
 msgid "nattch"
 msgstr "nattch"
 
-#: sys-utils/ipcs.c:282 sys-utils/ipcs.c:386
+#: sys-utils/ipcs.c:308 sys-utils/ipcs.c:412
 msgid "status"
 msgstr "stav"
 
-#: sys-utils/ipcs.c:302 sys-utils/ipcs.c:303 sys-utils/ipcs.c:304
-#: sys-utils/ipcs.c:407 sys-utils/ipcs.c:408 sys-utils/ipcs.c:500
-#: sys-utils/ipcs.c:501 sys-utils/ipcs.c:502
+#: sys-utils/ipcs.c:328 sys-utils/ipcs.c:329 sys-utils/ipcs.c:330
+#: sys-utils/ipcs.c:433 sys-utils/ipcs.c:434 sys-utils/ipcs.c:526
+#: sys-utils/ipcs.c:527 sys-utils/ipcs.c:528
 msgid "Not set"
 msgstr "Nenastaveno"
 
-#: sys-utils/ipcs.c:324
+#: sys-utils/ipcs.c:350
 msgid "dest"
 msgstr "cíl"
 
-#: sys-utils/ipcs.c:325
+#: sys-utils/ipcs.c:351
 msgid "locked"
 msgstr "zamèeno"
 
-#: sys-utils/ipcs.c:345
+#: sys-utils/ipcs.c:371
 msgid "kernel not configured for semaphores\n"
 msgstr "jádro nepodporuje semafory\n"
 
-#: sys-utils/ipcs.c:351
+#: sys-utils/ipcs.c:377
 msgid "------ Semaphore Limits --------\n"
 msgstr "------Omezení pro semafory --------\n"
 
-#: sys-utils/ipcs.c:355
+#: sys-utils/ipcs.c:381
 #, c-format
 msgid "max number of arrays = %d\n"
 msgstr "maximální poèet polí = %d\n"
 
-#: sys-utils/ipcs.c:356
+#: sys-utils/ipcs.c:382
 #, c-format
 msgid "max semaphores per array = %d\n"
 msgstr "maximální poèet semaforù v poli = %d\n"
 
-#: sys-utils/ipcs.c:357
+#: sys-utils/ipcs.c:383
 #, c-format
 msgid "max semaphores system wide = %d\n"
 msgstr "celkový maximální poèet semaforù = %d\n"
 
-#: sys-utils/ipcs.c:358
+#: sys-utils/ipcs.c:384
 #, 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:359
+#: sys-utils/ipcs.c:385
 #, c-format
 msgid "semaphore max value = %d\n"
 msgstr "maximální hodnota semaforu = %d\n"
 
-#: sys-utils/ipcs.c:363
+#: sys-utils/ipcs.c:389
 msgid "------ Semaphore Status --------\n"
 msgstr "------ Stav semaforu --------\n"
 
-#: sys-utils/ipcs.c:364
+#: sys-utils/ipcs.c:390
 #, c-format
 msgid "used arrays = %d\n"
 msgstr "pou¾itá pole = %d\n"
 
-#: sys-utils/ipcs.c:365
+#: sys-utils/ipcs.c:391
 #, c-format
 msgid "allocated semaphores = %d\n"
 msgstr "alokované semafory = %d\n"
 
-#: sys-utils/ipcs.c:369
+#: sys-utils/ipcs.c:395
 msgid "------ Semaphore Arrays Creators/Owners --------\n"
 msgstr "------ Tvùrci/vlastníci polí semaforù --------\n"
 
-#: sys-utils/ipcs.c:371 sys-utils/ipcs.c:386
+#: sys-utils/ipcs.c:397 sys-utils/ipcs.c:412
 msgid "semid"
 msgstr "semid"
 
-#: sys-utils/ipcs.c:375
+#: sys-utils/ipcs.c:401
 msgid "------ Shared Memory Operation/Change Times --------\n"
 msgstr "------ Èasy operace/zmìny sdílené pamìti --------\n"
 
-#: sys-utils/ipcs.c:376
+#: sys-utils/ipcs.c:402
 #, c-format
 msgid "%-8s%-10s  %-26.24s %-26.24s\n"
 msgstr "%-8s%-10s  %-26.24s %-26.24s\n"
 
-#: sys-utils/ipcs.c:377
+#: sys-utils/ipcs.c:403
 msgid "last-op"
 msgstr "poslední operace"
 
-#: sys-utils/ipcs.c:377
+#: sys-utils/ipcs.c:403
 msgid "last-changed"
 msgstr "poslední zmìna"
 
-#: sys-utils/ipcs.c:384
+#: sys-utils/ipcs.c:410
 msgid "------ Semaphore Arrays --------\n"
 msgstr "------ Pole semaforù --------\n"
 
-#: sys-utils/ipcs.c:385
+#: sys-utils/ipcs.c:411
 #, c-format
 msgid "%-10s%-10s%-10s%-10s%-10s%-12s\n"
 msgstr "%-10s%-10s%-10s%-10s%-10s%-12s\n"
 
-#: sys-utils/ipcs.c:386
+#: sys-utils/ipcs.c:412
 msgid "nsems"
 msgstr "nsems"
 
-#: sys-utils/ipcs.c:447
+#: sys-utils/ipcs.c:473
 msgid "------ Messages: Limits --------\n"
 msgstr "------ Zprávy: Omezení --------\n"
 
-#: sys-utils/ipcs.c:448
+#: sys-utils/ipcs.c:474
 #, c-format
 msgid "max queues system wide = %d\n"
 msgstr "celkový maximální poèet front = %d\n"
 
-#: sys-utils/ipcs.c:449
+#: sys-utils/ipcs.c:475
 #, c-format
 msgid "max size of message (bytes) = %d\n"
 msgstr "maximální velikost zprávy (v bajtech) = %d\n"
 
-#: sys-utils/ipcs.c:450
+#: sys-utils/ipcs.c:476
 #, 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:454
+#: sys-utils/ipcs.c:480
 msgid "------ Messages: Status --------\n"
 msgstr "------ Zprávy: Stav --------\n"
 
-#: sys-utils/ipcs.c:455
+#: sys-utils/ipcs.c:481
 #, c-format
 msgid "allocated queues = %d\n"
 msgstr "alokované fronty = %d\n"
 
-#: sys-utils/ipcs.c:456
+#: sys-utils/ipcs.c:482
 #, c-format
 msgid "used headers = %d\n"
 msgstr "pou¾ité hlavièky = %d\n"
 
-#: sys-utils/ipcs.c:457
+#: sys-utils/ipcs.c:483
 #, c-format
 msgid "used space = %d bytes\n"
 msgstr "pou¾itý prostor (v bajtech) = %d\n"
 
-#: sys-utils/ipcs.c:461
+#: sys-utils/ipcs.c:487
 msgid "------ Message Queues: Creators/Owners --------\n"
 msgstr "------ Fronty zpráv: Tvùrci/Vlastníci --------\n"
 
-#: sys-utils/ipcs.c:463 sys-utils/ipcs.c:469 sys-utils/ipcs.c:474
-#: sys-utils/ipcs.c:479
+#: sys-utils/ipcs.c:489 sys-utils/ipcs.c:495 sys-utils/ipcs.c:500
+#: sys-utils/ipcs.c:505
 msgid "msqid"
 msgstr "msqid"
 
-#: sys-utils/ipcs.c:467
+#: sys-utils/ipcs.c:493
 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:468
+#: sys-utils/ipcs.c:494
 #, c-format
 msgid "%-8s%-10s  %-20s%-20s%-20s\n"
 msgstr "%-8s%-10s  %-20s%-20s%-20s\n"
 
-#: sys-utils/ipcs.c:469
+#: sys-utils/ipcs.c:495
 msgid "send"
 msgstr "odeslání"
 
-#: sys-utils/ipcs.c:469
+#: sys-utils/ipcs.c:495
 msgid "recv"
 msgstr "pøíjem"
 
-#: sys-utils/ipcs.c:469
+#: sys-utils/ipcs.c:495
 msgid "change"
 msgstr "zmìna"
 
-#: sys-utils/ipcs.c:473
+#: sys-utils/ipcs.c:499
 msgid "------ Message Queues PIDs --------\n"
 msgstr "------ PID pro fronty zpráv --------\n"
 
-#: sys-utils/ipcs.c:474
+#: sys-utils/ipcs.c:500
 msgid "lspid"
 msgstr "lspid"
 
-#: sys-utils/ipcs.c:474
+#: sys-utils/ipcs.c:500
 msgid "lrpid"
 msgstr "lrpid"
 
-#: sys-utils/ipcs.c:478
+#: sys-utils/ipcs.c:504
 msgid "------ Message Queues --------\n"
 msgstr "------ Fronty zpráv --------\n"
 
-#: sys-utils/ipcs.c:479
+#: sys-utils/ipcs.c:505
 #, c-format
 msgid "%-10s%-10s%-10s%-10s%-12s%-12s\n"
 msgstr "%-10s%-10s%-10s%-10s%-12s%-12s\n"
 
-#: sys-utils/ipcs.c:480
+#: sys-utils/ipcs.c:506
 msgid "used-bytes"
 msgstr "u¾ité bajty"
 
-#: sys-utils/ipcs.c:480
+#: sys-utils/ipcs.c:506
 msgid "messages"
 msgstr "zprávy"
 
-#: sys-utils/ipcs.c:539
+#: sys-utils/ipcs.c:565
 #, c-format
 msgid ""
 "\n"
@@ -8009,41 +8176,41 @@ msgstr ""
 "\n"
 "shmid segmentu sdílené pamìti = %d\n"
 
-#: sys-utils/ipcs.c:540
+#: sys-utils/ipcs.c:566
 #, 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:542
+#: sys-utils/ipcs.c:568
 #, c-format
 msgid "mode=%#o\taccess_perms=%#o\n"
 msgstr "mód=%#o\tpøístupová práva=%#o\n"
 
-#: sys-utils/ipcs.c:543
+#: sys-utils/ipcs.c:569
 #, c-format
 msgid "bytes=%d\tlpid=%d\tcpid=%d\tnattch=%d\n"
 msgstr "bajtù=%d\tlpid=%d\tcpid=%d\tnattch=%d\n"
 
-#: sys-utils/ipcs.c:546
+#: sys-utils/ipcs.c:572
 #, c-format
 msgid "att_time=%s"
 msgstr "pøipoj_èas=%s"
 
-#: sys-utils/ipcs.c:547 sys-utils/ipcs.c:549 sys-utils/ipcs.c:598
+#: sys-utils/ipcs.c:573 sys-utils/ipcs.c:575 sys-utils/ipcs.c:624
 msgid "Not set\n"
 msgstr "Nenastaveno\n"
 
-#: sys-utils/ipcs.c:548
+#: sys-utils/ipcs.c:574
 #, c-format
 msgid "det_time=%s"
 msgstr "odpoj_èas=%s"
 
-#: sys-utils/ipcs.c:550
+#: sys-utils/ipcs.c:576
 #, c-format
 msgid "change_time=%s"
 msgstr "èas_zmìny=%s"
 
-#: sys-utils/ipcs.c:566
+#: sys-utils/ipcs.c:592
 #, c-format
 msgid ""
 "\n"
@@ -8052,26 +8219,26 @@ msgstr ""
 "\n"
 "msgid fronty zpráv=%d\n"
 
-#: sys-utils/ipcs.c:567
+#: sys-utils/ipcs.c:593
 #, 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:569
+#: sys-utils/ipcs.c:595
 #, c-format
 msgid "cbytes=%d\tqbytes=%d\tqnum=%d\tlspid=%d\tlrpid=%d\n"
 msgstr "cbytes=%d\tqbytes=%d\tqnum=%d\tlspid=%d\tlrpid=%d\n"
 
-#: sys-utils/ipcs.c:572
+#: sys-utils/ipcs.c:598
 #, c-format
 msgid "send_time=%srcv_time=%schange_time=%s"
 msgstr "send_time=%srcv_time=%schange_time=%s"
 
-#: sys-utils/ipcs.c:573 sys-utils/ipcs.c:574 sys-utils/ipcs.c:575
+#: sys-utils/ipcs.c:599 sys-utils/ipcs.c:600 sys-utils/ipcs.c:601
 msgid "Not Set\n"
 msgstr "Nenastaveno\n"
 
-#: sys-utils/ipcs.c:592
+#: sys-utils/ipcs.c:618
 #, c-format
 msgid ""
 "\n"
@@ -8080,53 +8247,53 @@ msgstr ""
 "\n"
 "semid pole semaforù = %d\n"
 
-#: sys-utils/ipcs.c:593
+#: sys-utils/ipcs.c:619
 #, 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:595
+#: sys-utils/ipcs.c:621
 #, c-format
 msgid "mode=%#o, access_perms=%#o\n"
 msgstr "mód=%#o, pøístupová práva=%#o\n"
 
-#: sys-utils/ipcs.c:596
+#: sys-utils/ipcs.c:622
 #, c-format
 msgid "nsems = %d\n"
 msgstr "nsems = %d\n"
 
-#: sys-utils/ipcs.c:597
+#: sys-utils/ipcs.c:623
 #, c-format
 msgid "otime = %s"
 msgstr "èas poslední operace = %s"
 
-#: sys-utils/ipcs.c:599
+#: sys-utils/ipcs.c:625
 #, c-format
 msgid "ctime = %s"
 msgstr "èas zmìny = %s"
 
-#: sys-utils/ipcs.c:601
+#: sys-utils/ipcs.c:627
 #, c-format
 msgid "%-10s%-10s%-10s%-10s%-10s\n"
 msgstr "%-10s%-10s%-10s%-10s%-10s\n"
 
-#: sys-utils/ipcs.c:601
+#: sys-utils/ipcs.c:627
 msgid "semnum"
 msgstr "semnum"
 
-#: sys-utils/ipcs.c:601
+#: sys-utils/ipcs.c:627
 msgid "value"
 msgstr "hodnota"
 
-#: sys-utils/ipcs.c:601
+#: sys-utils/ipcs.c:627
 msgid "ncount"
 msgstr "ncount"
 
-#: sys-utils/ipcs.c:602
+#: sys-utils/ipcs.c:628
 msgid "zcount"
 msgstr "zcount"
 
-#: sys-utils/ipcs.c:602
+#: sys-utils/ipcs.c:628
 msgid "pid"
 msgstr "pid"
 
@@ -8274,7 +8441,7 @@ msgstr "%d: p
 msgid "usage: %s program [arg ...]\n"
 msgstr "Pou¾ití: %s program [arg ...]\n"
 
-#: sys-utils/tunelp.c:74
+#: sys-utils/tunelp.c:73
 #, c-format
 msgid ""
 "Usage: %s <device> [ -i <IRQ> | -t <TIME> | -c <CHARS> | -w <WAIT> | \n"
@@ -8285,54 +8452,55 @@ msgstr ""
 "            -a [on|off] | -o [on|off] | -C [on|off] | -q [on|off] | -s |\n"
 "            -T [on|off] ]\n"
 
-#: sys-utils/tunelp.c:90
+#: sys-utils/tunelp.c:89
 msgid "malloc error"
 msgstr "chyba malloc"
 
-#: sys-utils/tunelp.c:101
-msgid "sscanf error"
-msgstr "chyba sscanf"
+#: sys-utils/tunelp.c:100
+#, c-format
+msgid "%s: bad value\n"
+msgstr "%s: chybná hodnota\n"
 
-#: sys-utils/tunelp.c:239
+#: sys-utils/tunelp.c:237
 #, c-format
 msgid "%s: %s not an lp device.\n"
 msgstr "%s: %s není lp zaøízením\n"
 
-#: sys-utils/tunelp.c:260
+#: sys-utils/tunelp.c:258
 #, c-format
 msgid "%s status is %d"
 msgstr "status %s je %d"
 
-#: sys-utils/tunelp.c:261
+#: sys-utils/tunelp.c:259
 msgid ", busy"
 msgstr ", zaneprázdnìna"
 
-#: sys-utils/tunelp.c:262
+#: sys-utils/tunelp.c:260
 msgid ", ready"
 msgstr ", pøipravena"
 
-#: sys-utils/tunelp.c:263
+#: sys-utils/tunelp.c:261
 msgid ", out of paper"
 msgstr ", do¹el papír"
 
-#: sys-utils/tunelp.c:264
+#: sys-utils/tunelp.c:262
 msgid ", on-line"
 msgstr ", zapnuta"
 
-#: sys-utils/tunelp.c:265
+#: sys-utils/tunelp.c:263
 msgid ", error"
 msgstr ", chyba"
 
-#: sys-utils/tunelp.c:282
+#: sys-utils/tunelp.c:280
 msgid "LPGETIRQ error"
 msgstr "chyba LPGETIRQ"
 
-#: sys-utils/tunelp.c:288
+#: sys-utils/tunelp.c:286
 #, c-format
 msgid "%s using IRQ %d\n"
 msgstr "%s pou¾ívá IRQ %d\n"
 
-#: sys-utils/tunelp.c:290
+#: sys-utils/tunelp.c:288
 #, c-format
 msgid "%s using polling\n"
 msgstr "%s pou¾ívá poll\n"
@@ -8607,15 +8775,22 @@ msgstr "Vstupn
 msgid "Out of memory when growing buffer.\n"
 msgstr "Nedostatek pamìti pro rostoucí buffer.\n"
 
-#: kbd/kbdrate.c:139 kbd/kbdrate.c:271
+#: kbd/kbdrate.c:138 kbd/kbdrate.c:276
 #, c-format
 msgid "Typematic Rate set to %.1f cps (delay = %d ms)\n"
 msgstr "Rychlost opakování kláves nastavena na %.1f cps (prodleva = %d ms)\n"
 
-#: kbd/kbdrate.c:247
+#: kbd/kbdrate.c:222
+msgid "Usage: kbdrate [-V] [-s] [-r rate] [-d delay]\n"
+msgstr "Pou¾ití: kbdrate [-V] [-s] [-r rychlost] [-d prodleva]\n"
+
+#: kbd/kbdrate.c:252
 msgid "Cannot open /dev/port"
 msgstr "/dev/port nelze otevøít"
 
+#~ msgid "sscanf error"
+#~ msgstr "chyba sscanf"
+
 #~ msgid "%s: %s, errno=%d: %s.\n"
 #~ msgstr "%s: %s, errno=%d: %s.\n"
 
@@ -8719,4 +8894,3 @@ msgstr "/dev/port nelze otev
 
 #~ msgid "util-linux kbdrate %s \n"
 #~ msgstr "util-linux kbdrate %s \n"
-#~ msgstr "util-linux kbdrate %s \n"
index 1aab875d243a3f1e9cffeb6dc17a4b06d7402597..22c9f2024203945321b9c6421795d5df6ba251e6 100644 (file)
--- a/po/de.po
+++ b/po/de.po
@@ -2,7 +2,7 @@
 # German translation
 # Copyright (C) 1999
 # Elrond <Elrond@Wunder-Nett.org>, 1999.
-# $Revision: 1.26 $
+# $Revision: 1.3 $
 #
 # Permission is granted to freely copy and distribute
 # this file and modified versions, provided, that this
 #
 # People who helped or contributed (in historical order):
 #   Martin Schulze <joey@infodrom.north.de>
-#
+#   Thomas Wagner <gertrans@yahoo.com>
+#   Beth Powell <bpowell@turbolinux.com>
 #
 msgid ""
 msgstr ""
 "Project-Id-Version: util-linux 2.10\n"
-"POT-Creation-Date: 1999-11-03 23:13+0100\n"
-"PO-Revision-Date: 1999-11-05 11:08+0100\n"
+"POT-Creation-Date: 2000-03-21 14:47-0800\n"
+"PO-Revision-Date: 2000-03-30 11:08+0100\n"
 "Last-Translator: Elrond <Elrond@Wunder-Nett.org>\n"
 "Language-Team: Elrond <Elrond@Wunder-Nett.org>\n"
 "MIME-Version: 1.0\n"
@@ -26,87 +27,88 @@ msgstr ""
 
 #: clock/cmos.c:146
 msgid "booted from MILO\n"
-msgstr ""
+msgstr "Gebootet von MILO\n"
 
-#: clock/cmos.c:154
+#: clock/cmos.c:155
 msgid "Ruffian BCD clock\n"
-msgstr ""
+msgstr "Ruffian-BCD-Uhr\n"
 
-#: clock/cmos.c:170
+#: clock/cmos.c:171
 #, c-format
 msgid "clockport adjusted to 0x%x\n"
-msgstr ""
+msgstr "Uhranschluss eingestellt auf 0x%x\n"
 
-#: clock/cmos.c:180
+#: clock/cmos.c:181
 msgid "funky TOY!\n"
-msgstr ""
+msgstr "funky TOY!\n"
 
-#: clock/cmos.c:234
+#: clock/cmos.c:235
 #, c-format
 msgid "%s: atomic %s failed for 1000 iterations!"
-msgstr ""
+msgstr "%s: atomisches %s war 1000 Durchläufe lang nicht erfolgreich!"
 
-#: clock/cmos.c:558
-#, fuzzy, c-format
+#: clock/cmos.c:559
+#, c-format
 msgid "Cannot open /dev/port: %s"
-msgstr "Konnte /dev/port nicht öffnen: %s"
+msgstr "/dev/port konnte nicht geöffnet werden: %s"
 
 # typo in the english version: didn't
-#: clock/cmos.c:565
+#: clock/cmos.c:566
 msgid "I failed to get permission because I didnt try.\n"
-msgstr ""
+msgstr "Keine Erlaubnis, da sie nicht angefordert wurde.\n"
 
-#: clock/cmos.c:568
+#: clock/cmos.c:569
 #, c-format
 msgid "%s is unable to get I/O port access:  the iopl(3) call failed.\n"
 msgstr ""
+"%s kann keinen Zugriff auf den E/A-Anschluss erhalten: der Aufruf iopl(3) "
+"war nicht erfolgreich.\n"
 
 # Oh well.
-#: clock/cmos.c:571
-#, fuzzy
+#: clock/cmos.c:572
 msgid "Probably you need root privileges.\n"
 msgstr "Möglicherweise benötigen Sie root-Rechte.\n"
 
 #: clock/hwclock.c:213
 #, c-format
 msgid "Assuming hardware clock is kept in %s time.\n"
-msgstr ""
+msgstr "Hardware-Uhr weiterhin in %s.\n"
 
 #: clock/hwclock.c:214 clock/hwclock.c:303
 msgid "UTC"
-msgstr ""
+msgstr "Universalzeit (UTC)"
 
 #: clock/hwclock.c:214 clock/hwclock.c:302
 msgid "local"
-msgstr ""
+msgstr "Ortszeit (LOCAL)"
 
 #: clock/hwclock.c:286
 #, c-format
 msgid "%s: Warning: unrecognized third line in adjtime file\n"
-msgstr ""
+msgstr "%s: Warnung: 3. Zeile der Datei 'adjtime' nicht lesbar.\n"
 
 #: clock/hwclock.c:288
 msgid "(Expected: `UTC' or `LOCAL' or nothing.)\n"
-msgstr ""
+msgstr "(Erwartet: 'UTC' oder 'LOCAL' oder nichts.)\n"
 
 #: clock/hwclock.c:297
 #, c-format
 msgid "Last drift adjustment done at %d seconds after 1969\n"
-msgstr ""
+msgstr "Letzte Zeitabweichungsjustierung erfolgte %d Sekunden nach 1969.\n"
 
 #: clock/hwclock.c:299
 #, c-format
 msgid "Last calibration done at %d seconds after 1969\n"
-msgstr ""
+msgstr "Letzte Kalibrierung erfolgte %d Sekunden nach 1969.\n"
 
 #: clock/hwclock.c:301
 #, c-format
 msgid "Hardware clock is on %s time\n"
-msgstr ""
+msgstr "Die Hardware-Uhr ist auf %s eingestellt.\n"
 
 #: clock/hwclock.c:303
 msgid "unknown"
-msgstr ""
+msgstr "unbekannt"
 
 #. -----------------------------------------------------------------------------
 #. Wait until the falling edge of the Hardware Clock's update flag so
@@ -124,48 +126,53 @@ msgstr ""
 #. -----------------------------------------------------------------------------
 #: clock/hwclock.c:325
 msgid "Waiting for clock tick...\n"
-msgstr ""
+msgstr "Warte auf Uhrsignal...\n"
 
 #: clock/hwclock.c:329
 msgid "...got clock tick\n"
-msgstr ""
+msgstr "...Uhrsignal erhalten\n"
 
-#: clock/hwclock.c:381
+#: clock/hwclock.c:380
 #, c-format
 msgid "Invalid values in hardware clock: %2d/%.2d/%.2d %.2d:%.2d:%.2d\n"
-msgstr ""
+msgstr "Ungültige Werte in der Hardware-Uhr: %2d/%.2d/%.2d %.2d:%.2d:%.2d\n"
 
-#: clock/hwclock.c:390
+#: clock/hwclock.c:389
 #, c-format
-msgid "Hw clock time : %.2d:%.2d:%.2d = %d seconds since 1969\n"
-msgstr "Zeit der Hardwareuhr: %.2d:%.2d:%.2d = %d Sekunden seit 1969\n"
+msgid "Hw clock time : %2d/%.2d/%.2d %.2d:%.2d:%.2d = %d seconds since 1969\n"
+msgstr "Zeit der Hardware-Uhr: %2d/%.2d/%.2d %.2d:%.2d:%.2d = %d Sekunden seit 1969\n"
 
-#: clock/hwclock.c:416
+#: clock/hwclock.c:417
 #, c-format
 msgid "Time read from Hardware Clock: %02d:%02d:%02d\n"
-msgstr ""
+msgstr "Von der Hardware-Uhr gelesene Zeit: %02d:%02d:%02d\n"
 
-#: clock/hwclock.c:442
+#: clock/hwclock.c:443
 #, c-format
 msgid "Setting Hardware Clock to %.2d:%.2d:%.2d = %d seconds since 1969\n"
-msgstr ""
+msgstr "Hardware-Uhr auf %.2d:%.2d:%.2d eingestellt (%d Sekunden seit 1969).\n"
 
-#: clock/hwclock.c:448
+#: clock/hwclock.c:449
 msgid "Clock not changed - testing only.\n"
-msgstr ""
+msgstr "Uhr nicht geändert, nur geprüft.\n"
 
-#: clock/hwclock.c:496
+#: clock/hwclock.c:497
 #, c-format
 msgid ""
 "Time elapsed since reference time has been %.6f seconds.\n"
 "Delaying further to reach the next full second.\n"
 msgstr ""
+"Verstrichene Zeit seit Bezugszeit: %.6f Sekunden.\n"
+"Es erfolgt eine Verzögerung bis zur nächsten vollen Sekunde.\n"
 
-#: clock/hwclock.c:520
+#: clock/hwclock.c:521
 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 Register der Hardware-Uhr enthalten ungültige Werte (beispielsweise den "
+"50. Tag eines Monats) oder sind außerhalb des zulässigen Bereichs "
+"(beispielsweise Jahr 2095).\n"
 
 #. Address of static storage containing time string
 #. For some strange reason, ctime() is designed to include a newline
@@ -173,38 +180,42 @@ msgstr ""
 #.
 #. Compute display value for time
 #. Cut off trailing newline
-#: clock/hwclock.c:532
+#: clock/hwclock.c:533
 #, c-format
 msgid "%s  %.6f seconds\n"
 msgstr "%s  %.6f Sekunden\n"
 
-#: clock/hwclock.c:566
+#: clock/hwclock.c:567
 msgid "No --date option specified.\n"
-msgstr "Es wurde keine --date-Option verwendet.\n"
+msgstr "Die Option --date wurde nicht angegeben.\n"
 
 #. Quotation marks in date_opt would ruin the date command we construct.
 #.
-#: clock/hwclock.c:571
+#: clock/hwclock.c:572
 msgid ""
 "The value of the --date option is not a valid date.\n"
 "In particular, it contains quotation marks.\n"
 msgstr ""
+"Der Wert der Option --date ist kein gültiges Datum.\n"
+"Er enthält Anführungszeichen.\n"
 
-#: clock/hwclock.c:577
+#: clock/hwclock.c:578
 #, c-format
 msgid "Issuing date command: %s\n"
-msgstr ""
+msgstr "Der Befehl 'date' wird erteilt: %s\n"
 
-#: clock/hwclock.c:581
+#: clock/hwclock.c:582
 msgid "Unable to run 'date' program in /bin/sh shell. popen() failed"
 msgstr ""
+"Das Programm 'date' in /bin/sh shell kann nicht ausgeführt werden. Die "
+"Funktion popen() war nicht erfolgreich."
 
-#: clock/hwclock.c:587
+#: clock/hwclock.c:588
 #, c-format
 msgid "response from date command = %s\n"
-msgstr ""
+msgstr "Antwort auf den Befehl 'date' = %s\n"
 
-#: clock/hwclock.c:589
+#: clock/hwclock.c:590
 #, c-format
 msgid ""
 "The date command issued by %s returned unexpected results.\n"
@@ -213,8 +224,13 @@ msgid ""
 "The response was:\n"
 "  %s\n"
 msgstr ""
+"Der von %s aufgerufene Befehl 'date' hatte ein unwartetes Ergebnis.\n"
+"Der Befehl lautete:\n"
+"  %s\n"
+"Die Antwort war:\n"
+"  %s\n"
 
-#: clock/hwclock.c:598
+#: clock/hwclock.c:599
 #, c-format
 msgid ""
 "The date command issued by %s returnedsomething other than an integer where "
@@ -224,236 +240,310 @@ msgid ""
 "The response was:\n"
 " %s\n"
 msgstr ""
+"Der von %s aufgerufene Befehl 'date' gab keine Ganzzahl zurück, obwohl ein "
+"konvertierter Zeitwert erwartet wurde.\n"
+"Der Befehl lautete:\n"
+"  %s\n"
+"Die Antwort war:\n"
+" %s\n"
 
-#: clock/hwclock.c:608
+#: clock/hwclock.c:609
 #, c-format
 msgid "date string %s equates to %d seconds since 1969.\n"
-msgstr ""
+msgstr "Die Datumszeichenfolge %s entspricht %d Sekunden seit 1969.\n"
 
-#: clock/hwclock.c:643
+#: clock/hwclock.c:641
 msgid ""
 "The Hardware Clock does not contain a valid time, so we cannot set the "
 "System Time from it.\n"
 msgstr ""
+"Die Hardware-Uhr enthält keine gültige Zeit. Die Systemzeit kann daher nicht "
+"von ihr abgeleitet werden.\n"
 
 # debug
-#: clock/hwclock.c:659
+#: clock/hwclock.c:654
 msgid "Calling settimeofday:\n"
 msgstr "settimeofday() wird aufgerufen:\n"
 
 # not much to translate
 # debug
-#: clock/hwclock.c:660
+#: clock/hwclock.c:655
 #, 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
-#: clock/hwclock.c:662
+#: clock/hwclock.c:657
 #, c-format
 msgid "\ttz.tz_minuteswest = %ld\n"
 msgstr "\ttz.tz_minuteswest = %ld\n"
 
-#: clock/hwclock.c:665
+#: clock/hwclock.c:660
 msgid "Not setting system clock because running in test mode.\n"
-msgstr ""
+msgstr "Ausführung im Testmodus, die Systemuhr wird daher nicht gestellt.\n"
 
-#: clock/hwclock.c:677
+#: clock/hwclock.c:673
 msgid "Must be superuser to set system clock.\n"
-msgstr ""
+msgstr "Die Systemuhr kann nur vom Superuser eingestellt werden.\n"
 
-#: clock/hwclock.c:679
-#, fuzzy
+#: clock/hwclock.c:675
 msgid "settimeofday() failed"
-msgstr "settimeofday() schlug fehl"
+msgstr "settimeofday() nicht erfolgreich."
 
-#: clock/hwclock.c:712
+#: clock/hwclock.c:708
 msgid ""
 "Not adjusting drift factor because the Hardware Clock previously contained "
 "garbage.\n"
 msgstr ""
+"Der Abweichungsfaktor wird nicht eingestellt, da die Hardware-Uhr zuvor "
+"ungültige Werte enthielt.\n"
 
-#: clock/hwclock.c:716
+#: clock/hwclock.c:712
 msgid ""
 "Not adjusting drift factor because it has been less than a day since the "
 "last calibration.\n"
 msgstr ""
+"Der Abweichungsfaktor wird nicht eingestellt, da seit der letzten "
+"Kalibrierung weniger als ein Tag verstrichen ist.\n"
 
-#: clock/hwclock.c:725
+#: clock/hwclock.c:721
 #, c-format
 msgid ""
 "Clock drifted %d 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 Abweichung der Uhr betrug %d Sekunden in den letzten %d Sekunden trotz "
+"eines Abweichungsfaktors von %f Sekunden/Tag.\n"
+"Der Abweichungsfaktor wird um %f Sekunden/Tag geändert.\n"
 
-#: clock/hwclock.c:776
+#: clock/hwclock.c:772
 #, c-format
 msgid "Time since last adjustment is %d seconds\n"
-msgstr ""
+msgstr "Zeit seit der letzten Einstellung: %d Sekunden\n"
 
-#: clock/hwclock.c:778
+#: clock/hwclock.c:774
 #, c-format
 msgid "Need to insert %d seconds and refer time back %.6f seconds ago\n"
 msgstr ""
+"%d Sekunden müssen eingefügt werden, und die Zeit muss %.6f Sekunden "
+"zurückbezogen werden.\n"
 
-#: clock/hwclock.c:807
+#: clock/hwclock.c:803
 msgid "Not updating adjtime file because of testing mode.\n"
 msgstr ""
+"'adjtime' wird nicht aktualisiert, da Sie sich im Testmodus befinden.\n"
 
-# passiv, Konjunktiv in der Umschreibungsform
-#: clock/hwclock.c:808
-#, fuzzy, c-format
+#: clock/hwclock.c:804
+#, c-format
 msgid ""
 "Would have written the following to %s:\n"
 "%s"
 msgstr ""
-"Das folgende wäre in die Datei %s geschrieben worden:\n"
+"In die Datei %s wäre der folgende Wert geschrieben worden:\n"
 "%s"
 
-#: clock/hwclock.c:832
+#: clock/hwclock.c:828
 msgid "Drift adjustment parameters not updated.\n"
-msgstr ""
+msgstr "Die Zeitabweichungsparameter wurden nicht aktualisiert.\n"
 
-#: clock/hwclock.c:873
+#: clock/hwclock.c:869
 msgid ""
 "The Hardware Clock does not contain a valid time, so we cannot adjust it.\n"
 msgstr ""
+"Die Hardware-Uhr enthält keine gültige Zeit und kann somit nicht "
+"aktualisiert werden.\n"
 
-#: clock/hwclock.c:897
+#: clock/hwclock.c:893
 msgid "Needed adjustment is less than one second, so not setting clock.\n"
 msgstr ""
+"Die erforderliche Justierung beträgt weniger als eine Sekunde. Die Uhr wird "
+"daher nicht eingestellt.\n"
 
-#: clock/hwclock.c:923
-#, fuzzy, c-format
+#: clock/hwclock.c:919
+#, c-format
 msgid "Using %s.\n"
-msgstr "Benutze %s.\n"
+msgstr "Es wird %s verwendet.\n"
 
-#: clock/hwclock.c:925
+#: clock/hwclock.c:921
 msgid "No usable clock interface found.\n"
-msgstr ""
+msgstr "Es wurde keine verwendbare Uhrschnittstelle gefunden.\n"
 
-# "stellen"
-#: clock/hwclock.c:1020
-#, fuzzy
+#: clock/hwclock.c:1016
 msgid "Unable to set system clock.\n"
-msgstr "Konnte die Systemuhr nicht setzen.\n"
+msgstr "Die Systemuhr konnte nicht eingestellt werden.\n"
 
-#: clock/hwclock.c:1049
+#: clock/hwclock.c:1045
 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 speichert nur auf Alpha-Rechnern eine Epochenwert für die "
+"Hardware-Uhr.\n"
+"Diese Version von 'hwclock' wurde nicht für einen Alpha-Rechner entwickelt\n"
+"(und wird daher wohl auch nicht auf einem Alpha-Rechner ausgeführt). Es wird "
+"nichts durchgeführt.\n"
 
-#: clock/hwclock.c:1058
+#: clock/hwclock.c:1054
 msgid "Unable to get the epoch value from the kernel.\n"
-msgstr ""
+msgstr "Der Epochenwert kann nicht aus dem Kernel abgerufen werden.\n"
 
-#: clock/hwclock.c:1060
+#: clock/hwclock.c:1056
 #, c-format
 msgid "Kernel is assuming an epoch value of %lu\n"
-msgstr ""
+msgstr "Der Kernel geht vom Epochenwert %lu aus.\n"
 
-#: clock/hwclock.c:1063
+#: clock/hwclock.c:1059
 msgid ""
 "To set the epoch value, you must use the 'epoch' option to tell to what "
 "value to set it.\n"
 msgstr ""
+"Wenn Sie den Epochenwert festlegen möchten, verwenden Sie die Option "
+"'epoch', um den einzustellenden Wert anzugeben.\n"
 
-#: clock/hwclock.c:1066
+#: clock/hwclock.c:1062
 #, c-format
 msgid "Not setting the epoch to %d - testing only.\n"
 msgstr ""
+"Die Epoche wird nicht auf %d eingestellt - Sie befinden sich im Testmodus.\n"
 
-#: clock/hwclock.c:1069
+#: clock/hwclock.c:1065
 msgid "Unable to set the epoch value in the kernel.\n"
+msgstr "Der Epochenwert im Kernel kann nicht eingestellt werden.\n"
+
+#: clock/hwclock.c:1088
+msgid ""
+"hwclock - query and set the hardware clock (RTC)\n"
+"\n"
+"Usage: hwclock [function] [options...]\n"
+"\n"
+"Functions:\n"
+"  --help        show this help\n"
+"  --show        read hardware clock and print result\n"
+"  --set         set the rtc to the time given with --date\n"
+"  --hctosys     set the system time from the hardware clock\n"
+"  --systohc     set the hardware clock to the current system time\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"
+"  --version     print out the version of hwclock to stdout\n"
+"\n"
+"Options: \n"
+"  --utc         the hardware clock is kept in coordinated universal time\n"
+"  --localtime   the hardware clock is kept in local time\n"
+"  --directisa   access the ISA bus directly instead of /dev/rtc\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"
+msgstr ""
+
+#: clock/hwclock.c:1113
+msgid ""
+"  --jensen, --arc, --srm, --funky-toy\n"
+"                tell hwclock the type of alpha you have (see hwclock(8))\n"
 msgstr ""
 
-#: clock/hwclock.c:1151
+#: clock/hwclock.c:1209
 #, c-format
 msgid "%s takes no non-option arguments.  You supplied %d.\n"
 msgstr ""
+"%s kann keine Argumente annehmen, die keine Optionsform haben. Sie haben %d "
+"angegeben.\n"
 
-#: clock/hwclock.c:1159
+#: clock/hwclock.c:1219
 msgid ""
 "You have specified multiple function options.\n"
 "You can only perform one function at a time.\n"
 msgstr ""
+"Sie haben mehrere Funktionoptionen angegeben.\n"
+"Es kann immer nur eine Funktion durchgeführt werden.\n"
 
-#: clock/hwclock.c:1165
+#: clock/hwclock.c:1225
 #, 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 gegenseitig aus. Sie "
+"haben beide angegeben.\n"
 
-#: clock/hwclock.c:1178
+#: clock/hwclock.c:1238
 msgid "No usable set-to time.  Cannot set clock.\n"
 msgstr ""
+"Die einzustellende Uhrzeit ist nicht verwendbar. Die Uhr wird nicht "
+"eingestellt.\n"
 
-#: clock/hwclock.c:1193
+#: clock/hwclock.c:1253
 msgid "Sorry, only the superuser can change the Hardware Clock.\n"
-msgstr ""
+msgstr "Die Hardware-Uhr kann nur vom Superuser geändert werden.\n"
 
-#: clock/hwclock.c:1197
+#: clock/hwclock.c:1257
 msgid ""
 "Sorry, only the superuser can change the Hardware Clock epoch in the "
 "kernel.\n"
 msgstr ""
+"Die Epoche der Hardware-Uhr im Kernel kann nur vom Superuser geändert "
+"werden.\n"
 
-#: clock/hwclock.c:1213
+#: clock/hwclock.c:1275
 msgid ""
 "Cannot access the Hardware Clock via any known method.  Use --debug option "
 "to see the details of our search for an access method.\n"
 msgstr ""
+"Zugriff auf die Hardware-Uhr ist nicht möglich. Verwenden Sie die Option "
+"--debug, um Details über die Suche einer Zugriffsmethode anzuzeigen.\n"
 
 #: clock/kd.c:41
 msgid "Waiting in loop for time from KDGHWCLK to change\n"
-msgstr ""
+msgstr "Warteschleife für die Zeitänderung von KDGHWCLK im Gange...\n"
 
 #: clock/kd.c:44
 msgid "KDGHWCLK ioctl to read time failed"
-msgstr ""
+msgstr "KDGHWCLK ioctl konnte die Zeit nicht lesen."
 
 #: clock/kd.c:65 clock/rtc.c:144
 msgid "Timed out waiting for time change.\n"
-msgstr ""
+msgstr "Zeitüberschreitung beim Warten auf die Zeitänderung.\n"
 
 #: clock/kd.c:69
 msgid "KDGHWCLK ioctl to read time failed in loop"
-msgstr ""
+msgstr "KDGHWCLK ioctl konnte Zeit in der Warteschleife nicht lesen."
 
 #: clock/kd.c:91
 msgid "ioctl() failed to read time from  /dev/tty1"
-msgstr ""
+msgstr "ioctl() konnte Zeit von /dev/tty1 nicht lesen."
 
 #: clock/kd.c:127
 msgid "ioctl() to open /dev/tty1 failed"
-msgstr ""
+msgstr "ioctl() konnte /dev/tty1 nicht öffnen."
 
 #: clock/kd.c:157
 msgid "KDGHWCLK ioctl failed"
-msgstr ""
+msgstr "KDGHWCLK ioctl nicht erfolgreich."
 
 #: clock/kd.c:161
-#, fuzzy
 msgid "Can't open /dev/tty1"
-msgstr "Konnte /dev/tty1 nicht öffnen"
+msgstr "/dev/tty1 konnte nicht geöffnet werden."
 
 #: clock/rtc.c:98
 msgid "ioctl() to /dev/rtc to read the time failed.\n"
 msgstr ""
+"Funktionsaufruf ioctl() an /dev/rtc für das Lesen der Uhr war nicht "
+"erfolgreich.\n"
 
 #: clock/rtc.c:129
 msgid "Waiting in loop for time from /dev/rtc to change\n"
-msgstr ""
+msgstr "Warteschleife für Zeitänderung von /dev/rtc im Gange...\n"
 
 #: clock/rtc.c:165 clock/rtc.c:222
 msgid "open() of /dev/rtc failed"
-msgstr "Konnte /dev/rtc nicht öffnen"
+msgstr "/dev/rtc konnte nicht geöffnet werden."
 
 #. This rtc device doesn't have interrupt functions.  This is typical
 #. on an Alpha, where the Hardware Clock interrupts are used by the
@@ -461,37 +551,44 @@ msgstr "Konnte /dev/rtc nicht 
 #.
 #: clock/rtc.c:182
 msgid "/dev/rtc does not have interrupt functions. "
-msgstr ""
+msgstr "/dev/rtc enthält keine Interrupt-Funktionen. "
 
 #: clock/rtc.c:191
 msgid "read() to /dev/rtc to wait for clock tick failed"
 msgstr ""
+"Der Funktionsaufruf read() an /dev/rtc für das Warten auf ein Uhrsignal war "
+"nicht erfolgreich."
 
 #: clock/rtc.c:199
 msgid "ioctl() to /dev/rtc to turn off update interrupts failed"
 msgstr ""
+"Der Funktionsaufruf ioctl() an /dev/rtc für das Ausschalten des "
+"Aktualisierungs-Interrupts war nicht erfolgreich."
 
 #: clock/rtc.c:202
 msgid "ioctl() to /dev/rtc to turn on update interrupts failed unexpectedly"
 msgstr ""
+"Der Funktionsaufruf ioctl() an /dev/rtc für das Einschalten des "
+"Aktualisierungs-Interrupts war nicht erfolgreich."
 
 #: clock/rtc.c:245 clock/rtc.c:324 clock/rtc.c:369
-#, fuzzy
 msgid "Unable to open /dev/rtc"
-msgstr "Konnte /dev/rtc nicht öffnen"
+msgstr "/dev/rtc konnte nicht geöffnet werden."
 
 #: clock/rtc.c:268
 msgid "ioctl() to /dev/rtc to set the time failed.\n"
 msgstr ""
+"Der Funktionsaufruf ioctl() an /dev/rtc für das Einstellen der Zeit war "
+"nicht erfolgreich.\n"
 
 #: clock/rtc.c:272
 #, c-format
 msgid "ioctl(%s) was successful.\n"
-msgstr ""
+msgstr "ioctl(%s) war erfolgreich.\n"
 
 #: clock/rtc.c:302
 msgid "Open of /dev/rtc failed"
-msgstr "Konnte /dev/rtc nicht öffnen"
+msgstr "/dev/rtc konnte nicht geöffnet werden."
 
 #: clock/rtc.c:320 clock/rtc.c:365
 msgid ""
@@ -499,15 +596,19 @@ msgid ""
 "device driver via the device special file /dev/rtc.  This file does not "
 "exist on this system.\n"
 msgstr ""
+"Um den Epochenwert im Kernel bearbeiten zu können, ist der Zugriff auf den "
+"Linux-Gerätetreiber 'rtc' über die Gerätedatei /dev/rtc erforderlich. Diese "
+"Datei ist in diesem System nicht vorhanden.\n"
 
 #: clock/rtc.c:331
 msgid "ioctl(RTC_EPOCH_READ) to /dev/rtc failed"
 msgstr ""
+"Der Funktionsaufruf ioctl(RTC_EPOCH_READ) an /dev/rtc war nicht erfolgreich."
 
 #: clock/rtc.c:337
 #, c-format
 msgid "we have read epoch %ld from /dev/rtc with RTC_EPOCH_READ ioctl.\n"
-msgstr ""
+msgstr "Epoche %ld wurde aus /dev/rtc mit RTC_EPOCH_READ ioctl gelesen.\n"
 
 #. kernel would not accept this epoch value
 #. Hmm - bad habit, deciding not to do what the user asks
@@ -516,55 +617,116 @@ msgstr ""
 #, 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 haben %ld "
+"angefordert.\n"
 
 #: clock/rtc.c:374
 #, c-format
 msgid "setting epoch to %ld with RTC_EPOCH_SET ioctl to /dev/rtc.\n"
-msgstr ""
+msgstr "Epoche wird auf %ld mit RTC_EPOCH_SET ioctl in /dev/rtc eingestellt.\n"
 
 #: clock/rtc.c:379
 msgid ""
 "The kernel device driver for /dev/rtc does not have the RTC_EPOCH_SET "
 "ioctl.\n"
 msgstr ""
+"RTC_EPOCH_SET ioctl ist im Kernel-Gerätetreiber für /dev/rtc nicht "
+"enthalten.\n"
 
 #: clock/rtc.c:382
 msgid "ioctl(RTC_EPOCH_SET) to /dev/rtc failed"
 msgstr ""
+"Funktionsaufruf ioctl(RTC_EPOCH_SET) an /dev/rtc war nicht erfolgreich."
 
 #: clock/shhopt.c:255 clock/shhopt.c:281
 #, c-format
 msgid "invalid number `%s'\n"
-msgstr "Ungültige Nummer: »%s«\n"
+msgstr "Ungültiger Wert: '%s'\n"
 
 #: clock/shhopt.c:258 clock/shhopt.c:284
 #, c-format
 msgid "number `%s' to `%s' out of range\n"
-msgstr ""
+msgstr "Wert '%s' für '%s' nicht im gültigen Bereich.\n"
 
 #: clock/shhopt.c:398
 #, c-format
 msgid "unrecognized option `%s'\n"
-msgstr "unbekannte Option »%s«\n"
+msgstr "Unbekannte Option '%s'\n"
 
 #: clock/shhopt.c:411 clock/shhopt.c:449
 #, c-format
 msgid "option `%s' requires an argument\n"
-msgstr "Option »%s« erwartet ein Argument\n"
+msgstr "Option '%s' erwartet ein Argument.\n"
 
 #: clock/shhopt.c:417
 #, c-format
 msgid "option `%s' doesn't allow an argument\n"
-msgstr "Option »%s« erwartet kein Argument\n"
+msgstr "Option '%s' erwartet kein Argument.\n"
 
 #: clock/shhopt.c:439
 #, c-format
 msgid "unrecognized option `-%c'\n"
-msgstr "unbekannte Option »-%c«\n"
+msgstr "Unbekannte Option '-%c'\n"
+
+#: disk-utils/blockdev.c:34
+msgid "set read-only"
+msgstr ""
+
+#: disk-utils/blockdev.c:35
+msgid "set read-write"
+msgstr ""
+
+#: disk-utils/blockdev.c:38
+msgid "get read-only"
+msgstr ""
+
+#: disk-utils/blockdev.c:41
+msgid "get sectorsize"
+msgstr ""
+
+#: disk-utils/blockdev.c:44
+msgid "get size"
+msgstr ""
+
+#: disk-utils/blockdev.c:47
+msgid "set readahead"
+msgstr ""
+
+#: disk-utils/blockdev.c:50
+msgid "get readahead"
+msgstr ""
+
+#: disk-utils/blockdev.c:53
+msgid "flush buffers"
+msgstr ""
+
+#: disk-utils/blockdev.c:57
+msgid "reread partition table"
+msgstr ""
+
+#: disk-utils/blockdev.c:66
+#, c-format
+msgid "Usage: %s [-V] [-v|-q] commands devices\n"
+msgstr ""
+
+# "Ungültige Taste"
+#: disk-utils/blockdev.c:67
+msgid "Available commands:\n"
+msgstr ""
+
+#: disk-utils/blockdev.c:167
+#, c-format
+msgid "%s: Unknown command: %s\n"
+msgstr ""
+
+#: disk-utils/blockdev.c:178
+#, c-format
+msgid "%s requires an argument\n"
+msgstr ""
 
 #: disk-utils/fdformat.c:33
 msgid "Formatting ... "
-msgstr "Formatieren ... "
+msgstr "Formatieren im Gange... "
 
 #: disk-utils/fdformat.c:51 disk-utils/fdformat.c:86
 msgid "done\n"
@@ -583,378 +745,393 @@ msgstr "Lesen: "
 #, 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"
+"Fehler beim Lesen von Zylinder %d. Es wurde %d erwartet, aber %d gelesen.\n"
 
-# Oh, well, that doesn't sound pretty good.
 #: disk-utils/fdformat.c:81
 #, c-format
 msgid ""
 "bad data in cyl %d\n"
 "Continuing ... "
 msgstr ""
-"Schlechte Daten bei Zylinder %d\n"
+"Ungültige Daten in 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"
+msgstr "Verwendung: %s [ -n ] Gerät\n"
+
+# The first %s is swapon/swapoff
+#: disk-utils/fdformat.c:117 disk-utils/fsck.minix.c:1255 disk-utils/mkfs.c:55
+#: disk-utils/mkfs.minix.c:650 disk-utils/mkswap.c:351
+#: disk-utils/setfdprm.c:128 misc-utils/cal.c:175 misc-utils/ddate.c:172
+#: misc-utils/kill.c:191
+#, c-format
+msgid "%s from %s\n"
+msgstr ""
 
-#: disk-utils/fdformat.c:122
+#: disk-utils/fdformat.c:131
 #, c-format
 msgid "%s: not a floppy device\n"
-msgstr "%s ist kein Diskettenlaufwerk\n"
+msgstr "%s ist kein Diskettenlaufwerk.\n"
 
-#: disk-utils/fdformat.c:128
+#: disk-utils/fdformat.c:137
 msgid "Could not determine current format type"
-msgstr "Konnte das aktuelle Format nicht feststellen"
+msgstr "Das aktuelle Format konnte nicht ermittelt werden."
 
-#: disk-utils/fdformat.c:129
+#: disk-utils/fdformat.c:138
 #, 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"
+msgstr "%s Seiten, %d Spuren, %d Sektoren/Spur. Gesamtkapazität: %d KB.\n"
 
-#: disk-utils/fdformat.c:130
+#: disk-utils/fdformat.c:139
 msgid "Double"
 msgstr "Doppel"
 
-#: disk-utils/fdformat.c:130
+#: disk-utils/fdformat.c:139
 msgid "Single"
 msgstr "Einfach"
 
-#: disk-utils/fsck.minix.c:198
+#: disk-utils/fsck.minix.c:196
 #, c-format
 msgid "Usage: %s [-larvsmf] /dev/name\n"
-msgstr ""
+msgstr "Verwendung: %s [-larvsmf] /dev/name\n"
 
-#: disk-utils/fsck.minix.c:296
+#: disk-utils/fsck.minix.c:294
 #, c-format
 msgid "%s is mounted.\t "
-msgstr ""
+msgstr "%s ist gemounted.\t "
 
-#: disk-utils/fsck.minix.c:298
+#: disk-utils/fsck.minix.c:296
 msgid "Do you really want to continue"
-msgstr ""
+msgstr "Möchten Sie wirklich fortfahren?"
 
-#: disk-utils/fsck.minix.c:302
+#: disk-utils/fsck.minix.c:300
 msgid "check aborted.\n"
-msgstr ""
+msgstr "Prüfung abgebrochen.\n"
 
-#: disk-utils/fsck.minix.c:319 disk-utils/fsck.minix.c:339
+#: disk-utils/fsck.minix.c:317 disk-utils/fsck.minix.c:337
 msgid "Zone nr < FIRSTZONE in file `"
-msgstr ""
+msgstr "Zonennummer < FIRSTZONE in Datei '"
 
-#: disk-utils/fsck.minix.c:321 disk-utils/fsck.minix.c:341
+#: disk-utils/fsck.minix.c:319 disk-utils/fsck.minix.c:339
 msgid "Zone nr >= ZONES in file `"
-msgstr ""
+msgstr "Zonennummer >= ZONES in Datei '"
 
-#: disk-utils/fsck.minix.c:326 disk-utils/fsck.minix.c:346
+#: disk-utils/fsck.minix.c:324 disk-utils/fsck.minix.c:344
 msgid "Remove block"
-msgstr ""
+msgstr "Block entfernen"
 
-#: disk-utils/fsck.minix.c:364
+#: disk-utils/fsck.minix.c:362
 msgid "Read error: unable to seek to block in file '"
-msgstr ""
+msgstr "Lesefehler: Suchvorgang nicht möglich zum Block in Datei '"
 
-#: disk-utils/fsck.minix.c:370
+#: disk-utils/fsck.minix.c:368
 msgid "Read error: bad block in file '"
-msgstr ""
+msgstr "Lesefehler: Ungültiger Block in Datei '"
 
-#: disk-utils/fsck.minix.c:386
+#: disk-utils/fsck.minix.c:384
 msgid ""
 "Internal error: trying to write bad block\n"
 "Write request ignored\n"
 msgstr ""
+"Interner Fehler: Es wurde versucht, einen ungültigen Block zu schreiben.\n"
+"Die Schreibanforderung wird ignoriert.\n"
 
-#: disk-utils/fsck.minix.c:392 disk-utils/mkfs.minix.c:290
+#: disk-utils/fsck.minix.c:390 disk-utils/mkfs.minix.c:289
 msgid "seek failed in write_block"
-msgstr ""
+msgstr "Fehler bei der Suche in write_block"
 
-#: disk-utils/fsck.minix.c:394
+#: disk-utils/fsck.minix.c:392
 msgid "Write error: bad block in file '"
-msgstr ""
+msgstr "Fehler beim Schreiben: Ungültiger Block in Datei '"
 
-#: disk-utils/fsck.minix.c:513
+#: disk-utils/fsck.minix.c:511
 msgid "seek failed in write_super_block"
-msgstr ""
+msgstr "Fehler bei der Suche in write_super_block"
 
-#: disk-utils/fsck.minix.c:515 disk-utils/mkfs.minix.c:277
+#: disk-utils/fsck.minix.c:513 disk-utils/mkfs.minix.c:276
 msgid "unable to write super-block"
-msgstr ""
+msgstr "Schreiben des Super-Blocks nicht möglich."
 
-#: disk-utils/fsck.minix.c:525
+#: disk-utils/fsck.minix.c:523
 msgid "Unable to write inode map"
-msgstr ""
+msgstr "Inode-Zuordnung konnte nicht geschrieben werden."
 
-#: disk-utils/fsck.minix.c:527
+#: disk-utils/fsck.minix.c:525
 msgid "Unable to write zone map"
-msgstr ""
+msgstr "Zonenzuordnung konnte nicht geschrieben werden."
 
-#: disk-utils/fsck.minix.c:529
+#: disk-utils/fsck.minix.c:527
 msgid "Unable to write inodes"
-msgstr ""
+msgstr "Inodes konnte nicht geschrieben werden."
 
-#: disk-utils/fsck.minix.c:558
+#: disk-utils/fsck.minix.c:556
 msgid "seek failed"
-msgstr ""
+msgstr "Suchvorgang nicht erfolgreich"
 
-#: disk-utils/fsck.minix.c:560
-#, fuzzy
+#: disk-utils/fsck.minix.c:558
 msgid "unable to read super block"
-msgstr "Konnte den Superblock nicht lesen"
+msgstr "Superblock konnte nicht gelesen werden"
 
-#: disk-utils/fsck.minix.c:580
+#: disk-utils/fsck.minix.c:578
 msgid "bad magic number in super-block"
-msgstr ""
+msgstr "Ungültige 'Magic Number' im Superblock."
 
-#: disk-utils/fsck.minix.c:582
+#: disk-utils/fsck.minix.c:580
 msgid "Only 1k blocks/zones supported"
-msgstr ""
+msgstr "Es werden nur Blöcke und Zonen mit 1 KB unterstützt."
 
-#: disk-utils/fsck.minix.c:584
+#: disk-utils/fsck.minix.c:582
 msgid "bad s_imap_blocks field in super-block"
-msgstr ""
+msgstr "Ungültiges Feld 's_imap_blocks' im Superblock."
 
-#: disk-utils/fsck.minix.c:586
+#: disk-utils/fsck.minix.c:584
 msgid "bad s_zmap_blocks field in super-block"
-msgstr ""
+msgstr "Ungültiges Feld 's_zmap_blocks' im Superblock."
 
-#: disk-utils/fsck.minix.c:593
+#: disk-utils/fsck.minix.c:591
 msgid "Unable to allocate buffer for inode map"
-msgstr ""
+msgstr "Puffer für inode-Zuordnung kann nicht zugewiesen werden."
 
-#: disk-utils/fsck.minix.c:601
+#: disk-utils/fsck.minix.c:599
 msgid "Unable to allocate buffer for inodes"
-msgstr ""
+msgstr "Puffer für inodes kann nicht zugewiesen werden."
 
-#: disk-utils/fsck.minix.c:604
+#: disk-utils/fsck.minix.c:602
 msgid "Unable to allocate buffer for inode count"
-msgstr ""
+msgstr "Puffer für inode-Zählung kann nicht zugewiesen werden."
 
-#: disk-utils/fsck.minix.c:607
+#: disk-utils/fsck.minix.c:605
 msgid "Unable to allocate buffer for zone count"
-msgstr ""
+msgstr "Puffer für Zonenzählung kann nicht zugewiesen werden."
 
-#: disk-utils/fsck.minix.c:609
+#: disk-utils/fsck.minix.c:607
 msgid "Unable to read inode map"
-msgstr ""
+msgstr "Inode-Zuordnung kann nicht gelesen werden."
 
-#: disk-utils/fsck.minix.c:611
+#: disk-utils/fsck.minix.c:609
 msgid "Unable to read zone map"
-msgstr ""
+msgstr "Zonenzuordnung kann nicht gelesen werden."
 
-#: disk-utils/fsck.minix.c:613
+#: disk-utils/fsck.minix.c:611
 msgid "Unable to read inodes"
-msgstr ""
+msgstr "Inodes kann nicht gelesen werden."
 
-#: disk-utils/fsck.minix.c:615
+#: disk-utils/fsck.minix.c:613
 msgid "Warning: Firstzone != Norm_firstzone\n"
-msgstr ""
+msgstr "Warnung: Firstzone != Norm_firstzone\n"
 
-#: disk-utils/fsck.minix.c:620 disk-utils/mkfs.minix.c:528
+#: disk-utils/fsck.minix.c:618 disk-utils/mkfs.minix.c:532
 #, c-format
 msgid "%ld inodes\n"
-msgstr ""
+msgstr "%ld inodes\n"
 
-#: disk-utils/fsck.minix.c:621 disk-utils/mkfs.minix.c:529
+#: disk-utils/fsck.minix.c:619 disk-utils/mkfs.minix.c:533
 #, c-format
 msgid "%ld blocks\n"
-msgstr ""
+msgstr "%ld Blöcke\n"
 
-#: disk-utils/fsck.minix.c:622 disk-utils/mkfs.minix.c:530
+#: disk-utils/fsck.minix.c:620 disk-utils/mkfs.minix.c:534
 #, c-format
 msgid "Firstdatazone=%ld (%ld)\n"
-msgstr ""
+msgstr "Erste Datenzone = %ld (%ld)\n"
 
-#: disk-utils/fsck.minix.c:623 disk-utils/mkfs.minix.c:531
+#: disk-utils/fsck.minix.c:621 disk-utils/mkfs.minix.c:535
 #, c-format
 msgid "Zonesize=%d\n"
-msgstr ""
+msgstr "Zonengröße = %d\n"
 
-#: disk-utils/fsck.minix.c:624
+#: disk-utils/fsck.minix.c:622
 #, c-format
 msgid "Maxsize=%ld\n"
-msgstr ""
+msgstr "Maximalgröße = %ld\n"
 
-#: disk-utils/fsck.minix.c:625
+#: disk-utils/fsck.minix.c:623
 #, c-format
 msgid "Filesystem state=%d\n"
-msgstr ""
+msgstr "Status des Dateisystems = %d\n"
 
-#: disk-utils/fsck.minix.c:626
+#: disk-utils/fsck.minix.c:624
 #, c-format
 msgid ""
 "namelen=%d\n"
 "\n"
 msgstr ""
+"Namenslänge = %d\n"
+"\n"
 
-#: disk-utils/fsck.minix.c:640 disk-utils/fsck.minix.c:692
+#: disk-utils/fsck.minix.c:638 disk-utils/fsck.minix.c:690
 #, c-format
 msgid "Inode %d marked not used, but used for file '"
 msgstr ""
+"Inode %d ist als 'nicht verwendet' markiert, wird aber verwendet von Datei '"
 
-#: disk-utils/fsck.minix.c:645 disk-utils/fsck.minix.c:696
+#: disk-utils/fsck.minix.c:643 disk-utils/fsck.minix.c:694
 msgid "Mark in use"
-msgstr ""
+msgstr "Markierung in Gebrauch"
 
-#: disk-utils/fsck.minix.c:667 disk-utils/fsck.minix.c:716
+#: disk-utils/fsck.minix.c:665 disk-utils/fsck.minix.c:714
 #, c-format
 msgid " has mode %05o\n"
-msgstr ""
+msgstr " hat Modus %05o\n"
 
-#: disk-utils/fsck.minix.c:673 disk-utils/fsck.minix.c:721
+#: disk-utils/fsck.minix.c:671 disk-utils/fsck.minix.c:719
 msgid "Warning: inode count too big.\n"
-msgstr ""
+msgstr "Warnung: ionode-Zählung zu hoch.\n"
 
-#: disk-utils/fsck.minix.c:734
+#: disk-utils/fsck.minix.c:732
 msgid "root inode isn't a directory"
-msgstr ""
+msgstr "'root inode' ist kein Verzeichnis."
 
-#: disk-utils/fsck.minix.c:757 disk-utils/fsck.minix.c:791
+#: disk-utils/fsck.minix.c:755 disk-utils/fsck.minix.c:789
 msgid "Block has been used before. Now in file `"
-msgstr ""
+msgstr "Der Block wurde zuvor bereits verwendet und ist nun in Datei '"
 
-#: disk-utils/fsck.minix.c:760 disk-utils/fsck.minix.c:794
-#: disk-utils/fsck.minix.c:1122 disk-utils/fsck.minix.c:1131
-#: disk-utils/fsck.minix.c:1175 disk-utils/fsck.minix.c:1184
+#: disk-utils/fsck.minix.c:758 disk-utils/fsck.minix.c:792
+#: disk-utils/fsck.minix.c:1120 disk-utils/fsck.minix.c:1129
+#: disk-utils/fsck.minix.c:1173 disk-utils/fsck.minix.c:1182
 msgid "Clear"
-msgstr ""
+msgstr "Löschen"
 
-#: disk-utils/fsck.minix.c:769 disk-utils/fsck.minix.c:803
+#: disk-utils/fsck.minix.c:767 disk-utils/fsck.minix.c:801
 #, c-format
 msgid "Block %d in file `"
-msgstr ""
+msgstr "Block %d in Datei '"
 
-#: disk-utils/fsck.minix.c:771 disk-utils/fsck.minix.c:805
+#: disk-utils/fsck.minix.c:769 disk-utils/fsck.minix.c:803
 msgid "' is marked not in use."
-msgstr ""
+msgstr "' ist als 'nicht verwendet' markiert."
 
-#: disk-utils/fsck.minix.c:772 disk-utils/fsck.minix.c:806
+#: disk-utils/fsck.minix.c:770 disk-utils/fsck.minix.c:804
 msgid "Correct"
-msgstr ""
+msgstr "Korrekt"
 
-#: disk-utils/fsck.minix.c:956 disk-utils/fsck.minix.c:1020
+#: disk-utils/fsck.minix.c:954 disk-utils/fsck.minix.c:1018
 msgid " contains a bad inode number for file '"
-msgstr ""
+msgstr " enthält eine ungültige inode-Nummer für Datei '"
 
-#: disk-utils/fsck.minix.c:958 disk-utils/fsck.minix.c:1022
+#: disk-utils/fsck.minix.c:956 disk-utils/fsck.minix.c:1020
 msgid " Remove"
-msgstr ""
+msgstr " Entfernen"
 
-#: disk-utils/fsck.minix.c:972 disk-utils/fsck.minix.c:1036
+#: disk-utils/fsck.minix.c:970 disk-utils/fsck.minix.c:1034
 msgid ": bad directory: '.' isn't first\n"
-msgstr ""
+msgstr ": ungültiges Verzeichnis: '.' ist nicht an erster Stelle\n"
 
-#: disk-utils/fsck.minix.c:979 disk-utils/fsck.minix.c:1044
+#: disk-utils/fsck.minix.c:977 disk-utils/fsck.minix.c:1042
 msgid ": bad directory: '..' isn't second\n"
-msgstr ""
+msgstr ": ungültiges Verzeichnis: '..' ist nicht an zweiter Stelle\n"
 
-#: disk-utils/fsck.minix.c:1076
+#: disk-utils/fsck.minix.c:1074
 msgid "internal error"
-msgstr "interner Fehler"
+msgstr "Interner Fehler"
 
-#: disk-utils/fsck.minix.c:1079
+#: disk-utils/fsck.minix.c:1077
 msgid ": bad directory: size<32"
-msgstr ""
+msgstr ": ungültiges Verzeichnis: Größe<32"
 
-#: disk-utils/fsck.minix.c:1098
+#: disk-utils/fsck.minix.c:1096
 msgid ": bad directory: size < 32"
-msgstr ""
+msgstr ": ungültiges Verzeichnis: Größe < 32"
 
-#: disk-utils/fsck.minix.c:1111
+#: disk-utils/fsck.minix.c:1109
 msgid "seek failed in bad_zone"
-msgstr ""
+msgstr "Suchvorgang in bad_zone nicht erfolgreich."
 
-#: disk-utils/fsck.minix.c:1121 disk-utils/fsck.minix.c:1174
+#: disk-utils/fsck.minix.c:1119 disk-utils/fsck.minix.c:1172
 #, c-format
 msgid "Inode %d mode not cleared."
-msgstr ""
+msgstr "Inode-Modus %d nicht gelöscht."
 
-#: disk-utils/fsck.minix.c:1130 disk-utils/fsck.minix.c:1183
+#: disk-utils/fsck.minix.c:1128 disk-utils/fsck.minix.c:1181
 #, c-format
 msgid "Inode %d not used, marked used in the bitmap."
-msgstr ""
+msgstr "Inode %d nicht verwendet, aber in der Bitmap als 'verwendet' markiert."
 
-#: disk-utils/fsck.minix.c:1136 disk-utils/fsck.minix.c:1189
+#: disk-utils/fsck.minix.c:1134 disk-utils/fsck.minix.c:1187
 #, c-format
 msgid "Inode %d used, marked unused in the bitmap."
-msgstr ""
+msgstr "Inode %d verwendet, aber in der Bitmap als 'nicht verwendet' markiert."
 
-#: disk-utils/fsck.minix.c:1142 disk-utils/fsck.minix.c:1194
+#: disk-utils/fsck.minix.c:1140 disk-utils/fsck.minix.c:1192
 #, c-format
 msgid "Inode %d (mode = %07o), i_nlinks=%d, counted=%d."
-msgstr ""
+msgstr "Inode %d (Modus = %07o), i_nlinks=%d, Zählwert=%d."
 
-#: disk-utils/fsck.minix.c:1144 disk-utils/fsck.minix.c:1196
+#: disk-utils/fsck.minix.c:1142 disk-utils/fsck.minix.c:1194
 msgid "Set i_nlinks to count"
-msgstr ""
+msgstr "i_nlinks auf den Zählwert setzen"
 
-#: disk-utils/fsck.minix.c:1156 disk-utils/fsck.minix.c:1208
+#: disk-utils/fsck.minix.c:1154 disk-utils/fsck.minix.c:1206
 #, c-format
 msgid "Zone %d: marked in use, no file uses it."
 msgstr ""
+"Zone %d: als 'verwendet' markiert, wird jedoch von keiner Datei verwendet."
 
-#: disk-utils/fsck.minix.c:1157 disk-utils/fsck.minix.c:1209
+#: disk-utils/fsck.minix.c:1155 disk-utils/fsck.minix.c:1207
 msgid "Unmark"
-msgstr ""
+msgstr "Markierung aufheben"
 
-#: disk-utils/fsck.minix.c:1161 disk-utils/fsck.minix.c:1213
+#: disk-utils/fsck.minix.c:1159 disk-utils/fsck.minix.c:1211
 #, c-format
 msgid "Zone %d: %sin use, counted=%d\n"
-msgstr ""
+msgstr "Zone %d: %s verwendet, Zählwert=%d\n"
 
-#: disk-utils/fsck.minix.c:1162 disk-utils/fsck.minix.c:1214
+#: disk-utils/fsck.minix.c:1160 disk-utils/fsck.minix.c:1212
 msgid "not "
-msgstr ""
+msgstr "nicht "
 
-#: disk-utils/fsck.minix.c:1190
+#: disk-utils/fsck.minix.c:1188
 msgid "Set"
-msgstr ""
+msgstr "Setzen"
 
-#: disk-utils/fsck.minix.c:1254 disk-utils/mkfs.minix.c:637
-#: disk-utils/mkfs.minix.c:640
+#: disk-utils/fsck.minix.c:1260 disk-utils/mkfs.minix.c:655
+#: disk-utils/mkfs.minix.c:658
 msgid "bad inode size"
-msgstr ""
+msgstr "ungültige inode-Größe"
 
-#: disk-utils/fsck.minix.c:1257
+#: disk-utils/fsck.minix.c:1263
 msgid "bad v2 inode size"
-msgstr ""
+msgstr "ungültige v2-inode-Größe"
 
-#: disk-utils/fsck.minix.c:1283
+#: disk-utils/fsck.minix.c:1289
 msgid "need terminal for interactive repairs"
-msgstr ""
+msgstr "Für interaktive Reparaturen ist ein Terminal erforderlich."
 
-#: disk-utils/fsck.minix.c:1287
+#: disk-utils/fsck.minix.c:1293
 #, c-format
 msgid "unable to open '%s'"
-msgstr "Konnte %s nicht öffnen"
+msgstr "%s konnte nicht geöffnet werden."
 
-#: disk-utils/fsck.minix.c:1304
+#: disk-utils/fsck.minix.c:1308
 #, c-format
 msgid "%s is clean, no check.\n"
-msgstr ""
+msgstr "%s erfordert keine Prüfung.\n"
 
-#: disk-utils/fsck.minix.c:1308
+#: disk-utils/fsck.minix.c:1312
 #, c-format
 msgid "Forcing filesystem check on %s.\n"
-msgstr ""
+msgstr "Dateisystemprüfung für %s wird erzwungen.\n"
 
-#: disk-utils/fsck.minix.c:1310
+#: disk-utils/fsck.minix.c:1314
 #, c-format
 msgid "Filesystem on %s is dirty, needs checking.\n"
-msgstr ""
+msgstr "Dateisystem auf %s muss geprüft werden.\n"
 
-#: disk-utils/fsck.minix.c:1339
+#: disk-utils/fsck.minix.c:1343
 msgid ""
 "\n"
 "%6ld inodes used (%ld%%)\n"
 msgstr ""
+"\n"
+"%6ld inodes verwendet (%ld%%)\n"
 
-#: disk-utils/fsck.minix.c:1344
+#: disk-utils/fsck.minix.c:1348
 msgid "%6ld zones used (%ld%%)\n"
-msgstr ""
+msgstr "%6ld Zonen verwendet (%ld%%)\n"
 
-#: disk-utils/fsck.minix.c:1346
+#: disk-utils/fsck.minix.c:1350
 #, c-format
 msgid ""
 "\n"
@@ -967,210 +1144,237 @@ msgid ""
 "------\n"
 "%6d files\n"
 msgstr ""
+"\n"
+"%6d reguläre Dateien\n"
+"%6d Verzeichnisse\n"
+"%6d Zeichengerätedateien\n"
+"%6d Blockgerätedateien\n"
+"%6d Verknüpfungen\n"
+"%6d symbolische Verknüpfungen\n"
+"------\n"
+"%6d Dateien\n"
 
-#: disk-utils/fsck.minix.c:1359
+#: disk-utils/fsck.minix.c:1363
 msgid ""
 "----------------------------\n"
 "FILE SYSTEM HAS BEEN CHANGED\n"
 "----------------------------\n"
 msgstr ""
+"----------------------------\n"
+" DATEISYSTEM WURDE GEÄNDERT \n"
+"----------------------------\n"
 
-#: disk-utils/mkfs.c:66
+#: disk-utils/mkfs.c:76
 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"
+msgstr "Verwendung: mkfs [-V] [-t FS-Typ] [FS-Optionen] Gerät [Größe]\n"
 
-#: disk-utils/mkfs.c:80 fdisk/cfdisk.c:370 getopt-1.0.3b/getopt.c:85
-#: getopt-1.0.3b/getopt.c:95 login-utils/wall.c:218 mount/sundries.c:195
+#: disk-utils/mkfs.c:90 fdisk/cfdisk.c:369 getopt-1.0.3b/getopt.c:85
+#: getopt-1.0.3b/getopt.c:95 login-utils/wall.c:218 mount/sundries.c:196
 #, c-format
 msgid "%s: Out of memory!\n"
-msgstr "%s: Speicher ist alle!\n"
+msgstr "%s: Kein Speicher mehr frei!\n"
 
-#: disk-utils/mkfs.c:89
+#: disk-utils/mkfs.c:99
 #, c-format
 msgid "mkfs version %s (%s)\n"
-msgstr "mkfs Version %s (%s)\n"
+msgstr "mkfs, Version %s (%s)\n"
 
-#: disk-utils/mkfs.minix.c:186
+#: disk-utils/mkfs.minix.c:185
 #, c-format
 msgid "Usage: %s [-c | -l filename] [-nXX] [-iXX] /dev/name [blocks]\n"
-msgstr ""
+msgstr "Verwendung: %s [-c | -l Dateiname] [-nXX] [-iXX] /dev/name [Blöcke]\n"
 
-#: disk-utils/mkfs.minix.c:210
+#: disk-utils/mkfs.minix.c:209
 #, c-format
 msgid "%s is mounted; will not make a filesystem here!"
-msgstr ""
+msgstr "%s ist gemountet. An dieser Stelle wird kein Dateisystem erstellt!"
 
-#: disk-utils/mkfs.minix.c:271
+#: disk-utils/mkfs.minix.c:270
 msgid "seek to boot block failed in write_tables"
-msgstr ""
+msgstr "Suchvorgang nach Bootblock in write_tables nicht erfolgreich."
 
-#: disk-utils/mkfs.minix.c:273
+#: disk-utils/mkfs.minix.c:272
 msgid "unable to clear boot sector"
-msgstr ""
+msgstr "Bootsektor kann nicht gelöscht werden."
 
-#: disk-utils/mkfs.minix.c:275
+#: disk-utils/mkfs.minix.c:274
 msgid "seek failed in write_tables"
-msgstr ""
+msgstr "Suchvorgang in write_tables nicht erfolgreich."
 
-#: disk-utils/mkfs.minix.c:279
+#: disk-utils/mkfs.minix.c:278
 msgid "unable to write inode map"
-msgstr ""
+msgstr "Inode-Zuordnung kann nicht geschrieben werden."
 
-#: disk-utils/mkfs.minix.c:281
+#: disk-utils/mkfs.minix.c:280
 msgid "unable to write zone map"
-msgstr ""
+msgstr "Zonenzuordnung kann nicht geschrieben werden."
 
-#: disk-utils/mkfs.minix.c:283
+#: disk-utils/mkfs.minix.c:282
 msgid "unable to write inodes"
-msgstr ""
+msgstr "Inodes kann nicht geschrieben werden."
 
-#: disk-utils/mkfs.minix.c:292
+#: disk-utils/mkfs.minix.c:291
 msgid "write failed in write_block"
-msgstr ""
+msgstr "Schreiben in write_block nicht erfolgreich."
 
 #. Could make triple indirect block here
-#: disk-utils/mkfs.minix.c:300 disk-utils/mkfs.minix.c:374
-#: disk-utils/mkfs.minix.c:425
+#: disk-utils/mkfs.minix.c:299 disk-utils/mkfs.minix.c:373
+#: disk-utils/mkfs.minix.c:424
 msgid "too many bad blocks"
-msgstr ""
+msgstr "Zu viele beschädigte Blöcke vorhanden."
 
-#: disk-utils/mkfs.minix.c:308
+#: disk-utils/mkfs.minix.c:307
 msgid "not enough good blocks"
-msgstr ""
+msgstr "Nicht genügend unbeschädigte Blöcke vorhanden."
 
-#: disk-utils/mkfs.minix.c:517
+#: disk-utils/mkfs.minix.c:521
 msgid "unable to allocate buffers for maps"
-msgstr ""
+msgstr "Puffer für Zuordnungen kann nicht zugewiesen werden."
 
-#: disk-utils/mkfs.minix.c:526
+#: disk-utils/mkfs.minix.c:530
 msgid "unable to allocate buffer for inodes"
-msgstr ""
+msgstr "Puffer für inodes kann nicht zugewiesen werden."
 
-#: disk-utils/mkfs.minix.c:532
+#: disk-utils/mkfs.minix.c:536
 #, c-format
 msgid ""
 "Maxsize=%ld\n"
 "\n"
 msgstr ""
+"Maxsize=%ld\n"
+"\n"
 
-#: disk-utils/mkfs.minix.c:546
+#: disk-utils/mkfs.minix.c:550
 msgid "seek failed during testing of blocks"
-msgstr ""
+msgstr "Suchvorgang beim Testen der Blöcke nicht erfolgreich."
 
-#: disk-utils/mkfs.minix.c:554
+#: disk-utils/mkfs.minix.c:558
 msgid "Weird values in do_check: probably bugs\n"
-msgstr ""
+msgstr "Ungültige Werte in do_check: Programmfehler.\n"
 
-#: disk-utils/mkfs.minix.c:585 disk-utils/mkswap.c:231
+#: disk-utils/mkfs.minix.c:589 disk-utils/mkswap.c:261
 msgid "seek failed in check_blocks"
-msgstr ""
+msgstr "Suchvorgang in check_blocks nicht erfolgreich."
 
-#: disk-utils/mkfs.minix.c:594
+#: disk-utils/mkfs.minix.c:598
 msgid "bad blocks before data-area: cannot make fs"
 msgstr ""
+"Ungültige Blöcke vor Datenbereich: Dateisystem kann nicht erstellt werden."
 
-#: disk-utils/mkfs.minix.c:600 disk-utils/mkfs.minix.c:622
+#: disk-utils/mkfs.minix.c:604 disk-utils/mkfs.minix.c:626
 #, c-format
 msgid "%d bad blocks\n"
-msgstr ""
+msgstr "%d ungültige Blöcke.\n"
 
-#: disk-utils/mkfs.minix.c:602 disk-utils/mkfs.minix.c:624
+#: disk-utils/mkfs.minix.c:606 disk-utils/mkfs.minix.c:628
 msgid "one bad block\n"
-msgstr ""
+msgstr "Ein ungültiger Block.\n"
 
-#: disk-utils/mkfs.minix.c:614
+#: disk-utils/mkfs.minix.c:618
 msgid "can't open file of bad blocks"
-msgstr ""
+msgstr "Datei mit ungültigen Blöcken kann nicht geöffnet werden."
 
-#: disk-utils/mkfs.minix.c:669
+#: disk-utils/mkfs.minix.c:687
 #, c-format
 msgid "%s: not compiled with minix v2 support\n"
-msgstr ""
+msgstr "%s: Unterstützung für Minix V. 2 wurde nicht einkompiliert.\n"
 
-#: disk-utils/mkfs.minix.c:685
+#: disk-utils/mkfs.minix.c:703
 msgid "strtol error: number of blocks not specified"
-msgstr ""
+msgstr "Strtol-Fehler: Blockanzahl wurde nicht angegeben."
 
-#: disk-utils/mkfs.minix.c:717
-#, fuzzy, c-format
+#: disk-utils/mkfs.minix.c:735
+#, c-format
 msgid "unable to open %s"
-msgstr "Konnte %s nicht öffnen"
+msgstr "%s konnte nicht geöffnet werden."
 
-#: disk-utils/mkfs.minix.c:719
+#: disk-utils/mkfs.minix.c:737
 #, c-format
 msgid "unable to stat %s"
-msgstr ""
+msgstr "'stat' konnte nicht auf %s angewandt werden."
 
-#: disk-utils/mkfs.minix.c:723
-#, fuzzy, c-format
+#: disk-utils/mkfs.minix.c:741
+#, c-format
 msgid "will not try to make filesystem on '%s'"
-msgstr "Auf »%s« wird kein Dateisystem erzeugt"
+msgstr "Auf '%s' wird kein Dateisystem erstellt."
+
+#: disk-utils/mkswap.c:117
+#, c-format
+msgid "Bad user-specified page size %d\n"
+msgstr ""
+
+#: disk-utils/mkswap.c:126
+#, c-format
+msgid "Using user-specified page size %d, instead of the system values %d/%d\n"
+msgstr ""
 
-#: disk-utils/mkswap.c:101
+#: disk-utils/mkswap.c:130
 #, c-format
-msgid "Assuming pages of size %d\n"
-msgstr "Es wird eine Seitengröße von %d angenommen.\n"
+msgid "Assuming pages of size %d (not %d)\n"
+msgstr "Es wird eine Seitengröße von %d (nicht %d) angenommen.\n"
 
-#: disk-utils/mkswap.c:185
+#: disk-utils/mkswap.c:215
 #, c-format
-msgid "Usage: %s [-c] [-v0|-v1] /dev/name [blocks]\n"
-msgstr "Aufruf: %s [-c] [-v0|-v1] /dev/Name [Größe in kB]\n"
+msgid "Usage: %s [-c] [-v0|-v1] [-pPAGESZ] /dev/name [blocks]\n"
+msgstr "Verwendung: %s [-c] [-v0|-v1] [-pSeitengröße] /dev/name [Größe in Blöcken]\n"
 
-#: disk-utils/mkswap.c:208
+#: disk-utils/mkswap.c:238
 msgid "too many bad pages"
-msgstr "Zu viele beschädigte »Seiten«"
+msgstr "Zu viele beschädigte Seiten."
 
-#: disk-utils/mkswap.c:222 misc-utils/look.c:170 misc-utils/setterm.c:1100
+#: disk-utils/mkswap.c:252 misc-utils/look.c:170 misc-utils/setterm.c:1100
 #: text-utils/more.c:1863 text-utils/more.c:1874
 msgid "Out of memory"
-msgstr "Speicher ist alle"
+msgstr "Kein Speicher mehr frei."
 
-#: disk-utils/mkswap.c:239
+#: disk-utils/mkswap.c:269
 msgid "one bad page\n"
-msgstr "Eine beschädigte »Seite«\n"
+msgstr "Eine beschädigte Seite.\n"
 
-#: disk-utils/mkswap.c:241
+#: disk-utils/mkswap.c:271
 #, c-format
 msgid "%d bad pages\n"
-msgstr "%d beschädigte »Seiten«\n"
+msgstr "%d beschädigte Seiten.\n"
 
-#: disk-utils/mkswap.c:345
+#: disk-utils/mkswap.c:391
 #, 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"
+"%s: Fehler: Es wurde nicht angegeben, wo der Auslagerungsbereich angelegt "
+"werden soll.\n"
 
-#: disk-utils/mkswap.c:354
+#: disk-utils/mkswap.c:409
 #, c-format
 msgid "%s: error: size %ld is larger than device size %d\n"
 msgstr ""
-"%s: Fehler: Die angegebene Größe %ld ist größer als die des Gerätes: %d\n"
+"%s: Fehler: Die angegebene Größe %ld ist größer als die des Geräts: %d\n"
 
-#: disk-utils/mkswap.c:372
+#: disk-utils/mkswap.c:427
 #, c-format
 msgid "%s: error: unknown version %d\n"
 msgstr "%s: Fehler: unbekannte Version %d\n"
 
-#: disk-utils/mkswap.c:378
+#: disk-utils/mkswap.c:433
 #, c-format
 msgid "%s: error: swap area needs to be at least %ldkB\n"
-msgstr "%s: Fehler: Der Swapbereich muß mindestens %ldkB groß sein\n"
+msgstr "%s: Fehler: Der Auslagerungsbereich muss mindestens %ld KB umfassen.\n"
 
-#: disk-utils/mkswap.c:397
+#: disk-utils/mkswap.c:452
 #, c-format
 msgid "%s: warning: truncating swap area to %ldkB\n"
-msgstr "%s: Warnung: Der Swapbereich wird nur mit der Größe %ldkB angelegt\n"
+msgstr ""
+"%s: Warnung: Der Auslagerungsbereich wird auf die Größe %ld KB beschränkt.\n"
 
-#: disk-utils/mkswap.c:409
+#: disk-utils/mkswap.c:464
 #, c-format
 msgid "Will not try to make swapdevice on '%s'"
-msgstr ""
+msgstr "Es wird kein Auslagerungsbereich auf '%s' angelegt."
 
-#: disk-utils/mkswap.c:418 disk-utils/mkswap.c:439
+#: disk-utils/mkswap.c:473 disk-utils/mkswap.c:494
 msgid "fatal: first page unreadable"
-msgstr ""
+msgstr "Nicht behebbarer Fehler: die erste Seite kann nicht gelesen werden."
 
-#: disk-utils/mkswap.c:424
+#: disk-utils/mkswap.c:479
 #, c-format
 msgid ""
 "%s: Device '%s' contains a valid Sun disklabel.\n"
@@ -1178,110 +1382,112 @@ msgid ""
 "No swap created. If you really want to create swap v0 on that device, use\n"
 "the -f option to force it.\n"
 msgstr ""
-"%s: Das Gerät %s enthält einen gültigen »Sun disklabel«.\n"
-"Das bedeutet wahrscheinlich, daß das Anlegen eines v0-Swapbereiches die\n"
+"%s: Das Gerät %s enthält eine gültige Sun-Datenträgerkennung.\n"
+"Dies bedeutet, dass das Anlegen eines V0-Auslagerungsbereichs die\n"
 "Partitionstabelle zerstören wird.\n"
-"Es wird kein Swapbereich angelegt. Wenn Sie wirklich einen Swapbereich\n"
-"anlegen wollen, so benutzen Sie die -f Option.\n"
+"Es wird kein Auslagerungsbereich erstellt. Wenn Sie wirklich einen \n"
+"Auslagerungsbereich anlegen möchten, verwenden Sie die Option -f.\n"
 
-#: disk-utils/mkswap.c:448
+#: disk-utils/mkswap.c:503
 msgid "Unable to set up swap-space: unreadable"
-msgstr ""
+msgstr "Auslagerungsbereich kann nicht erstellt werden: nicht lesbar."
 
-#: disk-utils/mkswap.c:449
+#: disk-utils/mkswap.c:504
 #, c-format
 msgid "Setting up swapspace version %d, size = %ld bytes\n"
-msgstr "Swapbereich Version %d mit der Größe %ld Bytes wird angelegt\n"
+msgstr ""
+"Auslagerungsbereich Version %d mit einer Größe von %ld Bytes wird angelegt.\n"
 
-#: disk-utils/mkswap.c:455
+#: disk-utils/mkswap.c:510
 msgid "unable to rewind swap-device"
-msgstr ""
+msgstr "Auslagerungsgerät kann nicht zurückgespult werden."
 
-#: disk-utils/mkswap.c:458
+#: disk-utils/mkswap.c:513
 msgid "unable to write signature page"
-msgstr ""
+msgstr "Signaturseite kann nicht geschrieben werden."
 
-#: disk-utils/mkswap.c:465
+#: disk-utils/mkswap.c:520
 msgid "fsync failed"
-msgstr ""
+msgstr "fsync war nicht erfolgreich."
 
 #: disk-utils/setfdprm.c:30
-#, fuzzy, c-format
+#, c-format
 msgid "Invalid number: %s\n"
-msgstr "Ungültige Nummer: %s\n"
+msgstr "Ungültiger Wert: %s\n"
 
 #: disk-utils/setfdprm.c:80
-#, fuzzy, c-format
+#, c-format
 msgid "Syntax error: '%s'\n"
-msgstr "Syntaxfehler: »%s«\n"
+msgstr "Syntaxfehler: '%s'\n"
 
 #: disk-utils/setfdprm.c:90
 #, c-format
 msgid "No such parameter set: '%s'\n"
-msgstr ""
+msgstr "Dieser Parameter wurde nicht festgelegt: '%s'\n"
 
 #: disk-utils/setfdprm.c:100
 #, c-format
 msgid "usage: %s [ -p ] dev name\n"
-msgstr ""
+msgstr "Verwendung: %s [ -p ] Gerätename\n"
 
 #: disk-utils/setfdprm.c:101
 #, c-format
 msgid ""
 "       %s [ -p ] dev size sect heads tracks stretch gap rate spec1 fmt_gap\n"
 msgstr ""
+"       %s [ -p ] Gerät Größe Sektoren Köpfe Spuren Strecke Freiraum Rate "
+"Spez1 Format Formatfreiraum\n"
 
 #: disk-utils/setfdprm.c:104
 #, c-format
 msgid "       %s [ -c | -y | -n | -d ] dev\n"
-msgstr ""
+msgstr "       %s [ -c | -y | -n | -d ] Gerät\n"
 
 #: disk-utils/setfdprm.c:106
 #, c-format
 msgid "       %s [ -c | -y | -n ] dev\n"
-msgstr ""
+msgstr "       %s [ -c | -y | -n ] Gerät\n"
 
-# "Unbrauchbar"
-#: fdisk/cfdisk.c:395 fdisk/cfdisk.c:1900
+#: fdisk/cfdisk.c:394 fdisk/cfdisk.c:1899
 msgid "Unusable"
-msgstr "Unbenutzbar"
+msgstr "Nicht verwendbar"
 
-#: fdisk/cfdisk.c:397 fdisk/cfdisk.c:1902
+#: fdisk/cfdisk.c:396 fdisk/cfdisk.c:1901
 msgid "Free Space"
-msgstr "Freier Bereich"
+msgstr "Freier Platz"
 
-#: fdisk/cfdisk.c:400
+#: fdisk/cfdisk.c:399
 msgid "Linux ext2"
 msgstr "Linux ext2"
 
 #. also Solaris
-#: fdisk/cfdisk.c:402 fdisk/i386_sys_types.c:56
+#: fdisk/cfdisk.c:401 fdisk/i386_sys_types.c:56
 msgid "Linux"
 msgstr "Linux"
 
-#: fdisk/cfdisk.c:405
+#: fdisk/cfdisk.c:404
 msgid "OS/2 HPFS"
 msgstr "OS/2 HPFS"
 
-#: fdisk/cfdisk.c:407
+#: fdisk/cfdisk.c:406
 msgid "OS/2 IFS"
 msgstr "OS/2 IFS"
 
-#: fdisk/cfdisk.c:411
+#: fdisk/cfdisk.c:410
 msgid "NTFS"
 msgstr "NTFS"
 
-#: fdisk/cfdisk.c:422
+#: fdisk/cfdisk.c:421
 msgid "Disk has been changed.\n"
-msgstr "Festplatte wurde verändert.\n"
+msgstr "Die Festplatte wurde verändert.\n"
 
-#: fdisk/cfdisk.c:423
+#: fdisk/cfdisk.c:422
 msgid "Reboot the system to ensure the partition table is correctly updated.\n"
 msgstr ""
-"Rebooten Sie das System, um sicherzustellen, daß die Partitionstabelle neu "
-"gelesen wird.\n"
+"Starten Sie das System neu, um sicherzustellen, dass die Partitionstabelle "
+"korrekt aktualisiert wird.\n"
 
-#: fdisk/cfdisk.c:426
+#: fdisk/cfdisk.c:425
 msgid ""
 "\n"
 "WARNING: If you have created or modified any\n"
@@ -1289,307 +1495,305 @@ msgid ""
 "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"
+"WARNUNG: Wenn Sie DOS 6.x-Partitionen angelegt oder\n"
+"geändert haben, finden Sie weitere Informationen in\n"
+"der Handbuchseite zu cfdisk (Befehl: 'man cfdisk').\n"
 
-#: fdisk/cfdisk.c:521
+#: fdisk/cfdisk.c:520
 msgid "FATAL ERROR"
-msgstr "FATALER FEHLER"
+msgstr "NICHT BEHEBBARER FEHLER"
 
-#: fdisk/cfdisk.c:530
+#: fdisk/cfdisk.c:529
 msgid "Press any key to exit cfdisk"
-msgstr "Eine Taste drücken, um cfdisk zu beenden"
+msgstr "Drücken Sie eine beliebige Taste, um cfdisk zu beenden."
 
-#: fdisk/cfdisk.c:566 fdisk/cfdisk.c:574
+#: fdisk/cfdisk.c:565 fdisk/cfdisk.c:573
 msgid "Cannot seek on disk drive"
-msgstr "Konnte »seek()« nicht auf der Festplatte benutzen"
+msgstr "Suchvorgang auf der Festplatte nicht möglich."
 
-#: fdisk/cfdisk.c:568
+#: fdisk/cfdisk.c:567
 msgid "Cannot read disk drive"
-msgstr "Konnte nicht von der Festplatte lesen"
+msgstr "Lesen von der Festplatte nicht möglich."
 
-#: fdisk/cfdisk.c:576
+#: fdisk/cfdisk.c:575
 msgid "Cannot write disk drive"
-msgstr "Konnte nicht auf die Festplatte schreiben"
+msgstr "Schreiben auf die Festplatte nicht möglich."
 
-#: fdisk/cfdisk.c:815
+#: fdisk/cfdisk.c:814
 msgid "Too many partitions"
-msgstr "Zu viele Partitionen"
+msgstr "Zu viele Partitionen."
 
-#: fdisk/cfdisk.c:820
+#: fdisk/cfdisk.c:819
 msgid "Partition begins before sector 0"
-msgstr "Partition fängt vor Sektor 0 an"
+msgstr "Partition fängt vor Sektor 0 an."
 
-#: fdisk/cfdisk.c:825
+#: fdisk/cfdisk.c:824
 msgid "Partition ends before sector 0"
-msgstr "Partition endet vor Sektor 0"
+msgstr "Partition hört vor Sektor 0 auf."
 
-#: fdisk/cfdisk.c:830
+#: fdisk/cfdisk.c:829
 msgid "Partition begins after end-of-disk"
-msgstr "Partition fängt hinter dem Ende der Festplatte an"
+msgstr "Partition fängt nach dem Ende der Festplatte an."
 
-#: fdisk/cfdisk.c:835
+#: fdisk/cfdisk.c:834
 msgid "Partition ends after end-of-disk"
-msgstr "Partition endet hinter dem Ende der Festplatte"
+msgstr "Partition hört nach dem Ende der Festplatte auf."
 
-#: fdisk/cfdisk.c:859
+#: fdisk/cfdisk.c:858
 msgid "logical partitions not in disk order"
 msgstr ""
+"Logische Partitionen befinden sich nicht in der Festplattenreihenfolge."
 
-#: fdisk/cfdisk.c:862
+#: fdisk/cfdisk.c:861
 msgid "logical partitions overlap"
-msgstr "Logische Partitionen überlappen"
+msgstr "Logische Partitionen überlappen einander."
 
-#: fdisk/cfdisk.c:864
+#: fdisk/cfdisk.c:863
 msgid "enlarged logical partitions overlap"
-msgstr ""
+msgstr "Vergrößerte logische Partitionen überlappen einander."
 
-#: fdisk/cfdisk.c:894
+#: fdisk/cfdisk.c:893
 msgid ""
 "!!!! Internal error creating logical drive with no extended partition !!!!"
 msgstr ""
-"!! Interner Fehler beim Erzeugen einer log. Part. ohne eine erw. Part. !!"
+"!!!! Interner Fehler beim Erstellen eines logischen Laufwerks ohne eine "
+"erweiterte Partition !!!!"
 
-#: fdisk/cfdisk.c:905 fdisk/cfdisk.c:917
+#: fdisk/cfdisk.c:904 fdisk/cfdisk.c:916
 msgid ""
 "Cannot create logical drive here -- would create two extended partitions"
 msgstr ""
-"Kann hier keine log. Part. anlegen -- eine zweite erw. müßte erzeugt werden."
+"Hier kann kein logisches Laufwerk angelegt werden -- dies würde zu zwei "
+"erweiterten Partitionen führen."
 
-#: fdisk/cfdisk.c:1067
+#: fdisk/cfdisk.c:1066
 msgid "Menu item too long. Menu may look odd."
-msgstr "Menüeintrag ist zu lang. Das Menü könnte ungewöhnlich aussehen"
+msgstr "Der Menüeintrag ist zu lang. Das Menü könnte ungewöhnlich aussehen."
 
-# "Ausrichtung" "Nehme horizontale Voreinstellung."
-#: fdisk/cfdisk.c:1123
+#: fdisk/cfdisk.c:1122
 msgid "Menu without direction. Defaulting horizontal."
-msgstr "Menü ohne Richtung, verwende horizontal."
+msgstr "Keine Richtungsangabe für Menü. Es wird 'horizontal' verwendet."
 
-#: fdisk/cfdisk.c:1253
+#: fdisk/cfdisk.c:1252
 msgid "Illegal key"
-msgstr "Diese Taste ist hier nicht verwendbar"
+msgstr "Diese Taste ist hier nicht verwendbar."
 
-#: fdisk/cfdisk.c:1276
+#: fdisk/cfdisk.c:1275
 msgid "Press a key to continue"
-msgstr "Eine Taste drücken, um fortzufahren"
+msgstr "Eine Taste drücken, um fortzufahren."
 
-#: fdisk/cfdisk.c:1323 fdisk/cfdisk.c:1871 fdisk/cfdisk.c:2396
-#: fdisk/cfdisk.c:2398
+#: fdisk/cfdisk.c:1322 fdisk/cfdisk.c:1870 fdisk/cfdisk.c:2400
+#: fdisk/cfdisk.c:2402
 msgid "Primary"
-msgstr "Primäre"
+msgstr "Primär"
 
-#: fdisk/cfdisk.c:1323
+#: fdisk/cfdisk.c:1322
 msgid "Create a new primary partition"
-msgstr "Erzeuge eine neue primäre Partition"
+msgstr "Eine neue primäre Partition anlegen"
 
-#: fdisk/cfdisk.c:1324 fdisk/cfdisk.c:1871 fdisk/cfdisk.c:2395
-#: fdisk/cfdisk.c:2398
+#: fdisk/cfdisk.c:1323 fdisk/cfdisk.c:1870 fdisk/cfdisk.c:2399
+#: fdisk/cfdisk.c:2402
 msgid "Logical"
-msgstr "Logische"
+msgstr "Logisch"
 
-#: fdisk/cfdisk.c:1324
+#: fdisk/cfdisk.c:1323
 msgid "Create a new logical partition"
-msgstr "Erzeuge eine neue logische Partition"
+msgstr "Eine neue logische Partition anlegen"
 
-#: fdisk/cfdisk.c:1325 fdisk/cfdisk.c:1380 fdisk/cfdisk.c:2075
+#: fdisk/cfdisk.c:1324 fdisk/cfdisk.c:1379 fdisk/cfdisk.c:2074
 msgid "Cancel"
-msgstr "Abbruch"
+msgstr "Abbrechen"
 
-#: fdisk/cfdisk.c:1325 fdisk/cfdisk.c:1380
+#: fdisk/cfdisk.c:1324 fdisk/cfdisk.c:1379
 msgid "Don't create a partition"
-msgstr "Erzeuge keine neue Partition"
+msgstr "Keine neue Partition anlegen"
 
-#: fdisk/cfdisk.c:1341
+#: fdisk/cfdisk.c:1340
 msgid "!!! Internal error !!!"
 msgstr "!!! Interner Fehler !!!"
 
-#: fdisk/cfdisk.c:1344
+#: fdisk/cfdisk.c:1343
 msgid "Size (in MB): "
 msgstr "Größe (in MB): "
 
-#: fdisk/cfdisk.c:1378
+#: fdisk/cfdisk.c:1377
 msgid "Beginning"
 msgstr "Anfang"
 
-#: fdisk/cfdisk.c:1378
+#: fdisk/cfdisk.c:1377
 msgid "Add partition at beginning of free space"
-msgstr "Erzeuge Partition am Anfang des freien Bereiches"
+msgstr "Partition am Anfang des freien Bereichs hinzufügen"
 
-#: fdisk/cfdisk.c:1379
+#: fdisk/cfdisk.c:1378
 msgid "End"
 msgstr "Ende"
 
-#: fdisk/cfdisk.c:1379
+#: fdisk/cfdisk.c:1378
 msgid "Add partition at end of free space"
-msgstr "Erzeuge Partition am Ende des freien Bereiches"
+msgstr "Partition am Ende des freien Bereichs hinzufügen"
 
-#: fdisk/cfdisk.c:1397
+#: fdisk/cfdisk.c:1396
 msgid "No room to create the extended partition"
-msgstr "Kein Platz, um die erweiterte Partition anzulegen"
+msgstr "Kein Platz für die Erstellung der erweiterten Partition"
 
-#: fdisk/cfdisk.c:1436
+#: fdisk/cfdisk.c:1435
 msgid "Bad signature on partition table"
-msgstr "Beschädigte Signatur in der Partitionstabelle"
+msgstr "Beschädigte Signatur in der Partitionstabelle."
 
-#: fdisk/cfdisk.c:1474
+#: fdisk/cfdisk.c:1473
 msgid "You specified more cylinders than fit on disk"
-msgstr "Sie haben mehr Zylinder angegeben, als auf die Festplatte passen"
+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:1504
+#: fdisk/cfdisk.c:1503
 msgid "Cannot open disk drive"
-msgstr "Konnte nicht auf die Festplatte zugreifen"
+msgstr "Kein Zugriff auf die Festplatte möglich."
 
-# "Nur lesender Zugriff möglich - Sie haben keine Schreibberechtigung" (joey)
-#: fdisk/cfdisk.c:1506 fdisk/cfdisk.c:1687
+#: fdisk/cfdisk.c:1505 fdisk/cfdisk.c:1686
 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"
+"Festplatte wurde nur zum Lesen geöffnet - Sie haben keine "
+"Schreibberechtigung."
 
-#: fdisk/cfdisk.c:1527
+#: fdisk/cfdisk.c:1526
 msgid "Cannot get disk size"
-msgstr "Konnte die Größe der Festplatte nicht feststellen"
+msgstr "Größe der Festplatte konnte nicht ermittelt werden."
 
-# "Ungültige primäre Partition"
 #. avoid snprintf - it does not exist on ancient systems
-#: fdisk/cfdisk.c:1553
+#: fdisk/cfdisk.c:1552
 msgid "Bad primary partition"
 msgstr "Beschädigte primäre Partition"
 
 #. avoid snprintf
-#: fdisk/cfdisk.c:1584
+#: fdisk/cfdisk.c:1583
 msgid "Bad logical partition"
 msgstr "Beschädigte logische Partition"
 
-#: fdisk/cfdisk.c:1699
+#: fdisk/cfdisk.c:1698
 msgid "Warning!!  This may destroy data on your disk!"
-msgstr "Warnung!!  Dies kann Daten auf der Festplatte zerstören!"
+msgstr "Warnung!! Dies kann Daten auf der Festplatte löschen!"
 
-#: fdisk/cfdisk.c:1703
+#: fdisk/cfdisk.c:1702
 msgid "Are you sure you want write the partition table to disk? (yes or no): "
 msgstr ""
-"Sind Sie sicher, daß Sie die Partitionstabelle schreiben wollen? (ja/nein): "
+"Sind Sie sicher, dass Sie die Partitionstabelle auf die Festplatte schreiben "
+"möchten? (ja/nein): "
 
-#: fdisk/cfdisk.c:1709
+#: fdisk/cfdisk.c:1708
 msgid "no"
-msgstr "nein"
+msgstr "Nein"
 
-#: fdisk/cfdisk.c:1710
+#: fdisk/cfdisk.c:1709
 msgid "Did not write partition table to disk"
-msgstr "Die Partitionstabelle wurde nicht auf die Festplatte geschrieben"
+msgstr "Die Partitionstabelle wurde nicht auf die Festplatte geschrieben."
 
-#: fdisk/cfdisk.c:1712
+#: fdisk/cfdisk.c:1711
 msgid "yes"
-msgstr "ja"
+msgstr "Ja"
 
-#: fdisk/cfdisk.c:1715
+#: fdisk/cfdisk.c:1714
 msgid "Please enter `yes' or `no'"
-msgstr "Bitte »ja« oder »nein« eingeben"
+msgstr "'Ja' oder 'Nein' eingeben."
 
-#: fdisk/cfdisk.c:1719
+#: fdisk/cfdisk.c:1718
 msgid "Writing partition table to disk..."
 msgstr "Die Partitionstabelle wird auf die Festplatte geschrieben..."
 
-#: fdisk/cfdisk.c:1744 fdisk/cfdisk.c:1748
+#: fdisk/cfdisk.c:1743 fdisk/cfdisk.c:1747
 msgid "Wrote partition table to disk"
-msgstr "Die Partitionstabelle wurde auf die Festplatte geschrieben"
+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:1746
+#: fdisk/cfdisk.c:1745
 msgid ""
 "Wrote partition table, but re-read table failed.  Reboot to update table."
 msgstr ""
-"Die Tabelle wurde geschr., aber das Neueinlesen schlug fehl.  Rebooten Sie."
+"Partitionstabelle wurde geschrieben, aber das Neueinlesen war nicht "
+"erfolgreich. Starten Sie den Computer neu, um die Tabelle zu aktualisieren."
 
-# This one isn't realy correct.
-#: fdisk/cfdisk.c:1756
+#: fdisk/cfdisk.c:1755
 msgid ""
 "Not precisely one primary partition is bootable. DOS MBR cannot boot this."
 msgstr ""
-"Mehrere Partitionen sind als bootbar markiert, der DOS MBR kann nicht booten."
+"Mehrere primäre 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:1814 fdisk/cfdisk.c:1932 fdisk/cfdisk.c:2016
+#: fdisk/cfdisk.c:1813 fdisk/cfdisk.c:1931 fdisk/cfdisk.c:2015
 msgid "Enter filename or press RETURN to display on screen: "
-msgstr "Dateiname oder Return um es auf dem Bildschirm anzuzeigen: "
+msgstr "Dateiname eingeben oder EINGABETASTE für Bildschirmanzeige drücken: "
 
-#: fdisk/cfdisk.c:1822 fdisk/cfdisk.c:1940 fdisk/cfdisk.c:2024
+#: fdisk/cfdisk.c:1821 fdisk/cfdisk.c:1939 fdisk/cfdisk.c:2023
 #, c-format
 msgid "Cannot open file '%s'"
-msgstr "Konnte %s nicht öffnen"
+msgstr "Datei '%s' konnte nicht geöffnet werden"
 
-#: fdisk/cfdisk.c:1833
+#: fdisk/cfdisk.c:1832
 #, c-format
 msgid "Disk Drive: %s\n"
 msgstr "Festplatte: %s\n"
 
-#: fdisk/cfdisk.c:1835
+#: fdisk/cfdisk.c:1834
 msgid "Sector 0:\n"
 msgstr "Sektor 0:\n"
 
-#: fdisk/cfdisk.c:1842
+#: fdisk/cfdisk.c:1841
 #, c-format
 msgid "Sector %d:\n"
 msgstr "Sektor %d:\n"
 
-#: fdisk/cfdisk.c:1862
+#: fdisk/cfdisk.c:1861
 msgid "   None   "
 msgstr "   Keine  "
 
-#: fdisk/cfdisk.c:1864
+#: fdisk/cfdisk.c:1863
 msgid "   Pri/Log"
 msgstr "   Pri/Log"
 
-#: fdisk/cfdisk.c:1866
+#: fdisk/cfdisk.c:1865
 msgid "   Primary"
 msgstr "   Primäre"
 
-#: fdisk/cfdisk.c:1868
+#: fdisk/cfdisk.c:1867
 msgid "   Logical"
 msgstr "  Logische"
 
 #. odd flag on end
 #. type id
 #. type name
-#: fdisk/cfdisk.c:1906 fdisk/fdisk.c:1072 fdisk/fdisk.c:1221
+#: fdisk/cfdisk.c:1905 fdisk/fdisk.c:1071 fdisk/fdisk.c:1220
 #: fdisk/fdisksgilabel.c:224 fdisk/fdisksunlabel.c:646 fdisk/sfdisk.c:559
 msgid "Unknown"
 msgstr "Unbekannt"
 
-#: fdisk/cfdisk.c:1912
+#: fdisk/cfdisk.c:1911
 #, c-format
 msgid "Boot (%02X)"
 msgstr "Boot (%02X)"
 
-#: fdisk/cfdisk.c:1914 fdisk/cfdisk.c:2404
+#: fdisk/cfdisk.c:1913 fdisk/cfdisk.c:2408
 #, c-format
 msgid "Unknown (%02X)"
 msgstr "Unbekannt (%02X)"
 
-#: fdisk/cfdisk.c:1916
+#: fdisk/cfdisk.c:1915
 #, c-format
 msgid "None (%02X)"
 msgstr "Keine (%02X)"
 
-#: fdisk/cfdisk.c:1951 fdisk/cfdisk.c:2035
+#: fdisk/cfdisk.c:1950 fdisk/cfdisk.c:2034
 #, c-format
 msgid "Partition Table for %s\n"
 msgstr "Partitionstabelle von %s\n"
 
-#: fdisk/cfdisk.c:1953
+#: fdisk/cfdisk.c:1952
 msgid "            First    Last\n"
 msgstr "            Erster   Letzter\n"
 
-#: fdisk/cfdisk.c:1954
+#: fdisk/cfdisk.c:1953
 msgid ""
 " # Type     Sector   Sector   Offset  Length   Filesystem Type (ID)   Flags\n"
 msgstr ""
 " # Typ      Sektor   Sektor   Offset  Länge    Dateisystemtyp (ID)    Flags\n"
 
-#: fdisk/cfdisk.c:1955
+#: fdisk/cfdisk.c:1954
 msgid ""
 "-- ------- -------- --------- ------ --------- ---------------------- "
 "---------\n"
@@ -1597,481 +1801,474 @@ msgstr ""
 "-- ------- -------- --------- ------ --------- ---------------------- "
 "---------\n"
 
-#: fdisk/cfdisk.c:2037
+#: fdisk/cfdisk.c:2036
 msgid "         ---Starting---      ----Ending----    Start Number of\n"
-msgstr "         ---Anfangs----      -----End------   Start  Anzahl der\n"
+msgstr "         ---Anfang----      -----Ende------    Start   Anzahl\n"
 
-#: fdisk/cfdisk.c:2038
+#: fdisk/cfdisk.c:2037
 msgid " # Flags Head Sect Cyl   ID  Head Sect Cyl    Sector  Sectors\n"
-msgstr " # Flags Kopf Sekt Zyl.  ID  Kopf Sekt Zyl    Sektor  Sektoren\n"
+msgstr "# Flags Köpfe Sekt Zyl.  ID Köpfe Sekt Zyl    Sektor  Sektoren\n"
 
-#: fdisk/cfdisk.c:2039
+#: fdisk/cfdisk.c:2038
 msgid "-- ----- ---- ---- ---- ---- ---- ---- ---- -------- ---------\n"
 msgstr "-- ----- ---- ---- ---- ---- ---- ---- ---- -------- ---------\n"
 
-#: fdisk/cfdisk.c:2072
-#, fuzzy
+#: fdisk/cfdisk.c:2071
 msgid "Raw"
-msgstr "\"Roh\""
+msgstr "'Roh'"
 
-#: fdisk/cfdisk.c:2072
-#, fuzzy
+#: fdisk/cfdisk.c:2071
 msgid "Print the table using raw data format"
-msgstr "Die \"rohen\" Daten der Tabelle ausgeben"
+msgstr "Die 'rohen' Daten der Tabelle ausgeben"
 
-#: fdisk/cfdisk.c:2073 fdisk/cfdisk.c:2175
+#: fdisk/cfdisk.c:2072 fdisk/cfdisk.c:2174
 msgid "Sectors"
 msgstr "Sektoren"
 
-#: fdisk/cfdisk.c:2073
+#: fdisk/cfdisk.c:2072
 msgid "Print the table ordered by sectors"
 msgstr "Die Tabelle nach Sektoren sortiert ausgeben"
 
-#: fdisk/cfdisk.c:2074
+#: fdisk/cfdisk.c:2073
 msgid "Table"
 msgstr "Tabelle"
 
-# "Nur die Partitionstabelle ausgeben" (joey)
-#: fdisk/cfdisk.c:2074
+#: fdisk/cfdisk.c:2073
 msgid "Just print the partition table"
-msgstr "Einfach die Tabelle ausgeben"
+msgstr "Nur die Partitionstabelle ausgeben"
 
-#: fdisk/cfdisk.c:2075
+#: fdisk/cfdisk.c:2074
 msgid "Don't print the table"
-msgstr "Zeige die Tabelle nicht an"
+msgstr "Tabelle nicht ausgeben"
 
-#: fdisk/cfdisk.c:2103
+#: fdisk/cfdisk.c:2102
 msgid "Help Screen for cfdisk"
-msgstr "Hilfe für cfdisk"
+msgstr "Hilfebildschirm für cfdisk"
 
-#: fdisk/cfdisk.c:2105
+#: fdisk/cfdisk.c:2104
 msgid "This is cfdisk, a curses based disk partitioning program, which"
-msgstr "Dies ist cfdisk, ein Programm das curses benutzt und es ihnen"
+msgstr "Dies ist cfdisk, ein auf 'curses' basierendes Programm,"
 
-#: fdisk/cfdisk.c:2106
+#: fdisk/cfdisk.c:2105
 msgid "allows you to create, delete and modify partitions on your hard"
-msgstr "erlaubt, auf Ihren Festplatten Partitionen anzulegen, zu löschen"
+msgstr "mit dem Sie Partitionen auf der Festplatte anlegen, löschen"
 
-#: fdisk/cfdisk.c:2107
+#: fdisk/cfdisk.c:2106
 msgid "disk drive."
-msgstr "und zu verändern."
+msgstr "und verändern können."
 
-#: fdisk/cfdisk.c:2109
+#: fdisk/cfdisk.c:2108
 msgid "Copyright (C) 1994-1999 Kevin E. Martin & aeb"
 msgstr "Copyright (C) 1994-1999 Kevin E. Martin & aeb"
 
 # "Befehl"
-#: fdisk/cfdisk.c:2111
+#: fdisk/cfdisk.c:2110
 msgid "Command      Meaning"
-msgstr "Kommando     Bedeutung"
+msgstr "Befehl       Bedeutung"
 
-#: fdisk/cfdisk.c:2112
+#: fdisk/cfdisk.c:2111
 msgid "-------      -------"
 msgstr "--------     ---------"
 
-# "  b          Wechselt zwischen bootfähig und nicht bootfähig."
-#: fdisk/cfdisk.c:2113
+#: fdisk/cfdisk.c:2112
 msgid "  b          Toggle bootable flag of the current partition"
-msgstr "  b          (De)Aktivieren des bootbar-flags der aktuellen Partition"
+msgstr ""
+"  b          Die aktuelle Partition zwischen 'bootfähig'\n"
+"              und 'nicht bootfähig' umschalten"
 
-#: fdisk/cfdisk.c:2114
+#: fdisk/cfdisk.c:2113
 msgid "  d          Delete the current partition"
 msgstr "  d          Die aktuelle Partition löschen"
 
-#: fdisk/cfdisk.c:2115
+#: fdisk/cfdisk.c:2114
 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:2116
+#: fdisk/cfdisk.c:2115
 msgid "             WARNING: This option should only be used by people who"
-msgstr "             WARNUNG: Diese Funktion sollte nur von Leuten benutzt"
+msgstr "             WARNUNG: Diese Funktion sollte nur von Experten"
 
-#: fdisk/cfdisk.c:2117
+#: fdisk/cfdisk.c:2116
 msgid "             know what they are doing."
-msgstr "             werden, die wissen, was sie tun."
+msgstr "             verwendet werden."
 
-#: fdisk/cfdisk.c:2118
+#: fdisk/cfdisk.c:2117
 msgid "  h          Print this screen"
-msgstr "  h          Diese Hilfe anzeigen"
+msgstr "  h          Diesen Hilfebildschirm anzeigen"
 
-#: fdisk/cfdisk.c:2119
+#: fdisk/cfdisk.c:2118
 msgid "  m          Maximize disk usage of the current partition"
-msgstr "  m          Maximieren der Nutzung der aktuellen Partition"
+msgstr "  m          Die Nutzung der aktuellen Partition maximieren"
 
-#: fdisk/cfdisk.c:2120
+#: fdisk/cfdisk.c:2119
 msgid "             Note: This may make the partition incompatible with"
-msgstr ""
-"             Beachten Sie, daß dies die Partition nicht mehr kompatibel"
+msgstr "             Hinweis: Anschließend ist die Partition nicht mehr"
 
-#: fdisk/cfdisk.c:2121
+#: fdisk/cfdisk.c:2120
 msgid "             DOS, OS/2, ..."
-msgstr "             zu DOS, OS/2, ... machen kann"
+msgstr "             mit DOS, OS/2 usw. kompatibel."
 
-#: fdisk/cfdisk.c:2122
+#: fdisk/cfdisk.c:2121
 msgid "  n          Create new partition from free space"
-msgstr "  n          Aus dem freien Bereich eine neue Partition erzeugen"
+msgstr ""
+"  n          Eine neue Partition im nicht verwendeten Bereich erstellen"
 
-#: fdisk/cfdisk.c:2123
+#: fdisk/cfdisk.c:2122
 msgid "  p          Print partition table to the screen or to a file"
 msgstr ""
-"  p          Die Partitionstab. auf dem Bildschirm oder in eine Datei "
-"ausgeben"
+"  p          Die Partitionstabelle auf dem Bildschirm oder an\n"
+"             eine Datei ausgeben."
 
 # "verschiedene"
-#: fdisk/cfdisk.c:2124
+#: fdisk/cfdisk.c:2123
 msgid "             There are several different formats for the partition"
-msgstr "             Es gibt mehrere Formate für die Partitionstabelle, aus"
+msgstr "             Für die Partitionstabelle stehen mehrere Formate"
 
-#: fdisk/cfdisk.c:2125
+#: fdisk/cfdisk.c:2124
 msgid "             that you can choose from:"
-msgstr "             denen man wählen kann"
+msgstr "             zur Wahl:"
 
-#: fdisk/cfdisk.c:2126
+#: fdisk/cfdisk.c:2125
 msgid "                r - Raw data (exactly what would be written to disk)"
 msgstr ""
-"                r - »Rohe« Daten (was auf die Festplatte geschrieben würde)"
+"                r - 'Reine' Daten (was auf die Festplatte geschrieben wird)"
 
-#: fdisk/cfdisk.c:2127
+#: fdisk/cfdisk.c:2126
 msgid "                s - Table ordered by sectors"
 msgstr "                s - Tabelle nach Sektoren sortiert"
 
-#: fdisk/cfdisk.c:2128
+#: fdisk/cfdisk.c:2127
 msgid "                t - Table in raw format"
 msgstr "                t - Tabelle mit den reinen Daten"
 
-#: fdisk/cfdisk.c:2129
+#: fdisk/cfdisk.c:2128
 msgid "  q          Quit program without writing partition table"
-msgstr ""
-"  q          Das Programm beenden ohne die Partitionstabelle zu schreiben"
+msgstr "  q          Programm beenden, ohne die Partitionstabelle zu schreiben"
 
-#: fdisk/cfdisk.c:2130
+#: fdisk/cfdisk.c:2129
 msgid "  t          Change the filesystem type"
 msgstr "  t          Den Dateisystemtyp ändern"
 
-#: fdisk/cfdisk.c:2131
+#: fdisk/cfdisk.c:2130
 msgid "  u          Change units of the partition size display"
-msgstr "  u          Einheit für die Größenanzeige ändern"
+msgstr "  u          Die Einheiten für die Größenanzeige ändern"
 
-#: fdisk/cfdisk.c:2132
+#: fdisk/cfdisk.c:2131
 msgid "             Rotates through MB, sectors and cylinders"
-msgstr "             Wechselt zwischen MB, Sektoren und Zylindern"
+msgstr "             Zwischen MB, Sektoren und Zylindern wechseln"
 
-#: fdisk/cfdisk.c:2133
+#: fdisk/cfdisk.c:2132
 msgid "  W          Write partition table to disk (must enter upper case W)"
-msgstr ""
-"  W          Die Partitionstabelle auf die Festplatte schreiben (großes W)"
+msgstr "  W          Partitionstabelle auf die Festplatte schreiben (großes W)"
 
-# or "Da dieses ..." ?
-#: fdisk/cfdisk.c:2134
+#: fdisk/cfdisk.c:2133
 msgid "             Since this might destroy data on the disk, you must"
-msgstr "             Da dies Daten auf der Festplatte zerstören kann, müssen"
+msgstr "             Da hierbei Daten auf der Festplatte zerstört werden"
 
-#: fdisk/cfdisk.c:2135
+#: fdisk/cfdisk.c:2134
 msgid "             either confirm or deny the write by entering `yes' or"
-msgstr "             Sie das Schreiben mit »yes« oder »no« bestätigen oder"
+msgstr "             können, muss der Schreibvorgang mit 'Ja' oder 'Nein'"
 
-#: fdisk/cfdisk.c:2136
+#: fdisk/cfdisk.c:2135
 msgid "             `no'"
-msgstr "             ablehnen"
+msgstr "             bestätigt oder abgebrochen werden."
 
-#: fdisk/cfdisk.c:2137
+#: fdisk/cfdisk.c:2136
 msgid "Up Arrow     Move cursor to the previous partition"
-msgstr "Pfeil-hoch   Den Cursor zur vorherigen Partition bewegen"
+msgstr "Aufwärtspfeil Den Cursor zur vorherigen Partition bewegen"
 
-#: fdisk/cfdisk.c:2138
+#: fdisk/cfdisk.c:2137
 msgid "Down Arrow   Move cursor to the next partition"
-msgstr "Pfeil-runter Den Cursor zur nächsten Partition bewegen"
+msgstr "Abwärtspfeil Den Cursor zur nächsten Partition bewegen"
 
 # "Strg" ?
 # "Baut den Bildschirm neu auf"
-#: fdisk/cfdisk.c:2139
+#: fdisk/cfdisk.c:2138
 msgid "CTRL-L       Redraws the screen"
-msgstr "Ctrl-L       Zeichnet den Bildschirm erneut"
+msgstr "Strg-L       Den Bildschirm neu zeichnen"
 
-#: fdisk/cfdisk.c:2140
+#: fdisk/cfdisk.c:2139
 msgid "  ?          Print this screen"
-msgstr "  ?          Diese Hilfe anzeigen"
+msgstr "  ?          Diese Hilfeinformationen anzeigen"
 
 # "Hinweis"
-#: fdisk/cfdisk.c:2142
+#: fdisk/cfdisk.c:2141
 msgid "Note: All of the commands can be entered with either upper or lower"
-msgstr "Alle Kommandos können sowohl als Klein- oder Großbuchstaben"
+msgstr "Hinweis: Alle Befehle können sowohl als Klein- oder Großbuchstaben"
 
-#: fdisk/cfdisk.c:2143
+#: fdisk/cfdisk.c:2142
 msgid "case letters (except for Writes)."
-msgstr "eingegeben werden (außer W zum Schreiben)."
+msgstr "eingegeben werden (außer W für den Schreibvorgang)."
 
-#: fdisk/cfdisk.c:2173 fdisk/cfdisk.c:2490 fdisk/fdisksunlabel.c:305
+#: fdisk/cfdisk.c:2172 fdisk/cfdisk.c:2494 fdisk/fdisksunlabel.c:305
 #: fdisk/fdisksunlabel.c:307
 msgid "Cylinders"
 msgstr " Zylinder"
 
-#: fdisk/cfdisk.c:2173
+#: fdisk/cfdisk.c:2172
 msgid "Change cylinder geometry"
 msgstr "Die Anzahl der Zylinder ändern"
 
-#: fdisk/cfdisk.c:2174 fdisk/fdisksunlabel.c:302
+#: fdisk/cfdisk.c:2173 fdisk/fdisksunlabel.c:302
 msgid "Heads"
 msgstr "Köpfe"
 
-#: fdisk/cfdisk.c:2174
+#: fdisk/cfdisk.c:2173
 msgid "Change head geometry"
 msgstr "Die Anzahl der Köpfe ändern"
 
-#: fdisk/cfdisk.c:2175
+#: fdisk/cfdisk.c:2174
 msgid "Change sector geometry"
 msgstr "Die Anzahl der Sektoren pro Spur ändern"
 
-#: fdisk/cfdisk.c:2176
+#: fdisk/cfdisk.c:2175
 msgid "Done"
 msgstr "Fertig"
 
-#: fdisk/cfdisk.c:2176
+#: fdisk/cfdisk.c:2175
 msgid "Done with changing geometry"
-msgstr "Ändern der Geometrie beenden"
+msgstr "Ändern der Festplattengeometrie beenden"
 
-#: fdisk/cfdisk.c:2189
+#: fdisk/cfdisk.c:2188
 msgid "Enter the number of cylinders: "
 msgstr "Geben Sie die Anzahl der Zylinder ein: "
 
-#: fdisk/cfdisk.c:2201 fdisk/cfdisk.c:2758
+#: fdisk/cfdisk.c:2200 fdisk/cfdisk.c:2762
 msgid "Illegal cylinders value"
 msgstr "Ungültiger Wert für die Anzahl der Zylinder"
 
-#: fdisk/cfdisk.c:2207
+#: fdisk/cfdisk.c:2206
 msgid "Enter the number of heads: "
 msgstr "Geben Sie die Anzahl der Köpfe ein: "
 
-#: fdisk/cfdisk.c:2214 fdisk/cfdisk.c:2768
+#: fdisk/cfdisk.c:2213 fdisk/cfdisk.c:2772
 msgid "Illegal heads value"
 msgstr "Ungültiger Wert für die Anzahl der Köpfe"
 
-#: fdisk/cfdisk.c:2220
+#: fdisk/cfdisk.c:2219
 msgid "Enter the number of sectors per track: "
 msgstr "Geben Sie die Anzahl der Sektoren pro Spur ein: "
 
-#: fdisk/cfdisk.c:2227 fdisk/cfdisk.c:2775
+#: fdisk/cfdisk.c:2226 fdisk/cfdisk.c:2779
 msgid "Illegal sectors value"
 msgstr "Ungültiger Wert für die Anzahl der Sektoren"
 
-#: fdisk/cfdisk.c:2330
+#: fdisk/cfdisk.c:2329
 msgid "Enter filesystem type: "
 msgstr "Geben Sie den Dateisystemtyp ein: "
 
-#: fdisk/cfdisk.c:2348
+#: fdisk/cfdisk.c:2347
 msgid "Cannot change FS Type to empty"
-msgstr "Der Dateisystemtyp kann nicht auf »leer« gesetzt werden"
+msgstr "Der Dateisystemtyp kann nicht leer bleiben."
 
-#: fdisk/cfdisk.c:2350
+#: fdisk/cfdisk.c:2349
 msgid "Cannot change FS Type to extended"
-msgstr "Der Dateisystemtyp kann nicht auf »erweitert« gesetzt werden"
+msgstr "Der Dateisystemtyp kann nicht auf 'erweitert' gesetzt werden"
 
-#: fdisk/cfdisk.c:2373 fdisk/fdisksunlabel.c:44
+#: fdisk/cfdisk.c:2377 fdisk/fdisksunlabel.c:44
 msgid "Boot"
 msgstr "Boot"
 
-#: fdisk/cfdisk.c:2375
+#: fdisk/cfdisk.c:2379
 #, c-format
 msgid "Unk(%02X)"
 msgstr "Unb(%02X)"
 
-#: fdisk/cfdisk.c:2378 fdisk/cfdisk.c:2381
+#: fdisk/cfdisk.c:2382 fdisk/cfdisk.c:2385
 msgid ", NC"
 msgstr ", NC"
 
-#: fdisk/cfdisk.c:2386 fdisk/cfdisk.c:2389
+#: fdisk/cfdisk.c:2390 fdisk/cfdisk.c:2393
 msgid "NC"
 msgstr "NC"
 
-#: fdisk/cfdisk.c:2397
+#: fdisk/cfdisk.c:2401
 msgid "Pri/Log"
 msgstr "Pri/Log"
 
-#: fdisk/cfdisk.c:2473
+#: fdisk/cfdisk.c:2477
 #, c-format
 msgid "Disk Drive: %s"
 msgstr "Festplatte: %s"
 
-#: fdisk/cfdisk.c:2476
+#: fdisk/cfdisk.c:2480
 #, c-format
 msgid "Size: %lld bytes"
 msgstr "Größe: %lld Bytes"
 
-#: fdisk/cfdisk.c:2478
+#: fdisk/cfdisk.c:2482
 #, c-format
 msgid "Heads: %d   Sectors per Track: %d   Cylinders: %d"
 msgstr "Köpfe: %d   Sektoren pro Spur: %d   Zylinder: %d"
 
-#: fdisk/cfdisk.c:2482
+#: fdisk/cfdisk.c:2486
 msgid "Name"
 msgstr "Name"
 
 # I currently don't know a better translation
-#: fdisk/cfdisk.c:2483
+#: fdisk/cfdisk.c:2487
 msgid "Flags"
 msgstr "Flags"
 
-#: fdisk/cfdisk.c:2484
+#: fdisk/cfdisk.c:2488
 msgid "Part Type"
-msgstr "Part. Typ"
+msgstr "Part.-Typ"
 
-#: fdisk/cfdisk.c:2485
+#: fdisk/cfdisk.c:2489
 msgid "FS Type"
 msgstr "Dateisystemtyp"
 
-#: fdisk/cfdisk.c:2486
+#: fdisk/cfdisk.c:2490
 msgid "[Label]"
 msgstr "[Bezeichner]"
 
-#: fdisk/cfdisk.c:2488
+#: fdisk/cfdisk.c:2492
 msgid "  Sectors"
 msgstr " Sektoren"
 
-#: fdisk/cfdisk.c:2492
+#: fdisk/cfdisk.c:2496
 msgid "Size (MB)"
 msgstr "Größe (MB)"
 
-#: fdisk/cfdisk.c:2494
+#: fdisk/cfdisk.c:2498
 msgid "Size (GB)"
 msgstr "Größe (GB)"
 
-#: fdisk/cfdisk.c:2549
+#: fdisk/cfdisk.c:2553
 msgid "Bootable"
-msgstr "Bootbar"
+msgstr "Bootfähig"
 
-# "Bootfähigkeit der aktuellen Partition ändern" (joey)
-#: fdisk/cfdisk.c:2549
+#: fdisk/cfdisk.c:2553
 msgid "Toggle bootable flag of the current partition"
-msgstr "(De)Aktivieren des bootbar-flags der aktuellen Partition"
+msgstr "Bootfähigkeit der aktuellen Partition umschalten"
 
 # "Löschen"
-#: fdisk/cfdisk.c:2550
+#: fdisk/cfdisk.c:2554
 msgid "Delete"
 msgstr "Löschen"
 
-#: fdisk/cfdisk.c:2550
+#: fdisk/cfdisk.c:2554
 msgid "Delete the current partition"
 msgstr "Die aktuelle Partition löschen"
 
-#: fdisk/cfdisk.c:2551
+#: fdisk/cfdisk.c:2555
 msgid "Geometry"
 msgstr "Geometrie"
 
-#: fdisk/cfdisk.c:2551
+#: fdisk/cfdisk.c:2555
 msgid "Change disk geometry (experts only)"
-msgstr "Die Festplattengeometrieparameter ändern (nur für Experten)"
+msgstr "Parameter der Festplattengeometrie ändern (nur für Experten)"
 
-#: fdisk/cfdisk.c:2552
+#: fdisk/cfdisk.c:2556
 msgid "Help"
 msgstr "Hilfe"
 
-#: fdisk/cfdisk.c:2552
+#: fdisk/cfdisk.c:2556
 msgid "Print help screen"
 msgstr "Die Hilfe anzeigen"
 
-#: fdisk/cfdisk.c:2553
+#: fdisk/cfdisk.c:2557
 msgid "Maximize"
 msgstr "Maxim."
 
-#: fdisk/cfdisk.c:2553
+#: fdisk/cfdisk.c:2557
 msgid "Maximize disk usage of the current partition (experts only)"
-msgstr "Maximieren der Nutzung der aktuellen Partition (nur für Experten)"
+msgstr "Nutzung der aktuellen Partition maximieren (nur für Experten)"
 
-#: fdisk/cfdisk.c:2554
+#: fdisk/cfdisk.c:2558
 msgid "New"
 msgstr "Neue"
 
 # "Erzeuge aus dem freien Bereich eine neue Partition"
-#: fdisk/cfdisk.c:2554
+#: fdisk/cfdisk.c:2558
 msgid "Create new partition from free space"
 msgstr "Neue Partition im freiem Bereich anlegen"
 
-#: fdisk/cfdisk.c:2555
+#: fdisk/cfdisk.c:2559
 msgid "Print"
 msgstr "Ausgabe"
 
 # "Gib die Partitionstabelle auf dem Bildschirm oder in eine Datei aus"
-#: fdisk/cfdisk.c:2555
+#: fdisk/cfdisk.c:2559
 msgid "Print partition table to the screen or to a file"
-msgstr "Partitionstabelle auf dem Bildschirm oder in Datei ausgeben"
+msgstr "Partitionstabelle auf dem Bildschirm oder an Datei ausgeben"
 
-#: fdisk/cfdisk.c:2556
+#: fdisk/cfdisk.c:2560
 msgid "Quit"
 msgstr "Ende"
 
 # "Beende das Programm ohne die Partitionstabelle zu schreiben"
-#: fdisk/cfdisk.c:2556
+#: fdisk/cfdisk.c:2560
 msgid "Quit program without writing partition table"
-msgstr "Das Programm beenden, ohne die Partitionstabelle zu speichern"
+msgstr "Das Programm beenden, ohne die Partitionstabelle zu schreiben"
 
-#: fdisk/cfdisk.c:2557
+#: fdisk/cfdisk.c:2561
 msgid "Type"
 msgstr "Typ"
 
-#: fdisk/cfdisk.c:2557
+#: fdisk/cfdisk.c:2561
 msgid "Change the filesystem type (DOS, Linux, OS/2 and so on)"
-msgstr "Den Dateisystemtyp (DOS, Linux, OS/2, etc.)"
+msgstr "Den Dateisystemtyp ändern (DOS, Linux, OS/2 usw.)"
 
 # Maybe without the dot.
-#: fdisk/cfdisk.c:2558
+#: fdisk/cfdisk.c:2562
 msgid "Units"
-msgstr "Einheit."
+msgstr "Einheit"
 
 # "Ändert die Einheiten der Größenanzeige ("
-#: fdisk/cfdisk.c:2558
+#: fdisk/cfdisk.c:2562
 msgid "Change units of the partition size display (MB, sect, cyl)"
-msgstr ""
-"Zwischen den Einheiten für die Größenanzeige wechseln (MB, Sekt., Zyl.)"
+msgstr "Zwischen den Einheiten für die Größenanzeige wechseln (MB, Sek., Zyl.)"
 
-#: fdisk/cfdisk.c:2559
+#: fdisk/cfdisk.c:2563
 msgid "Write"
-msgstr "Schreib."
+msgstr "Schreiben"
 
-#: fdisk/cfdisk.c:2559
+#: fdisk/cfdisk.c:2563
 msgid "Write partition table to disk (this might destroy data)"
 msgstr "Die Partitionstabelle schreiben (dies kann Daten zerstören)"
 
-#: fdisk/cfdisk.c:2605
+#: fdisk/cfdisk.c:2609
 msgid "Cannot make this partition bootable"
-msgstr "Diese Partition kann nicht als bootbar markiert werden"
+msgstr "Diese Partition kann nicht bootfähig gemacht werden."
 
-#: fdisk/cfdisk.c:2615
+#: fdisk/cfdisk.c:2619
 msgid "Cannot delete an empty partition"
-msgstr "Eine leere Partition kann nicht gelöscht werden"
+msgstr "Eine leere Partition kann nicht gelöscht werden."
 
-#: fdisk/cfdisk.c:2635 fdisk/cfdisk.c:2637
+#: fdisk/cfdisk.c:2639 fdisk/cfdisk.c:2641
 msgid "Cannot maximize this partition"
-msgstr "Die Nutzung dieser Partition kann nicht maximiert werden"
+msgstr "Die Nutzung dieser Partition kann nicht maximiert werden."
 
-#: fdisk/cfdisk.c:2645
+#: fdisk/cfdisk.c:2649
 msgid "This partition is unusable"
-msgstr "Diese Partition ist unbenutzbar"
+msgstr "Diese Partition ist nicht benutzbar."
 
-#: fdisk/cfdisk.c:2647
+#: fdisk/cfdisk.c:2651
 msgid "This partition is already in use"
-msgstr "Diese Partition ist bereits in Benutzung"
+msgstr "Diese Partition ist bereits in Benutzung."
 
-#: fdisk/cfdisk.c:2664
+#: fdisk/cfdisk.c:2668
 msgid "Cannot change the type of an empty partition"
-msgstr "Der Dateisystemtyp einer leeren Partition kann nicht geändert werden"
+msgstr "Der Dateisystemtyp einer leeren Partition kann nicht geändert werden."
 
-#: fdisk/cfdisk.c:2691 fdisk/cfdisk.c:2697
+#: fdisk/cfdisk.c:2695 fdisk/cfdisk.c:2701
 msgid "No more partitions"
-msgstr "Keine weiteren Partitionen"
+msgstr "Keine weiteren Partitionen."
 
 # "Ungültige Taste"
-#: fdisk/cfdisk.c:2704
+#: fdisk/cfdisk.c:2708
 msgid "Illegal command"
-msgstr "Unzulässiges Kommando"
+msgstr "Unzulässiger Befehl."
 
-#: fdisk/cfdisk.c:2714
+#: fdisk/cfdisk.c:2718
 msgid "Copyright (C) 1994-1999 Kevin E. Martin & aeb\n"
 msgstr "Copyright (C) 1994-1999 Kevin E. Martin & aeb\n"
 
 #. Unfortunately, xgettext does not handle multi-line strings
 #. so, let's use explicit \n's instead
-#: fdisk/cfdisk.c:2721
+#: fdisk/cfdisk.c:2725
 #, c-format
 msgid ""
 "\n"
@@ -2091,7 +2288,7 @@ msgid ""
 "\n"
 msgstr ""
 "\n"
-"Aufruf:\n"
+"Verwendung:\n"
 "Ausgabe der Version:\n"
 "        %s -v\n"
 "Ausgabe der Partitionstabelle:\n"
@@ -2100,13 +2297,14 @@ msgstr ""
 "        %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"
+"-a: Pfeil statt Hervorheben verwenden;\n"
+"-z: Mit leerer Partitionstabelle beginnen, statt die Partitionstabelle\n"
+"                von der Festplatte zu lesen;\n"
+"-c C -h H -s S: Die Daten des Kernels in Bezug auf die Anzahl der Zylinder,\n"
+"                Köpfe und Sektoren pro Spur außer Kraft setzen.\n"
 "\n"
 
-#: fdisk/fdisk.c:247
+#: fdisk/fdisk.c:246
 msgid ""
 "Usage: fdisk [-b SSZ] [-u] DISK     Change partition table\n"
 "       fdisk -l [-b SSZ] [-u] DISK  List partition table(s)\n"
@@ -2117,18 +2315,19 @@ msgid ""
 "-u: give Start and End in sector (instead of cylinder) units\n"
 "-b 2048: (for certain MO drives) use 2048-byte sectors\n"
 msgstr ""
-"Aufruf: fdisk [-b SSZ] [-u] Festplatte     Partitionstabelle bearbeiten\n"
-"        fdisk -l [-b SSZ] [-u] Festplatte  Partitionstabelle ausgeben\n"
-"        fdisk -s Partition                 Größe einer Partition in Blöcken\n"
-"        fdisk -v                           Version anzeigen\n"
+"Verwendung: fdisk [-b SSZ] [-u] Festplatte  Partitionstabelle bearbeiten\n"
+"        fdisk -l [-b SSZ] [-u] Festplatte   Partitionstabelle ausgeben\n"
+"        fdisk -s Partition                  Größe einer Partition in "
+"Blöcken\n"
+"        fdisk -v                            fdisk-Version anzeigen\n"
 "\n"
-"Festplatte ist zum Beispiel /dev/hda oder /dev/sda\n"
-"Partition ist zum Beispiel /dev/hda7\n"
+"Festplatte ist beispielsweise /dev/hda oder /dev/sda\n"
+"Partition ist beispielsweise /dev/hda7\n"
 "\n"
 "-u: Anfang und Ende werden in Sektoren statt in Zylindern angegeben\n"
-"-b 2048: (bestimmte MO-Geräte) benutze 2048 Byte Sektoren\n"
+"-b 2048 (bei bestimmten MO-Geräten): Sektoren mit 2048 Bytes verwenden\n"
 
-#: fdisk/fdisk.c:259
+#: fdisk/fdisk.c:258
 msgid ""
 "Usage: fdisk [-l] [-b SSZ] [-u] device\n"
 "E.g.: fdisk /dev/hda  (for the first IDE disk)\n"
@@ -2137,436 +2336,458 @@ msgid ""
 "  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"
+"Verwendung: 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/eda       (das erste PS/2 ESDI-Laufwerk)\n"
 "        oder: fdisk /dev/rd/c0d0\n"
 "        oder: fdisk /dev/ida/c0d0  (RAID-Festplatten)\n"
 "        ...\n"
 
-#: fdisk/fdisk.c:267
+#: fdisk/fdisk.c:266
 #, c-format
 msgid "Unable to open %s\n"
-msgstr "Konnte %s nicht öffnen\n"
+msgstr "%s konnte nicht geöffnet werden.\n"
 
-#: fdisk/fdisk.c:270
+#: fdisk/fdisk.c:269
 #, c-format
 msgid "Unable to read %s\n"
-msgstr "Konnte %s nicht lesen\n"
+msgstr "%s konnte nicht gelesen werden.\n"
 
-# "Konnte in %s nicht positionieren"
-#: fdisk/fdisk.c:273
+#: fdisk/fdisk.c:272
 #, c-format
 msgid "Unable to seek on %s\n"
-msgstr ""
+msgstr "Suchvorgang in %s nicht erfolgreich.\n"
 
-#: fdisk/fdisk.c:276
+#: fdisk/fdisk.c:275
 #, c-format
 msgid "Unable to write %s\n"
-msgstr "Konnte %s nicht schreiben\n"
+msgstr "Schreibvorgang an %s nicht erfolgreich.\n"
 
-#: fdisk/fdisk.c:279
+#: fdisk/fdisk.c:278
 #, c-format
 msgid "BLKGETSIZE ioctl failed on %s\n"
-msgstr ""
+msgstr "BLKGETSIZE ioctl: Fehler bei %s\n"
 
-#: fdisk/fdisk.c:283
+#: fdisk/fdisk.c:282
 msgid "Unable to allocate any more memory\n"
-msgstr "Konnte keinen weiteren Speicher reservieren\n"
+msgstr "Es konnte kein weiterer Speicher zugewiesen werden.\n"
 
-#: fdisk/fdisk.c:285
+#: fdisk/fdisk.c:284
 msgid "Fatal error\n"
-msgstr "Fataler Fehler\n"
+msgstr "Nicht behebbarer Fehler.\n"
 
-#: fdisk/fdisk.c:296 fdisk/fdisk.c:315 fdisk/fdisk.c:333 fdisk/fdisk.c:340
-#: fdisk/fdisk.c:363 fdisk/fdisk.c:381 fdisk/fdiskbsdlabel.c:105
+#: fdisk/fdisk.c:295 fdisk/fdisk.c:314 fdisk/fdisk.c:332 fdisk/fdisk.c:339
+#: fdisk/fdisk.c:362 fdisk/fdisk.c:380 fdisk/fdiskbsdlabel.c:105
 msgid "Command action"
-msgstr "Kommando  Bedeutung"
+msgstr "Befehl  Bedeutung"
 
-#: fdisk/fdisk.c:297
+#: fdisk/fdisk.c:296
 msgid "   a   toggle a read only flag"
-msgstr ""
+msgstr "   a   Das Schreibschutz-Flag umschalten"
 
 #. sun
-#: fdisk/fdisk.c:298 fdisk/fdisk.c:342
+#: fdisk/fdisk.c:297 fdisk/fdisk.c:341
 msgid "   b   edit bsd disklabel"
-msgstr "   b   »bsd disklabel« bearbeiten"
+msgstr "   b   Die bsd-Datenträgerkennung bearbeiten"
 
-#: fdisk/fdisk.c:299
+#: fdisk/fdisk.c:298
 msgid "   c   toggle the mountable flag"
-msgstr ""
+msgstr "   c   Das Mountfähig-Flag umschalten"
 
 #. sun
-#: fdisk/fdisk.c:300 fdisk/fdisk.c:319 fdisk/fdisk.c:344
+#: fdisk/fdisk.c:299 fdisk/fdisk.c:318 fdisk/fdisk.c:343
 msgid "   d   delete a partition"
 msgstr "   d   Eine Partition löschen"
 
-#: fdisk/fdisk.c:301 fdisk/fdisk.c:320 fdisk/fdisk.c:345
+#: fdisk/fdisk.c:300 fdisk/fdisk.c:319 fdisk/fdisk.c:344
 msgid "   l   list known partition types"
-msgstr "   l   Die bekannten Dateisystemtypen anzeigen"
+msgstr "   l   Bekannte Dateisystemtypen anzeigen"
 
 #. sun
-#: fdisk/fdisk.c:302 fdisk/fdisk.c:321 fdisk/fdisk.c:334 fdisk/fdisk.c:346
-#: fdisk/fdisk.c:371 fdisk/fdisk.c:388 fdisk/fdiskbsdlabel.c:110
+#: fdisk/fdisk.c:301 fdisk/fdisk.c:320 fdisk/fdisk.c:333 fdisk/fdisk.c:345
+#: fdisk/fdisk.c:370 fdisk/fdisk.c:387 fdisk/fdiskbsdlabel.c:110
 msgid "   m   print this menu"
 msgstr "   m   Dieses Menü anzeigen"
 
-#: fdisk/fdisk.c:303 fdisk/fdisk.c:322 fdisk/fdisk.c:347
+#: fdisk/fdisk.c:302 fdisk/fdisk.c:321 fdisk/fdisk.c:346
 msgid "   n   add a new partition"
 msgstr "   n   Eine neue Partition anlegen"
 
-#: fdisk/fdisk.c:304 fdisk/fdisk.c:323 fdisk/fdisk.c:335 fdisk/fdisk.c:348
+#: fdisk/fdisk.c:303 fdisk/fdisk.c:322 fdisk/fdisk.c:334 fdisk/fdisk.c:347
 msgid "   o   create a new empty DOS partition table"
-msgstr "   o   Eine neue leere DOS Partitionstabelle anlegen"
+msgstr "   o   Eine neue, leere DOS-Partitionstabelle anlegen"
 
-#: fdisk/fdisk.c:305 fdisk/fdisk.c:324 fdisk/fdisk.c:349 fdisk/fdisk.c:372
-#: fdisk/fdisk.c:389
+#: fdisk/fdisk.c:304 fdisk/fdisk.c:323 fdisk/fdisk.c:348 fdisk/fdisk.c:371
+#: fdisk/fdisk.c:388
 msgid "   p   print the partition table"
 msgstr "   p   Die Partitionstabelle anzeigen"
 
-#: fdisk/fdisk.c:306 fdisk/fdisk.c:325 fdisk/fdisk.c:336 fdisk/fdisk.c:350
-#: fdisk/fdisk.c:373 fdisk/fdisk.c:390 fdisk/fdiskbsdlabel.c:113
+#: fdisk/fdisk.c:305 fdisk/fdisk.c:324 fdisk/fdisk.c:335 fdisk/fdisk.c:349
+#: fdisk/fdisk.c:372 fdisk/fdisk.c:389 fdisk/fdiskbsdlabel.c:113
 msgid "   q   quit without saving changes"
-msgstr "   q   Ende ohne Speichern der Änderungen"
+msgstr "   q   Beenden, ohne die Änderungen zu speichern"
 
-#: fdisk/fdisk.c:307 fdisk/fdisk.c:326 fdisk/fdisk.c:337 fdisk/fdisk.c:351
+#: fdisk/fdisk.c:306 fdisk/fdisk.c:325 fdisk/fdisk.c:336 fdisk/fdisk.c:350
 msgid "   s   create a new empty Sun disklabel"
-msgstr "   s   Einen neuen leeren »Sun disklabel« anlegen"
+msgstr "   s   Eine neue, leere Sun-Datenträgerkennung anlegen"
 
 #. sun
-#: fdisk/fdisk.c:308 fdisk/fdisk.c:327 fdisk/fdisk.c:352
+#: fdisk/fdisk.c:307 fdisk/fdisk.c:326 fdisk/fdisk.c:351
 msgid "   t   change a partition's system id"
 msgstr "   t   Den Dateisystemtyp einer Partition ändern"
 
-#: fdisk/fdisk.c:309 fdisk/fdisk.c:328 fdisk/fdisk.c:353
+#: fdisk/fdisk.c:308 fdisk/fdisk.c:327 fdisk/fdisk.c:352
 msgid "   u   change display/entry units"
 msgstr "   u   Die Einheit für die Anzeige/Eingabe ändern"
 
-#: fdisk/fdisk.c:310 fdisk/fdisk.c:329 fdisk/fdisk.c:354 fdisk/fdisk.c:376
-#: fdisk/fdisk.c:393
+#: fdisk/fdisk.c:309 fdisk/fdisk.c:328 fdisk/fdisk.c:353 fdisk/fdisk.c:375
+#: fdisk/fdisk.c:392
 msgid "   v   verify the partition table"
 msgstr "   v   Die Partitionstabelle überprüfen"
 
-#: fdisk/fdisk.c:311 fdisk/fdisk.c:330 fdisk/fdisk.c:355 fdisk/fdisk.c:377
-#: fdisk/fdisk.c:394
+#: fdisk/fdisk.c:310 fdisk/fdisk.c:329 fdisk/fdisk.c:354 fdisk/fdisk.c:376
+#: fdisk/fdisk.c:393
 msgid "   w   write table to disk and exit"
-msgstr ""
-"   w   Die Tabelle auf die Festplatte schreiben und das Programm beenden"
+msgstr "   w   Tabelle auf die Festplatte schreiben und Programm beenden"
 
-#: fdisk/fdisk.c:312 fdisk/fdisk.c:356
+#: fdisk/fdisk.c:311 fdisk/fdisk.c:355
 msgid "   x   extra functionality (experts only)"
 msgstr "   x   Zusätzliche Funktionen (nur für Experten)"
 
-#: fdisk/fdisk.c:316
+#: fdisk/fdisk.c:315
 msgid "   a   select bootable partition"
-msgstr "   a   Wählen der bootbaren Partition"
+msgstr "   a   Die bootfähige Partition auswählen"
 
 #. sgi flavour
-#: fdisk/fdisk.c:317
+#: fdisk/fdisk.c:316
 msgid "   b   edit bootfile entry"
-msgstr "   b   Bearbeiten des »bootfile«-Eintrags"
+msgstr "   b   Den 'bootfile'-Eintrag bearbeiten"
 
 #. sgi
-#: fdisk/fdisk.c:318
+#: fdisk/fdisk.c:317
 msgid "   c   select sgi swap partition"
-msgstr "   c   Die sgi swap Partition auswählen"
+msgstr "   c   Die sgi-Auslagerungspartition auswählen"
 
-#: fdisk/fdisk.c:341
+#: fdisk/fdisk.c:340
 msgid "   a   toggle a bootable flag"
-msgstr "   a   (De)Aktivieren des bootbar-Flags"
+msgstr "   a   Ein 'Bootfähig'-Flag umschalten"
 
-#: fdisk/fdisk.c:343
+#: fdisk/fdisk.c:342
 msgid "   c   toggle the dos compatibility flag"
-msgstr "   c   (De)Aktivieren des DOS Kompatibilitätsflags"
+msgstr "   c   Ein DOS-Kompatibilitätsflag umschalten"
 
-#: fdisk/fdisk.c:364
+#: fdisk/fdisk.c:363
 msgid "   a   change number of alternate cylinders"
-msgstr ""
+msgstr "   a   Die Anzahl alternativer Zylinder ändern"
 
 #. sun
-#: fdisk/fdisk.c:365 fdisk/fdisk.c:383
+#: fdisk/fdisk.c:364 fdisk/fdisk.c:382
 msgid "   c   change number of cylinders"
 msgstr "   c   Die Anzahl der Zylinder ändern"
 
 # XXX
-#: fdisk/fdisk.c:366 fdisk/fdisk.c:384
+#: fdisk/fdisk.c:365 fdisk/fdisk.c:383
 msgid "   d   print the raw data in the partition table"
-msgstr "   d   Zeige die »raw« Daten der Partitionstabelle an"
+msgstr "   d   Reine Daten in der Partitionstabelle anzeigen"
 
-#: fdisk/fdisk.c:367
+#: fdisk/fdisk.c:366
 msgid "   e   change number of extra sectors per cylinder"
-msgstr ""
+msgstr "   e   Die Anzahl zusätzlicher Sektoren pro Zylinder ändern"
 
 #. sun
-#: fdisk/fdisk.c:368 fdisk/fdisk.c:387
+#: fdisk/fdisk.c:367 fdisk/fdisk.c:386
 msgid "   h   change number of heads"
 msgstr "   h   Die Anzahl der Köpfe ändern"
 
-#: fdisk/fdisk.c:369
+#: fdisk/fdisk.c:368
 msgid "   i   change interleave factor"
-msgstr ""
+msgstr "   i   Den Interleave-Faktor ändern"
 
 #. sun
-#: fdisk/fdisk.c:370
+#: fdisk/fdisk.c:369
 msgid "   o   change rotation speed (rpm)"
-msgstr ""
+msgstr "   o   Die Drehzahl ändern (U/min)"
 
-#: fdisk/fdisk.c:374 fdisk/fdisk.c:391 fdisk/fdiskbsdlabel.c:115
+#: fdisk/fdisk.c:373 fdisk/fdisk.c:390 fdisk/fdiskbsdlabel.c:115
 msgid "   r   return to main menu"
 msgstr "   r   Zurück zum Hauptmenü"
 
-#: fdisk/fdisk.c:375 fdisk/fdisk.c:392
+#: fdisk/fdisk.c:374 fdisk/fdisk.c:391
 msgid "   s   change number of sectors/track"
-msgstr "   s   Die Anzahl der Sektoren/Spur ändern"
+msgstr "   s   Die Anzahl der Sektoren pro Spur ändern"
 
-#: fdisk/fdisk.c:378
+#: fdisk/fdisk.c:377
 msgid "   y   change number of physical cylinders"
-msgstr ""
+msgstr "   y   Die Anzahl physischer Zylinder ändern"
 
-#: fdisk/fdisk.c:382
+#: fdisk/fdisk.c:381
 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:385
+#: fdisk/fdisk.c:384
 msgid "   e   list extended partitions"
 msgstr "   e   Erweiterte Partitionen anzeigen"
 
 #. !sun
-#: fdisk/fdisk.c:386
+#: fdisk/fdisk.c:385
 msgid "   g   create an IRIX partition table"
 msgstr "   g   Eine IRIX-Partitionstabelle anlegen"
 
-#: fdisk/fdisk.c:482
+#: fdisk/fdisk.c:481
 msgid "You must set"
-msgstr ""
+msgstr "Wählen Sie"
 
-#: fdisk/fdisk.c:496
+#: fdisk/fdisk.c:495
 msgid "heads"
 msgstr "Köpfe"
 
-#: fdisk/fdisk.c:498 fdisk/fdisk.c:906 fdisk/sfdisk.c:842
+#: fdisk/fdisk.c:497 fdisk/fdisk.c:905 fdisk/sfdisk.c:842
 msgid "sectors"
 msgstr "Sektoren"
 
-#: fdisk/fdisk.c:500 fdisk/fdisk.c:906 fdisk/fdiskbsdlabel.c:442
+#: fdisk/fdisk.c:499 fdisk/fdisk.c:905 fdisk/fdiskbsdlabel.c:444
 #: fdisk/sfdisk.c:842
 msgid "cylinders"
 msgstr "Zylinder"
 
-#: fdisk/fdisk.c:504
+#: fdisk/fdisk.c:503
 #, 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"
+"Verwenden Sie hierzu das Menü 'zusätzliche Funktionen'.\n"
 
-#: fdisk/fdisk.c:505
+#: fdisk/fdisk.c:504
 msgid " and "
 msgstr " und "
 
-#: fdisk/fdisk.c:539
+#: fdisk/fdisk.c:538
 msgid "Bad offset in primary extended partition\n"
-msgstr ""
+msgstr "Ungültiger Offset-Wert in der primären erweiterten Partition.\n"
 
-#: fdisk/fdisk.c:546
+#: fdisk/fdisk.c:545
 #, c-format
 msgid "Warning: deleting partitions after %d\n"
-msgstr ""
+msgstr "Warnung: Partitionen werden gelöscht nach %d\n"
 
-#: fdisk/fdisk.c:567
+#: fdisk/fdisk.c:566
 #, c-format
 msgid "Warning: extra link pointer in partition table %d\n"
-msgstr ""
+msgstr "Warnung: Zusätzlicher Verknüpfungszeiger in Partitionstabelle %d\n"
 
-#: fdisk/fdisk.c:575
+#: fdisk/fdisk.c:574
 #, c-format
 msgid "Warning: ignoring extra data in partition table %d\n"
 msgstr ""
+"Warnung: Zusätzliche Daten in der Partitionstabelle %d werden ignoriert.\n"
 
-#: fdisk/fdisk.c:601
+#: fdisk/fdisk.c:600
 msgid ""
 "Building a new DOS 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 ""
+"Neue DOS-Datenträgerkennung wird erstellt. Änderungen bleiben solange im\n"
+"Speicher, bis Sie sich entscheiden, sie auf die Festplatte zu schreiben.\n"
+"Danach kann der vorherige Inhalt nicht mehr wiederhergestellt werden.\n"
+"\n"
 
 # XXX
-#: fdisk/fdisk.c:637
+#: fdisk/fdisk.c:636
 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:646
+#: fdisk/fdisk.c:645
 #, c-format
 msgid "Note: sector size is %d (not %d)\n"
 msgstr "Hinweis: Die Sektorgröße ist %d (nicht %d)\n"
 
-#: fdisk/fdisk.c:694
+#: fdisk/fdisk.c:693
 msgid ""
 "Device contains neither a valid DOS partition table, nor Sun or SGI "
 "disklabel\n"
 msgstr ""
-"Das Gerät enthält weder eine gültige DOS-Partitionstabelle,\n"
-"noch einen Sun oder »SGI disklabel«\n"
+"Das Gerät enthält weder eine gültige DOS-Partitionstabelle\n"
+"noch eine Sun- oder SGI-Datenträgerkennung.\n"
 
-#: fdisk/fdisk.c:710
+#: fdisk/fdisk.c:709
 msgid "Internal error\n"
 msgstr "Interner Fehler\n"
 
-#: fdisk/fdisk.c:720
+#: fdisk/fdisk.c:719
 #, c-format
 msgid "Ignoring extra extended partition %d\n"
-msgstr "Ignoriere die zusätzliche erweiterte Partition %d\n"
+msgstr "Die zusätzliche erweiterte Partition %d wird ignoriert.\n"
 
-#: fdisk/fdisk.c:727
+#: fdisk/fdisk.c:726
 #, c-format
 msgid ""
 "Warning: invalid flag 0x%04x of partition table %d will be corrected by "
 "w(rite)\n"
 msgstr ""
+"Warnung: Ungültiges Flag 0x%04x der Partitionstabelle %d wird durch w "
+"(schreiben) ersetzt.\n"
 
-#: fdisk/fdisk.c:748
+#: fdisk/fdisk.c:747
 msgid ""
 "\n"
 "got EOF thrice - exiting..\n"
 msgstr ""
+"\n"
+"Dateiende (EOF) dreimal erhalten - Programm wird beendet.\n"
 
-#: fdisk/fdisk.c:785
+#: fdisk/fdisk.c:784
 msgid "Hex code (type L to list codes): "
-msgstr "Hex code (L um eine Liste anzuzeigen): "
+msgstr "Hexadezimalcode (L eingeben, um eine Liste anzuzeigen): "
 
-#: fdisk/fdisk.c:824
+#: fdisk/fdisk.c:823
 #, c-format
 msgid "%s (%d-%d, default %d): "
 msgstr "%s (%d-%d) [Standardwert: %d]: "
 
-#: fdisk/fdisk.c:878
+#: fdisk/fdisk.c:877
 #, c-format
 msgid "Using default value %d\n"
-msgstr "Benutze den Standardwert %d\n"
+msgstr "Standardwert %d wird verwendet.\n"
 
-#: fdisk/fdisk.c:882
+#: fdisk/fdisk.c:881
 msgid "Value out of range.\n"
-msgstr "Wert außerhalb des Bereichs.\n"
+msgstr "Wert außerhalb des gültigen Bereichs.\n"
 
-#: fdisk/fdisk.c:889
+#: fdisk/fdisk.c:888
 msgid "Partition number"
 msgstr "Partitionsnummer"
 
-#: fdisk/fdisk.c:897
+#: fdisk/fdisk.c:896
 #, c-format
 msgid "Warning: partition %d has empty type\n"
-msgstr ""
+msgstr "Warnung: Typ der Partition %d ist leer.\n"
 
-#: fdisk/fdisk.c:904
+#: fdisk/fdisk.c:903
 msgid "cylinder"
 msgstr "Zylinder"
 
-#: fdisk/fdisk.c:904
+#: fdisk/fdisk.c:903
 msgid "sector"
 msgstr "Sektor"
 
-#: fdisk/fdisk.c:913
+#: fdisk/fdisk.c:912
 #, 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:923
+#: fdisk/fdisk.c:922
 #, c-format
 msgid "WARNING: Partition %d is an extended partition\n"
-msgstr "WARNUNG: Partition %d ist eine erweiterte Partition\n"
+msgstr "WARNUNG: Partition %d ist eine erweiterte Partition.\n"
 
-#: fdisk/fdisk.c:936
+#: fdisk/fdisk.c:935
 msgid "DOS Compatibility flag is set\n"
-msgstr ""
+msgstr "Das DOS-Kompatibilitätsflag ist gesetzt.\n"
 
-#: fdisk/fdisk.c:940
+#: fdisk/fdisk.c:939
 msgid "DOS Compatibility flag is not set\n"
-msgstr ""
+msgstr "Das DOS-Kompatibilitätsflag ist nicht gesetzt.\n"
 
-#: fdisk/fdisk.c:1026
+#: fdisk/fdisk.c:1025
 #, c-format
 msgid "Partition %d does not exist yet!\n"
-msgstr "Partition %d existiert noch nicht!\n"
+msgstr "Die Partition %d existiert noch nicht!\n"
 
-#: fdisk/fdisk.c:1031
+#: fdisk/fdisk.c:1030
 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 bei vielen Systemen 'freier Platz'\n"
+"(jedoch nicht bei Linux). Eine Partition des Typs 0 wird\n"
+"daher nicht empfohlen. Sie können die Partition mit dem\n"
+"Befehl 'd' löschen.\n"
 
-#: fdisk/fdisk.c:1040
+#: fdisk/fdisk.c:1039
 msgid ""
 "You cannot change a partition into an extended one or vice versa\n"
 "Delete it first.\n"
 msgstr ""
+"Es ist nicht möglich, aus einer Partition eine erweiterte\n"
+"Partition zu machen (oder umgekehrt). Löschen Sie sie zuerst.\n"
 
-#: fdisk/fdisk.c:1049
+#: fdisk/fdisk.c:1048
 msgid ""
 "Consider leaving partition 3 as Whole disk (5),\n"
 "as SunOS/Solaris expects it and even Linux likes it.\n"
 "\n"
 msgstr ""
+"Es empfiehlt sich, für Partition 3 'Ganze Festplatte' (5) zu\n"
+"wählen, da SunOS/Solaris dies erwartet und auch Linux es bevorzugt.\n"
+"\n"
 
-#: fdisk/fdisk.c:1055
+#: fdisk/fdisk.c:1054
 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 empfiehlt sich, Partition 9 als Datenträgerkopf (0) zu\n"
+"belassen und Partition 11 als gesamten Datenträger (6) zu partitionieren,\n"
+"wie IRIX dies erwartet.\n"
+"\n"
 
-#: fdisk/fdisk.c:1069
+#: fdisk/fdisk.c:1068
 #, 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:1122
+#: fdisk/fdisk.c:1121
 #, c-format
 msgid "Partition %d has different physical/logical beginnings (non-Linux?):\n"
 msgstr ""
+"Physischer und logischer Anfang von Partition %d sind nicht identisch (keine "
+"Linux-Partition?):\n"
 
-#: fdisk/fdisk.c:1124 fdisk/fdisk.c:1132 fdisk/fdisk.c:1141 fdisk/fdisk.c:1150
+#: fdisk/fdisk.c:1123 fdisk/fdisk.c:1131 fdisk/fdisk.c:1140 fdisk/fdisk.c:1149
 #, c-format
 msgid "     phys=(%d, %d, %d) "
-msgstr ""
+msgstr "     physisch=(%d, %d, %d) "
 
-#: fdisk/fdisk.c:1125 fdisk/fdisk.c:1133
+#: fdisk/fdisk.c:1124 fdisk/fdisk.c:1132
 #, c-format
 msgid "logical=(%d, %d, %d)\n"
-msgstr ""
+msgstr "logisch=(%d, %d, %d)\n"
 
-#: fdisk/fdisk.c:1130
+#: fdisk/fdisk.c:1129
 #, c-format
 msgid "Partition %d has different physical/logical endings:\n"
-msgstr ""
+msgstr "Physisches und logisches Ende von Partition %d sind nicht identisch:\n"
 
-#: fdisk/fdisk.c:1139
+#: fdisk/fdisk.c:1138
 #, c-format
 msgid "Partition %i does not start on cylinder boundary:\n"
 msgstr "Partition %i beginnt nicht an einer Zylindergrenze:\n"
 
-#: fdisk/fdisk.c:1142
+#: fdisk/fdisk.c:1141
 #, c-format
 msgid "should be (%d, %d, 1)\n"
-msgstr ""
+msgstr "sollte (%d, %d, 1) lauten.\n"
 
-#: fdisk/fdisk.c:1148
+#: fdisk/fdisk.c:1147
 #, c-format
 msgid "Partition %i does not end on cylinder boundary:\n"
 msgstr "Partition %i endet nicht an einer Zylindergrenze:\n"
 
-#: fdisk/fdisk.c:1151
+#: fdisk/fdisk.c:1150
 #, c-format
 msgid "should be (%d, %d, %d)\n"
-msgstr ""
+msgstr "sollte (%d, %d, %d) lauten.\n"
 
-#: fdisk/fdisk.c:1158
+#: fdisk/fdisk.c:1157
 #, c-format
 msgid ""
 "\n"
@@ -2581,16 +2802,16 @@ msgstr ""
 
 #. FIXME! let's see how this shows up with other languagues
 #. acme@conectiva.com.br
-#: fdisk/fdisk.c:1195
+#: fdisk/fdisk.c:1194
 #, c-format
 msgid "%*s Boot    Start       End    Blocks   Id  System\n"
-msgstr "%*s boot.  Anfang      Ende    Blöcke   Id  Dateisystemtyp\n"
+msgstr "%*s Booten  Anfang      Ende   Blöcke   ID  Dateisystemtyp\n"
 
-#: fdisk/fdisk.c:1196 fdisk/fdisksgilabel.c:207 fdisk/fdisksunlabel.c:631
+#: fdisk/fdisk.c:1195 fdisk/fdisksgilabel.c:207 fdisk/fdisksunlabel.c:631
 msgid "Device"
 msgstr "Gerät"
 
-#: fdisk/fdisk.c:1236
+#: fdisk/fdisk.c:1235
 #, c-format
 msgid ""
 "\n"
@@ -2601,154 +2822,158 @@ msgstr ""
 "Festplatte %s: %d Köpfe, %d Sektoren, %d Zylinder\n"
 "\n"
 
-# Ist "Kp" eine gute Abkürzung für "Kopf" ?
-#: fdisk/fdisk.c:1238
-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:1237
+msgid "Nr AF  Hd Sec  Cyl  Hd Sec  Cyl    Start     Size ID\n"
+msgstr "Nr AF Kpf Sek  Zyl Kpf Sek  Zyl   Anfang   Größe ID\n"
 
-#: fdisk/fdisk.c:1277
+#: fdisk/fdisk.c:1276
 #, c-format
 msgid "Warning: partition %d contains sector 0\n"
 msgstr "Warnung: Partition %d enthält Sektor 0\n"
 
-#: fdisk/fdisk.c:1280
+#: fdisk/fdisk.c:1279
 #, c-format
 msgid "Partition %d: head %d greater than maximum %d\n"
-msgstr ""
+msgstr "Partition %d: Kopf %d größer als Höchstwert %d\n"
 
-#: fdisk/fdisk.c:1283
+#: fdisk/fdisk.c:1282
 #, c-format
 msgid "Partition %d: sector %d greater than maximum %d\n"
-msgstr ""
+msgstr "Partition %d: Sektor %d größer als Höchstwert %d\n"
 
-#: fdisk/fdisk.c:1286
+#: fdisk/fdisk.c:1285
 #, c-format
 msgid "Partitions %d: cylinder %d greater than maximum %d\n"
-msgstr ""
+msgstr "Partition %d: Zylinder %d größer als Höchstwert %d\n"
 
-#: fdisk/fdisk.c:1290
+#: fdisk/fdisk.c:1289
 #, c-format
 msgid "Partition %d: previous sectors %d disagrees with total %d\n"
 msgstr ""
+"Partition %d: vorherige Sektoren %d stimmen nicht mit Gesamtwert %d "
+"überein.\n"
 
-#: fdisk/fdisk.c:1320
+#: fdisk/fdisk.c:1319
 #, c-format
 msgid "Warning: bad start-of-data in partition %d\n"
-msgstr ""
+msgstr "Warnung: Ungültiger Datenanfang in Partition %d\n"
 
-#: fdisk/fdisk.c:1328
+#: fdisk/fdisk.c:1327
 #, c-format
 msgid "Warning: partition %d overlaps partition %d.\n"
-msgstr "Warnung: Partition %d überlappt mit Partition %d.\n"
+msgstr "Warnung: Partition %d überlappt sich mit Partition %d.\n"
 
-#: fdisk/fdisk.c:1346
+#: fdisk/fdisk.c:1345
 #, c-format
 msgid "Warning: partition %d is empty\n"
-msgstr "Warnung: Partition %d ist leer\n"
+msgstr "Warnung: Partition %d ist leer.\n"
 
-#: fdisk/fdisk.c:1351
+#: fdisk/fdisk.c:1350
 #, 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"
+"Logische Partition %d ist nicht vollständig in Partition %d enthalten.\n"
 
-#: fdisk/fdisk.c:1357
+#: fdisk/fdisk.c:1356
 #, c-format
 msgid "Total allocated sectors %d greater than the maximum %d\n"
-msgstr ""
+msgstr "Gesamtzahl zugewiesener Sektoren %d ist größer als der Höchstwert %d\n"
 
-#: fdisk/fdisk.c:1360
+#: fdisk/fdisk.c:1359
 #, c-format
 msgid "%d unallocated sectors\n"
-msgstr "%d unbenutzte Sektoren\n"
+msgstr "%d nicht zugewiesene Sektoren\n"
 
-#: fdisk/fdisk.c:1372 fdisk/fdisksgilabel.c:684 fdisk/fdisksunlabel.c:479
+#: fdisk/fdisk.c:1371 fdisk/fdisksgilabel.c:684 fdisk/fdisksunlabel.c:479
 #, c-format
 msgid "Partition %d is already defined.  Delete it before re-adding it.\n"
 msgstr ""
+"Partition %d ist bereits definiert. Löschen Sie sie, bevor Sie sie neu "
+"hinzufügen.\n"
 
 # %s can be "Sektor" or "Zylinder".
-#: fdisk/fdisk.c:1393 fdisk/fdiskbsdlabel.c:252 fdisk/fdisksgilabel.c:706
+#: fdisk/fdisk.c:1392 fdisk/fdiskbsdlabel.c:252 fdisk/fdisksgilabel.c:706
 #: fdisk/fdisksunlabel.c:494
 #, c-format
 msgid "First %s"
 msgstr "Erster %s"
 
-#: fdisk/fdisk.c:1408 fdisk/fdisksunlabel.c:519
+#: fdisk/fdisk.c:1407 fdisk/fdisksunlabel.c:519
 #, c-format
 msgid "Sector %d is already allocated\n"
-msgstr "Sektor %d wird bereits benutzt\n"
+msgstr "Sektor %d ist bereits zugewiesen.\n"
 
-#: fdisk/fdisk.c:1440
+#: fdisk/fdisk.c:1439
 msgid "No free sectors available\n"
-msgstr "Es sind keine freien Sektoren verfügbar\n"
+msgstr "Es sind keine freien Sektoren verfügbar.\n"
 
-#: fdisk/fdisk.c:1450 fdisk/fdiskbsdlabel.c:256 fdisk/fdisksunlabel.c:529
+#: fdisk/fdisk.c:1449 fdisk/fdiskbsdlabel.c:259 fdisk/fdisksunlabel.c:529
 #, c-format
 msgid "Last %s or +size or +sizeM or +sizeK"
 msgstr "Letzter %s oder +Größe, +GrößeK oder +GrößeM"
 
-#: fdisk/fdisk.c:1480
+#: fdisk/fdisk.c:1479
 #, c-format
 msgid "Warning: partition %d has an odd number of sectors.\n"
-msgstr "Warnung: Partition %d hat eine ungerade Anzahl an Sektoren.\n"
+msgstr "Warnung: Partition %d hat eine ungerade Anzahl Sektoren.\n"
 
-#: fdisk/fdisk.c:1517 fdisk/fdiskbsdlabel.c:591
+#: fdisk/fdisk.c:1516 fdisk/fdiskbsdlabel.c:593
 msgid "The maximum number of partitions has been created\n"
-msgstr "Die maximale Anzahl von Partitionen wurde erzeugt\n"
+msgstr "Die maximale Anzahl von Partitionen wurde erstellt.\n"
 
-#: fdisk/fdisk.c:1527
+#: fdisk/fdisk.c:1526
 msgid "You must delete some partition and add an extended partition first\n"
 msgstr ""
+"Löschen Sie zunächst eine Partition und fügen Sie eine erweiterte Partition "
+"hinzu.\n"
 
-#: fdisk/fdisk.c:1531
+#: fdisk/fdisk.c:1530
 #, c-format
 msgid ""
 "Command action\n"
 "   %s\n"
 "   p   primary partition (1-4)\n"
 msgstr ""
-"Kommando  Aktion\n"
+"Befehl  Aktion\n"
 "   %s\n"
 "   p      Primäre Partition (1-4)\n"
 
-#: fdisk/fdisk.c:1533
+#: fdisk/fdisk.c:1532
 msgid "l   logical (5 or over)"
 msgstr "l      Logische Partition (5 oder größer)"
 
-#: fdisk/fdisk.c:1533
+#: fdisk/fdisk.c:1532
 msgid "e   extended"
-msgstr "e      Erweiterte"
+msgstr "e      Erweiterte Partition"
 
-#: fdisk/fdisk.c:1550
+#: fdisk/fdisk.c:1549
 #, c-format
 msgid "Invalid partition number for type `%c'\n"
-msgstr "Ungültige Partitionsnummer für den Typ »%c«\n"
+msgstr "Ungültige Partitionsnummer für den Typ '%c'\n"
 
-#: fdisk/fdisk.c:1582
+#: fdisk/fdisk.c:1581
 msgid ""
 "The partition table has been altered!\n"
 "\n"
 msgstr ""
-"Die Partitionstabelle wurde verändert!\n"
+"Die Partitionstabelle wurde geändert!\n"
 "\n"
 
-#: fdisk/fdisk.c:1591
+#: fdisk/fdisk.c:1590
 msgid "Calling ioctl() to re-read partition table.\n"
-msgstr ""
+msgstr "ioctl() wird aufgerufen, um die Partitionstabelle erneut zu lesen.\n"
 
-#: fdisk/fdisk.c:1607
+#: fdisk/fdisk.c:1606
 #, c-format
 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, daß die Partitionstabelle neu "
-"gelesen wird.\n"
+"Fehler %d beim erneuten Lesen der Partitionstabelle: %s\n"
+"Starten Sie das System neu, um sicherzustellen, dass die Partitionstabelle "
+"aktualisiert wird.\n"
 
-#: fdisk/fdisk.c:1613
+#: fdisk/fdisk.c:1612
 msgid ""
 "\n"
 "WARNING: If you have created or modified any DOS 6.x\n"
@@ -2756,94 +2981,107 @@ msgid ""
 "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"
+"WARNUNG: Wenn Sie DOS 6.x-Partitionen angelegt oder\n"
+"geändert haben, finden Sie weitere Informationen in\n"
+"der Handbuchseite für fdisk (Befehl: 'man fdisk').\n"
 
-#: fdisk/fdisk.c:1620
+#: fdisk/fdisk.c:1619
 msgid "Syncing disks.\n"
-msgstr ""
+msgstr "Datenträger werden synchronisiert.\n"
 
-#: fdisk/fdisk.c:1651
+#: fdisk/fdisk.c:1650
 #, c-format
 msgid "Device: %s\n"
 msgstr "Gerät: %s\n"
 
-#: fdisk/fdisk.c:1666
+#: fdisk/fdisk.c:1665
 #, c-format
 msgid "Partition %d has no data area\n"
-msgstr "Partition %d hat keinen Datenbereich\n"
+msgstr "Partition %d hat keinen Datenbereich.\n"
 
-#: fdisk/fdisk.c:1672
+#: fdisk/fdisk.c:1671
 msgid "New beginning of data"
-msgstr ""
+msgstr "Neuer Datenanfang"
 
 # That sounds pretty ummm...
-#: fdisk/fdisk.c:1686
+#: fdisk/fdisk.c:1685
 msgid "Expert command (m for help): "
-msgstr "Expertenkommando (m für Hilfe): "
+msgstr "Expertenbefehl (m für Hilfe): "
 
-#: fdisk/fdisk.c:1697
+#: fdisk/fdisk.c:1696
 msgid "Number of cylinders"
 msgstr "Anzahl der Zylinder"
 
-#: fdisk/fdisk.c:1718
+#: fdisk/fdisk.c:1717
 msgid "Number of heads"
 msgstr "Anzahl der Köpfe"
 
-#: fdisk/fdisk.c:1743
+#: fdisk/fdisk.c:1742
 msgid "Number of sectors"
 msgstr "Anzahl der Sektoren"
 
-#: fdisk/fdisk.c:1746
+#: fdisk/fdisk.c:1745
 msgid "Warning: setting sector offset for DOS compatiblity\n"
-msgstr ""
+msgstr "Warnung: Sektoroffset wird für DOS-Kompatibilität festgelegt.\n"
 
-#: fdisk/fdisk.c:1808
+#: fdisk/fdisk.c:1807
 #, c-format
 msgid "Disk %s doesn't contain a valid partition table\n"
-msgstr "Festplatte %s enthält keine gültige Partitionstabelle\n"
+msgstr "Festplatte %s enthält keine gültige Partitionstabelle.\n"
 
-#: fdisk/fdisk.c:1822
+#: fdisk/fdisk.c:1821
 #, c-format
 msgid "Cannot open %s\n"
-msgstr "Konnte %s nicht öffnen\n"
+msgstr "%s konnte nicht geöffnet werden.\n"
+
+#: fdisk/fdisk.c:1838
+#, c-format
+msgid "cannot open %s\n"
+msgstr "%s konnte nicht geöffnet werden.\n"
 
-#: fdisk/fdisk.c:1887
+#: fdisk/fdisk.c:1911
 msgid "This kernel finds the sector size itself - -b option ignored\n"
 msgstr ""
+"Dieser Kernel erkennt die Sektorgröße selbst. Die Option -b wird ignoriert.\n"
 
-#: fdisk/fdisk.c:1890
+#: fdisk/fdisk.c:1914
 msgid ""
 "Warning: the -b (set sector size) option should be used with one specified "
 "device\n"
 msgstr ""
+"Warnung: die Option -b (Sektorgröße festlegen) muss mit einem angegebenen "
+"Gerät verwendet werden.\n"
 
-#: fdisk/fdisk.c:1948
+#: fdisk/fdisk.c:1973
 msgid "Command (m for help): "
-msgstr "Kommando (m für Hilfe): "
+msgstr "Befehl (m für Hilfe): "
 
-#: fdisk/fdisk.c:1962
+#: fdisk/fdisk.c:1987
 #, c-format
 msgid ""
 "\n"
 "The current boot file is: %s\n"
 msgstr ""
+"\n"
+"Die aktuelle Bootdatei ist: %s\n"
 
-#: fdisk/fdisk.c:1964
+#: fdisk/fdisk.c:1989
 msgid "Please enter the name of the new boot file: "
-msgstr ""
+msgstr "Geben Sie den Namen der neuen Bootdatei ein: "
 
-#: fdisk/fdisk.c:1966
+#: fdisk/fdisk.c:1991
 msgid "Boot file unchanged\n"
-msgstr ""
+msgstr "Bootdatei wurde nicht geändert.\n"
 
-#: fdisk/fdisk.c:2026
+#: fdisk/fdisk.c:2051
 msgid ""
 "\n"
 "\tSorry, no experts menu for SGI partition tables available.\n"
 "\n"
 msgstr ""
+"\n"
+"\tKein Expertenmenü für SGI-Partitionstabellen verfügbar.\n"
+"\n"
 
 #: fdisk/fdiskaixlabel.c:29
 msgid ""
@@ -2860,6 +3098,18 @@ msgid ""
 "\t   to remove the disk logically from your AIX\n"
 "\t   machine.  (Otherwise you become an AIXpert)."
 msgstr ""
+"\n"
+"\tDieser Datenträger enthält eine gültige AIX-Kennung.\n"
+"\tLinux kann diese Datenträger derzeit nicht handhaben.\n"
+"\tBeachten Sie die folgenden Hinweise:\n"
+"\t1. fdisk-Schreibvorgänge löschen den Inhalt des Datenträgers.\n"
+"\t2. Stellen Sie sicher, dass dieser Datenträger kein\n"
+"\t   unverzichtbarer Teil einer Datenträgergruppe ist.\n"
+"\t   (Wenn Datenträger nicht gespiegelt sind, werden die\n"
+"\t   anderen Datenträger möglicherweise ebenfalls gelöscht.)\n"
+"\t3. Entfernen Sie den logischen Datenträger vor dem Löschen\n"
+"\t   des physischen Datenträgers aus dem AIX-Rechner.\n"
+"\t   (Anderenfalls werden Sie zu einem AIXperten.)"
 
 #: fdisk/fdiskbsdlabel.c:97
 #, c-format
@@ -2868,7 +3118,7 @@ msgid ""
 "BSD label for device: %s\n"
 msgstr ""
 "\n"
-"»BSD label« von %s\n"
+"BSD-Datenträgerkennung von %s\n"
 
 #: fdisk/fdiskbsdlabel.c:106
 msgid "   d   delete a BSD partition"
@@ -2876,11 +3126,11 @@ msgstr "   d   Eine BSD-Partition l
 
 #: fdisk/fdiskbsdlabel.c:107
 msgid "   e   edit drive data"
-msgstr ""
+msgstr "   e   Laufwerksdaten bearbeiten"
 
 #: fdisk/fdiskbsdlabel.c:108
 msgid "   i   install bootstrap"
-msgstr ""
+msgstr "   i   Bootinformationen installieren"
 
 #: fdisk/fdiskbsdlabel.c:109
 msgid "   l   list known filesystem types"
@@ -2888,146 +3138,146 @@ msgstr "   l   Die bekannten Dateisystemtypen anzeigen"
 
 #: fdisk/fdiskbsdlabel.c:111
 msgid "   n   add a new BSD partition"
-msgstr "   n   Eine neue BSD-Partition anlegen"
+msgstr "   n   Eine neue BSD-Partition hinzufügen"
 
 #: fdisk/fdiskbsdlabel.c:112
 msgid "   p   print BSD partition table"
-msgstr "   p   Die BSD-Partitionstabelle anzeigen"
+msgstr "   p   Die BSD-Partitionstabelle ausgeben"
 
 #: fdisk/fdiskbsdlabel.c:117
 msgid "   s   show complete disklabel"
-msgstr ""
+msgstr "   s   Die vollständige Datenträgerkennung anzeigen"
 
 #: fdisk/fdiskbsdlabel.c:118
 msgid "   t   change a partition's filesystem id"
-msgstr "   t   Den Dateisystemtyp einer Partition ändern"
+msgstr "   t   Die Dateisystemkennung einer Partition ändern"
 
 #: fdisk/fdiskbsdlabel.c:119
 msgid "   w   write disklabel to disk"
-msgstr ""
+msgstr "   w   Die Datenträgerkennung auf die Festplatte schreiben"
 
 #: fdisk/fdiskbsdlabel.c:121
 msgid "   x   link BSD partition to non-BSD partition"
-msgstr ""
+msgstr "   x   Die BSD-Partition mit einer Nicht-BSD-Partition verknüpfen"
 
 #: fdisk/fdiskbsdlabel.c:146
 #, c-format
 msgid "Partition %s%d has invalid starting sector 0.\n"
-msgstr ""
+msgstr "Die Partition %s%d enthält einen ungültigen Startsektor 0.\n"
 
 #: fdisk/fdiskbsdlabel.c:150
 #, c-format
 msgid "Reading disklabel of %s%d at sector %d.\n"
-msgstr ""
+msgstr "Datenträgerkennung von %s%d bei Sektor %d wird gelesen.\n"
 
 #: fdisk/fdiskbsdlabel.c:159
 #, c-format
 msgid "There is no *BSD partition on %s.\n"
-msgstr ""
+msgstr "%s enthält keine *BSD-Partition.\n"
 
 #: fdisk/fdiskbsdlabel.c:174
 msgid "BSD disklabel command (m for help): "
-msgstr "»BSD disklabel« Kommando (m für Hilfe): "
+msgstr "Befehl 'BSD disklabel' (m für Hilfe): "
 
-#: fdisk/fdiskbsdlabel.c:286
+#: fdisk/fdiskbsdlabel.c:288
 #, c-format
 msgid "type: %s\n"
 msgstr "Typ: %s\n"
 
-#: fdisk/fdiskbsdlabel.c:288
+#: fdisk/fdiskbsdlabel.c:290
 #, c-format
 msgid "type: %d\n"
 msgstr "Typ: %d\n"
 
-#: fdisk/fdiskbsdlabel.c:289
+#: fdisk/fdiskbsdlabel.c:291
 #, c-format
 msgid "disk: %.*s\n"
 msgstr "Festplatte: %.*s\n"
 
-#: fdisk/fdiskbsdlabel.c:290
+#: fdisk/fdiskbsdlabel.c:292
 #, c-format
 msgid "label: %.*s\n"
-msgstr ""
+msgstr "Kennung: %.*s\n"
 
 # I currently don't know a better translation
-#: fdisk/fdiskbsdlabel.c:291
+#: fdisk/fdiskbsdlabel.c:293
 msgid "flags:"
 msgstr "Flags:"
 
-#: fdisk/fdiskbsdlabel.c:293
+#: fdisk/fdiskbsdlabel.c:295
 msgid " removable"
-msgstr ""
+msgstr " removable"
 
-#: fdisk/fdiskbsdlabel.c:295
+#: fdisk/fdiskbsdlabel.c:297
 msgid " ecc"
-msgstr ""
+msgstr " ecc"
 
-#: fdisk/fdiskbsdlabel.c:297
+#: fdisk/fdiskbsdlabel.c:299
 msgid " badsect"
-msgstr ""
+msgstr " badsect"
 
 #. On various machines the fields of *lp are short/int/long
 #. In order to avoid problems, we cast them all to long.
-#: fdisk/fdiskbsdlabel.c:301
+#: fdisk/fdiskbsdlabel.c:303
 #, c-format
 msgid "bytes/sector: %ld\n"
 msgstr "Bytes/Sektor: %ld\n"
 
-#: fdisk/fdiskbsdlabel.c:302
+#: fdisk/fdiskbsdlabel.c:304
 #, c-format
 msgid "sectors/track: %ld\n"
 msgstr "Sektoren/Spur: %ld\n"
 
-#: fdisk/fdiskbsdlabel.c:303
+#: fdisk/fdiskbsdlabel.c:305
 #, c-format
 msgid "tracks/cylinder: %ld\n"
 msgstr "Spuren/Zylinder: %ld\n"
 
-#: fdisk/fdiskbsdlabel.c:304
+#: fdisk/fdiskbsdlabel.c:306
 #, c-format
 msgid "sectors/cylinder: %ld\n"
 msgstr "Sektoren/Zylinder: %ld\n"
 
-#: fdisk/fdiskbsdlabel.c:305
+#: fdisk/fdiskbsdlabel.c:307
 #, c-format
 msgid "cylinders: %ld\n"
 msgstr "Zylinder: %ld\n"
 
-#: fdisk/fdiskbsdlabel.c:306
+#: fdisk/fdiskbsdlabel.c:308
 #, c-format
 msgid "rpm: %d\n"
-msgstr ""
+msgstr "Drehzahl: %d\n"
 
-#: fdisk/fdiskbsdlabel.c:307
+#: fdisk/fdiskbsdlabel.c:309
 #, c-format
 msgid "interleave: %d\n"
-msgstr ""
+msgstr "Interleave-Faktor: %d\n"
 
-#: fdisk/fdiskbsdlabel.c:308
+#: fdisk/fdiskbsdlabel.c:310
 #, c-format
 msgid "trackskew: %d\n"
-msgstr ""
+msgstr "Trackskew: %d\n"
 
-#: fdisk/fdiskbsdlabel.c:309
+#: fdisk/fdiskbsdlabel.c:311
 #, c-format
 msgid "cylinderskew: %d\n"
-msgstr ""
+msgstr "Cylinderskew: %d\n"
 
-#: fdisk/fdiskbsdlabel.c:310
+#: fdisk/fdiskbsdlabel.c:312
 #, c-format
 msgid "headswitch: %ld\t\t# milliseconds\n"
-msgstr ""
+msgstr "Kopfwechsel: %ld\t\t ms\n"
 
-#: fdisk/fdiskbsdlabel.c:311
+#: fdisk/fdiskbsdlabel.c:313
 #, c-format
 msgid "track-to-track seek: %ld\t# milliseconds\n"
-msgstr ""
+msgstr "Spurensuchzeit: %ld\t ms\n"
 
-#: fdisk/fdiskbsdlabel.c:312
+#: fdisk/fdiskbsdlabel.c:314
 msgid "drivedata: "
-msgstr ""
+msgstr "Laufwerksdaten: "
 
-#: fdisk/fdiskbsdlabel.c:321
+#: fdisk/fdiskbsdlabel.c:323
 #, c-format
 msgid ""
 "\n"
@@ -3036,116 +3286,118 @@ msgstr ""
 "\n"
 "%d Partitionen:\n"
 
-#: fdisk/fdiskbsdlabel.c:322
+#: fdisk/fdiskbsdlabel.c:324
 msgid "#        size   offset    fstype   [fsize bsize   cpg]\n"
-msgstr ""
+msgstr "#        Größe  Offset    Dateisys [fsize bsize   cpg]\n"
 
-#: fdisk/fdiskbsdlabel.c:378
+#: fdisk/fdiskbsdlabel.c:380
 #, c-format
 msgid "Writing disklabel to %s%d.\n"
-msgstr "Schreibe »disklabel« auf %s%d.\n"
+msgstr "Datenträgerkennung wird auf %s%d geschrieben.\n"
 
-#: fdisk/fdiskbsdlabel.c:381
+#: fdisk/fdiskbsdlabel.c:383
 #, c-format
 msgid "Writing disklabel to %s.\n"
-msgstr "Schreibe »disklabel« auf %s.\n"
+msgstr "Datenträgerkennung wird auf %s geschrieben.\n"
 
-#: fdisk/fdiskbsdlabel.c:393
+#: fdisk/fdiskbsdlabel.c:395
 #, c-format
 msgid "%s%d contains no disklabel.\n"
-msgstr "%s%d enthält keinen »disklabel«.\n"
+msgstr "%s%d enthält keine Datenträgerkennung.\n"
 
-#: fdisk/fdiskbsdlabel.c:396
+#: fdisk/fdiskbsdlabel.c:398
 #, c-format
 msgid "%s contains no disklabel.\n"
-msgstr "%s enthält keinen »disklabel«.\n"
+msgstr "%s enthält keine Datenträgerkennung.\n"
 
-#: fdisk/fdiskbsdlabel.c:400
+#: fdisk/fdiskbsdlabel.c:402
 msgid "Do you want to create a disklabel? (y/n) "
-msgstr "Wollen Sie einen »disklabel« anlegen (y/n)? "
+msgstr "Möchten Sie eine Datenträgerkennung anlegen (j/n)? "
 
-#: fdisk/fdiskbsdlabel.c:439
+#: fdisk/fdiskbsdlabel.c:441
 msgid "bytes/sector"
 msgstr "Bytes/Sektor"
 
-#: fdisk/fdiskbsdlabel.c:440
+#: fdisk/fdiskbsdlabel.c:442
 msgid "sectors/track"
 msgstr "Sektoren/Spur"
 
-#: fdisk/fdiskbsdlabel.c:441
+#: fdisk/fdiskbsdlabel.c:443
 msgid "tracks/cylinder"
 msgstr "Spuren/Zylinder"
 
-#: fdisk/fdiskbsdlabel.c:449
+#: fdisk/fdiskbsdlabel.c:451
 msgid "sectors/cylinder"
 msgstr "Sektoren/Zylinder"
 
-#: fdisk/fdiskbsdlabel.c:453
+#: fdisk/fdiskbsdlabel.c:455
 msgid "Must be <= sectors/track * tracks/cylinder (default).\n"
-msgstr ""
+msgstr "Muss <= Sektoren/Spur * Spuren/Zylinder sein (Standard).\n"
 
-#: fdisk/fdiskbsdlabel.c:455
+#: fdisk/fdiskbsdlabel.c:457
 msgid "rpm"
-msgstr ""
+msgstr "U/min"
 
-#: fdisk/fdiskbsdlabel.c:456
+#: fdisk/fdiskbsdlabel.c:458
 msgid "interleave"
-msgstr ""
+msgstr "Interleave-Faktor"
 
-#: fdisk/fdiskbsdlabel.c:457
+#: fdisk/fdiskbsdlabel.c:459
 msgid "trackskew"
-msgstr ""
+msgstr "Trackskew"
 
-#: fdisk/fdiskbsdlabel.c:458
+#: fdisk/fdiskbsdlabel.c:460
 msgid "cylinderskew"
-msgstr ""
+msgstr "Cylinderskew"
 
-#: fdisk/fdiskbsdlabel.c:459
+#: fdisk/fdiskbsdlabel.c:461
 msgid "headswitch"
-msgstr ""
+msgstr "Kopfwechsel"
 
-#: fdisk/fdiskbsdlabel.c:460
+#: fdisk/fdiskbsdlabel.c:462
 msgid "track-to-track seek"
-msgstr ""
+msgstr "Spurensuchzeit"
 
-#: fdisk/fdiskbsdlabel.c:501
+#: fdisk/fdiskbsdlabel.c:503
 #, c-format
 msgid "Bootstrap: %sboot -> boot%s (%s): "
-msgstr ""
+msgstr "Bootinformationen: %sboot -> boot%s (%s): "
 
-#: fdisk/fdiskbsdlabel.c:527
+#: fdisk/fdiskbsdlabel.c:529
 msgid "Bootstrap overlaps with disk label!\n"
-msgstr ""
+msgstr "Bootinformationen überlappen sich mit Datenträgerkennung!\n"
 
-#: fdisk/fdiskbsdlabel.c:548
+#: fdisk/fdiskbsdlabel.c:550
 #, c-format
 msgid "Bootstrap installed on %s%d.\n"
-msgstr ""
+msgstr "Bootinformationen installiert auf %s%d.\n"
 
-#: fdisk/fdiskbsdlabel.c:550
+#: fdisk/fdiskbsdlabel.c:552
 #, c-format
 msgid "Bootstrap installed on %s.\n"
-msgstr ""
+msgstr "Bootinformationen installiert auf %s.\n"
 
-#: fdisk/fdiskbsdlabel.c:571
+#: fdisk/fdiskbsdlabel.c:573
 #, c-format
 msgid "Partition (a-%c): "
 msgstr "Partition (a-%c): "
 
-#: fdisk/fdiskbsdlabel.c:602
+#: fdisk/fdiskbsdlabel.c:604
 msgid "This partition already exists.\n"
 msgstr "Diese Partition existiert bereits.\n"
 
-#: fdisk/fdiskbsdlabel.c:724
+#: fdisk/fdiskbsdlabel.c:726
 #, c-format
 msgid "Warning: too many partitions (%d, maximum is %d).\n"
-msgstr ""
+msgstr "Warnung: zu viele Partitionen (%d, Höchstzahl ist %d).\n"
 
-#: fdisk/fdiskbsdlabel.c:770
+#: fdisk/fdiskbsdlabel.c:772
 msgid ""
 "\n"
 "Syncing disks.\n"
 msgstr ""
+"\n"
+"Festplatten werden synchronisiert.\n"
 
 #: fdisk/fdisksgilabel.c:56
 msgid "SGI volhdr"
@@ -3202,21 +3454,23 @@ msgstr "SGI rxlvol"
 #. Minix 1.4b and later
 #: fdisk/fdisksgilabel.c:69 fdisk/fdisksunlabel.c:52 fdisk/i386_sys_types.c:55
 msgid "Linux swap"
-msgstr "Linux Swap"
+msgstr "Linux (Auslagerung)"
 
 #: fdisk/fdisksgilabel.c:70 fdisk/fdisksunlabel.c:53
 msgid "Linux native"
-msgstr "Linux native"
+msgstr "Linux (systemeigen)"
 
 #: fdisk/fdisksgilabel.c:143
 msgid ""
 "According to MIPS Computer Systems, Inc the Label must not contain more than "
 "512 bytes\n"
 msgstr ""
+"Gemäß MIPS Computer Systems, Inc. darf die Datenträgerkennung maximal 512 "
+"Byte umfassen.\n"
 
 #: fdisk/fdisksgilabel.c:162
 msgid "Detected sgi disklabel with wrong checksum.\n"
-msgstr ""
+msgstr "sgi-Datenträgerkennung mit fehlerhafter Prüfsumme vorhanden.\n"
 
 #: fdisk/fdisksgilabel.c:186
 #, c-format
@@ -3229,6 +3483,13 @@ msgid ""
 "Units = %s of %d * 512 bytes\n"
 "\n"
 msgstr ""
+"\n"
+"Festplatte %s (SGI-Datenträgerkennung): %d Köpfe, %d Sektoren\n"
+"%d Zylinder, %d physische Zylinder\n"
+"%d extra Sektoren/Zylinder, Interleave-Faktor %d:1\n"
+"%s\n"
+"Einheiten = %s mit %d * 512 Bytes\n"
+"\n"
 
 #: fdisk/fdisksgilabel.c:199
 #, c-format
@@ -3239,7 +3500,7 @@ msgid ""
 "\n"
 msgstr ""
 "\n"
-"Festplatte %s (»SGI disklabel«): %d Köpfe, %d Sektoren, %d Zylinder\n"
+"Festplatte %s (SGI-Datenträgerkennung): %d Köpfe, %d Sektoren, %d Zylinder\n"
 "Einheiten: %s mit %d * 512 Bytes\n"
 "\n"
 
@@ -3249,6 +3510,8 @@ msgid ""
 "----- partitions -----\n"
 "%*s  Info      Start       End   Sectors  Id  System\n"
 msgstr ""
+"----- Partitionen -----\n"
+"%*s  Info      Start       Ende  Sektoren ID  System\n"
 
 #: fdisk/fdisksgilabel.c:227
 #, c-format
@@ -3257,11 +3520,14 @@ msgid ""
 "Bootfile: %s\n"
 "----- directory entries -----\n"
 msgstr ""
+"----- Bootinfo -----\n"
+"Boot-Datei: %s\n"
+"---- Verzeichniseinträge ----\n"
 
 #: fdisk/fdisksgilabel.c:237
 #, c-format
 msgid "%2d: %-10s sector%5u size%8u\n"
-msgstr ""
+msgstr "%2d: %-10s Sektor%5u Größe%8u\n"
 
 #: fdisk/fdisksgilabel.c:298
 msgid ""
@@ -3270,18 +3536,27 @@ msgid ""
 "\tThe bootfile must be an absolute non-zero pathname,\n"
 "\te.g. \"/unix\" or \"/unix.save\".\n"
 msgstr ""
+"\n"
+"Ungültige Boot-Datei!\n"
+"\tDie Boot-Datei muss in Form einer absoluten,\n"
+"\tnicht-leeren Pfadbezeichnung angegeben werden,\n"
+"\tz. B. '/unix' oder '/unix.save'.\n"
 
 #: fdisk/fdisksgilabel.c:305
 msgid ""
 "\n"
 "\tName of Bootfile too long:  16 bytes maximum.\n"
 msgstr ""
+"\n"
+"\tDer Name der Boot-Datei ist zu lang (max. 16 Byte zulässig).\n"
 
 #: fdisk/fdisksgilabel.c:310
 msgid ""
 "\n"
 "\tBootfile must have a fully qualified pathname.\n"
 msgstr ""
+"\n"
+"\tDie Boot-Datei muss als vollqualifizierter Pfadname angegeben werden.\n"
 
 #: fdisk/fdisksgilabel.c:315
 msgid ""
@@ -3289,6 +3564,9 @@ msgid ""
 "\tBe aware, that the bootfile is not checked for existence.\n"
 "\tSGI's default is \"/unix\" and for backup \"/unix.save\".\n"
 msgstr ""
+"\n"
+"\tAchtung: Es wird nicht geprüft, ob die Boot-Datei vorhanden ist.\n"
+"\tDer SGI-Standardpfad ist '/unix' bzw. '/unix.save' (Sicherung).\n"
 
 #: fdisk/fdisksgilabel.c:343
 #, c-format
@@ -3296,18 +3574,20 @@ msgid ""
 "\n"
 "\tBootfile is changed to \"%s\".\n"
 msgstr ""
+"\n"
+"\tDie Boot-Datei ist jetzt '%s'.\n"
 
 #: fdisk/fdisksgilabel.c:448
 msgid "More than one entire disk entry present.\n"
-msgstr ""
+msgstr "Es sind mehrere vollständige Festplatteneinträge vorhanden.\n"
 
 #: fdisk/fdisksgilabel.c:456 fdisk/fdisksunlabel.c:455
 msgid "No partitions defined\n"
-msgstr ""
+msgstr "Es wurden keine Partitionen definiert.\n"
 
 #: fdisk/fdisksgilabel.c:463
 msgid "IRIX likes when Partition 11 covers the entire disk.\n"
-msgstr ""
+msgstr "IRIX bevorzugt, dass Partition 11 die gesamte Festplatte umfasst.\n"
 
 #: fdisk/fdisksgilabel.c:465
 #, c-format
@@ -3315,6 +3595,8 @@ msgid ""
 "The entire disk partition should start at block 0,\n"
 "not at diskblock %d.\n"
 msgstr ""
+"Die gesamte Festplattenpartition muss bei Block 0,\n"
+"nicht bei Festplattenblock %d beginnen.\n"
 
 #: fdisk/fdisksgilabel.c:469
 #, c-format
@@ -3322,56 +3604,65 @@ msgid ""
 "The entire disk partition is only %d diskblock large,\n"
 "but the disk is %d diskblocks long.\n"
 msgstr ""
+"Die gesamte Festplattenpartition umfasst nur %d Blöcke,\n"
+"doch die Festplatte ist %d Blöcke lang.\n"
 
 #: fdisk/fdisksgilabel.c:476
 msgid "One Partition (#11) should cover the entire disk.\n"
-msgstr ""
+msgstr "Eine Partition (11) muss die gesamte Festplatte umfassen.\n"
 
 #: fdisk/fdisksgilabel.c:488
 #, c-format
 msgid "Partition %d does not start on cylinder boundary.\n"
-msgstr ""
+msgstr "Partition %d beginnt nicht an einer Zylindergrenze.\n"
 
 #: fdisk/fdisksgilabel.c:495
 #, c-format
 msgid "Partition %d does not end on cylinder boundary.\n"
-msgstr ""
+msgstr "Partition %d endet nicht an einer Zylindergrenze.\n"
 
 #: fdisk/fdisksgilabel.c:503
 #, c-format
 msgid "The Partition %d and %d overlap by %d sectors.\n"
-msgstr ""
+msgstr "Die Partitionen %d und %d überlappen einander (%d Sektoren).\n"
 
 #: fdisk/fdisksgilabel.c:512 fdisk/fdisksgilabel.c:532
 #, c-format
 msgid "Unused gap of %8d sectors - sectors %8d-%d\n"
-msgstr ""
+msgstr "Unbenutzter Bereich mit einer Größe von %8d Sektoren - Sektor %8d-%d\n"
 
 #: fdisk/fdisksgilabel.c:545
 msgid ""
 "\n"
 "The boot partition does not exist.\n"
 msgstr ""
+"\n"
+"Keine Boot-Partition vorhanden.\n"
 
 #: fdisk/fdisksgilabel.c:549
 msgid ""
 "\n"
 "The swap partition does not exist.\n"
 msgstr ""
+"\n"
+"Keine Auslagerungspartition vorhanden.\n"
 
 #: fdisk/fdisksgilabel.c:554
 msgid ""
 "\n"
 "The swap partition has no swap type.\n"
 msgstr ""
+"\n"
+"Die Auslagerungspartition hat keinen Auslagerungstyp.\n"
 
 #: fdisk/fdisksgilabel.c:558
 msgid "\tYou have chosen an unusual boot file name.\n"
-msgstr ""
+msgstr "\tSie haben einen ungewöhnlichen Namen für die Boot-Datei gewählt.\n"
 
 #: fdisk/fdisksgilabel.c:569
 msgid "Sorry You may change the Tag of non-empty partitions.\n"
 msgstr ""
+"Die Markierung kann nur geändert werden, wenn die Partition nicht leer ist.\n"
 
 #: fdisk/fdisksgilabel.c:576
 msgid ""
@@ -3381,38 +3672,53 @@ msgid ""
 "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 wird empfohlen, für die Partition bei Offset 0 den\n"
+"Typ 'SGI volhdr' zu wählen, da das IRIX-System sie benötigt, um\n"
+"eigenständige Programme wie sash und fx aus seinem Verzeichnis\n"
+"abzurufen. Diese Bedingung wird nur dann verletzt, wenn 'SGI volume'\n"
+"auf den gesamten Datenträger angewandt wird. Geben Sie JA ein, wenn\n"
+"Sie sicher sind, dass Sie diese Partition anders markieren möchten.\n"
 
 #. rebuild freelist
 #: fdisk/fdisksgilabel.c:621
 msgid "Do You know, You got a partition overlap on the disk?\n"
-msgstr ""
+msgstr "Partitionen auf der Festplatte überlappen einander.\n"
 
 #: fdisk/fdisksgilabel.c:691
 msgid "Attempting to generate entire disk entry automatically.\n"
 msgstr ""
+"Es wird versucht, den gesamten Festplatteneintrag automatisch zu "
+"generieren.\n"
 
 #: fdisk/fdisksgilabel.c:698
 msgid "The entire disk is already covered with partitions.\n"
-msgstr ""
+msgstr "Die gesamte Festplatte ist bereits partitioniert.\n"
 
 #: fdisk/fdisksgilabel.c:703
 msgid "You got a partition overlap on the disk. Fix it first!\n"
 msgstr ""
+"Partitionen auf der Festplatte überlappen einander. Beheben Sie dies "
+"zuerst!\n"
 
 #: fdisk/fdisksgilabel.c:712 fdisk/fdisksgilabel.c:741
 msgid ""
 "It is highly recommended that eleventh partition\n"
 "covers the entire disk and is of type `SGI volume'\n"
 msgstr ""
+"Es wird unbedingt empfohlen, die 11. Partition so zu\n"
+"konfigurieren, dass sie die gesamte Festplatte umfasst\n"
+"und den Typ 'SGI volume' aufweist.\n"
 
 #: fdisk/fdisksgilabel.c:728
 msgid "You will get a partition overlap on the disk. Fix it first!\n"
 msgstr ""
+"Dies führt zu überlappenden Partitionen auf der Festplatte. Beheben Sie dies "
+"zunächst!\n"
 
 #: fdisk/fdisksgilabel.c:733
 #, c-format
 msgid " Last %s"
-msgstr ""
+msgstr "Letzter %s"
 
 #: fdisk/fdisksgilabel.c:756
 msgid ""
@@ -3421,16 +3727,20 @@ msgid ""
 "content will be unrecoverable lost.\n"
 "\n"
 msgstr ""
+"Neue SGI-Datenträgerkennung wird erstellt. Die Änderungen befinden\n"
+"sich nur im Speicher, bis Sie sie auf die Festplatte schreiben. Danach\n"
+"ist der vorherige Inhalt unwiderruflich verloren.\n"
+"\n"
 
 #: fdisk/fdisksgilabel.c:784
 #, c-format
 msgid "Trying to keep parameters of partition %d.\n"
-msgstr ""
+msgstr "Es wird versucht, die Parameter der Partition %d beizubehalten.\n"
 
 #: fdisk/fdisksgilabel.c:786
 #, c-format
 msgid "ID=%02x\tSTART=%d\tLENGTH=%d\n"
-msgstr ""
+msgstr "ID=%02x\tSTART=%d\tLÄNGE=%d\n"
 
 #: fdisk/fdisksunlabel.c:43 fdisk/i386_sys_types.c:6
 msgid "Empty"
@@ -3450,7 +3760,7 @@ msgstr "SunOS usr"
 
 #: fdisk/fdisksunlabel.c:48
 msgid "Whole disk"
-msgstr ""
+msgstr "Ganze Festplatte"
 
 #: fdisk/fdisksunlabel.c:49
 msgid "SunOS stand"
@@ -3471,11 +3781,15 @@ msgid ""
 "e.g. heads, sectors, cylinders and partitions\n"
 "or force a fresh label (s command in main menu)\n"
 msgstr ""
+"Es wurde eine Sun-Datenträgerkennung mit einer in-\n"
+"korrekten Prüfsumme erkannt. Sie müssen alle Werte\n"
+"(Köpfe, Sektoren, Zylinder, Partitionen usw.) angeben\n"
+"oder eine neue Kennung forcieren (Befehl s im Hauptmenü).\n"
 
 #: fdisk/fdisksunlabel.c:215
 #, c-format
 msgid "Autoconfigure found a %s%s%s\n"
-msgstr ""
+msgstr "Die automatische Konfiguration fand ein %s%s%s\n"
 
 #: fdisk/fdisksunlabel.c:242
 msgid ""
@@ -3484,6 +3798,10 @@ msgid ""
 "content won't be recoverable.\n"
 "\n"
 msgstr ""
+"Neue Sun-Datenträgerkennung wird erstellt. Die Änderungen befinden\n"
+"sich nur im Speicher, bis Sie sie auf die Festplatte schreiben. Danach\n"
+"ist der vorherige Inhalt unwiderruflich verloren.\n"
+"\n"
 
 #: fdisk/fdisksunlabel.c:253
 msgid ""
@@ -3491,14 +3809,18 @@ msgid ""
 "   ?   auto configure\n"
 "   0   custom (with hardware detected defaults)"
 msgstr ""
+"Laufwerktyp\n"
+"   ?   automatisch konfigurieren\n"
+"   0   benutzerspezifisch (mit den Standardwerten der Hardware-Erkennung)"
 
 #: fdisk/fdisksunlabel.c:263
 msgid "Select type (? for auto, 0 for custom): "
 msgstr ""
+"Wählen Sie einen Typ (? für 'automatisch', 0 für 'benutzerspezifisch'): "
 
 #: fdisk/fdisksunlabel.c:275
 msgid "Autoconfigure failed.\n"
-msgstr ""
+msgstr "Automatische Konfiguration nicht erfolgreich.\n"
 
 #: fdisk/fdisksunlabel.c:303
 msgid "Sectors/track"
@@ -3506,35 +3828,35 @@ msgstr "Sektoren/Spur"
 
 #: fdisk/fdisksunlabel.c:310
 msgid "Alternate cylinders"
-msgstr ""
+msgstr "Alternative Zylinder"
 
 #: fdisk/fdisksunlabel.c:313
 msgid "Physical cylinders"
-msgstr ""
+msgstr "Physische Zylinder"
 
 #: fdisk/fdisksunlabel.c:316 fdisk/fdisksunlabel.c:681
 msgid "Rotation speed (rpm)"
-msgstr ""
+msgstr "Drehzahl (U/min)"
 
 #: fdisk/fdisksunlabel.c:318 fdisk/fdisksunlabel.c:674
 msgid "Interleave factor"
-msgstr ""
+msgstr "Interleave-Faktor"
 
 #: fdisk/fdisksunlabel.c:321 fdisk/fdisksunlabel.c:667
 msgid "Extra sectors per cylinder"
-msgstr ""
+msgstr "Zusätzliche Sektoren pro Zylinder"
 
 #: fdisk/fdisksunlabel.c:334
 msgid "You may change all the disk params from the x menu"
-msgstr ""
+msgstr "Alle Festplattenparameter können im Menü 'x' geändert werden."
 
 #: fdisk/fdisksunlabel.c:337
 msgid "3,5\" floppy"
-msgstr ""
+msgstr "3,5-Zoll-Diskette"
 
 #: fdisk/fdisksunlabel.c:337
 msgid "Linux custom"
-msgstr "Linux custom"
+msgstr "Linux benutzerspezifisch"
 
 #: fdisk/fdisksunlabel.c:418
 #, c-format
@@ -3544,7 +3866,7 @@ msgstr "Partition %d endet nicht an einer Zylindergrenze\n"
 #: fdisk/fdisksunlabel.c:438
 #, c-format
 msgid "Partition %d overlaps with others in sectors %d-%d\n"
-msgstr ""
+msgstr "Partition %d überlappt sich mit anderen Partitionen in Sektor %d-%d\n"
 
 #: fdisk/fdisksunlabel.c:460
 #, c-format
@@ -3561,6 +3883,8 @@ msgid ""
 "Other partitions already cover the whole disk.\n"
 "Delete some/shrink them before retry.\n"
 msgstr ""
+"Andere Partitionen erstrecken sich bereits über die ganze Festplatte.\n"
+"Löschen oder verkleinern Sie diese, und wiederholen Sie den Vorgang.\n"
 
 #: fdisk/fdisksunlabel.c:547
 #, c-format
@@ -3569,6 +3893,9 @@ msgid ""
 "%d %s covers some other partition. Your entry has been changed\n"
 "to %d %s\n"
 msgstr ""
+"Die 3. Partition umfasst nicht die gesamte Festplatte, doch der Wert\n"
+"%d %s greift auf eine andere Partition über. Ihre Eingabe wurde in\n"
+"%d %s geändert.\n"
 
 #: fdisk/fdisksunlabel.c:567
 #, c-format
@@ -3576,6 +3903,9 @@ 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 ""
+"Um Kompatibilität mit SunOS/Solaris zu wahren, behalten Sie für diese\n"
+"Partition die Einstellung 'Ganze Festplatte' (5) mit dem Anfangswert\n"
+"0 und %u Sektoren bei.\n"
 
 #: fdisk/fdisksunlabel.c:580
 msgid ""
@@ -3585,6 +3915,12 @@ msgid ""
 "Type YES if you're very sure you would like that partition\n"
 "tagged with 82 (Linux swap): "
 msgstr ""
+"Es wird unbedingt empfohlen, die Partition bei Offset 0 als\n"
+"UFS- oder EXT2FS-Dateisystem bzw. als SunOS-Auslagerungsbereich\n"
+"zu konfigurieren. Ein Linux-Auslagerungsbereich an dieser Stelle\n"
+"kann die Partitionstabelle und den Bootblock zerstören.\n"
+"Geben Sie nur dann 'JA' ein, wenn Sie absolut sicher sind, dass\n"
+"diese Partition als 82 (Linux-Auslagerung) markiert werden soll: "
 
 #: fdisk/fdisksunlabel.c:611
 #, c-format
@@ -3597,9 +3933,16 @@ msgid ""
 "Units = %s of %d * 512 bytes\n"
 "\n"
 msgstr ""
+"\n"
+"Festplatte %s (Sun-Datenträgerkennung): %d Köpfe, %d Sektoren, %d U/min\n"
+"%d Zylinder, %d alternative Zylinder, %d physische Zylinder\n"
+"%d extra Sektoren/Zylinder, Interleave-Faktor %d:1\n"
+"%s\n"
+"Einheiten = %s mit %d * 512 Byte\n"
+"\n"
 
 #: fdisk/fdisksunlabel.c:625
-#, fuzzy, c-format
+#, c-format
 msgid ""
 "\n"
 "Disk %s (Sun disk label): %d heads, %d sectors, %d cylinders\n"
@@ -3607,22 +3950,22 @@ msgid ""
 "\n"
 msgstr ""
 "\n"
-"Festplatte %s (»Sun disklabel«): %d Köpfe, %d Sektoren, %d Zylinder\n"
+"Festplatte %s (Sun-Datenträgerkennung): %d Köpfe, %d Sektoren, %d Zylinder\n"
 "Einheiten: %s mit %d * 512 Bytes\n"
 "\n"
 
 #: fdisk/fdisksunlabel.c:630
 #, c-format
 msgid "%*s Flag    Start       End    Blocks   Id  System\n"
-msgstr ""
+msgstr "%*s Flag    Start       Ende   Blöcke   ID  System\n"
 
 #: fdisk/fdisksunlabel.c:655
 msgid "Number of alternate cylinders"
-msgstr ""
+msgstr "Anzahl alternativer Zylinder"
 
 #: fdisk/fdisksunlabel.c:688
 msgid "Number of physical cylinders"
-msgstr ""
+msgstr "Anzahl physischer Zylinder"
 
 #: fdisk/i386_sys_types.c:7
 msgid "FAT12"
@@ -3714,7 +4057,7 @@ msgstr "Verst. HPFS/NTFS"
 
 #: fdisk/i386_sys_types.c:27
 msgid "AST Windows swapfile"
-msgstr "AST Windows swapfile"
+msgstr "AST Windows-Auslagerungsdatei"
 
 #: fdisk/i386_sys_types.c:28
 msgid "Hidden Win95 FAT32"
@@ -3734,7 +4077,7 @@ msgstr "NEC DOS"
 
 #: fdisk/i386_sys_types.c:32
 msgid "PartitionMagic recovery"
-msgstr "PartitionMagic recovery"
+msgstr "PartitionMagic-Wiederherstellung"
 
 #: fdisk/i386_sys_types.c:33
 msgid "Venix 80286"
@@ -3754,11 +4097,11 @@ msgstr "QNX4.x"
 
 #: fdisk/i386_sys_types.c:37
 msgid "QNX4.x 2nd part"
-msgstr "QNX4.x 2nd part"
+msgstr "QNX4.x Teil 2"
 
 #: fdisk/i386_sys_types.c:38
 msgid "QNX4.x 3rd part"
-msgstr "QNX4.x 3rd part"
+msgstr "QNX4.x Teil 3"
 
 #: fdisk/i386_sys_types.c:39
 msgid "OnTrack DM"
@@ -3823,16 +4166,16 @@ msgstr "PC/IX"
 
 #: fdisk/i386_sys_types.c:53
 msgid "Old Minix"
-msgstr "Old Minix"
+msgstr "Altes Minix"
 
 #. Minix 1.4a and earlier
 #: fdisk/i386_sys_types.c:54
 msgid "Minix / old Linux"
-msgstr "Minix / old Linux"
+msgstr "Minix / altes Linux"
 
 #: fdisk/i386_sys_types.c:57
 msgid "OS/2 hidden C: drive"
-msgstr "OS/2 verst. C:-Lw."
+msgstr "OS/2 verst. Laufwerk C:"
 
 #: fdisk/i386_sys_types.c:58
 msgid "Linux extended"
@@ -3840,7 +4183,7 @@ msgstr "Linux erweitert"
 
 #: fdisk/i386_sys_types.c:59 fdisk/i386_sys_types.c:60
 msgid "NTFS volume set"
-msgstr "NTFS volume set"
+msgstr "NTFS-Datenträgersatz"
 
 #: fdisk/i386_sys_types.c:61
 msgid "Amoeba"
@@ -3853,7 +4196,7 @@ msgstr "Amoeba BBT"
 #. (bad block table)
 #: fdisk/i386_sys_types.c:63
 msgid "IBM Thinkpad hibernation"
-msgstr "IBM Thinkpad hibernation"
+msgstr "IBM Thinkpad-Schlafmodus"
 
 #: fdisk/i386_sys_types.c:64
 msgid "BSD/386"
@@ -3869,11 +4212,11 @@ msgstr "NeXTSTEP"
 
 #: fdisk/i386_sys_types.c:67
 msgid "BSDI fs"
-msgstr "BSDI fs"
+msgstr "BSDI-Dateisystem"
 
 #: fdisk/i386_sys_types.c:68
 msgid "BSDI swap"
-msgstr "BSDI swap"
+msgstr "BSDI-Auslagerung"
 
 #: fdisk/i386_sys_types.c:69
 msgid "DRDOS/sec (FAT-12)"
@@ -3898,7 +4241,7 @@ msgstr "CP/M / CTOS / ..."
 #. CP/M or Concurrent CP/M or Concurrent DOS or CTOS
 #: fdisk/i386_sys_types.c:74
 msgid "DOS access"
-msgstr "DOS access"
+msgstr "DOS-Zugriff"
 
 #. DOS access or SpeedStor 12-bit FAT extended partition
 #: fdisk/i386_sys_types.c:75
@@ -3908,17 +4251,17 @@ msgstr "DOS R/O"
 #. SpeedStor 16-bit FAT extended partition < 1024 cyl.
 #: fdisk/i386_sys_types.c:77
 msgid "BeOS fs"
-msgstr "BeOS fs"
+msgstr "BeOS-Dateisystem"
 
 #. SpeedStor large partition
 #: fdisk/i386_sys_types.c:80
 msgid "DOS secondary"
-msgstr "DOS secondary"
+msgstr "DOS sekundär"
 
 #. DOS 3.3+ secondary
 #: fdisk/i386_sys_types.c:81
 msgid "Linux raid autodetect"
-msgstr "Linux raid autodetect"
+msgstr "Linux-RAID, autom. Erkennung"
 
 #. New (2.2.x) raid partition with autodetect
 #. using persistent superblock
@@ -3934,75 +4277,77 @@ msgstr "BBT"
 #: fdisk/sfdisk.c:147
 #, c-format
 msgid "seek error on %s - cannot seek to %lu\n"
-msgstr ""
+msgstr "Fehler bei der Suche in %s - Suchvorgang zu %lu nicht möglich.\n"
 
 #: fdisk/sfdisk.c:152
 #, c-format
 msgid "seek error: wanted 0x%08x%08x, got 0x%08x%08x\n"
-msgstr ""
+msgstr "Fehler bei der Suche: gesucht 0x%08x%08x, gefunden 0x%08x%08x\n"
 
 #: fdisk/sfdisk.c:198
 msgid "out of memory - giving up\n"
-msgstr ""
+msgstr "Kein Speicher mehr frei - Vorgang wird abgebrochen.\n"
 
 #: fdisk/sfdisk.c:202 fdisk/sfdisk.c:285
 #, c-format
 msgid "read error on %s - cannot read sector %lu\n"
-msgstr ""
+msgstr "Fehler beim Lesen in %s - Sektor %lu kann nicht gelesen werden.\n"
 
 #: fdisk/sfdisk.c:218
 #, c-format
 msgid "ERROR: sector %lu does not have an msdos signature\n"
-msgstr ""
+msgstr "FEHLER: Sektor %lu enthält keine MS-DOS-Signatur.\n"
 
 #: fdisk/sfdisk.c:235
 #, c-format
 msgid "write error on %s - cannot write sector %lu\n"
 msgstr ""
+"Fehler beim Schreiben in %s - Sektor %lu kann nicht geschrieben werden.\n"
 
 #: fdisk/sfdisk.c:273
 #, c-format
 msgid "cannot open partition sector save file (%s)\n"
-msgstr ""
+msgstr "Partitionssektor-Speicherungsdatei (%s) kann nicht geöffnet werden.\n"
 
 #: fdisk/sfdisk.c:291
-#, fuzzy, c-format
+#, c-format
 msgid "write error on %s\n"
 msgstr "Fehler beim Schreiben auf %s\n"
 
 #: fdisk/sfdisk.c:309
 #, c-format
 msgid "cannot stat partition restore file (%s)\n"
-msgstr ""
+msgstr "'stat' zur Partitionswiederherstellungsdatei (%s) nicht möglich.\n"
 
 #: fdisk/sfdisk.c:314
 msgid "partition restore file has wrong size - not restoring\n"
 msgstr ""
+"Partitionswiederherstellungsdatei weist die falsche Größe auf - es findet "
+"keine Wiederherstellung statt.\n"
 
 #: fdisk/sfdisk.c:318
-#, fuzzy
 msgid "out of memory?\n"
-msgstr "Speicher ist alle\n"
+msgstr "Kein Speicher mehr frei?\n"
 
 #: fdisk/sfdisk.c:324
 #, c-format
 msgid "cannot open partition restore file (%s)\n"
-msgstr ""
+msgstr "Partitionswiederherstellungsdatei (%s) kann nicht geöffnet werden.\n"
 
 #: fdisk/sfdisk.c:330
-#, fuzzy, c-format
+#, c-format
 msgid "error reading %s\n"
 msgstr "Fehler beim Lesen von %s\n"
 
 #: fdisk/sfdisk.c:337
-#, fuzzy, c-format
+#, c-format
 msgid "cannot open device %s for writing\n"
-msgstr "Konnte das Gerät %s nicht zum Schreiben öffnen\n"
+msgstr "Gerät %s konnte nicht zum Schreiben geöffnet werden.\n"
 
 #: fdisk/sfdisk.c:349
 #, c-format
 msgid "error writing sector %lu on %s\n"
-msgstr ""
+msgstr "Fehler beim Schreiben von Sektor %lu auf %s\n"
 
 #: fdisk/sfdisk.c:415
 #, c-format
@@ -4011,26 +4356,29 @@ msgid ""
 "the entire disk. Using fdisk on it is probably meaningless.\n"
 "[Use the --force option if you really want this]\n"
 msgstr ""
+"Warnung: Start=%d - dies ist eine Partition, keine ganze\n"
+"Festplatte. fdisk hat hier keine Wirkung. Verwenden Sie die\n"
+"Option --force, wenn Sie dies tatsächlich durchführen möchten.\n"
 
 #: fdisk/sfdisk.c:421
 #, c-format
 msgid "Warning: HDIO_GETGEO says that there are %d heads\n"
-msgstr ""
+msgstr "Warnung: Laut HDIO_GETGEO sind %d Köpfe vorhanden.\n"
 
 #: fdisk/sfdisk.c:424
 #, c-format
 msgid "Warning: HDIO_GETGEO says that there are %d sectors\n"
-msgstr ""
+msgstr "Warnung: Laut HDIO_GETGEO sind %d Sektoren vorhanden.\n"
 
 #: fdisk/sfdisk.c:427
 #, c-format
 msgid "Warning: HDIO_GETGEO says that there are %d cylinders\n"
-msgstr ""
+msgstr "Warnung: Laut HDIO_GETGEO sind %d Zylinder vorhanden.\n"
 
 #: fdisk/sfdisk.c:431
 #, c-format
 msgid "Disk %s: cannot get geometry\n"
-msgstr ""
+msgstr "Festplatte %s: Geometrie ist nicht verfügbar.\n"
 
 #: fdisk/sfdisk.c:433
 #, c-format
@@ -4038,9 +4386,12 @@ msgid ""
 "Warning: unlikely number of sectors (%d) - usually at most 63\n"
 "This will give problems with all software that uses C/H/S addressing.\n"
 msgstr ""
+"Warnung: Unwahrscheinliche Anzahl Sektoren (%d) - normalerweise sind\n"
+"maximal 63 vorhanden. Dies führt zu Problemen bei allen Softwareprogrammen,\n"
+"die Z/K/S-Adressierung verwenden.\n"
 
 #: fdisk/sfdisk.c:437
-#, fuzzy, c-format
+#, c-format
 msgid ""
 "\n"
 "Disk %s: %lu cylinders, %lu heads, %lu sectors/track\n"
@@ -4054,12 +4405,16 @@ msgstr ""
 msgid ""
 "%s of partition %s has impossible value for head: %d (should be in 0-%d)\n"
 msgstr ""
+"%s von Partition %s hat einen nicht möglichen Wert für die Anzahl der Köpfe: "
+"%d (sollte zwischen 0 und %d liegen).\n"
 
 #: fdisk/sfdisk.c:522
 #, c-format
 msgid ""
 "%s of partition %s has impossible value for sector: %d (should be in 1-%d)\n"
 msgstr ""
+"%s von Partition %s hat einen nicht möglichen Wert für die Anzahl der "
+"Sektoren: %d (sollte zwischen 1 und %d liegen).\n"
 
 #: fdisk/sfdisk.c:527
 #, c-format
@@ -4067,17 +4422,18 @@ msgid ""
 "%s of partition %s has impossible value for cylinders: %d (should be in "
 "0-%d)\n"
 msgstr ""
+"%s von Partition %s hat einen nicht möglichen Wert für die Anzahl der "
+"Zylinder: %d (sollte zwischen 0 und %d liegen).\n"
 
 #: fdisk/sfdisk.c:566
 msgid ""
 "Id  Name\n"
 "\n"
 msgstr ""
-"Id  Name\n"
+"ID  Name\n"
 "\n"
 
 #: fdisk/sfdisk.c:719
-#, fuzzy
 msgid "Re-reading the partition table ...\n"
 msgstr "Die Partitionstabelle wird erneut gelesen ...\n"
 
@@ -4086,30 +4442,32 @@ msgid ""
 "The command to re-read the partition table failed\n"
 "Reboot your system now, before using mkfs\n"
 msgstr ""
+"Der Befehl zum erneuten Lesen der Partitionstabelle war nicht erfolgreich.\n"
+"Starten Sie das System jetzt neu, bevor Sie mkfs verwenden.\n"
 
 #: fdisk/sfdisk.c:730
-#, fuzzy, c-format
+#, c-format
 msgid "Error closing %s\n"
 msgstr "Fehler beim Schließen von %s\n"
 
 #: fdisk/sfdisk.c:768
 #, c-format
 msgid "%s: no such partition\n"
-msgstr ""
+msgstr "%s: Diese Partition ist nicht vorhanden.\n"
 
 #: fdisk/sfdisk.c:791
 msgid "unrecognized format - using sectors\n"
-msgstr ""
+msgstr "Unbekanntes Format - es werden Sektoren verwendet.\n"
 
 #: fdisk/sfdisk.c:830
-#, fuzzy, c-format
+#, c-format
 msgid "# partition table of %s\n"
 msgstr "# Partitionstabelle von %s\n"
 
 #: fdisk/sfdisk.c:841
 #, c-format
 msgid "unimplemented format - using %s\n"
-msgstr ""
+msgstr "Nicht verwendbares Format - es wird %s verwendet.\n"
 
 #: fdisk/sfdisk.c:845
 #, c-format
@@ -4117,10 +4475,12 @@ msgid ""
 "Units = cylinders of %lu bytes, blocks of 1024 bytes, counting from %d\n"
 "\n"
 msgstr ""
+"Einheiten = Zylinder mit %lu Bytes, Blöcke mit 1024 Bytes, Zählung ab %d\n"
+"\n"
 
 #: fdisk/sfdisk.c:848
 msgid "   Device Boot Start     End   #cyls   #blocks   Id  System\n"
-msgstr ""
+msgstr "   Gerät  Boot Start     Ende  Zylind. Blöcke    ID  System\n"
 
 #: fdisk/sfdisk.c:853
 #, c-format
@@ -4128,10 +4488,12 @@ msgid ""
 "Units = sectors of 512 bytes, counting from %d\n"
 "\n"
 msgstr ""
+"Einheiten = Sektoren mit 512 Bytes, Zählung ab %d\n"
+"\n"
 
 #: fdisk/sfdisk.c:855
 msgid "   Device Boot    Start       End  #sectors  Id  System\n"
-msgstr ""
+msgstr "   Gerät  Boot    Start       Ende Sektoren  ID  System\n"
 
 #: fdisk/sfdisk.c:858
 #, c-format
@@ -4139,10 +4501,12 @@ msgid ""
 "Units = blocks of 1024 bytes, counting from %d\n"
 "\n"
 msgstr ""
+"Einheiten = Blöcke mit 1024 Bytes, Zählung von %d\n"
+"\n"
 
 #: fdisk/sfdisk.c:860
 msgid "   Device Boot   Start       End   #blocks   Id  System\n"
-msgstr ""
+msgstr "   Gerät  Boot   Start       Ende  Blöcke    ID  System\n"
 
 #: fdisk/sfdisk.c:863
 #, c-format
@@ -4150,30 +4514,31 @@ msgid ""
 "Units = megabytes of 1048576 bytes, blocks of 1024 bytes, counting from %d\n"
 "\n"
 msgstr ""
+"Einheiten = Megabyte mit 1048576 Bytes, Blöcke mit 1024 Byte, Zählung ab %d\n"
+"\n"
 
 #: fdisk/sfdisk.c:865
 msgid "   Device Boot Start   End     MB   #blocks   Id  System\n"
-msgstr ""
+msgstr "   Gerät  Boot Start   Ende    MB   Blöcke    ID  System\n"
 
 #: fdisk/sfdisk.c:997
 #, c-format
 msgid "\t\tstart: (c,h,s) expected (%ld,%ld,%ld) found (%ld,%ld,%ld)\n"
-msgstr ""
+msgstr "\t\tStart: (Z,K,S) erwartet (%ld,%ld,%ld) gefunden (%ld,%ld,%ld)\n"
 
 #: fdisk/sfdisk.c:1004
 #, c-format
 msgid "\t\tend: (c,h,s) expected (%ld,%ld,%ld) found (%ld,%ld,%ld)\n"
-msgstr ""
+msgstr "\t\tEnde: (Z,K,S) erwartet (%ld,%ld,%ld) gefunden (%ld,%ld,%ld)\n"
 
 #: fdisk/sfdisk.c:1007
 #, c-format
 msgid "partition ends on cylinder %ld, beyond the end of the disk\n"
-msgstr ""
+msgstr "Partition ended bei Zylinder %ld, hinter dem Ende der Festplatte.\n"
 
 #: fdisk/sfdisk.c:1018
-#, fuzzy
 msgid "No partitions found\n"
-msgstr "Keine Partitionen gefunden\n"
+msgstr "Keine Partitionen gefunden.\n"
 
 #: fdisk/sfdisk.c:1025
 #, c-format
@@ -4182,259 +4547,267 @@ msgid ""
 "  for C/H/S=*/%ld/%ld (instead of %ld/%ld/%ld).\n"
 "For this listing I'll assume that geometry.\n"
 msgstr ""
+"Warnung: Die erste Partition wurde für\n"
+"Z/K/S=*/%ld/%ld (statt %ld/%ld/%ld) erstellt.\n"
+"Diese Auflistung basiert auf dieser Geometrie.\n"
 
 #: fdisk/sfdisk.c:1075
 msgid "no partition table present.\n"
-msgstr ""
+msgstr "Keine Partitionstabelle vorhanden.\n"
 
 #: fdisk/sfdisk.c:1077
 #, c-format
 msgid "strange, only %d partitions defined.\n"
-msgstr ""
+msgstr "Es sind nur %d Partitionen definiert.\n"
 
 #: fdisk/sfdisk.c:1086
 #, c-format
 msgid "Warning: partition %s has size 0 but is not marked Empty\n"
 msgstr ""
+"Warnung: Partition %s hat die Größe 0, ist aber nicht als 'leer' "
+"gekennzeichnet.\n"
 
 #: fdisk/sfdisk.c:1089
 #, c-format
 msgid "Warning: partition %s has size 0 and is bootable\n"
-msgstr ""
+msgstr "Warnung: Partition %s hat die Größe 0 und ist bootfähig.\n"
 
 #: fdisk/sfdisk.c:1092
 #, c-format
 msgid "Warning: partition %s has size 0 and nonzero start\n"
 msgstr ""
+"Warnung: Partition %s hat die Größe 0 und einen Startwert ungleich 0.\n"
 
 #: fdisk/sfdisk.c:1103
 #, c-format
 msgid "Warning: partition %s "
-msgstr ""
+msgstr "Warnung: Partition %s "
 
 #: fdisk/sfdisk.c:1104
 #, c-format
 msgid "is not contained in partition %s\n"
-msgstr ""
+msgstr "befindet sich nicht in Partition %s\n"
 
 #: fdisk/sfdisk.c:1115
 #, c-format
 msgid "Warning: partitions %s "
-msgstr ""
+msgstr "Warnung: Partitionen %s "
 
 #: fdisk/sfdisk.c:1116
 #, c-format
 msgid "and %s overlap\n"
-msgstr ""
+msgstr "und %s überlappen einander.\n"
 
 #: fdisk/sfdisk.c:1127
 #, c-format
 msgid "Warning: partition %s contains part of "
-msgstr ""
+msgstr "Warnung: Partition %s enthält einen Teil der"
 
 #: fdisk/sfdisk.c:1128
 #, c-format
 msgid "the partition table (sector %lu),\n"
-msgstr ""
+msgstr "Partitionstabelle (Sektor %lu) und löscht die\n"
 
 #: fdisk/sfdisk.c:1129
 msgid "and will destroy it when filled\n"
-msgstr ""
+msgstr "Tabelle, wenn Daten in die Partition geschrieben werden.\n"
 
 #: fdisk/sfdisk.c:1138
-#, fuzzy, c-format
+#, c-format
 msgid "Warning: partition %s starts at sector 0\n"
-msgstr "Warnung: Partition %d fängt bei Sektor 0 an\n"
+msgstr "Warnung: Partition %d beginnt bei Sektor 0.\n"
 
 #: fdisk/sfdisk.c:1142
 #, c-format
 msgid "Warning: partition %s extends past end of disk\n"
 msgstr ""
+"Warnung: Partition %s erstreckt sich über das Ende der Festplatte hinaus.\n"
 
 #: fdisk/sfdisk.c:1156
 msgid "Among the primary partitions, at most one can be extended\n"
-msgstr ""
+msgstr "Höchstens eine der primären Partitionen kann erweitert werden;\n"
 
 #: fdisk/sfdisk.c:1157
 msgid " (although this is not a problem under Linux)\n"
-msgstr ""
+msgstr "dies ist unter Linux kein Problem.\n"
 
 #: fdisk/sfdisk.c:1174
-#, fuzzy, c-format
+#, c-format
 msgid "Warning: partition %s does not start at a cylinder boundary\n"
-msgstr "Warnung: Partition %s beginnt nicht an einer Zylindergrenze\n"
+msgstr "Warnung: Partition %s beginnt nicht an einer Zylindergrenze.\n"
 
 #: fdisk/sfdisk.c:1180
-#, fuzzy, c-format
+#, c-format
 msgid "Warning: partition %s does not end at a cylinder boundary\n"
-msgstr "Warnung: Partition %s endet nicht an einer Zylindergrenze\n"
+msgstr "Warnung: Partition %s endet nicht an einer Zylindergrenze.\n"
 
 #: fdisk/sfdisk.c:1198
-#, fuzzy
 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 bootbar (aktiv) "
-"markiert.\n"
-"         Dies spielt bei LILO keine Rolle, aber der DOS MBR wird auf\n"
-"         dieser Festplatte nicht booten.\n"
+"Warnung: Mehrere primäre Partitionen sind als bootfähig (aktiv) markiert.\n"
+"Dies hat keinen Einfluss auf LILO, aber der DOS-MBR kann diese\n"
+"Festplatte nicht booten.\n"
 
 #: fdisk/sfdisk.c:1205
 msgid ""
 "Warning: usually one can boot from primary partitions only\n"
 "LILO disregards the `bootable' flag.\n"
 msgstr ""
+"Warnung: Normalerweise ist das Booten nur von primären Partitionen\n"
+"aus möglich. LILO ignoriert das Flag 'bootfähig'.\n"
 
 #: fdisk/sfdisk.c:1211
-#, fuzzy
 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 bootbar (aktiv) markiert.\n"
-"         Dies spielt bei LILO keine Rolle, aber der DOS MBR wird auf\n"
-"         dieser Festplatte nicht booten.\n"
+"Warnung: Keine primäre Partition ist als bootfähig (aktiv) markiert.\n"
+"Dies hat keinen Einfluss auf LILO, aber der DOS-MBR kann diese\n"
+"Festplatte nicht booten.\n"
 
 #: fdisk/sfdisk.c:1228
 #, c-format
 msgid ""
 "partition %s: start: (c,h,s) expected (%ld,%ld,%ld) found (%ld,%ld,%ld)\n"
 msgstr ""
+"Partition %s: Start: (Z,K,S) erwartet (%ld,%ld,%ld) gefunden (%ld,%ld,%ld)\n"
 
 #: fdisk/sfdisk.c:1237
 #, c-format
 msgid "partition %s: end: (c,h,s) expected (%ld,%ld,%ld) found (%ld,%ld,%ld)\n"
 msgstr ""
+"Partition %s: Ende: (Z,K,S) erwartet (%ld,%ld,%ld) gefunden (%ld,%ld,%ld)\n"
 
 #: fdisk/sfdisk.c:1240
 #, c-format
 msgid "partition %s ends on cylinder %ld, beyond the end of the disk\n"
-msgstr ""
+msgstr "Partition %s endet bei Zylinder %ld, hinter dem Ende der Festplatte.\n"
 
 #: fdisk/sfdisk.c:1273 fdisk/sfdisk.c:1350
 #, c-format
 msgid "too many partitions - ignoring those past nr (%d)\n"
-msgstr ""
+msgstr "Zu viele Partitionen - alle Partitionen nach %d werden ignoriert.\n"
 
 #: fdisk/sfdisk.c:1288
 msgid "tree of partitions?\n"
-msgstr ""
+msgstr "Partitionsstruktur?\n"
 
 #: fdisk/sfdisk.c:1392
 msgid "detected Disk Manager - unable to handle that\n"
-msgstr ""
+msgstr "Disk Manager wurde erkannt - dieser ist nicht verwendbar.\n"
 
 #: fdisk/sfdisk.c:1399
 msgid "DM6 signature found - giving up\n"
-msgstr ""
+msgstr "DM6-Signatur gefunden - Vorgang wird beendet.\n"
 
 #: fdisk/sfdisk.c:1419
 msgid "strange..., an extended partition of size 0?\n"
-msgstr ""
+msgstr "Erweiterte Partition der Größe 0?\n"
 
 #: fdisk/sfdisk.c:1426
 msgid "strange..., a BSD partition of size 0?\n"
-msgstr ""
+msgstr "BSD-Partition der Größe 0?\n"
 
 #: fdisk/sfdisk.c:1458
 #, c-format
 msgid " %s: unrecognized partition\n"
-msgstr ""
+msgstr " %s: unbekannte Partition\n"
 
 #: fdisk/sfdisk.c:1470
 msgid "-n flag was given: Nothing changed\n"
-msgstr ""
+msgstr "Das Flag -n wurde angegeben: keine Änderungen vorgenommen.\n"
 
 #: fdisk/sfdisk.c:1483
 msgid "Failed saving the old sectors - aborting\n"
 msgstr ""
+"Alte Sektoren konnten nicht gespeichert werden - Vorgang wird beendet.\n"
 
 #: fdisk/sfdisk.c:1488
 #, c-format
 msgid "Failed writing the partition on %s\n"
-msgstr ""
+msgstr "Fehler beim Schreiben der Partition auf %s\n"
 
 #: fdisk/sfdisk.c:1565
 msgid "long or incomplete input line - quitting\n"
-msgstr ""
+msgstr "Eingabezeile zu lang oder unvollständig - Vorgang wird abgebrochen.\n"
 
 #: fdisk/sfdisk.c:1601
 #, c-format
 msgid "input error: `=' expected after %s field\n"
-msgstr ""
+msgstr "Eingabefehler: '=' erwartet nach dem %s-Feld.\n"
 
 #: fdisk/sfdisk.c:1608
 #, c-format
 msgid "input error: unexpected character %c after %s field\n"
-msgstr ""
+msgstr "Eingabefehler: Unerwartetes Zeichen %c nach dem %s-Feld.\n"
 
 #: fdisk/sfdisk.c:1614
 #, c-format
 msgid "unrecognized input: %s\n"
-msgstr ""
+msgstr "Unbekannte Eingabe: %s\n"
 
 #: fdisk/sfdisk.c:1646
 msgid "number too big\n"
-msgstr ""
+msgstr "Wert zu groß.\n"
 
 #: fdisk/sfdisk.c:1650
 msgid "trailing junk after number\n"
-msgstr ""
+msgstr "Unbekannte Zeichen nach dem Wert.\n"
 
 #: fdisk/sfdisk.c:1766
 msgid "no room for partition descriptor\n"
-msgstr ""
+msgstr "Kein Platz für Partitionsbeschreibung.\n"
 
 #: fdisk/sfdisk.c:1799
 msgid "cannot build surrounding extended partition\n"
-msgstr ""
+msgstr "Die umgebende erweiterte Partition kann nicht erstellt werden.\n"
 
 #: fdisk/sfdisk.c:1850
 msgid "too many input fields\n"
-msgstr ""
+msgstr "Zu viele Eingabefelder.\n"
 
 #. no free blocks left - don't read any further
 #: fdisk/sfdisk.c:1884
 msgid "No room for more\n"
-msgstr ""
+msgstr "Kein zusätzlicher freier Bereich vorhanden.\n"
 
 #: fdisk/sfdisk.c:1903
 msgid "Illegal type\n"
-msgstr ""
+msgstr "Ungültiger Typ\n"
 
 #: fdisk/sfdisk.c:1935
 #, c-format
 msgid "Warning: exceeds max allowable size (%lu)\n"
-msgstr ""
+msgstr "Warnung: Die Maximalgröße (%lu) wird überschritten.\n"
 
 #: fdisk/sfdisk.c:1940
 msgid "Warning: empty partition\n"
-msgstr ""
+msgstr "Warnung: leere Partition.\n"
 
 #: fdisk/sfdisk.c:1954
 #, c-format
 msgid "Warning: bad partition start (earliest %lu)\n"
-msgstr ""
+msgstr "Warnung: Ungültiger Partitionsanfang (kleinstmöglicher Wert: %lu).\n"
 
 #: fdisk/sfdisk.c:1967
 msgid "unrecognized bootable flag - choose - or *\n"
-msgstr ""
+msgstr "Unbekanntes 'bootfähig'-Flag: Wählen Sie - oder *\n"
 
 #: fdisk/sfdisk.c:1984 fdisk/sfdisk.c:1997
 msgid "partial c,h,s specification?\n"
-msgstr ""
+msgstr "Partielle Z/K/S-Spezifikation?\n"
 
 #: fdisk/sfdisk.c:2008
 msgid "Extended partition not where expected\n"
-msgstr ""
+msgstr "Erweiterte Partition nicht am erwarteten Ort.\n"
 
 #: fdisk/sfdisk.c:2040
 msgid "bad input\n"
-msgstr ""
+msgstr "Ungültige Eingabe\n"
 
 #: fdisk/sfdisk.c:2062
-#, fuzzy
 msgid "too many partitions\n"
 msgstr "Zu viele Partitionen\n"
 
@@ -4444,224 +4817,247 @@ msgid ""
 "<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 (für nicht angegebene Felder wird\n"
+"der Standardwert verwendet):\n"
+"<Start> <Größe> <Typ [E,S,L,X,hex]> <bootfähig [-,*]> <Z,K,S> <Z,K,S>\n"
+"Normalerweise brauchen nur <Start> und <Größe> (und möglicherweise\n"
+"<Typ>) angegeben zu werden.\n"
 
 #: fdisk/sfdisk.c:2115
 msgid "version"
-msgstr ""
+msgstr "Version"
 
 #: fdisk/sfdisk.c:2121
 #, c-format
 msgid "Usage: %s [options] device ...\n"
-msgstr ""
+msgstr "Verwendung: %s [Optionen] Gerät ...\n"
 
 #: fdisk/sfdisk.c:2122
 msgid "device: something like /dev/hda or /dev/sda"
-msgstr ""
+msgstr "Gerät: ein Gerät wie /dev/hda oder /dev/sda"
 
 #: fdisk/sfdisk.c:2123
 msgid "useful options:"
-msgstr ""
+msgstr "Nützliche Optionen:"
 
 #: fdisk/sfdisk.c:2124
 msgid "    -s [or --show-size]: list size of a partition"
-msgstr ""
+msgstr "    -s [oder --show-size]: Partitionsgröße anzeigen"
 
 #: fdisk/sfdisk.c:2125
 msgid "    -c [or --id]:        print or change partition Id"
-msgstr ""
+msgstr "    -c [oder --id]:        Partitions-ID ausgeben oder ändern"
 
 #: fdisk/sfdisk.c:2126
 msgid "    -l [or --list]:      list partitions of each device"
-msgstr ""
+msgstr "    -l [oder --list]:      Partitionen jedes Geräts ausgeben"
 
 #: fdisk/sfdisk.c:2127
 msgid "    -d [or --dump]:      idem, but in a format suitable for later input"
 msgstr ""
+"    -d [oder --dump]:      Wie oben, doch in einem Format, das für die\n"
+"                           spätere Eingabe verwendet werden kann"
 
 #: fdisk/sfdisk.c:2128
 msgid "    -i [or --increment]: number cylinders etc. from 1 instead of from 0"
 msgstr ""
+"    -i [oder --increment]: Anzahl Zylinder usw. ausgehend von 1\n"
+"                           statt von 0"
 
 #: fdisk/sfdisk.c:2129
 msgid ""
 "    -uS, -uB, -uC, -uM:  accept/report in units of "
 "sectors/blocks/cylinders/MB"
 msgstr ""
+"    -uS, -uB, -uC, -uM:  Werte in den Einheiten Sektoren/Blöcke/Zylinder/MB "
+"ein-/ausgeben"
 
 #: fdisk/sfdisk.c:2130
 msgid "    -T [or --list-types]:list the known partition types"
-msgstr ""
+msgstr "    -T [oder --list-types]:bekannte Partitionstypen auflisten"
 
 #: fdisk/sfdisk.c:2131
 msgid "    -D [or --DOS]:       for DOS-compatibility: waste a little space"
 msgstr ""
+"    -D [oder --DOS]:       DOS-Kompatibilität: etwas Platz verschwenden"
 
 #: fdisk/sfdisk.c:2132
 msgid "    -R [or --re-read]:   make kernel reread partition table"
-msgstr ""
+msgstr "    -R [oder --re-read]:   Partitionstabelle erneut lesen"
 
 #: fdisk/sfdisk.c:2133
 msgid "    -N# :                change only the partition with number #"
-msgstr ""
+msgstr "    -N# :                  nur die Partition der Nummer # ändern"
 
 #: fdisk/sfdisk.c:2134
 msgid "    -n :                 do not actually write to disk"
-msgstr ""
+msgstr "    -n :                   nicht auf die Festplatte schreiben"
 
 #: fdisk/sfdisk.c:2135
 msgid ""
 "    -O file :            save the sectors that will be overwritten to file"
 msgstr ""
+"    -O Datei :             Sektoren, die überschrieben werden, in\n"
+"                           'Datei' speichern"
 
 #: fdisk/sfdisk.c:2136
 msgid "    -I file :            restore these sectors again"
-msgstr ""
+msgstr "    -I Datei :           diese Sektoren wiederherstellen"
 
 #: fdisk/sfdisk.c:2137
 msgid "    -v [or --version]:   print version"
-msgstr ""
+msgstr "    -v [oder --version]:   Version ausgeben"
 
 #: fdisk/sfdisk.c:2138
 msgid "    -? [or --help]:      print this message"
-msgstr ""
+msgstr "    -? [oder --help]:      diese Informationen anzeigen"
 
 #: fdisk/sfdisk.c:2139
 msgid "dangerous options:"
-msgstr ""
+msgstr "Gefährliche Optionen:"
 
 #: fdisk/sfdisk.c:2140
 msgid "    -g [or --show-geometry]: print the kernel's idea of the geometry"
 msgstr ""
+"    -g [oder --show-geometry]: Kernelinformationen der Geometrie ausgeben"
 
 #: fdisk/sfdisk.c:2141
 msgid ""
 "    -x [or --show-extended]: also list extended partitions on output\n"
 "                             or expect descriptors for them on input"
 msgstr ""
+"    -x [oder --show-extended]: in der Ausgabe auch erweiterte Partitionen\n"
+"                               ausgeben oder Beschreibungen für sie in der\n"
+"                               Eingabe erwarten"
 
 #: fdisk/sfdisk.c:2143
 msgid ""
 "    -L  [or --Linux]:      do not complain about things irrelevant for Linux"
 msgstr ""
+"    -L  [oder --Linux]:      keine Meldungen über Dinge anzeigen,\n"
+"                               die sich nicht auf Linux auswirken"
 
 #: fdisk/sfdisk.c:2144
 msgid "    -q  [or --quiet]:      suppress warning messages"
-msgstr ""
+msgstr "    -q  [oder --quiet]:      Warnmeldungen unterdrücken"
 
 #: fdisk/sfdisk.c:2145
 msgid "    You can override the detected geometry using:"
 msgstr ""
+"    Die erkannte Geometrie kann mit den folgenden Optionen außer Kraft "
+"gesetzt werden:"
 
 #: fdisk/sfdisk.c:2146
 msgid "    -C# [or --cylinders #]:set the number of cylinders to use"
-msgstr ""
+msgstr "    -C# [oder --cylinders #]:Anzahl der zu verwendenden Zylinder"
 
 #: fdisk/sfdisk.c:2147
 msgid "    -H# [or --heads #]:    set the number of heads to use"
-msgstr ""
+msgstr "    -H# [oder --heads #]:    Anzahl der zu verwendenden Köpfe"
 
 #: fdisk/sfdisk.c:2148
 msgid "    -S# [or --sectors #]:  set the number of sectors to use"
-msgstr ""
+msgstr "    -S# [oder --sectors #]:  Anzahl der zu verwendenden Sektoren"
 
 #: fdisk/sfdisk.c:2149
 msgid "You can disable all consistency checking with:"
-msgstr ""
+msgstr "Konsistenzprüfungen werden mit der folgenden Option deaktiviert:"
 
 #: fdisk/sfdisk.c:2150
 msgid "    -f  [or --force]:      do what I say, even if it is stupid"
 msgstr ""
+"    -f  [oder --force]:      immer die Eingabe befolgen, auch wenn\n"
+"                               es unsinnig ist"
 
 #: fdisk/sfdisk.c:2156
-#, fuzzy
 msgid "Usage:"
-msgstr "Aufruf:"
+msgstr "Verwendung:"
 
 #: fdisk/sfdisk.c:2157
 #, c-format
 msgid "%s device\t\t list active partitions on device\n"
-msgstr ""
+msgstr "%s Gerät\t\t zeigt aktive Partitionen im Gerät an\n"
 
 #: fdisk/sfdisk.c:2158
 #, c-format
 msgid "%s device n1 n2 ... activate partitions n1 ..., inactivate the rest\n"
 msgstr ""
+"%s Gerät n1 n2 ... Partitionen n1 ... aktivieren, die anderen deaktivieren\n"
 
 #: fdisk/sfdisk.c:2159
 #, c-format
 msgid "%s -An device\t activate partition n, inactivate the other ones\n"
-msgstr ""
+msgstr "%s -An Gerät\t Partition n aktivieren, die anderen deaktivieren\n"
 
 #: fdisk/sfdisk.c:2278
 msgid "no command?\n"
-msgstr ""
+msgstr "Kein Befehl?\n"
 
 #: fdisk/sfdisk.c:2401
 #, c-format
 msgid "total: %d blocks\n"
-msgstr ""
+msgstr "Gesamt: %d Blöcke\n"
 
 #: fdisk/sfdisk.c:2438
 msgid "usage: sfdisk --print-id device partition-number\n"
-msgstr ""
+msgstr "Verwendung: sfdisk --print-id Gerät Partitionsnummer\n"
 
 #: fdisk/sfdisk.c:2440
 msgid "usage: sfdisk --change-id device partition-number Id\n"
-msgstr ""
+msgstr "Verwendung: sfdisk --change-id Gerät Partitionsnummer ID\n"
 
 #: fdisk/sfdisk.c:2442
 msgid "usage: sfdisk --id device partition-number [Id]\n"
-msgstr ""
+msgstr "Verwendung: sfdisk --id Gerät Partitionsnummer [ID]\n"
 
 #: fdisk/sfdisk.c:2449
 msgid "can specify only one device (except with -l or -s)\n"
-msgstr ""
+msgstr "Es kann immer nur ein Gerät angegeben werden (außer bei -l oder -s)\n"
 
 #: fdisk/sfdisk.c:2474
 #, c-format
 msgid "cannot open %s %s\n"
-msgstr ""
+msgstr "%s %s kann nicht geöffnet werden.\n"
 
 #: fdisk/sfdisk.c:2474
 msgid "read-write"
-msgstr ""
+msgstr "lesen-schreiben"
 
 #: fdisk/sfdisk.c:2474
 msgid "for reading"
-msgstr ""
+msgstr "zum Lesen"
 
 #: fdisk/sfdisk.c:2499
 #, c-format
 msgid "%s: OK\n"
-msgstr ""
+msgstr "%s: OK\n"
 
 #: fdisk/sfdisk.c:2516
 #, c-format
 msgid "%s: %d cylinders, %d heads, %d sectors/track\n"
-msgstr ""
+msgstr "%s: %d Zylinder, %d Köpfe, %d Sektoren/Spur\n"
 
 #: fdisk/sfdisk.c:2519
 #, c-format
 msgid "%s: unknown geometry\n"
-msgstr ""
+msgstr "%s: Unbekannte Geometrie\n"
 
 #: fdisk/sfdisk.c:2535
 #, c-format
 msgid "BLKGETSIZE ioctl failed for %s\n"
-msgstr ""
+msgstr "BLKGETSIZE ioctl nicht erfolgreich für %s\n"
 
 #: fdisk/sfdisk.c:2612
 #, c-format
 msgid "bad active byte: 0x%x instead of 0x80\n"
-msgstr ""
+msgstr "Ungültiges aktives Byte: 0x%x statt 0x80\n"
 
 #: fdisk/sfdisk.c:2629 fdisk/sfdisk.c:2682 fdisk/sfdisk.c:2712
-#, fuzzy
 msgid ""
 "Done\n"
 "\n"
 msgstr ""
-"Fertig\n"
+"Beendet\n"
 "\n"
 
 #: fdisk/sfdisk.c:2638
@@ -4670,34 +5066,38 @@ 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 aktive primäre Partitionen vorhanden. Für LILO ist dies kein Problem,\n"
+"doch der DOS-MBR kann nur Datenträger booten, die 1 aktive Partition haben.\n"
 
 #: fdisk/sfdisk.c:2652
 #, c-format
 msgid "partition %s has id %x and is not hidden\n"
-msgstr ""
+msgstr "Partition %s hat ID %x und ist nicht versteckt.\n"
 
 #: fdisk/sfdisk.c:2708
 #, c-format
 msgid "Bad Id %x\n"
-msgstr ""
+msgstr "Die ID %x ist ungültig.\n"
 
 #: fdisk/sfdisk.c:2723
 msgid "This disk is currently in use.\n"
-msgstr ""
+msgstr "Dieser Datenträger wird derzeit verwendet.\n"
 
 #: fdisk/sfdisk.c:2740
 #, c-format
 msgid "Fatal error: cannot find %s\n"
-msgstr ""
+msgstr "Nicht behebbarer Fehler: %s wurde nicht gefunden.\n"
 
 #: fdisk/sfdisk.c:2743
 #, c-format
 msgid "Warning: %s is not a block device\n"
-msgstr ""
+msgstr "Warnung: %s ist kein blockorientiertes Gerät.\n"
 
 #: fdisk/sfdisk.c:2749
 msgid "Checking that no-one is using this disk right now ...\n"
 msgstr ""
+"Es wird geprüft, ob dieser Datenträger derzeit anderweitig verwendet "
+"wird...\n"
 
 #: fdisk/sfdisk.c:2751
 msgid ""
@@ -4706,65 +5106,76 @@ msgid ""
 "all file systems, and swapoff all swap partitions on this disk.Use the "
 "--no-reread flag to suppress this check.\n"
 msgstr ""
+"\n"
+"Dieser Datenträger wird derzeit verwendet - es wird nicht empfohlen, ihn neu "
+"zu partitionieren. Unmounten Sie alle Dateisysteme, und deaktivieren Sie "
+"alle Auslagerungspartitionen dieses Datenträgers mit dem Befehl 'swapoff'. "
+"Verwenden Sie das Flag '--no-reread', um diese Prüfung zu unterdrücken.\n"
 
 #: fdisk/sfdisk.c:2755
 msgid "Use the --force flag to overrule all checks.\n"
-msgstr ""
+msgstr "Verwenden Sie das Flag '--force', um alle Prüfungen zu übersteuern.\n"
 
 #: fdisk/sfdisk.c:2759
 msgid "OK"
-msgstr ""
+msgstr "OK"
 
 #: fdisk/sfdisk.c:2768
 msgid "Old situation:\n"
-msgstr ""
+msgstr "Alte Situation:\n"
 
 #: fdisk/sfdisk.c:2772
 #, c-format
 msgid "Partition %d does not exist, cannot change it\n"
-msgstr ""
+msgstr "Partition %d ist nicht vorhanden, kann nicht geändert werden.\n"
 
 #: fdisk/sfdisk.c:2780
 msgid "New situation:\n"
-msgstr ""
+msgstr "Neue Situation:\n"
 
 #: fdisk/sfdisk.c:2785
 msgid ""
 "I don't like these partitions - nothing changed.\n"
 "(If you really want this, use the --force option.)\n"
 msgstr ""
+"Diese Partitionen werden nicht empfohlen - kein Änderung vorgenommen.\n"
+"(Wenn Sie dies wirklich wünschen, verwenden Sie die Option --force.)\n"
 
 #: fdisk/sfdisk.c:2788
 msgid "I don't like this - probably you should answer No\n"
-msgstr ""
+msgstr "Wird nicht empfohlen - wählen Sie 'Nein'.\n"
 
 #: fdisk/sfdisk.c:2793
 msgid "Are you satisfied with this? [ynq] "
-msgstr ""
+msgstr "Sind Sie mit diesen Einstellungen zufrieden? [jnq]"
 
 #: fdisk/sfdisk.c:2795
 msgid "Do you want to write this to disk? [ynq] "
-msgstr ""
+msgstr "Möchten Sie dies auf die Festplatte schreiben? [jnq] "
 
 #: fdisk/sfdisk.c:2800
 msgid ""
 "\n"
 "sfdisk: premature end of input\n"
 msgstr ""
+"\n"
+"sfdisk: Vorzeitiges Ende der Eingabe.\n"
 
 #: fdisk/sfdisk.c:2802
 msgid "Quitting - nothing changed\n"
-msgstr ""
+msgstr "Beenden - Es wurden keine Änderungen vorgenommen.\n"
 
 #: fdisk/sfdisk.c:2808
 msgid "Please answer one of y,n,q\n"
-msgstr ""
+msgstr "Antworten Sie mit j, n oder b.\n"
 
 #: fdisk/sfdisk.c:2816
 msgid ""
 "Successfully wrote the new partition table\n"
 "\n"
 msgstr ""
+"Die neue Partitionstabelle wurde erfolgreich geschrieben.\n"
+"\n"
 
 #: fdisk/sfdisk.c:2822
 msgid ""
@@ -4772,10 +5183,14 @@ msgid ""
 "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 erstellt oder geändert haben (z. B. /dev/foo7)\n"
+"verwenden Sie anschließend dd(1), um die ersten 512 Bytes auf 0 zu setzen:\n"
+"dd if=/dev/zero of=/dev/foo7 bs=512 count=1\n"
+"(Siehe fdisk(8).)\n"
 
 #: games/banner.c:1048
 msgid "usage: banner [-w width]\n"
-msgstr "Aufruf: banner [-w Breite]\n"
+msgstr "Verwendung: banner [-w Breite]\n"
 
 # "Meldung"
 #: games/banner.c:1068
@@ -4785,222 +5200,219 @@ msgstr "Meldung: "
 #: games/banner.c:1102
 #, c-format
 msgid "The character '%c' is not in my character set"
-msgstr "Das Zeichen »%c« ist nicht im Zeichensatz vorhanden"
+msgstr "Das Zeichen '%c' ist nicht im Zeichensatz vorhanden."
 
 #: games/banner.c:1110
 #, c-format
 msgid "Message '%s' is OK\n"
-msgstr "Meldung »%s« ist in Ordnung\n"
+msgstr "Meldung '%s' ist in Ordnung.\n"
 
 #: getopt-1.0.3b/getopt.c:229
-#, fuzzy
 msgid "Try `getopt --help' for more information.\n"
-msgstr "»getopt --help« gibt weitere Informationen.\n"
+msgstr "Mit 'getopt --help' zeigen Sie weitere Informationen an.\n"
 
 #: getopt-1.0.3b/getopt.c:295
 msgid "empty long option after -l or --long argument"
-msgstr ""
+msgstr "Leere long-Option nach dem Argument -l oder --long"
 
 #: getopt-1.0.3b/getopt.c:315
-#, fuzzy
 msgid "unknown shell after -s or --shell argument"
 msgstr "Unbekannte Shell als Argument von -s oder --shell"
 
 #: getopt-1.0.3b/getopt.c:320
-#, fuzzy
 msgid "Usage: getopt optstring parameters\n"
-msgstr "Aufruf: getopt Optionszeichenkette Parameter\n"
+msgstr "Verwendung: getopt Optionszeichenfolge Parameter\n"
 
 #: getopt-1.0.3b/getopt.c:321
-#, fuzzy
 msgid "       getopt [options] [--] optstring parameters\n"
-msgstr "       getopt [Optionen] [--] Optionszeichenkette Parameter\n"
+msgstr "       getopt [Optionen] [--] Optionszeichenfolge Parameter\n"
 
 #: getopt-1.0.3b/getopt.c:322
 msgid "       getopt [options] -o|--options optstring [options] [--]\n"
 msgstr ""
+"       getopt [Optionen] -o|--options Optionszeichenfolge [Optionen] [--]\n"
 
 #: getopt-1.0.3b/getopt.c:323
 msgid "              parameters\n"
-msgstr ""
+msgstr "              Parameter\n"
 
 #: getopt-1.0.3b/getopt.c:324
 msgid ""
 "  -a, --alternative            Allow long options starting with single -\n"
 msgstr ""
+"  -a, --alternative            Lange Optionen mit einfachem - zulassen\n"
 
 #: getopt-1.0.3b/getopt.c:325
 msgid "  -h, --help                   This small usage guide\n"
-msgstr ""
+msgstr "  -h, --help                   Diese Informationen anzeigen\n"
 
 #: getopt-1.0.3b/getopt.c:326
 msgid "  -l, --longoptions=longopts   Long options to be recognized\n"
-msgstr ""
+msgstr "  -l, --longoptions=longopts   Lange Optionen werden erkannt\n"
 
 #: getopt-1.0.3b/getopt.c:327
 msgid ""
 "  -n, --name=progname          The name under which errors are reported\n"
 msgstr ""
+"  -n, --name=progname          Der Name, unter dem Fehler ausgegeben werden\n"
 
 #: getopt-1.0.3b/getopt.c:328
 msgid "  -o, --options=optstring      Short options to be recognized\n"
-msgstr ""
+msgstr "  -o, --options=optstring      Kurze Optionen werden erkannt\n"
 
 #: getopt-1.0.3b/getopt.c:329
 msgid "  -q, --quiet                  Disable error reporting by getopt(3)\n"
-msgstr ""
+msgstr "  -q, --quiet                  Keine Fehleranzeige durch getopt(3)\n"
 
 #: getopt-1.0.3b/getopt.c:330
 msgid "  -Q, --quiet-output           No normal output\n"
-msgstr ""
+msgstr "  -Q, --quiet-output           Keine normale Ausgabe\n"
 
 #: getopt-1.0.3b/getopt.c:331
 msgid "  -s, --shell=shell            Set shell quoting conventions\n"
-msgstr ""
+msgstr "  -s, --shell=shell            Shell-Schreibweisen festlegen\n"
 
 #: getopt-1.0.3b/getopt.c:332
 msgid "  -T, --test                   Test for getopt(1) version\n"
-msgstr ""
+msgstr "  -T, --test                   Version von getopt(1) prüfen\n"
 
 #: getopt-1.0.3b/getopt.c:333
 msgid "  -V, --version                Output version information\n"
-msgstr ""
+msgstr "  -V, --version                Versionsinformationen anzeigen\n"
 
 #: getopt-1.0.3b/getopt.c:387 getopt-1.0.3b/getopt.c:445
 msgid "missing optstring argument"
-msgstr ""
+msgstr "Argument für 'optstring' fehlt"
 
 #: getopt-1.0.3b/getopt.c:433
-#, fuzzy
 msgid "getopt (enhanced) 1.0.3\n"
 msgstr "getopt (enhanced) 1.0.3\n"
 
 #: getopt-1.0.3b/getopt.c:439
-#, fuzzy
 msgid "internal error, contact the author."
-msgstr "Interner Fehler, kontaktieren Sie den Autor."
+msgstr "Interner Fehler, treten Sie mit dem Autor in Verbindung."
 
 #: login-utils/agetty.c:306
 msgid "calling open_tty\n"
-msgstr ""
+msgstr "open_tty wird aufgerufen.\n"
 
 #. Initialize the termio settings (raw mode, eight-bit, blocking i/o).
 #: login-utils/agetty.c:319
 msgid "calling termio_init\n"
-msgstr ""
+msgstr "termio_init wird aufgerufen.\n"
 
 #: login-utils/agetty.c:324
 msgid "writing init string\n"
-msgstr ""
+msgstr "init string wird geschrieben.\n"
 
 #. Optionally detect the baud rate from the modem status message.
 #: login-utils/agetty.c:334
 msgid "before autobaud\n"
-msgstr ""
+msgstr "vor autobaud\n"
 
 #: login-utils/agetty.c:346
 msgid "waiting for cr-lf\n"
-msgstr ""
+msgstr "Neue-Zeile-Zeichen wird erwartet\n"
 
 #: login-utils/agetty.c:350
 #, c-format
 msgid "read %c\n"
-msgstr ""
+msgstr "%c lesen\n"
 
 #. Read the login name.
 #: login-utils/agetty.c:359
 msgid "reading login name\n"
-msgstr ""
+msgstr "Benutzername wird gelesen\n"
 
 #: login-utils/agetty.c:380
 #, c-format
 msgid "%s: can't exec %s: %m"
-msgstr "%s: Fehler beim Ausführen von %s: %m"
+msgstr "%s: Fehler bei der Ausführung von %s: %m"
 
 #: login-utils/agetty.c:400
 msgid "can't malloc initstring"
-msgstr "Konnte keinen Speicher für den »initstring« reservieren"
+msgstr "malloc für 'initstring' nicht erfolgreich."
 
 #: login-utils/agetty.c:465
 #, c-format
 msgid "bad timeout value: %s"
-msgstr ""
+msgstr "Ungültiger Timeout-Wert: %s"
 
 #: login-utils/agetty.c:474
 msgid "after getopt loop\n"
-msgstr ""
+msgstr "after getopt loop\n"
 
 #: login-utils/agetty.c:492
 msgid "exiting parseargs\n"
-msgstr ""
+msgstr "exiting parseargs\n"
 
 #: login-utils/agetty.c:505
 msgid "entered parse_speeds\n"
-msgstr ""
+msgstr "entered parse_speeds\n"
 
 #: login-utils/agetty.c:508
 #, c-format
 msgid "bad speed: %s"
-msgstr "falsche Geschwindigkeit: %s"
+msgstr "Falsche Geschwindigkeit: %s"
 
 #: login-utils/agetty.c:510
 msgid "too many alternate speeds"
-msgstr ""
+msgstr "Zu viele alternative Geschwindigkeiten"
 
 #: login-utils/agetty.c:512
 msgid "exiting parsespeeds\n"
-msgstr ""
+msgstr "parsespeeds beendet\n"
 
 #: login-utils/agetty.c:587
 #, c-format
 msgid "%s: open for update: %m"
-msgstr "Konnte %s nicht zum Aktualisieren öffnen: %m"
+msgstr "%s: Öffnen zur Aktualisierung: %m"
 
 #: login-utils/agetty.c:605
 #, c-format
 msgid "%s: no utmp entry"
-msgstr ""
+msgstr "%s: kein utmp-Eintrag"
 
 #: login-utils/agetty.c:634
 #, c-format
 msgid "/dev: chdir() failed: %m"
-msgstr "Konnte nicht in das Verzeichnis /dev wechseln: %m"
+msgstr "Wechseln in das Verzeichnis /dev nicht möglich: %m"
 
 #: login-utils/agetty.c:638
 #, c-format
 msgid "/dev/%s: not a character device"
-msgstr "/dev/%s ist kein zeichenorientiertes Gerät"
+msgstr "/dev/%s ist kein zeichenorientiertes Gerät."
 
 # debug
 #. ignore close(2) errors
 #: login-utils/agetty.c:645
 msgid "open(2)\n"
-msgstr ""
+msgstr "open(2)\n"
 
 #: login-utils/agetty.c:647
 #, c-format
 msgid "/dev/%s: cannot open as standard input: %m"
-msgstr "Konnte /dev/%s nicht als Standardeingabe öffnen: %m"
+msgstr "/dev/%s konnte nicht als Standardeingabe geöffnet werden: %m"
 
 #: login-utils/agetty.c:657
 #, c-format
 msgid "%s: not open for read/write"
-msgstr ""
+msgstr "%s: nicht zum Lesen/Schreiben geöffnet"
 
 #. Set up standard output and standard error file descriptors.
 #: login-utils/agetty.c:661
 msgid "duping\n"
-msgstr ""
+msgstr "Duping\n"
 
 #. set up stdout and stderr
 #: login-utils/agetty.c:663
 #, c-format
 msgid "%s: dup problem: %m"
-msgstr ""
+msgstr "%s: Duping-Problem: %m"
 
 #: login-utils/agetty.c:733
 msgid "term_io 2\n"
-msgstr ""
+msgstr "term_io 2\n"
 
 #: login-utils/agetty.c:915
 msgid "user"
@@ -5013,12 +5425,12 @@ msgstr "Benutzer"
 #: login-utils/agetty.c:1003
 #, c-format
 msgid "%s: read: %m"
-msgstr ""
+msgstr "%s: gelesen: %m"
 
 #: login-utils/agetty.c:1049
 #, c-format
 msgid "%s: input overrun"
-msgstr ""
+msgstr "%s: Eingabeüberlauf"
 
 #: login-utils/agetty.c:1173
 #, c-format
@@ -5028,36 +5440,42 @@ msgid ""
 "or\t[-hiLmw] [-l login_program] [-t timeout] [-I initstring] [-H login_host] "
 "line baud_rate,... [termtype]\n"
 msgstr ""
+"Verwendung: %s [-hiLmw] [-l Anmeldeprogramm] [-t Timeout] [-I Initstring] "
+"[-H Anmelde-Host] Baudrate,... line [Terminaltyp]\n"
+"oder\t[-hiLmw] [-l Anmeldeprogramm] [-t Timeout] [-I Initstring] [-H "
+"Anmeldehost] line Baudrate,... [Terminaltyp]\n"
 
 #: login-utils/checktty.c:46
 #, c-format
 msgid "badlogin: %s\n"
-msgstr ""
+msgstr "badlogin: %s\n"
 
 #: login-utils/checktty.c:52
 #, c-format
 msgid "sleepexit %d\n"
-msgstr ""
+msgstr "sleepexit %d\n"
 
 #: login-utils/checktty.c:108 login-utils/checktty.c:130
 msgid "login: memory low, login may fail\n"
 msgstr ""
+"login: Es ist wenig Speicher frei, der Anmeldevorgang ist möglicherweise "
+"nicht erfolgreich.\n"
 
 # This ends up in the syslog. Translate it?
 #: login-utils/checktty.c:109
 msgid "can't malloc for ttyclass"
-msgstr ""
+msgstr "Speicher für 'ttyclass' konnte nicht reserviert werden."
 
 # This ends up in the syslog. Translate it?
 #: login-utils/checktty.c:131
 msgid "can't malloc for grplist"
-msgstr ""
+msgstr "Speicher für den 'grplist' konnte nicht reserviert werden."
 
 #. there was a default rule, but user didn't match, reject!
 #: login-utils/checktty.c:431
 #, c-format
 msgid "Login on %s from %s denied by default.\n"
-msgstr ""
+msgstr "Anmeldung bei %s von %s ist standardmäßig nicht gestattet.\n"
 
 #. if we get here, /etc/usertty exists, there's a line
 #. matching our username, but it doesn't contain the
@@ -5066,229 +5484,235 @@ msgstr ""
 #: login-utils/checktty.c:442
 #, c-format
 msgid "Login on %s from %s denied.\n"
-msgstr ""
+msgstr "Anmeldung bei %s von %s verweigert.\n"
 
-#: login-utils/chfn.c:135 login-utils/chsh.c:118
+#: login-utils/chfn.c:134 login-utils/chsh.c:117
 #, c-format
 msgid "%s: you (user %d) don't exist.\n"
-msgstr ""
+msgstr "%s: Ihre Benutzerkennung (%d) ist nicht vorhanden.\n"
 
-#: login-utils/chfn.c:142 login-utils/chsh.c:125
+#: login-utils/chfn.c:141 login-utils/chsh.c:124
 #, c-format
 msgid "%s: user \"%s\" does not exist.\n"
-msgstr ""
+msgstr "%s: Benutzer '%s' ist nicht vorhanden.\n"
 
-#: login-utils/chfn.c:147 login-utils/chsh.c:130
+#: login-utils/chfn.c:146 login-utils/chsh.c:129
 #, c-format
 msgid "%s: can only change local entries; use yp%s instead.\n"
-msgstr ""
+msgstr "%s: nur lokale Einträge können geändert werden. Verwenden Sie yp%s.\n"
 
-#: login-utils/chfn.c:159
+#: login-utils/chfn.c:158
 #, c-format
 msgid "Changing finger information for %s.\n"
-msgstr ""
+msgstr "Finger-Informationen für %s werden geändert.\n"
 
-#: login-utils/chfn.c:165 login-utils/chfn.c:169 login-utils/chfn.c:176
-#: login-utils/chfn.c:180 login-utils/chsh.c:154 login-utils/chsh.c:158
-#: login-utils/chsh.c:165 login-utils/chsh.c:169
+#: login-utils/chfn.c:164 login-utils/chfn.c:168 login-utils/chfn.c:175
+#: login-utils/chfn.c:179 login-utils/chsh.c:153 login-utils/chsh.c:157
+#: login-utils/chsh.c:164 login-utils/chsh.c:168
 msgid "Password error."
-msgstr ""
+msgstr "Kennwortfehler."
 
-#: login-utils/chfn.c:189 login-utils/chsh.c:178 login-utils/login.c:684
+#: login-utils/chfn.c:188 login-utils/chsh.c:177 login-utils/login.c:684
 #: login-utils/newgrp.c:47 login-utils/simpleinit.c:219 mount/lomount.c:200
 #: mount/lomount.c:206 mount/losetup.c:116 mount/losetup.c:122
 msgid "Password: "
-msgstr "Passwort: "
+msgstr "Kennwort: "
 
-#: login-utils/chfn.c:192 login-utils/chsh.c:181
+#: login-utils/chfn.c:191 login-utils/chsh.c:180
 msgid "Incorrect password."
-msgstr ""
+msgstr "Ungültiges Kennwort."
 
-#: login-utils/chfn.c:203
+#: login-utils/chfn.c:202
 msgid "Finger information not changed.\n"
-msgstr ""
+msgstr "Finger-Informationen wurden nicht geändert.\n"
 
-#: login-utils/chfn.c:306
+#: login-utils/chfn.c:305
 #, c-format
 msgid "Usage: %s [ -f full-name ] [ -o office ] "
-msgstr ""
+msgstr "Verwendung: %s [ -f vollständiger_Name ] [ -o Arbeitsstelle ] "
 
-#: login-utils/chfn.c:307
+#: login-utils/chfn.c:306
 msgid ""
 "[ -p office-phone ]\n"
 "\t[ -h home-phone ] "
 msgstr ""
+"[ -p Telefon_Arbeit ]\n"
+"\t[ -h Telefon_Zuhause ] "
 
-#: login-utils/chfn.c:308
+#: login-utils/chfn.c:307
 msgid "[ --help ] [ --version ]\n"
-msgstr ""
+msgstr "[ --help ] [ --version ]\n"
 
-#: login-utils/chfn.c:377 login-utils/chsh.c:294
+#: login-utils/chfn.c:376 login-utils/chsh.c:293
 msgid ""
 "\n"
 "Aborted.\n"
 msgstr ""
+"\n"
+"Abgebrochen.\n"
 
-#: login-utils/chfn.c:410
+#: login-utils/chfn.c:409
 msgid "field is too long.\n"
-msgstr ""
+msgstr "Das Feld ist zu lang.\n"
 
-#: login-utils/chfn.c:418
+#: login-utils/chfn.c:417
 #, c-format
 msgid "'%c' is not allowed.\n"
-msgstr ""
+msgstr "'%c' ist nicht zulässig.\n"
 
-#: login-utils/chfn.c:423
+#: login-utils/chfn.c:422
 msgid "Control characters are not allowed.\n"
-msgstr ""
+msgstr "Steuerzeichen sind nicht zulässig.\n"
 
-#: login-utils/chfn.c:488
+#: login-utils/chfn.c:487
 msgid "Finger information *NOT* changed.  Try again later.\n"
 msgstr ""
+"Finger-Informationen wurden *NICHT* geändert. Später erneut versuchen.\n"
 
-#: login-utils/chfn.c:491
+#: login-utils/chfn.c:490
 msgid "Finger information changed.\n"
-msgstr ""
+msgstr "Finger-Informationen wurden geändert.\n"
 
-#: login-utils/chfn.c:505 login-utils/chsh.c:412 sys-utils/cytune.c:324
-#, fuzzy
+#: login-utils/chfn.c:504 login-utils/chsh.c:411 sys-utils/cytune.c:324
 msgid "malloc failed"
-msgstr "»malloc« schlug fehl"
+msgstr "'malloc' war nicht erfolgreich."
 
-#: login-utils/chsh.c:141
+#: login-utils/chsh.c:140
 #, c-format
 msgid "%s: Your shell is not in /etc/shells, shell change denied\n"
 msgstr ""
+"%s: Ihre Shell befindet sich nicht in /etc/shells, das Wechseln der Shell "
+"ist nicht gestattet.\n"
 
-#: login-utils/chsh.c:148
+#: login-utils/chsh.c:147
 #, c-format
 msgid "Changing shell for %s.\n"
-msgstr ""
+msgstr "Shell für %s wird geändert.\n"
 
-#: login-utils/chsh.c:189
+#: login-utils/chsh.c:188
 msgid "New shell"
-msgstr ""
+msgstr "Neue Shell"
 
-#: login-utils/chsh.c:196
+#: login-utils/chsh.c:195
 msgid "Shell not changed.\n"
-msgstr ""
+msgstr "Shell wurde nicht geändert.\n"
 
-#: login-utils/chsh.c:203
+#: login-utils/chsh.c:202
 msgid "Shell *NOT* changed.  Try again later.\n"
-msgstr ""
+msgstr "Shell wurde *NICHT* geändert. Später erneut versuchen.\n"
 
-#: login-utils/chsh.c:206
+#: login-utils/chsh.c:205
 msgid "Shell changed.\n"
-msgstr ""
+msgstr "Shell wurde geändert.\n"
 
-#: login-utils/chsh.c:274
+#: login-utils/chsh.c:273
 #, c-format
 msgid "Usage: %s [ -s shell ] "
-msgstr ""
+msgstr "Verwendung: %s [ -s Shell ] "
 
-#: login-utils/chsh.c:275
+#: login-utils/chsh.c:274
 msgid "[ --list-shells ] [ --help ] [ --version ]\n"
-msgstr ""
+msgstr "[ --list-shells ] [ --help ] [ --version ]\n"
 
-#: login-utils/chsh.c:276
+#: login-utils/chsh.c:275
 msgid "       [ username ]\n"
-msgstr ""
+msgstr "       [ Benutzername ]\n"
 
-#: login-utils/chsh.c:320
+#: login-utils/chsh.c:319
 #, c-format
 msgid "%s: shell must be a full path name.\n"
-msgstr ""
+msgstr "%s: Shell muss ein vollständiger Pfadname sein.\n"
 
-#: login-utils/chsh.c:324
+#: login-utils/chsh.c:323
 #, c-format
 msgid "%s: \"%s\" does not exist.\n"
-msgstr ""
+msgstr "%s: '%s' ist nicht vorhanden.\n"
 
-#: login-utils/chsh.c:328
+#: login-utils/chsh.c:327
 #, c-format
 msgid "%s: \"%s\" is not executable.\n"
-msgstr ""
+msgstr "%s: '%s' ist nicht ausführbar.\n"
 
-#: login-utils/chsh.c:335
+#: login-utils/chsh.c:334
 #, c-format
 msgid "%s: '%c' is not allowed.\n"
-msgstr ""
+msgstr "%s: '%c' ist nicht zulässig.\n"
 
-#: login-utils/chsh.c:339
+#: login-utils/chsh.c:338
 #, c-format
 msgid "%s: Control characters are not allowed.\n"
-msgstr ""
+msgstr "%s: Steuerzeichen sind nicht zulässig.\n"
 
-#: login-utils/chsh.c:346
+#: login-utils/chsh.c:345
 #, c-format
 msgid "Warning: \"%s\" is not listed in /etc/shells\n"
-msgstr ""
+msgstr "Warnung: '%s' ist nicht in /etc/shells enthalten.\n"
 
-#: login-utils/chsh.c:348
+#: login-utils/chsh.c:347
 #, c-format
 msgid "%s: \"%s\" is not listed in /etc/shells.\n"
-msgstr ""
+msgstr "%s: '%s' ist nicht in /etc/shells enthalten.\n"
 
-#: login-utils/chsh.c:350
+#: login-utils/chsh.c:349
 #, c-format
 msgid "%s: use -l option to see list\n"
-msgstr ""
+msgstr "%s: Verwenden Sie die Option -l, um die Liste anzuzeigen.\n"
 
-#: login-utils/chsh.c:356
+#: login-utils/chsh.c:355
 #, c-format
 msgid "Warning: \"%s\" is not listed in /etc/shells.\n"
-msgstr ""
+msgstr "Warnung: '%s' ist nicht in /etc/shells enthalten.\n"
 
-#: login-utils/chsh.c:357
+#: login-utils/chsh.c:356
 #, c-format
 msgid "Use %s -l to see list.\n"
-msgstr ""
+msgstr "Verwenden Sie %s -l, um die Liste anzuzeigen.\n"
 
-#: login-utils/chsh.c:378
+#: login-utils/chsh.c:377
 msgid "No known shells.\n"
-msgstr ""
+msgstr "Keine bekannten Shells.\n"
 
 #: login-utils/cryptocard.c:70
-#, fuzzy
 msgid "couldn't open /dev/urandom"
-msgstr "Konnte /dev/urandom nicht öffnen"
+msgstr "/dev/urandom konnte nicht geöffnet werden."
 
 #: login-utils/cryptocard.c:75
 msgid "couldn't read random data from /dev/urandom"
-msgstr ""
+msgstr "Zufallsdaten konnten nicht aus /dev/urandom gelesen werden."
 
 #: login-utils/cryptocard.c:98
-#, fuzzy, c-format
+#, c-format
 msgid "can't open %s for reading"
 msgstr "Konnte %s nicht zum Lesen öffnen"
 
 #: login-utils/cryptocard.c:102
 #, c-format
 msgid "can't stat(%s)"
-msgstr ""
+msgstr "stat(%s) nicht möglich."
 
 #: login-utils/cryptocard.c:108
 #, c-format
 msgid "%s doesn't have the correct filemodes"
-msgstr ""
+msgstr "%s weist nicht die korrekten Dateimodi auf."
 
 #: login-utils/cryptocard.c:113
 #, c-format
 msgid "can't read data from %s"
-msgstr ""
+msgstr "Daten von %s können nicht gelesen werden."
 
 #: login-utils/islocal.c:36
 #, c-format
 msgid "Can't read %s, exiting."
-msgstr ""
+msgstr "%s kann nicht gelesen werden, Vorgang wird beendet."
 
 #: login-utils/last.c:143
 msgid "usage: last [-#] [-f file] [-t tty] [-h hostname] [user ...]\n"
 msgstr ""
+"Verwendung: last [-#] [-f Datei] [-t tty] [-h Hostname] [Benutzer ...]\n"
 
 #: login-utils/last.c:283
 msgid "  still logged in"
-msgstr ""
+msgstr "  derzeit angemeldet"
 
 #: login-utils/last.c:305
 #, c-format
@@ -5296,14 +5720,16 @@ msgid ""
 "\n"
 "wtmp begins %s"
 msgstr ""
+"\n"
+"wtmp beginnt %s"
 
 #: login-utils/last.c:367 login-utils/last.c:387 login-utils/last.c:442
 msgid "last: malloc failure.\n"
-msgstr ""
+msgstr "last: malloc-Fehler.\n"
 
 #: login-utils/last.c:416
 msgid "last: gethostname"
-msgstr ""
+msgstr "last: gethostname"
 
 #: login-utils/last.c:469
 #, c-format
@@ -5311,24 +5737,26 @@ msgid ""
 "\n"
 "interrupted %10.10s %5.5s \n"
 msgstr ""
+"\n"
+"Unbrochen %10.10s %5.5s \n"
 
 #: login-utils/login.c:377
 msgid "login: -h for super-user only.\n"
-msgstr ""
+msgstr "login: -h kann nur vom Super-User verwendet werden.\n"
 
 #: login-utils/login.c:402
 msgid "usage: login [-fp] [username]\n"
-msgstr "Aufruf: login [-fp] [Benutzername]\n"
+msgstr "Verwendung: login [-fp] [Benutzername]\n"
 
 #: login-utils/login.c:504
 #, c-format
 msgid "login: PAM Failure, aborting: %s\n"
-msgstr ""
+msgstr "login: PAM-Fehler, Abbruch: %s\n"
 
 #: login-utils/login.c:506
 #, c-format
 msgid "Couldn't initialize PAM: %s"
-msgstr ""
+msgstr "PAM konnte nicht initialisiert werden: %s"
 
 #. Andrew.Taylor@cal.montage.ca: Provide a user prompt to PAM
 #. so that the "login: " prompt gets localized. Unfortunately,
@@ -5340,109 +5768,115 @@ msgstr "Anmeldung: "
 #: login-utils/login.c:552
 #, c-format
 msgid "FAILED LOGIN %d FROM %s FOR %s, %s"
-msgstr ""
+msgstr "ANMELDUNG %d VON %s FÜR %s NICHT ERFOLGREICH, %s"
 
 #: login-utils/login.c:554
 msgid ""
 "Login incorrect\n"
 "\n"
 msgstr ""
+"Anmeldung nicht korrekt.\n"
+"\n"
 
 #: login-utils/login.c:563
 #, c-format
 msgid "TOO MANY LOGIN TRIES (%d) FROM %s FOR %s, %s"
-msgstr ""
+msgstr "ZU VIELE ANMELDEVERSUCHE (%d) VON %s  FÜR %s, %s"
 
 #: login-utils/login.c:567
 #, c-format
 msgid "FAILED LOGIN SESSION FROM %s FOR %s, %s"
-msgstr ""
+msgstr "ANMELDESITZUNG VON %s FÜR %s NICHT ERFOLGREICH, %s"
 
 #: login-utils/login.c:570
 msgid ""
 "\n"
 "Login incorrect\n"
 msgstr ""
+"\n"
+"Anmeldung nicht korrekt.\n"
 
 #: login-utils/login.c:619
 msgid "Illegal username"
-msgstr ""
+msgstr "Benutzername unzulässig"
 
 #: login-utils/login.c:662
 #, c-format
 msgid "%s login refused on this terminal.\n"
-msgstr ""
+msgstr "%s Anmeldung bei diesem Terminal verweigert.\n"
 
 #: login-utils/login.c:667
 #, c-format
 msgid "LOGIN %s REFUSED FROM %s ON TTY %s"
-msgstr ""
+msgstr "ANMELDUNG %s VON %s AUF TTY %s VERWEIGERT."
 
 #: login-utils/login.c:671
 #, c-format
 msgid "LOGIN %s REFUSED ON TTY %s"
-msgstr ""
+msgstr "ANMELDUNG %s AUF TTY %s VERWEIGERT."
 
 #: login-utils/login.c:723
 msgid "Login incorrect\n"
-msgstr ""
+msgstr "Ungültige Anmeldung.\n"
 
 #: login-utils/login.c:745
 msgid ""
 "Too many users logged on already.\n"
 "Try again later.\n"
 msgstr ""
+"Es sind bereits zu viele Benutzer angemeldet.\n"
+"Versuchen Sie es später erneut.\n"
 
 #: login-utils/login.c:749
 msgid "You have too many processes running.\n"
-msgstr ""
+msgstr "Es werden zu viele Prozesse ausgeführt.\n"
 
 #: login-utils/login.c:795
 msgid "Warning: no Kerberos tickets issued\n"
-msgstr ""
+msgstr "Warnung: Keine Kerberos-Tickets erteilt.\n"
 
 #: login-utils/login.c:807
 msgid "Sorry -- your password has expired.\n"
-msgstr ""
+msgstr "Das Kennwort ist nicht mehr gültig.\n"
 
 #: login-utils/login.c:813
 #, c-format
 msgid "Warning: your password expires on %s %d, %d\n"
-msgstr ""
+msgstr "Warnung: Das Kennwort wird am %d. %s %d ungültig.\n"
 
 #: login-utils/login.c:821
 msgid "Sorry -- your account has expired.\n"
-msgstr ""
+msgstr "Das Konto ist nicht mehr gültig.\n"
 
 #: login-utils/login.c:827
 #, c-format
 msgid "Warning: your account expires on %s %d, %d\n"
-msgstr ""
+msgstr "Warnung: Das Konto wird am %d. %s %d ungültig.\n"
 
 #: login-utils/login.c:1061
 #, c-format
 msgid "DIALUP AT %s BY %s"
-msgstr ""
+msgstr "DFÜ MIT %s DURCH %s"
 
 #: login-utils/login.c:1068
 #, c-format
 msgid "ROOT LOGIN ON %s FROM %s"
-msgstr ""
+msgstr "ROOT-ANMELDUNG BEI %s VON %s"
 
 #: login-utils/login.c:1071
 #, c-format
 msgid "ROOT LOGIN ON %s"
-msgstr ""
+msgstr "ROOT-ANMELDUNG BEI %s"
 
 #: login-utils/login.c:1074
 #, c-format
 msgid "LOGIN ON %s BY %s FROM %s"
-msgstr ""
+msgstr "ANMELDUNG BEI %s DURCH %s VON %s"
 
 #: login-utils/login.c:1077
 #, c-format
 msgid "LOGIN ON %s BY %s"
-msgstr ""
+msgstr "ROOT-ANMELDUNG BEI %s DURCH %s"
 
 #: login-utils/login.c:1089
 #, c-format
@@ -5457,34 +5891,34 @@ msgstr "neue "
 #: login-utils/login.c:1108
 #, c-format
 msgid "login: failure forking: %s"
-msgstr "login: Kann keinen neuen Prozeß erzeugen: %s"
+msgstr "login: Es kann kein neuer Prozess erzeugt werden: %s"
 
 #: login-utils/login.c:1123
 msgid "setuid() failed"
-msgstr ""
+msgstr "setuid() nicht erfolgreich."
 
 #: login-utils/login.c:1129
 #, c-format
 msgid "No directory %s!\n"
-msgstr "Konnte nicht in das Verzeichnis %s wechseln!\n"
+msgstr "Verzeichnis %s ist nicht vorhanden!\n"
 
 #: login-utils/login.c:1133
 msgid "Logging in with home = \"/\".\n"
-msgstr ""
+msgstr "Anmeldung erfolgt, home-Verzeichnis = '/'.\n"
 
 #: login-utils/login.c:1141
 msgid "login: no memory for shell script.\n"
-msgstr ""
+msgstr "login: Kein Speicher für Shell-Skript verfügbar.\n"
 
 #: login-utils/login.c:1169
 #, c-format
 msgid "login: couldn't exec shell script: %s.\n"
-msgstr ""
+msgstr "login: Shell-Skript konnte nicht ausgeführt werden: %s.\n"
 
 #: login-utils/login.c:1172
 #, c-format
 msgid "login: no shell: %s.\n"
-msgstr ""
+msgstr "login: Keine Shell: %s.\n"
 
 #: login-utils/login.c:1188
 #, c-format
@@ -5497,28 +5931,28 @@ msgstr ""
 
 #: login-utils/login.c:1199
 msgid "login name much too long.\n"
-msgstr ""
+msgstr "Der Benutzername ist viel zu lang.\n"
 
 #: login-utils/login.c:1200
 msgid "NAME too long"
-msgstr ""
+msgstr "NAME ist zu lang."
 
 #: login-utils/login.c:1207
 msgid "login names may not start with '-'.\n"
-msgstr "Benutzernamen dürfen nicht mit einem »-« anfangen.\n"
+msgstr "Benutzernamen dürfen nicht mit einem '-' anfangen.\n"
 
 #: login-utils/login.c:1217
 msgid "too many bare linefeeds.\n"
-msgstr ""
+msgstr "zu viele leere Zeilenvorschubzeichen.\n"
 
 #: login-utils/login.c:1218
 msgid "EXCESSIVE linefeeds"
-msgstr ""
+msgstr "ZU VIELE Zeilenvorschubzeichen"
 
 #: login-utils/login.c:1229
 #, c-format
 msgid "Login timed out after %d seconds\n"
-msgstr ""
+msgstr "Zeitablauf bei der Anmeldung nach %d Sekunden.\n"
 
 #: login-utils/login.c:1329
 #, c-format
@@ -5539,236 +5973,241 @@ msgstr "auf %.*s\n"
 #: login-utils/login.c:1359
 #, c-format
 msgid "LOGIN FAILURE FROM %s, %s"
-msgstr ""
+msgstr "ANMELDEFEHLER VON %s, %s"
 
 # This ends up in the syslog. Translate it?
 #: login-utils/login.c:1362
 #, c-format
 msgid "LOGIN FAILURE ON %s, %s"
-msgstr ""
+msgstr "ANMELDEFEHLER AUF %s, %s"
 
 # This ends up in the syslog. Translate it?
 #: login-utils/login.c:1366
 #, c-format
 msgid "%d LOGIN FAILURES FROM %s, %s"
-msgstr ""
+msgstr "%d ANMELDEFEHLER VON %s, %s"
 
 # This ends up in the syslog. Translate it?
 #: login-utils/login.c:1369
 #, c-format
 msgid "%d LOGIN FAILURES ON %s, %s"
-msgstr ""
+msgstr "%d ANMELDEFEHLER AUF %s, %s"
 
 #: login-utils/mesg.c:89
 msgid "is y\n"
-msgstr ""
+msgstr "ist y\n"
 
 #: login-utils/mesg.c:92
 msgid "is n\n"
-msgstr ""
+msgstr "ist n\n"
 
 #: login-utils/mesg.c:112
 msgid "usage: mesg [y | n]\n"
-msgstr "Aufruf: mesg [y | n]\n"
+msgstr "Verwendung: mesg [y | n]\n"
 
 #: login-utils/newgrp.c:67
 msgid "newgrp: Who are you?"
-msgstr ""
+msgstr "newgrp: Wer sind Sie?"
 
 #: login-utils/newgrp.c:75 login-utils/newgrp.c:85
 msgid "newgrp: setgid"
-msgstr ""
+msgstr "newgrp: setgid"
 
 #: login-utils/newgrp.c:80
 msgid "newgrp: No such group."
-msgstr ""
+msgstr "newgrp: Diese Gruppe existiert nicht."
 
 #: login-utils/newgrp.c:89
 msgid "newgrp: Permission denied"
-msgstr ""
+msgstr "newgrp: Zugriff verweigert."
 
 #: login-utils/newgrp.c:96
 msgid "newgrp: setuid"
-msgstr ""
+msgstr "newgrp: setuid"
 
 #: login-utils/newgrp.c:102
 msgid "No shell"
-msgstr ""
+msgstr "Keine Shell"
 
-#: login-utils/passwd.c:163
+#: login-utils/passwd.c:161
 msgid "The password must have at least 6 characters, try again.\n"
 msgstr ""
+"Das Kennwort muss mindestens 6 Zeichen umfassen. Versuchen Sie es erneut.\n"
 
-#: login-utils/passwd.c:176
+#: login-utils/passwd.c:174
 msgid "The password must contain characters out of two of the following\n"
 msgstr ""
+"Das Kennwort muss Zeichen aus zwei der folgenden Kategorien enthalten:\n"
 
-#: login-utils/passwd.c:177
+#: login-utils/passwd.c:175
 msgid "classes:  upper and lower case letters, digits and non alphanumeric\n"
 msgstr ""
+"Groß- und Kleinbuchstaben, Ziffern und nicht-alphanumerische Zeichen.\n"
 
-#: login-utils/passwd.c:178
+#: login-utils/passwd.c:176
 msgid "characters. See passwd(1) for more information.\n"
-msgstr ""
+msgstr "Weitere Informationen finden Sie in passwd(1).\n"
 
-#: login-utils/passwd.c:183
+#: login-utils/passwd.c:181
 msgid "You cannot reuse the old password.\n"
-msgstr ""
+msgstr "Das alte Kennwort kann nicht erneut verwendet werden.\n"
 
-#: login-utils/passwd.c:188
+#: login-utils/passwd.c:186
 msgid "Please don't use something like your username as password!\n"
-msgstr ""
+msgstr "Verwenden Sie nicht Ihren Benutzernamen als Kennwort!\n"
 
-#: login-utils/passwd.c:199 login-utils/passwd.c:206
+#: login-utils/passwd.c:197 login-utils/passwd.c:204
 msgid "Please don't use something like your realname as password!\n"
-msgstr ""
+msgstr "Verwenden Sie nicht Ihren Personennamen als Kennwort!\n"
 
-#: login-utils/passwd.c:223
+#: login-utils/passwd.c:221
 msgid "Usage: passwd [username [password]]\n"
-msgstr ""
+msgstr "Verwendung: passwd [Benutzername [Kennwort]]\n"
 
-#: login-utils/passwd.c:224
+#: login-utils/passwd.c:222
 msgid "Only root may use the one and two argument forms.\n"
 msgstr ""
+"Das Format mit einem und zwei Argumenten kann nur von 'root' verwendet "
+"werden.\n"
 
-#: login-utils/passwd.c:280
+#: login-utils/passwd.c:278
 msgid "Usage: passwd [-foqsvV] [user [password]]\n"
-msgstr ""
+msgstr "Verwendung: passwd [-foqsvV] [Benutzer [Kennwort]]\n"
 
-#: login-utils/passwd.c:301
+#: login-utils/passwd.c:299
 #, c-format
 msgid "Can't exec %s: %s\n"
-msgstr ""
+msgstr "Ausführung von %s nicht möglich: %s\n"
 
-#: login-utils/passwd.c:312
+#: login-utils/passwd.c:310
 msgid "Cannot find login name"
-msgstr ""
+msgstr "Benutzername wurde nicht gefunden."
 
-#: login-utils/passwd.c:319 login-utils/passwd.c:326
+#: login-utils/passwd.c:317 login-utils/passwd.c:324
 msgid "Only root can change the password for others.\n"
-msgstr ""
+msgstr "Nur 'root' kann das Kennwort von anderen Personen ändern.\n"
 
-#: login-utils/passwd.c:334
+#: login-utils/passwd.c:332
 msgid "Too many arguments.\n"
-msgstr ""
+msgstr "Zu viele Argumente.\n"
 
-#: login-utils/passwd.c:339
+#: login-utils/passwd.c:337
 #, c-format
 msgid "Can't find username anywhere. Is `%s' really a user?"
-msgstr ""
+msgstr "Benutzername wurde nicht gefunden. Ist '%s' tatsächlich ein Benutzer?"
 
-#: login-utils/passwd.c:343
+#: login-utils/passwd.c:341
 msgid "Sorry, I can only change local passwords. Use yppasswd instead."
-msgstr ""
+msgstr "Nur lokale Kennwörter können geändert werden. Verwenden Sie yppasswd."
 
-#: login-utils/passwd.c:349
+#: login-utils/passwd.c:347
 msgid "UID and username does not match, imposter!"
-msgstr ""
+msgstr "UID und Benutzername stimmen nicht überein!"
 
-#: login-utils/passwd.c:354
+#: login-utils/passwd.c:352
 #, c-format
 msgid "Changing password for %s\n"
-msgstr ""
+msgstr "Kennwort für %s wird geändert.\n"
 
-#: login-utils/passwd.c:358
+#: login-utils/passwd.c:356
 msgid "Enter old password: "
-msgstr ""
+msgstr "Geben Sie das alte Kennwort ein: "
 
-#: login-utils/passwd.c:360
+#: login-utils/passwd.c:358
 msgid "Illegal password, imposter."
-msgstr ""
+msgstr "Ungültiges Kennwort!"
 
-#: login-utils/passwd.c:372
+#: login-utils/passwd.c:370
 msgid "Enter new password: "
-msgstr ""
+msgstr "Geben Sie das neue Kennwort ein: "
 
-#: login-utils/passwd.c:374
+#: login-utils/passwd.c:372
 msgid "Password not changed."
-msgstr ""
+msgstr "Kennwort wurde nicht geändert."
 
-#: login-utils/passwd.c:384
+#: login-utils/passwd.c:382
 msgid "Re-type new password: "
-msgstr ""
+msgstr "Geben Sie das neue Kennwort erneut ein: "
 
-#: login-utils/passwd.c:387
+#: login-utils/passwd.c:385
 msgid "You misspelled it. Password not changed."
-msgstr ""
+msgstr "Eingabefehler. Kennwort wurde nicht geändert."
 
-#: login-utils/passwd.c:402
+#: login-utils/passwd.c:400
 #, c-format
 msgid "password changed, user %s"
-msgstr ""
+msgstr "Kennwort geändert, Benutzer %s"
 
-#: login-utils/passwd.c:405
+#: login-utils/passwd.c:403
 msgid "ROOT PASSWORD CHANGED"
-msgstr ""
+msgstr "ROOT-KENNWORT GEÄNDERT"
 
-#: login-utils/passwd.c:407
+#: login-utils/passwd.c:405
 #, c-format
 msgid "password changed by root, user %s"
-msgstr ""
+msgstr "Kennwort von root geändert, Benutzer %s"
 
-#: login-utils/passwd.c:414
+#: login-utils/passwd.c:412
 msgid "calling setpwnam to set password.\n"
-msgstr ""
+msgstr "setpwnam wird aufgerufen, um das Kennwort festzulegen.\n"
 
-#: login-utils/passwd.c:418
+#: login-utils/passwd.c:416
 msgid "Password *NOT* changed.  Try again later.\n"
-msgstr ""
+msgstr "Kennwort *NICHT* geändert. Versuchen Sie es später erneut.\n"
 
-#: login-utils/passwd.c:424
+#: login-utils/passwd.c:422
 msgid "Password changed.\n"
-msgstr ""
+msgstr "Kennwort geändert.\n"
 
 #: login-utils/shutdown.c:85
 msgid "Usage: shutdown [-h|-r] [-fqs] [now|hh:ss|+mins]\n"
-msgstr ""
+msgstr "Verwendung: shutdown [-h|-r] [-fqs] [now|hh:ss|+Minuten]\n"
 
 #: login-utils/shutdown.c:103
 msgid "Shutdown process aborted"
-msgstr ""
+msgstr "Herunterfahren wurde abgebrochen."
 
 #: login-utils/shutdown.c:125
 #, c-format
 msgid "%s: Only root can shut a system down.\n"
-msgstr ""
+msgstr "%s: Das System kann nur von 'root' heruntergefahren werden.\n"
 
 #: login-utils/shutdown.c:219
 msgid "That must be tomorrow, can't you wait till then?\n"
-msgstr ""
+msgstr "Dies muss morgen erfolgen. Können Sie so lange warten?\n"
 
 #: login-utils/shutdown.c:271
 msgid "for maintenance; bounce, bounce"
-msgstr ""
+msgstr "für Wartungsarbeiten; bounce, bounce"
 
 #: login-utils/shutdown.c:275
 #, c-format
 msgid "timeout = %d, quiet = %d, reboot = %d\n"
-msgstr ""
+msgstr "timeout = %d, quiet = %d, reboot = %d\n"
 
 #: login-utils/shutdown.c:300
 msgid "The system is being shut down within 5 minutes"
-msgstr ""
+msgstr "Das System wird in den nächsten 5 Minuten heruntergefahren."
 
 #: login-utils/shutdown.c:304
 msgid "Login is therefore prohibited."
-msgstr ""
+msgstr "Die Anmeldung ist daher nicht möglich."
 
 # This ends up in the syslog. Translate it?
 #: login-utils/shutdown.c:325
 #, c-format
 msgid "%s by %s: %s"
-msgstr ""
+msgstr "%s von %s: %s"
 
 # This ends up in the syslog. Translate it?
 #: login-utils/shutdown.c:326
 msgid "rebooted"
-msgstr ""
+msgstr "Neustart"
 
 # This ends up in the syslog. Translate it?
 #: login-utils/shutdown.c:326
 msgid "halted"
-msgstr ""
+msgstr "Angehalten"
 
 #. RB_AUTOBOOT
 #: login-utils/shutdown.c:377
@@ -5776,103 +6215,106 @@ msgid ""
 "\n"
 "Why am I still alive after reboot?"
 msgstr ""
+"\n"
+"Nach Neustart immer noch aktiv?"
 
 #: login-utils/shutdown.c:379
 msgid ""
 "\n"
 "Now you can turn off the power..."
 msgstr ""
+"\n"
+"Sie können den Computer jetzt ausschalten..."
 
 #: login-utils/shutdown.c:394
 msgid "Calling kernel power-off facility...\n"
-msgstr ""
+msgstr "Kernel-Ausschaltfunktion wird aufgerufen...\n"
 
 #: login-utils/shutdown.c:397
 #, c-format
 msgid "Error powering off\t%s\n"
-msgstr ""
+msgstr "Fehler beim Ausschalten\t%s\n"
 
 #: login-utils/shutdown.c:405
 #, c-format
 msgid "Executing the program \"%s\" ...\n"
-msgstr ""
+msgstr "Programm '%s' wird ausgeführt...\n"
 
 #: login-utils/shutdown.c:408
 #, c-format
 msgid "Error executing\t%s\n"
-msgstr ""
+msgstr "Fehler bei der Ausführung von\t%s\n"
 
 #: login-utils/shutdown.c:431
 #, c-format
 msgid "\aURGENT: broadcast message from %s:"
-msgstr ""
+msgstr "\aDRINGEND: Broadcast-Nachricht von %s:"
 
 #: login-utils/shutdown.c:437
 msgid "System going down IMMEDIATELY!\n"
-msgstr ""
+msgstr "Das System wird SOFORT heruntergefahren!\n"
 
 #: login-utils/shutdown.c:440
 #, c-format
 msgid "System going down in %d hour%s %d minutes"
-msgstr ""
+msgstr "Das System wird in %d Stunde%n, %d Minuten heruntergefahren."
 
-# This seems to be a plural s, which isn't good 
-# for something, that should be translated.
 #: login-utils/shutdown.c:441 login-utils/shutdown.c:444
 msgid "s"
-msgstr ""
+msgstr "n"
 
 #: login-utils/shutdown.c:443
 #, c-format
 msgid "System going down in %d minute%s\n"
-msgstr ""
+msgstr "Das System wird in %d Minute%s heruntergefahren.\n"
 
 #: login-utils/shutdown.c:449
 #, c-format
 msgid "\t... %s ...\n"
-msgstr ""
+msgstr "\t... %s ...\n"
 
 #: login-utils/shutdown.c:506
 msgid "Cannot fork for swapoff. Shrug!"
-msgstr ""
+msgstr "Prozess für swapoff kann nicht erzeugt werden."
 
 #: login-utils/shutdown.c:514
 msgid "Cannot exec swapoff, hoping umount will do the trick."
 msgstr ""
+"swapoff kann nicht ausgeführt werden. Statt dessen wird umount ausgeführt."
 
 #: login-utils/shutdown.c:533
 msgid "Cannot fork for umount, trying manually."
-msgstr ""
+msgstr "Prozess für umount kann nicht erzeugt werden, manuell versuchen."
 
 #: login-utils/shutdown.c:542
 #, c-format
 msgid "Cannot exec %s, trying umount.\n"
-msgstr ""
+msgstr "%s kann nicht ausgeführt werden, statt dessen wird umount versucht.\n"
 
 #: login-utils/shutdown.c:546
 msgid "Cannot exec umount, giving up on umount."
-msgstr ""
+msgstr "umount kann nicht ausgeführt werden, Versuch wird aufgegeben."
 
 #: login-utils/shutdown.c:551
 msgid "Unmounting any remaining filesystems..."
-msgstr ""
+msgstr "Unmounten aller restlichen Dateisysteme im Gange..."
 
 #: login-utils/shutdown.c:587
 #, c-format
 msgid "shutdown: Couldn't umount %s\n"
-msgstr ""
+msgstr "shutdown: umount für %s nicht erfolgreich.\n"
 
 #: login-utils/simpleinit.c:79
 msgid "Booting to single user mode.\n"
-msgstr ""
+msgstr "Booten für Einzelbenutzermodus.\n"
 
 #: login-utils/simpleinit.c:83
 msgid "exec of single user shell failed\n"
-msgstr ""
+msgstr "Ausführung der Einzelbenutzer-Shell nicht erfolgreich.\n"
 
 #: login-utils/simpleinit.c:87
 msgid "fork of single user shell failed\n"
-msgstr ""
+msgstr "Prozesserzeugung für Einzelbenutzer-Shell nicht erfolgreich.\n"
 
 #: login-utils/simpleinit.c:226
 msgid ""
@@ -5880,171 +6322,171 @@ msgid ""
 "Wrong password.\n"
 msgstr ""
 "\n"
-"Falsches Passwort.\n"
+"Falsches Kennwort.\n"
 
 #: login-utils/simpleinit.c:252
 msgid "exec rc failed\n"
-msgstr ""
+msgstr "Ausführung der rc-Datei nicht erfolgreich.\n"
 
 #: login-utils/simpleinit.c:255
 msgid "open of rc file failed\n"
-msgstr ""
+msgstr "Öffnen der rc-Datei nicht erfolgreich.\n"
 
 #: login-utils/simpleinit.c:261
 msgid "fork of rc shell failed\n"
-msgstr ""
+msgstr "Prozesserzeugung für rc-Shell nicht erfolgreich.\n"
 
 #: login-utils/simpleinit.c:273
 msgid "fork failed\n"
-msgstr ""
+msgstr "Prozesserzeugung nicht erfolgreich.\n"
 
 # 
 #: login-utils/simpleinit.c:302 text-utils/more.c:1549
 msgid "exec failed\n"
-msgstr "»exec()« schlug fehl\n"
+msgstr "Ausführung nicht erfolgreich.\n"
 
 #: login-utils/simpleinit.c:324
 msgid "cannot open inittab\n"
-msgstr ""
+msgstr "inittab kann nicht geöffnet werden.\n"
 
 #: login-utils/simpleinit.c:362
 msgid "no TERM or cannot stat tty\n"
 msgstr ""
+"Kein Terminal vorhanden oder Anwendung von 'stat' auf tty nicht möglich.\n"
 
 #: login-utils/ttymsg.c:81
 msgid "too many iov's (change code in wall/ttymsg.c)"
-msgstr ""
+msgstr "Zu viele IOV-Verweise (Code in wall/ttymsg.c bearbeiten)"
 
 #: login-utils/ttymsg.c:91
 msgid "excessively long line arg"
-msgstr ""
+msgstr "Zeilenargument zu lang"
 
 # This is only used, when strerror(errno) is much too long
 #: login-utils/ttymsg.c:145
 msgid "cannot fork"
-msgstr "Kann keinen neuen Prozeß erzeugen"
+msgstr "Prozesserzeugung nicht möglich"
 
 # This is used normaly
 #: login-utils/ttymsg.c:149
 #, c-format
 msgid "fork: %s"
-msgstr "Prozeßerzeugung (fork): %s"
+msgstr "Prozesserzeugung: %s"
 
 #: login-utils/ttymsg.c:177
 #, c-format
 msgid "%s: BAD ERROR"
-msgstr ""
+msgstr "%s: FEHLER"
 
 #: login-utils/vipw.c:149
 #, c-format
 msgid "%s: the %s file is busy.\n"
-msgstr ""
+msgstr "%s: die %s-Datei ist in Gebrauch.\n"
 
 #: login-utils/vipw.c:165
 #, c-format
 msgid "%s: the %s file is busy (%s present)\n"
-msgstr ""
+msgstr "%s: die %s-Datei ist in Gebrauch (gegenwärtig %s)\n"
 
 #: login-utils/vipw.c:171
 #, c-format
 msgid "%s: can't link %s: %s\n"
-msgstr ""
+msgstr "%s: keine Verknüpfung möglich für %s: %s\n"
 
 #: login-utils/vipw.c:193
 #, c-format
 msgid "%s: can't unlock %s: %s (your changes are still in %s)\n"
 msgstr ""
+"%s: Freigabe von %s nicht möglich: %s (Ihre Änderungen verbleiben in %s)\n"
 
 #: login-utils/vipw.c:217
 #, c-format
 msgid "%s: Cannot fork\n"
-msgstr "%s: Kann keinen neuen Prozeß erzeugen\n"
+msgstr "%s: Prozesserzeugung nicht möglich\n"
 
 #: login-utils/vipw.c:257
 #, c-format
 msgid "%s: %s unchanged\n"
-msgstr ""
+msgstr "%s: %s wurde nicht geändert\n"
 
 #: login-utils/vipw.c:300
 #, c-format
 msgid "%s: no changes made\n"
-msgstr ""
+msgstr "%s: keine Änderungen vorgenommen\n"
 
 #: login-utils/wall.c:103
 #, c-format
 msgid "usage: %s [file]\n"
-msgstr "Aufruf: %s [Datei]\n"
+msgstr "Verwendung: %s [Datei]\n"
 
 #: login-utils/wall.c:151
 #, c-format
 msgid "%s: can't open temporary file.\n"
-msgstr "%s: Konnte eine temporäre Datei nicht öffnen.\n"
+msgstr "%s: Eine temporäre Datei konnte nicht geöffnet werden.\n"
 
-# XXX - Have to look at other OSs translation for Broadcast
-# Message
 #: login-utils/wall.c:178
 #, c-format
 msgid "Broadcast Message from %s@%s"
-msgstr "Rundsendenachricht von %s@%s"
+msgstr "Broadcast-Nachricht von %s@%s"
 
 #: login-utils/wall.c:188
 #, c-format
 msgid "%s: can't read %s.\n"
-msgstr "%s: Konnte %s nicht lesen.\n"
+msgstr "%s: %s konnte nicht gelesen werden.\n"
 
 #: login-utils/wall.c:213
 #, c-format
 msgid "%s: can't stat temporary file.\n"
-msgstr "%s: Konnte »stat« nicht auf eine temporäre Datei anwenden.\n"
+msgstr "%s: 'stat' konnte nicht auf die temporäre Datei angewandt werden.\n"
 
 #: login-utils/wall.c:222
 #, c-format
 msgid "%s: can't read temporary file.\n"
-msgstr "%s: Konnte eine temporäre Datei nicht lesen.\n"
+msgstr "%s: Temporäre Datei konnte nicht gelesen werden.\n"
 
-#: misc-utils/cal.c:184
+#: misc-utils/cal.c:189
 msgid "illegal month value: use 1-12"
-msgstr ""
+msgstr "Monatsangabe ungültig. Gültige Werte: 1-12"
 
-#: misc-utils/cal.c:188
+#: misc-utils/cal.c:193
 msgid "illegal year value: use 1-9999"
-msgstr ""
+msgstr "Jahresangabe ungültig. Gültige Werte: 1-9999"
 
-#: misc-utils/cal.c:484
-msgid "usage: cal [-mjy] [[month] year]\n"
-msgstr "Aufruf: cal [-mjy] [[Monat] Jahr]\n"
+#: misc-utils/cal.c:489
+msgid "usage: cal [-mjyV] [[month] year]\n"
+msgstr "Verwendung: cal [-mjyV] [[Monat] Jahr]\n"
 
-#: misc-utils/ddate.c:184
+#: misc-utils/ddate.c:192
 #, c-format
 msgid "usage: %s [+format] [day month year]\n"
-msgstr ""
+msgstr "Verwendung: %s [+Format] [Tag Monat Jahr]\n"
 
 #. handle St. Tib's Day
-#: misc-utils/ddate.c:230
+#: misc-utils/ddate.c:238
 msgid "St. Tib's Day"
-msgstr ""
+msgstr "St.-Tib-Tag"
 
-#: misc-utils/kill.c:199
+#: misc-utils/kill.c:209
 #, c-format
 msgid "%s: unknown signal %s\n"
 msgstr "%s: Unbekanntes Signal %s\n"
 
-#: misc-utils/kill.c:261
+#: misc-utils/kill.c:271
 #, c-format
 msgid "%s: can't find process \"%s\"\n"
-msgstr "%s: Konnte den Prozeß »%s« nicht finden.\n"
+msgstr "%s: Prozess '%s' wurde nicht gefunden.\n"
 
-#: misc-utils/kill.c:303
+#: misc-utils/kill.c:315
 #, c-format
 msgid "%s: unknown signal %s; valid signals:\n"
 msgstr "%s: Unbekanntes Signal %s; gültige Signale:\n"
 
-#: misc-utils/kill.c:343
+#: misc-utils/kill.c:355
 #, c-format
 msgid "usage: %s [ -s signal | -p ] [ -a ] pid ...\n"
-msgstr "Aufruf: %s [ -s Signal | -p ] [ -a ] PID ...\n"
+msgstr "Verwendung: %s [ -s Signal | -p ] [ -a ] PID ...\n"
 
-#: misc-utils/kill.c:344
+#: misc-utils/kill.c:356
 #, c-format
 msgid "       %s -l [ signal ]\n"
 msgstr "        %s -l [ Signal ]\n"
@@ -6052,33 +6494,33 @@ msgstr "        %s -l [ Signal ]\n"
 #: misc-utils/logger.c:144
 #, c-format
 msgid "logger: %s: %s.\n"
-msgstr "logger: Konnte %s nicht öffnen: %s.\n"
+msgstr "logger: %s: %s.\n"
 
-#: misc-utils/logger.c:241
+#: misc-utils/logger.c:248
 #, c-format
 msgid "logger: unknown facility name: %s.\n"
-msgstr "logger: Unbekannter »Facility«-Name: %s.\n"
+msgstr "logger: Unbekannter 'Facility'-Name: %s.\n"
 
-#: misc-utils/logger.c:253
+#: misc-utils/logger.c:260
 #, c-format
 msgid "logger: unknown priority name: %s.\n"
 msgstr "logger: Unbekannter Prioritätsname: %s.\n"
 
-#: misc-utils/logger.c:280
+#: misc-utils/logger.c:287
 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"
+"Verwendung: logger [-is] [-f Datei] [-p Pri] [-t Tag] [-u Socket] [ Meldung "
+"... ]\n"
 
-#: misc-utils/look.c:340
+#: misc-utils/look.c:336
 msgid "usage: look [-dfa] [-t char] string [file]\n"
-msgstr "Aufruf: look [-dfa] [-t Endzeichen] Zeichenkette [Datei]\n"
+msgstr "Verwendung: look [-dfa] [-t Endzeichen] Zeichenfolge [Datei]\n"
 
 #: misc-utils/mcookie.c:122 misc-utils/mcookie.c:149
 #, c-format
 msgid "Could not open %s\n"
-msgstr "Konnte %s nicht öffnen\n"
+msgstr "%s konnte nicht geöffnet werden.\n"
 
 #: misc-utils/mcookie.c:126 misc-utils/mcookie.c:145
 #, c-format
@@ -6088,64 +6530,61 @@ msgstr "%d Bytes aus %s gelesen\n"
 #: misc-utils/namei.c:107
 #, c-format
 msgid "namei: unable to get current directory - %s\n"
-msgstr "namei: Konnte das aktuelle Verzeichnis nicht feststellen: %s\n"
+msgstr "namei: Das aktuelle Verzeichnis konnte nicht ermittelt werden: %s\n"
 
 #: misc-utils/namei.c:118
 #, c-format
 msgid "namei: unable to chdir to %s - %s (%d)\n"
-msgstr "namei: Konnte nicht in das Verzeichnis %s wechseln - %s (%d)\n"
+msgstr "namei: Wechseln in das Verzeichnis %s nicht möglich - %s (%d)\n"
 
 #: misc-utils/namei.c:128
 msgid "usage: namei [-mx] pathname [pathname ...]\n"
-msgstr "Aufruf: namei [-mx] Dateiname [Dateiname ...]\n"
+msgstr "Verwendung: namei [-mx] Pfad [Pfad ...]\n"
 
 #: misc-utils/namei.c:157
 msgid "namei: could not chdir to root!\n"
-msgstr "namei: Konnte nicht in das root-Verzeichnis wechseln!\n"
+msgstr "namei: Wechseln in das root-Verzeichnis nicht möglich!\n"
 
 # XXX
 #: misc-utils/namei.c:164
 msgid "namei: could not stat root!\n"
-msgstr ""
+msgstr "namei: 'stat' konnte nicht auf 'root' angewandt werden!\n"
 
 #: misc-utils/namei.c:219
 #, c-format
 msgid " ? could not chdir into %s - %s (%d)\n"
-msgstr " ? Konnte nicht in das Verzeichnis %s wechseln - %s (%d)\n"
+msgstr " ? Wechseln in das Verzeichnis %s nicht möglich - %s (%d)\n"
 
 #: misc-utils/namei.c:248
 #, c-format
 msgid " ? problems reading symlink %s - %s (%d)\n"
-msgstr " ? Probleme beim Lesen der symbolischen Verknüpfung %s - %s (%d)\n"
+msgstr " ? Fehler beim Lesen der symbolischen Verknüpfung %s - %s (%d)\n"
 
 #: misc-utils/namei.c:258
-msgid "  *** EXCEEDED UNIX LIMIT OF SYMLINKS ***"
-msgstr ""
-"  *** Die maximale Zahl der symbolischen Verknüpfungen wurde überschritten "
-"***"
+msgid "  *** EXCEEDED UNIX LIMIT OF SYMLINKS ***\n"
+msgstr "  *** HÖCHSTZAHL SYMBOLISCHER VERKNÜPFUNGEN ÜBERSCHRITTEN ***\n"
 
-#: misc-utils/namei.c:294
+#: misc-utils/namei.c:295
 #, c-format
 msgid "namei: unknown file type 0%06o on file %s\n"
 msgstr "namei: Unbekannter Dateityp 0%06o der Datei %s\n"
 
 #: misc-utils/script.c:109
 msgid "usage: script [-a] [file]\n"
-msgstr "Aufruf: script [-a] [Datei]\n"
+msgstr "Verwendung: script [-a] [Datei]\n"
 
 # Not realy nice...
 #: misc-utils/script.c:129
 #, c-format
 msgid "Script started, file is %s\n"
-msgstr "»Script« wurde gestartet, die Datei ist %s\n"
+msgstr "'Script' wurde gestartet, die Datei ist %s\n"
 
 # The %s must be at the end, cause it contains the \n
 #: misc-utils/script.c:198
 #, c-format
 msgid "Script started on %s"
-msgstr "»Script« wurde gestartet: %s"
+msgstr "'Script' wurde gestartet: %s"
 
-# The %s must be at the end, cause it contains the \n
 #: misc-utils/script.c:264
 #, c-format
 msgid ""
@@ -6153,26 +6592,26 @@ msgid ""
 "Script done on %s"
 msgstr ""
 "\n"
-"»Script« beendet: %s"
+"'Script' beendet: %s"
 
 #: misc-utils/script.c:269
 #, c-format
 msgid "Script done, file is %s\n"
-msgstr "»Script« wurde beendet, die Datei ist %s\n"
+msgstr "'Script' wurde beendet, die Datei ist %s\n"
 
 #: misc-utils/script.c:281
 msgid "openpty failed\n"
-msgstr "»openpty« ist fehlgeschlagen\n"
+msgstr "'openpty' nicht erfolgreich\n"
 
 #: misc-utils/script.c:315
 msgid "Out of pty's\n"
-msgstr "Keine ptys mehr.\n"
+msgstr "Keine PTYs mehr.\n"
 
 #. Print error message about arguments, and the command's syntax.
 #: misc-utils/setterm.c:713
 #, c-format
 msgid "%s: Argument error, usage\n"
-msgstr "%s: Fehler bei den Argumenten; Aufruf:\n"
+msgstr "%s: Fehler bei den Argumenten. Verwendung:\n"
 
 #: misc-utils/setterm.c:716
 msgid "  [ -term terminal_name ]\n"
@@ -6285,11 +6724,11 @@ msgstr "  [ -clear [all|rest] ]\n"
 
 #: misc-utils/setterm.c:751
 msgid "  [ -tabs [ tab1 tab2 tab3 ... ] ]      (tabn = 1-160)\n"
-msgstr "  [ -tabs [ tab1 tab2 tab3 ... ] ]      (tabN = 1-160)\n"
+msgstr "  [ -tabs [ Tab1 Tab2 Tab3 ... ] ]      (Tabn = 1-160)\n"
 
 #: misc-utils/setterm.c:752
 msgid "  [ -clrtabs [ tab1 tab2 tab3 ... ] ]   (tabn = 1-160)\n"
-msgstr "  [ -clrtabs [ tab1 tab2 tab3 ... ] ]   (tabN = 1-160)\n"
+msgstr "  [ -clrtabs [ Tab1 Tab2 Tab3 ... ] ]   (Tabn = 1-160)\n"
 
 #: misc-utils/setterm.c:753
 msgid "  [ -regtabs [1-160] ]\n"
@@ -6301,15 +6740,15 @@ msgstr "  [ -blank [0-60] ]\n"
 
 #: misc-utils/setterm.c:755
 msgid "  [ -dump   [1-NR_CONSOLES] ]\n"
-msgstr "  [ -dump   [1-Anzahl_Konsolen] ]\n"
+msgstr "  [ -dump   [1-Konsolenanzahl] ]\n"
 
 #: misc-utils/setterm.c:756
 msgid "  [ -append [1-NR_CONSOLES] ]\n"
-msgstr "  [ -append [1-Anzahl_Konsolen] ]\n"
+msgstr "  [ -append [1-Konsolenanzahl] ]\n"
 
 #: misc-utils/setterm.c:757
 msgid "  [ -file dumpfilename ]\n"
-msgstr "  [ -file Dumpdateiname ]\n"
+msgstr "  [ -file Ausgabedateiname ]\n"
 
 #: misc-utils/setterm.c:758
 msgid "  [ -msg [on|off] ]\n"
@@ -6332,34 +6771,33 @@ msgid "  [ -blength [0-2000] ]\n"
 msgstr "  [ -blength [0-2000] ]\n"
 
 #: misc-utils/setterm.c:763
-#, fuzzy
 msgid "  [ -bfreq freqnumber ]\n"
-msgstr "  [ -bfreq Freqnummer ]\n"
+msgstr "  [ -bfreq Frequenz ]\n"
 
 #: misc-utils/setterm.c:831
 msgid "snow.on"
-msgstr ""
+msgstr "snow.on"
 
 #: misc-utils/setterm.c:833
 msgid "snow.off"
-msgstr ""
+msgstr "snow.off"
 
 #: misc-utils/setterm.c:839
 msgid "softscroll.on"
-msgstr ""
+msgstr "softscroll.on"
 
 #: misc-utils/setterm.c:841
 msgid "softscroll.off"
-msgstr ""
+msgstr "softscroll.off"
 
 #: misc-utils/setterm.c:1016
 msgid "cannot (un)set powersave mode\n"
-msgstr ""
+msgstr "Stromsparmodus kann nicht (zurück)gesetzt werden\n"
 
 #: misc-utils/setterm.c:1055 misc-utils/setterm.c:1063
 #, c-format
 msgid "klogctl error: %s\n"
-msgstr "»klogctl« Fehler: %s\n"
+msgstr "klogctl-Fehler: %s\n"
 
 #: misc-utils/setterm.c:1104
 #, c-format
@@ -6368,79 +6806,79 @@ msgstr "Fehler beim Lesen von %s\n"
 
 #: misc-utils/setterm.c:1119
 msgid "Error writing screendump\n"
-msgstr "Fehler beim Schreiben des Bildschirmdumps\n"
+msgstr "Fehler beim Schreiben der Bildschirmausgabe.\n"
 
 #: misc-utils/setterm.c:1133
 #, c-format
 msgid "couldn't read %s, and cannot ioctl dump\n"
-msgstr ""
+msgstr "Lesen von %s und Ausgabe von ioctl nicht möglich.\n"
 
 #: misc-utils/setterm.c:1198
 #, c-format
 msgid "%s: $TERM is not defined.\n"
-msgstr "%s: Die Umgebungsvariable TERM ist nicht gesetzt.\n"
+msgstr "%s: Die Umgebungsvariable $TERM ist nicht definiert.\n"
 
-#: misc-utils/tsort.c:119
+#: misc-utils/tsort.c:120
 msgid "usage: tsort [ inputfile ]\n"
-msgstr "Aufruf: tsort [ Eingabedatei ]\n"
+msgstr "Verwendung: tsort [ Eingabedatei ]\n"
 
-#: misc-utils/tsort.c:156
+#: misc-utils/tsort.c:157
 msgid "tsort: odd data count.\n"
-msgstr ""
+msgstr "tsort: ungewöhnliche Datenzählung.\n"
 
-#: misc-utils/tsort.c:321
+#: misc-utils/tsort.c:320
 msgid "tsort: cycle in data.\n"
 msgstr "tsort: Zyklus in den Daten.\n"
 
-#: misc-utils/tsort.c:334
+#: misc-utils/tsort.c:333
 msgid "tsort: internal error -- could not find cycle.\n"
-msgstr "tsort: Interner Fehler -- konnte den Zyklus nicht finden.\n"
+msgstr "tsort: Interner Fehler -- Zyklus wurde nicht gefunden.\n"
 
 #: misc-utils/whereis.c:158
 msgid "whereis [ -sbmu ] [ -SBM dir ... -f ] name...\n"
-msgstr "whereis [ -sbmu ] [ -SBM Verzeichnis ... -f ] Name...\n"
+msgstr "whereis [ -sbmu ] [ -SBM-Verzeichnis ... -f ] Name...\n"
 
 #: misc-utils/write.c:99
 msgid "write: can't find your tty's name\n"
-msgstr ""
+msgstr "write: Name des tty-Geräts wurde nicht gefunden.\n"
 
 #: misc-utils/write.c:110
 msgid "write: you have write permission turned off.\n"
-msgstr ""
+msgstr "write: Schreibzugriff ist deaktiviert.\n"
 
 #: misc-utils/write.c:131
 #, c-format
 msgid "write: %s is not logged in on %s.\n"
-msgstr ""
+msgstr "write: %s ist bei %s nicht angemeldet.\n"
 
 #: misc-utils/write.c:139
 #, c-format
 msgid "write: %s has messages disabled on %s\n"
-msgstr ""
+msgstr "write: %s hat Nachrichten deaktiviert auf %s\n"
 
 #: misc-utils/write.c:146
 msgid "usage: write user [tty]\n"
-msgstr ""
+msgstr "Verwendung: write Benutzer [tty]\n"
 
 #: misc-utils/write.c:245
 #, c-format
 msgid "write: %s is not logged in\n"
-msgstr ""
+msgstr "write: %s ist nicht angemeldet.\n"
 
 #: misc-utils/write.c:254
 #, c-format
 msgid "write: %s has messages disabled\n"
-msgstr ""
+msgstr "write: %s hat Nachrichten deaktiviert\n"
 
 #: misc-utils/write.c:258
 #, c-format
 msgid "write: %s is logged in more than once; writing to %s\n"
-msgstr ""
+msgstr "write: %s ist mehrmals angemeldet; Schreibvorgang erfolgt an %s\n"
 
 #: misc-utils/write.c:325
 #, c-format
 msgid "Message from %s@%s on %s at %s ..."
-msgstr ""
+msgstr "Nachricht von %s@%s auf %s bei %s ..."
 
 #: mount/fstab.c:116
 #, c-format
@@ -6450,12 +6888,12 @@ msgstr "Warnung: Fehler beim Lesen von %s: %s"
 #: mount/fstab.c:143 mount/fstab.c:166
 #, c-format
 msgid "warning: can't open %s: %s"
-msgstr "Warnung: Konnte %s nicht öffnen: %s"
+msgstr "Warnung: %s konnte nicht geöffnet werden: %s"
 
 #: mount/fstab.c:147
 #, c-format
 msgid "mount: could not open %s - using %s instead\n"
-msgstr "mount: Konnte %s nicht öffnen - benutze %s stattdessen\n"
+msgstr "mount: %s konnte nicht geöffnet werden - %s wird verwendet.\n"
 
 #. linktargetfile does not exist (as a file)
 #. and we cannot create it. Read-only filesystem?
@@ -6464,102 +6902,105 @@ msgstr "mount: Konnte %s nicht 
 #, 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 -n Option, um "
-"dies zu umgehen)"
+"Lock-Datei %s konnte nicht erstellt werden: %s (verwenden Sie die Option -n, "
+"um dies zu umgehen)."
 
 #: mount/fstab.c:387
 #, 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 -n "
-"Option, um dies zu umgehen)"
+"Verknüpfung für die Lock-Datei %s konnte nicht erstellt werden: %s "
+"(verwenden Sie die Option -n, um dies zu umgehen)."
 
 #: mount/fstab.c:399
 #, 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 -n Option, um "
-"dies zu umgehen)"
+"Lock-Datei %s konnte nicht geöffnet werden: %s (verwenden 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:414
 #, c-format
 msgid "Can't lock lock file %s: %s\n"
-msgstr "Konnte die Lock-Datei %s nicht »locken«: %s\n"
+msgstr "Lock-Datei %s kann nicht gesperrt werden: %s\n"
 
 # sperren
-#: mount/fstab.c:425
+#: mount/fstab.c:427
 #, c-format
 msgid "can't lock lock file %s: %s"
-msgstr "Konnte die Lock-Datei %s nicht »locken«: %s"
+msgstr "Lock-Datei %s kann nicht gesperrt werden: %s"
 
-#: mount/fstab.c:427
+#: mount/fstab.c:429
 msgid "timed out"
 msgstr "Zeitüberschreitung"
 
-#: mount/fstab.c:472 mount/fstab.c:480
+#: mount/fstab.c:436
+#, c-format
+msgid ""
+"Cannot create link %s\n"
+"Perhaps there is a stale lock file?\n"
+msgstr ""
+
+#: mount/fstab.c:482 mount/fstab.c:490
 #, c-format
 msgid "cannot open %s (%s) - mtab not updated"
-msgstr "Konnte %s nicht öffnen (%s) - mtab nicht aktualisiert"
+msgstr "%s kann nicht geöffnet werden (%s) - mtab nicht aktualisiert."
 
-#: mount/fstab.c:505
+#: mount/fstab.c:515
 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"
+"mount: Warnung: Das gemountete Gerät kann nicht durch 'remount' geändert "
+"werden.\n"
 
-#: mount/fstab.c:510
+#: mount/fstab.c:520
 msgid "mount: warning: cannot change filesystem type with a remount\n"
 msgstr ""
-"mount: Der Dateisystemtyp kann nicht mit einem »remount« geändert werden\n"
+"mount: Der Dateisystemtyp kann nicht durch 'remount' geändert werden.\n"
 
-#: mount/fstab.c:518 mount/fstab.c:524
+#: mount/fstab.c:528 mount/fstab.c:534
 #, c-format
 msgid "error writing %s: %s"
 msgstr "Fehler beim Schreiben von %s: %s"
 
-# "Modus" is the translation, that fileutils.po uses.
-# I don't like it, but I haven't got a better one.
-# Someone suggested "Zugriffsrechte", which I currently like
-# better
-# XXX - search for "Modus" and you'll find a similiar message
-#: mount/fstab.c:531
+#: mount/fstab.c:541
 #, c-format
 msgid "error changing mode of %s: %s\n"
-msgstr "Fehler beim Ändern der Zugriffsrechte von %s: %s\n"
+msgstr "Fehler beim Ändern des Modus von %s: %s\n"
 
-#: mount/fstab.c:538
+#: mount/fstab.c:548
 #, c-format
 msgid "can't rename %s to %s: %s\n"
-msgstr "Konnte %s nicht in %s umbenennen: %s\n"
+msgstr "%s kann nicht in %s umbenannt werden: %s\n"
 
 #: mount/lomount.c:78
 #, c-format
 msgid "loop: can't open device %s: %s\n"
-msgstr "loop: Konnte das Gerät %s nicht öffnen: %s\n"
+msgstr "loop: Gerät %s kann nicht geöffnet werden: %s\n"
 
 #: mount/lomount.c:84
 #, 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"
+msgstr "loop: Keine Informationen über das Gerät %s erhältlich: %s\n"
 
 #: mount/lomount.c:89 mount/losetup.c:74
 #, c-format
 msgid "%s: [%04x]:%ld (%s) offset %d, %s encryption\n"
-msgstr ""
+msgstr "%s: [%04x]:%ld (%s) offset %d, %s encryption\n"
 
 # XXX - pretty dumb
 #: mount/lomount.c:143
 msgid "mount: could not find any device /dev/loop#"
-msgstr "mount: Konnte kein Gerät /dev/loop# finden"
+msgstr "mount: Gerät /dev/loop# wurde nicht gefunden."
 
 #: mount/lomount.c:147
 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?"
+"mount: Es wurde kein 'loop'-Gerät gefunden.\n"
+"       /dev/loop# hat möglicherweise eine falsche Major-Nummer."
 
 #: mount/lomount.c:151
 #, c-format
@@ -6568,10 +7009,9 @@ msgid ""
 "       this kernel does not know about the loop device.\n"
 "       (If so, then recompile or `insmod loop.o'.)"
 msgstr ""
-"mount: Konnte kein »loop«-Gerät finden. Laut %s 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.)"
+"mount: Es wurde kein 'loop'-Gerät gefunden. Laut %s \n"
+"       unterstützt dieser Kernel keine 'loop'-Geräte. (Kompilieren Sie\n"
+"       in diesem Fall den Kernel neu, oder führen Sie 'insmod loop.o' aus.)"
 
 #: mount/lomount.c:156
 msgid ""
@@ -6579,15 +7019,14 @@ msgid ""
 "       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?"
+"mount: Es wurde kein 'loop'-Gerät gefunden. Möglicherweise unterstützt\n"
+"       dieser Kernel keine 'loop'-Geräte. (Kompilieren Sie\n"
+"       in diesem Fall den Kernel neu, oder führen Sie 'insmod loop.o'\n"
+"       aus.) Möglicherweise hat /dev/loop# eine falsche Major-Nummer."
 
 #: mount/lomount.c:160
 msgid "mount: could not find any free loop device"
-msgstr "mount: Konnte kein freies »loop«-Gerät finden"
+msgstr "mount: Es wurde kein freies 'loop'-Gerät gefunden."
 
 # Verschlüsselungstyp
 #: mount/lomount.c:191 mount/losetup.c:106
@@ -6597,18 +7036,18 @@ msgstr "Die Verschl
 
 #: mount/lomount.c:210 mount/losetup.c:126
 msgid "Init (up to 16 hex digits): "
-msgstr ""
+msgstr "Inititalisierung (bis zu 16 Hexadezimalziffern): "
 
 # "Ziffer" ?
 #: mount/lomount.c:217 mount/losetup.c:133
 #, c-format
 msgid "Non-hex digit '%c'.\n"
-msgstr "Das Zeichen »%c« ist keine hexadezimale Ziffer.\n"
+msgstr "Das Zeichen '%c' ist keine hexadezimale Ziffer.\n"
 
 #: mount/lomount.c:223 mount/losetup.c:140
 #, c-format
 msgid "Don't know how to get key for encryption system %d\n"
-msgstr ""
+msgstr "Schlüssel für Verschlüsselungssystem %d ist nicht verfügbar.\n"
 
 #: mount/lomount.c:239
 #, c-format
@@ -6619,7 +7058,7 @@ msgstr "set_loop(%s, %s, %d): Erfolg\n"
 #: mount/lomount.c:250
 #, c-format
 msgid "loop: can't delete device %s: %s\n"
-msgstr "loop: Konnte das Gerät %s nicht löschen: %s\n"
+msgstr "loop: Gerät %s konnte nicht gelöscht werden: %s\n"
 
 #: mount/lomount.c:260
 #, c-format
@@ -6629,10 +7068,12 @@ msgstr "del_loop(%s): Erfolg\n"
 #: mount/lomount.c:268
 msgid "This mount was compiled without loop support. Please recompile.\n"
 msgstr ""
+"Diese Mount-Kompilierung enthält keine Unterstütztung für 'loop'. "
+"Wiederholen Sie die Kompilierung.\n"
 
 #: mount/losetup.c:70
 msgid "Cannot get loop info"
-msgstr "Konnte keine Informationen über das »loop«-Gerät erhalten"
+msgstr "Keine Informationen über das 'loop'-Gerät verfügbar."
 
 # Setup
 #: mount/losetup.c:176
@@ -6643,23 +7084,26 @@ msgid ""
 "  %s -d loop_device                                   # delete\n"
 "  %s [ -e encryption ] [ -o offset ] loop_device file # setup\n"
 msgstr ""
-"Aufruf:\n"
-"  Informationen anzeigen:\n"
+"Verwendung:\n"
+"  Informationen anzeigen:\n"
 "    %s loop-Gerät\n"
-"  Löschen:\n"
+"  Löschen:\n"
 "    %s -d loop-Gerät\n"
-"  Setup:\n"
+"  Setup:\n"
 "    %s [ -e Verschlüsselungsmethode ] [ -o Offset ] loop-Gerät Datei\n"
 
 #: mount/losetup.c:234
 msgid "No loop support was available at compile time. Please recompile.\n"
 msgstr ""
+"Bei der Kompilierung war keine Unterstützung für 'loop' verfügbar. "
+"Wiederholen Sie die Kompilierung.\n"
 
 #: 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 newline.\n"
+"[mntent]: Warnung: Am Ende der Datei %s fehlt ein abschließendes "
+"Neue-Zeile-Zeichen.\n"
 
 #: mount/mntent.c:216
 #, c-format
@@ -6668,24 +7112,24 @@ msgstr "[mntent]: Zeile %d in %s ist fehlerhaft%s\n"
 
 #: mount/mntent.c:219
 msgid "; rest of file ignored"
-msgstr "; der Rest der Datei wurde ignoriert"
+msgstr "; der Rest der Datei wurde ignoriert."
 
 #: mount/mount.c:333
 #, c-format
 msgid "mount: according to mtab, %s is already mounted on %s"
-msgstr "mount: Laut mtab ist %s schon auf %s gemountet"
+msgstr "mount: Laut mtab ist %s bereits auf %s gemountet."
 
 #: mount/mount.c:336
 #, c-format
 msgid "mount: according to mtab, %s is mounted on %s"
-msgstr "mount: Laut mtab ist %s auf %s gemountet"
+msgstr "mount: Laut mtab ist %s auf %s gemountet."
 
 #: mount/mount.c:357
 #, c-format
 msgid "mount: can't open %s for writing: %s"
-msgstr "mount: Konnte %s nicht zum Schreiben öffnen: %s"
+msgstr "mount: %s konnte nicht zum Schreiben geöffnet werden: %s"
 
-#: mount/mount.c:372 mount/mount.c:644
+#: mount/mount.c:372 mount/mount.c:654
 #, c-format
 msgid "mount: error writing %s: %s"
 msgstr "mount: Fehler beim Schreiben von %s: %s"
@@ -6696,272 +7140,282 @@ msgstr "mount: Fehler beim Schreiben von %s: %s"
 msgid "mount: error changing mode of %s: %s"
 msgstr "mount: Fehler beim Ändern der Zugriffsrechte von %s: %s"
 
-#: mount/mount.c:473
+#: mount/mount.c:413
+#, c-format
+msgid "%s looks like swapspace - not mounted"
+msgstr ""
+
+#: mount/mount.c:481
 msgid "mount failed"
-msgstr "mount ist fehlgeschlagen"
+msgstr "Der mount-Befehl war nicht erfolgreich."
 
-#: mount/mount.c:475
+#: mount/mount.c:483
 #, c-format
 msgid "mount: only root can mount %s on %s"
-msgstr "mount: Nur »root« kann %s auf %s mounten"
+msgstr "mount: Nur 'root' kann %s auf %s mounten."
 
-#: mount/mount.c:503
+#: mount/mount.c:511
 msgid "mount: loop device specified twice"
-msgstr "mount: Das loop-Gerät wurde zweimal angegeben"
+msgstr "mount: Das loop-Gerät wurde zweimal angegeben."
 
-#: mount/mount.c:509
+#: mount/mount.c:517
 msgid "mount: type specified twice"
-msgstr "mount: Der Typ wurde doppelt angegeben"
+msgstr "mount: Der Typ wurde doppelt angegeben."
 
-#: mount/mount.c:521
+#: mount/mount.c:529
 msgid "mount: skipping the setup of a loop device\n"
-msgstr ""
+msgstr "mount: Die Einrichtung eines 'loop'-Geräts wird übergangen.\n"
 
-#: mount/mount.c:530
+#: mount/mount.c:538
 #, c-format
 msgid "mount: going to use the loop device %s\n"
-msgstr ""
+msgstr "mount: Das 'loop'-Gerät %s wird verwendet.\n"
 
-#: mount/mount.c:534
+#: mount/mount.c:542
 msgid "mount: failed setting up loop device\n"
-msgstr ""
+msgstr "mount: Es konnte kein 'loop'-Gerät eingerichtet werden.\n"
 
-#: mount/mount.c:538
+#: mount/mount.c:546
 msgid "mount: setup loop device successfully\n"
-msgstr ""
+msgstr "mount: 'loop'-Gerät wurde erfolgreich eingerichtet.\n"
 
-#: mount/mount.c:551
+#: mount/mount.c:559
 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"
+"mount: Diese Version wurde ohne Unterstützung für den Typ 'nfs' kompiliert."
 
-#: mount/mount.c:601 mount/mount.c:1030
+#: mount/mount.c:610 mount/mount.c:1043
 #, c-format
 msgid "mount: cannot fork: %s"
-msgstr "mount: Kann keinen neuen Prozeß erzeugen: %s"
+msgstr "mount: Es kann kein neuer Prozess erzeugt werden: %s"
 
-#: mount/mount.c:639
+#: mount/mount.c:649
 #, c-format
 msgid "mount: can't open %s: %s"
-msgstr "mount: Konnte %s nicht öffnen: %s"
+msgstr "mount: %s konnte nicht geöffnet werden: %s"
 
-#: mount/mount.c:668
+#: mount/mount.c:678
 msgid ""
 "mount: I could not determine the filesystem type, and none was specified"
 msgstr ""
-"mount: Der Dateisystemtyp konnte nicht festgestellt werden\n"
-"       und es wurde keiner angegeben"
+"mount: Der Dateisystemtyp konnte nicht festgestellt werden,\n"
+"       und es wurde keiner angegeben."
 
-#: mount/mount.c:671
+#: mount/mount.c:681
 msgid "mount: you must specify the filesystem type"
-msgstr "mount: Sie müssen den Dateisystemtyp angeben"
+msgstr "mount: Der Dateisystemtyp muss angegeben werden."
+
+#. should not happen
+#: mount/mount.c:684
+msgid "mount: mount failed"
+msgstr "mount: Der mount-Befehl war nicht erfolgreich."
 
-#: mount/mount.c:678 mount/mount.c:713
+#: mount/mount.c:690 mount/mount.c:725
 #, c-format
 msgid "mount: mount point %s is not a directory"
-msgstr "mount: Mountpunkt %s ist kein Verzeichnis"
+msgstr "mount: Mountpunkt %s ist kein Verzeichnis."
 
 # Look in libc.po
 # I guess "Zugriff verweigert"
-#: mount/mount.c:680
+#: mount/mount.c:692
 msgid "mount: permission denied"
-msgstr "mount: Zugriff verweigert"
+msgstr "mount: Zugriff verweigert."
 
-#: mount/mount.c:682
+#: mount/mount.c:694
 msgid "mount: must be superuser to use mount"
-msgstr ""
+msgstr "mount: Der Befehl 'mount' kann nur vom Superuser ausgeführt werden."
 
 #. heuristic: if /proc/version exists, then probably proc is mounted
 #. proc mounted?
-#: mount/mount.c:686 mount/mount.c:690
+#: mount/mount.c:698 mount/mount.c:702
 #, c-format
 msgid "mount: %s is busy"
-msgstr "mount: %s wird gerade benutzt"
+msgstr "mount: %s ist in Gebrauch."
 
 #. no
 #. yes, don't mention it
-#: mount/mount.c:692
+#: mount/mount.c:704
 msgid "mount: proc already mounted"
-msgstr "mount: proc ist bereits gemountet"
+msgstr "mount: proc ist bereits gemountet."
 
-#: mount/mount.c:694
+#: mount/mount.c:706
 #, c-format
 msgid "mount: %s already mounted or %s busy"
-msgstr "mount: %s ist bereits gemountet oder %s wird gerade benutzt"
+msgstr "mount: %s ist bereits gemountet oder %s ist in Gebrauch."
 
-#: mount/mount.c:700
+#: mount/mount.c:712
 #, c-format
 msgid "mount: mount point %s does not exist"
-msgstr "mount: Mountpunkt %s existiert nicht"
+msgstr "mount: Mountpunkt %s existiert nicht."
 
-#: mount/mount.c:702
+#: mount/mount.c:714
 #, c-format
 msgid "mount: mount point %s is a symbolic link to nowhere"
 msgstr ""
 "mount: Mountpunkt %s ist eine symbolische Verknüpfung,\n"
-"       deren Ziel nicht existiert"
+"       deren Ziel nicht existiert."
 
-#: mount/mount.c:705
+#: mount/mount.c:717
 #, c-format
 msgid "mount: special device %s does not exist"
-msgstr "mount: Gerätedatei %s existiert nicht"
+msgstr "mount: Gerätedatei %s existiert nicht."
 
-#: mount/mount.c:715
+#: mount/mount.c:727
 #, c-format
 msgid ""
 "mount: special device %s does not exist\n"
 "       (a path prefix is not a directory)\n"
 msgstr ""
+"mount: Gerätedatei %s existiert nicht\n"
+"       (ein Pfad-Präfix ist kein Verzeichnis).\n"
 
-#: mount/mount.c:727
+#: mount/mount.c:739
 #, c-format
 msgid "mount: %s not mounted already, or bad option"
 msgstr ""
-"mount: %s ist noch nicht gemountet oder es wurden\n"
-"       ungültige Optionen angegeben"
+"mount: %s ist noch nicht gemountet, oder es wurden\n"
+"       ungültige Optionen angegeben."
 
-#: mount/mount.c:729
+#: mount/mount.c:741
 #, c-format
 msgid ""
 "mount: wrong fs type, bad option, bad superblock on %s,\n"
 "       or too many mounted file systems"
 msgstr ""
-"mount: Falscher Dateisystemtyp, ungültige Optionen, der\n"
-"       »Superblock« von %s ist beschädigt oder es sind\n"
-"       zu viele Dateisysteme gemountet"
+"mount: Falscher Dateisystemtyp oder ungültige Optionen.\n"
+"       Möglicherweise ist auch der 'Superblock' von %s beschädigt,\n"
+"       oder es sind zu viele Dateisysteme gemountet."
 
-#: mount/mount.c:744
+#: mount/mount.c:756
 msgid "mount table full"
-msgstr "Mounttabelle ist voll"
+msgstr "Die Mount-Tabelle ist voll."
 
-#: mount/mount.c:746
+#: mount/mount.c:758
 #, c-format
 msgid "mount: %s: can't read superblock"
-msgstr "mount: %s: Konnte den Superblock nicht lesen"
+msgstr "mount: %s: Superblock konnte nicht gelesen werden."
 
-#: mount/mount.c:749
+#: mount/mount.c:761
 #, c-format
 msgid "mount: %s has wrong major or minor number"
-msgstr "mount: %s hat eine falsche Major oder Minor Geräte-Nummer"
+msgstr "mount: %s hat eine falsche Major- oder Minor-Gerätenummer."
 
-#: mount/mount.c:754
+#: mount/mount.c:766
 #, c-format
 msgid "mount: fs type %s not supported by kernel"
-msgstr "mount: Der Dateisystemtyp %s wird nicht vom Kernel unterstützt"
+msgstr "mount: Der Dateisystemtyp %s wird vom Kernel nicht unterstützt."
 
-#: mount/mount.c:766
+#: mount/mount.c:778
 #, c-format
 msgid "mount: probably you meant %s"
-msgstr "mount: Vielleicht meinten sie »%s«"
+msgstr "mount: Wahrscheinlich meinten Sie '%s'"
 
-#: mount/mount.c:768
+#: mount/mount.c:780
 msgid "mount: maybe you meant iso9660 ?"
-msgstr "mount: Vielleicht meinten Sie »iso9660«?"
+msgstr "mount: Vielleicht meinten Sie 'iso9660'?"
 
-#: mount/mount.c:771
+#: mount/mount.c:783
 #, 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: %s hat eine falsche Gerätenummer, oder der Dateisystemtyp %s wird "
+"nicht unterstützt."
 
 #. strange ...
-#: mount/mount.c:776
+#: mount/mount.c:788
 #, c-format
 msgid "mount: %s is not a block device, and stat fails?"
 msgstr ""
-"mount: %s ist kein blockorientiertes Gerät und »stat«\n"
-"       schlug fehl?"
+"mount: %s ist kein blockorientiertes Gerät, und 'stat' war nicht erfolgreich?"
 
-#: mount/mount.c:778
+#: mount/mount.c:790
 #, 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«?)"
+"mount: Der Kernel erkennt %s nicht als blockorientiertes\n"
+"       Gerät. (Möglicherweise hilft der 'insmod-Treiber'.)"
 
 # "versuchen"
-#: mount/mount.c:781
+#: mount/mount.c:793
 #, 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: %s ist kein blockorientiertes Gerät.\n"
+"       Versuchen Sie '-o loop'."
 
-#: mount/mount.c:784
+#: mount/mount.c:796
 #, c-format
 msgid "mount: %s is not a block device"
-msgstr "mount: %s ist kein blockorientiertes Gerät"
+msgstr "mount: %s ist kein blockorientiertes Gerät."
 
-#: mount/mount.c:787
+#: mount/mount.c:799
 #, c-format
 msgid "mount: %s is not a valid block device"
-msgstr "mount: %s ist kein gültiges blockorientiertes Gerät"
+msgstr "mount: %s ist kein gültiges blockorientiertes Gerät."
 
-#: mount/mount.c:791
+#: mount/mount.c:803
 #, c-format
 msgid "mount: block device %s is not permitted on its filesystem"
 msgstr ""
+"mount: Das blockorientierte Gerät %s ist in seinem\n"
+"       Dateisystem nicht zulässig."
 
 # That sounds somehow dumb.
-#: mount/mount.c:807
+#: mount/mount.c:819
 #, c-format
 msgid "mount: %s%s is write-protected, mounting read-only"
 msgstr ""
-"mount: %s%s ist schreibgeschützt, es wird im\n"
-"       Nur-Lese-Modus gemountet"
+"mount: %s%s ist schreibgeschützt, es wird im \n"
+"       Nur-Lese-Modus gemountet."
 
-#: mount/mount.c:808
+#: mount/mount.c:820
 msgid "block device "
-msgstr "blockorientiertes Gerät "
+msgstr "Blockorientiertes Gerät "
 
-#: mount/mount.c:894
+#: mount/mount.c:907
 #, c-format
 msgid "mount: consider mounting %s by %s\n"
-msgstr "mount: Ziehen Sie in Betracht %s mit Hilfe von »%s« zu mounten\n"
+msgstr "mount: Mounten Sie %s mit Hilfe von '%s'\n"
 
-# I think, this should not be translated
-#: mount/mount.c:895
+#: mount/mount.c:908
 msgid "UUID"
 msgstr "UUID"
 
-# dito
-#: mount/mount.c:895
+#: mount/mount.c:908
 msgid "label"
 msgstr "label"
 
-#: mount/mount.c:897 mount/mount.c:1213
+#: mount/mount.c:910 mount/mount.c:1226
 msgid "mount: no such partition found"
-msgstr "mount: Keine passende Partition gefunden"
+msgstr "mount: Diese Partition wurde nicht gefunden."
 
-#: mount/mount.c:905
+#: mount/mount.c:918
 msgid "mount: no type was given - I'll assume nfs because of the colon\n"
 msgstr ""
-"mount: Es wurde kein Typ angegeben - Auf Grund des\n"
-"       Doppelpunktes wird nfs angenommen\n"
+"mount: Es wurde kein Typ angegeben - Aufgrund des \n"
+"       Doppelpunktes wird nfs angenommen.\n"
 
 #.
 #. * Retry in the background.
 #.
-#: mount/mount.c:921
+#: mount/mount.c:934
 #, c-format
 msgid "mount: backgrounding \"%s\"\n"
-msgstr "mount: »%s« wird im Hintergrund fortgesetzt\n"
+msgstr "mount: '%s' wird im Hintergrund fortgesetzt.\n"
 
-# Not realy nice
-#: mount/mount.c:932
+#: mount/mount.c:945
 #, c-format
 msgid "mount: giving up \"%s\"\n"
-msgstr "mount: »%s« schlug fehl\n"
+msgstr "mount: '%s' nicht erfolgreich.\n"
 
-#: mount/mount.c:981
+#: mount/mount.c:994
 #, c-format
 msgid "mount: %s already mounted on %s\n"
 msgstr "mount: %s ist bereits auf %s gemountet\n"
 
-#: mount/mount.c:1092
+#: mount/mount.c:1105
 msgid ""
 "Usage: mount [-hV]\n"
 "       mount -a [-nfFrsvw] [-t vfstypes]\n"
@@ -6969,103 +7423,104 @@ msgid ""
 "       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"
+"Verwendung: 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"
+"        mount [-nfrsvw] [-o Optionen] special | node\n"
+"        mount [-nfrsvw] [-t VFS-Typ] [-o Optionen] special node\n"
 "        Das Gerät kann auch durch -L Label oder -U UUID angegeben werden.\n"
 
-#: mount/mount.c:1198
+#: mount/mount.c:1211
 msgid "mount: only root can do that"
-msgstr "mount: Nur »root« kann dies tun"
+msgstr "mount: Die Befehlsausführung ist nur 'root' gestattet."
 
-#: mount/mount.c:1203
+#: mount/mount.c:1216
 #, c-format
 msgid "mount: no %s found - creating it..\n"
-msgstr "mount: %s nicht gefunden - Erzeuge sie...\n"
+msgstr "mount: %s nicht gefunden - wird erstellt...\n"
 
-#: mount/mount.c:1215
+#: mount/mount.c:1228
 #, c-format
 msgid "mount: mounting %s\n"
-msgstr "mount: Mounte %s\n"
+msgstr "mount: %s wird gemountet.\n"
 
-#: mount/mount.c:1224
+#: mount/mount.c:1237
 msgid "not mounted anything"
-msgstr "Es wurde nichts gemountet"
-
-# This one is for Debian
-#: mount/mount.c:1224
-msgid "not mounting anything"
-msgstr "Es wird nichts gemountet"
+msgstr "Es wurde nichts gemountet."
 
-#: mount/mount.c:1237
+#: mount/mount.c:1250
 #, c-format
 msgid "mount: cannot find %s in %s"
-msgstr "mount: Konnte %s nicht in %s finden"
+msgstr "mount: %s wurde in %s nicht gefunden."
 
-#: mount/mount.c:1251
+#: mount/mount.c:1264
 #, c-format
 msgid "mount: can't find %s in %s or %s"
-msgstr "mount: Konnte %s nicht in %s oder %s finden"
+msgstr "mount: %s wurde in %s oder %s nicht gefunden."
 
 #: mount/mount_by_label.c:141
 msgid "mount: bad UUID"
-msgstr "mount: ungültige UUID"
+msgstr "mount: ungültige UUID."
+
+#: mount/mount_guess_fstype.c:251
+#, 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"
 
-#: mount/mount_guess_fstype.c:198
+#: mount/mount_guess_fstype.c:254
 #, 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"
+msgid "       I will try all types mentioned in %s or %s\n"
+msgstr ""
+"       Es werden alle Dateisystemtypen versucht, die in %s oder %s angegeben "
+"sind.\n"
+
+#: mount/mount_guess_fstype.c:257
+msgid "       and it looks like this is swapspace\n"
+msgstr ""
 
-# Maybe: "       Es wird der Typ %s ausprobiert\n"
-# or   : ... "versuchen"
-#: mount/mount_guess_fstype.c:201
+#: mount/mount_guess_fstype.c:259
 #, c-format
 msgid "       I will try type %s\n"
-msgstr "       Werde den Typ %s probieren\n"
+msgstr "       Typ %s wird versucht.\n"
 
-# Maybe:
-# "       Es werden alle Dateisystemtypen ausprpbiert, die\n"
-# "       in %s oder %s aufgelistet sind\n"
-#: mount/mount_guess_fstype.c:203
+#: mount/mount_guess_fstype.c:321
 #, c-format
-msgid "       I will try all types mentioned in %s or %s\n"
-msgstr ""
-"       Werde alle Dateisystemtypen probieren, die in %s oder %s\n"
-"       aufgelistet sind\n"
+msgid "Trying %s\n"
+msgstr "Probiere %s\n"
 
 #: mount/nfsmount.c:157
 msgid "mount: excessively long host:dir argument\n"
-msgstr ""
+msgstr "mount: Host:Verzeichnis-Argument zu lang.\n"
 
 #: mount/nfsmount.c:170
 msgid "mount: warning: multiple hostnames not supported\n"
-msgstr "mount: Mehrere Rechnernamen werden nicht unterstützt\n"
+msgstr "mount: Warnung: Mehrere Rechnernamen werden nicht unterstützt.\n"
 
 #: mount/nfsmount.c:174
 msgid "mount: directory to mount not in host:dir format\n"
 msgstr ""
+"mount: Das zu mountende Verzeichnis weist nicht das Format Host:Verzeichnis "
+"auf.\n"
 
 #: mount/nfsmount.c:185 mount/nfsmount.c:420
 #, c-format
 msgid "mount: can't get address for %s\n"
-msgstr "mount: Konnte die Adresse von %s nicht herausfinden\n"
+msgstr "mount: Adresse von %s konnte nicht ermittelt werden.\n"
 
 #: mount/nfsmount.c:191
 msgid "mount: got bad hp->h_length\n"
-msgstr ""
+msgstr "mount: hp->h_length ungültig.\n"
 
 #: mount/nfsmount.c:208
 msgid "mount: excessively long option argument\n"
-msgstr ""
+msgstr "mount: Optionsargument zu lang.\n"
 
 #: mount/nfsmount.c:299
 msgid "Warning: Unrecognized proto= option.\n"
-msgstr "Warnung: unbekannte »proto=« Option.\n"
+msgstr "Warnung: Unbekannte Option 'proto='.\n"
 
 #: mount/nfsmount.c:306
 msgid "Warning: Option namlen is not supported.\n"
-msgstr "Warnung: Die Option »namlen« wird nicht unterstützt.\n"
+msgstr "Warnung: Option 'namlen' wird nicht unterstützt.\n"
 
 #: mount/nfsmount.c:310
 #, c-format
@@ -7074,23 +7529,22 @@ msgstr "Unbekannter nfs-Mount-Parameter: %s=%d\n"
 
 #: mount/nfsmount.c:345
 msgid "Warning: option nolock is not supported.\n"
-msgstr "Warnung: Die Option »nolock« wird nicht unterstützt.\n"
+msgstr "Warnung: Option 'nolock' wird nicht unterstützt.\n"
 
 #: mount/nfsmount.c:348
 #, c-format
 msgid "unknown nfs mount option: %s%s\n"
-msgstr "unbekannte nfs-Mount-Option: %s%s\n"
+msgstr "Unbekannte nfs-Mount-Option: %s%s\n"
 
 #: mount/nfsmount.c:426
 msgid "mount: got bad hp->h_length?\n"
-msgstr ""
+msgstr "mount: hp->h_length ungültig?\n"
 
 #: mount/nfsmount.c:528
 #, c-format
 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"
+"mount: %s:%s nicht erfolgreich. Der Server meldet folgende Ursache: %s\n"
 
 #: mount/nfsmount.c:539
 msgid "NFS over TCP is not supported.\n"
@@ -7098,37 +7552,37 @@ msgstr "NFS 
 
 #: mount/nfsmount.c:546
 msgid "nfs socket"
-msgstr ""
+msgstr "nfs socket"
 
 #: mount/nfsmount.c:550
 msgid "nfs bindresvport"
-msgstr ""
+msgstr "nfs bindresvport"
 
 #: mount/nfsmount.c:561
 msgid "used portmapper to find NFS port\n"
-msgstr ""
+msgstr "NFS-Post mit Portmapper gefunden.\n"
 
 #: mount/nfsmount.c:565
 #, c-format
 msgid "using port %d for nfs deamon\n"
-msgstr ""
+msgstr "Port %d wird für nfs-Dämon verwendet.\n"
 
 #: mount/nfsmount.c:576
 msgid "nfs connect"
-msgstr ""
+msgstr "nfs connect"
 
 #: mount/nfsmount.c:665
 #, c-format
 msgid "unknown nfs status return value: %d"
-msgstr ""
+msgstr "Unbekannter Rückgabewert für nfs-Status: %d"
 
-#: mount/sundries.c:40 mount/sundries.c:55
+#: mount/sundries.c:41 mount/sundries.c:56
 msgid "not enough memory"
 msgstr "Nicht genügend Speicher"
 
-#: mount/sundries.c:65
+#: mount/sundries.c:66
 msgid "bug in xstrndup call"
-msgstr "Fehler im Aufruf von xstrndup (s==NULL)"
+msgstr "Fehler beim Aufruf von xstrndup"
 
 #: mount/swapon.c:51
 #, c-format
@@ -7138,7 +7592,7 @@ msgid ""
 "       %s [-v] [-p priority] special ...\n"
 "       %s [-s]\n"
 msgstr ""
-"Aufruf: %s [-hV]\n"
+"Verwendung: %s [-hV]\n"
 "        %s -a [-v]\n"
 "        %s [-v] [-p Priorität] Spezialdatei ...\n"
 "        %s [-s]\n"
@@ -7153,68 +7607,69 @@ msgstr "%s f
 #: mount/swapon.c:93
 #, c-format
 msgid "swapon: cannot stat %s: %s\n"
-msgstr "swapon: Konnte »stat« nicht auf %s anwenden: %s\n"
+msgstr "swapon: 'stat' konnte nicht auf %s angewandt werden: %s\n"
 
 # "Modus"
 #: mount/swapon.c:100
 #, c-format
 msgid "swapon: warning: %s has insecure permissions %04o, 0600 suggested\n"
 msgstr ""
-"swapon: Warnung: Die Zugriffsrechte (%2$04o) von %1$s sind unsicher,\n"
-"        0600 wird empfohlen\n"
+"swapon: Warnung: Die Zugriffsrechte (%04o) von %s sind nicht sicher,\n"
+"        0600 wird empfohlen.\n"
 
 # holes
 #: mount/swapon.c:108
 #, c-format
 msgid "swapon: Skipping file %s - it appears to have holes.\n"
-msgstr "swapon: Überspringe die Datei %s - Sie scheint »holes« zu enthalten.\n"
+msgstr ""
+"swapon: Datei %s wird übersprungen - sie enthält unzusammenhängende "
+"Bereiche.\n"
 
 #: mount/swapon.c:213
 #, c-format
 msgid "%s: cannot open %s: %s\n"
-msgstr "%s: Konnte %s nicht öffnen: %s\n"
+msgstr "%s: %s konnte nicht geöffnet werden: %s\n"
 
 # XXX - "einkompiliert"
 #: mount/umount.c:69
 msgid "umount: compiled without support for -f\n"
-msgstr "umount: Die Unterstützung für -f wurde nicht einkompiliert\n"
+msgstr "umount: Die Unterstützung für -f wurde nicht einkompiliert.\n"
 
 #: mount/umount.c:121
 #, c-format
 msgid "host: %s, directory: %s\n"
-msgstr "Rechner: %s, Verzeichnis: %s\n"
+msgstr "Host: %s, Verzeichnis: %s\n"
 
 #: mount/umount.c:138
 #, c-format
 msgid "umount: can't get address for %s\n"
-msgstr "umount: Konnte die Adresse von %s nicht herausfinden\n"
+msgstr "umount: Adresse von %s konnte nicht ermittelt werden.\n"
 
 #: mount/umount.c:143
 msgid "umount: got bad hostp->h_length\n"
-msgstr ""
+msgstr "umount: hostp->h_length ungültig.\n"
 
 #: mount/umount.c:181
 #, c-format
 msgid "umount: %s: invalid block device"
-msgstr "umount: %s ist kein gültiges blockorientiertes Gerät"
+msgstr "umount: %s ist kein gültiges blockorientiertes Gerät."
 
 #: mount/umount.c:183
 #, c-format
 msgid "umount: %s: not mounted"
-msgstr "umount: %s ist nicht gemountet"
+msgstr "umount: %s ist nicht gemountet."
 
 #: mount/umount.c:185
 #, c-format
 msgid "umount: %s: can't write superblock"
-msgstr "umount: %s: Konnte den »Superblock« nicht schreiben"
+msgstr "umount: %s: Schreiben des 'Superblocks' nicht möglich."
 
-# XXX - I did have a better one for busy
 #. Let us hope fstab has a line "proc /proc ..."
 #. and not "none /proc ..."
 #: mount/umount.c:189
 #, c-format
 msgid "umount: %s: device is busy"
-msgstr "umount: %s: Das Gerät wird momenten noch benutzt"
+msgstr "umount: %s: Das Gerät ist in Gebrauch."
 
 #: mount/umount.c:191
 #, c-format
@@ -7224,12 +7679,13 @@ msgstr "umount: %s: Nicht gefunden"
 #: mount/umount.c:193
 #, c-format
 msgid "umount: %s: must be superuser to umount"
-msgstr ""
+msgstr "umount: Der Befehl 'umount' kann nur vom Superuser ausgeführt werden."
 
 #: mount/umount.c:195
 #, c-format
 msgid "umount: %s: block devices not permitted on fs"
 msgstr ""
+"umount: %s: blockorientierte Geräte sind im Dateisystem nicht zulässig."
 
 #: mount/umount.c:197
 #, c-format
@@ -7238,31 +7694,31 @@ msgstr "umount: %s: %s"
 
 #: mount/umount.c:241
 msgid "no umount2, trying umount...\n"
-msgstr ""
+msgstr "umount2 nicht vorhanden, umount wird versucht.\n"
 
 #: mount/umount.c:254
 #, c-format
 msgid "could not umount %s - trying %s instead\n"
-msgstr ""
+msgstr "umount %s war nicht möglich - stattdessen wird %s versucht.\n"
 
 #: mount/umount.c:270
 #, c-format
 msgid "umount: %s busy - remounted read-only\n"
-msgstr ""
+msgstr "umount: %s ist in Gebrauch - mit Schreibschutz erneut gemountet.\n"
 
 #: mount/umount.c:278
 #, c-format
 msgid "umount: could not remount %s read-only\n"
-msgstr ""
+msgstr "umount: Erneutes Mounten nicht möglich, %s ist schreibgeschützt.\n"
 
 #: mount/umount.c:286
 #, c-format
 msgid "%s umounted\n"
-msgstr ""
+msgstr "%s nicht gemountet\n"
 
 #: mount/umount.c:369
 msgid "umount: cannot find list of filesystems to unmount"
-msgstr ""
+msgstr "umount: Dateisystemliste für Unmount-Vorgang wurde nicht gefunden."
 
 #: mount/umount.c:398
 msgid ""
@@ -7270,61 +7726,61 @@ msgid ""
 "       umount -a [-f] [-r] [-n] [-v] [-t vfstypes]\n"
 "       umount [-f] [-r] [-n] [-v] special | node...\n"
 msgstr ""
-"Aufruf: umount [-hV]\n"
+"Verwendung: umount [-hV]\n"
 "        umoumt -a [-f] [-r] [-n] [-v] [-t VFS-Typen]\n"
 "        umount [-f] [-r] [-n] [-v] Spezialdatei | Verzeichnis ...\n"
 
 #: mount/umount.c:459
 msgid "umount: only root can do that"
-msgstr "umount: Nur »root« kann dies tun"
+msgstr "umount: Kann nur von 'root' ausgeführt werden"
 
 #: mount/umount.c:474
 #, c-format
 msgid "Trying to umount %s\n"
-msgstr "Versuche %s zu umounten\n"
+msgstr "Es wird versucht, %s zu unmounten.\n"
 
 #: mount/umount.c:478
 #, c-format
 msgid "Could not find %s in mtab\n"
-msgstr "Konnte %s nicht in mtab finden\n"
+msgstr "%s wurde nicht in mtab gefunden.\n"
 
 #: mount/umount.c:482
 #, c-format
 msgid "umount: %s is not mounted (according to mtab)"
-msgstr "umount: %s ist laut »mtab« nicht gemountet"
+msgstr "umount: %s ist laut 'mtab' nicht gemountet."
 
 #: mount/umount.c:484
 #, c-format
 msgid "umount: it seems %s is mounted multiple times"
-msgstr "umount: %s scheint mehrfach gemountet zu sein"
+msgstr "umount: %s ist mehrfach gemountet."
 
 #: mount/umount.c:496
 #, 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 unmounten)"
+msgstr "umount: %s befindet sich nicht in fstab (und Sie sind nicht 'root')"
 
 #: mount/umount.c:499
 #, c-format
 msgid "umount: %s mount disagrees with the fstab"
-msgstr ""
+msgstr "umount: %s mount stimmt nicht mit fstab überein."
 
 #: mount/umount.c:520
 #, c-format
 msgid "umount: only root can unmount %s from %s"
-msgstr "umount: Nur »root« kann %s von %s unmounten"
+msgstr "umount: Nur 'root' kann %s von %s unmounten."
 
 #: mount/umount.c:531
 #, c-format
 msgid "umount: only %s can unmount %s from %s"
-msgstr "umount: Nur %s kann %s von %s unmounten"
+msgstr "umount: Nur %s kann %s von %s unmounten."
 
 #: sys-utils/ctrlaltdel.c:26
 msgid "You must be root to set the Ctrl-Alt-Del behaviour.\n"
-msgstr "Nur root kann das Verhalten bei Strg-Alt-Entf ändern.\n"
+msgstr "Nur 'root' kann das Verhalten von Strg-Alt-Entf ändern.\n"
 
 #: sys-utils/ctrlaltdel.c:41
 msgid "Usage: ctrlaltdel hard|soft\n"
-msgstr "Aufruf: ctrlaltdel hard|soft\n"
+msgstr "Verwendung: ctrlaltdel hard|soft\n"
 
 #: sys-utils/cytune.c:118
 #, c-format
@@ -7332,6 +7788,8 @@ 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 den Schwellenwert %lu betrug die Höchstzahl im\n"
+"FIFO %d Zeichen, und die maximale Übertragungsrate betrug %f Zeichen/s.\n"
 
 #: sys-utils/cytune.c:129
 #, c-format
@@ -7340,31 +7798,34 @@ msgid ""
 "in fifo were %d,\n"
 "and the maximum transfer rate in characters/second was %f\n"
 msgstr ""
+"Datei %s: Für den Schwellenwert %lu und den Timeout-Wert %lu betrug die "
+"Höchstzahl im FIFO %d Zeichen,\n"
+"und die maximale Übertragungsrate betrug %f Zeichen/s.\n"
 
 #: sys-utils/cytune.c:196
 #, c-format
 msgid "Invalid interval value: %s\n"
-msgstr ""
+msgstr "Ungültiger Intervallwert: %s\n"
 
 #: sys-utils/cytune.c:204
 #, c-format
 msgid "Invalid set value: %s\n"
-msgstr ""
+msgstr "Ungültiger Sollwert: %s\n"
 
 #: sys-utils/cytune.c:212
 #, c-format
 msgid "Invalid default value: %s\n"
-msgstr ""
+msgstr "Ungültiger Standardwert: %s\n"
 
 #: sys-utils/cytune.c:220
 #, c-format
 msgid "Invalid set time value: %s\n"
-msgstr ""
+msgstr "Ungültiger Timer-Sollwert: %s\n"
 
 #: sys-utils/cytune.c:228
 #, c-format
 msgid "Invalid default time value: %s\n"
-msgstr ""
+msgstr "Ungültiger Timer-Standardwert: %s\n"
 
 #: sys-utils/cytune.c:245
 #, c-format
@@ -7372,706 +7833,732 @@ msgid ""
 "Usage: %s [-q [-i interval]] ([-s value]|[-S value]) ([-t value]|[-T value]) "
 "[-g|-G] file [file...]\n"
 msgstr ""
+"Verwendung: %s [-q [-i Interval]] ([-s Wert]|[-S Wert]) ([-t Wert]|[-T "
+"Wert]) [-g|-G] Datei [Datei...]\n"
 
 #: sys-utils/cytune.c:257 sys-utils/cytune.c:275 sys-utils/cytune.c:294
 #: sys-utils/cytune.c:342
 #, c-format
 msgid "Can't open %s: %s\n"
-msgstr "Konnte %s nicht öffnen: %s\n"
+msgstr "%s kann nicht geöffnet werden: %s\n"
 
 #: sys-utils/cytune.c:264
 #, c-format
 msgid "Can't set %s to threshold %d: %s\n"
-msgstr ""
+msgstr "%s kann nicht auf den Schwellenwert %d gesetzt werden: %s\n"
 
 #: sys-utils/cytune.c:282
 #, c-format
 msgid "Can't set %s to time threshold %d: %s\n"
-msgstr ""
+msgstr "%s kann nicht auf den Timer-Schwellenwert %d gesetzt werden: %s\n"
 
 #: sys-utils/cytune.c:299 sys-utils/cytune.c:354 sys-utils/cytune.c:385
 #, c-format
 msgid "Can't get threshold for %s: %s\n"
-msgstr ""
+msgstr "Schwellenwert für %s kann nicht ermittelt werden: %s\n"
 
 #: sys-utils/cytune.c:305 sys-utils/cytune.c:360 sys-utils/cytune.c:391
 #, c-format
 msgid "Can't get timeout for %s: %s\n"
-msgstr ""
+msgstr "Timeout-Wert für %s kann nicht ermittelt werden: %s\n"
 
 #: sys-utils/cytune.c:309
 #, c-format
 msgid "%s: %ld %s threshold and %ld %s timeout\n"
-msgstr ""
+msgstr "%s: %ld %s Schwellenwert und %ld %s Timeout-Wert\n"
 
 #: sys-utils/cytune.c:311 sys-utils/cytune.c:313
 msgid "current"
-msgstr ""
+msgstr "aktueller"
 
 #: sys-utils/cytune.c:311 sys-utils/cytune.c:313
 msgid "default"
-msgstr ""
+msgstr "standarmäßiger"
 
 #: sys-utils/cytune.c:330
 msgid "Can't set signal handler"
-msgstr ""
+msgstr "Signal-Handler kann nicht festgelegt werden."
 
 #: sys-utils/cytune.c:334 sys-utils/cytune.c:369
 msgid "gettimeofday failed"
-msgstr ""
+msgstr "gettimeofday nicht erfolgreich."
 
 #: sys-utils/cytune.c:347 sys-utils/cytune.c:379
 #, c-format
 msgid "Can't issue CYGETMON on %s: %s\n"
-msgstr ""
+msgstr "CYGETMON ist bei %s nicht möglich: %s\n"
 
 #: sys-utils/cytune.c:421
 #, c-format
 msgid "%s: %lu ints, %lu/%lu chars; "
-msgstr ""
+msgstr "%s: %lu Ganzzahlen, %lu/%lu Zeichen; "
 
 #: sys-utils/cytune.c:422
 #, c-format
 msgid "fifo: %lu thresh, %lu tmout, "
-msgstr ""
+msgstr "fifo: %lu Schwellenwert, %lu Timeout, "
 
 #: sys-utils/cytune.c:423
 #, c-format
 msgid "%lu max, %lu now\n"
-msgstr ""
+msgstr "%lu Maximalwert, %lu Istwert\n"
 
 #: sys-utils/cytune.c:428
 #, c-format
 msgid "   %f int/sec; %f rec, %f send (char/sec)\n"
-msgstr ""
+msgstr "   %f Int/s; %f Empfang, %f Übertragen (Zeichen/s)\n"
 
 #: sys-utils/cytune.c:433
 #, c-format
 msgid ""
 "%s: %lu ints, %lu chars; fifo: %lu thresh, %lu tmout, %lu max, %lu now\n"
 msgstr ""
+"%s: %lu Ints, %lu Zeichen; FIFO: %lu Schwellenwert, %lu Timeout, %lu "
+"Maximalwert, %lu Istwert\n"
 
 #: sys-utils/cytune.c:438
 #, c-format
 msgid "   %f int/sec; %f rec (char/sec)\n"
-msgstr ""
+msgstr "   %f Int/s; %f Empfang (Zeichen/s)\n"
 
 # "Level"
 #: sys-utils/dmesg.c:38
 #, c-format
 msgid "Usage: %s [-c] [-n level] [-s bufsize]\n"
-msgstr "Aufruf: %s [-c] [-n Level] [-s Puffergröße]\n"
+msgstr "Verwendung: %s [-c] [-n Level] [-s Puffergröße]\n"
 
 #: sys-utils/ipcrm.c:46
 #, c-format
 msgid "usage: %s [shm | msg | sem] id\n"
-msgstr ""
+msgstr "Verwendung: %s [shm | msg | sem] id\n"
 
 #: sys-utils/ipcrm.c:70
 #, c-format
 msgid "usage: %s [-shm | -msg | -sem] id\n"
-msgstr ""
+msgstr "Verwendung: %s [-shm | -msg | -sem] id\n"
 
 #: sys-utils/ipcrm.c:73
 msgid "resource deleted\n"
-msgstr ""
+msgstr "Ressource gelöscht\n"
 
-#: sys-utils/ipcs.c:91
+#: sys-utils/ipcs.c:117
 #, c-format
 msgid "usage : %s -asmq -tclup \n"
-msgstr ""
+msgstr "Verwendung: %s -asmq -tclup \n"
 
-#: sys-utils/ipcs.c:92
+#: sys-utils/ipcs.c:118
 #, c-format
 msgid "\t%s [-s -m -q] -i id\n"
-msgstr ""
+msgstr "\t%s [-s -m -q] -i id\n"
 
-#: sys-utils/ipcs.c:93
+#: sys-utils/ipcs.c:119
 #, c-format
 msgid "\t%s -h for help.\n"
-msgstr ""
+msgstr "\t%s -h für Hilfe.\n"
 
-#: sys-utils/ipcs.c:99
+#: sys-utils/ipcs.c:125
 #, c-format
 msgid "%s provides information on ipc facilities for"
-msgstr ""
+msgstr "%s zeigt Informationen über IPC-Einrichtungen an,"
 
-#: sys-utils/ipcs.c:100
+#: sys-utils/ipcs.c:126
 msgid " which you have read access.\n"
-msgstr ""
+msgstr "für die Sie Lesezugriff haben.\n"
 
-#: sys-utils/ipcs.c:101
+#: sys-utils/ipcs.c:127
 msgid ""
 "Resource Specification:\n"
 "\t-m : shared_mem\n"
 "\t-q : messages\n"
 msgstr ""
+"Ressourcenspezifikation:\n"
+"\t-m : gem. Speicher\n"
+"\t-q : Nachrichten\n"
 
-#: sys-utils/ipcs.c:102
+#: sys-utils/ipcs.c:128
 msgid ""
 "\t-s : semaphores\n"
 "\t-a : all (default)\n"
 msgstr ""
+"\t-s : Semaphores\n"
+"\t-a : alle (Standardwert)\n"
 
-#: sys-utils/ipcs.c:103
+#: sys-utils/ipcs.c:129
 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 : Ersteller\n"
 
-#: sys-utils/ipcs.c:104
+#: sys-utils/ipcs.c:130
 msgid ""
 "\t-l : limits\n"
 "\t-u : summary\n"
 msgstr ""
+"\t-l : Limit\n"
+"\t-u : Übersicht\n"
 
-#: sys-utils/ipcs.c:105
+#: sys-utils/ipcs.c:131
 msgid "-i id [-s -q -m] : details on resource identified by id\n"
 msgstr ""
+"-i id [-s -q -m] : Details der Ressource werden durch 'id' identifiziert\n"
 
-#: sys-utils/ipcs.c:237 sys-utils/ipcs.c:439
+#: sys-utils/ipcs.c:263 sys-utils/ipcs.c:465
 msgid "kernel not configured for shared memory\n"
 msgstr ""
+"Der Kernel ist nicht für gemeinsam verwendeten Speicher konfiguriert.\n"
 
-#: sys-utils/ipcs.c:243
+#: sys-utils/ipcs.c:269
 msgid "------ Shared Memory Limits --------\n"
-msgstr ""
+msgstr "Grenzwerte für gemeinsamen Speicher \n"
 
-#: sys-utils/ipcs.c:246
+#: sys-utils/ipcs.c:272
 #, c-format
 msgid "max number of segments = %d\n"
-msgstr ""
+msgstr "Max. Anzahl Segmente = %d\n"
 
-#: sys-utils/ipcs.c:247
+#: sys-utils/ipcs.c:273
 #, c-format
 msgid "max seg size (kbytes) = %d\n"
-msgstr ""
+msgstr "Max. Segmentgröße (KB) = %d\n"
 
-#: sys-utils/ipcs.c:248
+#: sys-utils/ipcs.c:274
 #, c-format
 msgid "max total shared memory (kbytes) = %d\n"
-msgstr ""
+msgstr "Max. Größe für gemeinsamen Speicher (KB) = %d\n"
 
-#: sys-utils/ipcs.c:249
+#: sys-utils/ipcs.c:275
 #, c-format
 msgid "min seg size (bytes) = %d\n"
-msgstr ""
+msgstr "Min. Segmentgröße (KB) = %d\n"
 
-#: sys-utils/ipcs.c:253
+#: sys-utils/ipcs.c:279
 msgid "------ Shared Memory Status --------\n"
-msgstr ""
+msgstr "- Status des gemeinsamen Speichers -\n"
 
-#: sys-utils/ipcs.c:254
+#: sys-utils/ipcs.c:280
 #, c-format
 msgid "segments allocated %d\n"
-msgstr ""
+msgstr "Zugeordnete Segmente %d\n"
 
-#: sys-utils/ipcs.c:255
+#: sys-utils/ipcs.c:281
 #, c-format
 msgid "pages allocated %ld\n"
-msgstr ""
+msgstr "Zugeordnete Seiten %ld\n"
 
-#: sys-utils/ipcs.c:256
+#: sys-utils/ipcs.c:282
 #, c-format
 msgid "pages resident  %ld\n"
-msgstr ""
+msgstr "Speicherresidente Seiten %ld\n"
 
-#: sys-utils/ipcs.c:257
+#: sys-utils/ipcs.c:283
 #, c-format
 msgid "pages swapped   %ld\n"
-msgstr ""
+msgstr "Ausgelagerte Seiten %ld\n"
 
-#: sys-utils/ipcs.c:258
+#: sys-utils/ipcs.c:284
 #, c-format
 msgid "Swap performance: %ld attempts\t %ld successes\n"
-msgstr ""
+msgstr "Auslagerungsleistung: %ld Versuche\t %ld Erfolge\n"
 
-#: sys-utils/ipcs.c:263
+#: sys-utils/ipcs.c:289
 msgid "------ Shared Memory Segment Creators/Owners --------\n"
-msgstr ""
+msgstr "- Gemeinsame Speichersegmente: Ersteller/Eigentümer -\n"
 
-#: sys-utils/ipcs.c:264 sys-utils/ipcs.c:370 sys-utils/ipcs.c:462
+#: sys-utils/ipcs.c:290 sys-utils/ipcs.c:396 sys-utils/ipcs.c:488
 #, c-format
 msgid "%-10s%-10s%-10s%-10s%-10s%-10s\n"
-msgstr ""
+msgstr "%-10s%-10s%-10s%-10s%-10s%-10s\n"
 
-#: sys-utils/ipcs.c:265 sys-utils/ipcs.c:271 sys-utils/ipcs.c:276
-#: sys-utils/ipcs.c:281 sys-utils/ipcs.c:377
+#: sys-utils/ipcs.c:291 sys-utils/ipcs.c:297 sys-utils/ipcs.c:302
+#: sys-utils/ipcs.c:307 sys-utils/ipcs.c:403
 msgid "shmid"
-msgstr ""
+msgstr "shmid"
 
-#: sys-utils/ipcs.c:265 sys-utils/ipcs.c:282 sys-utils/ipcs.c:371
-#: sys-utils/ipcs.c:386 sys-utils/ipcs.c:463 sys-utils/ipcs.c:480
+#: sys-utils/ipcs.c:291 sys-utils/ipcs.c:308 sys-utils/ipcs.c:397
+#: sys-utils/ipcs.c:412 sys-utils/ipcs.c:489 sys-utils/ipcs.c:506
 msgid "perms"
-msgstr ""
+msgstr "perms"
 
-#: sys-utils/ipcs.c:265 sys-utils/ipcs.c:371 sys-utils/ipcs.c:463
+#: sys-utils/ipcs.c:291 sys-utils/ipcs.c:397 sys-utils/ipcs.c:489
 msgid "cuid"
-msgstr ""
+msgstr "cuid"
 
-#: sys-utils/ipcs.c:265 sys-utils/ipcs.c:371 sys-utils/ipcs.c:463
+#: sys-utils/ipcs.c:291 sys-utils/ipcs.c:397 sys-utils/ipcs.c:489
 msgid "cgid"
-msgstr ""
+msgstr "cgid"
 
-#: sys-utils/ipcs.c:265 sys-utils/ipcs.c:371 sys-utils/ipcs.c:463
+#: sys-utils/ipcs.c:291 sys-utils/ipcs.c:397 sys-utils/ipcs.c:489
 msgid "uid"
-msgstr ""
+msgstr "uid"
 
-#: sys-utils/ipcs.c:265 sys-utils/ipcs.c:463
+#: sys-utils/ipcs.c:291 sys-utils/ipcs.c:489
 msgid "gid"
-msgstr ""
+msgstr "gid"
 
-#: sys-utils/ipcs.c:269
+#: sys-utils/ipcs.c:295
 msgid "------ Shared Memory Attach/Detach/Change Times --------\n"
-msgstr ""
+msgstr "- Gemeinsamer Speicher: Anfüge-/Trenn-/Änderungszeiten -\n"
 
-#: sys-utils/ipcs.c:270
+#: sys-utils/ipcs.c:296
 #, c-format
 msgid "%-10s%-10s  %-20s%-20s%-20s\n"
-msgstr ""
+msgstr "%-10s%-10s  %-20s%-20s%-20s\n"
 
-#: sys-utils/ipcs.c:271 sys-utils/ipcs.c:276 sys-utils/ipcs.c:282
-#: sys-utils/ipcs.c:377 sys-utils/ipcs.c:386 sys-utils/ipcs.c:469
-#: sys-utils/ipcs.c:474 sys-utils/ipcs.c:480
+#: sys-utils/ipcs.c:297 sys-utils/ipcs.c:302 sys-utils/ipcs.c:308
+#: sys-utils/ipcs.c:403 sys-utils/ipcs.c:412 sys-utils/ipcs.c:495
+#: sys-utils/ipcs.c:500 sys-utils/ipcs.c:506
 msgid "owner"
-msgstr ""
+msgstr "Eigentümer"
 
-#: sys-utils/ipcs.c:271
+#: sys-utils/ipcs.c:297
 msgid "attached"
-msgstr ""
+msgstr "Angefügt"
 
-#: sys-utils/ipcs.c:271
+#: sys-utils/ipcs.c:297
 msgid "detached"
-msgstr ""
+msgstr "Getrennt"
 
-#: sys-utils/ipcs.c:271
+#: sys-utils/ipcs.c:297
 msgid "changed"
-msgstr ""
+msgstr "Geändert"
 
-#: sys-utils/ipcs.c:275
+#: sys-utils/ipcs.c:301
 msgid "------ Shared Memory Creator/Last-op --------\n"
-msgstr ""
+msgstr "Gemeinsamer Speicher: Ersteller/Letzte Oper. \n"
 
-#: sys-utils/ipcs.c:276 sys-utils/ipcs.c:474
+#: sys-utils/ipcs.c:302 sys-utils/ipcs.c:500
 #, c-format
 msgid "%-10s%-10s%-10s%-10s\n"
-msgstr ""
+msgstr "%-10s%-10s%-10s%-10s\n"
 
-#: sys-utils/ipcs.c:276
+#: sys-utils/ipcs.c:302
 msgid "cpid"
-msgstr ""
+msgstr "cpid"
 
-#: sys-utils/ipcs.c:276
+#: sys-utils/ipcs.c:302
 msgid "lpid"
-msgstr ""
+msgstr "lpid"
 
-#: sys-utils/ipcs.c:280
+#: sys-utils/ipcs.c:306
 msgid "------ Shared Memory Segments --------\n"
-msgstr ""
+msgstr "---- Gemeinsame Speichersegmente -----\n"
 
-#: sys-utils/ipcs.c:281
+#: sys-utils/ipcs.c:307
 #, c-format
 msgid "%-10s%-10s%-10s%-10s%-10s%-10s%-12s\n"
-msgstr ""
+msgstr "%-10s%-10s%-10s%-10s%-10s%-10s%-12s\n"
 
-#: sys-utils/ipcs.c:281 sys-utils/ipcs.c:386 sys-utils/ipcs.c:479
+#: sys-utils/ipcs.c:307 sys-utils/ipcs.c:412 sys-utils/ipcs.c:505
 msgid "key"
-msgstr ""
+msgstr "Schlüssel"
 
-#: sys-utils/ipcs.c:282
+#: sys-utils/ipcs.c:308
 msgid "bytes"
-msgstr ""
+msgstr "Byte"
 
-#: sys-utils/ipcs.c:282
+#: sys-utils/ipcs.c:308
 msgid "nattch"
-msgstr ""
+msgstr "nattach"
 
-#: sys-utils/ipcs.c:282 sys-utils/ipcs.c:386
+#: sys-utils/ipcs.c:308 sys-utils/ipcs.c:412
 msgid "status"
-msgstr ""
+msgstr "Status"
 
-#: sys-utils/ipcs.c:302 sys-utils/ipcs.c:303 sys-utils/ipcs.c:304
-#: sys-utils/ipcs.c:407 sys-utils/ipcs.c:408 sys-utils/ipcs.c:500
-#: sys-utils/ipcs.c:501 sys-utils/ipcs.c:502
+#: sys-utils/ipcs.c:328 sys-utils/ipcs.c:329 sys-utils/ipcs.c:330
+#: sys-utils/ipcs.c:433 sys-utils/ipcs.c:434 sys-utils/ipcs.c:526
+#: sys-utils/ipcs.c:527 sys-utils/ipcs.c:528
 msgid "Not set"
-msgstr ""
+msgstr "Nicht festgelegt"
 
-#: sys-utils/ipcs.c:324
+#: sys-utils/ipcs.c:350
 msgid "dest"
-msgstr ""
+msgstr "Ziel"
 
-#: sys-utils/ipcs.c:325
+#: sys-utils/ipcs.c:351
 msgid "locked"
-msgstr ""
+msgstr "Gesperrt"
 
-#: sys-utils/ipcs.c:345
+#: sys-utils/ipcs.c:371
 msgid "kernel not configured for semaphores\n"
-msgstr ""
+msgstr "Kernel ist nicht für Semaphores konfiguriert.\n"
 
-#: sys-utils/ipcs.c:351
+#: sys-utils/ipcs.c:377
 msgid "------ Semaphore Limits --------\n"
-msgstr ""
+msgstr "----- Semaphore-Grenzwerte -----\n"
 
-#: sys-utils/ipcs.c:355
+#: sys-utils/ipcs.c:381
 #, c-format
 msgid "max number of arrays = %d\n"
-msgstr ""
+msgstr "Höchstzahl Datenfelder = %d\n"
 
-#: sys-utils/ipcs.c:356
+#: sys-utils/ipcs.c:382
 #, c-format
 msgid "max semaphores per array = %d\n"
-msgstr ""
+msgstr "Höchstzahl Semaphores pro Datenfeld = %d\n"
 
-#: sys-utils/ipcs.c:357
+#: sys-utils/ipcs.c:383
 #, c-format
 msgid "max semaphores system wide = %d\n"
-msgstr ""
+msgstr "Höchstzahl Semaphores im System = %d\n"
 
-#: sys-utils/ipcs.c:358
+#: sys-utils/ipcs.c:384
 #, c-format
 msgid "max ops per semop call = %d\n"
-msgstr ""
+msgstr "Höchstzahl Operationen pro Semaphore-Aufruf = %d\n"
 
-#: sys-utils/ipcs.c:359
+#: sys-utils/ipcs.c:385
 #, c-format
 msgid "semaphore max value = %d\n"
-msgstr ""
+msgstr "Semaphore-Höchstwert = %d\n"
 
-#: sys-utils/ipcs.c:363
+#: sys-utils/ipcs.c:389
 msgid "------ Semaphore Status --------\n"
-msgstr ""
+msgstr "------ Semaphore-Status --------\n"
 
-#: sys-utils/ipcs.c:364
+#: sys-utils/ipcs.c:390
 #, c-format
 msgid "used arrays = %d\n"
-msgstr ""
+msgstr "Verwendete Datenfelder = %d\n"
 
-#: sys-utils/ipcs.c:365
+#: sys-utils/ipcs.c:391
 #, c-format
 msgid "allocated semaphores = %d\n"
-msgstr ""
+msgstr "Zugewiesene Semaphores = %d\n"
 
-#: sys-utils/ipcs.c:369
+#: sys-utils/ipcs.c:395
 msgid "------ Semaphore Arrays Creators/Owners --------\n"
-msgstr ""
+msgstr "- Semaphore-Datenfelder: Ersteller/Eigentümer --\n"
 
-#: sys-utils/ipcs.c:371 sys-utils/ipcs.c:386
+#: sys-utils/ipcs.c:397 sys-utils/ipcs.c:412
 msgid "semid"
-msgstr ""
+msgstr "semid"
 
-#: sys-utils/ipcs.c:375
+#: sys-utils/ipcs.c:401
 msgid "------ Shared Memory Operation/Change Times --------\n"
-msgstr ""
+msgstr "- Gemeinsamer Speicher: Operations-/Änderungszeit --\n"
 
-#: sys-utils/ipcs.c:376
+#: sys-utils/ipcs.c:402
 #, c-format
 msgid "%-8s%-10s  %-26.24s %-26.24s\n"
-msgstr ""
+msgstr "%-8s%-10s  %-26.24s %-26.24s\n"
 
-#: sys-utils/ipcs.c:377
+#: sys-utils/ipcs.c:403
 msgid "last-op"
-msgstr ""
+msgstr "last-op"
 
-#: sys-utils/ipcs.c:377
+#: sys-utils/ipcs.c:403
 msgid "last-changed"
-msgstr ""
+msgstr "last-changed"
 
-#: sys-utils/ipcs.c:384
+#: sys-utils/ipcs.c:410
 msgid "------ Semaphore Arrays --------\n"
-msgstr ""
+msgstr "---- Semaphore-Datenfelder -----\n"
 
-#: sys-utils/ipcs.c:385
+#: sys-utils/ipcs.c:411
 #, c-format
 msgid "%-10s%-10s%-10s%-10s%-10s%-12s\n"
-msgstr ""
+msgstr "%-10s%-10s%-10s%-10s%-10s%-12s\n"
 
-#: sys-utils/ipcs.c:386
+#: sys-utils/ipcs.c:412
 msgid "nsems"
-msgstr ""
+msgstr "nsems"
 
-#: sys-utils/ipcs.c:447
+#: sys-utils/ipcs.c:473
 msgid "------ Messages: Limits --------\n"
-msgstr ""
+msgstr "---- Nachrichten: Grenzwerte ---\n"
 
-#: sys-utils/ipcs.c:448
+#: sys-utils/ipcs.c:474
 #, c-format
 msgid "max queues system wide = %d\n"
-msgstr ""
+msgstr "Höchstzahl Warteschlangen im = %d\n"
 
-#: sys-utils/ipcs.c:449
+#: sys-utils/ipcs.c:475
 #, c-format
 msgid "max size of message (bytes) = %d\n"
-msgstr ""
+msgstr "Höchstzahl Nachrichten (Byte) = %d\n"
 
-#: sys-utils/ipcs.c:450
+#: sys-utils/ipcs.c:476
 #, c-format
 msgid "default max size of queue (bytes) = %d\n"
-msgstr ""
+msgstr "Standard-Maximalgröße der Warteschlange (Byte) = %d\n"
 
-#: sys-utils/ipcs.c:454
+#: sys-utils/ipcs.c:480
 msgid "------ Messages: Status --------\n"
-msgstr ""
+msgstr "----- Nachrichten: Status ------\n"
 
-#: sys-utils/ipcs.c:455
+#: sys-utils/ipcs.c:481
 #, c-format
 msgid "allocated queues = %d\n"
-msgstr ""
+msgstr "Zugewiesene Warteschlangen = %d\n"
 
-#: sys-utils/ipcs.c:456
+#: sys-utils/ipcs.c:482
 #, c-format
 msgid "used headers = %d\n"
-msgstr ""
+msgstr "Verwendete Kopfzeilen = %d\n"
 
-#: sys-utils/ipcs.c:457
+#: sys-utils/ipcs.c:483
 #, c-format
 msgid "used space = %d bytes\n"
-msgstr ""
+msgstr "Verwendeter Speicherplatz = %d Byte\n"
 
-#: sys-utils/ipcs.c:461
+#: sys-utils/ipcs.c:487
 msgid "------ Message Queues: Creators/Owners --------\n"
-msgstr ""
+msgstr "- Nachr.-Warteschlangen: Ersteller/Eigentümer -\n"
 
-#: sys-utils/ipcs.c:463 sys-utils/ipcs.c:469 sys-utils/ipcs.c:474
-#: sys-utils/ipcs.c:479
+#: sys-utils/ipcs.c:489 sys-utils/ipcs.c:495 sys-utils/ipcs.c:500
+#: sys-utils/ipcs.c:505
 msgid "msqid"
-msgstr ""
+msgstr "msqid"
 
-#: sys-utils/ipcs.c:467
+#: sys-utils/ipcs.c:493
 msgid "------ Message Queues Send/Recv/Change Times --------\n"
-msgstr ""
+msgstr "Nachr.-Warteschlangen: Sende-/Empfangs-/Änderungszeit\n"
 
-#: sys-utils/ipcs.c:468
+#: sys-utils/ipcs.c:494
 #, c-format
 msgid "%-8s%-10s  %-20s%-20s%-20s\n"
-msgstr ""
+msgstr "%-8s%-10s  %-20s%-20s%-20s\n"
 
-#: sys-utils/ipcs.c:469
+#: sys-utils/ipcs.c:495
 msgid "send"
-msgstr ""
+msgstr "Senden"
 
-#: sys-utils/ipcs.c:469
+#: sys-utils/ipcs.c:495
 msgid "recv"
-msgstr ""
+msgstr "Empfangen"
 
-#: sys-utils/ipcs.c:469
+#: sys-utils/ipcs.c:495
 msgid "change"
-msgstr ""
+msgstr "Ändern"
 
-#: sys-utils/ipcs.c:473
+#: sys-utils/ipcs.c:499
 msgid "------ Message Queues PIDs --------\n"
-msgstr ""
+msgstr "- Nachrichtenwarteschlangen-PIDs --\n"
 
-#: sys-utils/ipcs.c:474
+#: sys-utils/ipcs.c:500
 msgid "lspid"
-msgstr ""
+msgstr "lspid"
 
-#: sys-utils/ipcs.c:474
+#: sys-utils/ipcs.c:500
 msgid "lrpid"
-msgstr ""
+msgstr "lrpid"
 
-#: sys-utils/ipcs.c:478
+#: sys-utils/ipcs.c:504
 msgid "------ Message Queues --------\n"
-msgstr ""
+msgstr "-- Nachrichtenwarteschlagen --\n"
 
-#: sys-utils/ipcs.c:479
+#: sys-utils/ipcs.c:505
 #, c-format
 msgid "%-10s%-10s%-10s%-10s%-12s%-12s\n"
-msgstr ""
+msgstr "%-10s%-10s%-10s%-10s%-12s%-12s\n"
 
-#: sys-utils/ipcs.c:480
+#: sys-utils/ipcs.c:506
 msgid "used-bytes"
-msgstr ""
+msgstr "used-bytes"
 
-#: sys-utils/ipcs.c:480
+#: sys-utils/ipcs.c:506
 msgid "messages"
-msgstr ""
+msgstr "Nachrichten"
 
-#: sys-utils/ipcs.c:539
+#: sys-utils/ipcs.c:565
 #, c-format
 msgid ""
 "\n"
 "Shared memory Segment shmid=%d\n"
 msgstr ""
+"\n"
+"Gemeinsames Speichersegment shmid=%d\n"
 
-#: sys-utils/ipcs.c:540
+#: sys-utils/ipcs.c:566
 #, c-format
 msgid "uid=%d\tgid=%d\tcuid=%d\tcgid=%d\n"
-msgstr ""
+msgstr "uid=%d\tgid=%d\tcuid=%d\tcgid=%d\n"
 
-#: sys-utils/ipcs.c:542
+#: sys-utils/ipcs.c:568
 #, c-format
 msgid "mode=%#o\taccess_perms=%#o\n"
-msgstr ""
+msgstr "Modus=%#o\taccess_perms=%#o\n"
 
-#: sys-utils/ipcs.c:543
+#: sys-utils/ipcs.c:569
 #, c-format
 msgid "bytes=%d\tlpid=%d\tcpid=%d\tnattch=%d\n"
-msgstr ""
+msgstr "Byte=%d\tlpid=%d\tcpid=%d\tnattch=%d\n"
 
-#: sys-utils/ipcs.c:546
+#: sys-utils/ipcs.c:572
 #, c-format
 msgid "att_time=%s"
-msgstr ""
+msgstr "att_time=%s"
 
-#: sys-utils/ipcs.c:547 sys-utils/ipcs.c:549 sys-utils/ipcs.c:598
+#: sys-utils/ipcs.c:573 sys-utils/ipcs.c:575 sys-utils/ipcs.c:624
 msgid "Not set\n"
-msgstr ""
+msgstr "Nicht festgelegt\n"
 
-#: sys-utils/ipcs.c:548
+#: sys-utils/ipcs.c:574
 #, c-format
 msgid "det_time=%s"
-msgstr ""
+msgstr "det_time=%s"
 
-#: sys-utils/ipcs.c:550
+#: sys-utils/ipcs.c:576
 #, c-format
 msgid "change_time=%s"
-msgstr ""
+msgstr "change_time=%s"
 
-#: sys-utils/ipcs.c:566
+#: sys-utils/ipcs.c:592
 #, c-format
 msgid ""
 "\n"
 "Message Queue msqid=%d\n"
 msgstr ""
+"\n"
+"Nachrichtenwarteschlange msqid=%d\n"
 
-#: sys-utils/ipcs.c:567
+#: sys-utils/ipcs.c:593
 #, c-format
 msgid "uid=%d\tgid=%d\tcuid=%d\tcgid=%d\tmode=%#o\n"
-msgstr ""
+msgstr "uid=%d\tgid=%d\tcuid=%d\tcgid=%d\tmode=%#o\n"
 
-#: sys-utils/ipcs.c:569
+#: sys-utils/ipcs.c:595
 #, c-format
 msgid "cbytes=%d\tqbytes=%d\tqnum=%d\tlspid=%d\tlrpid=%d\n"
-msgstr ""
+msgstr "cbytes=%d\tqbytes=%d\tqnum=%d\tlspid=%d\tlrpid=%d\n"
 
-#: sys-utils/ipcs.c:572
+#: sys-utils/ipcs.c:598
 #, c-format
 msgid "send_time=%srcv_time=%schange_time=%s"
-msgstr ""
+msgstr "Sendezeit=%sEmpfangszeit=%sÄnderungszeit=%s"
 
-#: sys-utils/ipcs.c:573 sys-utils/ipcs.c:574 sys-utils/ipcs.c:575
+#: sys-utils/ipcs.c:599 sys-utils/ipcs.c:600 sys-utils/ipcs.c:601
 msgid "Not Set\n"
-msgstr ""
+msgstr "Nicht gesetzt\n"
 
-#: sys-utils/ipcs.c:592
+#: sys-utils/ipcs.c:618
 #, c-format
 msgid ""
 "\n"
 "Semaphore Array semid=%d\n"
 msgstr ""
+"\n"
+"Semaphore-Datenfeld semid=%d\n"
 
-#: sys-utils/ipcs.c:593
+#: sys-utils/ipcs.c:619
 #, c-format
 msgid "uid=%d\t gid=%d\t cuid=%d\t cgid=%d\n"
-msgstr ""
+msgstr "uid=%d\t gid=%d\t cuid=%d\t cgid=%d\n"
 
-#: sys-utils/ipcs.c:595
+#: sys-utils/ipcs.c:621
 #, c-format
 msgid "mode=%#o, access_perms=%#o\n"
-msgstr ""
+msgstr "Modus=%#o, Zugriffsrechte=%#o\n"
 
-#: sys-utils/ipcs.c:596
+#: sys-utils/ipcs.c:622
 #, c-format
 msgid "nsems = %d\n"
-msgstr ""
+msgstr "nsems = %d\n"
 
-#: sys-utils/ipcs.c:597
+#: sys-utils/ipcs.c:623
 #, c-format
 msgid "otime = %s"
-msgstr ""
+msgstr "otime = %s"
 
-#: sys-utils/ipcs.c:599
+#: sys-utils/ipcs.c:625
 #, c-format
 msgid "ctime = %s"
-msgstr ""
+msgstr "ctime = %s"
 
-#: sys-utils/ipcs.c:601
+#: sys-utils/ipcs.c:627
 #, c-format
 msgid "%-10s%-10s%-10s%-10s%-10s\n"
-msgstr ""
+msgstr "%-10s%-10s%-10s%-10s%-10s\n"
 
-#: sys-utils/ipcs.c:601
+#: sys-utils/ipcs.c:627
 msgid "semnum"
-msgstr ""
+msgstr "semnum"
 
-#: sys-utils/ipcs.c:601
+#: sys-utils/ipcs.c:627
 msgid "value"
-msgstr ""
+msgstr "Wert"
 
-#: sys-utils/ipcs.c:601
+#: sys-utils/ipcs.c:627
 msgid "ncount"
-msgstr ""
+msgstr "ncount"
 
-#: sys-utils/ipcs.c:602
+#: sys-utils/ipcs.c:628
 msgid "zcount"
-msgstr ""
+msgstr "zcount"
 
-#: sys-utils/ipcs.c:602
+#: sys-utils/ipcs.c:628
 msgid "pid"
-msgstr ""
+msgstr "pid"
 
 #: sys-utils/rdev.c:68
 msgid "usage: rdev [ -rsv ] [ -o OFFSET ] [ IMAGE [ VALUE [ OFFSET ] ] ]"
-msgstr ""
+msgstr "Verwendung: rdev [ -rsv ] [ -o OFFSET ] [ BILD [ WERT [ OFFSET ] ] ]"
 
-# Oh well, "ROOT-Gerät" sounds sooo stupid
 #: sys-utils/rdev.c:69
-#, fuzzy
 msgid ""
 "  rdev /dev/fd0  (or rdev /linux, etc.) displays the current ROOT device"
 msgstr ""
-"  rdev /dev/fd0  (oder rdev /linux, etc.) zeigt das aktuelle ROOT-Gerät an"
+"  rdev /dev/fd0  (oder rdev /linux usw.) zeigt das aktuelle ROOT-Gerät an"
 
 #: sys-utils/rdev.c:70
 msgid "  rdev /dev/fd0 /dev/hda2         sets ROOT to /dev/hda2"
-msgstr ""
+msgstr "  rdev /dev/fd0 /dev/hda2         setzt ROOT auf /dev/hda2"
 
 #: sys-utils/rdev.c:71
 msgid "  rdev -R /dev/fd0 1              set the ROOTFLAGS (readonly status)"
 msgstr ""
+"  rdev -R /dev/fd0 1              legt ROOTFLAGS fest(schreibgeschützt)"
 
 #: sys-utils/rdev.c:72
 msgid "  rdev -s /dev/fd0 /dev/hda2      set the SWAP device"
-msgstr ""
+msgstr "  rdev -s /dev/fd0 /dev/hda2      legt SWAP-Gerät fest"
 
 #: sys-utils/rdev.c:73
 msgid "  rdev -r /dev/fd0 627            set the RAMDISK size"
-msgstr ""
+msgstr "  rdev -r /dev/fd0 627            legt Größe der RAMDISK fest"
 
 #: sys-utils/rdev.c:74
 msgid "  rdev -v /dev/fd0 1              set the bootup VIDEOMODE"
-msgstr ""
+msgstr "  rdev -v /dev/fd0 1              legt VIDEOMODUS für Bootvorgang fest"
 
 #: sys-utils/rdev.c:75
 msgid "  rdev -o N ...                   use the byte offset N"
-msgstr ""
+msgstr "  rdev -o N ...                   verwendet Byteoffset N"
 
 #: sys-utils/rdev.c:76
 msgid "  rootflags ...                   same as rdev -R"
-msgstr ""
+msgstr "  rootflags ...                   identisch mit rdev -R"
 
 #: sys-utils/rdev.c:77
 msgid "  swapdev ...                     same as rdev -s"
-msgstr ""
+msgstr "  swapdev ...                     identisch mit rdev -s"
 
 #: sys-utils/rdev.c:78
 msgid "  ramsize ...                     same as rdev -r"
-msgstr ""
+msgstr "  ramsize ...                     identisch mit rdev -r"
 
 #: sys-utils/rdev.c:79
 msgid "  vidmode ...                     same as rdev -v"
-msgstr ""
+msgstr "  vidmode ...                     identisch mit rdev -v"
 
 #: sys-utils/rdev.c:80
 msgid ""
 "Note: video modes are: -3=Ask, -2=Extended, -1=NormalVga, 1=key1, 2=key2,..."
 msgstr ""
+"Hinweis: Videomodi sind: -3=Ask, -2=Extended, -1=NormalVga, 1=key1, "
+"2=key2,..."
 
 #: sys-utils/rdev.c:81
 msgid "      use -R 1 to mount root readonly, -R 0 for read/write."
 msgstr ""
+"      mit -R 1 wird 'root' schreibgeschützt gemountet, mit -R 0 erhält "
+"'root' Lese- und Schreibzugriff."
 
 #: sys-utils/readprofile.c:52
 #, c-format
@@ -8085,40 +8572,49 @@ msgid ""
 "\t -r            reset all the counters (root only)\n"
 "\t -V            print version and exit\n"
 msgstr ""
+"%s: Verwendung: \"%s [Optionen]\n"
+"\t -m <Zuordnungsdatei> (Standard = \"%s\")\n"
+"\t -p <Dateiname>       (Standard = \"%s\")\n"
+"\t -i                   nur Informationen über Sampling-Schritt anzeigen\n"
+"\t -v                   ausführliche Daten anzeigen\n"
+"\t -a                   alle Zeichen anzeigen, auch wenn Anzahl 0 ist\n"
+"\t -r                   alle Zähler zurücksetzen (nur root)\n"
+"\t -V                   Version anzeigen und beenden\n"
 
 #: sys-utils/readprofile.c:116
 #, c-format
 msgid "%s Version %s\n"
-msgstr ""
+msgstr "%s, Version %s\n"
 
 #: sys-utils/readprofile.c:128
 msgid "anything\n"
-msgstr ""
+msgstr "beliebig\n"
 
 #: sys-utils/readprofile.c:157
 #, c-format
 msgid "Sampling_step: %i\n"
-msgstr ""
+msgstr "Sampling_step: %i\n"
 
 #: sys-utils/readprofile.c:170 sys-utils/readprofile.c:196
 #, c-format
 msgid "%s: %s(%i): wrong map line\n"
-msgstr ""
+msgstr "%s: %s(%i): falsche Zuordnungszeile\n"
 
 #: sys-utils/readprofile.c:183
 #, c-format
 msgid "%s: can't find \"_stext\" in %s\n"
-msgstr ""
+msgstr "%s: Suchtext wurde in %s nicht gefunden.\n"
 
 #: sys-utils/readprofile.c:226
 msgid "total"
-msgstr ""
+msgstr "Gesamt"
 
 #: sys-utils/renice.c:67
 msgid ""
 "usage: renice priority [ [ -p ] pids ] [ [ -g ] pgrps ] [ [ -u ] users ]\n"
 msgstr ""
-"Aufruf: renice Priorität [[-p] PIDs ] [[-g] PGRPs ] [[-u] Benutzernamen ]\n"
+"Verwendung: renice Priorität [[-p] PIDs ] [[-g] PGRPs ] [[-u] Benutzernamen "
+"]\n"
 
 #: sys-utils/renice.c:94
 #, c-format
@@ -8146,98 +8642,103 @@ msgstr "%d: Alte Priorit
 #: sys-utils/setsid.c:23
 #, c-format
 msgid "usage: %s program [arg ...]\n"
-msgstr "Aufruf: %s Programm [Argument ...]\n"
+msgstr "Verwendung: %s Programm [Argument ...]\n"
 
-#: sys-utils/tunelp.c:74
+#: sys-utils/tunelp.c:73
 #, 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 ""
+"Verwendung: %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:90
+#: sys-utils/tunelp.c:89
 msgid "malloc error"
-msgstr ""
+msgstr "malloc-Fehler"
 
-#: sys-utils/tunelp.c:101
-msgid "sscanf error"
-msgstr ""
+#: sys-utils/tunelp.c:100
+#, c-format
+msgid "%s: bad value\n"
+msgstr "%s: Ungültiger Wert\n"
 
-#: sys-utils/tunelp.c:239
+#: sys-utils/tunelp.c:237
 #, c-format
 msgid "%s: %s not an lp device.\n"
 msgstr "%s: %s ist kein lp-Gerät.\n"
 
-#: sys-utils/tunelp.c:260
+#: sys-utils/tunelp.c:258
 #, c-format
 msgid "%s status is %d"
-msgstr "Der Status von %s ist 0x%x"
+msgstr "Der Status von %s ist %d"
 
-#: sys-utils/tunelp.c:261
+#: sys-utils/tunelp.c:259
 msgid ", busy"
-msgstr ", belegt"
+msgstr ", Drucken im Gange"
 
-#: sys-utils/tunelp.c:262
+#: sys-utils/tunelp.c:260
 msgid ", ready"
 msgstr ", bereit"
 
-#: sys-utils/tunelp.c:263
+#: sys-utils/tunelp.c:261
 msgid ", out of paper"
-msgstr ""
+msgstr ", kein Papier vorhanden"
 
-#: sys-utils/tunelp.c:264
+#: sys-utils/tunelp.c:262
 msgid ", on-line"
-msgstr ", on-line"
+msgstr ", betriebsbereit"
 
-#: sys-utils/tunelp.c:265
+#: sys-utils/tunelp.c:263
 msgid ", error"
 msgstr ", Fehler"
 
-#: sys-utils/tunelp.c:282
+#: sys-utils/tunelp.c:280
 msgid "LPGETIRQ error"
-msgstr ""
+msgstr "LPGETIRQ-Fehler"
 
-#: sys-utils/tunelp.c:288
+#: sys-utils/tunelp.c:286
 #, c-format
 msgid "%s using IRQ %d\n"
-msgstr ""
+msgstr "%s bei Verwendung von IRQ %d\n"
 
-#: sys-utils/tunelp.c:290
+#: sys-utils/tunelp.c:288
 #, c-format
 msgid "%s using polling\n"
-msgstr ""
+msgstr "%s bei Verwendung von Abfragen\n"
 
 #: text-utils/col.c:153
 #, c-format
 msgid "col: bad -l argument %s.\n"
-msgstr ""
+msgstr "col: Ungültiges Argument '-l' %s.\n"
 
 #: text-utils/col.c:516
 msgid "usage: col [-bfx] [-l nline]\n"
-msgstr ""
+msgstr "Verwendung: col [-bfx] [-l nZeile]\n"
 
 #: text-utils/col.c:522
 msgid "col: write error.\n"
-msgstr ""
+msgstr "col: Fehler beim Schreiben.\n"
 
 #: text-utils/col.c:529
 #, c-format
 msgid "col: warning: can't back up %s.\n"
-msgstr ""
+msgstr "col: Warnung: %s kann nicht gesichert werden.\n"
 
 #: text-utils/col.c:530
 msgid "past first line"
-msgstr ""
+msgstr "über die erste Zeile hinaus"
 
 #: text-utils/col.c:530
 msgid "-- line already flushed"
-msgstr ""
+msgstr "-- Zeile bereits geleert"
 
 #: text-utils/colcrt.c:98
 #, c-format
 msgid "usage: %s [ - ] [ -2 ] [ file ... ]\n"
-msgstr "Aufruf: %s [ - ] [ -2 ] [ Datei ... ]\n"
+msgstr "Verwendung: %s [ - ] [ -2 ] [ Datei ... ]\n"
 
 #: text-utils/column.c:302
 msgid "line too long"
@@ -8245,26 +8746,28 @@ msgstr "Zeile ist zu lang"
 
 #: text-utils/column.c:379
 msgid "usage: column [-tx] [-c columns] [file ...]\n"
-msgstr "Aufruf: column [-tx] [-c Spalten] [Datei ...]\n"
+msgstr "Verwendung: column [-tx] [-c Spalten] [Datei ...]\n"
 
 #: text-utils/hexsyntax.c:80
 msgid "hexdump: bad length value.\n"
-msgstr ""
+msgstr "hexdump: Ungültiger Wert für 'Länge'.\n"
 
 #: text-utils/hexsyntax.c:91
 msgid "hexdump: bad skip value.\n"
-msgstr ""
+msgstr "hexdump: Ungültiger Wert für 'überspringen'.\n"
 
 #: text-utils/hexsyntax.c:129
 msgid ""
 "hexdump: [-bcdovx] [-e fmt] [-f fmt_file] [-n length] [-s skip] [file ...]\n"
 msgstr ""
+"hexdump: [-bcdovx] [-e Format] [-f Formatdatei] [-n Länge] [-s überspringen] "
+"[Datei ...]\n"
 
 #: text-utils/more.c:329
 #, c-format
 msgid "usage: %s [-dfln] [+linenum | +/pattern] name1 name2 ...\n"
 msgstr ""
-"Aufruf: %s [-dfln] [+Zeilennummer | +/Muster] Dateiname1 Dateiname2 ...\n"
+"Verwendung: %s [-dfln] [+Zeilennummer | +/Muster] Dateiname1 Dateiname2 ...\n"
 
 #: text-utils/more.c:504
 #, c-format
@@ -8291,11 +8794,11 @@ msgstr ""
 
 #: text-utils/more.c:647
 msgid "[Use q or Q to quit]"
-msgstr "[Benutzen Sie q oder Q zum Beenden]"
+msgstr "[Drücken Sie q oder Q, um den Vorgang zu beenden]"
 
 #: text-utils/more.c:833
 msgid "--More--"
-msgstr "--Mehr--"
+msgstr "--Weiter--"
 
 #: text-utils/more.c:835
 #, c-format
@@ -8304,7 +8807,7 @@ msgstr "(N
 
 #: text-utils/more.c:841
 msgid "[Press space to continue, 'q' to quit.]"
-msgstr "[Leertaste zum Fortfahren, »q« zum Beenden.]"
+msgstr "[Leertaste = Fortfahren, 'q' = Beenden.]"
 
 #: text-utils/more.c:1139
 #, c-format
@@ -8314,7 +8817,7 @@ msgstr "... %d Seiten zur
 #: text-utils/more.c:1185
 #, c-format
 msgid "...skipping %d line"
-msgstr "...überspringe %d Zeilen"
+msgstr "... %d Zeilen werden übersprungen."
 
 #: text-utils/more.c:1226
 msgid ""
@@ -8328,21 +8831,21 @@ msgstr ""
 
 #: text-utils/more.c:1264
 msgid "Can't open help file"
-msgstr "Konnte die Hilfedatei nicht öffnen"
+msgstr "Die Hilfedatei konnte nicht geöffnet werden."
 
 #: text-utils/more.c:1285 text-utils/more.c:1289
 msgid "[Press 'h' for instructions.]"
-msgstr "[Drücken Sie »h« für Hilfe.]"
+msgstr "[Drücken Sie 'h' für Hilfe.]"
 
 #: text-utils/more.c:1324
 #, c-format
 msgid "\"%s\" line %d"
-msgstr "\"%s\" Zeile %d"
+msgstr "'%s' Zeile %d"
 
 #: text-utils/more.c:1326
 #, c-format
 msgid "[Not a file] line %d"
-msgstr "[Keine normale Datei] Zeile %d"
+msgstr "[Keine Datei] Zeile %d"
 
 #: text-utils/more.c:1410
 msgid "  Overflow\n"
@@ -8350,11 +8853,11 @@ msgstr "  
 
 #: text-utils/more.c:1457
 msgid "...skipping\n"
-msgstr "...Überspringe\n"
+msgstr "...Überspringen\n"
 
 #: text-utils/more.c:1487
 msgid "Regular expression botch"
-msgstr "Fehler beim Ausführen von »re_exec()«"
+msgstr "Fehler beim Ausführen von 're_exec()'"
 
 #: text-utils/more.c:1499
 msgid ""
@@ -8370,7 +8873,7 @@ msgstr "Muster wurde nicht gefunden"
 
 #: text-utils/more.c:1563
 msgid "can't fork\n"
-msgstr "Kann keinen neuen Prozeß erzeugen\n"
+msgstr "kann keinen neuen Prozess erzeugen\n"
 
 #: text-utils/more.c:1602
 msgid ""
@@ -8378,11 +8881,11 @@ msgid ""
 "...Skipping "
 msgstr ""
 "\n"
-"...Springe "
+"...Sprung "
 
 #: text-utils/more.c:1606
 msgid "...Skipping "
-msgstr "...Springe "
+msgstr "...Sprung "
 
 #: text-utils/more.c:1607
 msgid "to file "
@@ -8398,113 +8901,125 @@ msgstr "Zeile ist zu lang"
 
 #: text-utils/more.c:1890
 msgid "No previous command to substitute for"
-msgstr "Kein vorheriges Kommando, das eingefügt werden könnte"
+msgstr "Kein vorheriger Befehl, der ersetzt werden kann"
 
 #: text-utils/odsyntax.c:133
 msgid "od: od(1) has been deprecated for hexdump(1).\n"
-msgstr ""
+msgstr "od: od(1) wurde durch hexdump(1) ersetzt.\n"
 
 #: text-utils/odsyntax.c:136
 #, c-format
 msgid "od: hexdump(1) compatibility doesn't support the -%c option%s\n"
 msgstr ""
+"od: Aus Kompatibilitätsgründen mit hexdump(1) wird die Option -%c nicht "
+"unterstützt %s\n"
 
 #: text-utils/odsyntax.c:137
 msgid "; see strings(1)."
-msgstr ""
+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"
+msgstr "hexdump: %s konnte nicht gelesen werden.\n"
 
 #: text-utils/parse.c:68
-#, fuzzy
 msgid "hexdump: line too long.\n"
 msgstr "hexdump: Zeile ist zu lang.\n"
 
 #: text-utils/parse.c:406
 msgid "hexdump: byte count with multiple conversion characters.\n"
-msgstr ""
+msgstr "hexdump: Byteanzahl mit mehreren Umwandlungszeichen.\n"
 
 #: text-utils/parse.c:490
 #, c-format
 msgid "hexdump: bad byte count for conversion character %s.\n"
-msgstr ""
+msgstr "hexdump: Ungültige Byteanzahl für Umwandlungszeichen %s.\n"
 
 #: text-utils/parse.c:497
 msgid "hexdump: %%s requires a precision or a byte count.\n"
-msgstr ""
+msgstr "hexdump: %%s erfordert Präzision oder Byteanzahl.\n"
 
 #: text-utils/parse.c:503
-#, fuzzy, c-format
+#, c-format
 msgid "hexdump: bad format {%s}\n"
 msgstr "hexdump: Ungültiges Format (%s)\n"
 
 #: text-utils/parse.c:509
 msgid "hexdump: bad conversion character %%%s.\n"
-msgstr ""
+msgstr "hexdump: Ungültiges Umwandlungszeichen %%%s.\n"
 
 #: text-utils/rev.c:114
 msgid "Unable to allocate bufferspace\n"
-msgstr "Konnte keinen Speicher für einen Puffer reservieren.\n"
+msgstr "Es konnte kein Speicher für den Puffer reserviert werden.\n"
 
 #: text-utils/rev.c:173
 msgid "usage: rev [file ...]\n"
-msgstr "Aufruf: rev [Datei ...]\n"
+msgstr "Verwendung: rev [Datei ...]\n"
 
 #: text-utils/ul.c:141
 #, c-format
 msgid "usage: %s [ -i ] [ -tTerm ] file...\n"
-msgstr "Aufruf: %s [ -i ] [ -t Terminalname ] Datei ...\n"
+msgstr "Verwendung: %s [ -i ] [ -tTerminalname ] Datei ...\n"
 
 #: text-utils/ul.c:152
 msgid "trouble reading terminfo"
-msgstr "Probleme beim Lesen der terminfo-Datenbank"
+msgstr "Fehler beim Lesen der terminfo-Datenbank."
 
 #: text-utils/ul.c:241
 #, c-format
 msgid "Unknown escape sequence in input: %o, %o\n"
-msgstr "Unbekannte Escape-Sequenz in der Eingabe: %o, %o\n"
+msgstr "Unbekannte Escape-Folge in der Eingabe: %o, %o\n"
 
 #: text-utils/ul.c:398
 msgid "Unable to allocate buffer.\n"
-msgstr "Konnte keinen Speicher für einen Puffer reservieren.\n"
+msgstr "Es konnte kein Speicher für den Puffer reserviert werden.\n"
 
 #: text-utils/ul.c:555
 msgid "Input line too long.\n"
-msgstr "Eingabezeile ist zu lang.\n"
+msgstr "Die Eingabezeile ist zu lang.\n"
 
 #: text-utils/ul.c:568
 msgid "Out of memory when growing buffer.\n"
-msgstr "Speicher ist alle beim Vergrößern eines Puffers.\n"
+msgstr "Kein Speicher mehr frei beim Vergrößern eines Puffers.\n"
 
-#: kbd/kbdrate.c:139 kbd/kbdrate.c:271
+#: kbd/kbdrate.c:138 kbd/kbdrate.c:276
 #, c-format
 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"
+"Die Tastaturwiederholrate wurde auf %.1f Zeichen/Sekunde gesetzt\n"
+"(Verzögerung: %d ms).\n"
+
+#: kbd/kbdrate.c:222
+msgid "Usage: kbdrate [-V] [-s] [-r rate] [-d delay]\n"
+msgstr ""
 
-#: kbd/kbdrate.c:247
+#: kbd/kbdrate.c:252
 msgid "Cannot open /dev/port"
-msgstr "Konnte /dev/port nicht öffnen"
+msgstr "/dev/port konnte nicht geöffnet werden."
+
+# This one is for Debian
+#~ msgid "not mounting anything"
+#~ msgstr "Es wird nichts gemountet."
+
+#~ msgid "sscanf error"
+#~ msgstr "sscanf-Fehler"
 
 #~ msgid "Cannot read disk drive geometry"
-#~ msgstr "Konnte die Festplattengeometrie nicht lesen"
+#~ msgstr "Festplattengeometrie konnte nicht gelesen werden."
 
 #~ msgid "Cannot derive a geometry from an empty partition table"
 #~ msgstr ""
-#~ "Konnte die Geometrie nicht aus einer leeren Partitionstabelle ableiten"
+#~ "Geometrie kann nicht aus einer leeren Partitionstabelle abgeleitet werden."
 
 #~ msgid "Cannot derive a geometry from the partition table"
-#~ msgstr "Konnte die Geometrie nicht aus der Partitionstabelle ableiten"
+#~ msgstr "Geometrie konnte nicht aus der Partitionstabelle abgeleitet werden."
 
 #~ msgid "%s: unrecognized option `--%s'\n"
-#~ msgstr "%s: unbekannte Option »--%s«\n"
+#~ msgstr "%s: unbekannte Option '--%s'\n"
 
 #~ msgid "'/' in \"%s\""
-#~ msgstr "»%s« enthält einen »/«"
+#~ msgstr "'%s' enthält einen '/'"
 
 #~ msgid "wall: cannot read %s.\n"
-#~ msgstr "wall: Konnte %s nicht lesen.\n"
+#~ msgstr "wall: %s konnte nicht gelesen werden.\n"
diff --git a/po/es.po b/po/es.po
new file mode 100644 (file)
index 0000000..7b06918
--- /dev/null
+++ b/po/es.po
@@ -0,0 +1,8947 @@
+# Spanish translation of the util-linux messages.
+# Copyright (C) 2000 Free Software Foundation, Inc.
+# <support@turbolinux.com>, 2000.
+msgid ""
+msgstr ""
+"Project-Id-Version: util-linux 2.10f\n"
+"POT-Creation-Date: 2000-03-21 14:47-0800\n"
+"PO-Revision-Date: 2000-03-28 21:52-0800\n"
+"Last-Translator: Beth Powell <bpowell@turbolinux.com>\n"
+"Language-Team: <support@turbolinux.com>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=ISO-8859-1\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: clock/cmos.c:146
+msgid "booted from MILO\n"
+msgstr "iniciado desde MILO\n"
+
+#: clock/cmos.c:155
+msgid "Ruffian BCD clock\n"
+msgstr "Reloj BCD Ruffian\n"
+
+#: clock/cmos.c:171
+#, c-format
+msgid "clockport adjusted to 0x%x\n"
+msgstr "puerto de reloj ajustado a 0x%x\n"
+
+#: clock/cmos.c:181
+msgid "funky TOY!\n"
+msgstr "funky TOY!\n"
+
+#: clock/cmos.c:235
+#, c-format
+msgid "%s: atomic %s failed for 1000 iterations!"
+msgstr "%s: %s atómico ha fallado para 1000 iteraciones."
+
+#: clock/cmos.c:559
+#, c-format
+msgid "Cannot open /dev/port: %s"
+msgstr "No es posible abrir /dev/port: %s"
+
+#: clock/cmos.c:566
+msgid "I failed to get permission because I didnt try.\n"
+msgstr "No se ha podido obtener permiso porque no se ha intentado.\n"
+
+#: clock/cmos.c:569
+#, 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"
+
+#: clock/cmos.c:572
+msgid "Probably you need root privileges.\n"
+msgstr "Probablemente son necesarios los privilegios de usuario root.\n"
+
+#: clock/hwclock.c:213
+#, 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"
+
+#: clock/hwclock.c:214 clock/hwclock.c:303
+msgid "UTC"
+msgstr "UTC"
+
+#: clock/hwclock.c:214 clock/hwclock.c:302
+msgid "local"
+msgstr "local"
+
+#: clock/hwclock.c:286
+#, c-format
+msgid "%s: Warning: unrecognized third line in adjtime file\n"
+msgstr "%s: advertencia: tercera línea no reconocida en archivo adjtime\n"
+
+#: clock/hwclock.c:288
+msgid "(Expected: `UTC' or `LOCAL' or nothing.)\n"
+msgstr "(Se esperaba: `UTC', `LOCAL' o nada.)\n"
+
+#: clock/hwclock.c:297
+#, c-format
+msgid "Last drift adjustment done at %d seconds after 1969\n"
+msgstr "Último ajuste de defase realizado %d segundos después de 1969\n"
+
+#: clock/hwclock.c:299
+#, c-format
+msgid "Last calibration done at %d seconds after 1969\n"
+msgstr "Última calibración realizada %d segundos después de 1969\n"
+
+#: clock/hwclock.c:301
+#, c-format
+msgid "Hardware clock is on %s time\n"
+msgstr "El reloj de hardware tiene la hora %s\n"
+
+#: clock/hwclock.c:303
+msgid "unknown"
+msgstr "desconocido"
+
+#. -----------------------------------------------------------------------------
+#. 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 *retcode_p == 0 if it worked, nonzero if it didn't.
+#.
+#. -----------------------------------------------------------------------------
+#: clock/hwclock.c:325
+msgid "Waiting for clock tick...\n"
+msgstr "Esperando señal de reloj...\n"
+
+#: clock/hwclock.c:329
+msgid "...got clock tick\n"
+msgstr "...recibida señal de reloj\n"
+
+#: clock/hwclock.c:380
+#, c-format
+msgid "Invalid values in hardware clock: %2d/%.2d/%.2d %.2d:%.2d:%.2d\n"
+msgstr ""
+"Valores no válidos en reloj de hardware: %2d/%.2d/%.2d %.2d:%.2d:%.2d\n"
+
+#: clock/hwclock.c:389
+#, c-format
+msgid "Hw clock time : %2d/%.2d/%.2d %.2d:%.2d:%.2d = %d seconds since 1969\n"
+msgstr ""
+"Hora del reloj de hardware: %2d/%.2d/%.2d %.2d:%.2d:%.2d = %d segundos desde "
+"1969\n"
+
+#: clock/hwclock.c:417
+#, c-format
+msgid "Time read from Hardware Clock: %02d:%02d:%02d\n"
+msgstr "Hora leída del reloj de hardware: %02d:%02d:%02d\n"
+
+#: clock/hwclock.c:443
+#, c-format
+msgid "Setting Hardware Clock to %.2d:%.2d:%.2d = %d seconds since 1969\n"
+msgstr ""
+"Estableciendo reloj de hardware en %.2d:%.2d:%.2d = %d segundos desde 1969\n"
+
+#: clock/hwclock.c:449
+msgid "Clock not changed - testing only.\n"
+msgstr "El reloj no se ha modificado; sólo se está probando.\n"
+
+#: clock/hwclock.c:497
+#, c-format
+msgid ""
+"Time elapsed since reference time has been %.6f seconds.\n"
+"Delaying further to reach the next full second.\n"
+msgstr ""
+"El tiempo transcurrido desde la hora de referencia es de %.6f segundos.\n"
+"Aumentando el retardo hasta el siguiente segundo completo.\n"
+
+#: clock/hwclock.c:521
+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 "
+"(por ejemplo, día 50 del mes) o exceden el rango que puede utilizarse (por "
+"ejemplo, el año 2095).\n"
+
+#. Address of static storage containing time string
+#. For some strange reason, ctime() is designed to include a newline
+#. character at the end.  We have to remove that.
+#.
+#. Compute display value for time
+#. Cut off trailing newline
+#: clock/hwclock.c:533
+#, c-format
+msgid "%s  %.6f seconds\n"
+msgstr "%s  %.6f segundos\n"
+
+#: clock/hwclock.c:567
+msgid "No --date option specified.\n"
+msgstr "No se ha especificado la opción --date.\n"
+
+#. Quotation marks in date_opt would ruin the date command we construct.
+#.
+#: clock/hwclock.c:572
+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"
+
+#: clock/hwclock.c:578
+#, c-format
+msgid "Issuing date command: %s\n"
+msgstr "Ejecutando comando date: %s\n"
+
+#: clock/hwclock.c:582
+msgid "Unable to run 'date' program in /bin/sh shell. popen() failed"
+msgstr ""
+"No es posible ejecutar el programa 'date' en intérprete de comandos /bin/sh. "
+"popen() ha fallado"
+
+#: clock/hwclock.c:588
+#, c-format
+msgid "response from date command = %s\n"
+msgstr "respuesta del comando date = %s\n"
+
+#: clock/hwclock.c:590
+#, 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 ""
+"El comando date ejecutado por %s ha devuelto resultados inesperados.\n"
+"El comando fue:\n"
+"%s\n"
+"La respuesta fue:\n"
+"%s\n"
+
+#: clock/hwclock.c:599
+#, c-format
+msgid ""
+"The date command issued by %s returnedsomething other than an integer where "
+"the convertedtime value was expected.\n"
+"The command was:\n"
+"  %s\n"
+"The response was:\n"
+" %s\n"
+msgstr ""
+"El comando date emitido por %s ha devuelto un valor no entero cuando se "
+"esperaba el valor de hora convertida.\n"
+"El comando fue:\n"
+"%s\n"
+"La respuesta fue:\n"
+"%s\n"
+
+#: clock/hwclock.c:609
+#, c-format
+msgid "date string %s equates to %d seconds since 1969.\n"
+msgstr "La cadena de date %s equivale a %d segundos desde 1969.\n"
+
+#: clock/hwclock.c:641
+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"
+
+#: clock/hwclock.c:654
+msgid "Calling settimeofday:\n"
+msgstr "Se está llamando settimeofday:\n"
+
+#: clock/hwclock.c:655
+#, c-format
+msgid "\ttv.tv_sec = %ld, tv.tv_usec = %ld\n"
+msgstr "\ttv.tv_sec = %ld, tv.tv_usec = %ld\n"
+
+#: clock/hwclock.c:657
+#, c-format
+msgid "\ttz.tz_minuteswest = %ld\n"
+msgstr "\ttz.tz_minuteswest = %ld\n"
+
+#: clock/hwclock.c:660
+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"
+
+#: clock/hwclock.c:673
+msgid "Must be superuser to set system clock.\n"
+msgstr "Debe ser superusuario para establecer el reloj del sistema.\n"
+
+#: clock/hwclock.c:675
+msgid "settimeofday() failed"
+msgstr "settimeofday() ha fallado"
+
+#: clock/hwclock.c:708
+msgid ""
+"Not adjusting drift factor because the Hardware Clock previously contained "
+"garbage.\n"
+msgstr ""
+"No se está ajustando el factor de defase debido a que el reloj de hardware "
+"contenía anteriormente datos extraños.\n"
+
+#: clock/hwclock.c:712
+msgid ""
+"Not adjusting drift factor because it has been less than a day since the "
+"last calibration.\n"
+msgstr ""
+"No se está ajustando el factor de defase debido a que hace menos de un día "
+"que se realizó la última calibración.\n"
+
+#: clock/hwclock.c:721
+#, c-format
+msgid ""
+"Clock drifted %d 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 defasado %d segundos en los últimos %d segundos a pesar de "
+"utilizar un factor de defase de %f segundos por día.\n"
+"Se está ajustando el factor de defase en %f segundos por día\n"
+
+#: clock/hwclock.c:772
+#, c-format
+msgid "Time since last adjustment is %d seconds\n"
+msgstr "El tiempo transcurrido desde el último ajuste es de %d segundos\n"
+
+#: clock/hwclock.c:774
+#, 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"
+
+#: clock/hwclock.c:803
+msgid "Not updating adjtime file because of testing mode.\n"
+msgstr "No se está actualizando el archivo adjtime debido al modo de prueba.\n"
+
+#: clock/hwclock.c:804
+#, c-format
+msgid ""
+"Would have written the following to %s:\n"
+"%s"
+msgstr ""
+"Se habría escrito lo siguiente en %s:\n"
+"%s"
+
+#: clock/hwclock.c:828
+msgid "Drift adjustment parameters not updated.\n"
+msgstr "Parámetros de ajuste del defase no actualizados.\n"
+
+#: clock/hwclock.c:869
+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"
+
+#: clock/hwclock.c:893
+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"
+
+#: clock/hwclock.c:919
+#, c-format
+msgid "Using %s.\n"
+msgstr "Utilizando %s.\n"
+
+#: clock/hwclock.c:921
+msgid "No usable clock interface found.\n"
+msgstr "No se ha encontrado ninguna interfaz de reloj utilizable.\n"
+
+#: clock/hwclock.c:1016
+msgid "Unable to set system clock.\n"
+msgstr "No es posible establecer el reloj del sistema.\n"
+
+#: clock/hwclock.c:1045
+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 kernel tiene un valor de epoch para el reloj de hardware sólo en las "
+"máquinas Alpha.\n"
+"Esta copia de hwclock se compiló para una máquina que no es Alpha\n"
+"(por lo que posiblemente no se está ejecutando en una máquina Alpha). No se "
+"efectúa ninguna acción.\n"
+
+#: clock/hwclock.c:1054
+msgid "Unable to get the epoch value from the kernel.\n"
+msgstr "No es posible obtener el valor de epoch del kernel.\n"
+
+#: clock/hwclock.c:1056
+#, c-format
+msgid "Kernel is assuming an epoch value of %lu\n"
+msgstr "El kernel presupone el valor de epoch %lu\n"
+
+#: clock/hwclock.c:1059
+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 epoch, debe utilizar la opción 'epoch' para "
+"indicar en qué valor debe definirse.\n"
+
+#: clock/hwclock.c:1062
+#, c-format
+msgid "Not setting the epoch to %d - testing only.\n"
+msgstr ""
+"No se está estableciendo el valor de epoch en %d; sólo se está probando.\n"
+
+#: clock/hwclock.c:1065
+msgid "Unable to set the epoch value in the kernel.\n"
+msgstr "No es posible establecer el valor de epoch en el kernel.\n"
+
+#: clock/hwclock.c:1088
+msgid ""
+"hwclock - query and set the hardware clock (RTC)\n"
+"\n"
+"Usage: hwclock [function] [options...]\n"
+"\n"
+"Functions:\n"
+"  --help        show this help\n"
+"  --show        read hardware clock and print result\n"
+"  --set         set the rtc to the time given with --date\n"
+"  --hctosys     set the system time from the hardware clock\n"
+"  --systohc     set the hardware clock to the current system time\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"
+"  --version     print out the version of hwclock to stdout\n"
+"\n"
+"Options: \n"
+"  --utc         the hardware clock is kept in coordinated universal time\n"
+"  --localtime   the hardware clock is kept in local time\n"
+"  --directisa   access the ISA bus directly instead of /dev/rtc\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"
+msgstr ""
+"hwclock - Consultar y establecer el reloj de hardware (RTC)\n"
+"\n"
+"Uso: hwclock [función] [opciones...]\n"
+"\n"
+"Funciones:\n"
+"  --help        Mostrar esta ayuda\n"
+"  --show        Leer el reloj de hardware e imprimir el resultado\n"
+"  --set         Establecer el RTC en la hora proporcionada con --date\n"
+"  --hctosys     Establecer la hora del sistema a partir del reloj de "
+"hardware\n"
+"  --systohc     Establecer el reloj de hardware en la hora actual del "
+"sistema\n"
+"  --adjust      Ajustar el RTC para compensar el defase sistemático desde \n"
+"                la última vez que se estableció o ajustó el reloj\n"
+"  --getepoch    Imprimir el valor de epoch del reloj de hardware del kernel\n"
+"  --setepoch    Establecer el valor de epoch del reloj de hardware del "
+"kernel \n"
+"                en el valor proporcionado en --epoch\n"
+"  --version     Imprimir la versión de hwclock en stdout\n"
+"\n"
+"Opciones: \n"
+"  --utc         El reloj de hardware tiene la hora UCT\n"
+"  --localtime   El reloj de hardware tiene la hora local\n"
+"  --directisa   Acceder al bus ISA directamente en lugar de a /dev/rtc\n"
+"  --badyear     Hacer caso omiso del año del RTC ya que el BIOS no funciona\n"
+"  --date        Especifica la hora en que se desea establecer el reloj de "
+"hardware\n"
+"  --epoch=año   Especifica el año que corresponde al principio del valor de\n"
+"                época del reloj de hardware\n"
+
+#: clock/hwclock.c:1113
+msgid ""
+"  --jensen, --arc, --srm, --funky-toy\n"
+"                tell hwclock the type of alpha you have (see hwclock(8))\n"
+msgstr ""
+"  --jensen, --arc, --srm, --funky-toy\n"
+"                Indicar al reloj de hardware el tipo de Alpha (ver "
+"hwclock(8))\n"
+
+#: clock/hwclock.c:1209
+#, 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"
+
+#: clock/hwclock.c:1219
+msgid ""
+"You have specified multiple function options.\n"
+"You can only perform one function at a time.\n"
+msgstr ""
+"Ha especificado varias opciones de funciones.\n"
+"Sólo puede llevar a cabo una función a la vez.\n"
+
+#: clock/hwclock.c:1225
+#, 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"
+
+#: clock/hwclock.c:1238
+msgid "No usable set-to time.  Cannot set clock.\n"
+msgstr "Hora no utilizable. No es posible establecer el reloj.\n"
+
+#: clock/hwclock.c:1253
+msgid "Sorry, only the superuser can change the Hardware Clock.\n"
+msgstr "Únicamente el superusuario puede cambiar el reloj de hardware.\n"
+
+#: clock/hwclock.c:1257
+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 epoch del reloj de hardware "
+"del kernel.\n"
+
+#: clock/hwclock.c:1275
+msgid ""
+"Cannot access the Hardware Clock via any known method.  Use --debug option "
+"to see the details of our search for an access method.\n"
+msgstr ""
+"No es posible acceder al reloj de hardware mediante los métodos conocidos. "
+"Utilice --debugpara ver los detalles de la búsqueda para un método de "
+"acceso.\n"
+
+#: clock/kd.c:41
+msgid "Waiting in loop for time from KDGHWCLK to change\n"
+msgstr "Esperando en bucle que cambie la hora de KDGHWCLK\n"
+
+#: clock/kd.c:44
+msgid "KDGHWCLK ioctl to read time failed"
+msgstr "Error de ioctl KDGHWCLK al leer la hora"
+
+#: clock/kd.c:65 clock/rtc.c:144
+msgid "Timed out waiting for time change.\n"
+msgstr "Se ha excedido el tiempo de espera del cambio de hora.\n"
+
+#: clock/kd.c:69
+msgid "KDGHWCLK ioctl to read time failed in loop"
+msgstr "Error en bucle de ioctl KDGHWCLK al leer la hora"
+
+#: clock/kd.c:91
+msgid "ioctl() failed to read time from  /dev/tty1"
+msgstr "ioctl() no ha podido leer la hora de /dev/tty1"
+
+#: clock/kd.c:127
+msgid "ioctl() to open /dev/tty1 failed"
+msgstr "ioctl() no ha podido abrir /dev/tty1"
+
+#: clock/kd.c:157
+msgid "KDGHWCLK ioctl failed"
+msgstr "Error de ioctl KDGHWCLK"
+
+#: clock/kd.c:161
+msgid "Can't open /dev/tty1"
+msgstr "No se puede abrir /dev/tty1"
+
+#: clock/rtc.c:98
+msgid "ioctl() to /dev/rtc to read the time failed.\n"
+msgstr "Error de ioctl() con /dev/rtc al leer la hora.\n"
+
+#: clock/rtc.c:129
+msgid "Waiting in loop for time from /dev/rtc to change\n"
+msgstr "Esperando en bucle que cambie la hora de /dev/rtc\n"
+
+#: clock/rtc.c:165 clock/rtc.c:222
+msgid "open() of /dev/rtc failed"
+msgstr "Error de open() de /dev/rtc"
+
+#. 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.
+#.
+#: clock/rtc.c:182
+msgid "/dev/rtc does not have interrupt functions. "
+msgstr "/dev/rtc no tiene funciones de interrupción. "
+
+#: clock/rtc.c:191
+msgid "read() to /dev/rtc to wait for clock tick failed"
+msgstr "Error de read() de /dev/rtc al esperar señal de reloj"
+
+#: clock/rtc.c:199
+msgid "ioctl() to /dev/rtc to turn off update interrupts failed"
+msgstr ""
+"Error de ioctl() con /dev/rtc al desactivar interrupciones de actualización"
+
+#: clock/rtc.c:202
+msgid "ioctl() to /dev/rtc to turn on update interrupts failed unexpectedly"
+msgstr ""
+"Error inesperado de ioctl() con /dev/rtc al activar interrupciones de "
+"actualización"
+
+#: clock/rtc.c:245 clock/rtc.c:324 clock/rtc.c:369
+msgid "Unable to open /dev/rtc"
+msgstr "No es posible abrir /dev/rtc"
+
+#: clock/rtc.c:268
+msgid "ioctl() to /dev/rtc to set the time failed.\n"
+msgstr "Error de ioctl() con /dev/rtc al establecer la hora.\n"
+
+#: clock/rtc.c:272
+#, c-format
+msgid "ioctl(%s) was successful.\n"
+msgstr "ioctl(%s) ha finalizado correctamente.\n"
+
+#: clock/rtc.c:302
+msgid "Open of /dev/rtc failed"
+msgstr "Error al abrir /dev/rtc"
+
+#: clock/rtc.c:320 clock/rtc.c:365
+msgid ""
+"To manipulate the epoch value in the kernel, we must access the Linux 'rtc' "
+"device driver via the device special file /dev/rtc.  This file does not "
+"exist on this system.\n"
+msgstr ""
+"Para modificar el valor de epoch del kernel, se debe acceder al controlador "
+"de dispositivo 'rtc' de Linux mediante el archivo especial de dispositivo "
+"/dev/rtc. Este archivo no existe en este sistema.\n"
+
+#: clock/rtc.c:331
+msgid "ioctl(RTC_EPOCH_READ) to /dev/rtc failed"
+msgstr "Error de ioctl(RTC_EPOCH_READ) con /dev/rtc"
+
+#: clock/rtc.c:337
+#, c-format
+msgid "we have read epoch %ld from /dev/rtc with RTC_EPOCH_READ ioctl.\n"
+msgstr ""
+"Se ha leído el valor de epoch %ld de /dev/rtc con ioctl RTC_EPOCH_READ.\n"
+
+#. 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.
+#: clock/rtc.c:357
+#, c-format
+msgid "The epoch value may not be less than 1900.  You requested %ld\n"
+msgstr "El valor de epoch no puede ser inferior a 1900. Ha solicitado %ld\n"
+
+#: clock/rtc.c:374
+#, c-format
+msgid "setting epoch to %ld with RTC_EPOCH_SET ioctl to /dev/rtc.\n"
+msgstr "Estableciendo epoch en %ld con ioctl RTC_EPOCH_SET en /dev/rtc.\n"
+
+#: clock/rtc.c:379
+msgid ""
+"The kernel device driver for /dev/rtc does not have the RTC_EPOCH_SET "
+"ioctl.\n"
+msgstr ""
+"El controlador de dispositivo del kernel para /dev/rtc no tiene la ioctl "
+"RTC_EPOCH_SET.\n"
+
+#: clock/rtc.c:382
+msgid "ioctl(RTC_EPOCH_SET) to /dev/rtc failed"
+msgstr "Error de ioctl(RTC_EPOCH_SET) de /dev/rtc"
+
+#: clock/shhopt.c:255 clock/shhopt.c:281
+#, c-format
+msgid "invalid number `%s'\n"
+msgstr "Número `%s' no válido\n"
+
+#: clock/shhopt.c:258 clock/shhopt.c:284
+#, c-format
+msgid "number `%s' to `%s' out of range\n"
+msgstr "El número de `%s' a `%s' está fuera de rango\n"
+
+#: clock/shhopt.c:398
+#, c-format
+msgid "unrecognized option `%s'\n"
+msgstr "Opción `%s' no reconocida\n"
+
+#: clock/shhopt.c:411 clock/shhopt.c:449
+#, c-format
+msgid "option `%s' requires an argument\n"
+msgstr "La opción `%s' necesita un argumento\n"
+
+#: clock/shhopt.c:417
+#, c-format
+msgid "option `%s' doesn't allow an argument\n"
+msgstr "La opción `%s' no admite un argumento\n"
+
+#: clock/shhopt.c:439
+#, c-format
+msgid "unrecognized option `-%c'\n"
+msgstr "Opción `-%c' no reconocida\n"
+
+#: disk-utils/blockdev.c:34
+msgid "set read-only"
+msgstr "establecer sólo lectura"
+
+#: disk-utils/blockdev.c:35
+msgid "set read-write"
+msgstr "establecer lectura/escritura"
+
+#: disk-utils/blockdev.c:38
+msgid "get read-only"
+msgstr "obtener sólo lectura"
+
+#: disk-utils/blockdev.c:41
+msgid "get sectorsize"
+msgstr "obtener tamaño de sector"
+
+#: disk-utils/blockdev.c:44
+msgid "get size"
+msgstr "obtener tamaño"
+
+#: disk-utils/blockdev.c:47
+msgid "set readahead"
+msgstr "establecer readahead"
+
+#: disk-utils/blockdev.c:50
+msgid "get readahead"
+msgstr "obtener readahead"
+
+#: disk-utils/blockdev.c:53
+msgid "flush buffers"
+msgstr "vaciar búferes"
+
+#: disk-utils/blockdev.c:57
+msgid "reread partition table"
+msgstr "volver a leer tabla de particiones"
+
+#: disk-utils/blockdev.c:66
+#, c-format
+msgid "Usage: %s [-V] [-v|-q] commands devices\n"
+msgstr "Uso: %s [-V] [-v|-q] comandos dispositivos\n"
+
+#: disk-utils/blockdev.c:67
+msgid "Available commands:\n"
+msgstr "Comandos disponibles:\n"
+
+#: disk-utils/blockdev.c:167
+#, c-format
+msgid "%s: Unknown command: %s\n"
+msgstr "%s: comando desconocido: %s\n"
+
+#: disk-utils/blockdev.c:178
+#, c-format
+msgid "%s requires an argument\n"
+msgstr "%s necesita un argumento\n"
+
+#: disk-utils/fdformat.c:33
+msgid "Formatting ... "
+msgstr "Formateando... "
+
+#: disk-utils/fdformat.c:51 disk-utils/fdformat.c:86
+msgid "done\n"
+msgstr "Finalizado\n"
+
+#: disk-utils/fdformat.c:62
+msgid "Verifying ... "
+msgstr "Verificando... "
+
+#: disk-utils/fdformat.c:73
+msgid "Read: "
+msgstr "Leer: "
+
+#: disk-utils/fdformat.c:75
+#, c-format
+msgid "Problem reading cylinder %d, expected %d, read %d\n"
+msgstr "Problema de lectura del cilindro %d, esperado %d, leído %d\n"
+
+#: disk-utils/fdformat.c:81
+#, c-format
+msgid ""
+"bad data in cyl %d\n"
+"Continuing ... "
+msgstr ""
+"Datos incorrectos en 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:117 disk-utils/fsck.minix.c:1255 disk-utils/mkfs.c:55
+#: disk-utils/mkfs.minix.c:650 disk-utils/mkswap.c:351
+#: disk-utils/setfdprm.c:128 misc-utils/cal.c:175 misc-utils/ddate.c:172
+#: misc-utils/kill.c:191
+#, c-format
+msgid "%s from %s\n"
+msgstr "%s de %s\n"
+
+#: disk-utils/fdformat.c:131
+#, c-format
+msgid "%s: not a floppy device\n"
+msgstr "%s: no es un dispositivo de disquete\n"
+
+#: disk-utils/fdformat.c:137
+msgid "Could not determine current format type"
+msgstr "No es posible determinar el tipo de formato actual"
+
+#: disk-utils/fdformat.c:138
+#, c-format
+msgid "%s-sided, %d tracks, %d sec/track. Total capacity %d kB.\n"
+msgstr "%s caras, %d pistas, %d segundos/pista. Capacidad total %d kB.\n"
+
+#: disk-utils/fdformat.c:139
+msgid "Double"
+msgstr "Doble"
+
+#: disk-utils/fdformat.c:139
+msgid "Single"
+msgstr "Simple"
+
+#: disk-utils/fsck.minix.c:196
+#, c-format
+msgid "Usage: %s [-larvsmf] /dev/name\n"
+msgstr "Uso: %s [-larvsmf] /dev/nombre\n"
+
+#: disk-utils/fsck.minix.c:294
+#, c-format
+msgid "%s is mounted.\t "
+msgstr "%s está montado.\t "
+
+#: disk-utils/fsck.minix.c:296
+msgid "Do you really want to continue"
+msgstr "¿Está seguro de que desea continuar?"
+
+#: disk-utils/fsck.minix.c:300
+msgid "check aborted.\n"
+msgstr "Comprobación anulada.\n"
+
+#: disk-utils/fsck.minix.c:317 disk-utils/fsck.minix.c:337
+msgid "Zone nr < FIRSTZONE in file `"
+msgstr "Número de zona < FIRSTZONE en archivo `"
+
+#: disk-utils/fsck.minix.c:319 disk-utils/fsck.minix.c:339
+msgid "Zone nr >= ZONES in file `"
+msgstr "Número de zona >= ZONES en archivo `"
+
+#: disk-utils/fsck.minix.c:324 disk-utils/fsck.minix.c:344
+msgid "Remove block"
+msgstr "Eliminar bloque"
+
+#: disk-utils/fsck.minix.c:362
+msgid "Read error: unable to seek to block in file '"
+msgstr "Error de lectura: no es posible buscar en bloque de archivo '"
+
+#: disk-utils/fsck.minix.c:368
+msgid "Read error: bad block in file '"
+msgstr "Error de lectura: bloque incorrecto en archivo '"
+
+#: disk-utils/fsck.minix.c:384
+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:390 disk-utils/mkfs.minix.c:289
+msgid "seek failed in write_block"
+msgstr "Error de búsqueda en write_block"
+
+#: disk-utils/fsck.minix.c:392
+msgid "Write error: bad block in file '"
+msgstr "Error de escritura: bloque incorrecto en archivo '"
+
+#: disk-utils/fsck.minix.c:511
+msgid "seek failed in write_super_block"
+msgstr "Error de búsqueda en write_super_block"
+
+#: disk-utils/fsck.minix.c:513 disk-utils/mkfs.minix.c:276
+msgid "unable to write super-block"
+msgstr "No es posible escribir superbloque"
+
+#: disk-utils/fsck.minix.c:523
+msgid "Unable to write inode map"
+msgstr "No es posible escribir mapa de inodos"
+
+#: disk-utils/fsck.minix.c:525
+msgid "Unable to write zone map"
+msgstr "No es posible escribir mapa de zonas"
+
+#: disk-utils/fsck.minix.c:527
+msgid "Unable to write inodes"
+msgstr "No es posible escribir inodos"
+
+#: disk-utils/fsck.minix.c:556
+msgid "seek failed"
+msgstr "Error de búsqueda"
+
+#: disk-utils/fsck.minix.c:558
+msgid "unable to read super block"
+msgstr "No es posible leer superbloque"
+
+#: disk-utils/fsck.minix.c:578
+msgid "bad magic number in super-block"
+msgstr "Número mágico incorrecto en superbloque"
+
+#: disk-utils/fsck.minix.c:580
+msgid "Only 1k blocks/zones supported"
+msgstr "Sólo se da soporte a bloques o zonas de 1k"
+
+#: disk-utils/fsck.minix.c:582
+msgid "bad s_imap_blocks field in super-block"
+msgstr "Campo s_imap_blocks incorrecto en superbloque"
+
+#: disk-utils/fsck.minix.c:584
+msgid "bad s_zmap_blocks field in super-block"
+msgstr "Campo s_zmap_blocks incorrecto en superbloque"
+
+#: disk-utils/fsck.minix.c:591
+msgid "Unable to allocate buffer for inode map"
+msgstr "No es posible asignar búfer para mapa de inodos"
+
+#: disk-utils/fsck.minix.c:599
+msgid "Unable to allocate buffer for inodes"
+msgstr "No es posible asignar búfer para inodos"
+
+#: disk-utils/fsck.minix.c:602
+msgid "Unable to allocate buffer for inode count"
+msgstr "No es posible asignar búfer para número de inodos"
+
+#: disk-utils/fsck.minix.c:605
+msgid "Unable to allocate buffer for zone count"
+msgstr "No es posible asignar búfer para número de zonas"
+
+#: disk-utils/fsck.minix.c:607
+msgid "Unable to read inode map"
+msgstr "No es posible leer mapa de inodos"
+
+#: disk-utils/fsck.minix.c:609
+msgid "Unable to read zone map"
+msgstr "No es posible leer mapa de zonas"
+
+#: disk-utils/fsck.minix.c:611
+msgid "Unable to read inodes"
+msgstr "No es posible leer inodos"
+
+#: disk-utils/fsck.minix.c:613
+msgid "Warning: Firstzone != Norm_firstzone\n"
+msgstr "Advertencia: Firstzone != Norm_firstzone\n"
+
+#: disk-utils/fsck.minix.c:618 disk-utils/mkfs.minix.c:532
+#, c-format
+msgid "%ld inodes\n"
+msgstr "%ld inodos\n"
+
+#: disk-utils/fsck.minix.c:619 disk-utils/mkfs.minix.c:533
+#, c-format
+msgid "%ld blocks\n"
+msgstr "%ld bloques\n"
+
+#: disk-utils/fsck.minix.c:620 disk-utils/mkfs.minix.c:534
+#, c-format
+msgid "Firstdatazone=%ld (%ld)\n"
+msgstr "Primera zona de datos=%ld (%ld)\n"
+
+#: disk-utils/fsck.minix.c:621 disk-utils/mkfs.minix.c:535
+#, c-format
+msgid "Zonesize=%d\n"
+msgstr "Tamaño de zona=%d\n"
+
+#: disk-utils/fsck.minix.c:622
+#, c-format
+msgid "Maxsize=%ld\n"
+msgstr "Tamaño máximo=%ld\n"
+
+#: disk-utils/fsck.minix.c:623
+#, c-format
+msgid "Filesystem state=%d\n"
+msgstr "Estado del sistema de archivos=%d\n"
+
+#: disk-utils/fsck.minix.c:624
+#, c-format
+msgid ""
+"namelen=%d\n"
+"\n"
+msgstr ""
+"Longitud de nombre=%d\n"
+"\n"
+
+#: disk-utils/fsck.minix.c:638 disk-utils/fsck.minix.c:690
+#, c-format
+msgid "Inode %d marked not used, but used for file '"
+msgstr ""
+"El inodo %d se ha marcado como no utilizado, pero se utiliza para el archivo "
+"'"
+
+#: disk-utils/fsck.minix.c:643 disk-utils/fsck.minix.c:694
+msgid "Mark in use"
+msgstr "Marcar en uso"
+
+#: disk-utils/fsck.minix.c:665 disk-utils/fsck.minix.c:714
+#, c-format
+msgid " has mode %05o\n"
+msgstr " tiene el modo %05o\n"
+
+#: disk-utils/fsck.minix.c:671 disk-utils/fsck.minix.c:719
+msgid "Warning: inode count too big.\n"
+msgstr "Advertencia: número de inodos demasiado elevado.\n"
+
+#: disk-utils/fsck.minix.c:732
+msgid "root inode isn't a directory"
+msgstr "El inodo raíz no es un directorio"
+
+#: disk-utils/fsck.minix.c:755 disk-utils/fsck.minix.c:789
+msgid "Block has been used before. Now in file `"
+msgstr "El bloque ya se ha utilizado anteriormente. Ahora en archivo `"
+
+#: disk-utils/fsck.minix.c:758 disk-utils/fsck.minix.c:792
+#: disk-utils/fsck.minix.c:1120 disk-utils/fsck.minix.c:1129
+#: disk-utils/fsck.minix.c:1173 disk-utils/fsck.minix.c:1182
+msgid "Clear"
+msgstr "Borrar"
+
+#: disk-utils/fsck.minix.c:767 disk-utils/fsck.minix.c:801
+#, c-format
+msgid "Block %d in file `"
+msgstr "Bloque %d de archivo `"
+
+#: disk-utils/fsck.minix.c:769 disk-utils/fsck.minix.c:803
+msgid "' is marked not in use."
+msgstr "' marcado como no utilizado."
+
+#: disk-utils/fsck.minix.c:770 disk-utils/fsck.minix.c:804
+msgid "Correct"
+msgstr "Correcto"
+
+#: disk-utils/fsck.minix.c:954 disk-utils/fsck.minix.c:1018
+msgid " contains a bad inode number for file '"
+msgstr " contiene un número de inodos incorrecto para archivo '"
+
+#: disk-utils/fsck.minix.c:956 disk-utils/fsck.minix.c:1020
+msgid " Remove"
+msgstr " Eliminar"
+
+#: disk-utils/fsck.minix.c:970 disk-utils/fsck.minix.c:1034
+msgid ": bad directory: '.' isn't first\n"
+msgstr ": directorio incorrecto: '.' no es el primero\n"
+
+#: disk-utils/fsck.minix.c:977 disk-utils/fsck.minix.c:1042
+msgid ": bad directory: '..' isn't second\n"
+msgstr ": directorio incorrecto: '..' no es el segundo\n"
+
+#: disk-utils/fsck.minix.c:1074
+msgid "internal error"
+msgstr "Error interno"
+
+#: disk-utils/fsck.minix.c:1077
+msgid ": bad directory: size<32"
+msgstr ": directorio incorrecto: tamaño < 32"
+
+#: disk-utils/fsck.minix.c:1096
+msgid ": bad directory: size < 32"
+msgstr ": directorio incorrecto: tamaño < 32"
+
+#: disk-utils/fsck.minix.c:1109
+msgid "seek failed in bad_zone"
+msgstr "Error de búsqueda en bad_zone"
+
+#: disk-utils/fsck.minix.c:1119 disk-utils/fsck.minix.c:1172
+#, c-format
+msgid "Inode %d mode not cleared."
+msgstr "No se ha borrado el modo del inodo %d."
+
+#: disk-utils/fsck.minix.c:1128 disk-utils/fsck.minix.c:1181
+#, c-format
+msgid "Inode %d not used, marked used in the bitmap."
+msgstr "El inodo %d no está en uso; marcado como en uso en el mapa de bits."
+
+#: disk-utils/fsck.minix.c:1134 disk-utils/fsck.minix.c:1187
+#, c-format
+msgid "Inode %d used, marked unused in the bitmap."
+msgstr "El inodo %d está en uso; marcado como no en uso en el mapa de bits."
+
+#: disk-utils/fsck.minix.c:1140 disk-utils/fsck.minix.c:1192
+#, c-format
+msgid "Inode %d (mode = %07o), i_nlinks=%d, counted=%d."
+msgstr "Inodo %d (modo = %07o), i_nlinks=%d, contados=%d."
+
+#: disk-utils/fsck.minix.c:1142 disk-utils/fsck.minix.c:1194
+msgid "Set i_nlinks to count"
+msgstr "Establecer i_nlinks en número contado"
+
+#: disk-utils/fsck.minix.c:1154 disk-utils/fsck.minix.c:1206
+#, c-format
+msgid "Zone %d: marked in use, no file uses it."
+msgstr "Zona %d: marcada como en uso; ningún archivo la utiliza."
+
+#: disk-utils/fsck.minix.c:1155 disk-utils/fsck.minix.c:1207
+msgid "Unmark"
+msgstr "Eliminar marca"
+
+#: disk-utils/fsck.minix.c:1159 disk-utils/fsck.minix.c:1211
+#, c-format
+msgid "Zone %d: %sin use, counted=%d\n"
+msgstr "Zona %d: %sen uso, contados=%d\n"
+
+#: disk-utils/fsck.minix.c:1160 disk-utils/fsck.minix.c:1212
+msgid "not "
+msgstr "no "
+
+#: disk-utils/fsck.minix.c:1188
+msgid "Set"
+msgstr "Establecer"
+
+#: disk-utils/fsck.minix.c:1260 disk-utils/mkfs.minix.c:655
+#: disk-utils/mkfs.minix.c:658
+msgid "bad inode size"
+msgstr "tamaño de inodo incorrecto"
+
+#: disk-utils/fsck.minix.c:1263
+msgid "bad v2 inode size"
+msgstr "tamaño de inodo v2 incorrecto"
+
+#: disk-utils/fsck.minix.c:1289
+msgid "need terminal for interactive repairs"
+msgstr "Se necesita terminal para reparaciones interactivas"
+
+#: disk-utils/fsck.minix.c:1293
+#, c-format
+msgid "unable to open '%s'"
+msgstr "No es posible abrir '%s'"
+
+#: disk-utils/fsck.minix.c:1308
+#, c-format
+msgid "%s is clean, no check.\n"
+msgstr "%s está limpio; no se comprueba.\n"
+
+#: disk-utils/fsck.minix.c:1312
+#, c-format
+msgid "Forcing filesystem check on %s.\n"
+msgstr "Forzando comprobación de sistema de archivos en %s.\n"
+
+#: disk-utils/fsck.minix.c:1314
+#, c-format
+msgid "Filesystem on %s is dirty, needs checking.\n"
+msgstr ""
+"El sistema de archivos en %s contiene elementos extraños; debe comprobarse.\n"
+
+#: disk-utils/fsck.minix.c:1343
+msgid ""
+"\n"
+"%6ld inodes used (%ld%%)\n"
+msgstr ""
+"\n"
+"%6ld inodos utilizados (%ld%%)\n"
+
+#: disk-utils/fsck.minix.c:1348
+msgid "%6ld zones used (%ld%%)\n"
+msgstr "%6ld zonas utilizadas (%ld%%)\n"
+
+#: disk-utils/fsck.minix.c:1350
+#, 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 archivos normales\n"
+"%6d directorios\n"
+"%6d archivos de dispositivos de caracteres\n"
+"%6d archivos de dispositivos de bloques\n"
+"%6d enlaces\n"
+"%6d enlaces simbólicos\n"
+"------\n"
+"%6d archivos\n"
+
+#: disk-utils/fsck.minix.c:1363
+msgid ""
+"----------------------------\n"
+"FILE SYSTEM HAS BEEN CHANGED\n"
+"----------------------------\n"
+msgstr ""
+"----------------------------------\n"
+"EL SISTEMA DE ARCHIVOS HA CAMBIADO\n"
+"----------------------------------\n"
+
+#: disk-utils/mkfs.c:76
+msgid "Usage: mkfs [-V] [-t fstype] [fs-options] device [size]\n"
+msgstr "Uso: mkfs [-V] [-t tipo_sa] [opciones_sa] dispositivo [tamaño]\n"
+
+#: disk-utils/mkfs.c:90 fdisk/cfdisk.c:369 getopt-1.0.3b/getopt.c:85
+#: getopt-1.0.3b/getopt.c:95 login-utils/wall.c:218 mount/sundries.c:196
+#, c-format
+msgid "%s: Out of memory!\n"
+msgstr "%s: No queda memoria\n"
+
+#: disk-utils/mkfs.c:99
+#, c-format
+msgid "mkfs version %s (%s)\n"
+msgstr "mkfs versión %s (%s)\n"
+
+#: disk-utils/mkfs.minix.c:185
+#, c-format
+msgid "Usage: %s [-c | -l filename] [-nXX] [-iXX] /dev/name [blocks]\n"
+msgstr "Uso: %s [-c | -l nombrearchivo] [-nXX] [-iXX] /dev/nombre [bloques]\n"
+
+#: disk-utils/mkfs.minix.c:209
+#, c-format
+msgid "%s is mounted; will not make a filesystem here!"
+msgstr "%s está montado; no se creará un sistema de archivos aquí"
+
+#: disk-utils/mkfs.minix.c:270
+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:272
+msgid "unable to clear boot sector"
+msgstr "No es posible borrar el sector de inicio"
+
+#: disk-utils/mkfs.minix.c:274
+msgid "seek failed in write_tables"
+msgstr "Error de búsqueda en write_tables"
+
+#: disk-utils/mkfs.minix.c:278
+msgid "unable to write inode map"
+msgstr "No es posible escribir el mapa de inodos"
+
+#: disk-utils/mkfs.minix.c:280
+msgid "unable to write zone map"
+msgstr "No es posible escribir el mapa de zonas"
+
+#: disk-utils/mkfs.minix.c:282
+msgid "unable to write inodes"
+msgstr "No es posible escribir inodos"
+
+#: disk-utils/mkfs.minix.c:291
+msgid "write failed in write_block"
+msgstr "Error de escritura en write_block"
+
+#. Could make triple indirect block here
+#: disk-utils/mkfs.minix.c:299 disk-utils/mkfs.minix.c:373
+#: disk-utils/mkfs.minix.c:424
+msgid "too many bad blocks"
+msgstr "Hay demasiados bloques incorrectos"
+
+#: disk-utils/mkfs.minix.c:307
+msgid "not enough good blocks"
+msgstr "No hay suficientes bloques correctos"
+
+#: disk-utils/mkfs.minix.c:521
+msgid "unable to allocate buffers for maps"
+msgstr "No es posible asignar búferes para mapas"
+
+#: disk-utils/mkfs.minix.c:530
+msgid "unable to allocate buffer for inodes"
+msgstr "No es posible asignar búfer para inodos"
+
+#: disk-utils/mkfs.minix.c:536
+#, c-format
+msgid ""
+"Maxsize=%ld\n"
+"\n"
+msgstr ""
+"Tamaño máximo=%ld\n"
+"\n"
+
+#: disk-utils/mkfs.minix.c:550
+msgid "seek failed during testing of blocks"
+msgstr "Error de búsqueda durante comprobación de bloques"
+
+#: disk-utils/mkfs.minix.c:558
+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:589 disk-utils/mkswap.c:261
+msgid "seek failed in check_blocks"
+msgstr "Error de búsqueda en check_blocks"
+
+#: disk-utils/mkfs.minix.c:598
+msgid "bad blocks before data-area: cannot make fs"
+msgstr ""
+"Bloques incorrectos antes de área de datos: no es posible crear el sistema "
+"de archivos"
+
+#: disk-utils/mkfs.minix.c:604 disk-utils/mkfs.minix.c:626
+#, c-format
+msgid "%d bad blocks\n"
+msgstr "%d bloques incorrectos\n"
+
+#: disk-utils/mkfs.minix.c:606 disk-utils/mkfs.minix.c:628
+msgid "one bad block\n"
+msgstr "Un bloque incorrecto\n"
+
+#: disk-utils/mkfs.minix.c:618
+msgid "can't open file of bad blocks"
+msgstr "No es posible abrir el archivo de bloques incorrectos"
+
+#: disk-utils/mkfs.minix.c:687
+#, c-format
+msgid "%s: not compiled with minix v2 support\n"
+msgstr "%s: no se ha compilado con soporte para minix v2\n"
+
+#: disk-utils/mkfs.minix.c:703
+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:735
+#, c-format
+msgid "unable to open %s"
+msgstr "No es posible abrir %s"
+
+#: disk-utils/mkfs.minix.c:737
+#, c-format
+msgid "unable to stat %s"
+msgstr "No es posible ejecutar stat para %s"
+
+#: disk-utils/mkfs.minix.c:741
+#, c-format
+msgid "will not try to make filesystem on '%s'"
+msgstr "No se intentará crear el sistema de archivos en '%s'"
+
+#: disk-utils/mkswap.c:117
+#, 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:126
+#, c-format
+msgid "Using user-specified page size %d, instead of the system values %d/%d\n"
+msgstr ""
+"Se utiliza el tamaño de página %d especificado por el usuario, en lugar de "
+"los valores del sistema %d/%d\n"
+
+#: disk-utils/mkswap.c:130
+#, c-format
+msgid "Assuming pages of size %d (not %d)\n"
+msgstr "Presuponiendo páginas de tamaño %d (no %d)\n"
+
+#: disk-utils/mkswap.c:215
+#, c-format
+msgid "Usage: %s [-c] [-v0|-v1] [-pPAGESZ] /dev/name [blocks]\n"
+msgstr "Uso: %s [-c] [-v0|-v1] [-pPAGESZ] /dev/nombre [bloques]\n"
+
+#: disk-utils/mkswap.c:238
+msgid "too many bad pages"
+msgstr "Hay demasiadas páginas incorrectas"
+
+#: disk-utils/mkswap.c:252 misc-utils/look.c:170 misc-utils/setterm.c:1100
+#: text-utils/more.c:1863 text-utils/more.c:1874
+msgid "Out of memory"
+msgstr "No queda memoria"
+
+#: disk-utils/mkswap.c:269
+msgid "one bad page\n"
+msgstr "Una página incorrecta\n"
+
+#: disk-utils/mkswap.c:271
+#, c-format
+msgid "%d bad pages\n"
+msgstr "%d páginas incorrectas\n"
+
+#: disk-utils/mkswap.c:391
+#, 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:409
+#, c-format
+msgid "%s: error: size %ld is larger than device size %d\n"
+msgstr "%s: error: el tamaño %ld es superior al tamaño de dispositivo %d\n"
+
+#: disk-utils/mkswap.c:427
+#, c-format
+msgid "%s: error: unknown version %d\n"
+msgstr "%s: error: versión desconocida %d\n"
+
+#: disk-utils/mkswap.c:433
+#, c-format
+msgid "%s: error: swap area needs to be at least %ldkB\n"
+msgstr "%s: error: el área de intercambio debe tener como mínimo %ldkB\n"
+
+#: disk-utils/mkswap.c:452
+#, c-format
+msgid "%s: warning: truncating swap area to %ldkB\n"
+msgstr "%s: advertencia: el área de intercambio se trunca en %ldkB\n"
+
+#: disk-utils/mkswap.c:464
+#, c-format
+msgid "Will not try to make swapdevice on '%s'"
+msgstr "No se intentará crear el dispositivo de intercambio en '%s'"
+
+#: disk-utils/mkswap.c:473 disk-utils/mkswap.c:494
+msgid "fatal: first page unreadable"
+msgstr "muy grave: no es posible leer la primera página"
+
+#: disk-utils/mkswap.c:479
+#, c-format
+msgid ""
+"%s: Device '%s' contains a valid Sun disklabel.\n"
+"This probably means creating v0 swap would destroy your partition table\n"
+"No swap created. If you really want to create swap v0 on that device, use\n"
+"the -f option to force it.\n"
+msgstr ""
+"%s: el dispositivo '%s' contiene una etiqueta de disco Sun válida.\n"
+"Esto probablemente significa que crear un espacio de intercambio v0 "
+"destruirá la tabla de particiones.\n"
+"No se ha creado el espacio de intercambio. Si realmente desea crear el "
+"espacio de intercambio swap v0 en dicho dispositivo, \n"
+"utilice la opción -f para forzar la operación.\n"
+
+#: disk-utils/mkswap.c:503
+msgid "Unable to set up swap-space: unreadable"
+msgstr "No es posible configurar el espacio de intercambio: no se puede leer"
+
+#: disk-utils/mkswap.c:504
+#, c-format
+msgid "Setting up swapspace version %d, size = %ld bytes\n"
+msgstr "Configurando espacio de intercambio versión %d, tamaño = %ld bytes\n"
+
+#: disk-utils/mkswap.c:510
+msgid "unable to rewind swap-device"
+msgstr "No es posible rebobinar el dispositivo de intercambio"
+
+#: disk-utils/mkswap.c:513
+msgid "unable to write signature page"
+msgstr "No es posible escribir página de signatura"
+
+#: disk-utils/mkswap.c:520
+msgid "fsync failed"
+msgstr "fsync ha fallado"
+
+#: disk-utils/setfdprm.c:30
+#, c-format
+msgid "Invalid number: %s\n"
+msgstr "Número no válido: %s\n"
+
+#: disk-utils/setfdprm.c:80
+#, c-format
+msgid "Syntax error: '%s'\n"
+msgstr "Error de sintaxis: '%s'\n"
+
+#: disk-utils/setfdprm.c:90
+#, c-format
+msgid "No such parameter set: '%s'\n"
+msgstr "Este parámetro no está establecido: '%s'\n"
+
+#: disk-utils/setfdprm.c:100
+#, c-format
+msgid "usage: %s [ -p ] dev name\n"
+msgstr "uso: %s [ -p ] dispositivo nombre\n"
+
+#: disk-utils/setfdprm.c:101
+#, c-format
+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"
+
+#: disk-utils/setfdprm.c:104
+#, c-format
+msgid "       %s [ -c | -y | -n | -d ] dev\n"
+msgstr "       %s [ -c | -y | -n | -d ] dispositivo\n"
+
+#: disk-utils/setfdprm.c:106
+#, c-format
+msgid "       %s [ -c | -y | -n ] dev\n"
+msgstr "       %s [ -c | -y | -n ] dispositivo\n"
+
+#: fdisk/cfdisk.c:394 fdisk/cfdisk.c:1899
+msgid "Unusable"
+msgstr "Inutilizable"
+
+#: fdisk/cfdisk.c:396 fdisk/cfdisk.c:1901
+msgid "Free Space"
+msgstr "Espacio libre"
+
+#: fdisk/cfdisk.c:399
+msgid "Linux ext2"
+msgstr "Linux ext2"
+
+#. also Solaris
+#: fdisk/cfdisk.c:401 fdisk/i386_sys_types.c:56
+msgid "Linux"
+msgstr "Linux"
+
+#: fdisk/cfdisk.c:404
+msgid "OS/2 HPFS"
+msgstr "OS/2 HPFS"
+
+#: fdisk/cfdisk.c:406
+msgid "OS/2 IFS"
+msgstr "OS/2 IFS"
+
+#: fdisk/cfdisk.c:410
+msgid "NTFS"
+msgstr "NTFS"
+
+#: fdisk/cfdisk.c:421
+msgid "Disk has been changed.\n"
+msgstr "Se ha modificado el disco.\n"
+
+#: fdisk/cfdisk.c:422
+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 "
+"actualizada.\n"
+
+#: fdisk/cfdisk.c:425
+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"
+"ADVERTENCIA: Si ha creado o modificado alguna de las\n"
+"particiones DOS 6.x, consulte la página man de cfdisk\n"
+"para obtener más información.\n"
+
+#: fdisk/cfdisk.c:520
+msgid "FATAL ERROR"
+msgstr "ERROR MUY GRAVE"
+
+#: fdisk/cfdisk.c:529
+msgid "Press any key to exit cfdisk"
+msgstr "Presione una tecla para salir de cfdisk"
+
+#: fdisk/cfdisk.c:565 fdisk/cfdisk.c:573
+msgid "Cannot seek on disk drive"
+msgstr "No es posible buscar en unidad de disco"
+
+#: fdisk/cfdisk.c:567
+msgid "Cannot read disk drive"
+msgstr "No es posible leer unidad de disco"
+
+#: fdisk/cfdisk.c:575
+msgid "Cannot write disk drive"
+msgstr "No es posible escribir en unidad de disco"
+
+#: fdisk/cfdisk.c:814
+msgid "Too many partitions"
+msgstr "Hay demasiadas particiones"
+
+#: fdisk/cfdisk.c:819
+msgid "Partition begins before sector 0"
+msgstr "La partición empieza antes del sector 0"
+
+#: fdisk/cfdisk.c:824
+msgid "Partition ends before sector 0"
+msgstr "La partición termina antes del sector 0"
+
+#: fdisk/cfdisk.c:829
+msgid "Partition begins after end-of-disk"
+msgstr "La partición empieza después del fin de disco"
+
+#: fdisk/cfdisk.c:834
+msgid "Partition ends after end-of-disk"
+msgstr "La partición termina después del fin de disco"
+
+#: fdisk/cfdisk.c:858
+msgid "logical partitions not in disk order"
+msgstr "Las particiones lógicas no están en orden de disco"
+
+#: fdisk/cfdisk.c:861
+msgid "logical partitions overlap"
+msgstr "Solapamiento de particiones lógicas"
+
+#: fdisk/cfdisk.c:863
+msgid "enlarged logical partitions overlap"
+msgstr "Solapamiento de particiones lógicas ampliadas"
+
+#: fdisk/cfdisk.c:893
+msgid ""
+"!!!! Internal error creating logical drive with no extended partition !!!!"
+msgstr "¡¡¡¡ Error interno al crear unidad lógica sin partición ampliada !!!!"
+
+#: fdisk/cfdisk.c:904 fdisk/cfdisk.c:916
+msgid ""
+"Cannot create logical drive here -- would create two extended partitions"
+msgstr ""
+"No es posible crear una unidad lógica aquí; se crearían dos particiones "
+"ampliadas"
+
+#: fdisk/cfdisk.c:1066
+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:1122
+msgid "Menu without direction. Defaulting horizontal."
+msgstr "Menú sin dirección; la opción predeterminada es horizontal."
+
+#: fdisk/cfdisk.c:1252
+msgid "Illegal key"
+msgstr "Tecla no permitida"
+
+#: fdisk/cfdisk.c:1275
+msgid "Press a key to continue"
+msgstr "Presione una tecla para continuar"
+
+#: fdisk/cfdisk.c:1322 fdisk/cfdisk.c:1870 fdisk/cfdisk.c:2400
+#: fdisk/cfdisk.c:2402
+msgid "Primary"
+msgstr "Primaria"
+
+#: fdisk/cfdisk.c:1322
+msgid "Create a new primary partition"
+msgstr "Crear una nueva partición primaria"
+
+#: fdisk/cfdisk.c:1323 fdisk/cfdisk.c:1870 fdisk/cfdisk.c:2399
+#: fdisk/cfdisk.c:2402
+msgid "Logical"
+msgstr "Lógica"
+
+#: fdisk/cfdisk.c:1323
+msgid "Create a new logical partition"
+msgstr "Crear una nueva partición lógica"
+
+#: fdisk/cfdisk.c:1324 fdisk/cfdisk.c:1379 fdisk/cfdisk.c:2074
+msgid "Cancel"
+msgstr "Cancelar"
+
+#: fdisk/cfdisk.c:1324 fdisk/cfdisk.c:1379
+msgid "Don't create a partition"
+msgstr "No crear ninguna partición"
+
+#: fdisk/cfdisk.c:1340
+msgid "!!! Internal error !!!"
+msgstr "¡¡¡¡ Error interno !!!!"
+
+#: fdisk/cfdisk.c:1343
+msgid "Size (in MB): "
+msgstr "Tamaño (en MB): "
+
+#: fdisk/cfdisk.c:1377
+msgid "Beginning"
+msgstr "Principio"
+
+#: fdisk/cfdisk.c:1377
+msgid "Add partition at beginning of free space"
+msgstr "Agregar partición al principio del espacio libre"
+
+#: fdisk/cfdisk.c:1378
+msgid "End"
+msgstr "Final"
+
+#: fdisk/cfdisk.c:1378
+msgid "Add partition at end of free space"
+msgstr "Agregar partición al final del espacio libre"
+
+#: fdisk/cfdisk.c:1396
+msgid "No room to create the extended partition"
+msgstr "No hay espacio para crear la partición ampliada"
+
+#: fdisk/cfdisk.c:1435
+msgid "Bad signature on partition table"
+msgstr "Signatura incorrecta en tabla de particiones"
+
+#: fdisk/cfdisk.c:1473
+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:1503
+msgid "Cannot open disk drive"
+msgstr "No es posible abrir la unidad de disco"
+
+#: fdisk/cfdisk.c:1505 fdisk/cfdisk.c:1686
+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:1526
+msgid "Cannot get disk size"
+msgstr "No es posible obtener el tamaño del disco"
+
+#. avoid snprintf - it does not exist on ancient systems
+#: fdisk/cfdisk.c:1552
+msgid "Bad primary partition"
+msgstr "Partición primaria incorrecta"
+
+#. avoid snprintf
+#: fdisk/cfdisk.c:1583
+msgid "Bad logical partition"
+msgstr "Partición lógica incorrecta"
+
+#: fdisk/cfdisk.c:1698
+msgid "Warning!!  This may destroy data on your disk!"
+msgstr "Advertencia: esta operación puede destruir datos del disco"
+
+#: fdisk/cfdisk.c:1702
+msgid "Are you sure you want write the partition table to disk? (yes or no): "
+msgstr ""
+"¿Está seguro de que desea escribir la tabla de particiones en el disco? "
+"(si o no): "
+
+#: fdisk/cfdisk.c:1708
+msgid "no"
+msgstr "no"
+
+#: fdisk/cfdisk.c:1709
+msgid "Did not write partition table to disk"
+msgstr "No se ha escrito la tabla de particiones en el disco"
+
+#: fdisk/cfdisk.c:1711
+msgid "yes"
+msgstr "si"
+
+#: fdisk/cfdisk.c:1714
+msgid "Please enter `yes' or `no'"
+msgstr "Escriba `si' (sin accento) o `no'"
+
+#: fdisk/cfdisk.c:1718
+msgid "Writing partition table to disk..."
+msgstr "Se está escribiendo la tabla de particiones en el disco..."
+
+#: fdisk/cfdisk.c:1743 fdisk/cfdisk.c:1747
+msgid "Wrote partition table to disk"
+msgstr "Se ha escrito la tabla de particiones en el disco"
+
+#: fdisk/cfdisk.c:1745
+msgid ""
+"Wrote partition table, but re-read table failed.  Reboot to update table."
+msgstr ""
+"Se ha escrito la tabla de particiones, pero la nueva lectura de la tabla ha "
+"fallado. Reinicie para actualizar la tabla."
+
+#: fdisk/cfdisk.c:1755
+msgid ""
+"Not precisely one primary partition is bootable. DOS MBR cannot boot this."
+msgstr ""
+"Las particiones primarias no son necesariamente iniciables. El MBR DOS no "
+"puede iniciarlas."
+
+#: fdisk/cfdisk.c:1813 fdisk/cfdisk.c:1931 fdisk/cfdisk.c:2015
+msgid "Enter filename or press RETURN to display on screen: "
+msgstr ""
+"Escriba el nombre de archivo o presione Intro para visualizar en pantalla: "
+
+#: fdisk/cfdisk.c:1821 fdisk/cfdisk.c:1939 fdisk/cfdisk.c:2023
+#, c-format
+msgid "Cannot open file '%s'"
+msgstr "No es posible abrir el archivo '%s'"
+
+#: fdisk/cfdisk.c:1832
+#, c-format
+msgid "Disk Drive: %s\n"
+msgstr "Unidad de disco: %s\n"
+
+#: fdisk/cfdisk.c:1834
+msgid "Sector 0:\n"
+msgstr "Sector 0:\n"
+
+#: fdisk/cfdisk.c:1841
+#, c-format
+msgid "Sector %d:\n"
+msgstr "Sector %d:\n"
+
+#: fdisk/cfdisk.c:1861
+msgid "   None   "
+msgstr "   Ninguna"
+
+#: fdisk/cfdisk.c:1863
+msgid "   Pri/Log"
+msgstr "   Pri/Lóg"
+
+#: fdisk/cfdisk.c:1865
+msgid "   Primary"
+msgstr "   Primaria"
+
+#: fdisk/cfdisk.c:1867
+msgid "   Logical"
+msgstr "   Lógica"
+
+#. odd flag on end
+#. type id
+#. type name
+#: fdisk/cfdisk.c:1905 fdisk/fdisk.c:1071 fdisk/fdisk.c:1220
+#: fdisk/fdisksgilabel.c:224 fdisk/fdisksunlabel.c:646 fdisk/sfdisk.c:559
+msgid "Unknown"
+msgstr "Desconocido"
+
+#: fdisk/cfdisk.c:1911
+#, c-format
+msgid "Boot (%02X)"
+msgstr "Inicio (%02X)"
+
+#: fdisk/cfdisk.c:1913 fdisk/cfdisk.c:2408
+#, c-format
+msgid "Unknown (%02X)"
+msgstr "Desconocido (%02X)"
+
+#: fdisk/cfdisk.c:1915
+#, c-format
+msgid "None (%02X)"
+msgstr "Ninguno (%02X)"
+
+#: fdisk/cfdisk.c:1950 fdisk/cfdisk.c:2034
+#, c-format
+msgid "Partition Table for %s\n"
+msgstr "Tabla de particiones para %s\n"
+
+#: fdisk/cfdisk.c:1952
+msgid "            First    Last\n"
+msgstr "            Primer   Último\n"
+
+#: fdisk/cfdisk.c:1953
+msgid ""
+" # Type     Sector   Sector   Offset  Length   Filesystem Type (ID)   Flags\n"
+msgstr ""
+"Nº Tipo     Sector   Sector   Despl.  Longitud  Tipo sist. arch. (ID) "
+"Indicad.\n"
+
+#: fdisk/cfdisk.c:1954
+msgid ""
+"-- ------- -------- --------- ------ --------- ---------------------- "
+"---------\n"
+msgstr ""
+"-- ------- -------- --------- ------ --------- ---------------------- "
+"---------\n"
+
+#: fdisk/cfdisk.c:2036
+msgid "         ---Starting---      ----Ending----    Start Number of\n"
+msgstr "         ----Inicio----      -----Final----   Sector Número de\n"
+
+#: fdisk/cfdisk.c:2037
+msgid " # Flags Head Sect Cyl   ID  Head Sect Cyl    Sector  Sectors\n"
+msgstr "Nº Ind.  Cab. Sec. Cil.  ID  Cab. Sec. Cil.  inicial sectores\n"
+
+#: fdisk/cfdisk.c:2038
+msgid "-- ----- ---- ---- ---- ---- ---- ---- ---- -------- ---------\n"
+msgstr "-- ----- ---- ---- ---- ---- ---- ---- ---- -------- ---------\n"
+
+#: fdisk/cfdisk.c:2071
+msgid "Raw"
+msgstr "En bruto (raw)"
+
+#: fdisk/cfdisk.c:2071
+msgid "Print the table using raw data format"
+msgstr "Imprimir la tabla utilizando el formato de datos en bruto"
+
+#: fdisk/cfdisk.c:2072 fdisk/cfdisk.c:2174
+msgid "Sectors"
+msgstr "Sectores"
+
+#: fdisk/cfdisk.c:2072
+msgid "Print the table ordered by sectors"
+msgstr "Imprimir la tabla ordenada por sectores"
+
+#: fdisk/cfdisk.c:2073
+msgid "Table"
+msgstr "Tabla"
+
+#: fdisk/cfdisk.c:2073
+msgid "Just print the partition table"
+msgstr "Sólo imprimir la tabla de particiones"
+
+#: fdisk/cfdisk.c:2074
+msgid "Don't print the table"
+msgstr "No imprimir la tabla"
+
+#: fdisk/cfdisk.c:2102
+msgid "Help Screen for cfdisk"
+msgstr "Pantalla de ayuda para cfdisk"
+
+#: fdisk/cfdisk.c:2104
+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:2105
+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:2106
+msgid "disk drive."
+msgstr "de disco duro."
+
+#: fdisk/cfdisk.c:2108
+msgid "Copyright (C) 1994-1999 Kevin E. Martin & aeb"
+msgstr "Copyright (C) 1994-1999 Kevin E. Martin & aeb"
+
+#: fdisk/cfdisk.c:2110
+msgid "Command      Meaning"
+msgstr "Comando      Significado"
+
+#: fdisk/cfdisk.c:2111
+msgid "-------      -------"
+msgstr "-------      -----------"
+
+#: fdisk/cfdisk.c:2112
+msgid "  b          Toggle bootable flag of the current partition"
+msgstr "  b          Conmutar indicador de iniciable de la partición actual"
+
+#: fdisk/cfdisk.c:2113
+msgid "  d          Delete the current partition"
+msgstr "  d          Suprimir la partición actual"
+
+#: fdisk/cfdisk.c:2114
+msgid "  g          Change cylinders, heads, sectors-per-track parameters"
+msgstr ""
+"  g          Cambiar parámetros de cilindros, cabezales y sectores por pista"
+
+#: fdisk/cfdisk.c:2115
+msgid "             WARNING: This option should only be used by people who"
+msgstr ""
+"             ADVERTENCIA: Se recomienda utilizar esta opción únicamente"
+
+#: fdisk/cfdisk.c:2116
+msgid "             know what they are doing."
+msgstr "             si se conoce el funcionamiento de la misma."
+
+#: fdisk/cfdisk.c:2117
+msgid "  h          Print this screen"
+msgstr "  h          Imprimir esta pantalla"
+
+#: fdisk/cfdisk.c:2118
+msgid "  m          Maximize disk usage of the current partition"
+msgstr "  m          Maximizar la utilización del disco de la partición actual"
+
+#: fdisk/cfdisk.c:2119
+msgid "             Note: This may make the partition incompatible with"
+msgstr "             Nota: Esta opción puede hacer que la partición"
+
+#: fdisk/cfdisk.c:2120
+msgid "             DOS, OS/2, ..."
+msgstr "             sea incompatible con DOS, OS/2,..."
+
+#: fdisk/cfdisk.c:2121
+msgid "  n          Create new partition from free space"
+msgstr "  n          Crear una nueva partición a partir del espacio libre"
+
+#: fdisk/cfdisk.c:2122
+msgid "  p          Print partition table to the screen or to a file"
+msgstr ""
+"  p          Imprimir la tabla de particiones en la pantalla o en un archivo"
+
+#: fdisk/cfdisk.c:2123
+msgid "             There are several different formats for the partition"
+msgstr "             Hay varios formatos distintos para la partición"
+
+#: fdisk/cfdisk.c:2124
+msgid "             that you can choose from:"
+msgstr "             entre los que puede elegir:"
+
+#: fdisk/cfdisk.c:2125
+msgid "                r - Raw data (exactly what would be written to disk)"
+msgstr ""
+"                r - Datos en bruto (exactamente lo que se escribiría en el "
+"disco)"
+
+#: fdisk/cfdisk.c:2126
+msgid "                s - Table ordered by sectors"
+msgstr "                s - Tabla ordenada por sectores"
+
+#: fdisk/cfdisk.c:2127
+msgid "                t - Table in raw format"
+msgstr "                t - Tabla con formato en bruto"
+
+#: fdisk/cfdisk.c:2128
+msgid "  q          Quit program without writing partition table"
+msgstr "  q          Salir del programa sin escribir la tabla de particiones"
+
+#: fdisk/cfdisk.c:2129
+msgid "  t          Change the filesystem type"
+msgstr "  t          Cambiar el tipo de sistema de archivos"
+
+#: fdisk/cfdisk.c:2130
+msgid "  u          Change units of the partition size display"
+msgstr ""
+"  u          Cambiar unidades de visualización del tamaño de la partición"
+
+#: fdisk/cfdisk.c:2131
+msgid "             Rotates through MB, sectors and cylinders"
+msgstr "             Alternar entre MB, sectores y cilindros"
+
+#: fdisk/cfdisk.c:2132
+msgid "  W          Write partition table to disk (must enter upper case W)"
+msgstr ""
+"  W          Escribir la tabla de particiones en el disco (W en mayúsculas)"
+
+#: fdisk/cfdisk.c:2133
+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:2134
+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:2135
+msgid "             `no'"
+msgstr "              escribiendo `sí' o `no'"
+
+#: fdisk/cfdisk.c:2136
+msgid "Up Arrow     Move cursor to the previous partition"
+msgstr "Flecha arr.  Desplazar el cursor a la partición anterior"
+
+#: fdisk/cfdisk.c:2137
+msgid "Down Arrow   Move cursor to the next partition"
+msgstr "Flecha abajo Desplazar el cursor a la partición siguiente"
+
+#: fdisk/cfdisk.c:2138
+msgid "CTRL-L       Redraws the screen"
+msgstr "Ctrl-L       Volver a dibujar la pantalla"
+
+#: fdisk/cfdisk.c:2139
+msgid "  ?          Print this screen"
+msgstr "  ?          Imprimir esta pantalla"
+
+#: fdisk/cfdisk.c:2141
+msgid "Note: All of the commands can be entered with either upper or lower"
+msgstr "Nota: todos los comandos pueden escribirse en mayúsculas o minúsculas"
+
+#: fdisk/cfdisk.c:2142
+msgid "case letters (except for Writes)."
+msgstr "(salvo W para operaciones de escritura)."
+
+#: fdisk/cfdisk.c:2172 fdisk/cfdisk.c:2494 fdisk/fdisksunlabel.c:305
+#: fdisk/fdisksunlabel.c:307
+msgid "Cylinders"
+msgstr "Cilindros"
+
+#: fdisk/cfdisk.c:2172
+msgid "Change cylinder geometry"
+msgstr "Cambiar geometría de cilindros"
+
+#: fdisk/cfdisk.c:2173 fdisk/fdisksunlabel.c:302
+msgid "Heads"
+msgstr "Cabezales"
+
+#: fdisk/cfdisk.c:2173
+msgid "Change head geometry"
+msgstr "Cambiar geometría de cabezales"
+
+#: fdisk/cfdisk.c:2174
+msgid "Change sector geometry"
+msgstr "Cambiar geometría de sectores"
+
+#: fdisk/cfdisk.c:2175
+msgid "Done"
+msgstr "Fin"
+
+#: fdisk/cfdisk.c:2175
+msgid "Done with changing geometry"
+msgstr "Ha finalizado la operación de cambio de geometría"
+
+#: fdisk/cfdisk.c:2188
+msgid "Enter the number of cylinders: "
+msgstr "Escriba el número de cilindros: "
+
+#: fdisk/cfdisk.c:2200 fdisk/cfdisk.c:2762
+msgid "Illegal cylinders value"
+msgstr "Valor de cilindros no permitido"
+
+#: fdisk/cfdisk.c:2206
+msgid "Enter the number of heads: "
+msgstr "Escriba el número de cabezales: "
+
+#: fdisk/cfdisk.c:2213 fdisk/cfdisk.c:2772
+msgid "Illegal heads value"
+msgstr "Valor de cabezales no permitido"
+
+#: fdisk/cfdisk.c:2219
+msgid "Enter the number of sectors per track: "
+msgstr "Escriba el número de sectores por pista: "
+
+#: fdisk/cfdisk.c:2226 fdisk/cfdisk.c:2779
+msgid "Illegal sectors value"
+msgstr "Valor de sectores no permitido"
+
+#: fdisk/cfdisk.c:2329
+msgid "Enter filesystem type: "
+msgstr "Escriba el tipo de sistema de archivos: "
+
+#: fdisk/cfdisk.c:2347
+msgid "Cannot change FS Type to empty"
+msgstr "No es posible cambiar el tipo de sistema de archivos a vacío"
+
+#: fdisk/cfdisk.c:2349
+msgid "Cannot change FS Type to extended"
+msgstr "No es posible cambiar el tipo de sistema de archivos a ampliado"
+
+#: fdisk/cfdisk.c:2377 fdisk/fdisksunlabel.c:44
+msgid "Boot"
+msgstr "Inicio"
+
+#: fdisk/cfdisk.c:2379
+#, c-format
+msgid "Unk(%02X)"
+msgstr "Desc.(%02X)"
+
+#: fdisk/cfdisk.c:2382 fdisk/cfdisk.c:2385
+msgid ", NC"
+msgstr ", NC"
+
+#: fdisk/cfdisk.c:2390 fdisk/cfdisk.c:2393
+msgid "NC"
+msgstr "NC"
+
+#: fdisk/cfdisk.c:2401
+msgid "Pri/Log"
+msgstr "Pri/Lóg"
+
+#: fdisk/cfdisk.c:2477
+#, c-format
+msgid "Disk Drive: %s"
+msgstr "Unidad de disco: %s"
+
+#: fdisk/cfdisk.c:2480
+#, c-format
+msgid "Size: %lld bytes"
+msgstr "Tamaño: %lld bytes"
+
+#: fdisk/cfdisk.c:2482
+#, c-format
+msgid "Heads: %d   Sectors per Track: %d   Cylinders: %d"
+msgstr "Cabezales: %d   Sectores por pista: %d   Cilindros: %d"
+
+#: fdisk/cfdisk.c:2486
+msgid "Name"
+msgstr "Nombre"
+
+#: fdisk/cfdisk.c:2487
+msgid "Flags"
+msgstr "Indicadores"
+
+#: fdisk/cfdisk.c:2488
+msgid "Part Type"
+msgstr "Tipo de partición"
+
+#: fdisk/cfdisk.c:2489
+msgid "FS Type"
+msgstr "Tipo de sistema de archivos"
+
+#: fdisk/cfdisk.c:2490
+msgid "[Label]"
+msgstr "[Etiqueta]"
+
+#: fdisk/cfdisk.c:2492
+msgid "  Sectors"
+msgstr "  Sectores"
+
+#: fdisk/cfdisk.c:2496
+msgid "Size (MB)"
+msgstr "Tamaño(MB)"
+
+#: fdisk/cfdisk.c:2498
+msgid "Size (GB)"
+msgstr "Tamaño (GB)"
+
+#: fdisk/cfdisk.c:2553
+msgid "Bootable"
+msgstr "Iniciable"
+
+#: fdisk/cfdisk.c:2553
+msgid "Toggle bootable flag of the current partition"
+msgstr "Conmutar indicador de iniciable de la partición actual"
+
+#: fdisk/cfdisk.c:2554
+msgid "Delete"
+msgstr "Suprimir"
+
+#: fdisk/cfdisk.c:2554
+msgid "Delete the current partition"
+msgstr "Suprimir la partición actual"
+
+#: fdisk/cfdisk.c:2555
+msgid "Geometry"
+msgstr "Geometría"
+
+#: fdisk/cfdisk.c:2555
+msgid "Change disk geometry (experts only)"
+msgstr "Cambiar geometría de disco (sólo usuarios avanzados)"
+
+#: fdisk/cfdisk.c:2556
+msgid "Help"
+msgstr "Ayuda"
+
+#: fdisk/cfdisk.c:2556
+msgid "Print help screen"
+msgstr "Imprimir esta pantalla"
+
+#: fdisk/cfdisk.c:2557
+msgid "Maximize"
+msgstr "Maximizar"
+
+#: fdisk/cfdisk.c:2557
+msgid "Maximize disk usage of the current partition (experts only)"
+msgstr ""
+"Maximizar la utilización del disco de la partición actual (sólo usuarios "
+"avanzados)"
+
+#: fdisk/cfdisk.c:2558
+msgid "New"
+msgstr "Nuevo"
+
+#: fdisk/cfdisk.c:2558
+msgid "Create new partition from free space"
+msgstr "Crear una nueva partición a partir del espacio libre"
+
+#: fdisk/cfdisk.c:2559
+msgid "Print"
+msgstr "Imprimir"
+
+#: fdisk/cfdisk.c:2559
+msgid "Print partition table to the screen or to a file"
+msgstr "Imprimir la tabla de particiones en la pantalla o en un archivo"
+
+#: fdisk/cfdisk.c:2560
+msgid "Quit"
+msgstr "Salir"
+
+#: fdisk/cfdisk.c:2560
+msgid "Quit program without writing partition table"
+msgstr "Salir del programa sin escribir la tabla de particiones"
+
+#: fdisk/cfdisk.c:2561
+msgid "Type"
+msgstr "Tipo"
+
+#: fdisk/cfdisk.c:2561
+msgid "Change the filesystem type (DOS, Linux, OS/2 and so on)"
+msgstr "Cambiar el tipo de sistema de archivos (DOS, Linux, OS/2, etc.)"
+
+#: fdisk/cfdisk.c:2562
+msgid "Units"
+msgstr "Unidades"
+
+#: fdisk/cfdisk.c:2562
+msgid "Change units of the partition size display (MB, sect, cyl)"
+msgstr "Cambiar unidades para el tamaño de la partición (MB, sect., cil.)"
+
+#: fdisk/cfdisk.c:2563
+msgid "Write"
+msgstr "Escribir"
+
+#: fdisk/cfdisk.c:2563
+msgid "Write partition table to disk (this might destroy data)"
+msgstr ""
+"Escribir la tabla de particiones en el disco (puede destruirse información)"
+
+#: fdisk/cfdisk.c:2609
+msgid "Cannot make this partition bootable"
+msgstr "No es posible convertir esta partición en una partición iniciable"
+
+#: fdisk/cfdisk.c:2619
+msgid "Cannot delete an empty partition"
+msgstr "No es posible suprimir una partición vacía"
+
+#: fdisk/cfdisk.c:2639 fdisk/cfdisk.c:2641
+msgid "Cannot maximize this partition"
+msgstr "No es posible maximizar esta partición"
+
+#: fdisk/cfdisk.c:2649
+msgid "This partition is unusable"
+msgstr "Esta partición se encuentra en estado inutilizable"
+
+#: fdisk/cfdisk.c:2651
+msgid "This partition is already in use"
+msgstr "Esta partición ya está en uso"
+
+#: fdisk/cfdisk.c:2668
+msgid "Cannot change the type of an empty partition"
+msgstr "No es posible cambiar el tipo de una partición vacía"
+
+#: fdisk/cfdisk.c:2695 fdisk/cfdisk.c:2701
+msgid "No more partitions"
+msgstr "No hay más particiones"
+
+#: fdisk/cfdisk.c:2708
+msgid "Illegal command"
+msgstr "Comando no permitido"
+
+#: fdisk/cfdisk.c:2718
+msgid "Copyright (C) 1994-1999 Kevin E. Martin & aeb\n"
+msgstr "Copyright (C) 1994-1999 Kevin E. Martin & aeb\n"
+
+#. Unfortunately, xgettext does not handle multi-line strings
+#. so, let's use explicit \n's instead
+#: fdisk/cfdisk.c:2725
+#, 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: Utilizar flecha en lugar de resaltado.\n"
+"-z: Empezar con tabla de particiones de cero en lugar de leerla del disco.\n"
+"-c C -h H -s S: Modificar la idea del kernel sobre el número de cilindros,\n"
+"                el número de cabezales y el número de sectores por pista.\n"
+"\n"
+
+#: fdisk/fdisk.c:246
+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 drives) use 2048-byte sectors\n"
+msgstr ""
+"Uso:   fdisk [-b SSZ] [-u] DISCO    Cambiar tabla de particiones\n"
+"       fdisk -l [-b SSZ] [-u] DISCO Listar tabla(s) de particiones\n"
+"       fdisk -s PARTICIÓN           Obtener tamaño de particiones en "
+"bloques\n"
+"       fdisk -v                     Obtener 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:258
+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:266
+#, c-format
+msgid "Unable to open %s\n"
+msgstr "No es posible abrir %s\n"
+
+#: fdisk/fdisk.c:269
+#, c-format
+msgid "Unable to read %s\n"
+msgstr "No es posible leer %s\n"
+
+#: fdisk/fdisk.c:272
+#, c-format
+msgid "Unable to seek on %s\n"
+msgstr "No es posible buscar en %s\n"
+
+#: fdisk/fdisk.c:275
+#, c-format
+msgid "Unable to write %s\n"
+msgstr "No es posible escribir %s\n"
+
+#: fdisk/fdisk.c:278
+#, c-format
+msgid "BLKGETSIZE ioctl failed on %s\n"
+msgstr "ioctl BLKGETSIZE ha fallado en %s\n"
+
+#: fdisk/fdisk.c:282
+msgid "Unable to allocate any more memory\n"
+msgstr "No es posible asignar más memoria\n"
+
+#: fdisk/fdisk.c:284
+msgid "Fatal error\n"
+msgstr "Error muy grave\n"
+
+#: fdisk/fdisk.c:295 fdisk/fdisk.c:314 fdisk/fdisk.c:332 fdisk/fdisk.c:339
+#: fdisk/fdisk.c:362 fdisk/fdisk.c:380 fdisk/fdiskbsdlabel.c:105
+msgid "Command action"
+msgstr "Acción del comando"
+
+#: fdisk/fdisk.c:296
+msgid "   a   toggle a read only flag"
+msgstr "   a   Conmutar un indicador de sólo lectura"
+
+#. sun
+#: fdisk/fdisk.c:297 fdisk/fdisk.c:341
+msgid "   b   edit bsd disklabel"
+msgstr "   b   Modificar etiqueta de disco bsd"
+
+#: fdisk/fdisk.c:298
+msgid "   c   toggle the mountable flag"
+msgstr "   c   Conmutar indicador de montable"
+
+#. sun
+#: fdisk/fdisk.c:299 fdisk/fdisk.c:318 fdisk/fdisk.c:343
+msgid "   d   delete a partition"
+msgstr "   d   Suprimir una partición"
+
+#: fdisk/fdisk.c:300 fdisk/fdisk.c:319 fdisk/fdisk.c:344
+msgid "   l   list known partition types"
+msgstr "   l   Listar tipos de particiones conocidos"
+
+#. sun
+#: fdisk/fdisk.c:301 fdisk/fdisk.c:320 fdisk/fdisk.c:333 fdisk/fdisk.c:345
+#: fdisk/fdisk.c:370 fdisk/fdisk.c:387 fdisk/fdiskbsdlabel.c:110
+msgid "   m   print this menu"
+msgstr "   m   Imprimir este menú"
+
+#: fdisk/fdisk.c:302 fdisk/fdisk.c:321 fdisk/fdisk.c:346
+msgid "   n   add a new partition"
+msgstr "   n   Agregar una nueva partición"
+
+#: fdisk/fdisk.c:303 fdisk/fdisk.c:322 fdisk/fdisk.c:334 fdisk/fdisk.c:347
+msgid "   o   create a new empty DOS partition table"
+msgstr "   o   Crear una nueva tabla de particiones DOS vacía"
+
+#: fdisk/fdisk.c:304 fdisk/fdisk.c:323 fdisk/fdisk.c:348 fdisk/fdisk.c:371
+#: fdisk/fdisk.c:388
+msgid "   p   print the partition table"
+msgstr "   p   Imprimir la tabla de particiones"
+
+#: fdisk/fdisk.c:305 fdisk/fdisk.c:324 fdisk/fdisk.c:335 fdisk/fdisk.c:349
+#: fdisk/fdisk.c:372 fdisk/fdisk.c:389 fdisk/fdiskbsdlabel.c:113
+msgid "   q   quit without saving changes"
+msgstr "   q   Salir sin guardar los cambios"
+
+#: fdisk/fdisk.c:306 fdisk/fdisk.c:325 fdisk/fdisk.c:336 fdisk/fdisk.c:350
+msgid "   s   create a new empty Sun disklabel"
+msgstr "   s   Crear una nueva etiqueta de disco Sun"
+
+#. sun
+#: fdisk/fdisk.c:307 fdisk/fdisk.c:326 fdisk/fdisk.c:351
+msgid "   t   change a partition's system id"
+msgstr "   t   Cambiar el identificador de sistema de una partición"
+
+#: fdisk/fdisk.c:308 fdisk/fdisk.c:327 fdisk/fdisk.c:352
+msgid "   u   change display/entry units"
+msgstr "   u   Cambiar las unidades de visualización/entrada"
+
+#: fdisk/fdisk.c:309 fdisk/fdisk.c:328 fdisk/fdisk.c:353 fdisk/fdisk.c:375
+#: fdisk/fdisk.c:392
+msgid "   v   verify the partition table"
+msgstr "   v   Verificar la tabla de particiones"
+
+#: fdisk/fdisk.c:310 fdisk/fdisk.c:329 fdisk/fdisk.c:354 fdisk/fdisk.c:376
+#: fdisk/fdisk.c:393
+msgid "   w   write table to disk and exit"
+msgstr "   w   Escribir la tabla en el disco y salir"
+
+#: fdisk/fdisk.c:311 fdisk/fdisk.c:355
+msgid "   x   extra functionality (experts only)"
+msgstr "   x   Funciones adicionales (sólo usuarios avanzados)"
+
+#: fdisk/fdisk.c:315
+msgid "   a   select bootable partition"
+msgstr "   a   Seleccionar partición iniciable"
+
+#. sgi flavour
+#: fdisk/fdisk.c:316
+msgid "   b   edit bootfile entry"
+msgstr "   b   Modificar entrada de archivo de inicio"
+
+#. sgi
+#: fdisk/fdisk.c:317
+msgid "   c   select sgi swap partition"
+msgstr "   c   Seleccionar partición de intercambio sgi"
+
+#: fdisk/fdisk.c:340
+msgid "   a   toggle a bootable flag"
+msgstr "   a   Conmutar un indicador de iniciable"
+
+#: fdisk/fdisk.c:342
+msgid "   c   toggle the dos compatibility flag"
+msgstr "   c   Conmutar el indicador de compatibilidad con DOS"
+
+#: fdisk/fdisk.c:363
+msgid "   a   change number of alternate cylinders"
+msgstr "   a   Cambiar el número de cilindros alternativos"
+
+#. sun
+#: fdisk/fdisk.c:364 fdisk/fdisk.c:382
+msgid "   c   change number of cylinders"
+msgstr "   c   Cambiar el número de cilindros"
+
+#: fdisk/fdisk.c:365 fdisk/fdisk.c:383
+msgid "   d   print the raw data in the partition table"
+msgstr "   d   Imprimir los datos en bruto en la tabla de particiones"
+
+#: fdisk/fdisk.c:366
+msgid "   e   change number of extra sectors per cylinder"
+msgstr "   e   Cambiar el número de sectores adicionales por cilindro"
+
+#. sun
+#: fdisk/fdisk.c:367 fdisk/fdisk.c:386
+msgid "   h   change number of heads"
+msgstr "   h   Cambiar el número de cabezales"
+
+#: fdisk/fdisk.c:368
+msgid "   i   change interleave factor"
+msgstr "   i   Cambiar factor de interleave"
+
+#. sun
+#: fdisk/fdisk.c:369
+msgid "   o   change rotation speed (rpm)"
+msgstr "   o   Cambiar velocidad de rotación (r.p.m.)"
+
+#: fdisk/fdisk.c:373 fdisk/fdisk.c:390 fdisk/fdiskbsdlabel.c:115
+msgid "   r   return to main menu"
+msgstr "   r   Volver al menú principal"
+
+#: fdisk/fdisk.c:374 fdisk/fdisk.c:391
+msgid "   s   change number of sectors/track"
+msgstr "   s   Cambiar el número de sectores por pista"
+
+#: fdisk/fdisk.c:377
+msgid "   y   change number of physical cylinders"
+msgstr "   y   Cambiar el número de cilindros físicos"
+
+#: fdisk/fdisk.c:381
+msgid "   b   move beginning of data in a partition"
+msgstr "   b   Desplazarse al principio de los datos de una partición"
+
+#: fdisk/fdisk.c:384
+msgid "   e   list extended partitions"
+msgstr "   e   Listar particiones ampliadas"
+
+#. !sun
+#: fdisk/fdisk.c:385
+msgid "   g   create an IRIX partition table"
+msgstr "   g   Crear una tabla de particiones IRIX"
+
+#: fdisk/fdisk.c:481
+msgid "You must set"
+msgstr "Debe establecer"
+
+#: fdisk/fdisk.c:495
+msgid "heads"
+msgstr "cabezales"
+
+#: fdisk/fdisk.c:497 fdisk/fdisk.c:905 fdisk/sfdisk.c:842
+msgid "sectors"
+msgstr "sectores"
+
+#: fdisk/fdisk.c:499 fdisk/fdisk.c:905 fdisk/fdiskbsdlabel.c:444
+#: fdisk/sfdisk.c:842
+msgid "cylinders"
+msgstr "cilindros"
+
+#: fdisk/fdisk.c:503
+#, 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:504
+msgid " and "
+msgstr " y "
+
+#: fdisk/fdisk.c:538
+msgid "Bad offset in primary extended partition\n"
+msgstr "Desplazamiento incorrecto en particiones ampliadas primarias\n"
+
+#: fdisk/fdisk.c:545
+#, c-format
+msgid "Warning: deleting partitions after %d\n"
+msgstr "Advertencia: se están suprimiendo las particiones después de %d\n"
+
+#: fdisk/fdisk.c:566
+#, c-format
+msgid "Warning: extra link pointer in partition table %d\n"
+msgstr "Advertencia: puntero de enlace adicional en tabla de particiones %d\n"
+
+#: fdisk/fdisk.c:574
+#, c-format
+msgid "Warning: ignoring extra data in partition table %d\n"
+msgstr ""
+"Advertencia: no se tienen en cuenta los datos adicionales de la tabla de "
+"particiones %d\n"
+
+#: fdisk/fdisk.c:600
+msgid ""
+"Building a new DOS 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 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:636
+msgid "You will not be able to write the partition table.\n"
+msgstr "No podrá escribir la tabla de particiones.\n"
+
+#: fdisk/fdisk.c:645
+#, 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:693
+msgid ""
+"Device contains neither a valid DOS partition table, nor Sun or SGI "
+"disklabel\n"
+msgstr ""
+"El dispositivo no contiene una tabla de particiones DOS válida ni una "
+"etiqueta de disco Sun o SGI\n"
+
+#: fdisk/fdisk.c:709
+msgid "Internal error\n"
+msgstr "Error interno\n"
+
+#: fdisk/fdisk.c:719
+#, c-format
+msgid "Ignoring extra extended partition %d\n"
+msgstr "No se tiene en cuenta la partición ampliada adicional %d\n"
+
+#: fdisk/fdisk.c:726
+#, c-format
+msgid ""
+"Warning: invalid flag 0x%04x of partition table %d will be corrected by "
+"w(rite)\n"
+msgstr ""
+"Advertencia: el indicador 0x%04x no válido de la tabla de particiones %d se "
+"corregirá mediante w(rite)\n"
+
+#: fdisk/fdisk.c:747
+msgid ""
+"\n"
+"got EOF thrice - exiting..\n"
+msgstr ""
+"\n"
+"se ha detectado EOF tres veces - saliendo...\n"
+
+#: fdisk/fdisk.c:784
+msgid "Hex code (type L to list codes): "
+msgstr "Código hexadecimal (escriba L para ver los códigos): "
+
+#: fdisk/fdisk.c:823
+#, c-format
+msgid "%s (%d-%d, default %d): "
+msgstr "%s (%d-%d, valor predeterminado %d): "
+
+#: fdisk/fdisk.c:877
+#, c-format
+msgid "Using default value %d\n"
+msgstr "Se está utilizando el valor predeterminado %d\n"
+
+#: fdisk/fdisk.c:881
+msgid "Value out of range.\n"
+msgstr "El valor está fuera del rango.\n"
+
+#: fdisk/fdisk.c:888
+msgid "Partition number"
+msgstr "Número de partición"
+
+#: fdisk/fdisk.c:896
+#, c-format
+msgid "Warning: partition %d has empty type\n"
+msgstr "Advertencia: la partición %d es de tipo vacío\n"
+
+#: fdisk/fdisk.c:903
+msgid "cylinder"
+msgstr "cilindro"
+
+#: fdisk/fdisk.c:903
+msgid "sector"
+msgstr "sector"
+
+#: fdisk/fdisk.c:912
+#, 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:922
+#, c-format
+msgid "WARNING: Partition %d is an extended partition\n"
+msgstr "ADVERTENCIA: la partición %d es una partición ampliada\n"
+
+#: fdisk/fdisk.c:935
+msgid "DOS Compatibility flag is set\n"
+msgstr "El indicador de compatibilidad con DOS está establecido\n"
+
+#: fdisk/fdisk.c:939
+msgid "DOS Compatibility flag is not set\n"
+msgstr "El indicador de compatibilidad con DOS no está establecido\n"
+
+#: fdisk/fdisk.c:1025
+#, c-format
+msgid "Partition %d does not exist yet!\n"
+msgstr "La partición %d todavía no existe\n"
+
+#: fdisk/fdisk.c:1030
+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 el comando `d'.\n"
+
+#: fdisk/fdisk.c:1039
+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 ampliada ni viceversa.\n"
+"Primero debe suprimirla.\n"
+
+#: fdisk/fdisk.c:1048
+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:1054
+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:1068
+#, 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:1121
+#, 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:1123 fdisk/fdisk.c:1131 fdisk/fdisk.c:1140 fdisk/fdisk.c:1149
+#, c-format
+msgid "     phys=(%d, %d, %d) "
+msgstr " físicos=(%d, %d, %d) "
+
+#: fdisk/fdisk.c:1124 fdisk/fdisk.c:1132
+#, c-format
+msgid "logical=(%d, %d, %d)\n"
+msgstr "lógicos=(%d, %d, %d)\n"
+
+#: fdisk/fdisk.c:1129
+#, 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:1138
+#, 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:1141
+#, c-format
+msgid "should be (%d, %d, 1)\n"
+msgstr "debe ser (%d, %d, 1)\n"
+
+#: fdisk/fdisk.c:1147
+#, c-format
+msgid "Partition %i does not end on cylinder boundary:\n"
+msgstr "La partición %i no termina en el límite del cilindro:\n"
+
+#: fdisk/fdisk.c:1150
+#, c-format
+msgid "should be (%d, %d, %d)\n"
+msgstr "debe ser (%d, %d, %d)\n"
+
+#: fdisk/fdisk.c:1157
+#, c-format
+msgid ""
+"\n"
+"Disk %s: %d heads, %d sectors, %d cylinders\n"
+"Units = %s of %d * %d bytes\n"
+"\n"
+msgstr ""
+"\n"
+"Disco %s: %d cabezales, %d sectores, %d cilindros\n"
+"Unidades = %s de %d * %d bytes\n"
+"\n"
+
+#. FIXME! let's see how this shows up with other languagues
+#. acme@conectiva.com.br
+#: fdisk/fdisk.c:1194
+#, c-format
+msgid "%*s Boot    Start       End    Blocks   Id  System\n"
+msgstr "%*s Inicio  Principio   Fin    Bloques  Id  Sistema\n"
+
+#: fdisk/fdisk.c:1195 fdisk/fdisksgilabel.c:207 fdisk/fdisksunlabel.c:631
+msgid "Device"
+msgstr "Dispositivo"
+
+#: fdisk/fdisk.c:1235
+#, c-format
+msgid ""
+"\n"
+"Disk %s: %d heads, %d sectors, %d cylinders\n"
+"\n"
+msgstr ""
+"\n"
+"Disco %s: %d cabezales, %d sectores, %d cilindros\n"
+"\n"
+
+#: fdisk/fdisk.c:1237
+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:1276
+#, c-format
+msgid "Warning: partition %d contains sector 0\n"
+msgstr "Advertencia: la partición %d contiene el sector 0\n"
+
+#: fdisk/fdisk.c:1279
+#, c-format
+msgid "Partition %d: head %d greater than maximum %d\n"
+msgstr "Partición %d: el cabezal %d supera el máximo %d\n"
+
+#: fdisk/fdisk.c:1282
+#, c-format
+msgid "Partition %d: sector %d greater than maximum %d\n"
+msgstr "Partición %d: el sector %d supera el máximo %d\n"
+
+#: fdisk/fdisk.c:1285
+#, 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:1289
+#, 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:1319
+#, c-format
+msgid "Warning: bad start-of-data in partition %d\n"
+msgstr "Advertencia: inicio de datos incorrecto en partición %d\n"
+
+#: fdisk/fdisk.c:1327
+#, c-format
+msgid "Warning: partition %d overlaps partition %d.\n"
+msgstr "Advertencia: la partición %d se solapa con la partición %d.\n"
+
+#: fdisk/fdisk.c:1345
+#, c-format
+msgid "Warning: partition %d is empty\n"
+msgstr "Advertencia: la partición %d está vacía\n"
+
+#: fdisk/fdisk.c:1350
+#, 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:1356
+#, c-format
+msgid "Total allocated sectors %d greater than the maximum %d\n"
+msgstr "El total de sectores asignados %d supera el máximo %d\n"
+
+#: fdisk/fdisk.c:1359
+#, c-format
+msgid "%d unallocated sectors\n"
+msgstr "%d sectores no asignados\n"
+
+#: fdisk/fdisk.c:1371 fdisk/fdisksgilabel.c:684 fdisk/fdisksunlabel.c:479
+#, 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 agregarla.\n"
+
+#: fdisk/fdisk.c:1392 fdisk/fdiskbsdlabel.c:252 fdisk/fdisksgilabel.c:706
+#: fdisk/fdisksunlabel.c:494
+#, c-format
+msgid "First %s"
+msgstr "Primer %s"
+
+#: fdisk/fdisk.c:1407 fdisk/fdisksunlabel.c:519
+#, c-format
+msgid "Sector %d is already allocated\n"
+msgstr "El sector %d ya está asignado\n"
+
+#: fdisk/fdisk.c:1439
+msgid "No free sectors available\n"
+msgstr "No hay disponible ningún sector libre\n"
+
+#: fdisk/fdisk.c:1449 fdisk/fdiskbsdlabel.c:259 fdisk/fdisksunlabel.c:529
+#, c-format
+msgid "Last %s or +size or +sizeM or +sizeK"
+msgstr "Último %s o +tamaño o +tamañoM o +tamañoK"
+
+#: fdisk/fdisk.c:1479
+#, c-format
+msgid "Warning: partition %d has an odd number of sectors.\n"
+msgstr "Advertencia: la partición %d tiene un número de sectores impar.\n"
+
+#: fdisk/fdisk.c:1516 fdisk/fdiskbsdlabel.c:593
+msgid "The maximum number of partitions has been created\n"
+msgstr "Se ha creado el número máximo de particiones\n"
+
+#: fdisk/fdisk.c:1526
+msgid "You must delete some partition and add an extended partition first\n"
+msgstr ""
+"Primero debe suprimir alguna partición y agregar una partición ampliada\n"
+
+#: fdisk/fdisk.c:1530
+#, c-format
+msgid ""
+"Command action\n"
+"   %s\n"
+"   p   primary partition (1-4)\n"
+msgstr ""
+"Acción del comando\n"
+"%s\n"
+"   p   Partición primaria (1-4)\n"
+
+#: fdisk/fdisk.c:1532
+msgid "l   logical (5 or over)"
+msgstr "l   Partición lógica (5 o superior)"
+
+#: fdisk/fdisk.c:1532
+msgid "e   extended"
+msgstr "e   Partición ampliada"
+
+#: fdisk/fdisk.c:1549
+#, c-format
+msgid "Invalid partition number for type `%c'\n"
+msgstr "Número de partición no válido para el tipo `%c'\n"
+
+#: fdisk/fdisk.c:1581
+msgid ""
+"The partition table has been altered!\n"
+"\n"
+msgstr ""
+"Ya se ha modificado la tabla de particiones\n"
+"\n"
+
+#: fdisk/fdisk.c:1590
+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:1606
+#, c-format
+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"
+
+#: fdisk/fdisk.c:1612
+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"
+"ADVERTENCIA: 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:1619
+msgid "Syncing disks.\n"
+msgstr "Se están sincronizando los discos.\n"
+
+#: fdisk/fdisk.c:1650
+#, c-format
+msgid "Device: %s\n"
+msgstr "Dispositivo: %s\n"
+
+#: fdisk/fdisk.c:1665
+#, 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:1671
+msgid "New beginning of data"
+msgstr "Nuevo principio de datos"
+
+#: fdisk/fdisk.c:1685
+msgid "Expert command (m for help): "
+msgstr "Comando avanzado (m para obtener ayuda): "
+
+#: fdisk/fdisk.c:1696
+msgid "Number of cylinders"
+msgstr "Número de cilindros"
+
+#: fdisk/fdisk.c:1717
+msgid "Number of heads"
+msgstr "Número de cabezales"
+
+#: fdisk/fdisk.c:1742
+msgid "Number of sectors"
+msgstr "Número de sectores"
+
+#: fdisk/fdisk.c:1745
+msgid "Warning: setting sector offset for DOS compatiblity\n"
+msgstr ""
+"Advertencia: estableciendo desplazamiento de sector para compatibilidad con "
+"DOS\n"
+
+#: fdisk/fdisk.c:1807
+#, 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:1821
+#, c-format
+msgid "Cannot open %s\n"
+msgstr "No es posible abrir %s\n"
+
+#: fdisk/fdisk.c:1838
+#, c-format
+msgid "cannot open %s\n"
+msgstr "No es posible abrir %s\n"
+
+#: fdisk/fdisk.c:1911
+msgid "This kernel finds the sector size itself - -b option ignored\n"
+msgstr ""
+"Este kernel encuentra el tamaño del sector por sí mismo; no se tiene en "
+"cuenta la opción -b\n"
+
+#: fdisk/fdisk.c:1914
+msgid ""
+"Warning: the -b (set sector size) option should be used with one specified "
+"device\n"
+msgstr ""
+"Advertencia: la opción -b (establecer tamaño de sector) debe utilizarse con "
+"un dispositivo especificado\n"
+
+#: fdisk/fdisk.c:1973
+msgid "Command (m for help): "
+msgstr "Comando (m para obtener ayuda): "
+
+#: fdisk/fdisk.c:1987
+#, c-format
+msgid ""
+"\n"
+"The current boot file is: %s\n"
+msgstr ""
+"\n"
+"El archivo de inicio actual es: %s\n"
+
+#: fdisk/fdisk.c:1989
+msgid "Please enter the name of the new boot file: "
+msgstr "Escriba el nombre del nuevo archivo de inicio: "
+
+#: fdisk/fdisk.c:1991
+msgid "Boot file unchanged\n"
+msgstr "No se ha modificado el archivo de inicio\n"
+
+#: fdisk/fdisk.c:2051
+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/fdiskaixlabel.c:29
+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:97
+#, c-format
+msgid ""
+"\n"
+"BSD label for device: %s\n"
+msgstr ""
+"\n"
+"Etiqueta BSD para dispositivo: %s\n"
+
+#: fdisk/fdiskbsdlabel.c:106
+msgid "   d   delete a BSD partition"
+msgstr "   d   Suprimir una partición BSD"
+
+#: fdisk/fdiskbsdlabel.c:107
+msgid "   e   edit drive data"
+msgstr "   e   Modificar datos de unidad"
+
+#: fdisk/fdiskbsdlabel.c:108
+msgid "   i   install bootstrap"
+msgstr "   i   Instalar secuencia de inicio"
+
+#: fdisk/fdiskbsdlabel.c:109
+msgid "   l   list known filesystem types"
+msgstr "   l   Listar tipos de sistemas de archivos conocidos"
+
+#: fdisk/fdiskbsdlabel.c:111
+msgid "   n   add a new BSD partition"
+msgstr "   n   Agregar una nueva partición BSD"
+
+#: fdisk/fdiskbsdlabel.c:112
+msgid "   p   print BSD partition table"
+msgstr "   p   Imprimir tabla de particiones BSD"
+
+#: fdisk/fdiskbsdlabel.c:117
+msgid "   s   show complete disklabel"
+msgstr "   s   Mostrar etiqueta de disco completa"
+
+#: fdisk/fdiskbsdlabel.c:118
+msgid "   t   change a partition's filesystem id"
+msgstr ""
+"   t   Cambiar el identificador de sistema de archivos de una partición"
+
+#: fdisk/fdiskbsdlabel.c:119
+msgid "   w   write disklabel to disk"
+msgstr "   w   Escribir la etiqueta de disco en el disco"
+
+#: fdisk/fdiskbsdlabel.c:121
+msgid "   x   link BSD partition to non-BSD partition"
+msgstr "   x   Enlazar la partición BSD con una partición no BSD"
+
+#: fdisk/fdiskbsdlabel.c:146
+#, c-format
+msgid "Partition %s%d has invalid starting sector 0.\n"
+msgstr "La partición %s%d tiene un sector 0 de inicio no válido.\n"
+
+#: fdisk/fdiskbsdlabel.c:150
+#, c-format
+msgid "Reading disklabel of %s%d at sector %d.\n"
+msgstr "Leyendo etiqueta de disco de %s%d en sector %d.\n"
+
+#: fdisk/fdiskbsdlabel.c:159
+#, c-format
+msgid "There is no *BSD partition on %s.\n"
+msgstr "No hay ninguna partición *BSD en %s.\n"
+
+#: fdisk/fdiskbsdlabel.c:174
+msgid "BSD disklabel command (m for help): "
+msgstr "Comando de etiqueta de disco BSD (m para obtener ayuda): "
+
+#: fdisk/fdiskbsdlabel.c:288
+#, c-format
+msgid "type: %s\n"
+msgstr "tipo: %s\n"
+
+#: fdisk/fdiskbsdlabel.c:290
+#, c-format
+msgid "type: %d\n"
+msgstr "tipo: %d\n"
+
+#: fdisk/fdiskbsdlabel.c:291
+#, c-format
+msgid "disk: %.*s\n"
+msgstr "disco: %.*s\n"
+
+#: fdisk/fdiskbsdlabel.c:292
+#, c-format
+msgid "label: %.*s\n"
+msgstr "etiqueta: %.*s\n"
+
+#: fdisk/fdiskbsdlabel.c:293
+msgid "flags:"
+msgstr "indicadores:"
+
+#: fdisk/fdiskbsdlabel.c:295
+msgid " removable"
+msgstr " removable"
+
+#: fdisk/fdiskbsdlabel.c:297
+msgid " ecc"
+msgstr " ecc"
+
+#: fdisk/fdiskbsdlabel.c:299
+msgid " badsect"
+msgstr " badsect"
+
+#. On various machines the fields of *lp are short/int/long
+#. In order to avoid problems, we cast them all to long.
+#: fdisk/fdiskbsdlabel.c:303
+#, c-format
+msgid "bytes/sector: %ld\n"
+msgstr "bytes por sector: %ld\n"
+
+#: fdisk/fdiskbsdlabel.c:304
+#, c-format
+msgid "sectors/track: %ld\n"
+msgstr "sectores por pista: %ld\n"
+
+#: fdisk/fdiskbsdlabel.c:305
+#, c-format
+msgid "tracks/cylinder: %ld\n"
+msgstr "pistas por cilindro: %ld\n"
+
+#: fdisk/fdiskbsdlabel.c:306
+#, c-format
+msgid "sectors/cylinder: %ld\n"
+msgstr "sectores por cilindro: %ld\n"
+
+#: fdisk/fdiskbsdlabel.c:307
+#, c-format
+msgid "cylinders: %ld\n"
+msgstr "cilindros: %ld\n"
+
+#: fdisk/fdiskbsdlabel.c:308
+#, c-format
+msgid "rpm: %d\n"
+msgstr "r.p.m.: %d\n"
+
+#: fdisk/fdiskbsdlabel.c:309
+#, c-format
+msgid "interleave: %d\n"
+msgstr "interleave: %d\n"
+
+#: fdisk/fdiskbsdlabel.c:310
+#, c-format
+msgid "trackskew: %d\n"
+msgstr "trackskew: %d\n"
+
+#: fdisk/fdiskbsdlabel.c:311
+#, c-format
+msgid "cylinderskew: %d\n"
+msgstr "cylinderskew: %d\n"
+
+#: fdisk/fdiskbsdlabel.c:312
+#, c-format
+msgid "headswitch: %ld\t\t# milliseconds\n"
+msgstr "headswitch: %ld\t\t# milisegundos\n"
+
+#: fdisk/fdiskbsdlabel.c:313
+#, c-format
+msgid "track-to-track seek: %ld\t# milliseconds\n"
+msgstr "búsqueda pista a pista: %ld\t# milisegundos\n"
+
+#: fdisk/fdiskbsdlabel.c:314
+msgid "drivedata: "
+msgstr "drivedata: "
+
+#: fdisk/fdiskbsdlabel.c:323
+#, c-format
+msgid ""
+"\n"
+"%d partitions:\n"
+msgstr ""
+"\n"
+"%d particiones:\n"
+
+#: fdisk/fdiskbsdlabel.c:324
+msgid "#        size   offset    fstype   [fsize bsize   cpg]\n"
+msgstr "#        size   offset    fstype   [fsize bsize   cpg]\n"
+
+#: fdisk/fdiskbsdlabel.c:380
+#, c-format
+msgid "Writing disklabel to %s%d.\n"
+msgstr "Escribiendo etiqueta de disco en %s%d.\n"
+
+#: fdisk/fdiskbsdlabel.c:383
+#, c-format
+msgid "Writing disklabel to %s.\n"
+msgstr "Escribiendo etiqueta de disco en %s.\n"
+
+#: fdisk/fdiskbsdlabel.c:395
+#, c-format
+msgid "%s%d contains no disklabel.\n"
+msgstr "%s%d no contiene ninguna etiqueta de disco.\n"
+
+#: fdisk/fdiskbsdlabel.c:398
+#, c-format
+msgid "%s contains no disklabel.\n"
+msgstr "%s no contiene ninguna etiqueta de disco.\n"
+
+#: fdisk/fdiskbsdlabel.c:402
+msgid "Do you want to create a disklabel? (y/n) "
+msgstr "¿Desea crear una etiqueta de disco? (y/n) "
+
+#: fdisk/fdiskbsdlabel.c:441
+msgid "bytes/sector"
+msgstr "bytes/sector"
+
+#: fdisk/fdiskbsdlabel.c:442
+msgid "sectors/track"
+msgstr "sectores/pista"
+
+#: fdisk/fdiskbsdlabel.c:443
+msgid "tracks/cylinder"
+msgstr "pistas/cilindro"
+
+#: fdisk/fdiskbsdlabel.c:451
+msgid "sectors/cylinder"
+msgstr "sectores/cilindro"
+
+#: fdisk/fdiskbsdlabel.c:455
+msgid "Must be <= sectors/track * tracks/cylinder (default).\n"
+msgstr "Debe ser <= sectores/pista * pistas/cilindro (valor predeterminado).\n"
+
+#: fdisk/fdiskbsdlabel.c:457
+msgid "rpm"
+msgstr "r.p.m."
+
+#: fdisk/fdiskbsdlabel.c:458
+msgid "interleave"
+msgstr "interleave"
+
+#: fdisk/fdiskbsdlabel.c:459
+msgid "trackskew"
+msgstr "trackskew"
+
+#: fdisk/fdiskbsdlabel.c:460
+msgid "cylinderskew"
+msgstr "cylinderskew"
+
+#: fdisk/fdiskbsdlabel.c:461
+msgid "headswitch"
+msgstr "headswitch"
+
+#: fdisk/fdiskbsdlabel.c:462
+msgid "track-to-track seek"
+msgstr "búsqueda pista a pista"
+
+#: fdisk/fdiskbsdlabel.c:503
+#, c-format
+msgid "Bootstrap: %sboot -> boot%s (%s): "
+msgstr "Secuencia de inicio: %sboot -> boot%s (%s): "
+
+#: fdisk/fdiskbsdlabel.c:529
+msgid "Bootstrap overlaps with disk label!\n"
+msgstr "Solapamientos de secuencia de inicio con etiqueta de disco\n"
+
+#: fdisk/fdiskbsdlabel.c:550
+#, c-format
+msgid "Bootstrap installed on %s%d.\n"
+msgstr "Secuencia de inicio instalada en %s%d.\n"
+
+#: fdisk/fdiskbsdlabel.c:552
+#, c-format
+msgid "Bootstrap installed on %s.\n"
+msgstr "Secuencia de inicio instalada en %s.\n"
+
+#: fdisk/fdiskbsdlabel.c:573
+#, c-format
+msgid "Partition (a-%c): "
+msgstr "Partición (a-%c): "
+
+#: fdisk/fdiskbsdlabel.c:604
+msgid "This partition already exists.\n"
+msgstr "Esta partición ya existe.\n"
+
+#: fdisk/fdiskbsdlabel.c:726
+#, c-format
+msgid "Warning: too many partitions (%d, maximum is %d).\n"
+msgstr "Advertencia: demasiadas particiones (%d, el valor máximo es %d).\n"
+
+#: fdisk/fdiskbsdlabel.c:772
+msgid ""
+"\n"
+"Syncing disks.\n"
+msgstr ""
+"\n"
+"Se están sincronizando los discos.\n"
+
+#: fdisk/fdisksgilabel.c:56
+msgid "SGI volhdr"
+msgstr "SGI volhdr"
+
+#: fdisk/fdisksgilabel.c:57
+msgid "SGI trkrepl"
+msgstr "SGI trkrepl"
+
+#: fdisk/fdisksgilabel.c:58
+msgid "SGI secrepl"
+msgstr "SGI secrepl"
+
+#: fdisk/fdisksgilabel.c:59
+msgid "SGI raw"
+msgstr "SGI raw"
+
+#: fdisk/fdisksgilabel.c:60
+msgid "SGI bsd"
+msgstr "SGI bsd"
+
+#: fdisk/fdisksgilabel.c:61
+msgid "SGI sysv"
+msgstr "SGI sysv"
+
+#: fdisk/fdisksgilabel.c:62
+msgid "SGI volume"
+msgstr "SGI volume"
+
+#: fdisk/fdisksgilabel.c:63
+msgid "SGI efs"
+msgstr "SGI efs"
+
+#: fdisk/fdisksgilabel.c:64
+msgid "SGI lvol"
+msgstr "SGI lvol"
+
+#: fdisk/fdisksgilabel.c:65
+msgid "SGI rlvol"
+msgstr "SGI rlvol"
+
+#: fdisk/fdisksgilabel.c:66
+msgid "SGI xfs"
+msgstr "SGI xfs"
+
+#: fdisk/fdisksgilabel.c:67
+msgid "SGI xlvol"
+msgstr "SGI xlvol"
+
+#: fdisk/fdisksgilabel.c:68
+msgid "SGI rxlvol"
+msgstr "SGI rxlvol"
+
+#. Minix 1.4b and later
+#: fdisk/fdisksgilabel.c:69 fdisk/fdisksunlabel.c:52 fdisk/i386_sys_types.c:55
+msgid "Linux swap"
+msgstr "Linux swap"
+
+#: fdisk/fdisksgilabel.c:70 fdisk/fdisksunlabel.c:53
+msgid "Linux native"
+msgstr "Linux native"
+
+#: fdisk/fdisksgilabel.c:143
+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:162
+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:186
+#, c-format
+msgid ""
+"\n"
+"Disk %s (SGI disk label): %d heads, %d sectors\n"
+"%d cylinders, %d physical cylinders\n"
+"%d extra sects/cyl, interleave %d:1\n"
+"%s\n"
+"Units = %s of %d * 512 bytes\n"
+"\n"
+msgstr ""
+"\n"
+"Disco %s (etiqueta de disco SGI): %d cabezales, %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 * 512 bytes\n"
+"\n"
+
+#: fdisk/fdisksgilabel.c:199
+#, c-format
+msgid ""
+"\n"
+"Disk %s (SGI disk label): %d heads, %d sectors, %d cylinders\n"
+"Units = %s of %d * 512 bytes\n"
+"\n"
+msgstr ""
+"\n"
+"Disco %s (etiqueta de disco SGI): %d cabezales, %d sectores, %d cilindros\n"
+"Unidades = %s de %d * 512 bytes\n"
+"\n"
+
+#: fdisk/fdisksgilabel.c:205
+#, c-format
+msgid ""
+"----- partitions -----\n"
+"%*s  Info      Start       End   Sectors  Id  System\n"
+msgstr ""
+"----- particiones -----\n"
+"%*s  Info      Principio   Fin   Sectores Id  Sistema\n"
+
+#: fdisk/fdisksgilabel.c:227
+#, c-format
+msgid ""
+"----- bootinfo -----\n"
+"Bootfile: %s\n"
+"----- directory entries -----\n"
+msgstr ""
+"----- info inicio -----\n"
+"Archivo de inicio: %s\n"
+"----- entradas de directorio -----\n"
+
+#: fdisk/fdisksgilabel.c:237
+#, c-format
+msgid "%2d: %-10s sector%5u size%8u\n"
+msgstr "%2d: %-10s sector%5u tamaño%8u\n"
+
+#: fdisk/fdisksgilabel.c:298
+msgid ""
+"\n"
+"Invalid Bootfile!\n"
+"\tThe bootfile must be an absolute non-zero pathname,\n"
+"\te.g. \"/unix\" or \"/unix.save\".\n"
+msgstr ""
+"\n"
+"Archivo de inicio no válido\n"
+"\tEl archivo de inicio debe ser un nombre de ruta absoluto\n"
+"\tdistinto de cero, como por ejemplo \"/unix\" o \"/unix.save\".\n"
+
+#: fdisk/fdisksgilabel.c:305
+msgid ""
+"\n"
+"\tName of Bootfile too long:  16 bytes maximum.\n"
+msgstr ""
+"\n"
+"\tNombre del archivo de inicio demasiado largo: 16 bytes como máximo.\n"
+
+#: fdisk/fdisksgilabel.c:310
+msgid ""
+"\n"
+"\tBootfile must have a fully qualified pathname.\n"
+msgstr ""
+"\n"
+"\tEl archivo de inicio debe tener un nombre de ruta totalmente calificado.\n"
+
+#: fdisk/fdisksgilabel.c:315
+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 archivo de inicio.\n"
+"\tEl valor predeterminado de SGI es \"/unix\" y para la copia de seguridad "
+"\"/unix.save\".\n"
+
+#: fdisk/fdisksgilabel.c:343
+#, c-format
+msgid ""
+"\n"
+"\tBootfile is changed to \"%s\".\n"
+msgstr ""
+"\n"
+"\tEl archivo de inicio se cambia a \"%s\".\n"
+
+#: fdisk/fdisksgilabel.c:448
+msgid "More than one entire disk entry present.\n"
+msgstr "Existe más de una entrada de disco completo.\n"
+
+#: fdisk/fdisksgilabel.c:456 fdisk/fdisksunlabel.c:455
+msgid "No partitions defined\n"
+msgstr "No hay ninguna partición definida\n"
+
+#: fdisk/fdisksgilabel.c:463
+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:465
+#, 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:469
+#, 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:476
+msgid "One Partition (#11) should cover the entire disk.\n"
+msgstr "Una partición (11) debe abarcar el disco completo.\n"
+
+#: fdisk/fdisksgilabel.c:488
+#, 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:495
+#, 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:503
+#, 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:512 fdisk/fdisksgilabel.c:532
+#, c-format
+msgid "Unused gap of %8d sectors - sectors %8d-%d\n"
+msgstr "Espacio no utilizado de %8d sectores - sectores %8d-%d\n"
+
+#: fdisk/fdisksgilabel.c:545
+msgid ""
+"\n"
+"The boot partition does not exist.\n"
+msgstr ""
+"\n"
+"La partición de inicio no existe.\n"
+
+#: fdisk/fdisksgilabel.c:549
+msgid ""
+"\n"
+"The swap partition does not exist.\n"
+msgstr ""
+"\n"
+"La partición de intercambio no existe.\n"
+
+#: fdisk/fdisksgilabel.c:554
+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:558
+msgid "\tYou have chosen an unusual boot file name.\n"
+msgstr "\tHa elegido un nombre de archivo de inicio no habitual.\n"
+
+#: fdisk/fdisksgilabel.c:569
+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:576
+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 YES si está seguro de querer dar una etiqueta distinta a esta "
+"partición.\n"
+
+#. rebuild freelist
+#: fdisk/fdisksgilabel.c:621
+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:691
+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:698
+msgid "The entire disk is already covered with partitions.\n"
+msgstr "Ya existen particiones que abarcan el disco completo.\n"
+
+#: fdisk/fdisksgilabel.c:703
+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:712 fdisk/fdisksgilabel.c:741
+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:728
+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:733
+#, c-format
+msgid " Last %s"
+msgstr " Último %s"
+
+#: fdisk/fdisksgilabel.c:756
+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 unrecoverable 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:784
+#, 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:786
+#, c-format
+msgid "ID=%02x\tSTART=%d\tLENGTH=%d\n"
+msgstr "ID=%02x\tPRINCIPIO=%d\tLONGITUD=%d\n"
+
+#: fdisk/fdisksunlabel.c:43 fdisk/i386_sys_types.c:6
+msgid "Empty"
+msgstr "Vacio"
+
+#: 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:122
+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 cabezales, sectores, cilindros y particiones\n"
+"o forzar una nueva etiqueta (comando s en menú principal)\n"
+
+#: fdisk/fdisksunlabel.c:215
+#, c-format
+msgid "Autoconfigure found a %s%s%s\n"
+msgstr "La configuración automática ha encontrado %s%s%s\n"
+
+#: fdisk/fdisksunlabel.c:242
+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:253
+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)"
+
+#: fdisk/fdisksunlabel.c:263
+msgid "Select type (? for auto, 0 for custom): "
+msgstr "Seleccionar tipo (? para automático, 0 para personalizado): "
+
+#: fdisk/fdisksunlabel.c:275
+msgid "Autoconfigure failed.\n"
+msgstr "Error de configuración automática.\n"
+
+#: fdisk/fdisksunlabel.c:303
+msgid "Sectors/track"
+msgstr "Sectores/pista"
+
+#: fdisk/fdisksunlabel.c:310
+msgid "Alternate cylinders"
+msgstr "Cilindros alternativos"
+
+#: fdisk/fdisksunlabel.c:313
+msgid "Physical cylinders"
+msgstr "Cilindros físicos"
+
+#: fdisk/fdisksunlabel.c:316 fdisk/fdisksunlabel.c:681
+msgid "Rotation speed (rpm)"
+msgstr "Velocidad de rotación (r.p.m.)"
+
+#: fdisk/fdisksunlabel.c:318 fdisk/fdisksunlabel.c:674
+msgid "Interleave factor"
+msgstr "Factor de interleave"
+
+#: fdisk/fdisksunlabel.c:321 fdisk/fdisksunlabel.c:667
+msgid "Extra sectors per cylinder"
+msgstr "Sectores adicionales por cilindro"
+
+#: fdisk/fdisksunlabel.c:334
+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"
+
+#: fdisk/fdisksunlabel.c:337
+msgid "3,5\" floppy"
+msgstr "Disquete 3,5 pulg."
+
+#: fdisk/fdisksunlabel.c:337
+msgid "Linux custom"
+msgstr "Linux personalizado"
+
+#: fdisk/fdisksunlabel.c:418
+#, 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:438
+#, 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:460
+#, c-format
+msgid "Unused gap - sectors 0-%d\n"
+msgstr "Espacio no utilizado - sectores 0-%d\n"
+
+#: fdisk/fdisksunlabel.c:462 fdisk/fdisksunlabel.c:466
+#, c-format
+msgid "Unused gap - sectors %d-%d\n"
+msgstr "Espacio no utilizado - sectores %d-%d\n"
+
+#: fdisk/fdisksunlabel.c:489
+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:547
+#, 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:567
+#, 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:580
+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 YES si está seguro de que desea que la partición\n"
+"esté marcada con 82 (Linux swap): "
+
+#: fdisk/fdisksunlabel.c:611
+#, c-format
+msgid ""
+"\n"
+"Disk %s (Sun disk label): %d heads, %d sectors, %d rpm\n"
+"%d cylinders, %d alternate cylinders, %d physical cylinders\n"
+"%d extra sects/cyl, interleave %d:1\n"
+"%s\n"
+"Units = %s of %d * 512 bytes\n"
+"\n"
+msgstr ""
+"\n"
+"Disco %s (etiqueta de disco Sun): %d cabezales, %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:625
+#, c-format
+msgid ""
+"\n"
+"Disk %s (Sun disk label): %d heads, %d sectors, %d cylinders\n"
+"Units = %s of %d * 512 bytes\n"
+"\n"
+msgstr ""
+"\n"
+"Disco %s (etiqueta de disco Sun): %d cabezales, %d sectores, %d cilindros\n"
+"Unidades = %s de %d * 512 bytes\n"
+"\n"
+
+#: fdisk/fdisksunlabel.c:630
+#, c-format
+msgid "%*s Flag    Start       End    Blocks   Id  System\n"
+msgstr "%*s Indic.  Principio   Fin    Bloques  Id  Sistema\n"
+
+#: fdisk/fdisksunlabel.c:655
+msgid "Number of alternate cylinders"
+msgstr "Número de cilindros alternativos"
+
+#: fdisk/fdisksunlabel.c:688
+msgid "Number of physical cylinders"
+msgstr "Número de cilindros físicos"
+
+#: 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 "Ampliado"
+
+#. DOS 3.3+ extended partition
+#: fdisk/i386_sys_types.c:12
+msgid "FAT16"
+msgstr "FAT16"
+
+#. DOS 16-bit >=32M
+#: fdisk/i386_sys_types.c:13
+msgid "HPFS/NTFS"
+msgstr "HPFS/NTFS"
+
+#. OS/2 IFS, eg, HPFS or NTFS or QNX
+#: fdisk/i386_sys_types.c:14
+msgid "AIX"
+msgstr "AIX"
+
+#. AIX boot (AIX -- PS/2 port) or SplitDrive
+#: fdisk/i386_sys_types.c:15
+msgid "AIX bootable"
+msgstr "AIX bootable"
+
+#. AIX data or Coherent
+#: fdisk/i386_sys_types.c:16
+msgid "OS/2 Boot Manager"
+msgstr "OS/2 Boot Manager"
+
+#. OS/2 Boot Manager
+#: fdisk/i386_sys_types.c:17
+msgid "Win95 FAT32"
+msgstr "Win95 FAT32"
+
+#: fdisk/i386_sys_types.c:18
+msgid "Win95 FAT32 (LBA)"
+msgstr "Win95 FAT32 (LBA)"
+
+#. LBA really is `Extended Int 13h'
+#: fdisk/i386_sys_types.c:19
+msgid "Win95 FAT16 (LBA)"
+msgstr "Win95 FAT16 (LBA)"
+
+#: fdisk/i386_sys_types.c:20
+msgid "Win95 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 "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 Windows swapfile"
+msgstr "AST Windows swapfile"
+
+#: fdisk/i386_sys_types.c:28
+msgid "Hidden Win95 FAT32"
+msgstr "Hidden Win95 FAT32"
+
+#: fdisk/i386_sys_types.c:29
+msgid "Hidden Win95 FAT32 (LBA)"
+msgstr "Hidden Win95 FAT32 (LBA)"
+
+#: fdisk/i386_sys_types.c:30
+msgid "Hidden Win95 FAT16 (LBA)"
+msgstr "Hidden Win95 FAT16 (LBA)"
+
+#: fdisk/i386_sys_types.c:31
+msgid "NEC DOS"
+msgstr "NEC DOS"
+
+#: fdisk/i386_sys_types.c:32
+msgid "PartitionMagic recovery"
+msgstr "PartitionMagic recovery"
+
+#: fdisk/i386_sys_types.c:33
+msgid "Venix 80286"
+msgstr "Venix 80286"
+
+#: fdisk/i386_sys_types.c:34
+msgid "PPC PReP Boot"
+msgstr "PPC PReP Boot"
+
+#: fdisk/i386_sys_types.c:35
+msgid "SFS"
+msgstr "SFS"
+
+#: fdisk/i386_sys_types.c:36
+msgid "QNX4.x"
+msgstr "QNX4.x"
+
+#: fdisk/i386_sys_types.c:37
+msgid "QNX4.x 2nd part"
+msgstr "QNX4.x segunda parte"
+
+#: fdisk/i386_sys_types.c:38
+msgid "QNX4.x 3rd part"
+msgstr "QNX4.x tercera parte"
+
+#: fdisk/i386_sys_types.c:39
+msgid "OnTrack DM"
+msgstr "OnTrack DM"
+
+#: fdisk/i386_sys_types.c:40
+msgid "OnTrack DM6 Aux1"
+msgstr "OnTrack DM6 Aux1"
+
+#. (or Novell)
+#: fdisk/i386_sys_types.c:41
+msgid "CP/M"
+msgstr "CP/M"
+
+#. CP/M or Microport SysV/AT
+#: fdisk/i386_sys_types.c:42
+msgid "OnTrack DM6 Aux3"
+msgstr "OnTrack DM6 Aux3"
+
+#: fdisk/i386_sys_types.c:43
+msgid "OnTrackDM6"
+msgstr "OnTrackDM6"
+
+#: fdisk/i386_sys_types.c:44
+msgid "EZ-Drive"
+msgstr "EZ-Drive"
+
+#: fdisk/i386_sys_types.c:45
+msgid "Golden Bow"
+msgstr "Golden Bow"
+
+#: fdisk/i386_sys_types.c:46
+msgid "Priam Edisk"
+msgstr "Priam Edisk"
+
+#. DOS R/O or SpeedStor
+#: fdisk/i386_sys_types.c:47 fdisk/i386_sys_types.c:76
+#: fdisk/i386_sys_types.c:78 fdisk/i386_sys_types.c:79
+msgid "SpeedStor"
+msgstr "SpeedStor"
+
+#: fdisk/i386_sys_types.c:48
+msgid "GNU HURD or SysV"
+msgstr "GNU HURD o SysV"
+
+#. GNU HURD or Mach or Sys V/386 (such as ISC UNIX)
+#: fdisk/i386_sys_types.c:49
+msgid "Novell Netware 286"
+msgstr "Novell Netware 286"
+
+#: fdisk/i386_sys_types.c:50
+msgid "Novell Netware 386"
+msgstr "Novell Netware 386"
+
+#: fdisk/i386_sys_types.c:51
+msgid "DiskSecure Multi-Boot"
+msgstr "DiskSecure Multi-Boot"
+
+#: fdisk/i386_sys_types.c:52
+msgid "PC/IX"
+msgstr "PC/IX"
+
+#: fdisk/i386_sys_types.c:53
+msgid "Old Minix"
+msgstr "Old Minix"
+
+#. Minix 1.4a and earlier
+#: fdisk/i386_sys_types.c:54
+msgid "Minix / old Linux"
+msgstr "Minix / old Linux"
+
+#: fdisk/i386_sys_types.c:57
+msgid "OS/2 hidden C: drive"
+msgstr "Unidad C: oculta de OS/2"
+
+#: fdisk/i386_sys_types.c:58
+msgid "Linux extended"
+msgstr "Linux ampliado"
+
+#: fdisk/i386_sys_types.c:59 fdisk/i386_sys_types.c:60
+msgid "NTFS volume set"
+msgstr "Conjunto de volúmenes NTFS"
+
+#: fdisk/i386_sys_types.c:61
+msgid "Amoeba"
+msgstr "Amoeba"
+
+#: fdisk/i386_sys_types.c:62
+msgid "Amoeba BBT"
+msgstr "Amoeba BBT"
+
+#. (bad block table)
+#: fdisk/i386_sys_types.c:63
+msgid "IBM Thinkpad hibernation"
+msgstr "Hibernación de IBM Thinkpad"
+
+#: fdisk/i386_sys_types.c:64
+msgid "BSD/386"
+msgstr "BSD/386"
+
+#: fdisk/i386_sys_types.c:65
+msgid "OpenBSD"
+msgstr "OpenBSD"
+
+#: fdisk/i386_sys_types.c:66
+msgid "NeXTSTEP"
+msgstr "NeXTSTEP"
+
+#: fdisk/i386_sys_types.c:67
+msgid "BSDI fs"
+msgstr "BSDI fs"
+
+#: fdisk/i386_sys_types.c:68
+msgid "BSDI swap"
+msgstr "BSDI swap"
+
+#: fdisk/i386_sys_types.c:69
+msgid "DRDOS/sec (FAT-12)"
+msgstr "DRDOS/sec (FAT-12)"
+
+#: fdisk/i386_sys_types.c:70
+msgid "DRDOS/sec (FAT-16 < 32M)"
+msgstr "DRDOS/sec (FAT-16 < 32M)"
+
+#: fdisk/i386_sys_types.c:71
+msgid "DRDOS/sec (FAT-16)"
+msgstr "DRDOS/sec (FAT-16)"
+
+#: fdisk/i386_sys_types.c:72
+msgid "Syrinx"
+msgstr "Syrinx"
+
+#: fdisk/i386_sys_types.c:73
+msgid "CP/M / CTOS / ..."
+msgstr "CP/M / CTOS / ..."
+
+#. CP/M or Concurrent CP/M or Concurrent DOS or CTOS
+#: fdisk/i386_sys_types.c:74
+msgid "DOS access"
+msgstr "DOS access"
+
+#. DOS access or SpeedStor 12-bit FAT extended partition
+#: fdisk/i386_sys_types.c:75
+msgid "DOS R/O"
+msgstr "DOS R/O"
+
+#. SpeedStor 16-bit FAT extended partition < 1024 cyl.
+#: fdisk/i386_sys_types.c:77
+msgid "BeOS fs"
+msgstr "BeOS fs"
+
+#. SpeedStor large partition
+#: fdisk/i386_sys_types.c:80
+msgid "DOS secondary"
+msgstr "DOS secondary"
+
+#. DOS 3.3+ secondary
+#: fdisk/i386_sys_types.c:81
+msgid "Linux raid autodetect"
+msgstr "Linux raid autodetect"
+
+#. New (2.2.x) raid partition with autodetect
+#. using persistent superblock
+#: fdisk/i386_sys_types.c:83
+msgid "LANstep"
+msgstr "LANstep"
+
+#. SpeedStor >1024 cyl. or LANstep
+#: fdisk/i386_sys_types.c:84
+msgid "BBT"
+msgstr "BBT"
+
+#: fdisk/sfdisk.c:147
+#, 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:152
+#, 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:198
+msgid "out of memory - giving up\n"
+msgstr "No queda memoria; se abandona el intento\n"
+
+#: fdisk/sfdisk.c:202 fdisk/sfdisk.c:285
+#, 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:218
+#, c-format
+msgid "ERROR: sector %lu does not have an msdos signature\n"
+msgstr "ERROR: el sector %lu no tiene una signatura msdos\n"
+
+#: fdisk/sfdisk.c:235
+#, 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:273
+#, c-format
+msgid "cannot open partition sector save file (%s)\n"
+msgstr "No es posible abrir el archivo de guardar sector de partición (%s)\n"
+
+#: fdisk/sfdisk.c:291
+#, c-format
+msgid "write error on %s\n"
+msgstr "Error de escritura en %s\n"
+
+#: fdisk/sfdisk.c:309
+#, c-format
+msgid "cannot stat partition restore file (%s)\n"
+msgstr "No es posible ejecutar stat para archivo de restaurar partición (%s)\n"
+
+#: fdisk/sfdisk.c:314
+msgid "partition restore file has wrong size - not restoring\n"
+msgstr ""
+"Tamaño incorrecto de archivo de restaurar partición; no se efectúa "
+"restauración\n"
+
+#: fdisk/sfdisk.c:318
+msgid "out of memory?\n"
+msgstr "¿No queda memoria?\n"
+
+#: fdisk/sfdisk.c:324
+#, c-format
+msgid "cannot open partition restore file (%s)\n"
+msgstr "No es posible abrir archivo de restaurar partición (%s)\n"
+
+#: fdisk/sfdisk.c:330
+#, c-format
+msgid "error reading %s\n"
+msgstr "Error al leer %s\n"
+
+#: fdisk/sfdisk.c:337
+#, c-format
+msgid "cannot open device %s for writing\n"
+msgstr "No es posible abrir el dispositivo %s para escribir\n"
+
+#: fdisk/sfdisk.c:349
+#, c-format
+msgid "error writing sector %lu on %s\n"
+msgstr "Error al escribir el sector %lu en %s\n"
+
+#: fdisk/sfdisk.c:415
+#, c-format
+msgid ""
+"Warning: start=%d - 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 ""
+"Advertencia: principio=%d - 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:421
+#, c-format
+msgid "Warning: HDIO_GETGEO says that there are %d heads\n"
+msgstr "Advertencia: HDIO_GETGEO indica que hay %d cabezales\n"
+
+#: fdisk/sfdisk.c:424
+#, c-format
+msgid "Warning: HDIO_GETGEO says that there are %d sectors\n"
+msgstr "Advertencia: HDIO_GETGEO indica que hay %d sectores\n"
+
+#: fdisk/sfdisk.c:427
+#, c-format
+msgid "Warning: HDIO_GETGEO says that there are %d cylinders\n"
+msgstr "Advertencia: HDIO_GETGEO indica que hay %d cilindros\n"
+
+#: fdisk/sfdisk.c:431
+#, c-format
+msgid "Disk %s: cannot get geometry\n"
+msgstr "Disco %s: no es posible obtener la geometría\n"
+
+#: fdisk/sfdisk.c:433
+#, c-format
+msgid ""
+"Warning: unlikely number of sectors (%d) - usually at most 63\n"
+"This will give problems with all software that uses C/H/S addressing.\n"
+msgstr ""
+"Advertencia: número improbable de sectores (%d); normalmente 63 como máximo\n"
+"Esto causará problemas con el software que direccione con Cil./Cab./Sector\n"
+
+#: fdisk/sfdisk.c:437
+#, c-format
+msgid ""
+"\n"
+"Disk %s: %lu cylinders, %lu heads, %lu sectors/track\n"
+msgstr ""
+"\n"
+"Disco %s: %lu cilindros, %lu cabezales, %lu sectores/pista\n"
+
+#: fdisk/sfdisk.c:517
+#, c-format
+msgid ""
+"%s of partition %s has impossible value for head: %d (should be in 0-%d)\n"
+msgstr ""
+"%s de partición %s tiene un valor imposible para cabezal: %d (debe estar "
+"entre 0 y %d)\n"
+
+#: fdisk/sfdisk.c:522
+#, c-format
+msgid ""
+"%s of partition %s has impossible value for sector: %d (should be in 1-%d)\n"
+msgstr ""
+"%s de partición %s tiene un valor imposible para sector: %d (debe estar "
+"entre 1 y %d)\n"
+
+#: fdisk/sfdisk.c:527
+#, c-format
+msgid ""
+"%s of partition %s has impossible value for cylinders: %d (should be in "
+"0-%d)\n"
+msgstr ""
+"%s de partición %s tiene un valor imposible para cilindro: %d (debe estar "
+"entre 0 y %d)\n"
+
+#: fdisk/sfdisk.c:566
+msgid ""
+"Id  Name\n"
+"\n"
+msgstr ""
+"Id  Nombre\n"
+"\n"
+
+#: fdisk/sfdisk.c:719
+msgid "Re-reading the partition table ...\n"
+msgstr "Volviendo a leer la tabla de particiones...\n"
+
+#: fdisk/sfdisk.c:725
+msgid ""
+"The command to re-read the partition table failed\n"
+"Reboot your system now, before using mkfs\n"
+msgstr ""
+"El comando para volver a leer la tabla de particiones ha fallado.\n"
+"Reinicie el sistema ahora, antes de utilizar mkfs.\n"
+
+#: fdisk/sfdisk.c:730
+#, c-format
+msgid "Error closing %s\n"
+msgstr "Error al cerrar %s\n"
+
+#: fdisk/sfdisk.c:768
+#, c-format
+msgid "%s: no such partition\n"
+msgstr "%s: esta partición no existe\n"
+
+#: fdisk/sfdisk.c:791
+msgid "unrecognized format - using sectors\n"
+msgstr "Formato no reconocido; utilizando sectores\n"
+
+#: fdisk/sfdisk.c:830
+#, c-format
+msgid "# partition table of %s\n"
+msgstr "# tabla de particiones de %s\n"
+
+#: fdisk/sfdisk.c:841
+#, c-format
+msgid "unimplemented format - using %s\n"
+msgstr "formato no implementado; utilizando %s\n"
+
+#: fdisk/sfdisk.c:845
+#, 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:848
+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:853
+#, 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:855
+msgid "   Device Boot    Start       End  #sectors  Id  System\n"
+msgstr "   Disp.  Inicio  Principio   Fin  Nº sect.  Id  Sistema\n"
+
+#: fdisk/sfdisk.c:858
+#, 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:860
+msgid "   Device Boot   Start       End   #blocks   Id  System\n"
+msgstr "   Disp.  Inic.  Principio   Fin   Nºbloques Id  Sistema\n"
+
+#: fdisk/sfdisk.c:863
+#, c-format
+msgid ""
+"Units = megabytes of 1048576 bytes, blocks of 1024 bytes, counting from %d\n"
+"\n"
+msgstr ""
+"Unidades = MB de 1048576 bytes, bloques de 1024 bytes, contando desde %d\n"
+"\n"
+
+#: fdisk/sfdisk.c:865
+msgid "   Device Boot Start   End     MB   #blocks   Id  System\n"
+msgstr "   Disp.  Inic Princ.  Fin     MB   Nºbloques Id  Sistema\n"
+
+#: fdisk/sfdisk.c:997
+#, 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:1004
+#, 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:1007
+#, 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:1018
+msgid "No partitions found\n"
+msgstr "No se ha encontrado ninguna partición\n"
+
+#: fdisk/sfdisk.c:1025
+#, c-format
+msgid ""
+"Warning: The first partition 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 ""
+"Advertencia: la primera partición 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:1075
+msgid "no partition table present.\n"
+msgstr "No existe ninguna tabla de particiones.\n"
+
+#: fdisk/sfdisk.c:1077
+#, c-format
+msgid "strange, only %d partitions defined.\n"
+msgstr "Extrañamente sólo hay %d particiones definidas.\n"
+
+#: fdisk/sfdisk.c:1086
+#, c-format
+msgid "Warning: partition %s has size 0 but is not marked Empty\n"
+msgstr ""
+"Advertencia: partición %s tiene tamaño 0 pero no está marcada como vacía\n"
+
+#: fdisk/sfdisk.c:1089
+#, c-format
+msgid "Warning: partition %s has size 0 and is bootable\n"
+msgstr "Advertencia: la partición %s tiene tamaño 0 y es iniciable\n"
+
+#: fdisk/sfdisk.c:1092
+#, c-format
+msgid "Warning: partition %s has size 0 and nonzero start\n"
+msgstr ""
+"Advertencia: la partition %s tiene tamaño 0 y principio distinto de cero\n"
+
+#: fdisk/sfdisk.c:1103
+#, c-format
+msgid "Warning: partition %s "
+msgstr "Advertencia: la partición %s "
+
+#: fdisk/sfdisk.c:1104
+#, c-format
+msgid "is not contained in partition %s\n"
+msgstr "no se encuentra dentro de la partición %s\n"
+
+#: fdisk/sfdisk.c:1115
+#, c-format
+msgid "Warning: partitions %s "
+msgstr "Advertencia: las particiones %s "
+
+#: fdisk/sfdisk.c:1116
+#, c-format
+msgid "and %s overlap\n"
+msgstr "y %s se solapan\n"
+
+#: fdisk/sfdisk.c:1127
+#, c-format
+msgid "Warning: partition %s contains part of "
+msgstr "Advertencia: la partición %s contiene parte de "
+
+#: fdisk/sfdisk.c:1128
+#, c-format
+msgid "the partition table (sector %lu),\n"
+msgstr "la tabla de particiones (sector %lu),\n"
+
+#: fdisk/sfdisk.c:1129
+msgid "and will destroy it when filled\n"
+msgstr "y la destruirá al rellenarla\n"
+
+#: fdisk/sfdisk.c:1138
+#, c-format
+msgid "Warning: partition %s starts at sector 0\n"
+msgstr "Advertencia: la partición %s empieza en el sector 0\n"
+
+#: fdisk/sfdisk.c:1142
+#, c-format
+msgid "Warning: partition %s extends past end of disk\n"
+msgstr "Advertencia: la partición %s finaliza más allá del final del disco\n"
+
+#: fdisk/sfdisk.c:1156
+msgid "Among the primary partitions, at most one can be extended\n"
+msgstr "Como máximo una de las particiones primarias puede ser ampliada\n"
+
+#: fdisk/sfdisk.c:1157
+msgid " (although this is not a problem under Linux)\n"
+msgstr " (aunque esto no supone un problema en Linux)\n"
+
+#: fdisk/sfdisk.c:1174
+#, c-format
+msgid "Warning: partition %s does not start at a cylinder boundary\n"
+msgstr "Advertencia: la partición %s no empieza en un límite de cilindro\n"
+
+#: fdisk/sfdisk.c:1180
+#, c-format
+msgid "Warning: partition %s does not end at a cylinder boundary\n"
+msgstr "Advertencia: la partición %s no termina en un límite de cilindro\n"
+
+#: fdisk/sfdisk.c:1198
+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 ""
+"Advertencia: 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:1205
+msgid ""
+"Warning: usually one can boot from primary partitions only\n"
+"LILO disregards the `bootable' flag.\n"
+msgstr ""
+"Advertencia: normalmente sólo es posible iniciar desde particiones "
+"primarias.\n"
+"LILO no tiene en cuenta el indicador de iniciable.\n"
+
+#: fdisk/sfdisk.c:1211
+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 ""
+"Advertencia: 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:1228
+#, 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:1237
+#, 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:1240
+#, 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:1273 fdisk/sfdisk.c:1350
+#, 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:1288
+msgid "tree of partitions?\n"
+msgstr "¿árbol de particiones?\n"
+
+#: fdisk/sfdisk.c:1392
+msgid "detected Disk Manager - unable to handle that\n"
+msgstr "Administrador de disco detectado; no es posible tratar esto\n"
+
+#: fdisk/sfdisk.c:1399
+msgid "DM6 signature found - giving up\n"
+msgstr "Detectada signatura DM6 - abandonando\n"
+
+#: fdisk/sfdisk.c:1419
+msgid "strange..., an extended partition of size 0?\n"
+msgstr "Situación anómala: ¿partición ampliada de tamaño 0?\n"
+
+#: fdisk/sfdisk.c:1426
+msgid "strange..., a BSD partition of size 0?\n"
+msgstr "Situación anómala: ¿partición ampliada de tamaño 0?\n"
+
+#: fdisk/sfdisk.c:1458
+#, c-format
+msgid " %s: unrecognized partition\n"
+msgstr " %s: partición no reconocida\n"
+
+#: fdisk/sfdisk.c:1470
+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:1483
+msgid "Failed saving the old sectors - aborting\n"
+msgstr "Error al guardar los sectores antiguos; anulando la operación\n"
+
+#: fdisk/sfdisk.c:1488
+#, c-format
+msgid "Failed writing the partition on %s\n"
+msgstr "Error al escribir la partición en %s\n"
+
+#: fdisk/sfdisk.c:1565
+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:1601
+#, 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:1608
+#, 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:1614
+#, c-format
+msgid "unrecognized input: %s\n"
+msgstr "Entrada no reconocida: %s\n"
+
+#: fdisk/sfdisk.c:1646
+msgid "number too big\n"
+msgstr "Número demasiado elevado\n"
+
+#: fdisk/sfdisk.c:1650
+msgid "trailing junk after number\n"
+msgstr "Datos extraños tras el número\n"
+
+#: fdisk/sfdisk.c:1766
+msgid "no room for partition descriptor\n"
+msgstr "No hay espacio para descriptor de partición\n"
+
+#: fdisk/sfdisk.c:1799
+msgid "cannot build surrounding extended partition\n"
+msgstr "No se puede crear partición ampliada adyacente\n"
+
+#: fdisk/sfdisk.c:1850
+msgid "too many input fields\n"
+msgstr "Demasiados campos de entrada\n"
+
+#. no free blocks left - don't read any further
+#: fdisk/sfdisk.c:1884
+msgid "No room for more\n"
+msgstr "No queda más espacio\n"
+
+#: fdisk/sfdisk.c:1903
+msgid "Illegal type\n"
+msgstr "Tipo no permitido\n"
+
+#: fdisk/sfdisk.c:1935
+#, c-format
+msgid "Warning: exceeds max allowable size (%lu)\n"
+msgstr "Advertencia: se supera tamaño máximo permitido (%lu)\n"
+
+#: fdisk/sfdisk.c:1940
+msgid "Warning: empty partition\n"
+msgstr "Advertencia: partición vacía\n"
+
+#: fdisk/sfdisk.c:1954
+#, c-format
+msgid "Warning: bad partition start (earliest %lu)\n"
+msgstr "Advertencia: principio de partición incorrecto (antes %lu)\n"
+
+#: fdisk/sfdisk.c:1967
+msgid "unrecognized bootable flag - choose - or *\n"
+msgstr "Indicador de iniciable no reconocido; elija - o *\n"
+
+#: fdisk/sfdisk.c:1984 fdisk/sfdisk.c:1997
+msgid "partial c,h,s specification?\n"
+msgstr "¿Especificación parcial de cil,cab,sect?\n"
+
+#: fdisk/sfdisk.c:2008
+msgid "Extended partition not where expected\n"
+msgstr "Partición ampliada en ubicación no esperada\n"
+
+#: fdisk/sfdisk.c:2040
+msgid "bad input\n"
+msgstr "Entrada incorrecta\n"
+
+#: fdisk/sfdisk.c:2062
+msgid "too many partitions\n"
+msgstr "Hay demasiadas particiones\n"
+
+#: fdisk/sfdisk.c:2095
+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:2115
+msgid "version"
+msgstr "versión"
+
+#: fdisk/sfdisk.c:2121
+#, c-format
+msgid "Usage: %s [options] device ...\n"
+msgstr "Uso: %s [opciones] dispositivo ...\n"
+
+#: fdisk/sfdisk.c:2122
+msgid "device: something like /dev/hda or /dev/sda"
+msgstr "dispositivo: similar a /dev/hda or /dev/sda"
+
+#: fdisk/sfdisk.c:2123
+msgid "useful options:"
+msgstr "opciones útiles:"
+
+#: fdisk/sfdisk.c:2124
+msgid "    -s [or --show-size]: list size of a partition"
+msgstr "    -s [o --show-size]:  Mostrar tamaño de una partición"
+
+#: fdisk/sfdisk.c:2125
+msgid "    -c [or --id]:        print or change partition Id"
+msgstr "    -c [o --id]:         Imprimir o cambiar identificador de partición"
+
+#: fdisk/sfdisk.c:2126
+msgid "    -l [or --list]:      list partitions of each device"
+msgstr "    -l [o --list]:       Mostrar particiones de cada dispositivo"
+
+#: fdisk/sfdisk.c:2127
+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 "
+"posterior"
+
+#: fdisk/sfdisk.c:2128
+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:2129
+msgid ""
+"    -uS, -uB, -uC, -uM:  accept/report in units of "
+"sectors/blocks/cylinders/MB"
+msgstr ""
+"    -uS, -uB, -uC, -uM:  Aceptar/reportar en unidades de "
+"sectores/bloques/cilindros/MB"
+
+#: fdisk/sfdisk.c:2130
+msgid "    -T [or --list-types]:list the known partition types"
+msgstr "    -T [o --list-types]: Mostrar los tipos de particiones conocidos"
+
+#: fdisk/sfdisk.c:2131
+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:2132
+msgid "    -R [or --re-read]:   make kernel reread partition table"
+msgstr ""
+"    -R [o --re-read]:    Hacer que el kernel vuelva a leer la tabla de "
+"particiones"
+
+#: fdisk/sfdisk.c:2133
+msgid "    -N# :                change only the partition with number #"
+msgstr ""
+"    -N# :                Cambiar únicamente la partición con el número #"
+
+#: fdisk/sfdisk.c:2134
+msgid "    -n :                 do not actually write to disk"
+msgstr "    -n :                 No escribir realmente en el disco"
+
+#: fdisk/sfdisk.c:2135
+msgid ""
+"    -O file :            save the sectors that will be overwritten to file"
+msgstr ""
+"    -O archivo :         Guardar los sectores que se van a sobreescribir en "
+"un archivo"
+
+#: fdisk/sfdisk.c:2136
+msgid "    -I file :            restore these sectors again"
+msgstr "    -I archivo:          Restaurar estos sectores de nuevo"
+
+#: fdisk/sfdisk.c:2137
+msgid "    -v [or --version]:   print version"
+msgstr "    -v [o --version]:    Imprimir versión"
+
+#: fdisk/sfdisk.c:2138
+msgid "    -? [or --help]:      print this message"
+msgstr "    -? [o --help]:       Imprimir este mensaje"
+
+#: fdisk/sfdisk.c:2139
+msgid "dangerous options:"
+msgstr "opciones peligrosas:"
+
+#: fdisk/sfdisk.c:2140
+msgid "    -g [or --show-geometry]: print the kernel's idea of the geometry"
+msgstr ""
+"    -g [o --show-geometry]:  Imprimir la idea del kernel sobre la geometría"
+
+#: fdisk/sfdisk.c:2141
+msgid ""
+"    -x [or --show-extended]: also list extended partitions on output\n"
+"                             or expect descriptors for them on input"
+msgstr ""
+"    -x [o --show-extended]:  Mostrar también particiones ampliadas en "
+"salida\n"
+"                             o esperar sus descriptores en entrada"
+
+#: fdisk/sfdisk.c:2143
+msgid ""
+"    -L  [or --Linux]:      do not complain about things irrelevant for Linux"
+msgstr ""
+"    -L  [o --Linux]:       No mostrar avisos sobre aspectos irrelevantes "
+"para Linux"
+
+#: fdisk/sfdisk.c:2144
+msgid "    -q  [or --quiet]:      suppress warning messages"
+msgstr "    -q  [o --quiet]:       Suprimir mensajes de advertencia"
+
+#: fdisk/sfdisk.c:2145
+msgid "    You can override the detected geometry using:"
+msgstr "    Puede modificar la geometría detectada utilizando:"
+
+#: fdisk/sfdisk.c:2146
+msgid "    -C# [or --cylinders #]:set the number of cylinders to use"
+msgstr ""
+"    -C# [o --cylinders #]: Establecer el número de cilindros que se "
+"utilizarán"
+
+#: fdisk/sfdisk.c:2147
+msgid "    -H# [or --heads #]:    set the number of heads to use"
+msgstr ""
+"    -H# [o --heads #]:     Establecer el número de cabezales que se "
+"utilizarán"
+
+#: fdisk/sfdisk.c:2148
+msgid "    -S# [or --sectors #]:  set the number of sectors to use"
+msgstr ""
+"    -S# [o --sectors #]:   Establecer el número de sectores que se utilizarán"
+
+#: fdisk/sfdisk.c:2149
+msgid "You can disable all consistency checking with:"
+msgstr "Puede desactivar toda comprobación de coherencia con:"
+
+#: fdisk/sfdisk.c:2150
+msgid "    -f  [or --force]:      do what I say, even if it is stupid"
+msgstr ""
+"    -f  [o --force]:       Hacer lo que ordene el usuario, aunque sea ilógico"
+
+#: fdisk/sfdisk.c:2156
+msgid "Usage:"
+msgstr "Uso:"
+
+#: fdisk/sfdisk.c:2157
+#, c-format
+msgid "%s device\t\t list active partitions on device\n"
+msgstr "%s dispositivo\t\t Enumerar las particiones activas del dispositivo\n"
+
+#: fdisk/sfdisk.c:2158
+#, 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:2159
+#, c-format
+msgid "%s -An device\t activate partition n, inactivate the other ones\n"
+msgstr "%s -An dispositivo\t activar partición n, desactivar el resto\n"
+
+#: fdisk/sfdisk.c:2278
+msgid "no command?\n"
+msgstr "¿ningún comando?\n"
+
+#: fdisk/sfdisk.c:2401
+#, c-format
+msgid "total: %d blocks\n"
+msgstr "total: %d bloques\n"
+
+#: fdisk/sfdisk.c:2438
+msgid "usage: sfdisk --print-id device partition-number\n"
+msgstr "uso: sfdisk --print-id dispositivo número-partición\n"
+
+#: fdisk/sfdisk.c:2440
+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:2442
+msgid "usage: sfdisk --id device partition-number [Id]\n"
+msgstr "uso: sfdisk --id dispositivo número-partición [Id]\n"
+
+#: fdisk/sfdisk.c:2449
+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:2474
+#, c-format
+msgid "cannot open %s %s\n"
+msgstr "No es posible abrir %s %s\n"
+
+#: fdisk/sfdisk.c:2474
+msgid "read-write"
+msgstr "lectura/escritura"
+
+#: fdisk/sfdisk.c:2474
+msgid "for reading"
+msgstr "para lectura"
+
+#: fdisk/sfdisk.c:2499
+#, c-format
+msgid "%s: OK\n"
+msgstr "%s: Correcto\n"
+
+#: fdisk/sfdisk.c:2516
+#, c-format
+msgid "%s: %d cylinders, %d heads, %d sectors/track\n"
+msgstr "%s: %d cilindros, %d cabezales, %d sectores por pista\n"
+
+#: fdisk/sfdisk.c:2519
+#, c-format
+msgid "%s: unknown geometry\n"
+msgstr "%s: geometría desconocida\n"
+
+#: fdisk/sfdisk.c:2535
+#, c-format
+msgid "BLKGETSIZE ioctl failed for %s\n"
+msgstr "Error de ioctl BLKGETSIZE para %s\n"
+
+#: fdisk/sfdisk.c:2612
+#, 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:2629 fdisk/sfdisk.c:2682 fdisk/sfdisk.c:2712
+msgid ""
+"Done\n"
+"\n"
+msgstr ""
+"Fin\n"
+"\n"
+
+#: fdisk/sfdisk.c:2638
+#, 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:2652
+#, 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:2708
+#, c-format
+msgid "Bad Id %x\n"
+msgstr "Identificador %x incorrecto\n"
+
+#: fdisk/sfdisk.c:2723
+msgid "This disk is currently in use.\n"
+msgstr "Actualmente este disco está en uso.\n"
+
+#: fdisk/sfdisk.c:2740
+#, c-format
+msgid "Fatal error: cannot find %s\n"
+msgstr "Error muy grave: no se puede encontrar %s\n"
+
+#: fdisk/sfdisk.c:2743
+#, c-format
+msgid "Warning: %s is not a block device\n"
+msgstr "Advertencia: %s no es un dispositivo de bloques\n"
+
+#: fdisk/sfdisk.c:2749
+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:2751
+msgid ""
+"\n"
+"This disk is currently in use - repartitioning is probably a bad idea.Umount "
+"all file systems, and swapoff all swap partitions on this disk.Use the "
+"--no-reread flag to suppress this check.\n"
+msgstr ""
+"\n"
+"Actualmente este disco está en uso; no se aconseja volver a crear "
+"particiones.Desmonte todos los sistemas de archivos y deshaga todas las "
+"particiones de intercambio de este disco.Utilice el indicador --no-reread "
+"para eliminar esta comprobación.\n"
+
+#: fdisk/sfdisk.c:2755
+msgid "Use the --force flag to overrule all checks.\n"
+msgstr "Utilice el indicador --force para eludir todas las comprobaciones.\n"
+
+#: fdisk/sfdisk.c:2759
+msgid "OK"
+msgstr "Correcto"
+
+#: fdisk/sfdisk.c:2768
+msgid "Old situation:\n"
+msgstr "Situación anterior:\n"
+
+#: fdisk/sfdisk.c:2772
+#, 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:2780
+msgid "New situation:\n"
+msgstr "Situación nueva:\n"
+
+#: fdisk/sfdisk.c:2785
+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:2788
+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:2793
+msgid "Are you satisfied with this? [ynq] "
+msgstr "¿Está satisfecho con esta operación? [ynq] "
+
+#: fdisk/sfdisk.c:2795
+msgid "Do you want to write this to disk? [ynq] "
+msgstr "¿Desea escribir esta información en el disco? [ynq] "
+
+#: fdisk/sfdisk.c:2800
+msgid ""
+"\n"
+"sfdisk: premature end of input\n"
+msgstr ""
+"\n"
+"sfdisk: final de entrada antes de lo previsto\n"
+
+#: fdisk/sfdisk.c:2802
+msgid "Quitting - nothing changed\n"
+msgstr "Se está saliendo; no se ha cambiado nada\n"
+
+#: fdisk/sfdisk.c:2808
+msgid "Please answer one of y,n,q\n"
+msgstr "Responda con una de las entradas siguientes: y,n,q\n"
+
+#: fdisk/sfdisk.c:2816
+msgid ""
+"Successfully wrote the new partition table\n"
+"\n"
+msgstr ""
+"La nueva tabla de particiones se ha escrito correctamente\n"
+"\n"
+
+#: fdisk/sfdisk.c:2822
+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"
+
+#: games/banner.c:1048
+msgid "usage: banner [-w width]\n"
+msgstr "uso: banner [-w anchura]\n"
+
+#: games/banner.c:1068
+msgid "Message: "
+msgstr "Mensaje: "
+
+#: games/banner.c:1102
+#, c-format
+msgid "The character '%c' is not in my character set"
+msgstr "El carácter '%c' no pertenece al juego de caracteres del sistema"
+
+#: games/banner.c:1110
+#, c-format
+msgid "Message '%s' is OK\n"
+msgstr "El mensaje '%s' es correcto\n"
+
+#: getopt-1.0.3b/getopt.c:229
+msgid "Try `getopt --help' for more information.\n"
+msgstr "Escriba `getopt --help' para obtener más información.\n"
+
+#: getopt-1.0.3b/getopt.c:295
+msgid "empty long option after -l or --long argument"
+msgstr "Opción larga vacía tras argumento -l o --long"
+
+#: getopt-1.0.3b/getopt.c:315
+msgid "unknown shell after -s or --shell argument"
+msgstr "Intérprete de comandos desconocido tras argumento -s o --shell"
+
+#: getopt-1.0.3b/getopt.c:320
+msgid "Usage: getopt optstring parameters\n"
+msgstr "Uso: getopt cadenaopciones parámetros\n"
+
+#: getopt-1.0.3b/getopt.c:321
+msgid "       getopt [options] [--] optstring parameters\n"
+msgstr "       getopt [opciones] [--] cadenaopciones parámetros\n"
+
+#: getopt-1.0.3b/getopt.c:322
+msgid "       getopt [options] -o|--options optstring [options] [--]\n"
+msgstr "       getopt [opciones] -o|--options cadenaopciones [opciones] [--]\n"
+
+#: getopt-1.0.3b/getopt.c:323
+msgid "              parameters\n"
+msgstr "              parámetros\n"
+
+#: getopt-1.0.3b/getopt.c:324
+msgid ""
+"  -a, --alternative            Allow long options starting with single -\n"
+msgstr ""
+"  -a, --alternative            Permitir opciones largas con un solo - "
+"inicial\n"
+
+#: getopt-1.0.3b/getopt.c:325
+msgid "  -h, --help                   This small usage guide\n"
+msgstr "  -h, --help                   Esta pequeña guía de uso\n"
+
+#: getopt-1.0.3b/getopt.c:326
+msgid "  -l, --longoptions=longopts   Long options to be recognized\n"
+msgstr "  -l, --longoptions=opclargas  Opciones largas para reconocer\n"
+
+#: getopt-1.0.3b/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-1.0.3b/getopt.c:328
+msgid "  -o, --options=optstring      Short options to be recognized\n"
+msgstr "  -o, --options=cadenaopciones Opciones cortas para reconocer\n"
+
+#: getopt-1.0.3b/getopt.c:329
+msgid "  -q, --quiet                  Disable error reporting by getopt(3)\n"
+msgstr ""
+"  -q, --quiet                  Desactivar información de errores mediante "
+"getopt(3)\n"
+
+#: getopt-1.0.3b/getopt.c:330
+msgid "  -Q, --quiet-output           No normal output\n"
+msgstr "  -Q, --quiet-output           No hay salida normal\n"
+
+#: getopt-1.0.3b/getopt.c:331
+msgid "  -s, --shell=shell            Set shell quoting conventions\n"
+msgstr "  -s, --shell=intérpr.comandos Definir convenciones de intérprete\n"
+
+#: getopt-1.0.3b/getopt.c:332
+msgid "  -T, --test                   Test for getopt(1) version\n"
+msgstr "  -T, --test                   Probar para versión getopt(1)\n"
+
+#: getopt-1.0.3b/getopt.c:333
+msgid "  -V, --version                Output version information\n"
+msgstr "  -V, --version                Mostrar información de versión\n"
+
+#: getopt-1.0.3b/getopt.c:387 getopt-1.0.3b/getopt.c:445
+msgid "missing optstring argument"
+msgstr "Falta el argumento cadenaopciones"
+
+#: getopt-1.0.3b/getopt.c:433
+msgid "getopt (enhanced) 1.0.3\n"
+msgstr "getopt (mejorado) 1.0.3\n"
+
+#: getopt-1.0.3b/getopt.c:439
+msgid "internal error, contact the author."
+msgstr "Error interno; contacte con el desarrollador."
+
+#: login-utils/agetty.c:306
+msgid "calling open_tty\n"
+msgstr "calling open_tty\n"
+
+#. Initialize the termio settings (raw mode, eight-bit, blocking i/o).
+#: login-utils/agetty.c:319
+msgid "calling termio_init\n"
+msgstr "calling termio_init\n"
+
+#: login-utils/agetty.c:324
+msgid "writing init string\n"
+msgstr "writing init string\n"
+
+#. Optionally detect the baud rate from the modem status message.
+#: login-utils/agetty.c:334
+msgid "before autobaud\n"
+msgstr "before autobaud\n"
+
+#: login-utils/agetty.c:346
+msgid "waiting for cr-lf\n"
+msgstr "waiting for cr-lf\n"
+
+#: login-utils/agetty.c:350
+#, c-format
+msgid "read %c\n"
+msgstr "read %c\n"
+
+#. Read the login name.
+#: login-utils/agetty.c:359
+msgid "reading login name\n"
+msgstr "reading login name\n"
+
+#: login-utils/agetty.c:380
+#, c-format
+msgid "%s: can't exec %s: %m"
+msgstr "%s: can't exec %s: %m"
+
+#: login-utils/agetty.c:400
+msgid "can't malloc initstring"
+msgstr "can't malloc initstring"
+
+#: login-utils/agetty.c:465
+#, c-format
+msgid "bad timeout value: %s"
+msgstr "bad timeout value: %s"
+
+#: login-utils/agetty.c:474
+msgid "after getopt loop\n"
+msgstr "after getopt loop\n"
+
+#: login-utils/agetty.c:492
+msgid "exiting parseargs\n"
+msgstr "exiting parseargs\n"
+
+#: login-utils/agetty.c:505
+msgid "entered parse_speeds\n"
+msgstr "entered parse_speeds\n"
+
+#: login-utils/agetty.c:508
+#, c-format
+msgid "bad speed: %s"
+msgstr "bad speed: %s"
+
+#: login-utils/agetty.c:510
+msgid "too many alternate speeds"
+msgstr "too many alternate speeds"
+
+#: login-utils/agetty.c:512
+msgid "exiting parsespeeds\n"
+msgstr "exiting parsespeeds\n"
+
+#: login-utils/agetty.c:587
+#, c-format
+msgid "%s: open for update: %m"
+msgstr "%s: abierto para actualización: %m"
+
+#: login-utils/agetty.c:605
+#, c-format
+msgid "%s: no utmp entry"
+msgstr "%s: no hay ninguna entrada de utmp"
+
+#: login-utils/agetty.c:634
+#, c-format
+msgid "/dev: chdir() failed: %m"
+msgstr "/dev: chdir() ha fallado: %m"
+
+#: login-utils/agetty.c:638
+#, c-format
+msgid "/dev/%s: not a character device"
+msgstr "/dev/%s: no es un dispositivo de caracteres"
+
+#. ignore close(2) errors
+#: login-utils/agetty.c:645
+msgid "open(2)\n"
+msgstr "open(2)\n"
+
+#: login-utils/agetty.c:647
+#, 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:657
+#, c-format
+msgid "%s: not open for read/write"
+msgstr "%s: no abierto para lectura/escritura"
+
+#. Set up standard output and standard error file descriptors.
+#: login-utils/agetty.c:661
+msgid "duping\n"
+msgstr "duping\n"
+
+#. set up stdout and stderr
+#: login-utils/agetty.c:663
+#, c-format
+msgid "%s: dup problem: %m"
+msgstr "%s: problema de dup: %m"
+
+#: login-utils/agetty.c:733
+msgid "term_io 2\n"
+msgstr "term_io 2\n"
+
+#: login-utils/agetty.c:915
+msgid "user"
+msgstr "usuario"
+
+#: login-utils/agetty.c:915
+msgid "users"
+msgstr "usuarios"
+
+#: login-utils/agetty.c:1003
+#, c-format
+msgid "%s: read: %m"
+msgstr "%s: lectura: %m"
+
+#: login-utils/agetty.c:1049
+#, c-format
+msgid "%s: input overrun"
+msgstr "%s: desbordamiento de entrada"
+
+#: login-utils/agetty.c:1173
+#, c-format
+msgid ""
+"Usage: %s [-hiLmw] [-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:46
+#, c-format
+msgid "badlogin: %s\n"
+msgstr "Inicio de sesión incorrecto: %s\n"
+
+#: login-utils/checktty.c:52
+#, c-format
+msgid "sleepexit %d\n"
+msgstr "sleepexit %d\n"
+
+#: login-utils/checktty.c:108 login-utils/checktty.c:130
+msgid "login: memory low, login may fail\n"
+msgstr "login: poca memoria; el inicio de sesión puede fallar\n"
+
+#: login-utils/checktty.c:109
+msgid "can't malloc for ttyclass"
+msgstr "No se puede realizar asignación de memoria para ttyclass"
+
+#: login-utils/checktty.c:131
+msgid "can't malloc for grplist"
+msgstr "No se puede realizar asignación de memoria para grplist"
+
+#. there was a default rule, but user didn't match, reject!
+#: login-utils/checktty.c:431
+#, 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"
+
+#. 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!
+#: login-utils/checktty.c:442
+#, 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:134 login-utils/chsh.c:117
+#, c-format
+msgid "%s: you (user %d) don't exist.\n"
+msgstr "%s: el usuario %d no existe.\n"
+
+#: login-utils/chfn.c:141 login-utils/chsh.c:124
+#, c-format
+msgid "%s: user \"%s\" does not exist.\n"
+msgstr "%s: el usuario \"%s\" no existe.\n"
+
+#: login-utils/chfn.c:146 login-utils/chsh.c:129
+#, 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:158
+#, c-format
+msgid "Changing finger information for %s.\n"
+msgstr "Cambiando información de finger para %s.\n"
+
+#: login-utils/chfn.c:164 login-utils/chfn.c:168 login-utils/chfn.c:175
+#: login-utils/chfn.c:179 login-utils/chsh.c:153 login-utils/chsh.c:157
+#: login-utils/chsh.c:164 login-utils/chsh.c:168
+msgid "Password error."
+msgstr "Error de contraseña."
+
+#: login-utils/chfn.c:188 login-utils/chsh.c:177 login-utils/login.c:684
+#: login-utils/newgrp.c:47 login-utils/simpleinit.c:219 mount/lomount.c:200
+#: mount/lomount.c:206 mount/losetup.c:116 mount/losetup.c:122
+msgid "Password: "
+msgstr "Contraseña: "
+
+#: login-utils/chfn.c:191 login-utils/chsh.c:180
+msgid "Incorrect password."
+msgstr "Contraseña incorrecta."
+
+#: login-utils/chfn.c:202
+msgid "Finger information not changed.\n"
+msgstr "No se ha cambiado la información de finger.\n"
+
+#: login-utils/chfn.c:305
+#, c-format
+msgid "Usage: %s [ -f full-name ] [ -o office ] "
+msgstr "Uso: %s [ -f nombre-completo ] [ -o oficina ] "
+
+#: login-utils/chfn.c:306
+msgid ""
+"[ -p office-phone ]\n"
+"\t[ -h home-phone ] "
+msgstr ""
+"[ -p teléfono-oficina ]\n"
+"\t[ -h teléfono-particular ] "
+
+#: login-utils/chfn.c:307
+msgid "[ --help ] [ --version ]\n"
+msgstr "[ --help ] [ --version ]\n"
+
+#: login-utils/chfn.c:376 login-utils/chsh.c:293
+msgid ""
+"\n"
+"Aborted.\n"
+msgstr ""
+"\n"
+"Operación anulada.\n"
+
+#: login-utils/chfn.c:409
+msgid "field is too long.\n"
+msgstr "Campo demasiado largo.\n"
+
+#: login-utils/chfn.c:417
+#, c-format
+msgid "'%c' is not allowed.\n"
+msgstr "'%c' no está permitido.\n"
+
+#: login-utils/chfn.c:422
+msgid "Control characters are not allowed.\n"
+msgstr "Los caracteres de control no están permitidos.\n"
+
+#: login-utils/chfn.c:487
+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:490
+msgid "Finger information changed.\n"
+msgstr "Se ha cambiado la información de finger.\n"
+
+#: login-utils/chfn.c:504 login-utils/chsh.c:411 sys-utils/cytune.c:324
+msgid "malloc failed"
+msgstr "La asignación de memoria (malloc) ha fallado"
+
+#: login-utils/chsh.c:140
+#, c-format
+msgid "%s: Your shell is not in /etc/shells, shell change denied\n"
+msgstr ""
+"%s: el intérprete de comandos no está en /etc/shells; cambio de intérprete "
+"de comandos denegado\n"
+
+#: login-utils/chsh.c:147
+#, c-format
+msgid "Changing shell for %s.\n"
+msgstr "Cambiando intérprete de comandos para %s.\n"
+
+#: login-utils/chsh.c:188
+msgid "New shell"
+msgstr "Nuevo intérprete de comandos"
+
+#: login-utils/chsh.c:195
+msgid "Shell not changed.\n"
+msgstr "No se ha cambiado el intérprete de comandos.\n"
+
+#: login-utils/chsh.c:202
+msgid "Shell *NOT* changed.  Try again later.\n"
+msgstr ""
+"*NO* se ha cambiado el intérprete de comandos. Inténtelo de nuevo más "
+"adelante.\n"
+
+#: login-utils/chsh.c:205
+msgid "Shell changed.\n"
+msgstr "Se ha cambiado el intérprete de comandos.\n"
+
+#: login-utils/chsh.c:273
+#, c-format
+msgid "Usage: %s [ -s shell ] "
+msgstr "Uso: %s [ -s intérprete_comandos ] "
+
+#: login-utils/chsh.c:274
+msgid "[ --list-shells ] [ --help ] [ --version ]\n"
+msgstr "[ --list-shells ] [ --help ] [ --version ]\n"
+
+#: login-utils/chsh.c:275
+msgid "       [ username ]\n"
+msgstr "       [ nombre_usuario ]\n"
+
+#: login-utils/chsh.c:319
+#, c-format
+msgid "%s: shell must be a full path name.\n"
+msgstr "%s: el intérprete de comandos debe ser un nombre de ruta completo.\n"
+
+#: login-utils/chsh.c:323
+#, c-format
+msgid "%s: \"%s\" does not exist.\n"
+msgstr "%s: \"%s\" no existe.\n"
+
+#: login-utils/chsh.c:327
+#, c-format
+msgid "%s: \"%s\" is not executable.\n"
+msgstr "%s: \"%s\" no es ejecutable.\n"
+
+#: login-utils/chsh.c:334
+#, c-format
+msgid "%s: '%c' is not allowed.\n"
+msgstr "%s: '%c' no está permitido.\n"
+
+#: login-utils/chsh.c:338
+#, 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:345
+#, c-format
+msgid "Warning: \"%s\" is not listed in /etc/shells\n"
+msgstr "Advertencia: \"%s\" no figura en /etc/shells\n"
+
+#: login-utils/chsh.c:347
+#, 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:349
+#, 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:355
+#, c-format
+msgid "Warning: \"%s\" is not listed in /etc/shells.\n"
+msgstr "Advertencia: \"%s\" no figura en /etc/shells.\n"
+
+#: login-utils/chsh.c:356
+#, c-format
+msgid "Use %s -l to see list.\n"
+msgstr "Utilice %s -l para ver una lista.\n"
+
+#: login-utils/chsh.c:377
+msgid "No known shells.\n"
+msgstr "No hay ningún intérprete de comandos conocido.\n"
+
+#: login-utils/cryptocard.c:70
+msgid "couldn't open /dev/urandom"
+msgstr "No se ha podido abrir /dev/urandom"
+
+#: login-utils/cryptocard.c:75
+msgid "couldn't read random data from /dev/urandom"
+msgstr "No se han podido leer datos aleatorios de /dev/urandom"
+
+#: login-utils/cryptocard.c:98
+#, c-format
+msgid "can't open %s for reading"
+msgstr "No se puede abrir %s para lectura"
+
+#: login-utils/cryptocard.c:102
+#, c-format
+msgid "can't stat(%s)"
+msgstr "No se puede realizar stat(%s)"
+
+#: login-utils/cryptocard.c:108
+#, c-format
+msgid "%s doesn't have the correct filemodes"
+msgstr "%s no tiene los modos de archivo correctos"
+
+#: login-utils/cryptocard.c:113
+#, c-format
+msgid "can't read data from %s"
+msgstr "No se puede leer datos de %s"
+
+#: login-utils/islocal.c:36
+#, c-format
+msgid "Can't read %s, exiting."
+msgstr "No se puede leer %s; saliendo."
+
+#: login-utils/last.c:143
+msgid "usage: last [-#] [-f file] [-t tty] [-h hostname] [user ...]\n"
+msgstr "uso: last [-#] [-f archivo] [-t tty] [-h nombrehost] [usuario ...]\n"
+
+#: login-utils/last.c:283
+msgid "  still logged in"
+msgstr "  todavía tiene iniciada la sesión"
+
+#: login-utils/last.c:305
+#, c-format
+msgid ""
+"\n"
+"wtmp begins %s"
+msgstr ""
+"\n"
+"wtmp empieza %s"
+
+#: login-utils/last.c:367 login-utils/last.c:387 login-utils/last.c:442
+msgid "last: malloc failure.\n"
+msgstr "last: error de asignación de memoria (malloc).\n"
+
+#: login-utils/last.c:416
+msgid "last: gethostname"
+msgstr "last: gethostname"
+
+#: login-utils/last.c:469
+#, c-format
+msgid ""
+"\n"
+"interrupted %10.10s %5.5s \n"
+msgstr ""
+"\n"
+"interrumpido %10.10s %5.5s \n"
+
+#: login-utils/login.c:377
+msgid "login: -h for super-user only.\n"
+msgstr "login: -h sólo para superusuario.\n"
+
+#: login-utils/login.c:402
+msgid "usage: login [-fp] [username]\n"
+msgstr "uso: login [-fp] [nombreusuario]\n"
+
+#: login-utils/login.c:504
+#, c-format
+msgid "login: PAM Failure, aborting: %s\n"
+msgstr "login: error de PAM; anulando: %s\n"
+
+#: login-utils/login.c:506
+#, c-format
+msgid "Couldn't initialize PAM: %s"
+msgstr "No se ha podido inicializar PAM: %s"
+
+#. 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).
+#: login-utils/login.c:519
+msgid "login: "
+msgstr "Inicio de sesión: "
+
+#: login-utils/login.c:552
+#, 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:554
+msgid ""
+"Login incorrect\n"
+"\n"
+msgstr ""
+"Inicio de sesión incorrecto\n"
+"\n"
+
+#: login-utils/login.c:563
+#, 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:567
+#, 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:570
+msgid ""
+"\n"
+"Login incorrect\n"
+msgstr ""
+"\n"
+"Inicio de sesión incorrecto\n"
+
+#: login-utils/login.c:619
+msgid "Illegal username"
+msgstr "Nombre de usuario no permitido"
+
+#: login-utils/login.c:662
+#, 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:667
+#, 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:671
+#, c-format
+msgid "LOGIN %s REFUSED ON TTY %s"
+msgstr "Inicio de sesión %s rechazado en tty %s"
+
+#: login-utils/login.c:723
+msgid "Login incorrect\n"
+msgstr "Inicio de sesión incorrecto\n"
+
+#: login-utils/login.c:745
+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"
+
+#: login-utils/login.c:749
+msgid "You have too many processes running.\n"
+msgstr "Tiene demasiados procesos en ejecución.\n"
+
+#: login-utils/login.c:795
+msgid "Warning: no Kerberos tickets issued\n"
+msgstr "Advertencia: no se han emitido tickets de Kerberos\n"
+
+#: login-utils/login.c:807
+msgid "Sorry -- your password has expired.\n"
+msgstr "La contraseña ha caducado.\n"
+
+#: login-utils/login.c:813
+#, c-format
+msgid "Warning: your password expires on %s %d, %d\n"
+msgstr "Advertencia: la contraseña caduca en %s (día %d) del año %d\n"
+
+#: login-utils/login.c:821
+msgid "Sorry -- your account has expired.\n"
+msgstr "La cuenta ha caducado.\n"
+
+#: login-utils/login.c:827
+#, c-format
+msgid "Warning: your account expires on %s %d, %d\n"
+msgstr "Advertencia: la cuenta caduca en %s (día %d) del año %d\n"
+
+#: login-utils/login.c:1061
+#, c-format
+msgid "DIALUP AT %s BY %s"
+msgstr "Conexión telefónica en %s por %s"
+
+#: login-utils/login.c:1068
+#, c-format
+msgid "ROOT LOGIN ON %s FROM %s"
+msgstr "Inicio de sesión con root en %s desde %s"
+
+#: login-utils/login.c:1071
+#, c-format
+msgid "ROOT LOGIN ON %s"
+msgstr "Inicio de sesión con root en %s"
+
+#: login-utils/login.c:1074
+#, 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:1077
+#, c-format
+msgid "LOGIN ON %s BY %s"
+msgstr "Inicio de sesión en %s por %s"
+
+#: login-utils/login.c:1089
+#, c-format
+msgid "You have %smail.\n"
+msgstr "Tiene %scorreo.\n"
+
+#: login-utils/login.c:1090
+msgid "new "
+msgstr "nuevo "
+
+#. error in fork()
+#: login-utils/login.c:1108
+#, c-format
+msgid "login: failure forking: %s"
+msgstr "login: error en fork: %s"
+
+#: login-utils/login.c:1123
+msgid "setuid() failed"
+msgstr "setuid() ha fallado"
+
+#: login-utils/login.c:1129
+#, c-format
+msgid "No directory %s!\n"
+msgstr "No hay ningún directorio %s\n"
+
+#: login-utils/login.c:1133
+msgid "Logging in with home = \"/\".\n"
+msgstr "Iniciando la sesión con directorio de inicio = \"/\".\n"
+
+#: login-utils/login.c:1141
+msgid "login: no memory for shell script.\n"
+msgstr "login: no queda memoria para script de intérprete de comandos.\n"
+
+#: login-utils/login.c:1169
+#, c-format
+msgid "login: couldn't exec shell script: %s.\n"
+msgstr ""
+"login: no se ha podido ejecutar el script de intérprete de comandos: %s.\n"
+
+#: login-utils/login.c:1172
+#, c-format
+msgid "login: no shell: %s.\n"
+msgstr "login: no hay intérprete de comandos: %s.\n"
+
+#: login-utils/login.c:1188
+#, c-format
+msgid ""
+"\n"
+"%s login: "
+msgstr ""
+"\n"
+"Inicio de sesión de %s: "
+
+#: login-utils/login.c:1199
+msgid "login name much too long.\n"
+msgstr "Nombre de inicio de sesión demasiado largo.\n"
+
+#: login-utils/login.c:1200
+msgid "NAME too long"
+msgstr "Nombre demasiado largo"
+
+#: login-utils/login.c:1207
+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:1217
+msgid "too many bare linefeeds.\n"
+msgstr "Demasiados avances de línea solos.\n"
+
+#: login-utils/login.c:1218
+msgid "EXCESSIVE linefeeds"
+msgstr "Excesivos avances de línea"
+
+#: login-utils/login.c:1229
+#, 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:1329
+#, c-format
+msgid "Last login: %.*s "
+msgstr "Último inicio de sesión: %.*s "
+
+#: login-utils/login.c:1333
+#, c-format
+msgid "from %.*s\n"
+msgstr "desde %.*s\n"
+
+#: login-utils/login.c:1336
+#, c-format
+msgid "on %.*s\n"
+msgstr "en %.*s\n"
+
+#: login-utils/login.c:1359
+#, c-format
+msgid "LOGIN FAILURE FROM %s, %s"
+msgstr "Error de inicio de sesión desde %s, %s"
+
+#: login-utils/login.c:1362
+#, c-format
+msgid "LOGIN FAILURE ON %s, %s"
+msgstr "Error de inicio de sesión en %s, %s"
+
+#: login-utils/login.c:1366
+#, c-format
+msgid "%d LOGIN FAILURES FROM %s, %s"
+msgstr "%d errores de inicio de sesión desde %s, %s"
+
+#: login-utils/login.c:1369
+#, 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
+msgid "is y\n"
+msgstr "es y\n"
+
+#: login-utils/mesg.c:92
+msgid "is n\n"
+msgstr "es n\n"
+
+#: login-utils/mesg.c:112
+msgid "usage: mesg [y | n]\n"
+msgstr "uso: mesg [y | n]\n"
+
+#: login-utils/newgrp.c:67
+msgid "newgrp: Who are you?"
+msgstr "newgrp: ¿quién es usted?"
+
+#: login-utils/newgrp.c:75 login-utils/newgrp.c:85
+msgid "newgrp: setgid"
+msgstr "newgrp: setgid"
+
+#: login-utils/newgrp.c:80
+msgid "newgrp: No such group."
+msgstr "newgrp: este grupo no existe."
+
+#: login-utils/newgrp.c:89
+msgid "newgrp: Permission denied"
+msgstr "newgrp: permiso denegado"
+
+#: login-utils/newgrp.c:96
+msgid "newgrp: setuid"
+msgstr "newgrp: setuid"
+
+#: login-utils/newgrp.c:102
+msgid "No shell"
+msgstr "No hay ningún intérprete de comandos"
+
+#: login-utils/passwd.c:161
+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"
+
+#: login-utils/passwd.c:174
+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"
+
+#: login-utils/passwd.c:175
+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"
+
+#: login-utils/passwd.c:176
+msgid "characters. See passwd(1) for more information.\n"
+msgstr "no alfanuméricos. Véase passwd(1) para obtener más información.\n"
+
+#: login-utils/passwd.c:181
+msgid "You cannot reuse the old password.\n"
+msgstr "No puede volver a utilizar la antigua contraseña.\n"
+
+#: login-utils/passwd.c:186
+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"
+
+#: login-utils/passwd.c:197 login-utils/passwd.c:204
+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"
+
+#: login-utils/passwd.c:221
+msgid "Usage: passwd [username [password]]\n"
+msgstr "Uso: passwd [nombreusuario [contraseña]]\n"
+
+#: login-utils/passwd.c:222
+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"
+
+#: login-utils/passwd.c:278
+msgid "Usage: passwd [-foqsvV] [user [password]]\n"
+msgstr "Uso: passwd [-foqsvV] [usuario [contraseña]]\n"
+
+#: login-utils/passwd.c:299
+#, c-format
+msgid "Can't exec %s: %s\n"
+msgstr "No se puede ejecutar %s: %s\n"
+
+#: login-utils/passwd.c:310
+msgid "Cannot find login name"
+msgstr "No se puede encontrar el nombre de inicio de sesión"
+
+#: login-utils/passwd.c:317 login-utils/passwd.c:324
+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"
+
+#: login-utils/passwd.c:332
+msgid "Too many arguments.\n"
+msgstr "Hay demasiados argumentos.\n"
+
+#: login-utils/passwd.c:337
+#, c-format
+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?"
+
+#: login-utils/passwd.c:341
+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."
+
+#: login-utils/passwd.c:347
+msgid "UID and username does not match, imposter!"
+msgstr "El UID y el nombre de usuario no coinciden."
+
+#: login-utils/passwd.c:352
+#, c-format
+msgid "Changing password for %s\n"
+msgstr "Cambiando contraseña para %s\n"
+
+#: login-utils/passwd.c:356
+msgid "Enter old password: "
+msgstr "Escriba la contraseña antigua: "
+
+#: login-utils/passwd.c:358
+msgid "Illegal password, imposter."
+msgstr "Contraseña no permitida."
+
+#: login-utils/passwd.c:370
+msgid "Enter new password: "
+msgstr "Escriba la nueva contraseña: "
+
+#: login-utils/passwd.c:372
+msgid "Password not changed."
+msgstr "No se ha cambiado la contraseña."
+
+#: login-utils/passwd.c:382
+msgid "Re-type new password: "
+msgstr "Vuelva a escribir la nueva contraseña: "
+
+#: login-utils/passwd.c:385
+msgid "You misspelled it. Password not changed."
+msgstr "Ha escrito de forma incorrecta la contraseña. No se ha cambiado."
+
+#: login-utils/passwd.c:400
+#, c-format
+msgid "password changed, user %s"
+msgstr "La contraseña ha cambiado; usuario %s"
+
+#: login-utils/passwd.c:403
+msgid "ROOT PASSWORD CHANGED"
+msgstr "Contraseña de usuario root cambiada"
+
+#: login-utils/passwd.c:405
+#, c-format
+msgid "password changed by root, user %s"
+msgstr "Contraseña cambiada por usuario root; usuario %s"
+
+#: login-utils/passwd.c:412
+msgid "calling setpwnam to set password.\n"
+msgstr "Llamando a setpwnam para establecer contraseña.\n"
+
+#: login-utils/passwd.c:416
+msgid "Password *NOT* changed.  Try again later.\n"
+msgstr "*NO* se ha cambiado la contraseña. Inténtelo de nuevo más adelante.\n"
+
+#: login-utils/passwd.c:422
+msgid "Password changed.\n"
+msgstr "Se ha cambiado la contraseña.\n"
+
+#: login-utils/shutdown.c:85
+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:103
+msgid "Shutdown process aborted"
+msgstr "Proceso de shutdown anulado"
+
+#: login-utils/shutdown.c:125
+#, 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:219
+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:271
+msgid "for maintenance; bounce, bounce"
+msgstr "Para mantenimiento; bounce, bounce"
+
+#: login-utils/shutdown.c:275
+#, c-format
+msgid "timeout = %d, quiet = %d, reboot = %d\n"
+msgstr "timeout = %d, quiet = %d, reboot = %d\n"
+
+#: login-utils/shutdown.c:300
+msgid "The system is being shut down within 5 minutes"
+msgstr "El sistema se cerrará dentro de 5 minutos"
+
+#: login-utils/shutdown.c:304
+msgid "Login is therefore prohibited."
+msgstr "Por consiguiente el inicio de sesión está prohibido."
+
+#: login-utils/shutdown.c:325
+#, c-format
+msgid "%s by %s: %s"
+msgstr "%s por %s: %s"
+
+#: login-utils/shutdown.c:326
+msgid "rebooted"
+msgstr "reiniciado"
+
+#: login-utils/shutdown.c:326
+msgid "halted"
+msgstr "detenido"
+
+#. RB_AUTOBOOT
+#: login-utils/shutdown.c:377
+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:379
+msgid ""
+"\n"
+"Now you can turn off the power..."
+msgstr ""
+"\n"
+"Ahora puede desconectar la alimentación..."
+
+#: login-utils/shutdown.c:394
+msgid "Calling kernel power-off facility...\n"
+msgstr "Llamando a recurso de apagado del kernel...\n"
+
+#: login-utils/shutdown.c:397
+#, c-format
+msgid "Error powering off\t%s\n"
+msgstr "Error al apagar\t%s\n"
+
+#: login-utils/shutdown.c:405
+#, c-format
+msgid "Executing the program \"%s\" ...\n"
+msgstr "Ejecutando el programa \"%s\" ...\n"
+
+#: login-utils/shutdown.c:408
+#, c-format
+msgid "Error executing\t%s\n"
+msgstr "Error al ejecutar \t%s\n"
+
+#: login-utils/shutdown.c:431
+#, c-format
+msgid "\aURGENT: broadcast message from %s:"
+msgstr "\aUrgente: mensaje de difusión general (broadcast) de %s:"
+
+#: login-utils/shutdown.c:437
+msgid "System going down IMMEDIATELY!\n"
+msgstr "El sistema se apagará de inmediato.\n"
+
+#: login-utils/shutdown.c:440
+#, c-format
+msgid "System going down in %d hour%s %d minutes"
+msgstr "El sistema se apagará dentro de %d hora%s y %d minuto(s)"
+
+#: login-utils/shutdown.c:441 login-utils/shutdown.c:444
+msgid "s"
+msgstr "s"
+
+#: login-utils/shutdown.c:443
+#, c-format
+msgid "System going down in %d minute%s\n"
+msgstr "El sistema se apagará dentro de %d minuto%s\n"
+
+#: login-utils/shutdown.c:449
+#, c-format
+msgid "\t... %s ...\n"
+msgstr "\t... %s ...\n"
+
+#: login-utils/shutdown.c:506
+msgid "Cannot fork for swapoff. Shrug!"
+msgstr "No es posible realizar una operación fork para ejecutar swapoff."
+
+#: login-utils/shutdown.c:514
+msgid "Cannot exec swapoff, hoping umount will do the trick."
+msgstr "No es posible ejecutar swapoff; se intenta con umount."
+
+#: login-utils/shutdown.c:533
+msgid "Cannot fork for umount, trying manually."
+msgstr ""
+"No es posible realizar una operación fork para ejecutar umount; se intenta "
+"manualmente."
+
+#: login-utils/shutdown.c:542
+#, c-format
+msgid "Cannot exec %s, trying umount.\n"
+msgstr "No es posible ejecutar %s; se intenta umount.\n"
+
+#: login-utils/shutdown.c:546
+msgid "Cannot exec umount, giving up on umount."
+msgstr "No es posible ejecutar umount; se abandona la operación umount."
+
+#: login-utils/shutdown.c:551
+msgid "Unmounting any remaining filesystems..."
+msgstr "Desmontando los sistemas de archivos restantes..."
+
+#: login-utils/shutdown.c:587
+#, c-format
+msgid "shutdown: Couldn't umount %s\n"
+msgstr "shutdown: No es posible ejecutar umount %s\n"
+
+#: login-utils/simpleinit.c:79
+msgid "Booting to single user mode.\n"
+msgstr "Iniciando en modo de un solo usuario.\n"
+
+#: login-utils/simpleinit.c:83
+msgid "exec of single user shell failed\n"
+msgstr ""
+"La ejecución (exec) de intérprete de comandos de un solo usuario ha fallado\n"
+
+#: login-utils/simpleinit.c:87
+msgid "fork of single user shell failed\n"
+msgstr ""
+"La bifurcación (fork) de intérprete de comandos de un solo usuario ha "
+"fallado\n"
+
+#: login-utils/simpleinit.c:226
+msgid ""
+"\n"
+"Wrong password.\n"
+msgstr ""
+"\n"
+"Contraseña incorrecta.\n"
+
+#: login-utils/simpleinit.c:252
+msgid "exec rc failed\n"
+msgstr "La ejecución (exec) de rc ha fallado\n"
+
+#: login-utils/simpleinit.c:255
+msgid "open of rc file failed\n"
+msgstr "La apertura del archivo rc ha fallado\n"
+
+#: login-utils/simpleinit.c:261
+msgid "fork of rc shell failed\n"
+msgstr "La bifurcación (fork) de intérprete de comandos de rc ha fallado\n"
+
+#: login-utils/simpleinit.c:273
+msgid "fork failed\n"
+msgstr "La bifurcación (fork) ha fallado\n"
+
+#: login-utils/simpleinit.c:302 text-utils/more.c:1549
+msgid "exec failed\n"
+msgstr "La ejecución (exec) ha fallado\n"
+
+#: login-utils/simpleinit.c:324
+msgid "cannot open inittab\n"
+msgstr "No es posible abrir inittab\n"
+
+#: login-utils/simpleinit.c:362
+msgid "no TERM or cannot stat tty\n"
+msgstr "Sin TERM o no es posible ejecutar stat para tty\n"
+
+#: login-utils/ttymsg.c:81
+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:91
+msgid "excessively long line arg"
+msgstr "Argumento de línea demasiado largo"
+
+#: login-utils/ttymsg.c:145
+msgid "cannot fork"
+msgstr "No se puede bifurcar (fork)"
+
+#: login-utils/ttymsg.c:149
+#, c-format
+msgid "fork: %s"
+msgstr "fork: %s"
+
+#: login-utils/ttymsg.c:177
+#, c-format
+msgid "%s: BAD ERROR"
+msgstr "%s: error incorrecto"
+
+#: login-utils/vipw.c:149
+#, c-format
+msgid "%s: the %s file is busy.\n"
+msgstr "%s: el archivo %s está ocupado.\n"
+
+#: login-utils/vipw.c:165
+#, c-format
+msgid "%s: the %s file is busy (%s present)\n"
+msgstr "%s: el archivo %s está ocupado (%s presente).\n"
+
+#: login-utils/vipw.c:171
+#, c-format
+msgid "%s: can't link %s: %s\n"
+msgstr "%s: no se puede enlazar %s: %s\n"
+
+#: login-utils/vipw.c:193
+#, 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:217
+#, c-format
+msgid "%s: Cannot fork\n"
+msgstr "%s: no es posible bifurcar (fork)\n"
+
+#: login-utils/vipw.c:257
+#, c-format
+msgid "%s: %s unchanged\n"
+msgstr "%s: %s no se ha modificado\n"
+
+#: login-utils/vipw.c:300
+#, c-format
+msgid "%s: no changes made\n"
+msgstr "%s: no se ha efectuado ningún cambio\n"
+
+#: login-utils/wall.c:103
+#, c-format
+msgid "usage: %s [file]\n"
+msgstr "uso: %s [archivo]\n"
+
+#: login-utils/wall.c:151
+#, c-format
+msgid "%s: can't open temporary file.\n"
+msgstr "%s: no se puede abrir el archivo temporal.\n"
+
+#: login-utils/wall.c:178
+#, c-format
+msgid "Broadcast Message from %s@%s"
+msgstr "Mensaje de difusión general (broadcast) de %s@%s"
+
+#: login-utils/wall.c:188
+#, c-format
+msgid "%s: can't read %s.\n"
+msgstr "%s: no se puede leer %s.\n"
+
+#: login-utils/wall.c:213
+#, c-format
+msgid "%s: can't stat temporary file.\n"
+msgstr "%s: no se puede ejecutar stat para archivo temporal.\n"
+
+#: login-utils/wall.c:222
+#, c-format
+msgid "%s: can't read temporary file.\n"
+msgstr "%s: no se puede leer el archivo temporal.\n"
+
+#: misc-utils/cal.c:189
+msgid "illegal month value: use 1-12"
+msgstr "Valor de mes no permitido: utilice 1-12"
+
+#: misc-utils/cal.c:193
+msgid "illegal year value: use 1-9999"
+msgstr "Valor de año no permitido: utilice 1-9999"
+
+#: misc-utils/cal.c:489
+msgid "usage: cal [-mjyV] [[month] year]\n"
+msgstr "uso: cal [-mjyV] [[mes] año]\n"
+
+#: misc-utils/ddate.c:192
+#, c-format
+msgid "usage: %s [+format] [day month year]\n"
+msgstr "uso: %s [+formato] [día mes año]\n"
+
+#. handle St. Tib's Day
+#: misc-utils/ddate.c:238
+msgid "St. Tib's Day"
+msgstr "Día de San Tibb"
+
+#: misc-utils/kill.c:209
+#, c-format
+msgid "%s: unknown signal %s\n"
+msgstr "%s: señal desconocida %s\n"
+
+#: misc-utils/kill.c:271
+#, c-format
+msgid "%s: can't find process \"%s\"\n"
+msgstr "%s: no se puede encontrar el proceso \"%s\"\n"
+
+#: misc-utils/kill.c:315
+#, 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:355
+#, 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:356
+#, c-format
+msgid "       %s -l [ signal ]\n"
+msgstr "       %s -l [ señal ]\n"
+
+#: misc-utils/logger.c:144
+#, c-format
+msgid "logger: %s: %s.\n"
+msgstr "logger: %s: %s.\n"
+
+#: misc-utils/logger.c:248
+#, c-format
+msgid "logger: unknown facility name: %s.\n"
+msgstr "logger: nombre de recurso desconocido: %s.\n"
+
+#: misc-utils/logger.c:260
+#, c-format
+msgid "logger: unknown priority name: %s.\n"
+msgstr "logger: nombre de prioridad desconocida: %s.\n"
+
+#: misc-utils/logger.c:287
+msgid ""
+"usage: logger [-is] [-f file] [-p pri] [-t tag] [-u socket] [ message ... ]\n"
+msgstr ""
+"uso: logger [-is] [-f archivo] [-p pri] [-t etiqueta] [-u socket] [ mensaje "
+"... ]\n"
+
+#: misc-utils/look.c:336
+msgid "usage: look [-dfa] [-t char] string [file]\n"
+msgstr "uso: look [-dfa] [-t carácter] cadena [archivo]\n"
+
+#: misc-utils/mcookie.c:122 misc-utils/mcookie.c:149
+#, c-format
+msgid "Could not open %s\n"
+msgstr "No se ha podido abrir %s\n"
+
+#: misc-utils/mcookie.c:126 misc-utils/mcookie.c:145
+#, c-format
+msgid "Got %d bytes from %s\n"
+msgstr "Se han obtenido %d bytes de %s\n"
+
+#: misc-utils/namei.c:107
+#, c-format
+msgid "namei: unable to get current directory - %s\n"
+msgstr "namei: no es posible obtener el directorio actual - %s\n"
+
+#: misc-utils/namei.c:118
+#, c-format
+msgid "namei: unable to chdir to %s - %s (%d)\n"
+msgstr "namei: no es posible ejecutar chdir para %s - %s (%d)\n"
+
+#: misc-utils/namei.c:128
+msgid "usage: namei [-mx] pathname [pathname ...]\n"
+msgstr "uso: namei [-mx] nombreruta [nombreruta ...]\n"
+
+#: misc-utils/namei.c:157
+msgid "namei: could not chdir to root!\n"
+msgstr "namei: no es posible ejecutar chdir para directorio raíz\n"
+
+#: misc-utils/namei.c:164
+msgid "namei: could not stat root!\n"
+msgstr "namei: no es posible ejecutar stat para el directorio raíz\n"
+
+#: misc-utils/namei.c:219
+#, c-format
+msgid " ? could not chdir into %s - %s (%d)\n"
+msgstr " ? no es posible ejecutar chdir para %s - %s (%d)\n"
+
+#: misc-utils/namei.c:248
+#, c-format
+msgid " ? problems reading symlink %s - %s (%d)\n"
+msgstr " ? problemas al leer el enlace simbólico %s - %s (%d)\n"
+
+#: misc-utils/namei.c:258
+msgid "  *** EXCEEDED UNIX LIMIT OF SYMLINKS ***\n"
+msgstr "  *** Se ha superado límite de enlaces simbólicos de Unix ***\n"
+
+#: misc-utils/namei.c:295
+#, c-format
+msgid "namei: unknown file type 0%06o on file %s\n"
+msgstr "namei: tipo de archivo desconocido 0%06o en archivo %s\n"
+
+#: misc-utils/script.c:109
+msgid "usage: script [-a] [file]\n"
+msgstr "uso: script [-a] [archivo]\n"
+
+#: misc-utils/script.c:129
+#, c-format
+msgid "Script started, file is %s\n"
+msgstr "Script iniciado; el archivo es %s\n"
+
+#: misc-utils/script.c:198
+#, c-format
+msgid "Script started on %s"
+msgstr "Script iniciado (%s)"
+
+#: misc-utils/script.c:264
+#, c-format
+msgid ""
+"\n"
+"Script done on %s"
+msgstr ""
+"\n"
+"Script terminado (%s)"
+
+#: misc-utils/script.c:269
+#, c-format
+msgid "Script done, file is %s\n"
+msgstr "Script terminado; el archivo es %s\n"
+
+#: misc-utils/script.c:281
+msgid "openpty failed\n"
+msgstr "openpty ha fallado\n"
+
+#: misc-utils/script.c:315
+msgid "Out of pty's\n"
+msgstr "No quedan pty\n"
+
+#. Print error message about arguments, and the command's syntax.
+#: misc-utils/setterm.c:713
+#, c-format
+msgid "%s: Argument error, usage\n"
+msgstr "%s: error de argumento, uso\n"
+
+#: misc-utils/setterm.c:716
+msgid "  [ -term terminal_name ]\n"
+msgstr "  [ -term nombre_terminal ]\n"
+
+#: misc-utils/setterm.c:717
+msgid "  [ -reset ]\n"
+msgstr "  [ -reset ]\n"
+
+#: misc-utils/setterm.c:718
+msgid "  [ -initialize ]\n"
+msgstr "  [ -initialize ]\n"
+
+#: misc-utils/setterm.c:719
+msgid "  [ -cursor [on|off] ]\n"
+msgstr "  [ -cursor [on|off] ]\n"
+
+#: misc-utils/setterm.c:721
+msgid "  [ -snow [on|off] ]\n"
+msgstr "  [ -snow [on|off] ]\n"
+
+#: misc-utils/setterm.c:722
+msgid "  [ -softscroll [on|off] ]\n"
+msgstr "  [ -softscroll [on|off] ]\n"
+
+#: misc-utils/setterm.c:724
+msgid "  [ -repeat [on|off] ]\n"
+msgstr "  [ -repeat [on|off] ]\n"
+
+#: misc-utils/setterm.c:725
+msgid "  [ -appcursorkeys [on|off] ]\n"
+msgstr "  [ -appcursorkeys [on|off] ]\n"
+
+#: misc-utils/setterm.c:726
+msgid "  [ -linewrap [on|off] ]\n"
+msgstr "  [ -linewrap [on|off] ]\n"
+
+#: misc-utils/setterm.c:727
+msgid "  [ -default ]\n"
+msgstr "  [ -default ]\n"
+
+#: misc-utils/setterm.c:728
+msgid "  [ -foreground black|blue|green|cyan"
+msgstr "  [ -foreground black|blue|green|cyan"
+
+#: misc-utils/setterm.c:729 misc-utils/setterm.c:731
+msgid "|red|magenta|yellow|white|default ]\n"
+msgstr "|red|magenta|yellow|white|default ]\n"
+
+#: misc-utils/setterm.c:730
+msgid "  [ -background black|blue|green|cyan"
+msgstr "  [ -background black|blue|green|cyan"
+
+#: misc-utils/setterm.c:732
+msgid "  [ -ulcolor black|grey|blue|green|cyan"
+msgstr "  [ -ulcolor black|grey|blue|green|cyan"
+
+#: misc-utils/setterm.c:733 misc-utils/setterm.c:735 misc-utils/setterm.c:737
+#: misc-utils/setterm.c:739
+msgid "|red|magenta|yellow|white ]\n"
+msgstr "|red|magenta|yellow|white ]\n"
+
+#: misc-utils/setterm.c:734
+msgid "  [ -ulcolor bright blue|green|cyan"
+msgstr "  [ -ulcolor bright blue|green|cyan"
+
+#: misc-utils/setterm.c:736
+msgid "  [ -hbcolor black|grey|blue|green|cyan"
+msgstr "  [ -hbcolor black|grey|blue|green|cyan"
+
+#: misc-utils/setterm.c:738
+msgid "  [ -hbcolor bright blue|green|cyan"
+msgstr "  [ -hbcolor bright blue|green|cyan"
+
+#: misc-utils/setterm.c:741
+msgid "  [ -standout [ attr ] ]\n"
+msgstr "  [ -standout [ attr ] ]\n"
+
+#: misc-utils/setterm.c:743
+msgid "  [ -inversescreen [on|off] ]\n"
+msgstr "  [ -inversescreen [on|off] ]\n"
+
+#: misc-utils/setterm.c:744
+msgid "  [ -bold [on|off] ]\n"
+msgstr "  [ -bold [on|off] ]\n"
+
+#: misc-utils/setterm.c:745
+msgid "  [ -half-bright [on|off] ]\n"
+msgstr "  [ -half-bright [on|off] ]\n"
+
+#: misc-utils/setterm.c:746
+msgid "  [ -blink [on|off] ]\n"
+msgstr "  [ -blink [on|off] ]\n"
+
+#: misc-utils/setterm.c:747
+msgid "  [ -reverse [on|off] ]\n"
+msgstr "  [ -reverse [on|off] ]\n"
+
+#: misc-utils/setterm.c:748
+msgid "  [ -underline [on|off] ]\n"
+msgstr "  [ -underline [on|off] ]\n"
+
+#: misc-utils/setterm.c:749
+msgid "  [ -store ]\n"
+msgstr "  [ -store ]\n"
+
+#: misc-utils/setterm.c:750
+msgid "  [ -clear [all|rest] ]\n"
+msgstr "  [ -clear [all|rest] ]\n"
+
+#: misc-utils/setterm.c:751
+msgid "  [ -tabs [ tab1 tab2 tab3 ... ] ]      (tabn = 1-160)\n"
+msgstr "  [ -tabs [ tab1 tab2 tab3 ... ] ]      (tabn = 1-160)\n"
+
+#: misc-utils/setterm.c:752
+msgid "  [ -clrtabs [ tab1 tab2 tab3 ... ] ]   (tabn = 1-160)\n"
+msgstr "  [ -clrtabs [ tab1 tab2 tab3 ... ] ]   (tabn = 1-160)\n"
+
+#: misc-utils/setterm.c:753
+msgid "  [ -regtabs [1-160] ]\n"
+msgstr "  [ -regtabs [1-160] ]\n"
+
+#: misc-utils/setterm.c:754
+msgid "  [ -blank [0-60] ]\n"
+msgstr "  [ -blank [0-60] ]\n"
+
+#: misc-utils/setterm.c:755
+msgid "  [ -dump   [1-NR_CONSOLES] ]\n"
+msgstr "  [ -dump   [1-NUM_CONSOLAS] ]\n"
+
+#: misc-utils/setterm.c:756
+msgid "  [ -append [1-NR_CONSOLES] ]\n"
+msgstr "  [ -append [1-NUM_CONSOLAS] ]\n"
+
+#: misc-utils/setterm.c:757
+msgid "  [ -file dumpfilename ]\n"
+msgstr "  [ -file nombrearchivovuelco ]\n"
+
+#: misc-utils/setterm.c:758
+msgid "  [ -msg [on|off] ]\n"
+msgstr "  [ -msg [on|off] ]\n"
+
+#: misc-utils/setterm.c:759
+msgid "  [ -msglevel [0-8] ]\n"
+msgstr "  [ -msglevel [0-8] ]\n"
+
+#: misc-utils/setterm.c:760
+msgid "  [ -powersave [on|vsync|hsync|powerdown|off] ]\n"
+msgstr "  [ -powersave [on|vsync|hsync|powerdown|off] ]\n"
+
+#: misc-utils/setterm.c:761
+msgid "  [ -powerdown [0-60] ]\n"
+msgstr "  [ -powerdown [0-60] ]\n"
+
+#: misc-utils/setterm.c:762
+msgid "  [ -blength [0-2000] ]\n"
+msgstr "  [ -blength [0-2000] ]\n"
+
+#: misc-utils/setterm.c:763
+msgid "  [ -bfreq freqnumber ]\n"
+msgstr "  [ -bfreq númerofrecuencia ]\n"
+
+#: misc-utils/setterm.c:831
+msgid "snow.on"
+msgstr "snow.on"
+
+#: misc-utils/setterm.c:833
+msgid "snow.off"
+msgstr "snow.off"
+
+#: misc-utils/setterm.c:839
+msgid "softscroll.on"
+msgstr "softscroll.on"
+
+#: misc-utils/setterm.c:841
+msgid "softscroll.off"
+msgstr "softscroll.off"
+
+#: misc-utils/setterm.c:1016
+msgid "cannot (un)set powersave mode\n"
+msgstr "No es posible (des)activar el modo de ahorro de alimentación\n"
+
+#: misc-utils/setterm.c:1055 misc-utils/setterm.c:1063
+#, c-format
+msgid "klogctl error: %s\n"
+msgstr "Error de klogctl: %s\n"
+
+#: misc-utils/setterm.c:1104
+#, c-format
+msgid "Error reading %s\n"
+msgstr "Error al leer %s\n"
+
+#: misc-utils/setterm.c:1119
+msgid "Error writing screendump\n"
+msgstr "Error al escribir vuelco de pantalla\n"
+
+#: misc-utils/setterm.c:1133
+#, c-format
+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"
+
+#: misc-utils/setterm.c:1198
+#, c-format
+msgid "%s: $TERM is not defined.\n"
+msgstr "%s: $TERM no está definido.\n"
+
+#: misc-utils/tsort.c:120
+msgid "usage: tsort [ inputfile ]\n"
+msgstr "uso: tsort [ archivoentrada ]\n"
+
+#: misc-utils/tsort.c:157
+msgid "tsort: odd data count.\n"
+msgstr "tsort: número de datos impar.\n"
+
+#: misc-utils/tsort.c:320
+msgid "tsort: cycle in data.\n"
+msgstr "tsort: ciclo en datos.\n"
+
+#: misc-utils/tsort.c:333
+msgid "tsort: internal error -- could not find cycle.\n"
+msgstr "tsort: error interno -- no se ha podido encontrar el ciclo.\n"
+
+#: misc-utils/whereis.c:158
+msgid "whereis [ -sbmu ] [ -SBM dir ... -f ] name...\n"
+msgstr "whereis [ -sbmu ] [ -SBM dir ... -f ] nombre...\n"
+
+#: misc-utils/write.c:99
+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:110
+msgid "write: you have write permission turned off.\n"
+msgstr "write: tiene el permiso de escritura desactivado.\n"
+
+#: misc-utils/write.c:131
+#, 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:139
+#, 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:146
+msgid "usage: write user [tty]\n"
+msgstr "uso: write usuario [tty]\n"
+
+#: misc-utils/write.c:245
+#, c-format
+msgid "write: %s is not logged in\n"
+msgstr "write: %s no tiene iniciada una sesión\n"
+
+#: misc-utils/write.c:254
+#, c-format
+msgid "write: %s has messages disabled\n"
+msgstr "write: %s tiene los mensajes desactivados\n"
+
+#: misc-utils/write.c:258
+#, 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:325
+#, c-format
+msgid "Message from %s@%s on %s at %s ..."
+msgstr "Mensaje de %s@%s el %s a las %s ..."
+
+#: mount/fstab.c:116
+#, c-format
+msgid "warning: error reading %s: %s"
+msgstr "advertencia: error al leer %s: %s"
+
+#: mount/fstab.c:143 mount/fstab.c:166
+#, c-format
+msgid "warning: can't open %s: %s"
+msgstr "advertencia: no se puede abrir %s: %s"
+
+#: mount/fstab.c:147
+#, 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"
+
+#. linktargetfile does not exist (as a file)
+#. and we cannot create it. Read-only filesystem?
+#. Too many files open in the system? Filesystem full?
+#: mount/fstab.c:375
+#, c-format
+msgid "can't create lock file %s: %s (use -n flag to override)"
+msgstr ""
+"No es posible crear el archivo de bloqueo %s: %s (utilice -n para modificar "
+"este valor)"
+
+#: mount/fstab.c:387
+#, c-format
+msgid "can't link lock file %s: %s (use -n flag to override)"
+msgstr ""
+"No es posible enlazar el archivo de bloqueo %s: %s (utilice -n para "
+"modificar este valor)"
+
+#: mount/fstab.c:399
+#, c-format
+msgid "can't open lock file %s: %s (use -n flag to override)"
+msgstr ""
+"No es posible abrir el archivo de bloqueo %s: %s (utilice -n para modificar "
+"este valor)"
+
+#: mount/fstab.c:414
+#, c-format
+msgid "Can't lock lock file %s: %s\n"
+msgstr "No es posible bloquear el archivo de bloqueo %s: %s\n"
+
+#: mount/fstab.c:427
+#, c-format
+msgid "can't lock lock file %s: %s"
+msgstr "No es posible bloquear el archivo de bloqueo %s: %s"
+
+#: mount/fstab.c:429
+msgid "timed out"
+msgstr "Tiempo de espera excedido"
+
+#: mount/fstab.c:436
+#, c-format
+msgid ""
+"Cannot create link %s\n"
+"Perhaps there is a stale lock file?\n"
+msgstr ""
+"No es posible crear enlace %s\n"
+"Puede que haya un archivo de bloqueo obsoleto.\n"
+
+#: mount/fstab.c:482 mount/fstab.c:490
+#, c-format
+msgid "cannot open %s (%s) - mtab not updated"
+msgstr "No es posible abrir %s (%s) - mtab no actualizado"
+
+#: mount/fstab.c:515
+msgid "mount: warning: cannot change mounted device with a remount\n"
+msgstr ""
+"mount: advertencia: no es posible cambiar el dispositivo montado con un "
+"nuevo montaje\n"
+
+#: mount/fstab.c:520
+msgid "mount: warning: cannot change filesystem type with a remount\n"
+msgstr ""
+"mount: advertencia: no es posible cambiar el sistema de archivos con un "
+"nuevo montaje\n"
+
+#: mount/fstab.c:528 mount/fstab.c:534
+#, c-format
+msgid "error writing %s: %s"
+msgstr "Error al escribir %s: %s"
+
+#: mount/fstab.c:541
+#, c-format
+msgid "error changing mode of %s: %s\n"
+msgstr "Error al cambiar el modo de %s: %s\n"
+
+#: mount/fstab.c:548
+#, c-format
+msgid "can't rename %s to %s: %s\n"
+msgstr "No es posible cambiar el nombre %s por %s: %s\n"
+
+#: mount/lomount.c:78
+#, c-format
+msgid "loop: can't open device %s: %s\n"
+msgstr "loop: no es posible abrir el dispositivo %s: %s\n"
+
+#: mount/lomount.c:84
+#, c-format
+msgid "loop: can't get info on device %s: %s\n"
+msgstr "loop: no es posible obtener información sobre el dispositivo %s: %s\n"
+
+#: mount/lomount.c:89 mount/losetup.c:74
+#, c-format
+msgid "%s: [%04x]:%ld (%s) offset %d, %s encryption\n"
+msgstr "%s: [%04x]:%ld (%s) desplazamiento %d, %s cifrado\n"
+
+#: mount/lomount.c:143
+msgid "mount: could not find any device /dev/loop#"
+msgstr "mount: no es posible encontrar ningún dispositivo /dev/loop#"
+
+#: mount/lomount.c:147
+msgid ""
+"mount: Could not find any loop device.\n"
+"       Maybe /dev/loop# has a wrong major number?"
+msgstr ""
+"mount: No es posible encontrar ningún dispositivo de bucle.\n"
+"       Puede que /dev/loop# tenga un número principal incorrecto."
+
+#: mount/lomount.c:151
+#, c-format
+msgid ""
+"mount: Could not find any loop device, and, according to %s,\n"
+"       this kernel does not know about the loop device.\n"
+"       (If so, then recompile or `insmod loop.o'.)"
+msgstr ""
+"mount: No es posible encontrar ningún dispositivo de bucle y, según %s,\n"
+"       este kernel no conoce el dispositivo de bucle.\n"
+"       (En este caso, vuelva a realizar la compilación o `insmod loop.o'.)"
+
+#: mount/lomount.c:156
+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 kernel "
+"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."
+
+#: mount/lomount.c:160
+msgid "mount: could not find any free loop device"
+msgstr "mount: no se ha encontrado ningún dispositivo de bucle libre"
+
+#: mount/lomount.c:191 mount/losetup.c:106
+#, c-format
+msgid "Unsupported encryption type %s\n"
+msgstr "Tipo de cifrado no soportado %s\n"
+
+#: mount/lomount.c:210 mount/losetup.c:126
+msgid "Init (up to 16 hex digits): "
+msgstr "Inicialización (hasta 16 dígitos hexadecimales): "
+
+#: mount/lomount.c:217 mount/losetup.c:133
+#, c-format
+msgid "Non-hex digit '%c'.\n"
+msgstr "Dígito no hexadecimal '%c'.\n"
+
+#: mount/lomount.c:223 mount/losetup.c:140
+#, c-format
+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"
+
+#: mount/lomount.c:239
+#, c-format
+msgid "set_loop(%s,%s,%d): success\n"
+msgstr "set_loop(%s,%s,%d): ejecución correcta\n"
+
+#: mount/lomount.c:250
+#, 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:260
+#, c-format
+msgid "del_loop(%s): success\n"
+msgstr "del_loop(%s): ejecución correcta\n"
+
+#: mount/lomount.c:268
+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/losetup.c:70
+msgid "Cannot get loop info"
+msgstr "No es posible obtener la información de loop"
+
+#: mount/losetup.c:176
+#, c-format
+msgid ""
+"usage:\n"
+"  %s loop_device                                      # give info\n"
+"  %s -d loop_device                                   # delete\n"
+"  %s [ -e encryption ] [ -o offset ] loop_device file # setup\n"
+msgstr ""
+"uso:\n"
+"  %s dispositivo_bucle                                # dar información\n"
+"  %s -d dispositivo_bucle                             # eliminar\n"
+"  %s [ -e cifrado ] [ -o despl ] disp_bucle archivo   # configurar\n"
+
+#: mount/losetup.c:234
+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/mntent.c:165
+#, c-format
+msgid "[mntent]: warning: no final newline at the end of %s\n"
+msgstr ""
+"[mntent]: advertencia: no hay ninguna nueva línea final al final de %s\n"
+
+#: 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/mntent.c:219
+msgid "; rest of file ignored"
+msgstr "; el resto del archivo no se tiene en cuenta"
+
+#: mount/mount.c:333
+#, 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:336
+#, 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:357
+#, c-format
+msgid "mount: can't open %s for writing: %s"
+msgstr "mount: no es posible abrir %s para escritura: %s"
+
+#: mount/mount.c:372 mount/mount.c:654
+#, c-format
+msgid "mount: error writing %s: %s"
+msgstr "mount: error al escribir %s: %s"
+
+#: mount/mount.c:379
+#, c-format
+msgid "mount: error changing mode of %s: %s"
+msgstr "mount: error al cambiar el modo de %s: %s"
+
+#: mount/mount.c:413
+#, c-format
+msgid "%s looks like swapspace - not mounted"
+msgstr "%s parece espacio de intercambio - no montado"
+
+#: mount/mount.c:481
+msgid "mount failed"
+msgstr "montaje erróneo"
+
+#: mount/mount.c:483
+#, 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:511
+msgid "mount: loop device specified twice"
+msgstr "mount: dispositivo de bucle especificado dos veces"
+
+#: mount/mount.c:517
+msgid "mount: type specified twice"
+msgstr "mount: tipo especificado dos veces"
+
+#: mount/mount.c:529
+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:538
+#, 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:542
+msgid "mount: failed setting up loop device\n"
+msgstr "mount: error al configurar dispositivo de bucle\n"
+
+#: mount/mount.c:546
+msgid "mount: setup loop device successfully\n"
+msgstr "mount: configuración correcta de dispositivo de bucle\n"
+
+#: mount/mount.c:559
+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'"
+
+#: mount/mount.c:610 mount/mount.c:1043
+#, c-format
+msgid "mount: cannot fork: %s"
+msgstr "mount: no es posible bifurcar (fork): %s"
+
+#: mount/mount.c:649
+#, c-format
+msgid "mount: can't open %s: %s"
+msgstr "mount: no es posible abrir %s: %s"
+
+#: mount/mount.c:678
+msgid ""
+"mount: I could not determine the filesystem type, and none was specified"
+msgstr ""
+"mount: no se ha podido determinar tipo de sistema de archivos y no se ha "
+"especificado ninguno"
+
+#: mount/mount.c:681
+msgid "mount: you must specify the filesystem type"
+msgstr "mount: debe especificar el tipo de sistema de archivos"
+
+#. should not happen
+#: mount/mount.c:684
+msgid "mount: mount failed"
+msgstr "mount: montaje erróneo"
+
+#: mount/mount.c:690 mount/mount.c:725
+#, 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:692
+msgid "mount: permission denied"
+msgstr "mount: permiso denegado"
+
+#: mount/mount.c:694
+msgid "mount: must be superuser to use mount"
+msgstr "mount: debe ser superusuario para utilizar mount"
+
+#. heuristic: if /proc/version exists, then probably proc is mounted
+#. proc mounted?
+#: mount/mount.c:698 mount/mount.c:702
+#, c-format
+msgid "mount: %s is busy"
+msgstr "mount: %s está ocupado"
+
+#. no
+#. yes, don't mention it
+#: mount/mount.c:704
+msgid "mount: proc already mounted"
+msgstr "mount: proc ya está montado"
+
+#: mount/mount.c:706
+#, c-format
+msgid "mount: %s already mounted or %s busy"
+msgstr "mount: %s ya está montado o %s está ocupado"
+
+#: mount/mount.c:712
+#, c-format
+msgid "mount: mount point %s does not exist"
+msgstr "mount: el punto de montaje %s no existe"
+
+#: mount/mount.c:714
+#, 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:717
+#, c-format
+msgid "mount: special device %s does not exist"
+msgstr "mount: el dispositivo especial %s no existe"
+
+#: mount/mount.c:727
+#, 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:739
+#, 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:741
+#, c-format
+msgid ""
+"mount: wrong fs type, bad option, bad superblock on %s,\n"
+"       or too many mounted file systems"
+msgstr ""
+"mount: tipo de sistema de archivos incorrecto, opción incorrecta, "
+"superbloque incorrecto en %s,\n"
+"       o número de sistemas de archivos montados excesivo"
+
+#: mount/mount.c:756
+msgid "mount table full"
+msgstr "tabla de dispositivos montados completa"
+
+#: mount/mount.c:758
+#, c-format
+msgid "mount: %s: can't read superblock"
+msgstr "mount: %s: no se puede leer el superbloque"
+
+#: mount/mount.c:761
+#, c-format
+msgid "mount: %s has wrong major or minor number"
+msgstr "mount: %s tiene un número principal o secundario incorrecto"
+
+#: mount/mount.c:766
+#, c-format
+msgid "mount: fs type %s not supported by kernel"
+msgstr ""
+"mount: el tipo de sistema de archivos %s no está soportado por el kernel"
+
+#: mount/mount.c:778
+#, c-format
+msgid "mount: probably you meant %s"
+msgstr "mount: probablemente quería referirse a %s"
+
+#: mount/mount.c:780
+msgid "mount: maybe you meant iso9660 ?"
+msgstr "mount: ¿tal vez quería referirse a iso9660?"
+
+#: mount/mount.c:783
+#, 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 archivos "
+"%s no soportado"
+
+#. strange ...
+#: mount/mount.c:788
+#, 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:790
+#, c-format
+msgid ""
+"mount: the kernel does not recognize %s as a block device\n"
+"       (maybe `insmod driver'?)"
+msgstr ""
+"mount: el kernel no reconoce %s como dispositivo de bloques\n"
+"       (¿tal vez `insmod driver'?)"
+
+#: mount/mount.c:793
+#, 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:796
+#, c-format
+msgid "mount: %s is not a block device"
+msgstr "mount: %s no es un dispositivo de bloques"
+
+#: mount/mount.c:799
+#, 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:803
+#, c-format
+msgid "mount: block device %s is not permitted on its filesystem"
+msgstr ""
+"mount: dispositivo de bloques %s no permitido en este sistema de archivos"
+
+#: mount/mount.c:819
+#, 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:820
+msgid "block device "
+msgstr "dispositivo de bloques "
+
+#: mount/mount.c:907
+#, c-format
+msgid "mount: consider mounting %s by %s\n"
+msgstr "mount: considere la posibilidad de montar %s mediante %s\n"
+
+#: mount/mount.c:908
+msgid "UUID"
+msgstr "UUID"
+
+#: mount/mount.c:908
+msgid "label"
+msgstr "etiqueta"
+
+#: mount/mount.c:910 mount/mount.c:1226
+msgid "mount: no such partition found"
+msgstr "mount: no se ha encontrado esta partición"
+
+#: mount/mount.c:918
+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"
+
+#.
+#. * Retry in the background.
+#.
+#: mount/mount.c:934
+#, c-format
+msgid "mount: backgrounding \"%s\"\n"
+msgstr "mount: ejecutando en segundo plano \"%s\"\n"
+
+#: mount/mount.c:945
+#, c-format
+msgid "mount: giving up \"%s\"\n"
+msgstr "mount: se abandona \"%s\"\n"
+
+#: mount/mount.c:994
+#, c-format
+msgid "mount: %s already mounted on %s\n"
+msgstr "mount: %s ya está montado en %s\n"
+
+#: mount/mount.c:1105
+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"
+
+#: mount/mount.c:1211
+msgid "mount: only root can do that"
+msgstr "mount: sólo el usuario root puede efectuar esta acción"
+
+#: mount/mount.c:1216
+#, c-format
+msgid "mount: no %s found - creating it..\n"
+msgstr "mount: no se ha encontrado %s; se está creando...\n"
+
+#: mount/mount.c:1228
+#, c-format
+msgid "mount: mounting %s\n"
+msgstr "mount: montando %s\n"
+
+#: mount/mount.c:1237
+msgid "not mounted anything"
+msgstr "No se ha montado nada"
+
+#: mount/mount.c:1250
+#, c-format
+msgid "mount: cannot find %s in %s"
+msgstr "mount: no se puede encontrar %s en %s"
+
+#: mount/mount.c:1264
+#, 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_by_label.c:141
+msgid "mount: bad UUID"
+msgstr "mount: UUID incorrecto"
+
+#: mount/mount_guess_fstype.c:251
+#, 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 archivos para %s\n"
+
+#: mount/mount_guess_fstype.c:254
+#, 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_guess_fstype.c:257
+msgid "       and it looks like this is swapspace\n"
+msgstr "       y parece que sea un espacio de intercambio\n"
+
+#: mount/mount_guess_fstype.c:259
+#, c-format
+msgid "       I will try type %s\n"
+msgstr "       Se probará con el tipo %s\n"
+
+#: mount/mount_guess_fstype.c:321
+#, c-format
+msgid "Trying %s\n"
+msgstr "Probando con %s\n"
+
+#: mount/nfsmount.c:157
+msgid "mount: excessively long host:dir argument\n"
+msgstr "mount: argumento host:dir demasiado largo\n"
+
+#: mount/nfsmount.c:170
+msgid "mount: warning: multiple hostnames not supported\n"
+msgstr "mount: advertencia: varios nombres de host no soportados\n"
+
+#: mount/nfsmount.c:174
+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"
+
+#: mount/nfsmount.c:185 mount/nfsmount.c:420
+#, c-format
+msgid "mount: can't get address for %s\n"
+msgstr "mount: no se puede obtener la dirección para %s\n"
+
+#: mount/nfsmount.c:191
+msgid "mount: got bad hp->h_length\n"
+msgstr "mount: valor incorrecto para hp->h_length\n"
+
+#: mount/nfsmount.c:208
+msgid "mount: excessively long option argument\n"
+msgstr "mount: argumento de opción demasiado largo\n"
+
+#: mount/nfsmount.c:299
+msgid "Warning: Unrecognized proto= option.\n"
+msgstr "Advertencia: opción proto= no reconocida.\n"
+
+#: mount/nfsmount.c:306
+msgid "Warning: Option namlen is not supported.\n"
+msgstr "Advertencia: la opción namlen no está soportada.\n"
+
+#: mount/nfsmount.c:310
+#, c-format
+msgid "unknown nfs mount parameter: %s=%d\n"
+msgstr "Parámetro de montaje nfs desconocido: %s=%d\n"
+
+#: mount/nfsmount.c:345
+msgid "Warning: option nolock is not supported.\n"
+msgstr "Advertencia: la opción nolock no está soportada.\n"
+
+#: mount/nfsmount.c:348
+#, c-format
+msgid "unknown nfs mount option: %s%s\n"
+msgstr "Opción de montaje nfs desconocida: %s%s\n"
+
+#: mount/nfsmount.c:426
+msgid "mount: got bad hp->h_length?\n"
+msgstr "mount: ¿valor incorrecto para hp->h_length?\n"
+
+#: mount/nfsmount.c:528
+#, c-format
+msgid "mount: %s:%s failed, reason given by server: %s\n"
+msgstr "mount: %s:%s ha fallado; motivo indicado por servidor: %s\n"
+
+#: mount/nfsmount.c:539
+msgid "NFS over TCP is not supported.\n"
+msgstr "NFS sobre TCP no está soportado.\n"
+
+#: mount/nfsmount.c:546
+msgid "nfs socket"
+msgstr "nfs socket"
+
+#: mount/nfsmount.c:550
+msgid "nfs bindresvport"
+msgstr "nfs bindresvport"
+
+#: mount/nfsmount.c:561
+msgid "used portmapper to find NFS port\n"
+msgstr "Se ha utilizado el asignador de puertos para encontrar el puerto NFS\n"
+
+#: mount/nfsmount.c:565
+#, c-format
+msgid "using port %d for nfs deamon\n"
+msgstr "Utilizando puerto %d para daemon de nfs\n"
+
+#: mount/nfsmount.c:576
+msgid "nfs connect"
+msgstr "nfs connect"
+
+#: mount/nfsmount.c:665
+#, c-format
+msgid "unknown nfs status return value: %d"
+msgstr "Valor de retorno de nfs status desconocido: %d"
+
+#: mount/sundries.c:41 mount/sundries.c:56
+msgid "not enough memory"
+msgstr "No hay suficiente memoria"
+
+#: mount/sundries.c:66
+msgid "bug in xstrndup call"
+msgstr "Error en la llamada xstrndup"
+
+#: mount/swapon.c:51
+#, c-format
+msgid ""
+"usage: %s [-hV]\n"
+"       %s -a [-v]\n"
+"       %s [-v] [-p priority] special ...\n"
+"       %s [-s]\n"
+msgstr ""
+"uso:   %s [-hV]\n"
+"       %s -a [-v]\n"
+"       %s [-v] [-p prioridad] special ...\n"
+"       %s [-s]\n"
+
+#: mount/swapon.c:88
+#, c-format
+msgid "%s on %s\n"
+msgstr "%s en %s\n"
+
+#: mount/swapon.c:93
+#, c-format
+msgid "swapon: cannot stat %s: %s\n"
+msgstr "swapon: no se puede ejecutar stat para %s: %s\n"
+
+#: mount/swapon.c:100
+#, c-format
+msgid "swapon: warning: %s has insecure permissions %04o, 0600 suggested\n"
+msgstr ""
+"swapon: advertencia: %s tiene permisos que no son seguros %04o, 0600 "
+"propuesto\n"
+
+#: mount/swapon.c:108
+#, c-format
+msgid "swapon: Skipping file %s - it appears to have holes.\n"
+msgstr "swapon: omitiendo el archivo %s; parece que tiene huecos.\n"
+
+#: mount/swapon.c:213
+#, c-format
+msgid "%s: cannot open %s: %s\n"
+msgstr "%s: no es posible abrir %s: %s\n"
+
+#: mount/umount.c:69
+msgid "umount: compiled without support for -f\n"
+msgstr "umount: compilado sin soporte para -f\n"
+
+#: mount/umount.c:121
+#, c-format
+msgid "host: %s, directory: %s\n"
+msgstr "host: %s, directorio: %s\n"
+
+#: mount/umount.c:138
+#, c-format
+msgid "umount: can't get address for %s\n"
+msgstr "umount: no se puede obtener la dirección para %s\n"
+
+#: mount/umount.c:143
+msgid "umount: got bad hostp->h_length\n"
+msgstr "umount: valor incorrecto para hostp->h_length\n"
+
+#: mount/umount.c:181
+#, c-format
+msgid "umount: %s: invalid block device"
+msgstr "umount: %s: dispositivo de bloques no válido"
+
+#: mount/umount.c:183
+#, c-format
+msgid "umount: %s: not mounted"
+msgstr "umount: %s: no montado"
+
+#: mount/umount.c:185
+#, c-format
+msgid "umount: %s: can't write superblock"
+msgstr "umount: %s: no se puede escribir el superbloque"
+
+#. Let us hope fstab has a line "proc /proc ..."
+#. and not "none /proc ..."
+#: mount/umount.c:189
+#, c-format
+msgid "umount: %s: device is busy"
+msgstr "umount: %s: dispositivo ocupado"
+
+#: mount/umount.c:191
+#, c-format
+msgid "umount: %s: not found"
+msgstr "umount: %s: no se ha encontrado"
+
+#: mount/umount.c:193
+#, c-format
+msgid "umount: %s: must be superuser to umount"
+msgstr "umount: %s: debe ser superusuario para utilizar umount"
+
+#: mount/umount.c:195
+#, c-format
+msgid "umount: %s: block devices not permitted on fs"
+msgstr ""
+"umount: %s: dispositivos de bloques no permitidos en sistema de archivos"
+
+#: mount/umount.c:197
+#, c-format
+msgid "umount: %s: %s"
+msgstr "umount: %s: %s"
+
+#: mount/umount.c:241
+msgid "no umount2, trying umount...\n"
+msgstr "umount2 no existe; se está probando con umount...\n"
+
+#: mount/umount.c:254
+#, c-format
+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"
+
+#: mount/umount.c:270
+#, 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:278
+#, 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:286
+#, c-format
+msgid "%s umounted\n"
+msgstr "Se ha ejecutado umount en %s\n"
+
+#: mount/umount.c:369
+msgid "umount: cannot find list of filesystems to unmount"
+msgstr ""
+"umount: no se puede encontrar lista de sistemas de archivos para desmontar"
+
+#: mount/umount.c:398
+msgid ""
+"Usage: umount [-hV]\n"
+"       umount -a [-f] [-r] [-n] [-v] [-t vfstypes]\n"
+"       umount [-f] [-r] [-n] [-v] special | node...\n"
+msgstr ""
+"Uso:   umount [-hV]\n"
+"       umount -a [-f] [-r] [-n] [-v] [-t vfstypes]\n"
+"       umount [-f] [-r] [-n] [-v] special | node...\n"
+
+#: mount/umount.c:459
+msgid "umount: only root can do that"
+msgstr "umount: sólo el usuario root puede efectuar esta acción"
+
+#: mount/umount.c:474
+#, c-format
+msgid "Trying to umount %s\n"
+msgstr "Se está intentando ejecutar umount en %s\n"
+
+#: mount/umount.c:478
+#, c-format
+msgid "Could not find %s in mtab\n"
+msgstr "No es posible encontrar %s en mtab\n"
+
+#: mount/umount.c:482
+#, c-format
+msgid "umount: %s is not mounted (according to mtab)"
+msgstr "umount: %s no está montado (según mtab)"
+
+#: mount/umount.c:484
+#, c-format
+msgid "umount: it seems %s is mounted multiple times"
+msgstr "umount: parece que %s se ha montado varias veces"
+
+#: mount/umount.c:496
+#, 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:499
+#, c-format
+msgid "umount: %s mount disagrees with the fstab"
+msgstr "umount: montaje de %s no concuerda con fstab"
+
+#: mount/umount.c:520
+#, c-format
+msgid "umount: only root can unmount %s from %s"
+msgstr "umount: sólo el usuario root puede desmontar %s desde %s"
+
+#: mount/umount.c:531
+#, c-format
+msgid "umount: only %s can unmount %s from %s"
+msgstr "umount: sólo %s puede desmontar %s desde %s"
+
+#: sys-utils/ctrlaltdel.c:26
+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:41
+msgid "Usage: ctrlaltdel hard|soft\n"
+msgstr "Uso: ctrlaltdel hard|soft\n"
+
+#: sys-utils/cytune.c:118
+#, 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 ""
+"Archivo %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:129
+#, 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 ""
+"Archivo %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:196
+#, c-format
+msgid "Invalid interval value: %s\n"
+msgstr "Valor de intervalo no válido: %s\n"
+
+#: sys-utils/cytune.c:204
+#, c-format
+msgid "Invalid set value: %s\n"
+msgstr "Valor establecido no válido: %s\n"
+
+#: sys-utils/cytune.c:212
+#, c-format
+msgid "Invalid default value: %s\n"
+msgstr "Valor predeterminado no válido: %s\n"
+
+#: sys-utils/cytune.c:220
+#, c-format
+msgid "Invalid set time value: %s\n"
+msgstr "Valor de hora establecido no válido: %s\n"
+
+#: sys-utils/cytune.c:228
+#, c-format
+msgid "Invalid default time value: %s\n"
+msgstr "Valor de hora predeterminado no válido: %s\n"
+
+#: sys-utils/cytune.c:245
+#, 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] archivo [archivo...]\n"
+
+#: sys-utils/cytune.c:257 sys-utils/cytune.c:275 sys-utils/cytune.c:294
+#: sys-utils/cytune.c:342
+#, c-format
+msgid "Can't open %s: %s\n"
+msgstr "No se puede abrir %s: %s\n"
+
+#: sys-utils/cytune.c:264
+#, 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:282
+#, 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:299 sys-utils/cytune.c:354 sys-utils/cytune.c:385
+#, 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:305 sys-utils/cytune.c:360 sys-utils/cytune.c:391
+#, 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:309
+#, c-format
+msgid "%s: %ld %s threshold and %ld %s timeout\n"
+msgstr "%s: %ld umbral %s y %ld tiempo de espera %s\n"
+
+#: sys-utils/cytune.c:311 sys-utils/cytune.c:313
+msgid "current"
+msgstr "actual"
+
+#: sys-utils/cytune.c:311 sys-utils/cytune.c:313
+msgid "default"
+msgstr "predeterminado"
+
+#: sys-utils/cytune.c:330
+msgid "Can't set signal handler"
+msgstr "No se puede establecer el manejador de señales"
+
+#: sys-utils/cytune.c:334 sys-utils/cytune.c:369
+msgid "gettimeofday failed"
+msgstr "gettimeofday ha fallado"
+
+#: sys-utils/cytune.c:347 sys-utils/cytune.c:379
+#, 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:421
+#, c-format
+msgid "%s: %lu ints, %lu/%lu chars; "
+msgstr "%s: %lu enteros, %lu/%lu caracteres; "
+
+#: sys-utils/cytune.c:422
+#, c-format
+msgid "fifo: %lu thresh, %lu tmout, "
+msgstr "fifo: %lu umbral, %lu tiempo espera, "
+
+#: sys-utils/cytune.c:423
+#, c-format
+msgid "%lu max, %lu now\n"
+msgstr "%lu máx, %lu ahora\n"
+
+#: sys-utils/cytune.c:428
+#, 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:433
+#, 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:438
+#, 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:38
+#, c-format
+msgid "Usage: %s [-c] [-n level] [-s bufsize]\n"
+msgstr "Uso: %s [-c] [-n nivel] [-s tamañobúfer]\n"
+
+#: sys-utils/ipcrm.c:46
+#, c-format
+msgid "usage: %s [shm | msg | sem] id\n"
+msgstr "uso: %s [shm | msg | sem] id\n"
+
+#: sys-utils/ipcrm.c:70
+#, c-format
+msgid "usage: %s [-shm | -msg | -sem] id\n"
+msgstr "uso: %s [-shm | -msg | -sem] id\n"
+
+#: sys-utils/ipcrm.c:73
+msgid "resource deleted\n"
+msgstr "Recurso suprimido\n"
+
+#: sys-utils/ipcs.c:117
+#, c-format
+msgid "usage : %s -asmq -tclup \n"
+msgstr "uso: %s -asmq -tclup \n"
+
+#: sys-utils/ipcs.c:118
+#, c-format
+msgid "\t%s [-s -m -q] -i id\n"
+msgstr "\t%s [-s -m -q] -i id\n"
+
+#: sys-utils/ipcs.c:119
+#, c-format
+msgid "\t%s -h for help.\n"
+msgstr "\t%s -h para obtener ayuda.\n"
+
+#: sys-utils/ipcs.c:125
+#, c-format
+msgid "%s provides information on ipc facilities for"
+msgstr "%s facilita información sobre los recursos ipc para"
+
+#: sys-utils/ipcs.c:126
+msgid " which you have read access.\n"
+msgstr " los que tiene acceso de lectura.\n"
+
+#: sys-utils/ipcs.c:127
+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:128
+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:129
+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:130
+msgid ""
+"\t-l : limits\n"
+"\t-u : summary\n"
+msgstr ""
+"\t-l : límites\n"
+"\t-u : resumen\n"
+
+#: sys-utils/ipcs.c:131
+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:263 sys-utils/ipcs.c:465
+msgid "kernel not configured for shared memory\n"
+msgstr "Kernel no configurado para memoria compartida\n"
+
+#: sys-utils/ipcs.c:269
+msgid "------ Shared Memory Limits --------\n"
+msgstr "---- Límites memoria compartida ----\n"
+
+#: sys-utils/ipcs.c:272
+#, c-format
+msgid "max number of segments = %d\n"
+msgstr "número máx. segmentos = %d\n"
+
+#: sys-utils/ipcs.c:273
+#, c-format
+msgid "max seg size (kbytes) = %d\n"
+msgstr "tamaño máx. segmento (kbytes) = %d\n"
+
+#: sys-utils/ipcs.c:274
+#, c-format
+msgid "max total shared memory (kbytes) = %d\n"
+msgstr "total máx. memoria compartida (kbytes) = %d\n"
+
+#: sys-utils/ipcs.c:275
+#, c-format
+msgid "min seg size (bytes) = %d\n"
+msgstr "tamaño mín. segmento (bytes) = %d\n"
+
+#: sys-utils/ipcs.c:279
+msgid "------ Shared Memory Status --------\n"
+msgstr "----- Estado memoria compartida ----\n"
+
+#: sys-utils/ipcs.c:280
+#, c-format
+msgid "segments allocated %d\n"
+msgstr "segmentos asignados %d\n"
+
+#: sys-utils/ipcs.c:281
+#, c-format
+msgid "pages allocated %ld\n"
+msgstr "páginas asignadas %ld\n"
+
+#: sys-utils/ipcs.c:282
+#, c-format
+msgid "pages resident  %ld\n"
+msgstr "páginas residentes %ld\n"
+
+#: sys-utils/ipcs.c:283
+#, c-format
+msgid "pages swapped   %ld\n"
+msgstr "páginas intercambiadas %ld\n"
+
+#: sys-utils/ipcs.c:284
+#, 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:289
+msgid "------ Shared Memory Segment Creators/Owners --------\n"
+msgstr "-- Creadores/propietarios segmento mem. compartida --\n"
+
+#: sys-utils/ipcs.c:290 sys-utils/ipcs.c:396 sys-utils/ipcs.c:488
+#, c-format
+msgid "%-10s%-10s%-10s%-10s%-10s%-10s\n"
+msgstr "%-10s%-10s%-10s%-10s%-10s%-10s\n"
+
+#: sys-utils/ipcs.c:291 sys-utils/ipcs.c:297 sys-utils/ipcs.c:302
+#: sys-utils/ipcs.c:307 sys-utils/ipcs.c:403
+msgid "shmid"
+msgstr "shmid"
+
+#: sys-utils/ipcs.c:291 sys-utils/ipcs.c:308 sys-utils/ipcs.c:397
+#: sys-utils/ipcs.c:412 sys-utils/ipcs.c:489 sys-utils/ipcs.c:506
+msgid "perms"
+msgstr "perms"
+
+#: sys-utils/ipcs.c:291 sys-utils/ipcs.c:397 sys-utils/ipcs.c:489
+msgid "cuid"
+msgstr "cuid"
+
+#: sys-utils/ipcs.c:291 sys-utils/ipcs.c:397 sys-utils/ipcs.c:489
+msgid "cgid"
+msgstr "cgid"
+
+#: sys-utils/ipcs.c:291 sys-utils/ipcs.c:397 sys-utils/ipcs.c:489
+msgid "uid"
+msgstr "uid"
+
+#: sys-utils/ipcs.c:291 sys-utils/ipcs.c:489
+msgid "gid"
+msgstr "gid"
+
+#: sys-utils/ipcs.c:295
+msgid "------ Shared Memory Attach/Detach/Change Times --------\n"
+msgstr "-- Tiempos conexión/desconexión/modificac. mem. comp. --\n"
+
+#: sys-utils/ipcs.c:296
+#, c-format
+msgid "%-10s%-10s  %-20s%-20s%-20s\n"
+msgstr "%-10s%-10s  %-20s%-20s%-20s\n"
+
+#: sys-utils/ipcs.c:297 sys-utils/ipcs.c:302 sys-utils/ipcs.c:308
+#: sys-utils/ipcs.c:403 sys-utils/ipcs.c:412 sys-utils/ipcs.c:495
+#: sys-utils/ipcs.c:500 sys-utils/ipcs.c:506
+msgid "owner"
+msgstr "propietario"
+
+#: sys-utils/ipcs.c:297
+msgid "attached"
+msgstr "conectado"
+
+#: sys-utils/ipcs.c:297
+msgid "detached"
+msgstr "desconectado"
+
+#: sys-utils/ipcs.c:297
+msgid "changed"
+msgstr "modificado"
+
+#: sys-utils/ipcs.c:301
+msgid "------ Shared Memory Creator/Last-op --------\n"
+msgstr "---- Creador/último op. memoria compart. ----\n"
+
+#: sys-utils/ipcs.c:302 sys-utils/ipcs.c:500
+#, c-format
+msgid "%-10s%-10s%-10s%-10s\n"
+msgstr "%-10s%-10s%-10s%-10s\n"
+
+#: sys-utils/ipcs.c:302
+msgid "cpid"
+msgstr "cpid"
+
+#: sys-utils/ipcs.c:302
+msgid "lpid"
+msgstr "lpid"
+
+#: sys-utils/ipcs.c:306
+msgid "------ Shared Memory Segments --------\n"
+msgstr "---- Segmentos memoria compartida ----\n"
+
+#: sys-utils/ipcs.c:307
+#, c-format
+msgid "%-10s%-10s%-10s%-10s%-10s%-10s%-12s\n"
+msgstr "%-10s%-10s%-10s%-10s%-10s%-10s%-12s\n"
+
+#: sys-utils/ipcs.c:307 sys-utils/ipcs.c:412 sys-utils/ipcs.c:505
+msgid "key"
+msgstr "key"
+
+#: sys-utils/ipcs.c:308
+msgid "bytes"
+msgstr "bytes"
+
+#: sys-utils/ipcs.c:308
+msgid "nattch"
+msgstr "nattch"
+
+#: sys-utils/ipcs.c:308 sys-utils/ipcs.c:412
+msgid "status"
+msgstr "estado"
+
+#: sys-utils/ipcs.c:328 sys-utils/ipcs.c:329 sys-utils/ipcs.c:330
+#: sys-utils/ipcs.c:433 sys-utils/ipcs.c:434 sys-utils/ipcs.c:526
+#: sys-utils/ipcs.c:527 sys-utils/ipcs.c:528
+msgid "Not set"
+msgstr "No establecido"
+
+#: sys-utils/ipcs.c:350
+msgid "dest"
+msgstr "dest"
+
+#: sys-utils/ipcs.c:351
+msgid "locked"
+msgstr "bloqueado"
+
+#: sys-utils/ipcs.c:371
+msgid "kernel not configured for semaphores\n"
+msgstr "Kernel no configurado para semáforos\n"
+
+#: sys-utils/ipcs.c:377
+msgid "------ Semaphore Limits --------\n"
+msgstr "------ Límites semáforo --------\n"
+
+#: sys-utils/ipcs.c:381
+#, c-format
+msgid "max number of arrays = %d\n"
+msgstr "número máximo de matrices = %d\n"
+
+#: sys-utils/ipcs.c:382
+#, c-format
+msgid "max semaphores per array = %d\n"
+msgstr "máx. semáforos por matriz = %d\n"
+
+#: sys-utils/ipcs.c:383
+#, c-format
+msgid "max semaphores system wide = %d\n"
+msgstr "máx. semáforos sistema = %d\n"
+
+#: sys-utils/ipcs.c:384
+#, c-format
+msgid "max ops per semop call = %d\n"
+msgstr "máx. oper. por llamada semop = %d\n"
+
+#: sys-utils/ipcs.c:385
+#, c-format
+msgid "semaphore max value = %d\n"
+msgstr "valor máx. semáforo = %d\n"
+
+#: sys-utils/ipcs.c:389
+msgid "------ Semaphore Status --------\n"
+msgstr "------ Estado semáforo ---------\n"
+
+#: sys-utils/ipcs.c:390
+#, c-format
+msgid "used arrays = %d\n"
+msgstr "matrices utilizadas = %d\n"
+
+#: sys-utils/ipcs.c:391
+#, c-format
+msgid "allocated semaphores = %d\n"
+msgstr "semáforos asignados = %d\n"
+
+#: sys-utils/ipcs.c:395
+msgid "------ Semaphore Arrays Creators/Owners --------\n"
+msgstr "---- Creadores/propietarios matrices semáf. ----\n"
+
+#: sys-utils/ipcs.c:397 sys-utils/ipcs.c:412
+msgid "semid"
+msgstr "semid"
+
+#: sys-utils/ipcs.c:401
+msgid "------ Shared Memory Operation/Change Times --------\n"
+msgstr "--- Tiempos operación/modificación memoria comp. ---\n"
+
+#: sys-utils/ipcs.c:402
+#, c-format
+msgid "%-8s%-10s  %-26.24s %-26.24s\n"
+msgstr "%-8s%-10s  %-26.24s %-26.24s\n"
+
+#: sys-utils/ipcs.c:403
+msgid "last-op"
+msgstr "última operación"
+
+#: sys-utils/ipcs.c:403
+msgid "last-changed"
+msgstr "última modificación"
+
+#: sys-utils/ipcs.c:410
+msgid "------ Semaphore Arrays --------\n"
+msgstr "------ Matrices semáforo -------\n"
+
+#: sys-utils/ipcs.c:411
+#, c-format
+msgid "%-10s%-10s%-10s%-10s%-10s%-12s\n"
+msgstr "%-10s%-10s%-10s%-10s%-10s%-12s\n"
+
+#: sys-utils/ipcs.c:412
+msgid "nsems"
+msgstr "nsems"
+
+#: sys-utils/ipcs.c:473
+msgid "------ Messages: Limits --------\n"
+msgstr "------ Mensajes: límites -------\n"
+
+#: sys-utils/ipcs.c:474
+#, c-format
+msgid "max queues system wide = %d\n"
+msgstr "máx. colas sistema = %d\n"
+
+#: sys-utils/ipcs.c:475
+#, c-format
+msgid "max size of message (bytes) = %d\n"
+msgstr "tamaño máx. mensaje (bytes) = %d\n"
+
+#: sys-utils/ipcs.c:476
+#, 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:480
+msgid "------ Messages: Status --------\n"
+msgstr "------ Mensajes: estado --------\n"
+
+#: sys-utils/ipcs.c:481
+#, c-format
+msgid "allocated queues = %d\n"
+msgstr "colas asignadas = %d\n"
+
+#: sys-utils/ipcs.c:482
+#, c-format
+msgid "used headers = %d\n"
+msgstr "cabeceras utilizadas = %d\n"
+
+#: sys-utils/ipcs.c:483
+#, c-format
+msgid "used space = %d bytes\n"
+msgstr "espacio utilizado = %d bytes\n"
+
+#: sys-utils/ipcs.c:487
+msgid "------ Message Queues: Creators/Owners --------\n"
+msgstr "-- Colas de mensajes: creadores/propietarios --\n"
+
+#: sys-utils/ipcs.c:489 sys-utils/ipcs.c:495 sys-utils/ipcs.c:500
+#: sys-utils/ipcs.c:505
+msgid "msqid"
+msgstr "msqid"
+
+#: sys-utils/ipcs.c:493
+msgid "------ Message Queues Send/Recv/Change Times --------\n"
+msgstr "--- Tiempos envío/recep./modific. colas mensajes ----\n"
+
+#: sys-utils/ipcs.c:494
+#, c-format
+msgid "%-8s%-10s  %-20s%-20s%-20s\n"
+msgstr "%-8s%-10s  %-20s%-20s%-20s\n"
+
+#: sys-utils/ipcs.c:495
+msgid "send"
+msgstr "envío"
+
+#: sys-utils/ipcs.c:495
+msgid "recv"
+msgstr "recepción"
+
+#: sys-utils/ipcs.c:495
+msgid "change"
+msgstr "modificación"
+
+#: sys-utils/ipcs.c:499
+msgid "------ Message Queues PIDs --------\n"
+msgstr "----- PID de colas de mensajes ----\n"
+
+#: sys-utils/ipcs.c:500
+msgid "lspid"
+msgstr "lspid"
+
+#: sys-utils/ipcs.c:500
+msgid "lrpid"
+msgstr "lrpid"
+
+#: sys-utils/ipcs.c:504
+msgid "------ Message Queues --------\n"
+msgstr "------ Colas de mensajes -----\n"
+
+#: sys-utils/ipcs.c:505
+#, c-format
+msgid "%-10s%-10s%-10s%-10s%-12s%-12s\n"
+msgstr "%-10s%-10s%-10s%-10s%-12s%-12s\n"
+
+#: sys-utils/ipcs.c:506
+msgid "used-bytes"
+msgstr "bytes utilizados"
+
+#: sys-utils/ipcs.c:506
+msgid "messages"
+msgstr "mensajes"
+
+#: sys-utils/ipcs.c:565
+#, c-format
+msgid ""
+"\n"
+"Shared memory Segment shmid=%d\n"
+msgstr ""
+"\n"
+"Segmento de memoria compartida shmid=%d\n"
+
+#: sys-utils/ipcs.c:566
+#, 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:568
+#, c-format
+msgid "mode=%#o\taccess_perms=%#o\n"
+msgstr "mode=%#o\taccess_perms=%#o\n"
+
+#: sys-utils/ipcs.c:569
+#, c-format
+msgid "bytes=%d\tlpid=%d\tcpid=%d\tnattch=%d\n"
+msgstr "bytes=%d\tlpid=%d\tcpid=%d\tnattch=%d\n"
+
+#: sys-utils/ipcs.c:572
+#, c-format
+msgid "att_time=%s"
+msgstr "att_time=%s"
+
+#: sys-utils/ipcs.c:573 sys-utils/ipcs.c:575 sys-utils/ipcs.c:624
+msgid "Not set\n"
+msgstr "No establecido\n"
+
+#: sys-utils/ipcs.c:574
+#, c-format
+msgid "det_time=%s"
+msgstr "det_time=%s"
+
+#: sys-utils/ipcs.c:576
+#, c-format
+msgid "change_time=%s"
+msgstr "change_time=%s"
+
+#: sys-utils/ipcs.c:592
+#, c-format
+msgid ""
+"\n"
+"Message Queue msqid=%d\n"
+msgstr ""
+"\n"
+"Cola de mensajes msqid=%d\n"
+
+#: sys-utils/ipcs.c:593
+#, 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:595
+#, c-format
+msgid "cbytes=%d\tqbytes=%d\tqnum=%d\tlspid=%d\tlrpid=%d\n"
+msgstr "cbytes=%d\tqbytes=%d\tqnum=%d\tlspid=%d\tlrpid=%d\n"
+
+#: sys-utils/ipcs.c:598
+#, c-format
+msgid "send_time=%srcv_time=%schange_time=%s"
+msgstr "send_time=%srcv_time=%schange_time=%s"
+
+#: sys-utils/ipcs.c:599 sys-utils/ipcs.c:600 sys-utils/ipcs.c:601
+msgid "Not Set\n"
+msgstr "No establecido\n"
+
+#: sys-utils/ipcs.c:618
+#, c-format
+msgid ""
+"\n"
+"Semaphore Array semid=%d\n"
+msgstr ""
+"\n"
+"semid de matriz de semáforos=%d\n"
+
+#: sys-utils/ipcs.c:619
+#, 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:621
+#, c-format
+msgid "mode=%#o, access_perms=%#o\n"
+msgstr "mode=%#o, access_perms=%#o\n"
+
+#: sys-utils/ipcs.c:622
+#, c-format
+msgid "nsems = %d\n"
+msgstr "nsems = %d\n"
+
+#: sys-utils/ipcs.c:623
+#, c-format
+msgid "otime = %s"
+msgstr "otime = %s"
+
+#: sys-utils/ipcs.c:625
+#, c-format
+msgid "ctime = %s"
+msgstr "ctime = %s"
+
+#: sys-utils/ipcs.c:627
+#, c-format
+msgid "%-10s%-10s%-10s%-10s%-10s\n"
+msgstr "%-10s%-10s%-10s%-10s%-10s\n"
+
+#: sys-utils/ipcs.c:627
+msgid "semnum"
+msgstr "semnum"
+
+#: sys-utils/ipcs.c:627
+msgid "value"
+msgstr "value"
+
+#: sys-utils/ipcs.c:627
+msgid "ncount"
+msgstr "ncount"
+
+#: sys-utils/ipcs.c:628
+msgid "zcount"
+msgstr "zcount"
+
+#: sys-utils/ipcs.c:628
+msgid "pid"
+msgstr "pid"
+
+#: sys-utils/rdev.c:68
+msgid "usage: rdev [ -rsv ] [ -o OFFSET ] [ IMAGE [ VALUE [ OFFSET ] ] ]"
+msgstr ""
+"uso: rdev [ -rsv ] [ -o DESPLAZAMIENTO ] [ IMAGEN [ VALOR [ DESPLAZAMIENTO ] "
+"] ]"
+
+#: sys-utils/rdev.c:69
+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:70
+msgid "  rdev /dev/fd0 /dev/hda2         sets ROOT to /dev/hda2"
+msgstr "  rdev /dev/fd0 /dev/hda2         Establecer ROOT en /dev/hda2"
+
+#: sys-utils/rdev.c:71
+msgid "  rdev -R /dev/fd0 1              set the ROOTFLAGS (readonly status)"
+msgstr ""
+"  rdev -R /dev/fd0 1              Establecer ROOTFLAGS (estado de sólo "
+"lectura)"
+
+#: sys-utils/rdev.c:72
+msgid "  rdev -s /dev/fd0 /dev/hda2      set the SWAP device"
+msgstr "  rdev -s /dev/fd0 /dev/hda2      Establecer dispositivo SWAP"
+
+#: sys-utils/rdev.c:73
+msgid "  rdev -r /dev/fd0 627            set the RAMDISK size"
+msgstr "  rdev -r /dev/fd0 627            Establecer tamaño de RAMDISK"
+
+#: sys-utils/rdev.c:74
+msgid "  rdev -v /dev/fd0 1              set the bootup VIDEOMODE"
+msgstr "  rdev -v /dev/fd0 1              Establecer VIDEOMODE de inicio"
+
+#: sys-utils/rdev.c:75
+msgid "  rdev -o N ...                   use the byte offset N"
+msgstr "  rdev -o N ...                   Utilizar desplazamiento de bytes N"
+
+#: sys-utils/rdev.c:76
+msgid "  rootflags ...                   same as rdev -R"
+msgstr "  rootflags ...                   Igual que rdev -R"
+
+#: sys-utils/rdev.c:77
+msgid "  swapdev ...                     same as rdev -s"
+msgstr "  swapdev ...                     Igual que rdev -s"
+
+#: sys-utils/rdev.c:78
+msgid "  ramsize ...                     same as rdev -r"
+msgstr "  ramsize ...                     Igual que rdev -r"
+
+#: sys-utils/rdev.c:79
+msgid "  vidmode ...                     same as rdev -v"
+msgstr "  vidmode ...                     Igual que rdev -v"
+
+#: sys-utils/rdev.c:80
+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, 1=key1, "
+"2=key2,..."
+
+#: sys-utils/rdev.c:81
+msgid "      use -R 1 to mount root readonly, -R 0 for read/write."
+msgstr ""
+"      Utilizar -R 1 para montar root como de sólo lectura; -R 0 para "
+"lectura/escritura."
+
+#: sys-utils/readprofile.c:52
+#, c-format
+msgid ""
+"%s: Usage: \"%s [options]\n"
+"\t -m <mapfile>  (default = \"%s\")\n"
+"\t -p <pro-file> (default = \"%s\")\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 -r            reset all the counters (root only)\n"
+"\t -V            print version and exit\n"
+msgstr ""
+"%s: Uso: \"%s [opciones]\n"
+"\t -m <archmapa> (Valor predeterminado = \"%s\")\n"
+"\t -p <archivo>  (Valor predeterminado = \"%s\")\n"
+"\t -i            Imprimir sólo información sobre paso de muestreo\n"
+"\t -v            Imprimir datos detallados\n"
+"\t -a            Imprimir todos los símbolos, incluso si número total es 0\n"
+"\t -r            Restablecer todos los contadores (sólo root)\n"
+"\t -V            Imprimir versión y salir\n"
+
+#: sys-utils/readprofile.c:116
+#, c-format
+msgid "%s Version %s\n"
+msgstr "%s Versión %s\n"
+
+#: sys-utils/readprofile.c:128
+msgid "anything\n"
+msgstr "cualquier cosa\n"
+
+#: sys-utils/readprofile.c:157
+#, c-format
+msgid "Sampling_step: %i\n"
+msgstr "Paso de sondeo: %i\n"
+
+#: sys-utils/readprofile.c:170 sys-utils/readprofile.c:196
+#, c-format
+msgid "%s: %s(%i): wrong map line\n"
+msgstr "%s: %s(%i): línea de mapa incorrecta\n"
+
+#: sys-utils/readprofile.c:183
+#, 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:226
+msgid "total"
+msgstr "total"
+
+#: sys-utils/renice.c:67
+msgid ""
+"usage: renice priority [ [ -p ] pids ] [ [ -g ] pgrps ] [ [ -u ] users ]\n"
+msgstr ""
+"uso: renice prioridad [ [ -p ] pids ] [ [ -g ] pgrps ] [ [ -u ] usuarios ]\n"
+
+#: sys-utils/renice.c:94
+#, c-format
+msgid "renice: %s: unknown user\n"
+msgstr "renice: %s: usuario desconocido\n"
+
+#: sys-utils/renice.c:102
+#, c-format
+msgid "renice: %s: bad value\n"
+msgstr "renice: %s: valor incorrecto\n"
+
+#: sys-utils/renice.c:121
+msgid "getpriority"
+msgstr "getpriority"
+
+#: sys-utils/renice.c:126
+msgid "setpriority"
+msgstr "setpriority"
+
+#: sys-utils/renice.c:129
+#, c-format
+msgid "%d: old priority %d, new priority %d\n"
+msgstr "%d: prioridad antigua %d, nueva prioridad %d\n"
+
+#: sys-utils/setsid.c:23
+#, c-format
+msgid "usage: %s program [arg ...]\n"
+msgstr "uso: %s programa [arg ...]\n"
+
+#: sys-utils/tunelp.c:73
+#, 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 <CARACT.> | -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:89
+msgid "malloc error"
+msgstr "Error de asignación de memoria"
+
+#: sys-utils/tunelp.c:100
+#, c-format
+msgid "%s: bad value\n"
+msgstr "%s: valor incorrecto\n"
+
+#: sys-utils/tunelp.c:237
+#, c-format
+msgid "%s: %s not an lp device.\n"
+msgstr "%s: %s no es un dispositivo lp.\n"
+
+#: sys-utils/tunelp.c:258
+#, c-format
+msgid "%s status is %d"
+msgstr "El estado de %s es %d"
+
+#: sys-utils/tunelp.c:259
+msgid ", busy"
+msgstr ", ocupado"
+
+#: sys-utils/tunelp.c:260
+msgid ", ready"
+msgstr ", preparado"
+
+#: sys-utils/tunelp.c:261
+msgid ", out of paper"
+msgstr ", falta papel"
+
+#: sys-utils/tunelp.c:262
+msgid ", on-line"
+msgstr ", en línea"
+
+#: sys-utils/tunelp.c:263
+msgid ", error"
+msgstr ", error"
+
+#: sys-utils/tunelp.c:280
+msgid "LPGETIRQ error"
+msgstr "error de LPGETIRQ"
+
+#: sys-utils/tunelp.c:286
+#, c-format
+msgid "%s using IRQ %d\n"
+msgstr "%s utilizando IRQ %d\n"
+
+#: sys-utils/tunelp.c:288
+#, c-format
+msgid "%s using polling\n"
+msgstr "%s utilizando sondeo\n"
+
+#: text-utils/col.c:153
+#, c-format
+msgid "col: bad -l argument %s.\n"
+msgstr "col: argumento -l incorrecto %s.\n"
+
+#: text-utils/col.c:516
+msgid "usage: col [-bfx] [-l nline]\n"
+msgstr "uso: col [-bfx] [-l nline]\n"
+
+#: text-utils/col.c:522
+msgid "col: write error.\n"
+msgstr "col: error de escritura.\n"
+
+#: text-utils/col.c:529
+#, c-format
+msgid "col: warning: can't back up %s.\n"
+msgstr "col: advertencia: no se puede hacer copia de seguridad de %s.\n"
+
+#: text-utils/col.c:530
+msgid "past first line"
+msgstr "más allá de primera línea"
+
+#: text-utils/col.c:530
+msgid "-- line already flushed"
+msgstr "-- línea ya vaciada"
+
+#: text-utils/colcrt.c:98
+#, c-format
+msgid "usage: %s [ - ] [ -2 ] [ file ... ]\n"
+msgstr "uso: %s [ - ] [ -2 ] [ archivo ... ]\n"
+
+#: text-utils/column.c:302
+msgid "line too long"
+msgstr "línea demasiado larga"
+
+#: text-utils/column.c:379
+msgid "usage: column [-tx] [-c columns] [file ...]\n"
+msgstr "uso: column [-tx] [-c columnas] [archivo ...]\n"
+
+#: text-utils/hexsyntax.c:80
+msgid "hexdump: bad length value.\n"
+msgstr "hexdump: valor de longitud incorrecto.\n"
+
+#: text-utils/hexsyntax.c:91
+msgid "hexdump: bad skip value.\n"
+msgstr "hexdump: valor de salto incorrecto.\n"
+
+#: text-utils/hexsyntax.c:129
+msgid ""
+"hexdump: [-bcdovx] [-e fmt] [-f fmt_file] [-n length] [-s skip] [file ...]\n"
+msgstr ""
+"hexdump: [-bcdovx] [-e fmt] [-f archivo_fmt] [-n longitud] [-s omitir] "
+"[archivo ...]\n"
+
+#: text-utils/more.c:329
+#, c-format
+msgid "usage: %s [-dfln] [+linenum | +/pattern] name1 name2 ...\n"
+msgstr "uso: %s [-dfln] [+númlíneas | +/patrón] nombre1 nombre2 ...\n"
+
+#: text-utils/more.c:504
+#, c-format
+msgid ""
+"\n"
+"*** %s: directory ***\n"
+"\n"
+msgstr ""
+"\n"
+"*** %s: directorio ***\n"
+"\n"
+
+#. simple ELF detection
+#: text-utils/more.c:543
+#, c-format
+msgid ""
+"\n"
+"******** %s: Not a text file ********\n"
+"\n"
+msgstr ""
+"\n"
+"*** %s: No es un archivo de texto ***\n"
+"\n"
+
+#: text-utils/more.c:647
+msgid "[Use q or Q to quit]"
+msgstr "[Utilizar q o Q para salir]"
+
+#: text-utils/more.c:833
+msgid "--More--"
+msgstr "--Más--"
+
+#: text-utils/more.c:835
+#, c-format
+msgid "(Next file: %s)"
+msgstr "(Siguiente archivo: %s)"
+
+#: text-utils/more.c:841
+msgid "[Press space to continue, 'q' to quit.]"
+msgstr "[Presione la barra espaciadora para continuar; 'q' para salir.]"
+
+#: text-utils/more.c:1139
+#, c-format
+msgid "...back %d page"
+msgstr "...retroceder %d página"
+
+#: text-utils/more.c:1185
+#, c-format
+msgid "...skipping %d line"
+msgstr "...omitiendo la línea %d"
+
+#: text-utils/more.c:1226
+msgid ""
+"\n"
+"***Back***\n"
+"\n"
+msgstr ""
+"\n"
+"***Atrás***\n"
+"\n"
+
+#: text-utils/more.c:1264
+msgid "Can't open help file"
+msgstr "No es posible abrir el archivo"
+
+#: text-utils/more.c:1285 text-utils/more.c:1289
+msgid "[Press 'h' for instructions.]"
+msgstr "[Presione 'h' para consultar las instrucciones.]"
+
+#: text-utils/more.c:1324
+#, c-format
+msgid "\"%s\" line %d"
+msgstr "\"%s\" línea %d"
+
+#: text-utils/more.c:1326
+#, c-format
+msgid "[Not a file] line %d"
+msgstr "[No es un archivo] línea %d"
+
+#: text-utils/more.c:1410
+msgid "  Overflow\n"
+msgstr "  Desbordamiento\n"
+
+#: text-utils/more.c:1457
+msgid "...skipping\n"
+msgstr "...omitiendo\n"
+
+#: text-utils/more.c:1487
+msgid "Regular expression botch"
+msgstr "Error en expresión regular"
+
+#: text-utils/more.c:1499
+msgid ""
+"\n"
+"Pattern not found\n"
+msgstr ""
+"\n"
+"Patrón no encontrado\n"
+
+#: text-utils/more.c:1502
+msgid "Pattern not found"
+msgstr "Patrón no encontrado"
+
+#: text-utils/more.c:1563
+msgid "can't fork\n"
+msgstr "no se puede bifurcar\n"
+
+#: text-utils/more.c:1602
+msgid ""
+"\n"
+"...Skipping "
+msgstr ""
+"\n"
+"...Saltando "
+
+#: text-utils/more.c:1606
+msgid "...Skipping "
+msgstr "...Saltando "
+
+#: text-utils/more.c:1607
+msgid "to file "
+msgstr "al archivo "
+
+#: text-utils/more.c:1607
+msgid "back to file "
+msgstr "hacia atrás al archivo "
+
+#: text-utils/more.c:1846
+msgid "Line too long"
+msgstr "Línea demasiado larga"
+
+#: text-utils/more.c:1890
+msgid "No previous command to substitute for"
+msgstr "No hay ningún comando anterior para sustituir"
+
+#: text-utils/odsyntax.c:133
+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:136
+#, 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:137
+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
+msgid "hexdump: line too long.\n"
+msgstr "hexdump: línea demasiado larga.\n"
+
+#: text-utils/parse.c:406
+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:490
+#, 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:497
+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:503
+#, c-format
+msgid "hexdump: bad format {%s}\n"
+msgstr "hexdump: formato incorrecto {%s}\n"
+
+#: text-utils/parse.c:509
+msgid "hexdump: bad conversion character %%%s.\n"
+msgstr "hexdump: carácter de conversión %%%s incorrecto.\n"
+
+#: text-utils/rev.c:114
+msgid "Unable to allocate bufferspace\n"
+msgstr "No es posible asignar espacio de búfer\n"
+
+#: text-utils/rev.c:173
+msgid "usage: rev [file ...]\n"
+msgstr "uso: rev [archivo ...]\n"
+
+#: text-utils/ul.c:141
+#, c-format
+msgid "usage: %s [ -i ] [ -tTerm ] file...\n"
+msgstr "uso: %s [ -i ] [ -tTerminal ] archivo...\n"
+
+#: text-utils/ul.c:152
+msgid "trouble reading terminfo"
+msgstr "Problemas al leer terminfo"
+
+#: text-utils/ul.c:241
+#, 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:398
+msgid "Unable to allocate buffer.\n"
+msgstr "No es posible asignar el búfer.\n"
+
+#: text-utils/ul.c:555
+msgid "Input line too long.\n"
+msgstr "Línea de entrada demasiado larga.\n"
+
+#: text-utils/ul.c:568
+msgid "Out of memory when growing buffer.\n"
+msgstr "No queda memoria al aumentar el tamaño del búfer.\n"
+
+#: kbd/kbdrate.c:138 kbd/kbdrate.c:276
+#, c-format
+msgid "Typematic Rate set to %.1f cps (delay = %d ms)\n"
+msgstr "Velocidad del teclado establecida en %.1f cps (retardo = %d ms)\n"
+
+#: kbd/kbdrate.c:222
+msgid "Usage: kbdrate [-V] [-s] [-r rate] [-d delay]\n"
+msgstr "Uso: kbdrate [-V] [-s] [-r velocidad] [-d retardo]\n"
+
+#: kbd/kbdrate.c:252
+msgid "Cannot open /dev/port"
+msgstr "No es posible abrir /dev/port"
index c26f86fda1f2523a18829413cbfc65a29b955bff..e9c44c24a19adf84c91749f1c1111071374bd045 100644 (file)
--- a/po/fr.po
+++ b/po/fr.po
@@ -1,7 +1,8 @@
-# cfdisk.po 
+# util-linux fr.po 
 # Copyright (C) 1999 Les Logiciels du Soleil
 # Vincent Renardias <vincent@ldsol.com>, 1999.
 # Martin Quinson <mquinson@zeppelin-cb.de>, 1999.
+# Beth Powell <bpowell@turbolinux.com>, 2000.
 #
 # Permission is granted to copy and distribute this file and
 # modified versions of this file provided this header is not removed.
@@ -9,8 +10,8 @@
 msgid ""
 msgstr ""
 "Project-Id-Version: util-linux VERSION\n"
-"POT-Creation-Date: 1999-11-03 11:39+0100\n"
-"PO-Revision-Date: 1999-01-23 19:17+0100\n"
+"POT-Creation-Date: 2000-03-21 14:47-0800\n"
+"PO-Revision-Date: 1999-03-28 19:17+0100\n"
 "Last-Translator: Vincent Renardias <vincent@ldsol.com>\n"
 "Language-Team: Vincent Renardias <vincent@ldsol.com>\n"
 "MIME-Version: 1.0\n"
@@ -21,47 +22,47 @@ msgstr ""
 msgid "booted from MILO\n"
 msgstr "amorçé à partir de MILO\n"
 
-#: clock/cmos.c:154
+#: clock/cmos.c:155
 msgid "Ruffian BCD clock\n"
-msgstr "Horloge Ruffian BCD\n"
+msgstr "horloge Ruffian BCD\n"
 
-#: clock/cmos.c:170
+#: clock/cmos.c:171
 #, c-format
 msgid "clockport adjusted to 0x%x\n"
 msgstr "port horloge ajusté à 0x%x\n"
 
-#: clock/cmos.c:180
-#, where TOY stands for time-of-year
+#: clock/cmos.c:181
 msgid "funky TOY!\n"
-msgstr "JOUET bizarre!\n"
+msgstr "funky TOY!\n"
 
-#: clock/cmos.c:234
+#: clock/cmos.c:235
 #, c-format
 msgid "%s: atomic %s failed for 1000 iterations!"
-msgstr ""
+msgstr "%s : échec de %s atomique pour 1000 itérations !"
 
-#: clock/cmos.c:558
+#: clock/cmos.c:559
 #, c-format
 msgid "Cannot open /dev/port: %s"
 msgstr "Impossible d'ouvrir /dev/port: %s"
 
-#: clock/cmos.c:565
+#: clock/cmos.c:566
 msgid "I failed to get permission because I didnt try.\n"
-msgstr "J'ai pas réussi à obtenir l'autorisation parce que j'ai pas essayé.\n"
+msgstr ""
+"Je n'ai pas réussi à obtenir l'autorisation parce que je n'ai pas essayé.\n"
 
-#: clock/cmos.c:568
+#: clock/cmos.c:569
 #, c-format
 msgid "%s is unable to get I/O port access:  the iopl(3) call failed.\n"
-msgstr "%s ne peux accéder au port d'E/S : l'appel a iopl(3) a échoué.\n"
+msgstr "%s ne peut pas accéder au port d'E/S : l'appel à iopl(3) a échoué.\n"
 
-#: clock/cmos.c:571
+#: clock/cmos.c:572
 msgid "Probably you need root privileges.\n"
-msgstr "Vous avez probablement besoin des priviléges de root.\n"
+msgstr "Vous avez probablement besoin des privilèges root.\n"
 
 #: clock/hwclock.c:213
 #, c-format
 msgid "Assuming hardware clock is kept in %s time.\n"
-msgstr ""
+msgstr "Suppose que l'horloge matérielle est à l'heure %s.\n"
 
 #: clock/hwclock.c:214 clock/hwclock.c:303
 msgid "UTC"
@@ -75,16 +76,18 @@ msgstr "local"
 #, c-format
 msgid "%s: Warning: unrecognized third line in adjtime file\n"
 msgstr ""
+"%s : Avertissement : le fichier adjtime contient une troisième ligne non "
+"reconnue.\n"
 
 #: clock/hwclock.c:288
 msgid "(Expected: `UTC' or `LOCAL' or nothing.)\n"
-msgstr ""
+msgstr "(Attendu : `UTC' ou `LOCAL' ou rien.)\n"
 
 #: clock/hwclock.c:297
 #, c-format
 msgid "Last drift adjustment done at %d seconds after 1969\n"
 msgstr ""
-"Le dernier ajustement du facteur de dérive effectué %d secondes après 1969\n"
+"Dernier ajustement du facteur de dérive effectué %d secondes après 1969\n"
 
 #: clock/hwclock.c:299
 #, c-format
@@ -94,7 +97,7 @@ msgstr "Dernier calibrage effectu
 #: clock/hwclock.c:301
 #, c-format
 msgid "Hardware clock is on %s time\n"
-msgstr ""
+msgstr "L'horloge matérielle est à l'heure %s\n"
 
 #: clock/hwclock.c:303
 msgid "unknown"
@@ -116,55 +119,57 @@ msgstr "inconnu"
 #. -----------------------------------------------------------------------------
 #: clock/hwclock.c:325
 msgid "Waiting for clock tick...\n"
-msgstr ""
+msgstr "Attente du tic de l'horloge...\n"
 
 #: clock/hwclock.c:329
 msgid "...got clock tick\n"
-msgstr ""
+msgstr "...tic de l'horloge reçu\n"
 
-#: clock/hwclock.c:381
+#: clock/hwclock.c:380
 #, c-format
 msgid "Invalid values in hardware clock: %2d/%.2d/%.2d %.2d:%.2d:%.2d\n"
 msgstr ""
-"Valeurs non valides dans l'horloge matérielle : %2d/%.2d/%.2d "
+"Valeurs incorrectes dans l'horloge matérielle : %2d/%.2d/%.2d "
 "%.2d:%.2d:%.2d\n"
 
-#: clock/hwclock.c:390
+#: clock/hwclock.c:389
 #, c-format
-msgid "Hw clock time : %.2d:%.2d:%.2d = %d seconds since 1969\n"
+msgid "Hw clock time : %2d/%.2d/%.2d %.2d:%.2d:%.2d = %d seconds since 1969\n"
 msgstr ""
-"Heure à l'horloge matérielle : %.2d:%.2d:%.2d = %d secondes depuis 1969\n"
+"Heure à l'horloge matérielle : %2d/%.2d/%.2d %.2d:%.2d:%.2d = %d secondes depuis 1969\n"
 
-#: clock/hwclock.c:416
+#: clock/hwclock.c:417
 #, c-format
 msgid "Time read from Hardware Clock: %02d:%02d:%02d\n"
 msgstr "Heure lue à l'horloge matérielle : %02d:%02d:%02d\n"
 
-#: clock/hwclock.c:442
+#: clock/hwclock.c:443
 #, c-format
 msgid "Setting Hardware Clock to %.2d:%.2d:%.2d = %d seconds since 1969\n"
 msgstr ""
 "Réglage de l'horloge matérielle à %.2d:%.2d:%.2d = %d secondes depuis 1969\n"
 
-#: clock/hwclock.c:448
+#: clock/hwclock.c:449
 msgid "Clock not changed - testing only.\n"
-msgstr "Horloge non modifiée. Seulement un test.\n"
+msgstr "Horloge non modifiée. Test.\n"
 
-#: clock/hwclock.c:496
+#: clock/hwclock.c:497
 #, c-format
 msgid ""
 "Time elapsed since reference time has been %.6f seconds.\n"
 "Delaying further to reach the next full second.\n"
 msgstr ""
+"Le temps écoulé depuis l'heure de référence est de %.6f secondes.\n"
+"Délai supplémentaire jusqu'à la prochaine seconde.\n"
 
-#: clock/hwclock.c:520
+#: clock/hwclock.c:521
 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 ""
-"L'horloge matérielle contient soit des valeurs invalides (comme le 50ième "
-"jour du mois) ou en dehors de l'intervale que nous pouvons gérer (comme "
-"l'année 2095).\n"
+"L'horloge matérielle contient soit des valeurs invalides (comme le 50ème "
+"jour du mois) ou en dehors de l'intervalle pris en charge (comme l'année "
+"2095).\n"
 
 #. Address of static storage containing time string
 #. For some strange reason, ctime() is designed to include a newline
@@ -172,40 +177,42 @@ msgstr ""
 #.
 #. Compute display value for time
 #. Cut off trailing newline
-#: clock/hwclock.c:532
+#: clock/hwclock.c:533
 #, c-format
 msgid "%s  %.6f seconds\n"
 msgstr "%s  %.6f secondes\n"
 
-#: clock/hwclock.c:566
+#: clock/hwclock.c:567
 msgid "No --date option specified.\n"
 msgstr "Pas d'option --date spécifiée.\n"
 
 #. Quotation marks in date_opt would ruin the date command we construct.
 #.
-#: clock/hwclock.c:571
+#: clock/hwclock.c:572
 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"
+"Elle contient, en particulier, des points d'interrogation.\n"
 
-#: clock/hwclock.c:577
-#, fuzzy, c-format
+#: clock/hwclock.c:578
+#, c-format
 msgid "Issuing date command: %s\n"
-msgstr "réponse de la commande date = %s\n"
+msgstr "Réponse de la commande date : %s\n"
 
-#: clock/hwclock.c:581
+#: clock/hwclock.c:582
 msgid "Unable to run 'date' program in /bin/sh shell. popen() failed"
 msgstr ""
 "Impossible de lancer le programme 'date' dans le shell /bin/sh. popen() a "
-"échoué"
+"échoué."
 
-#: clock/hwclock.c:587
+#: clock/hwclock.c:588
 #, c-format
 msgid "response from date command = %s\n"
-msgstr "réponse de la commande date = %s\n"
+msgstr "Réponse de la commande date = %s\n"
 
-#: clock/hwclock.c:589
+#: clock/hwclock.c:590
 #, c-format
 msgid ""
 "The date command issued by %s returned unexpected results.\n"
@@ -214,13 +221,13 @@ msgid ""
 "The response was:\n"
 "  %s\n"
 msgstr ""
-"La commande date lancée par %s a retourné des résultats inattendus.\\n\n"
+"La commande date lancée par %s a retourné des résultats inattendus.\n"
 "La commande était :\n"
 "  %s\n"
 "Le résultat était :\n"
 "  %s\n"
 
-#: clock/hwclock.c:598
+#: clock/hwclock.c:599
 #, c-format
 msgid ""
 "The date command issued by %s returnedsomething other than an integer where "
@@ -231,53 +238,53 @@ msgid ""
 " %s\n"
 msgstr ""
 "La commande date lancée par %s n'a pas retourné de valeur entière là où "
-"j'attendais l'heure convertie.\n"
+"l'heure convertie était attendue.\n"
 "La commande était :\n"
 "  %s\n"
 "Le résultat était :\n"
 "  %s\n"
 
-#: clock/hwclock.c:608
+#: clock/hwclock.c:609
 #, c-format
 msgid "date string %s equates to %d seconds since 1969.\n"
-msgstr "La chaine de date %s équivaut à %d secondes depuis 1969.\n"
+msgstr "La chaîne de date %s équivaut à %d secondes depuis 1969.\n"
 
-#: clock/hwclock.c:643
+#: clock/hwclock.c:641
 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 pas d'heure valide. On ne peut donc pas "
-"règler l'horloge système à partir d'elle.\n"
+"régler l'horloge système à partir de celle-ci.\n"
 
-#: clock/hwclock.c:659
+#: clock/hwclock.c:654
 msgid "Calling settimeofday:\n"
 msgstr "Appel de settimeofday :\n"
 
-#: clock/hwclock.c:660
+#: clock/hwclock.c:655
 #, c-format
 msgid "\ttv.tv_sec = %ld, tv.tv_usec = %ld\n"
-msgstr "        tv.tv_sec = %ld, tv.tv_usec = %ld\n"
+msgstr "\ttv.tv_sec = %ld, tv.tv_usec = %ld\n"
 
-#: clock/hwclock.c:662
+#: clock/hwclock.c:657
 #, c-format
 msgid "\ttz.tz_minuteswest = %ld\n"
-msgstr "        tz.tz_minuteswest = %ld\n"
+msgstr "\ttz.tz_minuteswest = %ld\n"
 
-#: clock/hwclock.c:665
+#: clock/hwclock.c:660
 msgid "Not setting system clock because running in test mode.\n"
 msgstr ""
-"L'heure du système n'a pas été modifiée car nous sommes en mode test.\n"
+"L'horloge système n'a pas été modifiée car l'exécution est en mode test.\n"
 
-#: clock/hwclock.c:677
+#: clock/hwclock.c:673
 msgid "Must be superuser to set system clock.\n"
-msgstr "Vous devez être root pour changer l'heure du système.\n"
+msgstr "Vous devez être un superutilisateur pour définir l'horloge système.\n"
 
-#: clock/hwclock.c:679
+#: clock/hwclock.c:675
 msgid "settimeofday() failed"
-msgstr "settimeofday() a échoué"
+msgstr "settimeofday() a échoué."
 
-#: clock/hwclock.c:712
+#: clock/hwclock.c:708
 msgid ""
 "Not adjusting drift factor because the Hardware Clock previously contained "
 "garbage.\n"
@@ -285,15 +292,15 @@ msgstr ""
 "Pas de modification du facteur de dérive car l'horloge matérielle contient "
 "des déchets.\n"
 
-#: clock/hwclock.c:716
+#: clock/hwclock.c:712
 msgid ""
 "Not adjusting drift factor because it has been less than a day since the "
 "last calibration.\n"
 msgstr ""
-"Le facteur de dérive n'a pas été modifié car la dernière modification date "
-"de moins d'un jour.\n"
+"Le facteur de dérive n'a pas été modifié car le dernier calibrage a moins "
+"d'un jour.\n"
 
-#: clock/hwclock.c:725
+#: clock/hwclock.c:721
 #, c-format
 msgid ""
 "Clock drifted %d seconds in the past %d seconds in spite of a drift factor "
@@ -302,181 +309,229 @@ msgid ""
 msgstr ""
 "L'horloge a dérivé de %d secondes durant les %d dernières secondes, malgré "
 "le facteur de dérive de %f secondes par jour.\n"
-"J'ajuste le facteur de dérive à %f secondes par jour\n"
+"Ajustement du facteur de dérive à %f secondes par jour.\n"
 
-#: clock/hwclock.c:776
+#: clock/hwclock.c:772
 #, c-format
 msgid "Time since last adjustment is %d seconds\n"
-msgstr "Il s'est écoulé %d secondes depuis le dernier ajustement\n"
+msgstr "Il s'est écoulé %d secondes depuis le dernier ajustement.\n"
 
-#: clock/hwclock.c:778
+#: clock/hwclock.c:774
 #, c-format
 msgid "Need to insert %d seconds and refer time back %.6f seconds ago\n"
 msgstr ""
-"Il faut ajouter %d secondes, et se referrer %.6f secondes dans le passé\n"
+"Il faut ajouter %d secondes, et se référer à %.6f secondes dans le passé.\n"
 
-#: clock/hwclock.c:807
+#: clock/hwclock.c:803
 msgid "Not updating adjtime file because of testing mode.\n"
-msgstr "Adjtime non modifié en mode test.\n"
+msgstr "Fichier adjtime non modifiable en mode test.\n"
 
-#: clock/hwclock.c:808
+#: clock/hwclock.c:804
 #, c-format
 msgid ""
 "Would have written the following to %s:\n"
 "%s"
 msgstr ""
+"Aurait écrit ce qui suit sur %s :\n"
+"%s"
 
-#: clock/hwclock.c:832
+#: clock/hwclock.c:828
 msgid "Drift adjustment parameters not updated.\n"
 msgstr "Facteur de dérive non modifié.\n"
 
-#: clock/hwclock.c:873
+#: clock/hwclock.c:869
 msgid ""
 "The Hardware Clock does not contain a valid time, so we cannot adjust it.\n"
 msgstr ""
 "L'horloge matérielle ne contient pas d'heure valide, on ne peut donc pas "
 "l'ajuster.\n"
 
-#: clock/hwclock.c:897
+#: clock/hwclock.c:893
 msgid "Needed adjustment is less than one second, so not setting clock.\n"
 msgstr ""
 "L'ajustement nécessaire est inférieur à une seconde, pas de changement "
 "effectué.\n"
 
-#: clock/hwclock.c:923
+#: clock/hwclock.c:919
 #, c-format
 msgid "Using %s.\n"
-msgstr "J'utilise %s.\n"
+msgstr "Utilisation de %s.\n"
 
-#: clock/hwclock.c:925
+#: clock/hwclock.c:921
 msgid "No usable clock interface found.\n"
-msgstr "Aucune interface interface avec l'horologe utilisable trouvée.\n"
+msgstr "Aucune interface avec l'horloge utilisable trouvée.\n"
 
-#: clock/hwclock.c:1020
+#: clock/hwclock.c:1016
 msgid "Unable to set system clock.\n"
-msgstr "Impossible de modifier l'horloge du systeme\n"
+msgstr "Impossible de régler l'horloge système.\n"
 
-#: clock/hwclock.c:1049
+#: clock/hwclock.c:1045
 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 noyau utilise un format pour l'horloge matérielle adapté aux machines "
+"Le kernel utilise un format pour l'horloge matérielle adapté aux machines "
 "Alpha.\n"
-"Cette version de hwclock a été compilé pour une autre architecture que "
-"Alpha\n"
-"(et donc ne s'execute sans doute pas sur un Alpha). Aucune action "
-"entreprise.\n"
+"Cette version de hwclock a été compilée pour une architecture autre "
+"qu'Alpha\n"
+"(et n'est, par conséquent, sans doute pas exécutée sur un Alpha). Aucune "
+"action entreprise.\n"
 
-#: clock/hwclock.c:1058
+#: clock/hwclock.c:1054
 msgid "Unable to get the epoch value from the kernel.\n"
-msgstr ""
+msgstr "Impossible d'obtenir la valeur epoch depuis le kernel.\n"
 
-#: clock/hwclock.c:1060
+#: clock/hwclock.c:1056
 #, c-format
 msgid "Kernel is assuming an epoch value of %lu\n"
-msgstr ""
+msgstr "Le kernel suppose une valeur epoch de %lu\n"
 
-#: clock/hwclock.c:1063
+#: clock/hwclock.c:1059
 msgid ""
 "To set the epoch value, you must use the 'epoch' option to tell to what "
 "value to set it.\n"
 msgstr ""
+"Pour définir une valeur epoch, utilisez l'option 'epoch' pour indiquer la "
+"valeur sur laquelle elle doit être réglée.\n"
 
-#: clock/hwclock.c:1066
-#, fuzzy, c-format
+#: clock/hwclock.c:1062
+#, c-format
 msgid "Not setting the epoch to %d - testing only.\n"
-msgstr "Horloge non modifiée. Seulement un test.\n"
+msgstr "Valeur epoch non définie sur %d. Test uniquement.\n"
 
-#: clock/hwclock.c:1069
-#, fuzzy
+#: clock/hwclock.c:1065
 msgid "Unable to set the epoch value in the kernel.\n"
-msgstr "Impossible de modifier l'horloge du systeme\n"
+msgstr "Impossible de modifier la valeur epoch du kernel.\n"
 
-#: clock/hwclock.c:1151
+#: clock/hwclock.c:1088
+msgid ""
+"hwclock - query and set the hardware clock (RTC)\n"
+"\n"
+"Usage: hwclock [function] [options...]\n"
+"\n"
+"Functions:\n"
+"  --help        show this help\n"
+"  --show        read hardware clock and print result\n"
+"  --set         set the rtc to the time given with --date\n"
+"  --hctosys     set the system time from the hardware clock\n"
+"  --systohc     set the hardware clock to the current system time\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"
+"  --version     print out the version of hwclock to stdout\n"
+"\n"
+"Options: \n"
+"  --utc         the hardware clock is kept in coordinated universal time\n"
+"  --localtime   the hardware clock is kept in local time\n"
+"  --directisa   access the ISA bus directly instead of /dev/rtc\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"
+msgstr ""
+
+#: clock/hwclock.c:1113
+msgid ""
+"  --jensen, --arc, --srm, --funky-toy\n"
+"                tell hwclock the type of alpha you have (see hwclock(8))\n"
+msgstr ""
+
+#: clock/hwclock.c:1209
 #, c-format
 msgid "%s takes no non-option arguments.  You supplied %d.\n"
 msgstr "L'option %s ne prend pas d'argument. Cependant, vous avez donné %d.\n"
 
-#: clock/hwclock.c:1159
+#: clock/hwclock.c:1219
 msgid ""
 "You have specified multiple function options.\n"
 "You can only perform one function at a time.\n"
 msgstr ""
+"Vous avez défini plusieurs options de fonction.\n"
+"Vous pouvez effectuer une seule fonction à la fois.\n"
 
-#: clock/hwclock.c:1165
+#: clock/hwclock.c:1225
 #, c-format
 msgid ""
 "%s: The --utc and --localtime options are mutually exclusive.  You specified "
 "both.\n"
 msgstr ""
+"%s : Les options --utc et --localtime s'excluent mutuellement. Vous avez "
+"défini les deux.\n"
 
-#: clock/hwclock.c:1178
-#, fuzzy
+#: clock/hwclock.c:1238
 msgid "No usable set-to time.  Cannot set clock.\n"
-msgstr "Impossible de modifier l'horloge du systeme\n"
+msgstr "Aucune heure utilisable. Impossible de régler l'horloge.\n"
 
-#: clock/hwclock.c:1193
+#: clock/hwclock.c:1253
 msgid "Sorry, only the superuser can change the Hardware Clock.\n"
 msgstr ""
+"Désolé, seul l'utilisateur root est autorisé à modifier l'horloge "
+"matérielle.\n"
 
-#: clock/hwclock.c:1197
+#: clock/hwclock.c:1257
 msgid ""
 "Sorry, only the superuser can change the Hardware Clock epoch in the "
 "kernel.\n"
 msgstr ""
+"Désolé, seul l'utilisateur root est autorisé à modifier la valeur epoch de "
+"l'horloge matérielle dans le kernel.\n"
 
-#: clock/hwclock.c:1213
+#: clock/hwclock.c:1275
 msgid ""
 "Cannot access the Hardware Clock via any known method.  Use --debug option "
 "to see the details of our search for an access method.\n"
 msgstr ""
+"Impossible d'accéder à l'horloge matérielle à l'aide d'une méthode connue. "
+"Utilisez l'option --debug pour afficher les détails de la recherche d'une "
+"méthode d'accès.\n"
 
 #: clock/kd.c:41
 msgid "Waiting in loop for time from KDGHWCLK to change\n"
-msgstr ""
+msgstr "Attente en boucle du changement d'heure dans KDGHWCLK.\n"
 
 #: clock/kd.c:44
 msgid "KDGHWCLK ioctl to read time failed"
-msgstr ""
+msgstr "La lecture de l'heure par KDGHWCLK ioctl a échoué."
 
 #: clock/kd.c:65 clock/rtc.c:144
 msgid "Timed out waiting for time change.\n"
-msgstr ""
+msgstr "Temporisation de l'attente du changement d'heure.\n"
 
 #: clock/kd.c:69
 msgid "KDGHWCLK ioctl to read time failed in loop"
-msgstr ""
+msgstr "La lecture de l'heure par KDGHWCLK ioctl a échoué dans la boucle."
 
 #: clock/kd.c:91
 msgid "ioctl() failed to read time from  /dev/tty1"
-msgstr ""
+msgstr "ioctl() a échoué lors de la lecture de l'heure de /dev/tty1."
 
 #: clock/kd.c:127
 msgid "ioctl() to open /dev/tty1 failed"
-msgstr ""
+msgstr "ioctl() pour ouvrir /dev/tty1 a échoué."
 
 #: clock/kd.c:157
 msgid "KDGHWCLK ioctl failed"
-msgstr ""
+msgstr "Echec de KDGHWCLK ioctl."
 
 #: clock/kd.c:161
 msgid "Can't open /dev/tty1"
-msgstr "Impossible d'ouvrir /dev/tty1"
+msgstr "Impossible d'ouvrir /dev/tty1."
 
 #: clock/rtc.c:98
 msgid "ioctl() to /dev/rtc to read the time failed.\n"
-msgstr ""
+msgstr "ioctl() sur /dev/rtc pour lire l'heure a échoué.\n"
 
 #: clock/rtc.c:129
 msgid "Waiting in loop for time from /dev/rtc to change\n"
-msgstr ""
+msgstr "Attente en boucle du changement de l'heure de /dev/rtc.\n"
 
 #: clock/rtc.c:165 clock/rtc.c:222
 msgid "open() of /dev/rtc failed"
-msgstr ""
+msgstr "open() de /dev/rtc a échoué."
 
 #. This rtc device doesn't have interrupt functions.  This is typical
 #. on an Alpha, where the Hardware Clock interrupts are used by the
@@ -484,36 +539,40 @@ msgstr ""
 #.
 #: clock/rtc.c:182
 msgid "/dev/rtc does not have interrupt functions. "
-msgstr ""
+msgstr "/dev/rtc n'a pas de fonctions d'interruption. "
 
 #: clock/rtc.c:191
 msgid "read() to /dev/rtc to wait for clock tick failed"
-msgstr ""
+msgstr "read() sur /dev/rtc pour attendre le tic de l'horloge a échoué."
 
 #: clock/rtc.c:199
 msgid "ioctl() to /dev/rtc to turn off update interrupts failed"
 msgstr ""
+"ioctl() sur /dev/rtc pour désactiver les interruptions de mise à jour a "
+"échoué."
 
 #: clock/rtc.c:202
 msgid "ioctl() to /dev/rtc to turn on update interrupts failed unexpectedly"
 msgstr ""
+"ioctl() sur /dev/rtc pour activer les interruptions de mise à jour a échoué "
+"de manière inattendue."
 
 #: clock/rtc.c:245 clock/rtc.c:324 clock/rtc.c:369
 msgid "Unable to open /dev/rtc"
-msgstr "Impossible d'ouvrir /dev/rtc"
+msgstr "Impossible d'ouvrir /dev/rtc."
 
 #: clock/rtc.c:268
 msgid "ioctl() to /dev/rtc to set the time failed.\n"
-msgstr ""
+msgstr "ioctl() sur /dev/rtc pour régler l'heure a échoué.\n"
 
 #: clock/rtc.c:272
 #, c-format
 msgid "ioctl(%s) was successful.\n"
-msgstr ""
+msgstr "ioctl(%s) a abouti.\n"
 
 #: clock/rtc.c:302
 msgid "Open of /dev/rtc failed"
-msgstr ""
+msgstr "L'ouverture de /dev/rtc a échoué."
 
 #: clock/rtc.c:320 clock/rtc.c:365
 msgid ""
@@ -521,15 +580,18 @@ msgid ""
 "device driver via the device special file /dev/rtc.  This file does not "
 "exist on this system.\n"
 msgstr ""
+"Afin de pouvoir manipuler la valeur epoch dans le kernel, nous devons "
+"accéder au pilote de périphérique Linux 'rtc' depuis le fichier spécial de "
+"périphérique /dev/rtc. Ce fichier est introuvable sur le système.\n"
 
 #: clock/rtc.c:331
 msgid "ioctl(RTC_EPOCH_READ) to /dev/rtc failed"
-msgstr ""
+msgstr "ioctl(RTC_EPOCH_READ) sur /dev/rtc a échoué."
 
 #: clock/rtc.c:337
 #, c-format
 msgid "we have read epoch %ld from /dev/rtc with RTC_EPOCH_READ ioctl.\n"
-msgstr ""
+msgstr "Valeur epoch lue %ld depuis /dev/rtc avec RTC_EPOCH_READ ioctl.\n"
 
 #. kernel would not accept this epoch value
 #. Hmm - bad habit, deciding not to do what the user asks
@@ -538,21 +600,26 @@ msgstr ""
 #, c-format
 msgid "The epoch value may not be less than 1900.  You requested %ld\n"
 msgstr ""
+"La valeur epoch doit être supérieure ou égale à 1900. Vous avez demandé "
+"%ld.\n"
 
 #: clock/rtc.c:374
 #, c-format
 msgid "setting epoch to %ld with RTC_EPOCH_SET ioctl to /dev/rtc.\n"
 msgstr ""
+"Réglage de la valeur epoch sur %ld avec RTC_EPOCH_SET ioctl sur /dev/rtc.\n"
 
 #: clock/rtc.c:379
 msgid ""
 "The kernel device driver for /dev/rtc does not have the RTC_EPOCH_SET "
 "ioctl.\n"
 msgstr ""
+"Le pilote de périphérique du kernel pour /dev/rtc ne dispose pas de "
+"RTC_EPOCH_SET ioctl.\n"
 
 #: clock/rtc.c:382
 msgid "ioctl(RTC_EPOCH_SET) to /dev/rtc failed"
-msgstr ""
+msgstr "ioctl(RTC_EPOCH_SET) sur /dev/rtc a échoué."
 
 #: clock/shhopt.c:255 clock/shhopt.c:281
 #, c-format
@@ -562,26 +629,81 @@ msgstr "nombre invalide `%s'\n"
 #: clock/shhopt.c:258 clock/shhopt.c:284
 #, c-format
 msgid "number `%s' to `%s' out of range\n"
-msgstr ""
+msgstr "nombre de `%s' à `%s' hors plage\n"
 
 #: clock/shhopt.c:398
 #, c-format
 msgid "unrecognized option `%s'\n"
-msgstr ""
+msgstr "option non reconnue `%s'\n"
 
 #: clock/shhopt.c:411 clock/shhopt.c:449
 #, c-format
 msgid "option `%s' requires an argument\n"
-msgstr ""
+msgstr "l'option `%s' requiert un argument\n"
 
 #: clock/shhopt.c:417
 #, c-format
 msgid "option `%s' doesn't allow an argument\n"
-msgstr ""
+msgstr "l'option `%s' n'autorise pas d'argument\n"
 
 #: clock/shhopt.c:439
 #, c-format
 msgid "unrecognized option `-%c'\n"
+msgstr "option non reconnue `-%c'\n"
+
+#: disk-utils/blockdev.c:34
+msgid "set read-only"
+msgstr ""
+
+#: disk-utils/blockdev.c:35
+msgid "set read-write"
+msgstr ""
+
+#: disk-utils/blockdev.c:38
+msgid "get read-only"
+msgstr ""
+
+#: disk-utils/blockdev.c:41
+msgid "get sectorsize"
+msgstr ""
+
+#: disk-utils/blockdev.c:44
+msgid "get size"
+msgstr ""
+
+#: disk-utils/blockdev.c:47
+msgid "set readahead"
+msgstr ""
+
+#: disk-utils/blockdev.c:50
+msgid "get readahead"
+msgstr ""
+
+#: disk-utils/blockdev.c:53
+msgid "flush buffers"
+msgstr ""
+
+#: disk-utils/blockdev.c:57
+msgid "reread partition table\n"
+msgstr ""
+
+#: disk-utils/blockdev.c:66
+#, c-format
+msgid "Usage: %s [-V] [-v|-q] commands devices\n"
+msgstr ""
+
+#: disk-utils/blockdev.c:67
+msgid "Available commands:\n"
+msgstr ""
+
+#: disk-utils/blockdev.c:167
+#, c-format
+msgid "%s: Unknown command: %s\n"
+msgstr ""
+
+#: disk-utils/blockdev.c:178
+#, c-format
+msgid "%s requires an argument\n"
 msgstr ""
 
 #: disk-utils/fdformat.c:33
@@ -611,387 +733,380 @@ msgid ""
 "bad data in cyl %d\n"
 "Continuing ... "
 msgstr ""
-"mauvaises données au cylindre %d\n"
+"Mauvaises données au cylindre %d\n"
 "Continuation..."
 
 #: disk-utils/fdformat.c:96
 #, c-format
 msgid "usage: %s [ -n ] device\n"
-msgstr "usage: %s [ -n ] périphérique\n"
+msgstr "Usage : %s [ -n ] périphérique\n"
+
+#: disk-utils/fdformat.c:117 disk-utils/fsck.minix.c:1255 disk-utils/mkfs.c:55
+#: disk-utils/mkfs.minix.c:650 disk-utils/mkswap.c:351
+#: disk-utils/setfdprm.c:128 misc-utils/cal.c:175 misc-utils/ddate.c:172
+#: misc-utils/kill.c:191
+#, c-format
+msgid "%s from %s\n"
+msgstr ""
 
-#: disk-utils/fdformat.c:122
+#: disk-utils/fdformat.c:131
 #, c-format
 msgid "%s: not a floppy device\n"
-msgstr "%s: n'est pas un lecteur de disquettes\n"
+msgstr "%s : n'est pas un lecteur de disquettes.\n"
 
-#: disk-utils/fdformat.c:128
+#: disk-utils/fdformat.c:137
 msgid "Could not determine current format type"
-msgstr "Impossible de déterminer le type du format courant"
+msgstr "Impossible de déterminer le type du format en cours."
 
-#: disk-utils/fdformat.c:129
+#: disk-utils/fdformat.c:138
 #, c-format
 msgid "%s-sided, %d tracks, %d sec/track. Total capacity %d kB.\n"
-msgstr "%s-faces, %d pistes, %d sec/piste. Capacité totale %d kB.\n"
+msgstr "%s-faces, %d pistes, %d sec/piste. Capacité totale %d Ko.\n"
 
-#: disk-utils/fdformat.c:130
+#: disk-utils/fdformat.c:139
 msgid "Double"
 msgstr "Double"
 
-#: disk-utils/fdformat.c:130
+#: disk-utils/fdformat.c:139
 msgid "Single"
 msgstr "Simple"
 
-#: disk-utils/fsck.minix.c:198
+#: disk-utils/fsck.minix.c:196
 #, c-format
 msgid "Usage: %s [-larvsmf] /dev/name\n"
-msgstr "usage : %s [ -larvsmf ] /dev/nom\n"
+msgstr "Usage : %s [ -larvsmf ] /dev/nom\n"
 
-#: disk-utils/fsck.minix.c:296
+#: disk-utils/fsck.minix.c:294
 #, c-format
 msgid "%s is mounted.\t "
 msgstr "%s est monté.\t "
 
-#: disk-utils/fsck.minix.c:298
+#: disk-utils/fsck.minix.c:296
 msgid "Do you really want to continue"
-msgstr "Voulez-vous vraiment continuer"
+msgstr "Voulez-vous vraiment continuer ?"
 
-#: disk-utils/fsck.minix.c:302
+#: disk-utils/fsck.minix.c:300
 msgid "check aborted.\n"
-msgstr "vérification intérompue.\n"
+msgstr "Vérification interrompue.\n"
 
-#: disk-utils/fsck.minix.c:319 disk-utils/fsck.minix.c:339
+#: disk-utils/fsck.minix.c:317 disk-utils/fsck.minix.c:337
 msgid "Zone nr < FIRSTZONE in file `"
-msgstr ""
+msgstr "Zone n° < FIRSTZONE dans fichier `"
 
-#: disk-utils/fsck.minix.c:321 disk-utils/fsck.minix.c:341
+#: disk-utils/fsck.minix.c:319 disk-utils/fsck.minix.c:339
 msgid "Zone nr >= ZONES in file `"
-msgstr ""
+msgstr "Zone n° >= ZONES dans fichier `"
 
-#: disk-utils/fsck.minix.c:326 disk-utils/fsck.minix.c:346
+#: disk-utils/fsck.minix.c:324 disk-utils/fsck.minix.c:344
 msgid "Remove block"
-msgstr "Enlever bloc"
+msgstr "Enlever le bloc"
 
-#: disk-utils/fsck.minix.c:364
-#, fuzzy
+#: disk-utils/fsck.minix.c:362
 msgid "Read error: unable to seek to block in file '"
-msgstr "Erreur d'écriture: mauvais block dans le fichier '"
+msgstr "Erreur de lecture : bloc impossible dans le fichier '"
 
-#: disk-utils/fsck.minix.c:370
-#, fuzzy
+#: disk-utils/fsck.minix.c:368
 msgid "Read error: bad block in file '"
-msgstr "Erreur d'écriture: mauvais block dans le fichier '"
+msgstr "Erreur de lecture : mauvais bloc dans le fichier '"
 
-#: disk-utils/fsck.minix.c:386
+#: disk-utils/fsck.minix.c:384
 msgid ""
 "Internal error: trying to write bad block\n"
 "Write request ignored\n"
 msgstr ""
+"Erreur interne : tentative d'écriture d'un mauvais bloc.\n"
+"Requête d'écriture ignorée.\n"
 
-#: disk-utils/fsck.minix.c:392 disk-utils/mkfs.minix.c:290
-#, fuzzy
+#: disk-utils/fsck.minix.c:390 disk-utils/mkfs.minix.c:289
 msgid "seek failed in write_block"
-msgstr "la recherche dans write_tables a échoué"
+msgstr "La recherche dans write_block a échoué."
 
-#: disk-utils/fsck.minix.c:394
+#: disk-utils/fsck.minix.c:392
 msgid "Write error: bad block in file '"
-msgstr "Erreur d'écriture: mauvais block dans le fichier '"
+msgstr "Erreur d'écriture : mauvais bloc dans le fichier '"
 
-#: disk-utils/fsck.minix.c:513
-#, fuzzy
+#: disk-utils/fsck.minix.c:511
 msgid "seek failed in write_super_block"
-msgstr "la recherche dans write_tables a échoué"
+msgstr "La recherche dans write_super_block a échoué."
 
-#: disk-utils/fsck.minix.c:515 disk-utils/mkfs.minix.c:277
+#: disk-utils/fsck.minix.c:513 disk-utils/mkfs.minix.c:276
 msgid "unable to write super-block"
-msgstr "impossible d'écrire les super-blocs"
+msgstr "Impossible d'écrire les superblocs"
 
-#: disk-utils/fsck.minix.c:525
+#: disk-utils/fsck.minix.c:523
 msgid "Unable to write inode map"
-msgstr "impossible d'écrire la table des inodes"
+msgstr "Impossible d'écrire la table des i-noeuds"
 
-#: disk-utils/fsck.minix.c:527
-#, fuzzy
+#: disk-utils/fsck.minix.c:525
 msgid "Unable to write zone map"
-msgstr "impossible d'écrire la table des zones"
+msgstr "Impossible d'écrire la table des zones"
 
-#: disk-utils/fsck.minix.c:529
-#, fuzzy
+#: disk-utils/fsck.minix.c:527
 msgid "Unable to write inodes"
-msgstr "imossible d'écrire la table des inodes"
+msgstr "Impossible d'écrire les i-noeuds"
 
-#: disk-utils/fsck.minix.c:558
-#, fuzzy
+#: disk-utils/fsck.minix.c:556
 msgid "seek failed"
-msgstr "settimeofday() a échoué"
+msgstr "La recherche a échoué."
 
-#: disk-utils/fsck.minix.c:560
-#, fuzzy
+#: disk-utils/fsck.minix.c:558
 msgid "unable to read super block"
-msgstr "impossible d'écrire les super-blocs"
+msgstr "Impossible de lire les superblocs"
 
-#: disk-utils/fsck.minix.c:580
+#: disk-utils/fsck.minix.c:578
 msgid "bad magic number in super-block"
-msgstr ""
+msgstr "Mauvais nombre magique dans le superbloc"
 
-#: disk-utils/fsck.minix.c:582
+#: disk-utils/fsck.minix.c:580
 msgid "Only 1k blocks/zones supported"
-msgstr ""
+msgstr "Seuls les blocs/zones de 1k sont pris en charge."
 
-#: disk-utils/fsck.minix.c:584
+#: disk-utils/fsck.minix.c:582
 msgid "bad s_imap_blocks field in super-block"
-msgstr ""
+msgstr "Champ s_imap_blocks invalide dans le superbloc"
 
-#: disk-utils/fsck.minix.c:586
+#: disk-utils/fsck.minix.c:584
 msgid "bad s_zmap_blocks field in super-block"
-msgstr ""
+msgstr "Champ s_zmap_blocks invalide dans le superbloc"
 
-#: disk-utils/fsck.minix.c:593
-#, fuzzy
+#: disk-utils/fsck.minix.c:591
 msgid "Unable to allocate buffer for inode map"
-msgstr "Impossible d'allouer le buffer.\n"
+msgstr "Impossible d'allouer le tampon pour la table des i-noeuds"
 
-#: disk-utils/fsck.minix.c:601
-#, fuzzy
+#: disk-utils/fsck.minix.c:599
 msgid "Unable to allocate buffer for inodes"
-msgstr "Impossible d'allouer le buffer.\n"
+msgstr "Impossible d'allouer le tampon pour les i-noeuds"
 
-#: disk-utils/fsck.minix.c:604
-#, fuzzy
+#: disk-utils/fsck.minix.c:602
 msgid "Unable to allocate buffer for inode count"
-msgstr "Impossible d'allouer le buffer.\n"
+msgstr "Impossible d'allouer le tampon pour le nombre de i-noeuds"
 
-#: disk-utils/fsck.minix.c:607
-#, fuzzy
+#: disk-utils/fsck.minix.c:605
 msgid "Unable to allocate buffer for zone count"
-msgstr "Impossible d'allouer le buffer.\n"
+msgstr "Impossible d'allouer le tampon pour le nombre de zones"
 
-#: disk-utils/fsck.minix.c:609
-#, fuzzy
+#: disk-utils/fsck.minix.c:607
 msgid "Unable to read inode map"
-msgstr "imossible d'écrire la table des inodes"
+msgstr "Impossible de lire la table des i-noeuds"
 
-#: disk-utils/fsck.minix.c:611
-#, fuzzy
+#: disk-utils/fsck.minix.c:609
 msgid "Unable to read zone map"
-msgstr "impossible d'écrire la table des zones"
+msgstr "Impossible de lire la table des zones"
 
-#: disk-utils/fsck.minix.c:613
-#, fuzzy
+#: disk-utils/fsck.minix.c:611
 msgid "Unable to read inodes"
-msgstr "imossible d'écrire la table des inodes"
+msgstr "Impossible de lire les i-noeuds"
 
-#: disk-utils/fsck.minix.c:615
+#: disk-utils/fsck.minix.c:613
 msgid "Warning: Firstzone != Norm_firstzone\n"
-msgstr ""
+msgstr "Avertissement : Firstzone != Norm_firstzone\n"
 
-#: disk-utils/fsck.minix.c:620 disk-utils/mkfs.minix.c:540
+#: disk-utils/fsck.minix.c:618 disk-utils/mkfs.minix.c:532
 #, c-format
 msgid "%ld inodes\n"
 msgstr "%ld i-noeuds\n"
 
-#: disk-utils/fsck.minix.c:621 disk-utils/mkfs.minix.c:541
+#: disk-utils/fsck.minix.c:619 disk-utils/mkfs.minix.c:533
 #, c-format
 msgid "%ld blocks\n"
 msgstr "%ld blocs\n"
 
-#: disk-utils/fsck.minix.c:622 disk-utils/mkfs.minix.c:542
+#: disk-utils/fsck.minix.c:620 disk-utils/mkfs.minix.c:534
 #, c-format
 msgid "Firstdatazone=%ld (%ld)\n"
 msgstr "Premièrezonededonnées=%ld (%ld)\n"
 
-#: disk-utils/fsck.minix.c:623 disk-utils/mkfs.minix.c:543
+#: disk-utils/fsck.minix.c:621 disk-utils/mkfs.minix.c:535
 #, c-format
 msgid "Zonesize=%d\n"
 msgstr "Tailledelazone=%d\n"
 
-#: disk-utils/fsck.minix.c:624
+#: disk-utils/fsck.minix.c:622
 #, c-format
 msgid "Maxsize=%ld\n"
 msgstr "Taillemax=%ld\n"
 
-#: disk-utils/fsck.minix.c:625
+#: disk-utils/fsck.minix.c:623
 #, c-format
 msgid "Filesystem state=%d\n"
-msgstr "Etat du système de fichier=%d\n"
+msgstr "Etat du système de fichiers=%d\n"
 
-#: disk-utils/fsck.minix.c:626
+#: disk-utils/fsck.minix.c:624
 #, c-format
 msgid ""
 "namelen=%d\n"
 "\n"
 msgstr "longueurnom=%d\n"
 
-#: disk-utils/fsck.minix.c:640 disk-utils/fsck.minix.c:692
+#: disk-utils/fsck.minix.c:638 disk-utils/fsck.minix.c:690
 #, c-format
 msgid "Inode %d marked not used, but used for file '"
 msgstr "I-noeud %d marqué libre, mais utilisé pour le fichier '"
 
-#: disk-utils/fsck.minix.c:645 disk-utils/fsck.minix.c:696
+#: disk-utils/fsck.minix.c:643 disk-utils/fsck.minix.c:694
 msgid "Mark in use"
 msgstr "Marqué utilisé"
 
-#: disk-utils/fsck.minix.c:667 disk-utils/fsck.minix.c:716
+#: disk-utils/fsck.minix.c:665 disk-utils/fsck.minix.c:714
 #, c-format
 msgid " has mode %05o\n"
 msgstr " a pour mode %05o\n"
 
-#: disk-utils/fsck.minix.c:673 disk-utils/fsck.minix.c:721
+#: disk-utils/fsck.minix.c:671 disk-utils/fsck.minix.c:719
 msgid "Warning: inode count too big.\n"
-msgstr "Avertissement: nombre de i-noeuds trop grand.\n"
+msgstr "Avertissement : nombre de i-noeuds trop grand.\n"
 
-#: disk-utils/fsck.minix.c:734
+#: disk-utils/fsck.minix.c:732
 msgid "root inode isn't a directory"
-msgstr ""
+msgstr "L' i-noeud root n'est pas un répertoire."
 
-#: disk-utils/fsck.minix.c:757 disk-utils/fsck.minix.c:791
+#: disk-utils/fsck.minix.c:755 disk-utils/fsck.minix.c:789
 msgid "Block has been used before. Now in file `"
 msgstr "Bloc déjà utilisé. Maintenant dans le fichier `"
 
-#: disk-utils/fsck.minix.c:760 disk-utils/fsck.minix.c:794
-#: disk-utils/fsck.minix.c:1122 disk-utils/fsck.minix.c:1131
-#: disk-utils/fsck.minix.c:1175 disk-utils/fsck.minix.c:1184
+#: disk-utils/fsck.minix.c:758 disk-utils/fsck.minix.c:792
+#: disk-utils/fsck.minix.c:1120 disk-utils/fsck.minix.c:1129
+#: disk-utils/fsck.minix.c:1173 disk-utils/fsck.minix.c:1182
 msgid "Clear"
 msgstr "Effacer"
 
-#: disk-utils/fsck.minix.c:769 disk-utils/fsck.minix.c:803
+#: disk-utils/fsck.minix.c:767 disk-utils/fsck.minix.c:801
 #, c-format
 msgid "Block %d in file `"
 msgstr "Bloc %d dans le fichier `"
 
-#: disk-utils/fsck.minix.c:771 disk-utils/fsck.minix.c:805
+#: disk-utils/fsck.minix.c:769 disk-utils/fsck.minix.c:803
 msgid "' is marked not in use."
-msgstr "' est marqué inutilisé."
+msgstr "' est marqué libre."
 
-#: disk-utils/fsck.minix.c:772 disk-utils/fsck.minix.c:806
+#: disk-utils/fsck.minix.c:770 disk-utils/fsck.minix.c:804
 msgid "Correct"
 msgstr "Correct"
 
-#: disk-utils/fsck.minix.c:956 disk-utils/fsck.minix.c:1020
+#: disk-utils/fsck.minix.c:954 disk-utils/fsck.minix.c:1018
 msgid " contains a bad inode number for file '"
-msgstr ""
+msgstr " contient un nombre i-noeuds incorrect pour le fichier "
 
-#: disk-utils/fsck.minix.c:958 disk-utils/fsck.minix.c:1022
+#: disk-utils/fsck.minix.c:956 disk-utils/fsck.minix.c:1020
 msgid " Remove"
-msgstr "Enlever"
+msgstr "Supprimer"
 
-#: disk-utils/fsck.minix.c:972 disk-utils/fsck.minix.c:1036
+#: disk-utils/fsck.minix.c:970 disk-utils/fsck.minix.c:1034
 msgid ": bad directory: '.' isn't first\n"
-msgstr ": mauvais répertoire: '.' ne vient pas en premier\n"
+msgstr ": mauvais répertoire : '.' ne vient pas en premier.\n"
 
-#: disk-utils/fsck.minix.c:979 disk-utils/fsck.minix.c:1044
+#: disk-utils/fsck.minix.c:977 disk-utils/fsck.minix.c:1042
 msgid ": bad directory: '..' isn't second\n"
-msgstr ": mauvais répertoire: '..' ne vient pas en second\n"
+msgstr ": mauvais répertoire : '..' ne vient pas en second.\n"
 
-#: disk-utils/fsck.minix.c:1076
+#: disk-utils/fsck.minix.c:1074
 msgid "internal error"
-msgstr "erreur interne"
+msgstr "Erreur interne"
 
-#: disk-utils/fsck.minix.c:1079
+#: disk-utils/fsck.minix.c:1077
 msgid ": bad directory: size<32"
 msgstr ": mauvais répertoire: taille<32"
 
-#: disk-utils/fsck.minix.c:1098
+#: disk-utils/fsck.minix.c:1096
 msgid ": bad directory: size < 32"
 msgstr ": mauvais répertoire: taille < 32"
 
-#: disk-utils/fsck.minix.c:1111
-#, fuzzy
+#: disk-utils/fsck.minix.c:1109
 msgid "seek failed in bad_zone"
-msgstr "la recherche dans write_tables a échoué"
+msgstr "La recherche dans bad_zone a échoué."
 
-#: disk-utils/fsck.minix.c:1121 disk-utils/fsck.minix.c:1174
+#: disk-utils/fsck.minix.c:1119 disk-utils/fsck.minix.c:1172
 #, c-format
 msgid "Inode %d mode not cleared."
-msgstr ""
+msgstr "Mode i-noeud %d non effacé."
 
-#: disk-utils/fsck.minix.c:1130 disk-utils/fsck.minix.c:1183
-#, fuzzy, c-format
+#: disk-utils/fsck.minix.c:1128 disk-utils/fsck.minix.c:1181
+#, c-format
 msgid "Inode %d not used, marked used in the bitmap."
-msgstr "I-noeud %d marqué libre, mais utilisé pour le fichier '"
+msgstr "I-noeud %d libre, mais marqué utilisé dans le fichier bitmap."
 
-#: disk-utils/fsck.minix.c:1136 disk-utils/fsck.minix.c:1189
+#: disk-utils/fsck.minix.c:1134 disk-utils/fsck.minix.c:1187
 #, c-format
 msgid "Inode %d used, marked unused in the bitmap."
-msgstr ""
+msgstr "I-noeud %d utilisé, mais marqué libre dans le fichier bitmap."
 
-#: disk-utils/fsck.minix.c:1142 disk-utils/fsck.minix.c:1194
+#: disk-utils/fsck.minix.c:1140 disk-utils/fsck.minix.c:1192
 #, c-format
 msgid "Inode %d (mode = %07o), i_nlinks=%d, counted=%d."
-msgstr ""
+msgstr "I-noeud %d (mode = %07o), i_nlinks=%d, nombre=%d."
 
-#: disk-utils/fsck.minix.c:1144 disk-utils/fsck.minix.c:1196
+#: disk-utils/fsck.minix.c:1142 disk-utils/fsck.minix.c:1194
 msgid "Set i_nlinks to count"
-msgstr ""
+msgstr "Régler i_nlinks sur nombre"
 
-#: disk-utils/fsck.minix.c:1156 disk-utils/fsck.minix.c:1208
-#, fuzzy, c-format
+#: disk-utils/fsck.minix.c:1154 disk-utils/fsck.minix.c:1206
+#, c-format
 msgid "Zone %d: marked in use, no file uses it."
-msgstr "I-noeud %d marqué libre, mais utilisé pour le fichier '"
+msgstr "Zone %d : marquée utilisée, mais aucun fichier ne l'utilise."
 
-#: disk-utils/fsck.minix.c:1157 disk-utils/fsck.minix.c:1209
+#: disk-utils/fsck.minix.c:1155 disk-utils/fsck.minix.c:1207
 msgid "Unmark"
-msgstr ""
+msgstr "Démarquer"
 
-#: disk-utils/fsck.minix.c:1161 disk-utils/fsck.minix.c:1213
+#: disk-utils/fsck.minix.c:1159 disk-utils/fsck.minix.c:1211
 #, c-format
 msgid "Zone %d: %sin use, counted=%d\n"
-msgstr ""
+msgstr "Zone %d : %s utilisée, nombre=%d\n"
 
-#: disk-utils/fsck.minix.c:1162 disk-utils/fsck.minix.c:1214
+#: disk-utils/fsck.minix.c:1160 disk-utils/fsck.minix.c:1212
 msgid "not "
 msgstr "non "
 
-#: disk-utils/fsck.minix.c:1190
-#, fuzzy
+#: disk-utils/fsck.minix.c:1188
 msgid "Set"
-msgstr "Secteurs"
+msgstr "Définir"
 
-#: disk-utils/fsck.minix.c:1254 disk-utils/mkfs.minix.c:649
-#: disk-utils/mkfs.minix.c:652
-#, fuzzy
+#: disk-utils/fsck.minix.c:1260 disk-utils/mkfs.minix.c:655
+#: disk-utils/mkfs.minix.c:658
 msgid "bad inode size"
-msgstr "%ld i-noeuds\n"
+msgstr "Taille de i-noeuds incorrecte"
 
-#: disk-utils/fsck.minix.c:1257
-#, fuzzy
+#: disk-utils/fsck.minix.c:1263
 msgid "bad v2 inode size"
-msgstr "%ld i-noeuds\n"
+msgstr "Taille de i-noeuds v2 incorrecte"
 
-#: disk-utils/fsck.minix.c:1283
+#: disk-utils/fsck.minix.c:1289
 msgid "need terminal for interactive repairs"
-msgstr ""
+msgstr "Terminal requis pour réparations interactives"
 
-#: disk-utils/fsck.minix.c:1287
-#, fuzzy, c-format
+#: disk-utils/fsck.minix.c:1293
+#, c-format
 msgid "unable to open '%s'"
-msgstr "Impossible d'ouvrir %s\n"
+msgstr "Impossible d'ouvrir '%s'"
 
-#: disk-utils/fsck.minix.c:1304
+#: disk-utils/fsck.minix.c:1308
 #, c-format
 msgid "%s is clean, no check.\n"
-msgstr ""
+msgstr "%s est propre, pas de vérification.\n"
 
-#: disk-utils/fsck.minix.c:1308
+#: disk-utils/fsck.minix.c:1312
 #, c-format
 msgid "Forcing filesystem check on %s.\n"
-msgstr ""
+msgstr "Forçage de la vérification du système de fichiers sur %s.\n"
 
-#: disk-utils/fsck.minix.c:1310
+#: disk-utils/fsck.minix.c:1314
 #, c-format
 msgid "Filesystem on %s is dirty, needs checking.\n"
-msgstr ""
+msgstr "Système de fichiers sur %s non propre. Vérification requise.\n"
 
-#: disk-utils/fsck.minix.c:1339
+#: disk-utils/fsck.minix.c:1343
 msgid ""
 "\n"
 "%6ld inodes used (%ld%%)\n"
 msgstr ""
+"\n"
+"%6ld i-noeuds utilisés (%ld%%)\n"
 
-#: disk-utils/fsck.minix.c:1344
+#: disk-utils/fsck.minix.c:1348
 msgid "%6ld zones used (%ld%%)\n"
-msgstr ""
+msgstr "%6ld zones utilisées (%ld%%)\n"
 
-#: disk-utils/fsck.minix.c:1346
+#: disk-utils/fsck.minix.c:1350
 #, c-format
 msgid ""
 "\n"
@@ -1004,220 +1119,233 @@ msgid ""
 "------\n"
 "%6d files\n"
 msgstr ""
+"\n"
+"%6d fichiers réguliers\n"
+"%6d répertoires\n"
+"%6d fichiers de périphérique de caractère\n"
+"%6d fichiers de périphérique de bloc\n"
+"%6d liens\n"
+"%6d liens symboliques\n"
+"------\n"
+"%6d fichiers\n"
 
-#: disk-utils/fsck.minix.c:1359
-#, fuzzy
+#: disk-utils/fsck.minix.c:1363
 msgid ""
 "----------------------------\n"
 "FILE SYSTEM HAS BEEN CHANGED\n"
 "----------------------------\n"
-msgstr "-- ----- ---- ---- ---- ---- ---- ---- ---- -------- ---------\n"
+msgstr ""
+"----------------------------\n"
+"LE SYSTEME DE FICHIERS A ETE MODIFIE\n"
+"----------------------------\n"
 
-#: disk-utils/mkfs.c:66
+#: disk-utils/mkfs.c:76
 msgid "Usage: mkfs [-V] [-t fstype] [fs-options] device [size]\n"
-msgstr ""
+msgstr "Usage : mkfs [-V] [-t fstype] [fs-options] périphérique [taille]\n"
 
-#: disk-utils/mkfs.c:80 fdisk/cfdisk.c:373 getopt-1.0.3b/getopt.c:85
-#: getopt-1.0.3b/getopt.c:95 login-utils/wall.c:218 mount/sundries.c:195
+#: disk-utils/mkfs.c:90 fdisk/cfdisk.c:369 getopt-1.0.3b/getopt.c:85
+#: getopt-1.0.3b/getopt.c:95 login-utils/wall.c:218 mount/sundries.c:196
 #, c-format
 msgid "%s: Out of memory!\n"
-msgstr "%s: A court de mémoire!\n"
+msgstr "%s : A court de mémoire !\n"
 
-#: disk-utils/mkfs.c:89
-#, fuzzy, c-format
+#: disk-utils/mkfs.c:99
+#, c-format
 msgid "mkfs version %s (%s)\n"
-msgstr "mkfs version "
+msgstr "mkfs version %s (%s)\n"
 
-#: disk-utils/mkfs.minix.c:186
+#: disk-utils/mkfs.minix.c:185
 #, c-format
 msgid "Usage: %s [-c | -l filename] [-nXX] [-iXX] /dev/name [blocks]\n"
-msgstr "Usage: %s [-c | -l nom de fichier] [-nXX] [-iXX] /dev/name [blocks]\n"
+msgstr "Usage : %s [-c | -l nomdefichier] [-nXX] [-iXX] /dev/nom [blocs]\n"
 
-#: disk-utils/mkfs.minix.c:210
+#: disk-utils/mkfs.minix.c:209
 #, c-format
 msgid "%s is mounted; will not make a filesystem here!"
-msgstr "%s est monté ; je ne vais pas faire un système de fichier ici !"
+msgstr "%s est monté ; pas de création de système de fichiers ici !"
 
-#: disk-utils/mkfs.minix.c:271
+#: disk-utils/mkfs.minix.c:270
 msgid "seek to boot block failed in write_tables"
-msgstr "la recherche de bloc de boot dans write_tables a échoué"
+msgstr "La recherche de bloc d'amorce dans write_tables a échoué."
 
-#: disk-utils/mkfs.minix.c:273
+#: disk-utils/mkfs.minix.c:272
 msgid "unable to clear boot sector"
-msgstr "impossible d'effacer le secteur de boot"
+msgstr "Impossible d'effacer le secteur d'amorce."
 
-#: disk-utils/mkfs.minix.c:275
+#: disk-utils/mkfs.minix.c:274
 msgid "seek failed in write_tables"
-msgstr "la recherche dans write_tables a échoué"
+msgstr "La recherche dans write_tables a échoué."
 
-#: disk-utils/mkfs.minix.c:279
+#: disk-utils/mkfs.minix.c:278
 msgid "unable to write inode map"
-msgstr "imossible d'écrire la table des inodes"
+msgstr "Impossible d'écrire la table des i-noeuds."
 
-#: disk-utils/mkfs.minix.c:281
+#: disk-utils/mkfs.minix.c:280
 msgid "unable to write zone map"
-msgstr "impossible d'écrire la table des zones"
+msgstr "Impossible d'écrire la table des zones."
 
-#: disk-utils/mkfs.minix.c:283
-#, fuzzy
+#: disk-utils/mkfs.minix.c:282
 msgid "unable to write inodes"
-msgstr "imossible d'écrire la table des inodes"
+msgstr "Impossible d'écrire les i-noeuds."
 
-#: disk-utils/mkfs.minix.c:292
-#, fuzzy
+#: disk-utils/mkfs.minix.c:291
 msgid "write failed in write_block"
-msgstr "la recherche dans write_tables a échoué"
+msgstr "L'écriture dans write_block a échoué."
 
 #. Could make triple indirect block here
-#: disk-utils/mkfs.minix.c:300 disk-utils/mkfs.minix.c:374
-#: disk-utils/mkfs.minix.c:425
+#: disk-utils/mkfs.minix.c:299 disk-utils/mkfs.minix.c:373
+#: disk-utils/mkfs.minix.c:424
 msgid "too many bad blocks"
-msgstr ""
+msgstr "Trop de mauvais blocs."
 
-#: disk-utils/mkfs.minix.c:308
+#: disk-utils/mkfs.minix.c:307
 msgid "not enough good blocks"
-msgstr ""
+msgstr "Pas assez de bons blocs."
 
-#: disk-utils/mkfs.minix.c:529
-#, fuzzy
+#: disk-utils/mkfs.minix.c:521
 msgid "unable to allocate buffers for maps"
-msgstr "Impossible d'allouer le buffer\n"
+msgstr "Impossible d'allouer le tampon pour les tables."
 
-#: disk-utils/mkfs.minix.c:538
-#, fuzzy
+#: disk-utils/mkfs.minix.c:530
 msgid "unable to allocate buffer for inodes"
-msgstr "Impossible d'allouer le buffer.\n"
+msgstr "Impossible d'allouer le tampon pour les i-noeuds."
 
-#: disk-utils/mkfs.minix.c:544
-#, fuzzy, c-format
+#: disk-utils/mkfs.minix.c:536
+#, c-format
 msgid ""
 "Maxsize=%ld\n"
 "\n"
 msgstr "Taillemax=%ld\n"
 
-#: disk-utils/mkfs.minix.c:558
-#, fuzzy
+#: disk-utils/mkfs.minix.c:550
 msgid "seek failed during testing of blocks"
-msgstr "la recherche dans write_tables a échoué"
+msgstr "La recherche lors du test des blocs a échoué."
 
-#: disk-utils/mkfs.minix.c:566
+#: disk-utils/mkfs.minix.c:558
 msgid "Weird values in do_check: probably bugs\n"
-msgstr ""
+msgstr "Valeurs étranges dans do_check : sans doute des bogues.\n"
 
-#: disk-utils/mkfs.minix.c:597 disk-utils/mkswap.c:231
-#, fuzzy
+#: disk-utils/mkfs.minix.c:589 disk-utils/mkswap.c:261
 msgid "seek failed in check_blocks"
-msgstr "la recherche dans write_tables a échoué"
+msgstr "La recherche dans check_blocks a échoué."
 
-#: disk-utils/mkfs.minix.c:606
+#: disk-utils/mkfs.minix.c:598
 msgid "bad blocks before data-area: cannot make fs"
-msgstr ""
+msgstr "Mauvais blocs avant la zone de données : impossible de créer fs."
 
-#: disk-utils/mkfs.minix.c:612 disk-utils/mkfs.minix.c:634
-#, fuzzy, c-format
+#: disk-utils/mkfs.minix.c:604 disk-utils/mkfs.minix.c:626
+#, c-format
 msgid "%d bad blocks\n"
-msgstr "%ld blocs\n"
+msgstr "%ld mauvais blocs\n"
 
-#: disk-utils/mkfs.minix.c:614 disk-utils/mkfs.minix.c:636
-#, fuzzy
+#: disk-utils/mkfs.minix.c:606 disk-utils/mkfs.minix.c:628
 msgid "one bad block\n"
-msgstr "une mauvaise page\n"
+msgstr "un mauvais bloc\n"
 
-#: disk-utils/mkfs.minix.c:626
-#, fuzzy
+#: disk-utils/mkfs.minix.c:618
 msgid "can't open file of bad blocks"
-msgstr "Impossible d'ouvrir le fichier '%s'"
+msgstr "Impossible d'ouvrir le fichier contenant les mauvais blocs."
 
-#: disk-utils/mkfs.minix.c:681
+#: disk-utils/mkfs.minix.c:687
 #, c-format
 msgid "%s: not compiled with minix v2 support\n"
-msgstr ""
+msgstr "%s : non compilé avec prise en charge minix v2.\n"
 
-#: disk-utils/mkfs.minix.c:697
-#, fuzzy
+#: disk-utils/mkfs.minix.c:703
 msgid "strtol error: number of blocks not specified"
-msgstr "Erreur d'écriture: mauvais block dans le fichier '"
+msgstr "Erreur strtol : nombre de blocs non indiqué.'"
 
-#: disk-utils/mkfs.minix.c:729
-#, fuzzy, c-format
+#: disk-utils/mkfs.minix.c:735
+#, c-format
 msgid "unable to open %s"
-msgstr "Impossible d'ouvrir %s\n"
+msgstr "Impossible d'ouvrir %s"
 
-#: disk-utils/mkfs.minix.c:731
-#, fuzzy, c-format
+#: disk-utils/mkfs.minix.c:737
+#, c-format
 msgid "unable to stat %s"
-msgstr "Impossible de lire %s\n"
+msgstr "stat de %s impossible"
 
-#: disk-utils/mkfs.minix.c:735
+#: disk-utils/mkfs.minix.c:741
 #, c-format
 msgid "will not try to make filesystem on '%s'"
+msgstr "Pas de tentative de création d'un système de fichiers sur '%s'."
+
+#: disk-utils/mkswap.c:117
+#, c-format
+msgid "Bad user-specified page size %d\n"
+msgstr ""
+
+#: disk-utils/mkswap.c:126
+#, c-format
+msgid "Using user-specified page size %d, instead of the system values %d/%d\n"
 msgstr ""
 
-#: disk-utils/mkswap.c:101
+#: disk-utils/mkswap.c:130
 #, c-format
-msgid "Assuming pages of size %d\n"
+msgid "Assuming pages of size %d (not %d)\n"
 msgstr ""
+"Pages de format %d (pas %d) attendues.\n"
 
-#: disk-utils/mkswap.c:185
-#, fuzzy, c-format
-msgid "Usage: %s [-c] [-v0|-v1] /dev/name [blocks]\n"
-msgstr "Usage: %s [-c | -l nom de fichier] [-nXX] [-iXX] /dev/name [blocks]\n"
+#: disk-utils/mkswap.c:215
+#, c-format
+msgid "Usage: %s [-c] [-v0|-v1] [-pPAGESZ] /dev/name [blocks]\n"
+msgstr "Usage : %s [-c] [-v0|-v1] [-pTAILLEPG] /dev/nom [taille en blocs]\n"
 
-#: disk-utils/mkswap.c:208
-#, fuzzy
+#: disk-utils/mkswap.c:238
 msgid "too many bad pages"
-msgstr "une mauvaise page\n"
+msgstr "Trop de mauvaises pages"
 
-#: disk-utils/mkswap.c:222 misc-utils/look.c:170 misc-utils/setterm.c:1100
-#: text-utils/more.c:1888 text-utils/more.c:1899
-#, fuzzy
+#: disk-utils/mkswap.c:252 misc-utils/look.c:170 misc-utils/setterm.c:1100
+#: text-utils/more.c:1863 text-utils/more.c:1874
 msgid "Out of memory"
-msgstr "%s: A court de mémoire!\n"
+msgstr "A court de mémoire"
 
-#: disk-utils/mkswap.c:239
+#: disk-utils/mkswap.c:269
 msgid "one bad page\n"
 msgstr "une mauvaise page\n"
 
-#: disk-utils/mkswap.c:241
+#: disk-utils/mkswap.c:271
 #, c-format
 msgid "%d bad pages\n"
 msgstr "%d mauvaises pages\n"
 
-#: disk-utils/mkswap.c:345
+#: disk-utils/mkswap.c:391
 #, c-format
 msgid "%s: error: Nowhere to set up swap on?\n"
-msgstr "%s: erreur: Aucun endroit défini pour swaper?\n"
+msgstr "%s : erreur  : aucun endroit défini pour l'échange ?\n"
 
-#: disk-utils/mkswap.c:354
+#: disk-utils/mkswap.c:409
 #, c-format
 msgid "%s: error: size %ld is larger than device size %d\n"
-msgstr "%s: erreur: la taile %ld est plus grande que le périphérique : %d\n"
+msgstr ""
+"%s : erreur : la taille %ld est plus grande que celle du périphérique : %d\n"
 
-#: disk-utils/mkswap.c:372
+#: disk-utils/mkswap.c:427
 #, c-format
 msgid "%s: error: unknown version %d\n"
-msgstr "%s: erreur: version inconnue %d\n"
+msgstr "%s : erreur : version inconnue %d\n"
 
-#: disk-utils/mkswap.c:378
+#: disk-utils/mkswap.c:433
 #, c-format
 msgid "%s: error: swap area needs to be at least %ldkB\n"
-msgstr "%s: erreur: la taille du swap doit être d'au moins %ldkB\n"
+msgstr ""
+"%s : erreur : la taille de la zone d'échange doit être d'au moins %ldKo\n"
 
-#: disk-utils/mkswap.c:397
+#: disk-utils/mkswap.c:452
 #, c-format
 msgid "%s: warning: truncating swap area to %ldkB\n"
-msgstr "%s: avertissement: troncature de l'aire de swap à %ldkB\n"
+msgstr "%s : avertissement : troncature de la zone d'échange à %ldKo\n"
 
-#: disk-utils/mkswap.c:409
+#: disk-utils/mkswap.c:464
 #, c-format
 msgid "Will not try to make swapdevice on '%s'"
-msgstr ""
+msgstr "Pas d'essai de création de périphérique d'échange sur '%s'"
 
-#: disk-utils/mkswap.c:418 disk-utils/mkswap.c:439
+#: disk-utils/mkswap.c:473 disk-utils/mkswap.c:494
 msgid "fatal: first page unreadable"
-msgstr ""
+msgstr "Erreur bloquante : première page illisible."
 
-#: disk-utils/mkswap.c:424
+#: disk-utils/mkswap.c:479
 #, c-format
 msgid ""
 "%s: Device '%s' contains a valid Sun disklabel.\n"
@@ -1225,107 +1353,112 @@ msgid ""
 "No swap created. If you really want to create swap v0 on that device, use\n"
 "the -f option to force it.\n"
 msgstr ""
+"%s : Le périphérique '%s' contient un libellé de disque Sun valide.\n"
+"Ceci signifie probablement que la création du swap v0 détruirait la table de "
+"partition.\n"
+"Aucun swap créé. Si vous voulez toujours créer un swap v0 sur ce "
+"périphérique, utilisez\n"
+"l'option -f pour forcer celui-ci.\n"
 
-#: disk-utils/mkswap.c:448
+#: disk-utils/mkswap.c:503
 msgid "Unable to set up swap-space: unreadable"
-msgstr ""
+msgstr "Impossible de configurer l'espace d'échange : illisible."
 
-#: disk-utils/mkswap.c:449
+#: disk-utils/mkswap.c:504
 #, c-format
 msgid "Setting up swapspace version %d, size = %ld bytes\n"
-msgstr "Configuration de l'espace de swap version %d, taille = %ld octets\n"
+msgstr "Configuration de l'espace d'échange version %d, taille = %ld octets\n"
 
-#: disk-utils/mkswap.c:455
-#, fuzzy
+#: disk-utils/mkswap.c:510
 msgid "unable to rewind swap-device"
-msgstr "imossible d'écrire la table des inodes"
+msgstr "Impossible de rembobiner le périphérique d'échange."
 
-#: disk-utils/mkswap.c:458
-#, fuzzy
+#: disk-utils/mkswap.c:513
 msgid "unable to write signature page"
-msgstr "imossible d'écrire la table des inodes"
+msgstr "Impossible d'écrire la page de signature."
 
-#: disk-utils/mkswap.c:465
-#, fuzzy
+#: disk-utils/mkswap.c:520
 msgid "fsync failed"
-msgstr "échec de malloc"
+msgstr "Echec de fsync."
 
 #: disk-utils/setfdprm.c:30
 #, c-format
 msgid "Invalid number: %s\n"
-msgstr "Nombre invalide: %s\n"
+msgstr "Nombre invalide : %s\n"
 
 #: disk-utils/setfdprm.c:80
 #, c-format
 msgid "Syntax error: '%s'\n"
-msgstr "Erreur de syntaxe: '%s'\n"
+msgstr "Erreur de syntaxe : '%s'\n"
 
 #: disk-utils/setfdprm.c:90
 #, c-format
 msgid "No such parameter set: '%s'\n"
-msgstr ""
+msgstr "Ce paramètre n'est pas défini : '%s'\n"
 
 #: disk-utils/setfdprm.c:100
 #, c-format
 msgid "usage: %s [ -p ] dev name\n"
-msgstr "usage: %s [ -p ] périph nom\n"
+msgstr "Usage : %s [ -p ] nom périph\n"
 
 #: disk-utils/setfdprm.c:101
 #, c-format
 msgid ""
 "       %s [ -p ] dev size sect heads tracks stretch gap rate spec1 fmt_gap\n"
 msgstr ""
+"       %s [ -p ] périph taille sect têtes pistes étendue intervalle taux "
+"spec1 fmt_intervalle\n"
 
 #: disk-utils/setfdprm.c:104
 #, c-format
 msgid "       %s [ -c | -y | -n | -d ] dev\n"
-msgstr ""
+msgstr "       %s [ -c | -y | -n | -d ] périph\n"
 
 #: disk-utils/setfdprm.c:106
 #, c-format
 msgid "       %s [ -c | -y | -n ] dev\n"
-msgstr ""
+msgstr "       %s [ -c | -y | -n ] périph\n"
 
-#: fdisk/cfdisk.c:398 fdisk/cfdisk.c:1903
+#: fdisk/cfdisk.c:394 fdisk/cfdisk.c:1899
 msgid "Unusable"
 msgstr "Inutilisable"
 
-#: fdisk/cfdisk.c:400 fdisk/cfdisk.c:1905
+#: fdisk/cfdisk.c:396 fdisk/cfdisk.c:1901
 msgid "Free Space"
-msgstr "Espace Libre"
+msgstr "Espace libre"
 
-#: fdisk/cfdisk.c:403
+#: fdisk/cfdisk.c:399
 msgid "Linux ext2"
 msgstr "Linux ext2"
 
 #. also Solaris
-#: fdisk/cfdisk.c:405 fdisk/i386_sys_types.c:56
+#: fdisk/cfdisk.c:401 fdisk/i386_sys_types.c:56
 msgid "Linux"
 msgstr "Linux"
 
-#: fdisk/cfdisk.c:408
+#: fdisk/cfdisk.c:404
 msgid "OS/2 HPFS"
 msgstr "OS/2 HPFS"
 
-#: fdisk/cfdisk.c:410
+#: fdisk/cfdisk.c:406
 msgid "OS/2 IFS"
 msgstr "OS/2 IFS"
 
-#: fdisk/cfdisk.c:414
+#: fdisk/cfdisk.c:410
 msgid "NTFS"
 msgstr "NTFS"
 
-#: fdisk/cfdisk.c:425
+#: fdisk/cfdisk.c:421
 msgid "Disk has been changed.\n"
 msgstr "Le disque a été changé.\n"
 
-#: fdisk/cfdisk.c:426
+#: fdisk/cfdisk.c:422
 msgid "Reboot the system to ensure the partition table is correctly updated.\n"
 msgstr ""
-"Rebootez le système pour être sur que la table des partitions a été "
+"Réamorcez le système pour être sûr que la table de partition a été "
 "correctement mise à jour.\n"
 
-#: fdisk/cfdisk.c:429
+#: fdisk/cfdisk.c:425
 msgid ""
 "\n"
 "WARNING: If you have created or modified any\n"
@@ -1334,305 +1467,304 @@ msgid ""
 msgstr ""
 "\n"
 "AVERTISSEMENT: Si vous avez créé ou modifié\n"
-"une ou des partitions DOS 6.x, reportez-vous au manuel\n"
-"de cfdisk pour avoir plus d'informations.\n"
+"une des partitions DOS 6.x, reportez-vous au manuel\n"
+"de cfdisk pour plus d'informations.\n"
 
-#: fdisk/cfdisk.c:524
+#: fdisk/cfdisk.c:520
 msgid "FATAL ERROR"
-msgstr "ERREUR FATALE"
+msgstr "ERREUR BLOQUANTE"
 
-#: fdisk/cfdisk.c:533
+#: fdisk/cfdisk.c:529
 msgid "Press any key to exit cfdisk"
-msgstr "Appuyez sur une touche pour quitter cfdisk"
+msgstr "Appuyez sur une touche pour quitter cfdisk."
 
-#: fdisk/cfdisk.c:569 fdisk/cfdisk.c:577
+#: fdisk/cfdisk.c:565 fdisk/cfdisk.c:573
 msgid "Cannot seek on disk drive"
 msgstr "Erreur d'accès sur le disque dur"
 
-#: fdisk/cfdisk.c:571
+#: fdisk/cfdisk.c:567
 msgid "Cannot read disk drive"
 msgstr "Impossible de lire le disque dur"
 
-#: fdisk/cfdisk.c:579
+#: fdisk/cfdisk.c:575
 msgid "Cannot write disk drive"
 msgstr "Impossible d'écrire sur le disque dur"
 
-#: fdisk/cfdisk.c:818
+#: fdisk/cfdisk.c:814
 msgid "Too many partitions"
-msgstr "Trops de partitions"
+msgstr "Trop de partitions"
 
-#: fdisk/cfdisk.c:823
+#: fdisk/cfdisk.c:819
 msgid "Partition begins before sector 0"
-msgstr "La partition commence avant le secteur 0"
+msgstr "La partition commence avant le secteur 0."
 
-#: fdisk/cfdisk.c:828
+#: fdisk/cfdisk.c:824
 msgid "Partition ends before sector 0"
-msgstr "La partition se termine avant le secteur 0"
+msgstr "La partition se termine avant le secteur 0."
 
-#: fdisk/cfdisk.c:833
+#: fdisk/cfdisk.c:829
 msgid "Partition begins after end-of-disk"
-msgstr "La partition commence après la fin du disque"
+msgstr "La partition commence après la fin du disque."
 
-#: fdisk/cfdisk.c:838
+#: fdisk/cfdisk.c:834
 msgid "Partition ends after end-of-disk"
-msgstr "La partition se termine après la fin du disque"
+msgstr "La partition se termine après la fin du disque."
 
-#: fdisk/cfdisk.c:862
+#: fdisk/cfdisk.c:858
 msgid "logical partitions not in disk order"
-msgstr ""
+msgstr "Les partitions logiques ne suivent pas l'ordre du disque."
 
-#: fdisk/cfdisk.c:865
-#, fuzzy
+#: fdisk/cfdisk.c:861
 msgid "logical partitions overlap"
-msgstr "Mauvaise partition logique"
+msgstr "Les partitions logiques se chevauchent."
 
-#: fdisk/cfdisk.c:867
-#, fuzzy
+#: fdisk/cfdisk.c:863
 msgid "enlarged logical partitions overlap"
-msgstr "Mauvaise partition logique"
+msgstr "Les partitions logiques étendues se chevauchent."
 
-#: fdisk/cfdisk.c:897
+#: fdisk/cfdisk.c:893
 msgid ""
 "!!!! Internal error creating logical drive with no extended partition !!!!"
 msgstr ""
 "!!!! Erreur interne lors de la création d'un lecteur logique sans partition "
 "étendue !!!!"
 
-#: fdisk/cfdisk.c:908 fdisk/cfdisk.c:920
+#: fdisk/cfdisk.c:904 fdisk/cfdisk.c:916
 msgid ""
 "Cannot create logical drive here -- would create two extended partitions"
 msgstr ""
-"Impossible de créér un lecteur logique ici -- cela créérait deux partitions "
-"étendues"
+"Impossible de créer un lecteur logique ici -- cela créerait deux partitions "
+"étendues."
 
-#: fdisk/cfdisk.c:1070
+#: fdisk/cfdisk.c:1066
 msgid "Menu item too long. Menu may look odd."
-msgstr "Elément de menu trop large. Le menu peut paraitre bizarre."
+msgstr "Elément de menu trop long. Le menu risque de paraître bizarre."
 
-#: fdisk/cfdisk.c:1126
+#: fdisk/cfdisk.c:1122
 msgid "Menu without direction. Defaulting horizontal."
 msgstr "Menu sans direction. Horizontal par défaut."
 
-#: fdisk/cfdisk.c:1256
+#: fdisk/cfdisk.c:1252
 msgid "Illegal key"
 msgstr "Touche non valide"
 
-#: fdisk/cfdisk.c:1279
+#: fdisk/cfdisk.c:1275
 msgid "Press a key to continue"
-msgstr "Appuyez sur une touche pour continuer"
+msgstr "Appuyez sur une touche pour continuer."
 
-#: fdisk/cfdisk.c:1326 fdisk/cfdisk.c:1874 fdisk/cfdisk.c:2399
-#: fdisk/cfdisk.c:2401
+#: fdisk/cfdisk.c:1322 fdisk/cfdisk.c:1870 fdisk/cfdisk.c:2400
+#: fdisk/cfdisk.c:2402
 msgid "Primary"
 msgstr "Primaire"
 
-#: fdisk/cfdisk.c:1326
+#: fdisk/cfdisk.c:1322
 msgid "Create a new primary partition"
-msgstr "Créér une nouvelle partition primaire"
+msgstr "Créer une nouvelle partition primaire"
 
-#: fdisk/cfdisk.c:1327 fdisk/cfdisk.c:1874 fdisk/cfdisk.c:2398
-#: fdisk/cfdisk.c:2401
+#: fdisk/cfdisk.c:1323 fdisk/cfdisk.c:1870 fdisk/cfdisk.c:2399
+#: fdisk/cfdisk.c:2402
 msgid "Logical"
 msgstr "Logique"
 
-#: fdisk/cfdisk.c:1327
+#: fdisk/cfdisk.c:1323
 msgid "Create a new logical partition"
-msgstr "Créér une nouvelle partition logique"
+msgstr "Créer une nouvelle partition logique"
 
-#: fdisk/cfdisk.c:1328 fdisk/cfdisk.c:1383 fdisk/cfdisk.c:2078
+#: fdisk/cfdisk.c:1324 fdisk/cfdisk.c:1379 fdisk/cfdisk.c:2074
 msgid "Cancel"
 msgstr "Annuler"
 
-#: fdisk/cfdisk.c:1328 fdisk/cfdisk.c:1383
+#: fdisk/cfdisk.c:1324 fdisk/cfdisk.c:1379
 msgid "Don't create a partition"
-msgstr "Ne pas créér la partition"
+msgstr "Ne pas créer la partition"
 
-#: fdisk/cfdisk.c:1344
+#: fdisk/cfdisk.c:1340
 msgid "!!! Internal error !!!"
-msgstr "!!! Erreur Interne !!!"
+msgstr "!!! Erreur interne !!!"
 
-#: fdisk/cfdisk.c:1347
+#: fdisk/cfdisk.c:1343
 msgid "Size (in MB): "
-msgstr "Taille (en Mo): "
+msgstr "Taille (en Mo) : "
 
-#: fdisk/cfdisk.c:1381
+#: fdisk/cfdisk.c:1377
 msgid "Beginning"
 msgstr "Début"
 
-#: fdisk/cfdisk.c:1381
+#: fdisk/cfdisk.c:1377
 msgid "Add partition at beginning of free space"
 msgstr "Ajouter la partition au début de l'espace libre"
 
-#: fdisk/cfdisk.c:1382
+#: fdisk/cfdisk.c:1378
 msgid "End"
 msgstr "Fin"
 
-#: fdisk/cfdisk.c:1382
+#: fdisk/cfdisk.c:1378
 msgid "Add partition at end of free space"
 msgstr "Ajouter la partition à la fin de l'espace libre"
 
-#: fdisk/cfdisk.c:1400
+#: fdisk/cfdisk.c:1396
 msgid "No room to create the extended partition"
-msgstr "Pas de place pour créér une partition étendue"
+msgstr "Pas de place pour créer une partition étendue"
 
-#: fdisk/cfdisk.c:1439
+#: fdisk/cfdisk.c:1435
 msgid "Bad signature on partition table"
-msgstr "Mauvaise signature de la table de partitions"
+msgstr "Mauvaise signature de la table de partition"
 
-#: fdisk/cfdisk.c:1477
+#: fdisk/cfdisk.c:1473
 msgid "You specified more cylinders than fit on disk"
-msgstr ""
+msgstr "Vous avez spécifié plus de cylindres que le disque ne peut contenir."
 
-#: fdisk/cfdisk.c:1507
+#: fdisk/cfdisk.c:1503
 msgid "Cannot open disk drive"
-msgstr "Impossible d'ouvrir le disque dur"
+msgstr "Impossible d'ouvrir le disque dur."
 
-#: fdisk/cfdisk.c:1509 fdisk/cfdisk.c:1690
+#: fdisk/cfdisk.c:1505 fdisk/cfdisk.c:1686
 msgid "Opened disk read-only - you have no permission to write"
 msgstr ""
-"Disque ouvert en lecture seule : vous n'avez pas les permissions d'écriture"
+"Disque ouvert en lecture seule : vous n'avez pas les permissions d'écriture."
 
-#: fdisk/cfdisk.c:1530
+#: fdisk/cfdisk.c:1526
 msgid "Cannot get disk size"
-msgstr "Impossible de déterminer la taille du disque"
+msgstr "Impossible de déterminer la taille du disque."
 
 #. avoid snprintf - it does not exist on ancient systems
-#: fdisk/cfdisk.c:1556
+#: fdisk/cfdisk.c:1552
 msgid "Bad primary partition"
 msgstr "Mauvaise partition primaire"
 
 #. avoid snprintf
-#: fdisk/cfdisk.c:1587
+#: fdisk/cfdisk.c:1583
 msgid "Bad logical partition"
 msgstr "Mauvaise partition logique"
 
-#: fdisk/cfdisk.c:1702
+#: fdisk/cfdisk.c:1698
 msgid "Warning!!  This may destroy data on your disk!"
-msgstr "Avertissement!! Cela peux détruire des données sur votre disque!"
+msgstr "Avertissement !! Cela peut détruire des données sur votre disque !"
 
-#: fdisk/cfdisk.c:1706
+#: fdisk/cfdisk.c:1702
 msgid "Are you sure you want write the partition table to disk? (yes or no): "
 msgstr ""
-"Etes vous sur de vouloir écrire la table de partition sur le disque? (yes ou "
-"no): "
+"Etes-vous sûr de vouloir écrire la table de partition sur le disque ? (oui "
+"ou non) : "
 
-#: fdisk/cfdisk.c:1712
+#: fdisk/cfdisk.c:1708
 msgid "no"
 msgstr "non"
 
-#: fdisk/cfdisk.c:1713
+#: fdisk/cfdisk.c:1709
 msgid "Did not write partition table to disk"
 msgstr "Table de partition non écrite sur le disque"
 
-#: fdisk/cfdisk.c:1715
+#: fdisk/cfdisk.c:1711
 msgid "yes"
 msgstr "oui"
 
-#: fdisk/cfdisk.c:1718
+#: fdisk/cfdisk.c:1714
 msgid "Please enter `yes' or `no'"
-msgstr "Répondez par `oui' ou par `non'"
+msgstr "Répondez par `oui' ou par `non'."
 
-#: fdisk/cfdisk.c:1722
+#: fdisk/cfdisk.c:1718
 msgid "Writing partition table to disk..."
-msgstr "Ecriture de la table de partition sur disque..."
+msgstr "Ecriture de la table de partition sur le disque..."
 
-#: fdisk/cfdisk.c:1747 fdisk/cfdisk.c:1751
+#: fdisk/cfdisk.c:1743 fdisk/cfdisk.c:1747
 msgid "Wrote partition table to disk"
-msgstr "Table de partition écrite sur disque"
+msgstr "Table de partition écrite sur le disque."
 
-#: fdisk/cfdisk.c:1749
+#: fdisk/cfdisk.c:1745
 msgid ""
 "Wrote partition table, but re-read table failed.  Reboot to update table."
 msgstr ""
-"Table de partitions écrite, mais échec de sa relecture. Redémarrez pour la "
+"Table de partition écrite, mais échec de sa relecture. Redémarrez pour la "
 "mettre à jour."
 
-#: fdisk/cfdisk.c:1759
+#: fdisk/cfdisk.c:1755
 msgid ""
 "Not precisely one primary partition is bootable. DOS MBR cannot boot this."
 msgstr ""
-"Il n'y a pas exactement une partition primaire bootable. Un MBR DOS ne "
+"Il n'y a pas exactement une partition primaire amorçable. Le MBR DOS ne "
 "pourra pas fonctionner."
 
-#: fdisk/cfdisk.c:1817 fdisk/cfdisk.c:1935 fdisk/cfdisk.c:2019
+#: fdisk/cfdisk.c:1813 fdisk/cfdisk.c:1931 fdisk/cfdisk.c:2015
 msgid "Enter filename or press RETURN to display on screen: "
-msgstr "Entrez un nom de fichier ou tapez ENTREE pour affichage sur l'écran: "
+msgstr ""
+"Entrez un nom de fichier ou appuyez sur ENTREE pour afficher à l'écran : "
 
-#: fdisk/cfdisk.c:1825 fdisk/cfdisk.c:1943 fdisk/cfdisk.c:2027
+#: fdisk/cfdisk.c:1821 fdisk/cfdisk.c:1939 fdisk/cfdisk.c:2023
 #, c-format
 msgid "Cannot open file '%s'"
 msgstr "Impossible d'ouvrir le fichier '%s'"
 
-#: fdisk/cfdisk.c:1836
+#: fdisk/cfdisk.c:1832
 #, c-format
 msgid "Disk Drive: %s\n"
-msgstr "Disque Dur: %s\n"
+msgstr "Disque dur : %s\n"
 
-#: fdisk/cfdisk.c:1838
+#: fdisk/cfdisk.c:1834
 msgid "Sector 0:\n"
-msgstr "Secteur 0:\n"
+msgstr "Secteur 0 :\n"
 
-#: fdisk/cfdisk.c:1845
+#: fdisk/cfdisk.c:1841
 #, c-format
 msgid "Sector %d:\n"
-msgstr "Secteur %d:\n"
+msgstr "Secteur %d :\n"
 
-#: fdisk/cfdisk.c:1865
+#: fdisk/cfdisk.c:1861
 msgid "   None   "
 msgstr "   Aucun  "
 
-#: fdisk/cfdisk.c:1867
+#: fdisk/cfdisk.c:1863
 msgid "   Pri/Log"
 msgstr "   Pri/Log"
 
-#: fdisk/cfdisk.c:1869
+#: fdisk/cfdisk.c:1865
 msgid "   Primary"
 msgstr "  Primaire"
 
-#: fdisk/cfdisk.c:1871
+#: fdisk/cfdisk.c:1867
 msgid "   Logical"
 msgstr "   Logique"
 
 #. odd flag on end
 #. type id
 #. type name
-#: fdisk/cfdisk.c:1909 fdisk/fdisk.c:1071 fdisk/fdisk.c:1220
+#: fdisk/cfdisk.c:1905 fdisk/fdisk.c:1071 fdisk/fdisk.c:1220
 #: fdisk/fdisksgilabel.c:224 fdisk/fdisksunlabel.c:646 fdisk/sfdisk.c:559
 msgid "Unknown"
-msgstr "Inconnue"
+msgstr "Inconnu"
 
-#: fdisk/cfdisk.c:1915
+#: fdisk/cfdisk.c:1911
 #, c-format
 msgid "Boot (%02X)"
-msgstr "Boot (%02X)"
+msgstr "Amorce (%02X)"
 
-#: fdisk/cfdisk.c:1917 fdisk/cfdisk.c:2407
+#: fdisk/cfdisk.c:1913 fdisk/cfdisk.c:2408
 #, c-format
 msgid "Unknown (%02X)"
 msgstr "Inconnu (%02X)"
 
-#: fdisk/cfdisk.c:1919
+#: fdisk/cfdisk.c:1915
 #, c-format
 msgid "None (%02X)"
 msgstr "Aucun (%02X)"
 
-#: fdisk/cfdisk.c:1954 fdisk/cfdisk.c:2038
+#: fdisk/cfdisk.c:1950 fdisk/cfdisk.c:2034
 #, c-format
 msgid "Partition Table for %s\n"
-msgstr "Table de partitions pour %s\n"
+msgstr "Table de partition pour %s\n"
 
-#: fdisk/cfdisk.c:1956
+#: fdisk/cfdisk.c:1952
 msgid "            First    Last\n"
 msgstr "            Premier  Dernier\n"
 
-#: fdisk/cfdisk.c:1957
+#: fdisk/cfdisk.c:1953
 msgid ""
 " # Type     Sector   Sector   Offset  Length   Filesystem Type (ID)   Flags\n"
 msgstr ""
-" # Type     Secteur  Secteur  Offset  Longueur Syst.Fich. Type (ID)   "
-"Drapeaux\n"
+" # Type     Secteur  Secteur  Décalage  Longueur Syst.Fich. Type (ID)   "
+"Indicateurs\n"
 
-#: fdisk/cfdisk.c:1958
+#: fdisk/cfdisk.c:1954
 msgid ""
 "-- ------- -------- --------- ------ --------- ---------------------- "
 "---------\n"
@@ -1640,467 +1772,465 @@ msgstr ""
 "-- ------- -------- --------- ------ --------- ---------------------- "
 "---------\n"
 
-#: fdisk/cfdisk.c:2040
+#: fdisk/cfdisk.c:2036
 msgid "         ---Starting---      ----Ending----    Start Number of\n"
-msgstr ""
+msgstr "         ---Début---      ----Fin----    Numéro de début de\n"
 
-#: fdisk/cfdisk.c:2041
+#: fdisk/cfdisk.c:2037
 msgid " # Flags Head Sect Cyl   ID  Head Sect Cyl    Sector  Sectors\n"
 msgstr ""
+" # Indicateurs Tête Sect Cyl   ID  Tête Sect Cyl    Secteur  Secteurs\n"
 
-#: fdisk/cfdisk.c:2042
+#: fdisk/cfdisk.c:2038
 msgid "-- ----- ---- ---- ---- ---- ---- ---- ---- -------- ---------\n"
 msgstr "-- ----- ---- ---- ---- ---- ---- ---- ---- -------- ---------\n"
 
-#: fdisk/cfdisk.c:2075
+#: fdisk/cfdisk.c:2071
 msgid "Raw"
-msgstr ""
+msgstr "Brut"
 
-#: fdisk/cfdisk.c:2075
+#: fdisk/cfdisk.c:2071
 msgid "Print the table using raw data format"
-msgstr ""
+msgstr "Afficher la table au format des données brutes"
 
-#: fdisk/cfdisk.c:2076 fdisk/cfdisk.c:2178
+#: fdisk/cfdisk.c:2072 fdisk/cfdisk.c:2174
 msgid "Sectors"
 msgstr "Secteurs"
 
-#: fdisk/cfdisk.c:2076
+#: fdisk/cfdisk.c:2072
 msgid "Print the table ordered by sectors"
-msgstr "Affiche la table triée par secteurs"
+msgstr "Afficher la table triée par secteurs"
 
-#: fdisk/cfdisk.c:2077
+#: fdisk/cfdisk.c:2073
 msgid "Table"
 msgstr "Table"
 
-#: fdisk/cfdisk.c:2077
+#: fdisk/cfdisk.c:2073
 msgid "Just print the partition table"
-msgstr "Seulement imprimer la table de partitions"
+msgstr "Afficher la table de partition seulement"
 
-#: fdisk/cfdisk.c:2078
+#: fdisk/cfdisk.c:2074
 msgid "Don't print the table"
-msgstr "Ne pas imprimer la table"
+msgstr "Ne pas afficher la table"
 
-#: fdisk/cfdisk.c:2106
-#, fuzzy
+#: fdisk/cfdisk.c:2102
 msgid "Help Screen for cfdisk"
 msgstr "Ecran d'aide de cfdisk "
 
-#: fdisk/cfdisk.c:2108
+#: fdisk/cfdisk.c:2104
 msgid "This is cfdisk, a curses based disk partitioning program, which"
 msgstr "Voici cfdisk, un programme de partitionnement de disque, qui"
 
-#: fdisk/cfdisk.c:2109
+#: fdisk/cfdisk.c:2105
 msgid "allows you to create, delete and modify partitions on your hard"
-msgstr "permet de créér, effacer ou modifier des partitions sur votre disque"
+msgstr "permet de créer, supprimer ou modifier des partitions sur votre disque"
 
-#: fdisk/cfdisk.c:2110
+#: fdisk/cfdisk.c:2106
 msgid "disk drive."
 msgstr "dur."
 
-#: fdisk/cfdisk.c:2112
-#, fuzzy
+#: fdisk/cfdisk.c:2108
 msgid "Copyright (C) 1994-1999 Kevin E. Martin & aeb"
-msgstr "Copyright (C) 1994-1999 Kevin E. Martin & aeb\n"
+msgstr "Copyright (C) 1994-1999 Kevin E. Martin & aeb"
 
-#: fdisk/cfdisk.c:2114
+#: fdisk/cfdisk.c:2110
 msgid "Command      Meaning"
 msgstr "Commande     Signification"
 
-#: fdisk/cfdisk.c:2115
+#: fdisk/cfdisk.c:2111
 msgid "-------      -------"
 msgstr "--------     -------------"
 
-#: fdisk/cfdisk.c:2116
+#: fdisk/cfdisk.c:2112
 msgid "  b          Toggle bootable flag of the current partition"
-msgstr "  b          (Dés)active le drapeau Bootable de la partition courante"
+msgstr ""
+"  b          (Dés)active l'indicateur Bootable de la partition courante"
 
-#: fdisk/cfdisk.c:2117
+#: fdisk/cfdisk.c:2113
 msgid "  d          Delete the current partition"
-msgstr "  d          Effacer la partition courante"
+msgstr "  d          Supprime la partition courante"
 
-#: fdisk/cfdisk.c:2118
+#: fdisk/cfdisk.c:2114
 msgid "  g          Change cylinders, heads, sectors-per-track parameters"
 msgstr ""
-"  g          Changer les paramétres cylindres, têtes et secteurs-par-piste"
+" g          Change les paramètres cylindres, têtes et secteurs-par-piste"
 
-#: fdisk/cfdisk.c:2119
+#: fdisk/cfdisk.c:2115
 msgid "             WARNING: This option should only be used by people who"
-msgstr "             AVERTISSEMENT: Cette option ne doit être utilisée que"
+msgstr ""
+"             AVERTISSEMENT : Cette option doit être utilisée uniquement"
 
-#: fdisk/cfdisk.c:2120
+#: fdisk/cfdisk.c:2116
 msgid "             know what they are doing."
-msgstr ""
-"             si vous savez réélement ce que vous étes en train de faire."
+msgstr "            si vous savez réellement comment procéder."
 
-#: fdisk/cfdisk.c:2121
+#: fdisk/cfdisk.c:2117
 msgid "  h          Print this screen"
 msgstr "  h          Afficher cet écran"
 
-#: fdisk/cfdisk.c:2122
+#: fdisk/cfdisk.c:2118
 msgid "  m          Maximize disk usage of the current partition"
 msgstr ""
-"  m          Maximizer l'utilisation du disque pour la partition courante"
+"  m          Optimiser l'utilisation du disque pour la partition courante"
 
-#: fdisk/cfdisk.c:2123
+#: fdisk/cfdisk.c:2119
 msgid "             Note: This may make the partition incompatible with"
-msgstr "             Note: Cela peux rendre la partition incompatible avec"
+msgstr "            Remarque : Cela peut rendre la partition incompatible avec"
 
-#: fdisk/cfdisk.c:2124
+#: fdisk/cfdisk.c:2120
 msgid "             DOS, OS/2, ..."
 msgstr "             DOS, OS/2, ..."
 
-#: fdisk/cfdisk.c:2125
+#: fdisk/cfdisk.c:2121
 msgid "  n          Create new partition from free space"
-msgstr "  n          Créér une nouvelle partition à partir de l'espace libre"
+msgstr "  n          Crée une nouvelle partition à partir de l'espace libre"
 
-#: fdisk/cfdisk.c:2126
+#: fdisk/cfdisk.c:2122
 msgid "  p          Print partition table to the screen or to a file"
-msgstr ""
-"  p          Imprimer la table de partitions à l'écran ou dans un fichier"
+msgstr " p          Affiche la table de partition à l'écran ou dans un fichier"
 
-#: fdisk/cfdisk.c:2127
+#: fdisk/cfdisk.c:2123
 msgid "             There are several different formats for the partition"
 msgstr "             Vous pouvez choisir entre différents formats pour"
 
-#: fdisk/cfdisk.c:2128
+#: fdisk/cfdisk.c:2124
 msgid "             that you can choose from:"
-msgstr "             la table de partition:"
+msgstr "             la table de partition :"
 
-#: fdisk/cfdisk.c:2129
+#: fdisk/cfdisk.c:2125
 msgid "                r - Raw data (exactly what would be written to disk)"
 msgstr ""
-"                r - Données brutes (Exactement ce que cfdisk écrirait sur le "
+"                r - Données brutes (exactement ce que cfdisk écrirait sur le "
 "disque)"
 
-#: fdisk/cfdisk.c:2130
+#: fdisk/cfdisk.c:2126
 msgid "                s - Table ordered by sectors"
 msgstr "                s - Table triée par secteurs"
 
-#: fdisk/cfdisk.c:2131
+#: fdisk/cfdisk.c:2127
 msgid "                t - Table in raw format"
 msgstr "                t - Table au format brut"
 
-#: fdisk/cfdisk.c:2132
+#: fdisk/cfdisk.c:2128
 msgid "  q          Quit program without writing partition table"
-msgstr "  q          Quitter le programme sans écrire la table de partitions"
+msgstr "  q          Quitte le programme sans écrire la table de partition"
 
-#: fdisk/cfdisk.c:2133
+#: fdisk/cfdisk.c:2129
 msgid "  t          Change the filesystem type"
-msgstr "  t          Changer le type de système de fichiers"
+msgstr "  t          Change le type du système de fichiers"
 
-#: fdisk/cfdisk.c:2134
+#: fdisk/cfdisk.c:2130
 msgid "  u          Change units of the partition size display"
-msgstr ""
-"  u          Changement de l'unité utilisée pour la taille des partitions"
+msgstr "  u          Change l'unité utilisée pour la taille des partitions"
 
-#: fdisk/cfdisk.c:2135
-#, fuzzy
+#: fdisk/cfdisk.c:2131
 msgid "             Rotates through MB, sectors and cylinders"
-msgstr "             Alternativement: Mo, secteurs et cylindres"
+msgstr "             Alternativement : Mo, secteurs et cylindres"
 
-#: fdisk/cfdisk.c:2136
+#: fdisk/cfdisk.c:2132
 msgid "  W          Write partition table to disk (must enter upper case W)"
-msgstr "  W          Ecrire la table de partitions sur le disque (W doit être"
+msgstr ""
+"  W          Ecrit la table de partition sur le disque (W doit être en "
+"majuscule)"
 
-#: fdisk/cfdisk.c:2137
+#: fdisk/cfdisk.c:2133
 msgid "             Since this might destroy data on the disk, you must"
-msgstr ""
-"             en majuscule) Etant donné que cela peux détruire des données"
+msgstr "             Etant donné que cela peut détruire des données"
 
-#: fdisk/cfdisk.c:2138
+#: fdisk/cfdisk.c:2134
 msgid "             either confirm or deny the write by entering `yes' or"
-msgstr "             sur votre disque, vous devrez confirmer en entrant `yes'"
+msgstr "             sur le disque, vous devrez confirmer en entrant `oui'"
 
-#: fdisk/cfdisk.c:2139
+#: fdisk/cfdisk.c:2135
 msgid "             `no'"
-msgstr "             ou `no'"
+msgstr "             ou `non'"
 
-#: fdisk/cfdisk.c:2140
+#: fdisk/cfdisk.c:2136
 msgid "Up Arrow     Move cursor to the previous partition"
-msgstr "Fléche Haut  Déplacer le curseur sur vers la partition précédente"
+msgstr "Flèche Haut  Déplace le curseur vers la partition précédente"
 
-#: fdisk/cfdisk.c:2141
+#: fdisk/cfdisk.c:2137
 msgid "Down Arrow   Move cursor to the next partition"
-msgstr "Fléche Bas   Déplacer le curseur vers la partition suivante"
+msgstr "Flèche Bas      Déplace le curseur vers la partition suivante"
 
-#: fdisk/cfdisk.c:2142
+#: fdisk/cfdisk.c:2138
 msgid "CTRL-L       Redraws the screen"
 msgstr "CTRL-L       Redessine l'écran"
 
-#: fdisk/cfdisk.c:2143
+#: fdisk/cfdisk.c:2139
 msgid "  ?          Print this screen"
 msgstr "  ?          Affiche cet écran"
 
-#: fdisk/cfdisk.c:2145
+#: fdisk/cfdisk.c:2141
 msgid "Note: All of the commands can be entered with either upper or lower"
-msgstr "Note: Toutes ces commandes peuvent être entrée en majuscules ou"
+msgstr "Remarque : Toutes ces commandes peuvent être saisies en majuscules ou"
 
-#: fdisk/cfdisk.c:2146
+#: fdisk/cfdisk.c:2142
 msgid "case letters (except for Writes)."
 msgstr "minuscules (à l'exception de Write)."
 
-#: fdisk/cfdisk.c:2176 fdisk/cfdisk.c:2493 fdisk/fdisksunlabel.c:305
+#: fdisk/cfdisk.c:2172 fdisk/cfdisk.c:2494 fdisk/fdisksunlabel.c:305
 #: fdisk/fdisksunlabel.c:307
 msgid "Cylinders"
 msgstr "Cylindres"
 
-#: fdisk/cfdisk.c:2176
+#: fdisk/cfdisk.c:2172
 msgid "Change cylinder geometry"
 msgstr "Changer la géométrie des cylindres"
 
-#: fdisk/cfdisk.c:2177 fdisk/fdisksunlabel.c:302
+#: fdisk/cfdisk.c:2173 fdisk/fdisksunlabel.c:302
 msgid "Heads"
 msgstr "Têtes"
 
-#: fdisk/cfdisk.c:2177
+#: fdisk/cfdisk.c:2173
 msgid "Change head geometry"
 msgstr "Changer la géométrie des têtes"
 
-#: fdisk/cfdisk.c:2178
+#: fdisk/cfdisk.c:2174
 msgid "Change sector geometry"
 msgstr "Changer la géométrie des secteurs"
 
-#: fdisk/cfdisk.c:2179
+#: fdisk/cfdisk.c:2175
 msgid "Done"
 msgstr "Terminé"
 
-#: fdisk/cfdisk.c:2179
+#: fdisk/cfdisk.c:2175
 msgid "Done with changing geometry"
 msgstr "Changement de géométrie terminé"
 
-#: fdisk/cfdisk.c:2192
+#: fdisk/cfdisk.c:2188
 msgid "Enter the number of cylinders: "
 msgstr "Entrez le nombre de cylindres : "
 
-#: fdisk/cfdisk.c:2204 fdisk/cfdisk.c:2761
+#: fdisk/cfdisk.c:2200 fdisk/cfdisk.c:2762
 msgid "Illegal cylinders value"
 msgstr "Nombre de cylindres non valide"
 
-#: fdisk/cfdisk.c:2210
+#: fdisk/cfdisk.c:2206
 msgid "Enter the number of heads: "
 msgstr "Entrez le nombre de têtes : "
 
-#: fdisk/cfdisk.c:2217 fdisk/cfdisk.c:2771
+#: fdisk/cfdisk.c:2213 fdisk/cfdisk.c:2772
 msgid "Illegal heads value"
 msgstr "Nombre de têtes non valide"
 
-#: fdisk/cfdisk.c:2223
+#: fdisk/cfdisk.c:2219
 msgid "Enter the number of sectors per track: "
 msgstr "Entrez le nombre de secteurs par piste : "
 
-#: fdisk/cfdisk.c:2230 fdisk/cfdisk.c:2778
+#: fdisk/cfdisk.c:2226 fdisk/cfdisk.c:2779
 msgid "Illegal sectors value"
 msgstr "Nombre de secteurs non valide"
 
-#: fdisk/cfdisk.c:2333
+#: fdisk/cfdisk.c:2329
 msgid "Enter filesystem type: "
 msgstr "Entrez le type de système de fichiers : "
 
-#: fdisk/cfdisk.c:2351
+#: fdisk/cfdisk.c:2347
 msgid "Cannot change FS Type to empty"
-msgstr "Impossible de changer le type de SF à vide"
+msgstr "Impossible de changer le type de SF sur vide"
 
-#: fdisk/cfdisk.c:2353
+#: fdisk/cfdisk.c:2349
 msgid "Cannot change FS Type to extended"
-msgstr "Impossible de changer le type de SF à étendu"
+msgstr "Impossible de changer le type de SF sur étendu"
 
-#: fdisk/cfdisk.c:2376 fdisk/fdisksunlabel.c:44
+#: fdisk/cfdisk.c:2377 fdisk/fdisksunlabel.c:44
 msgid "Boot"
-msgstr "Boot"
+msgstr "Amorce"
 
-#: fdisk/cfdisk.c:2378
+#: fdisk/cfdisk.c:2379
 #, c-format
 msgid "Unk(%02X)"
 msgstr "Inc(%02X)"
 
-#: fdisk/cfdisk.c:2381 fdisk/cfdisk.c:2384
+#: fdisk/cfdisk.c:2382 fdisk/cfdisk.c:2385
 msgid ", NC"
 msgstr ", NC"
 
-#: fdisk/cfdisk.c:2389 fdisk/cfdisk.c:2392
+#: fdisk/cfdisk.c:2390 fdisk/cfdisk.c:2393
 msgid "NC"
 msgstr "NC"
 
-#: fdisk/cfdisk.c:2400
+#: fdisk/cfdisk.c:2401
 msgid "Pri/Log"
 msgstr "Pri/Log"
 
-#: fdisk/cfdisk.c:2476
+#: fdisk/cfdisk.c:2477
 #, c-format
 msgid "Disk Drive: %s"
-msgstr "Disque Dur: %s"
+msgstr "Disque dur : %s"
 
-#: fdisk/cfdisk.c:2479
+#: fdisk/cfdisk.c:2480
 #, c-format
 msgid "Size: %lld bytes"
-msgstr ""
+msgstr "Taille : %lld octets"
 
-#: fdisk/cfdisk.c:2481
+#: fdisk/cfdisk.c:2482
 #, c-format
 msgid "Heads: %d   Sectors per Track: %d   Cylinders: %d"
-msgstr "Têtes: %d   Secteurs par Piste: %d  Cylindres: %d"
+msgstr "Têtes : %d   Secteurs par piste : %d  Cylindres : %d"
 
-#: fdisk/cfdisk.c:2485
+#: fdisk/cfdisk.c:2486
 msgid "Name"
 msgstr "Nom"
 
-#: fdisk/cfdisk.c:2486
+#: fdisk/cfdisk.c:2487
 msgid "Flags"
-msgstr "Drapeaux"
+msgstr "Indicateurs"
 
-#: fdisk/cfdisk.c:2487
+#: fdisk/cfdisk.c:2488
 msgid "Part Type"
-msgstr "Type de SF"
+msgstr "Type de partition"
 
-#: fdisk/cfdisk.c:2488
+#: fdisk/cfdisk.c:2489
 msgid "FS Type"
 msgstr "Type SF"
 
-#: fdisk/cfdisk.c:2489
+#: fdisk/cfdisk.c:2490
 msgid "[Label]"
-msgstr "[Label]"
+msgstr "[Libellé]"
 
-#: fdisk/cfdisk.c:2491
+#: fdisk/cfdisk.c:2492
 msgid "  Sectors"
 msgstr " Secteurs"
 
-#: fdisk/cfdisk.c:2495
+#: fdisk/cfdisk.c:2496
 msgid "Size (MB)"
 msgstr "Taille(Mo)"
 
-#: fdisk/cfdisk.c:2497
-#, fuzzy
+#: fdisk/cfdisk.c:2498
 msgid "Size (GB)"
-msgstr "Taille(Mo)"
+msgstr "Taille (Go)"
 
-#: fdisk/cfdisk.c:2552
+#: fdisk/cfdisk.c:2553
 msgid "Bootable"
 msgstr "Bootable"
 
-#: fdisk/cfdisk.c:2552
+#: fdisk/cfdisk.c:2553
 msgid "Toggle bootable flag of the current partition"
-msgstr "(Dés)activer le drapeau bootable pour la partition courante"
+msgstr "(Dés)active l'indicateur bootable pour la partition courante"
 
-#: fdisk/cfdisk.c:2553
+#: fdisk/cfdisk.c:2554
 msgid "Delete"
-msgstr "Effacer"
+msgstr "Supprimer"
 
-#: fdisk/cfdisk.c:2553
+#: fdisk/cfdisk.c:2554
 msgid "Delete the current partition"
-msgstr "Effacer la partition courante"
+msgstr "Supprime la partition courante"
 
-#: fdisk/cfdisk.c:2554
+#: fdisk/cfdisk.c:2555
 msgid "Geometry"
 msgstr "Géométrie"
 
-#: fdisk/cfdisk.c:2554
+#: fdisk/cfdisk.c:2555
 msgid "Change disk geometry (experts only)"
-msgstr "Changer la géométrie disque (experts seulement)"
+msgstr "Change la géométrie du disque (experts seulement)"
 
-#: fdisk/cfdisk.c:2555
+#: fdisk/cfdisk.c:2556
 msgid "Help"
 msgstr "Aide"
 
-#: fdisk/cfdisk.c:2555
+#: fdisk/cfdisk.c:2556
 msgid "Print help screen"
 msgstr "Affiche l'écran d'aide"
 
-#: fdisk/cfdisk.c:2556
+#: fdisk/cfdisk.c:2557
 msgid "Maximize"
-msgstr "Maximize"
+msgstr "Optimiser"
 
-#: fdisk/cfdisk.c:2556
+#: fdisk/cfdisk.c:2557
 msgid "Maximize disk usage of the current partition (experts only)"
 msgstr ""
-"Maximizer l'utilisation disque pour la partition courante (experts seulement)"
+"Optimise l'utilisation du disque pour la partition courante (experts "
+"seulement)"
 
-#: fdisk/cfdisk.c:2557
+#: fdisk/cfdisk.c:2558
 msgid "New"
 msgstr "Nouvelle"
 
-#: fdisk/cfdisk.c:2557
+#: fdisk/cfdisk.c:2558
 msgid "Create new partition from free space"
-msgstr "Créér une nouvelle partition"
+msgstr "Crée une nouvelle partition"
 
-#: fdisk/cfdisk.c:2558
+#: fdisk/cfdisk.c:2559
 msgid "Print"
 msgstr "Imprimer"
 
-#: fdisk/cfdisk.c:2558
+#: fdisk/cfdisk.c:2559
 msgid "Print partition table to the screen or to a file"
-msgstr "Imprimer la table des partition à l'écran ou dans un fichier"
+msgstr "Imprime la table de partition à l'écran ou dans un fichier"
 
-#: fdisk/cfdisk.c:2559
+#: fdisk/cfdisk.c:2560
 msgid "Quit"
 msgstr "Quitter"
 
-#: fdisk/cfdisk.c:2559
+#: fdisk/cfdisk.c:2560
 msgid "Quit program without writing partition table"
-msgstr "Quitter le programme sans écrire la table de partition"
+msgstr "Quitte le programme sans écrire la table de partition"
 
-#: fdisk/cfdisk.c:2560
+#: fdisk/cfdisk.c:2561
 msgid "Type"
 msgstr "Type"
 
-#: fdisk/cfdisk.c:2560
+#: fdisk/cfdisk.c:2561
 msgid "Change the filesystem type (DOS, Linux, OS/2 and so on)"
-msgstr "Changer le type du système de fichiers (DOS, Linux, OS/2, etc)"
+msgstr "Change le type de système de fichiers (DOS, Linux, OS/2, etc.)"
 
-#: fdisk/cfdisk.c:2561
+#: fdisk/cfdisk.c:2562
 msgid "Units"
 msgstr "Unités"
 
-#: fdisk/cfdisk.c:2561
+#: fdisk/cfdisk.c:2562
 msgid "Change units of the partition size display (MB, sect, cyl)"
-msgstr "Changer l'unité pour la taille des partitions (Mo, sect, cyl)"
+msgstr "Change l'unité pour la taille des partitions (Mo, sect, cyl)"
 
-#: fdisk/cfdisk.c:2562
+#: fdisk/cfdisk.c:2563
 msgid "Write"
 msgstr "Ecrire"
 
-#: fdisk/cfdisk.c:2562
+#: fdisk/cfdisk.c:2563
 msgid "Write partition table to disk (this might destroy data)"
-msgstr "Ecrire la table de partition sur disque (peux détruire des données)"
+msgstr "Ecrit la table de partition sur le disque (peut détruire des données)"
 
-#: fdisk/cfdisk.c:2608
+#: fdisk/cfdisk.c:2609
 msgid "Cannot make this partition bootable"
-msgstr "Impossible de rendre cette partition bootable"
+msgstr "Impossible de rendre cette partition amorçable"
 
-#: fdisk/cfdisk.c:2618
+#: fdisk/cfdisk.c:2619
 msgid "Cannot delete an empty partition"
-msgstr "Impossible d'effacer une partition vide"
+msgstr "Impossible de supprimer une partition vide"
 
-#: fdisk/cfdisk.c:2638 fdisk/cfdisk.c:2640
+#: fdisk/cfdisk.c:2639 fdisk/cfdisk.c:2641
 msgid "Cannot maximize this partition"
-msgstr "Impossible de maximiser cette partition"
+msgstr "Impossible d'optimiser cette partition"
 
-#: fdisk/cfdisk.c:2648
+#: fdisk/cfdisk.c:2649
 msgid "This partition is unusable"
-msgstr "Cette partition est unitilisable"
+msgstr "Cette partition est inutilisable."
 
-#: fdisk/cfdisk.c:2650
+#: fdisk/cfdisk.c:2651
 msgid "This partition is already in use"
-msgstr "Cette partition est déjà utilisée"
+msgstr "Cette partition est déjà utilisée."
 
-#: fdisk/cfdisk.c:2667
+#: fdisk/cfdisk.c:2668
 msgid "Cannot change the type of an empty partition"
-msgstr "Impossible de changer le type d'une partition vide"
+msgstr "Impossible de changer le type d'une partition vide."
 
-#: fdisk/cfdisk.c:2694 fdisk/cfdisk.c:2700
+#: fdisk/cfdisk.c:2695 fdisk/cfdisk.c:2701
 msgid "No more partitions"
-msgstr "Plus de partitions"
+msgstr "Plus de partition"
 
-#: fdisk/cfdisk.c:2707
+#: fdisk/cfdisk.c:2708
 msgid "Illegal command"
 msgstr "Commande non valide"
 
-#: fdisk/cfdisk.c:2717
+#: fdisk/cfdisk.c:2718
 msgid "Copyright (C) 1994-1999 Kevin E. Martin & aeb\n"
 msgstr "Copyright (C) 1994-1999 Kevin E. Martin & aeb\n"
 
 #. Unfortunately, xgettext does not handle multi-line strings
 #. so, let's use explicit \n's instead
-#: fdisk/cfdisk.c:2724
+#: fdisk/cfdisk.c:2725
 #, c-format
 msgid ""
 "\n"
@@ -2120,7 +2250,7 @@ msgid ""
 "\n"
 msgstr ""
 "\n"
-"Usage:\n"
+"Usage :\n"
 "Afficher la version :\n"
 "        %s -v\n"
 "Afficher la table de partition :\n"
@@ -2128,11 +2258,11 @@ msgstr ""
 "Utilisation interactive :\n"
 "        %s [options] périphérique\n"
 "\n"
-"Options:\n"
-"-a: Utilise une fléche à la place de la vedéo inverse;\n"
-"-z: Démarrer avec une table de partition vide a lieu de lire celle du "
-"disque;\n"
-"-c C -h H -s S: Forcer l'idée que ce fait le noyau du nombre de cylindres,\n"
+"Options :\n"
+"-a: Utilise une flèche à la place de la mise en surbrillance ;\n"
+"-z: Démarre avec une table de partition vide au lieu de lire celle du disque "
+";\n"
+"-c C -h T -s S : Force l'idée que se fait le kernel du nombre de cylindres,\n"
 "                de têtes et de secteurs par piste.\n"
 "\n"
 
@@ -2147,6 +2277,15 @@ msgid ""
 "-u: give Start and End in sector (instead of cylinder) units\n"
 "-b 2048: (for certain MO drives) use 2048-byte sectors\n"
 msgstr ""
+"Usage : fdisk [-b SSZ] [-u] DISQUE     Change la table de partition\n"
+"       fdisk -l [-b SSZ] [-u] DISQUE  Affiche la/les table(s) de partition\n"
+"       fdisk -s PARTITION           Affiche la/les taille(s) des partitions "
+"en blocs\n"
+"       fdisk -v                     Affiche la version de fdisk\n"
+"Ici, DISQUE représente une entrée de type /dev/hdb ou /dev/sda\n"
+"et PARTITION une entrée de type /dev/hda7\n"
+"-u: Affiche le Début et la Fin en unités de secteurs (au lieu de cylindres)\n"
+"-b 2048 : (pour certains disques MO) Utilise des secteurs de 2048 octets\n"
 
 #: fdisk/fdisk.c:258
 msgid ""
@@ -2157,6 +2296,13 @@ msgid ""
 "  or: fdisk /dev/rd/c0d0  or: fdisk /dev/ida/c0d0  (for RAID devices)\n"
 "  ...\n"
 msgstr ""
+"Usage : fdisk [-l] [-b SSZ] [-u] périphérique\n"
+"Ex : fdisk /dev/hda  (pour le premier disque IDE)\n"
+"  ou : fdisk /dev/sdc  (pour le troisième disque SCSI)\n"
+"  ou : fdisk /dev/eda  (pour le premier disque ESDI PS/2)\n"
+"  ou : fdisk /dev/rd/c0d0  ou : fdisk /dev/ida/c0d0  (pour les périphériques "
+"RAID)\n"
+"  ...\n"
 
 #: fdisk/fdisk.c:266
 #, c-format
@@ -2169,9 +2315,9 @@ msgid "Unable to read %s\n"
 msgstr "Impossible de lire %s\n"
 
 #: fdisk/fdisk.c:272
-#, fuzzy, c-format
+#, c-format
 msgid "Unable to seek on %s\n"
-msgstr "Impossible d'ouvrir %s\n"
+msgstr "Impossible de rechercher %s\n"
 
 #: fdisk/fdisk.c:275
 #, c-format
@@ -2181,7 +2327,7 @@ msgstr "Impossible d'
 #: fdisk/fdisk.c:278
 #, c-format
 msgid "BLKGETSIZE ioctl failed on %s\n"
-msgstr ""
+msgstr "Echec de BLKGETSIZE ioctl sur %s\n"
 
 #: fdisk/fdisk.c:282
 msgid "Unable to allocate any more memory\n"
@@ -2192,177 +2338,164 @@ msgid "Fatal error\n"
 msgstr "Erreur fatale\n"
 
 #: fdisk/fdisk.c:295 fdisk/fdisk.c:314 fdisk/fdisk.c:332 fdisk/fdisk.c:339
-#: fdisk/fdisk.c:362 fdisk/fdisk.c:380 fdisk/fdiskbsdlabel.c:107
+#: fdisk/fdisk.c:362 fdisk/fdisk.c:380 fdisk/fdiskbsdlabel.c:105
 msgid "Command action"
-msgstr "Commande Action"
+msgstr "Action de commande"
 
 #: fdisk/fdisk.c:296
 msgid "   a   toggle a read only flag"
-msgstr ""
+msgstr "   a   (Dés)active un indicateur en lecture seule"
 
 #. sun
 #: fdisk/fdisk.c:297 fdisk/fdisk.c:341
 msgid "   b   edit bsd disklabel"
-msgstr ""
+msgstr "   b   Edite le libellé de disque bsd"
 
 #: fdisk/fdisk.c:298
 msgid "   c   toggle the mountable flag"
-msgstr ""
+msgstr "   c   (Dés)active l'indicateur Mountable"
 
 #. sun
 #: fdisk/fdisk.c:299 fdisk/fdisk.c:318 fdisk/fdisk.c:343
 msgid "   d   delete a partition"
-msgstr "   d   effacer une partition"
+msgstr "   d   Supprime une partition"
 
 #: fdisk/fdisk.c:300 fdisk/fdisk.c:319 fdisk/fdisk.c:344
 msgid "   l   list known partition types"
-msgstr "   l   liste les types de partitions connus"
+msgstr "   l   Répertorie les types de partition connus"
 
 #. sun
 #: fdisk/fdisk.c:301 fdisk/fdisk.c:320 fdisk/fdisk.c:333 fdisk/fdisk.c:345
-#: fdisk/fdisk.c:370 fdisk/fdisk.c:387 fdisk/fdiskbsdlabel.c:112
+#: fdisk/fdisk.c:370 fdisk/fdisk.c:387 fdisk/fdiskbsdlabel.c:110
 msgid "   m   print this menu"
-msgstr "   m   affiche cet écran"
+msgstr "   m   Affiche ce menu"
 
 #: fdisk/fdisk.c:302 fdisk/fdisk.c:321 fdisk/fdisk.c:346
 msgid "   n   add a new partition"
-msgstr "   n   ajouter une nouvelle partition"
+msgstr "   n   Ajoute une nouvelle partition"
 
 #: fdisk/fdisk.c:303 fdisk/fdisk.c:322 fdisk/fdisk.c:334 fdisk/fdisk.c:347
 msgid "   o   create a new empty DOS partition table"
-msgstr "   o   créér une nouvelle table de partitions DOS vide"
+msgstr "   o   Crée une nouvelle table de partition DOS vide"
 
 #: fdisk/fdisk.c:304 fdisk/fdisk.c:323 fdisk/fdisk.c:348 fdisk/fdisk.c:371
 #: fdisk/fdisk.c:388
-#, fuzzy
 msgid "   p   print the partition table"
-msgstr "Seulement imprimer la table de partitions"
+msgstr "   p   Affiche la table de partition"
 
 #: fdisk/fdisk.c:305 fdisk/fdisk.c:324 fdisk/fdisk.c:335 fdisk/fdisk.c:349
-#: fdisk/fdisk.c:372 fdisk/fdisk.c:389 fdisk/fdiskbsdlabel.c:115
+#: fdisk/fdisk.c:372 fdisk/fdisk.c:389 fdisk/fdiskbsdlabel.c:113
 msgid "   q   quit without saving changes"
-msgstr ""
+msgstr "   q   Quitte le programme sans enregistrer les modifications"
 
 #: fdisk/fdisk.c:306 fdisk/fdisk.c:325 fdisk/fdisk.c:336 fdisk/fdisk.c:350
 msgid "   s   create a new empty Sun disklabel"
-msgstr ""
+msgstr "   s   Crée un nouveau libellé de disque Sun vide"
 
 #. sun
 #: fdisk/fdisk.c:307 fdisk/fdisk.c:326 fdisk/fdisk.c:351
 msgid "   t   change a partition's system id"
-msgstr ""
+msgstr "   t   Change l'ID système d'une partition"
 
 #: fdisk/fdisk.c:308 fdisk/fdisk.c:327 fdisk/fdisk.c:352
 msgid "   u   change display/entry units"
-msgstr ""
+msgstr "   u   Change l'unité d'affichage/saisie"
 
 #: fdisk/fdisk.c:309 fdisk/fdisk.c:328 fdisk/fdisk.c:353 fdisk/fdisk.c:375
 #: fdisk/fdisk.c:392
-#, fuzzy
 msgid "   v   verify the partition table"
-msgstr "Seulement imprimer la table de partitions"
+msgstr "   v   Vérifie la table de partition"
 
 #: fdisk/fdisk.c:310 fdisk/fdisk.c:329 fdisk/fdisk.c:354 fdisk/fdisk.c:376
 #: fdisk/fdisk.c:393
 msgid "   w   write table to disk and exit"
-msgstr ""
+msgstr "   w   Ecrit la table sur le disque et quitte le programme"
 
 #: fdisk/fdisk.c:311 fdisk/fdisk.c:355
 msgid "   x   extra functionality (experts only)"
-msgstr ""
+msgstr "   x   Fonctions supplémentaires (experts seulement)"
 
 #: fdisk/fdisk.c:315
-#, fuzzy
 msgid "   a   select bootable partition"
-msgstr "  d          Effacer la partition courante"
+msgstr "   a   Sélectionne la partition amorçable"
 
 #. sgi flavour
 #: fdisk/fdisk.c:316
 msgid "   b   edit bootfile entry"
-msgstr ""
+msgstr "   b   Edite l'entrée du fichier amorce"
 
 #. sgi
 #: fdisk/fdisk.c:317
-#, fuzzy
 msgid "   c   select sgi swap partition"
-msgstr "  d          Effacer la partition courante"
+msgstr "   c   Sélectionne la partition de swap SGI"
 
 #: fdisk/fdisk.c:340
 msgid "   a   toggle a bootable flag"
-msgstr ""
+msgstr "   a   (Dés)active un indicateur Bootable"
 
 #: fdisk/fdisk.c:342
 msgid "   c   toggle the dos compatibility flag"
-msgstr ""
+msgstr "   c   (Dés)active l'indicateur de compatibilité DOS"
 
 #: fdisk/fdisk.c:363
-#, fuzzy
 msgid "   a   change number of alternate cylinders"
-msgstr "Entrez le nombre de cylindres: "
+msgstr "   a   Change le nombre de cylindres de remplacement"
 
 #. sun
 #: fdisk/fdisk.c:364 fdisk/fdisk.c:382
-#, fuzzy
 msgid "   c   change number of cylinders"
-msgstr "Entrez le nombre de cylindres: "
+msgstr "   c   Change le nombre de cylindres"
 
 #: fdisk/fdisk.c:365 fdisk/fdisk.c:383
-#, fuzzy
 msgid "   d   print the raw data in the partition table"
-msgstr "Seulement imprimer la table de partitions"
+msgstr "   d   Affiche les données brutes de la table de partition"
 
 #: fdisk/fdisk.c:366
-#, fuzzy
 msgid "   e   change number of extra sectors per cylinder"
-msgstr "Entrez le nombre de secteurs par piste: "
+msgstr "   e   Change le nombre de secteurs supplémentaires par cylindre"
 
 #. sun
 #: fdisk/fdisk.c:367 fdisk/fdisk.c:386
-#, fuzzy
 msgid "   h   change number of heads"
-msgstr "Entrez le nombre de têtes: "
+msgstr "   h   Change le nombre de têtes"
 
 #: fdisk/fdisk.c:368
 msgid "   i   change interleave factor"
-msgstr ""
+msgstr "   i   Change le facteur d'entrelacement"
 
 #. sun
 #: fdisk/fdisk.c:369
 msgid "   o   change rotation speed (rpm)"
-msgstr ""
+msgstr "   o   Change la vitesse de rotation (rpm)"
 
-#: fdisk/fdisk.c:373 fdisk/fdisk.c:390 fdisk/fdiskbsdlabel.c:117
+#: fdisk/fdisk.c:373 fdisk/fdisk.c:390 fdisk/fdiskbsdlabel.c:115
 msgid "   r   return to main menu"
-msgstr ""
+msgstr "   r   Revient au menu principal"
 
 #: fdisk/fdisk.c:374 fdisk/fdisk.c:391
-#, fuzzy
 msgid "   s   change number of sectors/track"
-msgstr "Entrez le nombre de secteurs par piste: "
+msgstr "   s   Change le nombre de secteurs/piste"
 
 #: fdisk/fdisk.c:377
-#, fuzzy
 msgid "   y   change number of physical cylinders"
-msgstr "Entrez le nombre de cylindres: "
+msgstr "   y   Change le nombre de cylindres physiques"
 
 #: fdisk/fdisk.c:381
 msgid "   b   move beginning of data in a partition"
-msgstr ""
+msgstr "   b   Déplace le début des données d'une partition"
 
 #: fdisk/fdisk.c:384
-#, fuzzy
 msgid "   e   list extended partitions"
-msgstr "Pas de place pour créér une partition étendue"
+msgstr "   e   Répertorie les partitions étendues"
 
 #. !sun
 #: fdisk/fdisk.c:385
-#, fuzzy
 msgid "   g   create an IRIX partition table"
-msgstr "Mauvaise signature de la table de partitions"
+msgstr "   g   Crée une table de partition IRIX"
 
 #: fdisk/fdisk.c:481
 msgid "You must set"
-msgstr ""
+msgstr "Vous devez définir les"
 
 #: fdisk/fdisk.c:495
 msgid "heads"
@@ -2383,30 +2516,34 @@ msgid ""
 "%s%s.\n"
 "You can do this from the extra functions menu.\n"
 msgstr ""
+"%s%s.\n"
+"Vous pouvez le faire depuis le menu des fonctions supplémentaires.\n"
 
 #: fdisk/fdisk.c:504
 msgid " and "
 msgstr " et "
 
 #: fdisk/fdisk.c:538
-#, fuzzy
 msgid "Bad offset in primary extended partition\n"
-msgstr "Mauvaise partition primaire"
+msgstr "Mauvais décalage dans la partition primaire étendue\n"
 
 #: fdisk/fdisk.c:545
-#, fuzzy, c-format
+#, c-format
 msgid "Warning: deleting partitions after %d\n"
-msgstr "Ecriture de la table de partition sur disque..."
+msgstr "Avertissement : suppression des partitions après %d\n"
 
 #: fdisk/fdisk.c:566
 #, c-format
 msgid "Warning: extra link pointer in partition table %d\n"
 msgstr ""
+"Avertissement : pointeur de lien en trop dans la table de partition %d\n"
 
 #: fdisk/fdisk.c:574
-#, fuzzy, c-format
+#, c-format
 msgid "Warning: ignoring extra data in partition table %d\n"
-msgstr "Mauvaise signature de la table de partitions"
+msgstr ""
+"Avertissement : va ignorer les données supplémentaires de la table de "
+"partition %d\n"
 
 #: fdisk/fdisk.c:600
 msgid ""
@@ -2415,32 +2552,38 @@ msgid ""
 "content won't be recoverable.\n"
 "\n"
 msgstr ""
+"Création d'un nouveau libellé de disque DOS. Les modifications seront "
+"uniquement conservées en mémoire,\n"
+"jusqu'à ce que vous décidiez de les écrire. Une fois terminé, le contenu "
+"précédent\n"
+"ne  pourra être restauré.\n"
+"\n"
 
 #: fdisk/fdisk.c:636
-#, fuzzy
 msgid "You will not be able to write the partition table.\n"
-msgstr "Seulement imprimer la table de partitions"
+msgstr "Vous ne pourrez pas écrire la table de partition.\n"
 
 #: fdisk/fdisk.c:645
 #, c-format
 msgid "Note: sector size is %d (not %d)\n"
-msgstr ""
+msgstr "Remarque : la taille de secteur est %d (pas %d)\n"
 
 #: fdisk/fdisk.c:693
 msgid ""
 "Device contains neither a valid DOS partition table, nor Sun or SGI "
 "disklabel\n"
 msgstr ""
+"Le périphérique ne contient ni une table de partition DOS valide, ni un "
+"libellé de disque Sunou SGI.\n"
 
 #: fdisk/fdisk.c:709
-#, fuzzy
 msgid "Internal error\n"
-msgstr "!!! Erreur Interne !!!"
+msgstr "Erreur interne\n"
 
 #: fdisk/fdisk.c:719
-#, fuzzy, c-format
+#, c-format
 msgid "Ignoring extra extended partition %d\n"
-msgstr "Pas de place pour créér une partition étendue"
+msgstr "Va ignorer la partition étendue supplémentaire %d\n"
 
 #: fdisk/fdisk.c:726
 #, c-format
@@ -2448,73 +2591,74 @@ msgid ""
 "Warning: invalid flag 0x%04x of partition table %d will be corrected by "
 "w(rite)\n"
 msgstr ""
+"Avertissement : l'indicateur invalide 0x%04x de la table de partition %d "
+"sera corrigé par w(rite).\n"
 
 #: fdisk/fdisk.c:747
 msgid ""
 "\n"
 "got EOF thrice - exiting..\n"
 msgstr ""
+"\n"
+"EOF obtenu à trois reprises. Fermeture en cours...\n"
 
 #: fdisk/fdisk.c:784
 msgid "Hex code (type L to list codes): "
-msgstr ""
+msgstr "Code hexadécimal (tapez L pour afficher une liste des codes) : "
 
 #: fdisk/fdisk.c:823
 #, c-format
 msgid "%s (%d-%d, default %d): "
-msgstr ""
+msgstr "%s (%d-%d, %d par défaut) : "
 
 #: fdisk/fdisk.c:877
 #, c-format
 msgid "Using default value %d\n"
-msgstr ""
+msgstr "Utilisation de la valeur par défaut %d\n"
 
 #: fdisk/fdisk.c:881
 msgid "Value out of range.\n"
-msgstr ""
+msgstr "Valeur hors plage.\n"
 
 #: fdisk/fdisk.c:888
-#, fuzzy
 msgid "Partition number"
-msgstr "Table de partitions pour %s\n"
+msgstr "Nombre de partitions"
 
 #: fdisk/fdisk.c:896
 #, c-format
 msgid "Warning: partition %d has empty type\n"
-msgstr ""
+msgstr "Avertissement : la partition %d a un type vide.\n"
 
 #: fdisk/fdisk.c:903
-#, fuzzy
 msgid "cylinder"
-msgstr "cylindres"
+msgstr "cylindre"
 
 #: fdisk/fdisk.c:903
-#, fuzzy
 msgid "sector"
-msgstr "secteurs"
+msgstr "secteur"
 
 #: fdisk/fdisk.c:912
-#, fuzzy, c-format
+#, c-format
 msgid "Changing display/entry units to %s\n"
-msgstr "Changement du mot de passe pour %s\n"
+msgstr "Remplacement des unités d'affichage/saisie par %s\n"
 
 #: fdisk/fdisk.c:922
 #, c-format
 msgid "WARNING: Partition %d is an extended partition\n"
-msgstr ""
+msgstr "AVERTISSEMENT : La partition %d est une partition étendue.\n"
 
 #: fdisk/fdisk.c:935
 msgid "DOS Compatibility flag is set\n"
-msgstr ""
+msgstr "L'indicateur de compatibilité DOS est défini.\n"
 
 #: fdisk/fdisk.c:939
 msgid "DOS Compatibility flag is not set\n"
-msgstr ""
+msgstr "L'indicateur de compatibilité DOS n'est pas défini.\n"
 
 #: fdisk/fdisk.c:1025
-#, fuzzy, c-format
+#, c-format
 msgid "Partition %d does not exist yet!\n"
-msgstr "%s: l'utilisateur \"%s\" n'existe pas.\n"
+msgstr "La partition %d n'existe pas encore !\n"
 
 #: fdisk/fdisk.c:1030
 msgid ""
@@ -2523,12 +2667,20 @@ msgid ""
 "type 0 is probably unwise. You can delete\n"
 "a partition using the `d' command.\n"
 msgstr ""
+"La saisie de 0 équivaut à de l'espace libre dans le cas de nombreux "
+"systèmes\n"
+"(mais pas dans le cas de Linux). Définir des partitions de\n"
+"type 0 n'est pas une bonne idée. Vous pouvez supprimer\n"
+"une partition à l'aide de la commande `d'.\n"
 
 #: fdisk/fdisk.c:1039
 msgid ""
 "You cannot change a partition into an extended one or vice versa\n"
 "Delete it first.\n"
 msgstr ""
+"Vous ne pouvez pas remplacer une partition par une partition étendue, ou "
+"inversement.\n"
+"Supprimez-la d'abord.\n"
 
 #: fdisk/fdisk.c:1048
 msgid ""
@@ -2536,6 +2688,9 @@ msgid ""
 "as SunOS/Solaris expects it and even Linux likes it.\n"
 "\n"
 msgstr ""
+"Envisagez de conserver la partition 3 en tant que disque entier (5),\n"
+"car SunOS/Solaris s'y attend et Linux aime également l'utiliser.\n"
+"\n"
 
 #: fdisk/fdisk.c:1054
 msgid ""
@@ -2543,51 +2698,55 @@ msgid ""
 "and partition 11 as entire volume (6)as IRIX expects it.\n"
 "\n"
 msgstr ""
+"Envisagez de conserver la partition 9 en tant qu'en-tête de volume (0),\n"
+"et la partition 11 en tant que volume entier (6) car IRIX s'y attend.\n"
+"\n"
 
 #: fdisk/fdisk.c:1068
 #, c-format
 msgid "Changed system type of partition %d to %x (%s)\n"
-msgstr ""
+msgstr "Le type de système de la partition %d a été remplacé par %x (%s).\n"
 
 #: fdisk/fdisk.c:1121
 #, 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:1123 fdisk/fdisk.c:1131 fdisk/fdisk.c:1140 fdisk/fdisk.c:1149
 #, c-format
 msgid "     phys=(%d, %d, %d) "
-msgstr ""
+msgstr "     phys=(%d, %d, %d) "
 
 #: fdisk/fdisk.c:1124 fdisk/fdisk.c:1132
 #, c-format
 msgid "logical=(%d, %d, %d)\n"
-msgstr ""
+msgstr "logique=(%d, %d, %d)\n"
 
 #: fdisk/fdisk.c:1129
 #, c-format
 msgid "Partition %d has different physical/logical endings:\n"
-msgstr ""
+msgstr "La partition %d a des fins physique/logique différentes :\n"
 
 #: fdisk/fdisk.c:1138
 #, c-format
 msgid "Partition %i does not start on cylinder boundary:\n"
-msgstr ""
+msgstr "La partition %i ne commence pas à la limite du cylindre :\n"
 
 #: fdisk/fdisk.c:1141
 #, c-format
 msgid "should be (%d, %d, 1)\n"
-msgstr ""
+msgstr "devrait être (%d, %d, 1)\n"
 
 #: fdisk/fdisk.c:1147
 #, c-format
 msgid "Partition %i does not end on cylinder boundary:\n"
-msgstr ""
+msgstr "La partition %i ne se termine pas à la limite du cylindre :\n"
 
 #: fdisk/fdisk.c:1150
 #, c-format
 msgid "should be (%d, %d, %d)\n"
-msgstr ""
+msgstr "devrait être (%d, %d, %d)\n"
 
 #: fdisk/fdisk.c:1157
 #, c-format
@@ -2597,17 +2756,21 @@ msgid ""
 "Units = %s of %d * %d bytes\n"
 "\n"
 msgstr ""
+"\n"
+"Disque %s : %d têtes, %d secteurs, %d cylindres\n"
+"Unités = %s sur %d * %d octets\n"
+"\n"
 
 #. FIXME! let's see how this shows up with other languagues
 #. acme@conectiva.com.br
 #: fdisk/fdisk.c:1194
 #, c-format
 msgid "%*s Boot    Start       End    Blocks   Id  System\n"
-msgstr ""
+msgstr "%*s Amorce    Début       Fin    Blocs   Id  Système\n"
 
 #: fdisk/fdisk.c:1195 fdisk/fdisksgilabel.c:207 fdisk/fdisksunlabel.c:631
 msgid "Device"
-msgstr ""
+msgstr "Périphérique"
 
 #: fdisk/fdisk.c:1235
 #, c-format
@@ -2616,103 +2779,113 @@ msgid ""
 "Disk %s: %d heads, %d sectors, %d cylinders\n"
 "\n"
 msgstr ""
+"\n"
+"Disque %s : %d têtes, %d secteurs, %d cylindres\n"
+"\n"
 
 #: fdisk/fdisk.c:1237
-msgid "Nr AF  Hd Sec  Cyl  Hd Sec  Cyl   Start    Size ID\n"
-msgstr ""
+msgid "Nr AF  Hd Sec  Cyl  Hd Sec  Cyl    Start     Size ID\n"
+msgstr "N° DA Tt Sec  Cyl  Tt Sec  Cyl   Début    Taille ID\n"
 
 #: fdisk/fdisk.c:1276
-#, fuzzy, c-format
+#, c-format
 msgid "Warning: partition %d contains sector 0\n"
-msgstr "Avertissement: nombre de i-noeuds trop grand.\n"
+msgstr "Avertissement : la partition %d contient un secteur 0.\n"
 
 #: fdisk/fdisk.c:1279
 #, c-format
 msgid "Partition %d: head %d greater than maximum %d\n"
-msgstr ""
+msgstr "Partition %d : tête %d supérieure à la valeur maximum %d\n"
 
 #: fdisk/fdisk.c:1282
 #, c-format
 msgid "Partition %d: sector %d greater than maximum %d\n"
-msgstr ""
+msgstr "Partition %d : secteur %d supérieur à la valeur maximum %d\n"
 
 #: fdisk/fdisk.c:1285
 #, c-format
 msgid "Partitions %d: cylinder %d greater than maximum %d\n"
-msgstr ""
+msgstr "Partition %d : cylindre %d supérieur à la valeur maximum %d.\n"
 
 #: fdisk/fdisk.c:1289
 #, c-format
 msgid "Partition %d: previous sectors %d disagrees with total %d\n"
 msgstr ""
+"Partition %d : secteurs %d précédents ne correspondent pas au total %d.\n"
 
 #: fdisk/fdisk.c:1319
 #, c-format
 msgid "Warning: bad start-of-data in partition %d\n"
-msgstr ""
+msgstr "Avertissement : mauvaises données de début dans la partition %d.\n"
 
 #: fdisk/fdisk.c:1327
 #, c-format
 msgid "Warning: partition %d overlaps partition %d.\n"
-msgstr ""
+msgstr "Avertissement : la partition %d chevauche la partition %d.\n"
 
 #: fdisk/fdisk.c:1345
 #, c-format
 msgid "Warning: partition %d is empty\n"
-msgstr ""
+msgstr "Avertissement : la partition %d est vide.\n"
 
 #: fdisk/fdisk.c:1350
 #, c-format
 msgid "Logical partition %d not entirely in partition %d\n"
-msgstr ""
+msgstr "La partition logique %d n'est pas complètement dans la partition %d.\n"
 
 #: fdisk/fdisk.c:1356
 #, c-format
 msgid "Total allocated sectors %d greater than the maximum %d\n"
 msgstr ""
+"Le total des secteurs alloués %d est supérieur à la valeur maximum %d.\n"
 
 #: fdisk/fdisk.c:1359
-#, fuzzy, c-format
+#, c-format
 msgid "%d unallocated sectors\n"
-msgstr "impossible d'effacer le secteur de boot"
+msgstr "%d secteurs non alloués\n"
 
 #: fdisk/fdisk.c:1371 fdisk/fdisksgilabel.c:684 fdisk/fdisksunlabel.c:479
 #, c-format
 msgid "Partition %d is already defined.  Delete it before re-adding it.\n"
 msgstr ""
+"La partition %d est déjà définie. Supprimez-la avant de l'ajouter de "
+"nouveau.\n"
 
-#: fdisk/fdisk.c:1392 fdisk/fdiskbsdlabel.c:254 fdisk/fdisksgilabel.c:706
+#: fdisk/fdisk.c:1392 fdisk/fdiskbsdlabel.c:252 fdisk/fdisksgilabel.c:706
 #: fdisk/fdisksunlabel.c:494
 #, c-format
 msgid "First %s"
-msgstr ""
+msgstr "Premier %s"
 
 #: fdisk/fdisk.c:1407 fdisk/fdisksunlabel.c:519
 #, c-format
 msgid "Sector %d is already allocated\n"
-msgstr ""
+msgstr "Le secteur %d est déjà alloué.\n"
 
 #: fdisk/fdisk.c:1439
 msgid "No free sectors available\n"
-msgstr ""
+msgstr "Aucun secteur libre disponible.\n"
 
-#: fdisk/fdisk.c:1449 fdisk/fdiskbsdlabel.c:258 fdisk/fdisksunlabel.c:529
+#: fdisk/fdisk.c:1449 fdisk/fdiskbsdlabel.c:259 fdisk/fdisksunlabel.c:529
 #, c-format
 msgid "Last %s or +size or +sizeM or +sizeK"
-msgstr ""
+msgstr "Dernier %s ou +size ou +sizeM ou +sizeK"
 
 #: fdisk/fdisk.c:1479
 #, c-format
 msgid "Warning: partition %d has an odd number of sectors.\n"
 msgstr ""
+"Avertissement : la partition %d contient un nombre impair de secteurs.\n"
 
 #: fdisk/fdisk.c:1516 fdisk/fdiskbsdlabel.c:593
 msgid "The maximum number of partitions has been created\n"
-msgstr ""
+msgstr "Le nombre maximum de partitions a déjà été créé.\n"
 
 #: fdisk/fdisk.c:1526
 msgid "You must delete some partition and add an extended partition first\n"
 msgstr ""
+"Vous devez d'abord supprimer une partition et ajouter une partition "
+"étendue.\n"
 
 #: fdisk/fdisk.c:1530
 #, c-format
@@ -2721,41 +2894,46 @@ msgid ""
 "   %s\n"
 "   p   primary partition (1-4)\n"
 msgstr ""
+"Action de commande\n"
+"   %s\n"
+"   p   Partition primaire (1-4)\n"
 
 #: fdisk/fdisk.c:1532
 msgid "l   logical (5 or over)"
-msgstr ""
+msgstr "l   Logique (5 ou plus)"
 
 #: fdisk/fdisk.c:1532
 msgid "e   extended"
-msgstr ""
+msgstr "e   Etendue"
 
 #: fdisk/fdisk.c:1549
 #, c-format
 msgid "Invalid partition number for type `%c'\n"
-msgstr ""
+msgstr "Nombre de partitions non valide pour le type `%c'.\n"
 
 #: fdisk/fdisk.c:1581
 msgid ""
 "The partition table has been altered!\n"
 "\n"
 msgstr ""
+"La table de partition a été modifiée !\n"
+"\n"
 
 #: fdisk/fdisk.c:1590
 msgid "Calling ioctl() to re-read partition table.\n"
-msgstr ""
+msgstr "Appel de ioctl() pour relire la table de partition.\n"
 
 #: fdisk/fdisk.c:1606
-#, fuzzy, c-format
+#, c-format
 msgid ""
 "Re-read table failed with error %d: %s.\n"
 "Reboot your system to ensure the partition table is updated.\n"
 msgstr ""
-"Rebootez le système pour être sur que la table des partitions a été "
-"correctement mise à jour.\n"
+"La relecture de la table a échoué. Erreur  %d : %s.\n"
+"Réamorcez le système pour être sûr que la table de partition a été mise à "
+"jour.\n"
 
 #: fdisk/fdisk.c:1612
-#, fuzzy
 msgid ""
 "\n"
 "WARNING: If you have created or modified any DOS 6.x\n"
@@ -2764,95 +2942,107 @@ msgid ""
 msgstr ""
 "\n"
 "AVERTISSEMENT: Si vous avez créé ou modifié\n"
-"une ou des partitions DOS 6.x, reportez-vous au manuel\n"
-"de cfdisk pour avoir plus d'informations.\n"
+"une partition DOS 6.x, reportez-vous au manuel de fdisk\n"
+"pour plus d'informations.\n"
 
 #: fdisk/fdisk.c:1619
 msgid "Syncing disks.\n"
-msgstr ""
+msgstr "Synchronisation des disques.\n"
 
 #: fdisk/fdisk.c:1650
-#, fuzzy, c-format
+#, c-format
 msgid "Device: %s\n"
-msgstr "Disque Dur: %s\n"
+msgstr "Périphérique : %s\n"
 
 #: fdisk/fdisk.c:1665
 #, c-format
 msgid "Partition %d has no data area\n"
-msgstr ""
+msgstr "La partition %d ne contient pas de zone de données.\n"
 
 #: fdisk/fdisk.c:1671
 msgid "New beginning of data"
-msgstr ""
+msgstr "Nouveau début des données"
 
 #: fdisk/fdisk.c:1685
 msgid "Expert command (m for help): "
-msgstr ""
+msgstr "Commande Expert (m pour aide) :"
 
 #: fdisk/fdisk.c:1696
-#, fuzzy
 msgid "Number of cylinders"
-msgstr "Entrez le nombre de cylindres: "
+msgstr "Nombre de cylindres"
 
 #: fdisk/fdisk.c:1717
-#, fuzzy
 msgid "Number of heads"
-msgstr "Entrez le nombre de têtes: "
+msgstr "Nombre de têtes"
 
 #: fdisk/fdisk.c:1742
-#, fuzzy
 msgid "Number of sectors"
-msgstr " Secteurs"
+msgstr "Nombre de secteurs"
 
 #: fdisk/fdisk.c:1745
 msgid "Warning: setting sector offset for DOS compatiblity\n"
 msgstr ""
+"Avertissement : définition du décalage des secteurs pour la compatibilité "
+"DOS\n"
 
 #: fdisk/fdisk.c:1807
 #, c-format
 msgid "Disk %s doesn't contain a valid partition table\n"
-msgstr ""
+msgstr "Le disque %s ne contient pas de table de partition valide.\n"
 
 #: fdisk/fdisk.c:1821
-#, fuzzy, c-format
+#, c-format
 msgid "Cannot open %s\n"
-msgstr "Impossible d'ouvrir le fichier '%s'"
+msgstr "Impossible d'ouvrir %s\n"
+
+#: fdisk/fdisk.c:1838
+#, c-format
+msgid "cannot open %s\n"
+msgstr "Impossible d'ouvrir %s\n"
 
-#: fdisk/fdisk.c:1886
+#: fdisk/fdisk.c:1911
 msgid "This kernel finds the sector size itself - -b option ignored\n"
 msgstr ""
+"Ce kernel trouve lui-même la taille de secteur, option  - -b ignorée.\n"
 
-#: fdisk/fdisk.c:1889
+#: fdisk/fdisk.c:1914
 msgid ""
 "Warning: the -b (set sector size) option should be used with one specified "
 "device\n"
 msgstr ""
+"Avertissement : l'option -b (définition de la taille de secteur) doit être "
+"utilisée avec un périphériquedéfini.\n"
 
-#: fdisk/fdisk.c:1947
+#: fdisk/fdisk.c:1973
 msgid "Command (m for help): "
-msgstr ""
+msgstr "Commande (m pour aide) : "
 
-#: fdisk/fdisk.c:1961
+#: fdisk/fdisk.c:1987
 #, c-format
 msgid ""
 "\n"
 "The current boot file is: %s\n"
 msgstr ""
+"\n"
+"Le fichier amorce en cours est : %s.\n"
 
-#: fdisk/fdisk.c:1963
+#: fdisk/fdisk.c:1989
 msgid "Please enter the name of the new boot file: "
-msgstr ""
+msgstr "Entrez le nom du nouveau fichier amorce : "
 
-#: fdisk/fdisk.c:1965
+#: fdisk/fdisk.c:1991
 msgid "Boot file unchanged\n"
-msgstr ""
+msgstr "Fichier amorce inchangé\n"
 
-#: fdisk/fdisk.c:2025
+#: fdisk/fdisk.c:2051
 msgid ""
 "\n"
 "\tSorry, no experts menu for SGI partition tables available.\n"
 "\n"
 msgstr ""
+"\n"
+"\tDésolé, aucun menu Experts disponible pour les tables de partition SGI.\n"
+"\n"
 
 #: fdisk/fdiskaixlabel.c:29
 msgid ""
@@ -2869,374 +3059,380 @@ msgid ""
 "\t   to remove the disk logically from your AIX\n"
 "\t   machine.  (Otherwise you become an AIXpert)."
 msgstr ""
-
-#: fdisk/fdiskbsdlabel.c:99
+"\n"
+"\tIl existe un libellé AIX valide sur ce disque.\n"
+"\tLinux ne peut malheureusement pas gérer ces\n"
+"\tdisques pour l'instant. Quelques conseils\n"
+"\ttoutefois :\n"
+"\t1. fdisk détruira son contenu lors d'une commande write.\n"
+"\t2. Assurez-vous que le disque n'est PLUS une partie\n"
+"\t   vitale du groupe de volumes. (Sinon, vous risquez\n"
+"\t   d'effacer également les autres disques, si ceux-ci sont mis en "
+"miroir.)\n"
+"\t3. Avant de supprimer ce volume physique, assurez-vous\n"
+"\t   de supprimer logiquement le disque de votre ordinateur AIX.\n"
+"\t   (Sinon, vous deviendrez un AIXpert)."
+
+#: fdisk/fdiskbsdlabel.c:97
 #, c-format
 msgid ""
 "\n"
 "BSD label for device: %s\n"
 msgstr ""
+"\n"
+"Libellé BSD pour le périphérique : %s\n"
 
-#: fdisk/fdiskbsdlabel.c:108
-#, fuzzy
+#: fdisk/fdiskbsdlabel.c:106
 msgid "   d   delete a BSD partition"
-msgstr "  d          Effacer la partition courante"
+msgstr "   d   Efface une partition BSD"
 
-#: fdisk/fdiskbsdlabel.c:109
+#: fdisk/fdiskbsdlabel.c:107
 msgid "   e   edit drive data"
-msgstr ""
+msgstr "   e   Edite les données du disque"
 
-#: fdisk/fdiskbsdlabel.c:110
+#: fdisk/fdiskbsdlabel.c:108
 msgid "   i   install bootstrap"
-msgstr ""
+msgstr "   i   Installe une amorce"
 
-#: fdisk/fdiskbsdlabel.c:111
-#, fuzzy
+#: fdisk/fdiskbsdlabel.c:109
 msgid "   l   list known filesystem types"
-msgstr "  t          Changer le type de système de fichiers"
+msgstr "   l   Répertorie les types de système de fichiers connus"
 
-#: fdisk/fdiskbsdlabel.c:113
-#, fuzzy
+#: fdisk/fdiskbsdlabel.c:111
 msgid "   n   add a new BSD partition"
-msgstr "Créér une nouvelle partition logique"
+msgstr "   n   Ajoute une nouvelle partition BSD"
 
-#: fdisk/fdiskbsdlabel.c:114
-#, fuzzy
+#: fdisk/fdiskbsdlabel.c:112
 msgid "   p   print BSD partition table"
-msgstr "Seulement imprimer la table de partitions"
+msgstr "   p   Affiche la table de partition BSD"
 
-#: fdisk/fdiskbsdlabel.c:119
+#: fdisk/fdiskbsdlabel.c:117
 msgid "   s   show complete disklabel"
-msgstr ""
+msgstr "   s   Affiche le libellé de disque complet"
 
-#: fdisk/fdiskbsdlabel.c:120
-#, fuzzy
+#: fdisk/fdiskbsdlabel.c:118
 msgid "   t   change a partition's filesystem id"
-msgstr "  t          Changer le type de système de fichiers"
+msgstr "   t   Change l'ID du système de fichiers d'une partition"
 
-#: fdisk/fdiskbsdlabel.c:121
+#: fdisk/fdiskbsdlabel.c:119
 msgid "   w   write disklabel to disk"
-msgstr ""
+msgstr "   w   Ecrit le libellé de disque dans un disque"
 
-#: fdisk/fdiskbsdlabel.c:123
+#: fdisk/fdiskbsdlabel.c:121
 msgid "   x   link BSD partition to non-BSD partition"
-msgstr ""
+msgstr "   x   Lie la partition BSD à une partition non BSD"
 
-#: fdisk/fdiskbsdlabel.c:148
-#, fuzzy, c-format
+#: fdisk/fdiskbsdlabel.c:146
+#, c-format
 msgid "Partition %s%d has invalid starting sector 0.\n"
-msgstr "La partition se termine avant le secteur 0"
+msgstr "La partition %s%d a un secteur de début 0 non valide.\n"
 
-#: fdisk/fdiskbsdlabel.c:152
+#: fdisk/fdiskbsdlabel.c:150
 #, c-format
 msgid "Reading disklabel of %s%d at sector %d.\n"
-msgstr ""
+msgstr "Lecture du libellé de disque de %s%d dans le secteur %d.\n"
 
-#: fdisk/fdiskbsdlabel.c:161
+#: fdisk/fdiskbsdlabel.c:159
 #, c-format
 msgid "There is no *BSD partition on %s.\n"
-msgstr ""
+msgstr "Il n'y a aucune partition *BSD sur %s.\n"
 
-#: fdisk/fdiskbsdlabel.c:176
+#: fdisk/fdiskbsdlabel.c:174
 msgid "BSD disklabel command (m for help): "
-msgstr ""
+msgstr "Commande de libellé de disque BSD (m pour aide) : "
 
 #: fdisk/fdiskbsdlabel.c:288
 #, c-format
 msgid "type: %s\n"
-msgstr ""
+msgstr "type : %s\n"
 
 #: fdisk/fdiskbsdlabel.c:290
 #, c-format
 msgid "type: %d\n"
-msgstr ""
+msgstr "type : %d\n"
 
 #: fdisk/fdiskbsdlabel.c:291
-#, fuzzy, c-format
+#, c-format
 msgid "disk: %.*s\n"
-msgstr "Disque Dur: %s\n"
+msgstr "disque : %.*s\n"
 
 #: fdisk/fdiskbsdlabel.c:292
 #, c-format
 msgid "label: %.*s\n"
-msgstr ""
+msgstr "libellé : %.*s\n"
 
 #: fdisk/fdiskbsdlabel.c:293
-#, fuzzy
 msgid "flags:"
-msgstr "Drapeaux"
+msgstr "indicateurs :"
 
 #: fdisk/fdiskbsdlabel.c:295
-#, fuzzy
 msgid " removable"
-msgstr "Enlever"
+msgstr " supprimable"
 
 #: fdisk/fdiskbsdlabel.c:297
 msgid " ecc"
-msgstr ""
+msgstr " ecc"
 
 #: fdisk/fdiskbsdlabel.c:299
 msgid " badsect"
-msgstr ""
+msgstr " badsect"
 
 #. On various machines the fields of *lp are short/int/long
 #. In order to avoid problems, we cast them all to long.
 #: fdisk/fdiskbsdlabel.c:303
-#, fuzzy, c-format
+#, c-format
 msgid "bytes/sector: %ld\n"
-msgstr "Secteur %d:\n"
+msgstr "octets/secteur : %ld\n"
 
 #: fdisk/fdiskbsdlabel.c:304
-#, fuzzy, c-format
+#, c-format
 msgid "sectors/track: %ld\n"
-msgstr "Secteur %d:\n"
+msgstr "secteurs/piste : %ld\n"
 
 #: fdisk/fdiskbsdlabel.c:305
 #, c-format
 msgid "tracks/cylinder: %ld\n"
-msgstr ""
+msgstr "pistes/cylindre : %ld\n"
 
 #: fdisk/fdiskbsdlabel.c:306
 #, c-format
 msgid "sectors/cylinder: %ld\n"
-msgstr ""
+msgstr "secteurs/cylindre : %ld\n"
 
 #: fdisk/fdiskbsdlabel.c:307
-#, fuzzy, c-format
+#, c-format
 msgid "cylinders: %ld\n"
-msgstr "cylindres"
+msgstr "cylindres : %ld\n"
 
 #: fdisk/fdiskbsdlabel.c:308
 #, c-format
 msgid "rpm: %d\n"
-msgstr ""
+msgstr "tpm : %d\n"
 
 #: fdisk/fdiskbsdlabel.c:309
 #, c-format
 msgid "interleave: %d\n"
-msgstr ""
+msgstr "interleave : %d\n"
 
 #: fdisk/fdiskbsdlabel.c:310
 #, c-format
 msgid "trackskew: %d\n"
-msgstr ""
+msgstr "trackskew : %d\n"
 
 #: fdisk/fdiskbsdlabel.c:311
-#, fuzzy, c-format
+#, c-format
 msgid "cylinderskew: %d\n"
-msgstr "cylindres"
+msgstr "cylinderskew : %d\n"
 
 #: fdisk/fdiskbsdlabel.c:312
 #, c-format
 msgid "headswitch: %ld\t\t# milliseconds\n"
-msgstr ""
+msgstr "headswitch : %ld\t\t# millisecondes\n"
 
 #: fdisk/fdiskbsdlabel.c:313
 #, c-format
 msgid "track-to-track seek: %ld\t# milliseconds\n"
-msgstr ""
+msgstr "track-to-track seek : %ld\t# millisecondes\n"
 
 #: fdisk/fdiskbsdlabel.c:314
 msgid "drivedata: "
-msgstr ""
+msgstr "drivedata : "
 
 #: fdisk/fdiskbsdlabel.c:323
-#, fuzzy, c-format
+#, c-format
 msgid ""
 "\n"
 "%d partitions:\n"
-msgstr "Plus de partitions"
+msgstr ""
+"\n"
+"%d partitions :\n"
 
 #: fdisk/fdiskbsdlabel.c:324
 msgid "#        size   offset    fstype   [fsize bsize   cpg]\n"
-msgstr ""
+msgstr "N°        taille   décalage    fstype   [fsize bsize   cpg]\n"
 
 #: fdisk/fdiskbsdlabel.c:380
-#, fuzzy, c-format
+#, c-format
 msgid "Writing disklabel to %s%d.\n"
-msgstr "Table de partitions pour %s\n"
+msgstr "Ecriture du libellé de disque dans %s%d.\n"
 
 #: fdisk/fdiskbsdlabel.c:383
-#, fuzzy, c-format
+#, c-format
 msgid "Writing disklabel to %s.\n"
-msgstr "Table de partitions pour %s\n"
+msgstr "Ecriture du libellé de disque dans %s.\n"
 
 #: fdisk/fdiskbsdlabel.c:395
 #, c-format
 msgid "%s%d contains no disklabel.\n"
-msgstr ""
+msgstr "%s%d ne contient aucun libellé de disque.\n"
 
 #: fdisk/fdiskbsdlabel.c:398
 #, c-format
 msgid "%s contains no disklabel.\n"
-msgstr ""
+msgstr "%s ne contient aucun libellé de disque.\n"
 
 #: fdisk/fdiskbsdlabel.c:402
 msgid "Do you want to create a disklabel? (y/n) "
-msgstr ""
+msgstr "Voulez-vous créer un libellé de disque ? (y/n) "
 
 #: fdisk/fdiskbsdlabel.c:441
-#, fuzzy
 msgid "bytes/sector"
-msgstr "secteurs"
+msgstr "octets/secteur"
 
 #: fdisk/fdiskbsdlabel.c:442
-#, fuzzy
 msgid "sectors/track"
-msgstr "secteurs"
+msgstr "secteurs/piste"
 
 #: fdisk/fdiskbsdlabel.c:443
-#, fuzzy
 msgid "tracks/cylinder"
-msgstr "cylindres"
+msgstr "pistes/cylindre"
 
 #: fdisk/fdiskbsdlabel.c:451
-#, fuzzy
 msgid "sectors/cylinder"
-msgstr "cylindres"
+msgstr "secteurs/cylindre"
 
 #: fdisk/fdiskbsdlabel.c:455
 msgid "Must be <= sectors/track * tracks/cylinder (default).\n"
-msgstr ""
+msgstr "Doit être <= secteurs/piste * pistes/cylindre (par défaut).\n"
 
 #: fdisk/fdiskbsdlabel.c:457
 msgid "rpm"
-msgstr ""
+msgstr "tpm"
 
 #: fdisk/fdiskbsdlabel.c:458
 msgid "interleave"
-msgstr ""
+msgstr "interleave"
 
 #: fdisk/fdiskbsdlabel.c:459
 msgid "trackskew"
-msgstr ""
+msgstr "trackskew"
 
 #: fdisk/fdiskbsdlabel.c:460
-#, fuzzy
 msgid "cylinderskew"
-msgstr "cylindres"
+msgstr "cylinderskew"
 
 #: fdisk/fdiskbsdlabel.c:461
-#, fuzzy
 msgid "headswitch"
-msgstr "têtes"
+msgstr "headswitch"
 
 #: fdisk/fdiskbsdlabel.c:462
 msgid "track-to-track seek"
-msgstr ""
+msgstr "track-to-track seek"
 
 #: fdisk/fdiskbsdlabel.c:503
 #, c-format
 msgid "Bootstrap: %sboot -> boot%s (%s): "
-msgstr ""
+msgstr "Amorce : %sboot -> boot%s (%s) : "
 
 #: fdisk/fdiskbsdlabel.c:529
 msgid "Bootstrap overlaps with disk label!\n"
-msgstr ""
+msgstr "L'amorce chevauche le libellé de disque !\n"
 
 #: fdisk/fdiskbsdlabel.c:550
 #, c-format
 msgid "Bootstrap installed on %s%d.\n"
-msgstr ""
+msgstr "Amorce installée sur %s%d.\n"
 
 #: fdisk/fdiskbsdlabel.c:552
 #, c-format
 msgid "Bootstrap installed on %s.\n"
-msgstr ""
+msgstr "Amorce installée sur %s.\n"
 
 #: fdisk/fdiskbsdlabel.c:573
 #, c-format
 msgid "Partition (a-%c): "
-msgstr ""
+msgstr "Partition (a-%c) : "
 
 #: fdisk/fdiskbsdlabel.c:604
-#, fuzzy
 msgid "This partition already exists.\n"
-msgstr "Cette partition est déjà utilisée"
+msgstr "Cette partition existe déjà .\n"
 
 #: fdisk/fdiskbsdlabel.c:726
 #, c-format
 msgid "Warning: too many partitions (%d, maximum is %d).\n"
 msgstr ""
+"Avertissement : partitions trop nombreuses (%d, le nombre maximum est %d).\n"
 
 #: fdisk/fdiskbsdlabel.c:772
 msgid ""
 "\n"
 "Syncing disks.\n"
 msgstr ""
+"\n"
+"Synchronisation des disques.\n"
 
 #: fdisk/fdisksgilabel.c:56
 msgid "SGI volhdr"
-msgstr ""
+msgstr "SGI volhdr"
 
 #: fdisk/fdisksgilabel.c:57
 msgid "SGI trkrepl"
-msgstr ""
+msgstr "SGI trkrepl"
 
 #: fdisk/fdisksgilabel.c:58
 msgid "SGI secrepl"
-msgstr ""
+msgstr "SGI secrepl"
 
 #: fdisk/fdisksgilabel.c:59
 msgid "SGI raw"
-msgstr ""
+msgstr "SGI raw"
 
 #: fdisk/fdisksgilabel.c:60
 msgid "SGI bsd"
-msgstr ""
+msgstr "SGI bsd"
 
 #: fdisk/fdisksgilabel.c:61
 msgid "SGI sysv"
-msgstr ""
+msgstr "SGI sysv"
 
 #: fdisk/fdisksgilabel.c:62
 msgid "SGI volume"
-msgstr ""
+msgstr "volume SGI"
 
 #: fdisk/fdisksgilabel.c:63
 msgid "SGI efs"
-msgstr ""
+msgstr "SGI efs"
 
 #: fdisk/fdisksgilabel.c:64
 msgid "SGI lvol"
-msgstr ""
+msgstr "SGI lvol"
 
 #: fdisk/fdisksgilabel.c:65
 msgid "SGI rlvol"
-msgstr ""
+msgstr "SGI rlvol"
 
 #: fdisk/fdisksgilabel.c:66
 msgid "SGI xfs"
-msgstr ""
+msgstr "SGI xfs"
 
 #: fdisk/fdisksgilabel.c:67
 msgid "SGI xlvol"
-msgstr ""
+msgstr "SGI xlvol"
 
 #: fdisk/fdisksgilabel.c:68
 msgid "SGI rxlvol"
-msgstr ""
+msgstr "SGI rxlvol"
 
 #. Minix 1.4b and later
 #: fdisk/fdisksgilabel.c:69 fdisk/fdisksunlabel.c:52 fdisk/i386_sys_types.c:55
-#, fuzzy
 msgid "Linux swap"
-msgstr "Linux"
+msgstr "Echange Linux"
 
 #: fdisk/fdisksgilabel.c:70 fdisk/fdisksunlabel.c:53
-#, fuzzy
 msgid "Linux native"
-msgstr "Linux ext2"
+msgstr "Linux natif"
 
 #: fdisk/fdisksgilabel.c:143
 msgid ""
 "According to MIPS Computer Systems, Inc the Label must not contain more than "
 "512 bytes\n"
 msgstr ""
+"Selon MIPS Computer Systems, Inc le libellé ne doit pas contenir plus de 512 "
+"octets\n"
 
 #: fdisk/fdisksgilabel.c:162
 msgid "Detected sgi disklabel with wrong checksum.\n"
-msgstr ""
+msgstr "Libellé de disque SGI détecté avec total de contrôle incorrect.\n"
 
 #: fdisk/fdisksgilabel.c:186
 #, c-format
@@ -3249,6 +3445,13 @@ msgid ""
 "Units = %s of %d * 512 bytes\n"
 "\n"
 msgstr ""
+"\n"
+"Disque %s (libellé de disque SGI) : %d têtes, %d secteurs\n"
+"%d cylindres, %d cylindres physiques\n"
+"%d secteurs suppl/cyl, entrelacement %d :1\n"
+"%s\n"
+"Unités = %s sur %d * 512 octets\n"
+"\n"
 
 #: fdisk/fdisksgilabel.c:199
 #, c-format
@@ -3258,6 +3461,10 @@ msgid ""
 "Units = %s of %d * 512 bytes\n"
 "\n"
 msgstr ""
+"\n"
+"Disque %s (libellé de disque SGI) : %d têtes, %d secteurs, %d cylindres\n"
+"Unités = %s sur %d * 512 octets\n"
+"\n"
 
 #: fdisk/fdisksgilabel.c:205
 #, c-format
@@ -3265,6 +3472,8 @@ msgid ""
 "----- partitions -----\n"
 "%*s  Info      Start       End   Sectors  Id  System\n"
 msgstr ""
+"----- partitions -----\n"
+"%*s  Infos      Début       Fin   Secteurs  Id  Système\n"
 
 #: fdisk/fdisksgilabel.c:227
 #, c-format
@@ -3273,11 +3482,14 @@ msgid ""
 "Bootfile: %s\n"
 "----- directory entries -----\n"
 msgstr ""
+"----- bootinfo -----\n"
+"Fichier amorce : %s\n"
+"----- entrées de répertoire -----\n"
 
 #: fdisk/fdisksgilabel.c:237
 #, c-format
 msgid "%2d: %-10s sector%5u size%8u\n"
-msgstr ""
+msgstr "%2d : %-10s secteur%5u taille%8u\n"
 
 #: fdisk/fdisksgilabel.c:298
 msgid ""
@@ -3286,18 +3498,26 @@ msgid ""
 "\tThe bootfile must be an absolute non-zero pathname,\n"
 "\te.g. \"/unix\" or \"/unix.save\".\n"
 msgstr ""
+"\n"
+"Fichier amorce non valide !\n"
+"\tLe fichier amorce doit être un nom de chemin absolu non nul,\n"
+"\tpar exemple, \"/unix\" ou \"/unix.save\".\n"
 
 #: fdisk/fdisksgilabel.c:305
 msgid ""
 "\n"
 "\tName of Bootfile too long:  16 bytes maximum.\n"
 msgstr ""
+"\n"
+"\tNom du fichier amorce trop long : 16 octets maximum.\n"
 
 #: fdisk/fdisksgilabel.c:310
 msgid ""
 "\n"
 "\tBootfile must have a fully qualified pathname.\n"
 msgstr ""
+"\n"
+"\tLe fichier amorce doit avoir un nom de chemin valide.\n"
 
 #: fdisk/fdisksgilabel.c:315
 msgid ""
@@ -3305,6 +3525,10 @@ msgid ""
 "\tBe aware, that the bootfile is not checked for existence.\n"
 "\tSGI's default is \"/unix\" and for backup \"/unix.save\".\n"
 msgstr ""
+"\n"
+"\tN'oubliez pas l'existence du fichier amorce n'est pas vérifiée.\n"
+"\tLa valeur par défaut de SGI est \"/unix\" et celle de sauvegarde est "
+"\"/unix.save\".\n"
 
 #: fdisk/fdisksgilabel.c:343
 #, c-format
@@ -3312,19 +3536,20 @@ msgid ""
 "\n"
 "\tBootfile is changed to \"%s\".\n"
 msgstr ""
+"\n"
+"\tFichier amorce remplacé par \"%s\".\n"
 
 #: fdisk/fdisksgilabel.c:448
 msgid "More than one entire disk entry present.\n"
-msgstr ""
+msgstr "Il existe plus d'une entrée de disque entier.\n"
 
 #: fdisk/fdisksgilabel.c:456 fdisk/fdisksunlabel.c:455
-#, fuzzy
 msgid "No partitions defined\n"
-msgstr "Plus de partitions"
+msgstr "Aucune partition définie\n"
 
 #: fdisk/fdisksgilabel.c:463
 msgid "IRIX likes when Partition 11 covers the entire disk.\n"
-msgstr ""
+msgstr "IRIX préfère lorsque la Partition 11 couvre le disque entier.\n"
 
 #: fdisk/fdisksgilabel.c:465
 #, c-format
@@ -3332,6 +3557,8 @@ msgid ""
 "The entire disk partition should start at block 0,\n"
 "not at diskblock %d.\n"
 msgstr ""
+"La partition de disque entier doit commencer au bloc 0,\n"
+"non pas au bloc de disque %d.\n"
 
 #: fdisk/fdisksgilabel.c:469
 #, c-format
@@ -3339,59 +3566,65 @@ msgid ""
 "The entire disk partition is only %d diskblock large,\n"
 "but the disk is %d diskblocks long.\n"
 msgstr ""
+"La partition de disque entier ne couvre que %d blocs de disque,\n"
+"mais le disque a une longueur de %d blocs de disque.\n"
 
 #: fdisk/fdisksgilabel.c:476
 msgid "One Partition (#11) should cover the entire disk.\n"
-msgstr ""
+msgstr "Une partition (N°11) doit couvrir le disque entier.\n"
 
 #: fdisk/fdisksgilabel.c:488
 #, c-format
 msgid "Partition %d does not start on cylinder boundary.\n"
-msgstr ""
+msgstr "La partition %d ne commence pas à la limite du cylindre.\n"
 
 #: fdisk/fdisksgilabel.c:495
 #, c-format
 msgid "Partition %d does not end on cylinder boundary.\n"
-msgstr ""
+msgstr "La partition %d ne se termine pas à la limite du cylindre.\n"
 
 #: fdisk/fdisksgilabel.c:503
 #, c-format
 msgid "The Partition %d and %d overlap by %d sectors.\n"
-msgstr ""
+msgstr "Les partitions %d et %d se chevauchent de %d secteurs.\n"
 
 #: fdisk/fdisksgilabel.c:512 fdisk/fdisksgilabel.c:532
 #, c-format
 msgid "Unused gap of %8d sectors - sectors %8d-%d\n"
-msgstr ""
+msgstr "Intervalle inutilisé de %8d secteurs - secteurs %8d-%d\n"
 
 #: fdisk/fdisksgilabel.c:545
 msgid ""
 "\n"
 "The boot partition does not exist.\n"
 msgstr ""
+"\n"
+"La partition d'amorçage n'existe pas.\n"
 
 #: fdisk/fdisksgilabel.c:549
-#, fuzzy
 msgid ""
 "\n"
 "The swap partition does not exist.\n"
-msgstr "%s: l'utilisateur \"%s\" n'existe pas.\n"
+msgstr ""
+"\n"
+"La partition d'échange n'existe pas.\n"
 
 #: fdisk/fdisksgilabel.c:554
-#, fuzzy
 msgid ""
 "\n"
 "The swap partition has no swap type.\n"
-msgstr "Cette partition est unitilisable"
+msgstr ""
+"\n"
+"La partition d'échange n'a pas de type d'échange.\n"
 
 #: fdisk/fdisksgilabel.c:558
 msgid "\tYou have chosen an unusual boot file name.\n"
-msgstr ""
+msgstr "\tVous avez choisi un nom de fichier amorce inhabituel.\n"
 
 #: fdisk/fdisksgilabel.c:569
-#, fuzzy
 msgid "Sorry You may change the Tag of non-empty partitions.\n"
-msgstr "Impossible de changer le type d'une partition vide"
+msgstr ""
+"Désolé. Vous pouvez uniquement changer la balise des partitions non vides.\n"
 
 #: fdisk/fdisksgilabel.c:576
 msgid ""
@@ -3401,38 +3634,53 @@ msgid ""
 "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'appuiera dessus pour\n"
+"effectuer des récupérations depuis ses outils autonomes de répertoire tels "
+"que sash et fx.\n"
+"Seule la section du disque entier \"SGI volume\" peut passer outre cette "
+"recommandation.\n"
+"Tapez OUI si vous êtes certain de vouloir baliser cette partition "
+"différemment.\n"
 
 #. rebuild freelist
 #: fdisk/fdisksgilabel.c:621
 msgid "Do You know, You got a partition overlap on the disk?\n"
 msgstr ""
+"Savez-vous qu'il existe un chevauchement de partitions sur le disque ?\n"
 
 #: fdisk/fdisksgilabel.c:691
 msgid "Attempting to generate entire disk entry automatically.\n"
-msgstr ""
+msgstr "Tentative de génération automatique de l'entrée de disque entier.\n"
 
 #: fdisk/fdisksgilabel.c:698
 msgid "The entire disk is already covered with partitions.\n"
-msgstr ""
+msgstr "Le disque entier est déjà partitionné.\n"
 
 #: fdisk/fdisksgilabel.c:703
 msgid "You got a partition overlap on the disk. Fix it first!\n"
 msgstr ""
+"Il y a un chevauchement de partitions sur le disque. Rectifiez d'abord ce "
+"problème !\n"
 
 #: fdisk/fdisksgilabel.c:712 fdisk/fdisksgilabel.c:741
 msgid ""
 "It is highly recommended that eleventh partition\n"
 "covers the entire disk and is of type `SGI volume'\n"
 msgstr ""
+"Il est fortement recommandé que la onzième partition\n"
+"couvre le disque entier et soit de type `SGI volume'.\n"
 
 #: fdisk/fdisksgilabel.c:728
 msgid "You will get a partition overlap on the disk. Fix it first!\n"
 msgstr ""
+"Le disque contiendra un chevauchement de partitions. Rectifiez d'abord ce "
+"problème !\n"
 
 #: fdisk/fdisksgilabel.c:733
 #, c-format
 msgid " Last %s"
-msgstr ""
+msgstr " Dernier %s"
 
 #: fdisk/fdisksgilabel.c:756
 msgid ""
@@ -3441,48 +3689,54 @@ msgid ""
 "content will be unrecoverable lost.\n"
 "\n"
 msgstr ""
+"Création d'un nouveau libellé de disque SGI. Les modifications seront "
+"uniquement conservées en\n"
+"mémoire jusqu'à ce que vous décidiez de les écrire. Une fois terminé, le "
+"contenu précédent\n"
+"ne pourra être restauré.\n"
+"\n"
 
 #: fdisk/fdisksgilabel.c:784
 #, c-format
 msgid "Trying to keep parameters of partition %d.\n"
-msgstr ""
+msgstr "Tentative de conservation des paramètres de la partition %d.\n"
 
 #: fdisk/fdisksgilabel.c:786
 #, c-format
 msgid "ID=%02x\tSTART=%d\tLENGTH=%d\n"
-msgstr ""
+msgstr "ID=%02x\tSTART=%d\tLENGTH=%d\n"
 
 #: fdisk/fdisksunlabel.c:43 fdisk/i386_sys_types.c:6
 msgid "Empty"
-msgstr ""
+msgstr "Vide"
 
 #: fdisk/fdisksunlabel.c:45
 msgid "SunOS root"
-msgstr ""
+msgstr "Root SunOS"
 
 #: fdisk/fdisksunlabel.c:46
 msgid "SunOS swap"
-msgstr ""
+msgstr "Echange SunOS"
 
 #: fdisk/fdisksunlabel.c:47
 msgid "SunOS usr"
-msgstr ""
+msgstr "Util SunOS"
 
 #: fdisk/fdisksunlabel.c:48
 msgid "Whole disk"
-msgstr ""
+msgstr "Disque entier"
 
 #: fdisk/fdisksunlabel.c:49
 msgid "SunOS stand"
-msgstr ""
+msgstr "SunOS stand"
 
 #: fdisk/fdisksunlabel.c:50
 msgid "SunOS var"
-msgstr ""
+msgstr "SunOS var"
 
 #: fdisk/fdisksunlabel.c:51
 msgid "SunOS home"
-msgstr ""
+msgstr "SunOS home"
 
 #: fdisk/fdisksunlabel.c:122
 msgid ""
@@ -3491,11 +3745,15 @@ msgid ""
 "e.g. heads, sectors, cylinders and partitions\n"
 "or force a fresh label (s command in main menu)\n"
 msgstr ""
+"Libellé de disque Sun avec total de contrôle incorrect détecté.\n"
+"Vous devrez sans doute définir toutes les valeurs,\n"
+"par exemple, têtes, secteurs, cylindres et partitions\n"
+"ou forcer un nouveau libellé (commande s du menu principal).\n"
 
 #: fdisk/fdisksunlabel.c:215
 #, c-format
 msgid "Autoconfigure found a %s%s%s\n"
-msgstr ""
+msgstr "Le programme de configuration automatique a trouvé un %s%s%s\n"
 
 #: fdisk/fdisksunlabel.c:242
 msgid ""
@@ -3504,6 +3762,12 @@ msgid ""
 "content won't be recoverable.\n"
 "\n"
 msgstr ""
+"Création d'un nouveau libellé de disque Sun. Les modifications seront "
+"uniquement conservées en\n"
+"mémoire jusqu'à ce que vous décidiez de les écrire. Une fois terminé, le "
+"contenu précédent\n"
+"ne pourra être restauré.\n"
+"\n"
 
 #: fdisk/fdisksunlabel.c:253
 msgid ""
@@ -3511,80 +3775,82 @@ msgid ""
 "   ?   auto configure\n"
 "   0   custom (with hardware detected defaults)"
 msgstr ""
+"Type de disque\n"
+"   ?   configuration auto\n"
+"   0   personnalisé (avec détection des paramètres matériels par défaut)"
 
 #: fdisk/fdisksunlabel.c:263
 msgid "Select type (? for auto, 0 for custom): "
-msgstr ""
+msgstr "Sélectionnez le type (? pour auto, 0 pour personnalisé) : "
 
 #: fdisk/fdisksunlabel.c:275
 msgid "Autoconfigure failed.\n"
-msgstr ""
+msgstr "Echec de la configuration automatique.\n"
 
 #: fdisk/fdisksunlabel.c:303
-#, fuzzy
 msgid "Sectors/track"
-msgstr "Secteurs"
+msgstr "Secteurs/piste"
 
 #: fdisk/fdisksunlabel.c:310
-#, fuzzy
 msgid "Alternate cylinders"
-msgstr "cylindres"
+msgstr "Cylindres de remplacement"
 
 #: fdisk/fdisksunlabel.c:313
-#, fuzzy
 msgid "Physical cylinders"
-msgstr "cylindres"
+msgstr "Cylindres physiques"
 
 #: fdisk/fdisksunlabel.c:316 fdisk/fdisksunlabel.c:681
 msgid "Rotation speed (rpm)"
-msgstr ""
+msgstr "Vitesse de rotation (tpm)"
 
 #: fdisk/fdisksunlabel.c:318 fdisk/fdisksunlabel.c:674
 msgid "Interleave factor"
-msgstr ""
+msgstr "Facteur d'entrelacement"
 
 #: fdisk/fdisksunlabel.c:321 fdisk/fdisksunlabel.c:667
 msgid "Extra sectors per cylinder"
-msgstr ""
+msgstr "Secteurs supplémentaires par cylindre"
 
 #: fdisk/fdisksunlabel.c:334
 msgid "You may change all the disk params from the x menu"
-msgstr ""
+msgstr "Vous pouvez modifier tous les paramètres de disque depuis le menu x."
 
 #: fdisk/fdisksunlabel.c:337
 msgid "3,5\" floppy"
-msgstr ""
+msgstr "Disquette 3,5\""
 
 #: fdisk/fdisksunlabel.c:337
-#, fuzzy
 msgid "Linux custom"
-msgstr "Linux ext2"
+msgstr "Linux personnalisé"
 
 #: fdisk/fdisksunlabel.c:418
 #, c-format
 msgid "Partition %d doesn't end on cylinder boundary\n"
-msgstr ""
+msgstr "La partition %d ne se termine pas sur une limite de cylindre.\n"
 
 #: fdisk/fdisksunlabel.c:438
 #, c-format
 msgid "Partition %d overlaps with others in sectors %d-%d\n"
 msgstr ""
+"La partition %d chevauche d'autres partitions dans les secteurs %d-%d.\n"
 
 #: fdisk/fdisksunlabel.c:460
 #, c-format
 msgid "Unused gap - sectors 0-%d\n"
-msgstr ""
+msgstr "Intervalle inutilisé - secteurs 0-%d\n"
 
 #: fdisk/fdisksunlabel.c:462 fdisk/fdisksunlabel.c:466
 #, c-format
 msgid "Unused gap - sectors %d-%d\n"
-msgstr ""
+msgstr "Intervalle inutilisé - secteurs %d-%d\n"
 
 #: fdisk/fdisksunlabel.c:489
 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"
+"Supprimez ou réduisez-en avant d'essayer de nouveau.\n"
 
 #: fdisk/fdisksunlabel.c:547
 #, c-format
@@ -3593,6 +3859,9 @@ msgid ""
 "%d %s covers some other partition. Your entry has been changed\n"
 "to %d %s\n"
 msgstr ""
+"La troisième partition ne couvre pas le disque entier, mais la valeur\n"
+"%d %s couvre une autre partition. Votre entrée a été remplacée\n"
+"par %d %s.\n"
 
 #: fdisk/fdisksunlabel.c:567
 #, c-format
@@ -3600,6 +3869,9 @@ 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 voulez maintenir la compatibilité SunOS/Solaris, envisagez de "
+"conserver cette\n"
+"partition en tant que disque entier (5), commençant à 0, avec %u secteurs.\n"
 
 #: fdisk/fdisksunlabel.c:580
 msgid ""
@@ -3609,6 +3881,12 @@ msgid ""
 "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 le système de fichiers UFS, EXT2FS ou le swap SunOS. Le fait d'y placer "
+"le swap Linux\n"
+"risque de détruire la table de partition et le bloc d'amorçage.\n"
+"Tapez OUI si vous êtes certain de vouloir baliser cette partition\n"
+"avec la valeur 82 (swap Linux) : "
 
 #: fdisk/fdisksunlabel.c:611
 #, c-format
@@ -3621,6 +3899,13 @@ msgid ""
 "Units = %s of %d * 512 bytes\n"
 "\n"
 msgstr ""
+"\n"
+"Disque %s (libellé de disque Sun) : %d têtes, %d secteurs, %d tpm\n"
+"%d cylindres, %d cylindres de remplacement, %d cylindres physiques\n"
+"%d secteurs suppl/cyl, entrelacement %d :1\n"
+"%s\n"
+"Unités = %s de %d * 512 octets\n"
+"\n"
 
 #: fdisk/fdisksunlabel.c:625
 #, c-format
@@ -3630,406 +3915,405 @@ msgid ""
 "Units = %s of %d * 512 bytes\n"
 "\n"
 msgstr ""
+"\n"
+"Disque %s (libellé de disque Sun) : %d têtes, %d secteurs, %d cylindres\n"
+"Unités = %s sur %d * 512 octects\n"
+"\n"
 
 #: fdisk/fdisksunlabel.c:630
 #, c-format
 msgid "%*s Flag    Start       End    Blocks   Id  System\n"
-msgstr ""
+msgstr "%*s Indicateur    Début       Fin    Blocs   Id  Système\n"
 
 #: fdisk/fdisksunlabel.c:655
-#, fuzzy
 msgid "Number of alternate cylinders"
-msgstr "Entrez le nombre de cylindres: "
+msgstr "Nombre de cylindres de remplacement"
 
 #: fdisk/fdisksunlabel.c:688
-#, fuzzy
 msgid "Number of physical cylinders"
-msgstr "Entrez le nombre de cylindres: "
+msgstr "Nombre de cylindres physiques"
 
 #: fdisk/i386_sys_types.c:7
 msgid "FAT12"
-msgstr ""
+msgstr "FAT12"
 
 #: fdisk/i386_sys_types.c:8
 msgid "XENIX root"
-msgstr ""
+msgstr "root XENIX"
 
 #: fdisk/i386_sys_types.c:9
 msgid "XENIX usr"
-msgstr ""
+msgstr "util XENIX"
 
 #: fdisk/i386_sys_types.c:10
 msgid "FAT16 <32M"
-msgstr ""
+msgstr "FAT16 <32M"
 
 #: fdisk/i386_sys_types.c:11
 msgid "Extended"
-msgstr ""
+msgstr "Etendue"
 
 #. DOS 3.3+ extended partition
 #: fdisk/i386_sys_types.c:12
 msgid "FAT16"
-msgstr ""
+msgstr "FAT16"
 
 #. DOS 16-bit >=32M
 #: fdisk/i386_sys_types.c:13
-#, fuzzy
 msgid "HPFS/NTFS"
-msgstr "NTFS"
+msgstr "HPFS/NTFS"
 
 #. OS/2 IFS, eg, HPFS or NTFS or QNX
 #: fdisk/i386_sys_types.c:14
 msgid "AIX"
-msgstr ""
+msgstr "AIX"
 
 #. AIX boot (AIX -- PS/2 port) or SplitDrive
 #: fdisk/i386_sys_types.c:15
-#, fuzzy
 msgid "AIX bootable"
-msgstr "Bootable"
+msgstr "AIX amorçable"
 
 #. AIX data or Coherent
 #: fdisk/i386_sys_types.c:16
 msgid "OS/2 Boot Manager"
-msgstr ""
+msgstr "Gestionnaire d'amorçage OS/2"
 
 #. OS/2 Boot Manager
 #: fdisk/i386_sys_types.c:17
 msgid "Win95 FAT32"
-msgstr ""
+msgstr "Win95 FAT32"
 
 #: fdisk/i386_sys_types.c:18
 msgid "Win95 FAT32 (LBA)"
-msgstr ""
+msgstr "Win95 FAT32 (LBA)"
 
 #. LBA really is `Extended Int 13h'
 #: fdisk/i386_sys_types.c:19
 msgid "Win95 FAT16 (LBA)"
-msgstr ""
+msgstr "Win95 FAT16 (LBA)"
 
 #: fdisk/i386_sys_types.c:20
 msgid "Win95 Ext'd (LBA)"
-msgstr ""
+msgstr "Win95 Etdue (LBA)"
 
 #: fdisk/i386_sys_types.c:21
 msgid "OPUS"
-msgstr ""
+msgstr "OPUS"
 
 #: fdisk/i386_sys_types.c:22
 msgid "Hidden FAT12"
-msgstr ""
+msgstr "FAT12 caché"
 
 #: fdisk/i386_sys_types.c:23
 msgid "Compaq diagnostics"
-msgstr ""
+msgstr "Diagnostics Compaq"
 
 #: fdisk/i386_sys_types.c:24
 msgid "Hidden FAT16 <32M"
-msgstr ""
+msgstr "FAT16 caché <32M"
 
 #: fdisk/i386_sys_types.c:25
 msgid "Hidden FAT16"
-msgstr ""
+msgstr "FAT16 caché"
 
 #: fdisk/i386_sys_types.c:26
 msgid "Hidden HPFS/NTFS"
-msgstr ""
+msgstr "HPFS/NTFS caché"
 
 #: fdisk/i386_sys_types.c:27
 msgid "AST Windows swapfile"
-msgstr ""
+msgstr "Fichier d'échange AST Windows"
 
 #: fdisk/i386_sys_types.c:28
 msgid "Hidden Win95 FAT32"
-msgstr ""
+msgstr "Win95 FAT32 caché"
 
 #: fdisk/i386_sys_types.c:29
 msgid "Hidden Win95 FAT32 (LBA)"
-msgstr ""
+msgstr "Win95 FAT32 caché (LBA)"
 
 #: fdisk/i386_sys_types.c:30
 msgid "Hidden Win95 FAT16 (LBA)"
-msgstr ""
+msgstr "Win95 FAT16 caché (LBA)"
 
 #: fdisk/i386_sys_types.c:31
 msgid "NEC DOS"
-msgstr ""
+msgstr "NEC DOS"
 
 #: fdisk/i386_sys_types.c:32
-#, fuzzy
 msgid "PartitionMagic recovery"
-msgstr "La partition commence avant le secteur 0"
+msgstr "Reprise PartitionMagic"
 
 #: fdisk/i386_sys_types.c:33
 msgid "Venix 80286"
-msgstr ""
+msgstr "Venix 80286"
 
 #: fdisk/i386_sys_types.c:34
 msgid "PPC PReP Boot"
-msgstr ""
+msgstr "Amorce PPC PReP"
 
 #: fdisk/i386_sys_types.c:35
 msgid "SFS"
-msgstr ""
+msgstr "SFS"
 
 #: fdisk/i386_sys_types.c:36
 msgid "QNX4.x"
-msgstr ""
+msgstr "QNX4.x"
 
 #: fdisk/i386_sys_types.c:37
 msgid "QNX4.x 2nd part"
-msgstr ""
+msgstr "QNX4.x 2ème partie"
 
 #: fdisk/i386_sys_types.c:38
 msgid "QNX4.x 3rd part"
-msgstr ""
+msgstr "QNX4.x 3ème partie"
 
 #: fdisk/i386_sys_types.c:39
 msgid "OnTrack DM"
-msgstr ""
+msgstr "OnTrack DM"
 
 #: fdisk/i386_sys_types.c:40
 msgid "OnTrack DM6 Aux1"
-msgstr ""
+msgstr "OnTrack DM6 Aux1"
 
 #. (or Novell)
 #: fdisk/i386_sys_types.c:41
 msgid "CP/M"
-msgstr ""
+msgstr "CP/M"
 
 #. CP/M or Microport SysV/AT
 #: fdisk/i386_sys_types.c:42
 msgid "OnTrack DM6 Aux3"
-msgstr ""
+msgstr "OnTrack DM6 Aux3"
 
 #: fdisk/i386_sys_types.c:43
 msgid "OnTrackDM6"
-msgstr ""
+msgstr "OnTrackDM6"
 
 #: fdisk/i386_sys_types.c:44
 msgid "EZ-Drive"
-msgstr ""
+msgstr "EZ-Drive"
 
 #: fdisk/i386_sys_types.c:45
 msgid "Golden Bow"
-msgstr ""
+msgstr "Golden Bow"
 
 #: fdisk/i386_sys_types.c:46
 msgid "Priam Edisk"
-msgstr ""
+msgstr "Priam Edisk"
 
 #. DOS R/O or SpeedStor
 #: fdisk/i386_sys_types.c:47 fdisk/i386_sys_types.c:76
 #: fdisk/i386_sys_types.c:78 fdisk/i386_sys_types.c:79
-#, fuzzy
 msgid "SpeedStor"
-msgstr "Secteurs"
+msgstr "SpeedStor"
 
 #: fdisk/i386_sys_types.c:48
 msgid "GNU HURD or SysV"
-msgstr ""
+msgstr "GNU HURD ou SysV"
 
 #. GNU HURD or Mach or Sys V/386 (such as ISC UNIX)
 #: fdisk/i386_sys_types.c:49
 msgid "Novell Netware 286"
-msgstr ""
+msgstr "Novell Netware 286"
 
 #: fdisk/i386_sys_types.c:50
 msgid "Novell Netware 386"
-msgstr ""
+msgstr "Novell Netware 386"
 
 #: fdisk/i386_sys_types.c:51
 msgid "DiskSecure Multi-Boot"
-msgstr ""
+msgstr "DiskSecure Multi-Boot"
 
 #: fdisk/i386_sys_types.c:52
 msgid "PC/IX"
-msgstr ""
+msgstr "PC/IX"
 
 #: fdisk/i386_sys_types.c:53
 msgid "Old Minix"
-msgstr ""
+msgstr "Old Minix"
 
 #. Minix 1.4a and earlier
 #: fdisk/i386_sys_types.c:54
 msgid "Minix / old Linux"
-msgstr ""
+msgstr "Minix / ancien Linux"
 
 #: fdisk/i386_sys_types.c:57
 msgid "OS/2 hidden C: drive"
-msgstr ""
+msgstr "Lecteur C: caché OS/2"
 
 #: fdisk/i386_sys_types.c:58
-#, fuzzy
 msgid "Linux extended"
-msgstr "Linux ext2"
+msgstr "Linux étendu"
 
 #: fdisk/i386_sys_types.c:59 fdisk/i386_sys_types.c:60
 msgid "NTFS volume set"
-msgstr ""
+msgstr "Ensemble de volumes NTFS"
 
 #: fdisk/i386_sys_types.c:61
 msgid "Amoeba"
-msgstr ""
+msgstr "Amoeba"
 
 #: fdisk/i386_sys_types.c:62
 msgid "Amoeba BBT"
-msgstr ""
+msgstr "Amoeba BBT"
 
 #. (bad block table)
 #: fdisk/i386_sys_types.c:63
 msgid "IBM Thinkpad hibernation"
-msgstr ""
+msgstr "Hibernation Thinkpad IBM"
 
 #: fdisk/i386_sys_types.c:64
 msgid "BSD/386"
-msgstr ""
+msgstr "BSD/386"
 
 #: fdisk/i386_sys_types.c:65
 msgid "OpenBSD"
-msgstr ""
+msgstr "OpenBSD"
 
 #: fdisk/i386_sys_types.c:66
 msgid "NeXTSTEP"
-msgstr ""
+msgstr "NeXTSTEP"
 
 #: fdisk/i386_sys_types.c:67
 msgid "BSDI fs"
-msgstr ""
+msgstr "BSDI fs"
 
 #: fdisk/i386_sys_types.c:68
 msgid "BSDI swap"
-msgstr ""
+msgstr "Swap BSDI"
 
 #: fdisk/i386_sys_types.c:69
 msgid "DRDOS/sec (FAT-12)"
-msgstr ""
+msgstr "DRDOS/sec (FAT-12)"
 
 #: fdisk/i386_sys_types.c:70
 msgid "DRDOS/sec (FAT-16 < 32M)"
-msgstr ""
+msgstr "DRDOS/sec (FAT-16 < 32M)"
 
 #: fdisk/i386_sys_types.c:71
 msgid "DRDOS/sec (FAT-16)"
-msgstr ""
+msgstr "DRDOS/sec (FAT-16)"
 
 #: fdisk/i386_sys_types.c:72
 msgid "Syrinx"
-msgstr ""
+msgstr "Syrinx"
 
 #: fdisk/i386_sys_types.c:73
 msgid "CP/M / CTOS / ..."
-msgstr ""
+msgstr "CP/M / CTOS / ..."
 
 #. CP/M or Concurrent CP/M or Concurrent DOS or CTOS
 #: fdisk/i386_sys_types.c:74
 msgid "DOS access"
-msgstr ""
+msgstr "Accès DOS"
 
 #. DOS access or SpeedStor 12-bit FAT extended partition
 #: fdisk/i386_sys_types.c:75
 msgid "DOS R/O"
-msgstr ""
+msgstr "R/O DOS"
 
 #. SpeedStor 16-bit FAT extended partition < 1024 cyl.
 #: fdisk/i386_sys_types.c:77
 msgid "BeOS fs"
-msgstr ""
+msgstr "BeOS fs"
 
 #. SpeedStor large partition
 #: fdisk/i386_sys_types.c:80
 msgid "DOS secondary"
-msgstr ""
+msgstr "DOS secondaire"
 
 #. DOS 3.3+ secondary
 #: fdisk/i386_sys_types.c:81
 msgid "Linux raid autodetect"
-msgstr ""
+msgstr "Détection auto RAID Linux"
 
 #. New (2.2.x) raid partition with autodetect
 #. using persistent superblock
 #: fdisk/i386_sys_types.c:83
 msgid "LANstep"
-msgstr ""
+msgstr "LANstep"
 
 #. SpeedStor >1024 cyl. or LANstep
 #: fdisk/i386_sys_types.c:84
 msgid "BBT"
-msgstr ""
+msgstr "BBT"
 
 #: fdisk/sfdisk.c:147
 #, c-format
 msgid "seek error on %s - cannot seek to %lu\n"
-msgstr ""
+msgstr "Erreur de recherche sur %s - impossible de rechercher vers %lu\n"
 
 #: fdisk/sfdisk.c:152
 #, c-format
 msgid "seek error: wanted 0x%08x%08x, got 0x%08x%08x\n"
-msgstr ""
+msgstr "Erreur de recherche : 0x%08x%08x voulu, 0x%08x%08x obtenu\n"
 
 #: fdisk/sfdisk.c:198
-#, fuzzy
 msgid "out of memory - giving up\n"
-msgstr "Pas assez de mémoire pour agrandir le buffer.\n"
+msgstr "A court de mémoire - abandon.\n"
 
 #: fdisk/sfdisk.c:202 fdisk/sfdisk.c:285
 #, c-format
 msgid "read error on %s - cannot read sector %lu\n"
-msgstr ""
+msgstr "Erreur de lecture sur %s - impossible de lire le secteur %lu.\n"
 
 #: fdisk/sfdisk.c:218
 #, c-format
 msgid "ERROR: sector %lu does not have an msdos signature\n"
-msgstr ""
+msgstr "ERREUR : le secteur %lu n'a aucune signature msdos.\n"
 
 #: fdisk/sfdisk.c:235
 #, c-format
 msgid "write error on %s - cannot write sector %lu\n"
-msgstr ""
+msgstr "Erreur d'écriture sur %s - impossible d'écrire le secteur %lu.\n"
 
 #: fdisk/sfdisk.c:273
 #, c-format
 msgid "cannot open partition sector save file (%s)\n"
 msgstr ""
+"Impossible d'ouvrir le fichier d'enregistrement des secteurs de partition "
+"(%s).\n"
 
 #: fdisk/sfdisk.c:291
-#, fuzzy, c-format
+#, c-format
 msgid "write error on %s\n"
-msgstr "col: erreur d'écriture.\n"
+msgstr "Erreur d'écriture sur %.\n"
 
 #: fdisk/sfdisk.c:309
 #, c-format
 msgid "cannot stat partition restore file (%s)\n"
-msgstr ""
+msgstr "stat du fichier de restauration de partition (%s) impossible.\n"
 
 #: fdisk/sfdisk.c:314
 msgid "partition restore file has wrong size - not restoring\n"
 msgstr ""
+"La taille du fichier de restauration de partition est incorrecte - "
+"restauration impossible.\n"
 
 #: fdisk/sfdisk.c:318
-#, fuzzy
 msgid "out of memory?\n"
-msgstr "%s: A court de mémoire!\n"
+msgstr "A court de mémoire ?\n"
 
 #: fdisk/sfdisk.c:324
 #, c-format
 msgid "cannot open partition restore file (%s)\n"
-msgstr ""
+msgstr "Impossible d'ouvrir le fichier de restauration de partition (%s).\n"
 
 #: fdisk/sfdisk.c:330
-#, fuzzy, c-format
+#, c-format
 msgid "error reading %s\n"
-msgstr "Impossible de lire %s\n"
+msgstr "Erreur de lecture de %s\n"
 
 #: fdisk/sfdisk.c:337
-#, fuzzy, c-format
+#, c-format
 msgid "cannot open device %s for writing\n"
-msgstr "Impossible d'ouvrir /dev/port"
+msgstr "Impossible d'ouvrir le périphérique %s pour écriture\n"
 
 #: fdisk/sfdisk.c:349
 #, c-format
 msgid "error writing sector %lu on %s\n"
-msgstr ""
+msgstr "Erreur d'écriture du secteur %lu sur %s\n"
 
 #: fdisk/sfdisk.c:415
 #, c-format
@@ -4038,26 +4322,29 @@ msgid ""
 "the entire disk. Using fdisk on it is probably meaningless.\n"
 "[Use the --force option if you really want this]\n"
 msgstr ""
+"Avertissement : début=%d - ceci semble être une partition plutôt que\n"
+"le disque entier. L'utilisation de fdisk est probablement inutile.\n"
+"[Utilisez l'option --force si vous souhaitez quand même opérer.]\n"
 
 #: fdisk/sfdisk.c:421
 #, c-format
 msgid "Warning: HDIO_GETGEO says that there are %d heads\n"
-msgstr ""
+msgstr "Avertissement : HDIO_GETGEO indique qu'il y a %d têtes.\n"
 
 #: fdisk/sfdisk.c:424
 #, c-format
 msgid "Warning: HDIO_GETGEO says that there are %d sectors\n"
-msgstr ""
+msgstr "Avertissement : HDIO_GETGEO indique qu'il y a %d secteurs.\n"
 
 #: fdisk/sfdisk.c:427
 #, c-format
 msgid "Warning: HDIO_GETGEO says that there are %d cylinders\n"
-msgstr ""
+msgstr "Avertissement : HDIO_GETGEO indique qu'il y a %d cylindres.\n"
 
 #: fdisk/sfdisk.c:431
-#, fuzzy, c-format
+#, c-format
 msgid "Disk %s: cannot get geometry\n"
-msgstr "Changement de géométrie terminé"
+msgstr "Disque %s : impossible d'obtenir la géométrie.\n"
 
 #: fdisk/sfdisk.c:433
 #, c-format
@@ -4065,6 +4352,10 @@ msgid ""
 "Warning: unlikely number of sectors (%d) - usually at most 63\n"
 "This will give problems with all software that uses C/H/S addressing.\n"
 msgstr ""
+"Avertissement : nombre de secteurs (%d) peu probable - 63 maximum "
+"généralement.\n"
+"Ceci entraînera des problèmes avec tous les logiciels utilisant l'adressage "
+"C/T/S.\n"
 
 #: fdisk/sfdisk.c:437
 #, c-format
@@ -4072,18 +4363,24 @@ 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:517
 #, c-format
 msgid ""
 "%s of partition %s has impossible value for head: %d (should be in 0-%d)\n"
 msgstr ""
+"%s de la partition %s a une valeur impossible pour la tête : %d (doit être "
+"compris dans 0-%d).\n"
 
 #: fdisk/sfdisk.c:522
 #, c-format
 msgid ""
 "%s of partition %s has impossible value for sector: %d (should be in 1-%d)\n"
 msgstr ""
+"%s de la partition %s a une valeur impossible pour le secteur : %d (doit "
+"être compris dans 1-%d).\n"
 
 #: fdisk/sfdisk.c:527
 #, c-format
@@ -4091,47 +4388,52 @@ msgid ""
 "%s of partition %s has impossible value for cylinders: %d (should be in "
 "0-%d)\n"
 msgstr ""
+"%s de la partition %s a une valeur impossible pour le cylindre : %d (doit "
+"être compris dans 0-%d).\n"
 
 #: fdisk/sfdisk.c:566
 msgid ""
 "Id  Name\n"
 "\n"
 msgstr ""
+"Nom Id\n"
+"\n"
 
 #: fdisk/sfdisk.c:719
-#, fuzzy
 msgid "Re-reading the partition table ...\n"
-msgstr "Seulement imprimer la table de partitions"
+msgstr "Relecture de la table de partition en cours...\n"
 
 #: fdisk/sfdisk.c:725
 msgid ""
 "The command to re-read the partition table failed\n"
 "Reboot your system now, before using mkfs\n"
 msgstr ""
+"Echec de la commande de relecture de la table de partition.\n"
+"Redémarrez le système maintenant avant d'utiliser mkfs.\n"
 
 #: fdisk/sfdisk.c:730
 #, c-format
 msgid "Error closing %s\n"
-msgstr ""
+msgstr "Erreur de fermeture de %s\n"
 
 #: fdisk/sfdisk.c:768
-#, fuzzy, c-format
+#, c-format
 msgid "%s: no such partition\n"
-msgstr "Mauvaise partition logique"
+msgstr "%s : cette partition n'existe pas.\n"
 
 #: fdisk/sfdisk.c:791
 msgid "unrecognized format - using sectors\n"
-msgstr ""
+msgstr "Format non reconnu - utilisation des secteurs.\n"
 
 #: fdisk/sfdisk.c:830
-#, fuzzy, c-format
+#, c-format
 msgid "# partition table of %s\n"
-msgstr "Table de partitions pour %s\n"
+msgstr "N° table de partition de %s\n"
 
 #: fdisk/sfdisk.c:841
 #, c-format
 msgid "unimplemented format - using %s\n"
-msgstr ""
+msgstr "Format non mis en oeuvre - utilisation de %s.\n"
 
 #: fdisk/sfdisk.c:845
 #, c-format
@@ -4139,10 +4441,13 @@ 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, à partir de %d\n"
+"\n"
 
 #: fdisk/sfdisk.c:848
 msgid "   Device Boot Start     End   #cyls   #blocks   Id  System\n"
 msgstr ""
+"   Périphérique Amorce Début     Fin   Nb cyls   Nb blocs   Id  Système\n"
 
 #: fdisk/sfdisk.c:853
 #, c-format
@@ -4150,10 +4455,12 @@ msgid ""
 "Units = sectors of 512 bytes, counting from %d\n"
 "\n"
 msgstr ""
+"Unités = secteurs de 512 octets, à partir de %d\n"
+"\n"
 
 #: fdisk/sfdisk.c:855
 msgid "   Device Boot    Start       End  #sectors  Id  System\n"
-msgstr ""
+msgstr "   Périphérique Amorce    Début       Fin  Nb secteurs  Id  Système\n"
 
 #: fdisk/sfdisk.c:858
 #, c-format
@@ -4161,10 +4468,12 @@ msgid ""
 "Units = blocks of 1024 bytes, counting from %d\n"
 "\n"
 msgstr ""
+"Unités = blocs de 1024 octets, à partir de %d\n"
+"\n"
 
 #: fdisk/sfdisk.c:860
 msgid "   Device Boot   Start       End   #blocks   Id  System\n"
-msgstr ""
+msgstr "   Périphérique Amorce   Début       Fin   Nb blocs   Id  Système\n"
 
 #: fdisk/sfdisk.c:863
 #, c-format
@@ -4172,30 +4481,33 @@ msgid ""
 "Units = megabytes of 1048576 bytes, blocks of 1024 bytes, counting from %d\n"
 "\n"
 msgstr ""
+"Unités = méga-octets de 1048576 octets, blocs de 1024 octets, à partir de "
+"%d\n"
+"\n"
 
 #: fdisk/sfdisk.c:865
 msgid "   Device Boot Start   End     MB   #blocks   Id  System\n"
-msgstr ""
+msgstr "   Périphérique Amorce Début   Fin     Mo   Nb blocs   Id  Système\n"
 
 #: fdisk/sfdisk.c:997
 #, c-format
 msgid "\t\tstart: (c,h,s) expected (%ld,%ld,%ld) found (%ld,%ld,%ld)\n"
-msgstr ""
+msgstr "\t\tdébut : (c,t,s) (%ld,%ld,%ld) attendus (%ld,%ld,%ld) trouvés\n"
 
 #: fdisk/sfdisk.c:1004
 #, c-format
 msgid "\t\tend: (c,h,s) expected (%ld,%ld,%ld) found (%ld,%ld,%ld)\n"
-msgstr ""
+msgstr "\t\tfin : (c,t,s) (%ld,%ld,%ld) attendus (%ld,%ld,%ld) trouvés\n"
 
 #: fdisk/sfdisk.c:1007
 #, c-format
 msgid "partition ends on cylinder %ld, beyond the end of the disk\n"
 msgstr ""
+"La partition se termine au cylindre %ld, au delà de la fin du disque.\n"
 
 #: fdisk/sfdisk.c:1018
-#, fuzzy
 msgid "No partitions found\n"
-msgstr "Plus de partitions"
+msgstr "Aucune partition trouvée\n"
 
 #: fdisk/sfdisk.c:1025
 #, c-format
@@ -4204,258 +4516,274 @@ msgid ""
 "  for C/H/S=*/%ld/%ld (instead of %ld/%ld/%ld).\n"
 "For this listing I'll assume that geometry.\n"
 msgstr ""
+"Avertissement : La première partition semble avoir été créée\n"
+" pour C/T/S=*/%ld/%ld (au lieu de %ld/%ld/%ld).\n"
+"Cette liste est basée sur cette géométrie.\n"
 
 #: fdisk/sfdisk.c:1075
-#, fuzzy
 msgid "no partition table present.\n"
-msgstr "Table de partition écrite sur disque"
+msgstr "Il n'existe aucune table de partition.\n"
 
 #: fdisk/sfdisk.c:1077
 #, c-format
 msgid "strange, only %d partitions defined.\n"
-msgstr ""
+msgstr "Etrange, seules %d partitions sont définies.\n"
 
 #: fdisk/sfdisk.c:1086
 #, c-format
 msgid "Warning: partition %s has size 0 but is not marked Empty\n"
 msgstr ""
+"Avertissement : la partition %s a une taille égale à 0 mais n'est pas "
+"marquée vide.\n"
 
 #: fdisk/sfdisk.c:1089
 #, c-format
 msgid "Warning: partition %s has size 0 and is bootable\n"
 msgstr ""
+"Avertissement : la partition %s a une taille égale à 0 et est amorçable.\n"
 
 #: fdisk/sfdisk.c:1092
 #, c-format
 msgid "Warning: partition %s has size 0 and nonzero start\n"
 msgstr ""
+"Avertissement : la partition %s a une taille égale à 0 et un début autre que "
+"zéro.\n"
 
 #: fdisk/sfdisk.c:1103
-#, fuzzy, c-format
+#, c-format
 msgid "Warning: partition %s "
-msgstr "Trops de partitions"
+msgstr "Avertissement : la partition %s "
 
 #: fdisk/sfdisk.c:1104
-#, fuzzy, c-format
+#, c-format
 msgid "is not contained in partition %s\n"
-msgstr "Impossible de maximiser cette partition"
+msgstr "n'est pas contenue dans la partition %s.\n"
 
 #: fdisk/sfdisk.c:1115
-#, fuzzy, c-format
+#, c-format
 msgid "Warning: partitions %s "
-msgstr "Trops de partitions"
+msgstr "Avertissement : les partitions %s "
 
 #: fdisk/sfdisk.c:1116
 #, c-format
 msgid "and %s overlap\n"
-msgstr ""
+msgstr "et %s se chevauchent.\n"
 
 #: fdisk/sfdisk.c:1127
-#, fuzzy, c-format
+#, c-format
 msgid "Warning: partition %s contains part of "
-msgstr "Ecriture de la table de partition sur disque..."
+msgstr "Avertissement : la partition %s contient une partie de"
 
 #: fdisk/sfdisk.c:1128
-#, fuzzy, c-format
+#, c-format
 msgid "the partition table (sector %lu),\n"
-msgstr "Table de partition écrite sur disque"
+msgstr "la table de partition (secteur %lu),\n"
 
 #: fdisk/sfdisk.c:1129
 msgid "and will destroy it when filled\n"
-msgstr ""
+msgstr "et sera détruite une fois remplie.\n"
 
 #: fdisk/sfdisk.c:1138
 #, c-format
 msgid "Warning: partition %s starts at sector 0\n"
-msgstr ""
+msgstr "Avertissement : la partition %s commence au secteur 0.\n"
 
 #: fdisk/sfdisk.c:1142
-#, fuzzy, c-format
+#, c-format
 msgid "Warning: partition %s extends past end of disk\n"
-msgstr "La partition se termine après la fin du disque"
+msgstr "Avertissement : la partition %s va au delà de la fin du disque.\n"
 
 #: fdisk/sfdisk.c:1156
 msgid "Among the primary partitions, at most one can be extended\n"
-msgstr ""
+msgstr "Parmi les partitions primaires, une seule peut être étendue\n"
 
 #: fdisk/sfdisk.c:1157
 msgid " (although this is not a problem under Linux)\n"
-msgstr ""
+msgstr " (bien que cela ne soit pas problématique sous Linux.)\n"
 
 #: fdisk/sfdisk.c:1174
 #, c-format
 msgid "Warning: partition %s does not start at a cylinder boundary\n"
 msgstr ""
+"Avertissement : la partition %s ne commence pas à une limite de cylindre.\n"
 
 #: fdisk/sfdisk.c:1180
 #, c-format
 msgid "Warning: partition %s does not end at a cylinder boundary\n"
 msgstr ""
+"Avertissement : la partition %s ne se termine pas à une limite de cylindre.\n"
 
 #: fdisk/sfdisk.c:1198
 msgid ""
 "Warning: more than one primary partition is marked bootable (active)\n"
 "This does not matter for LILO, but the DOS MBR will not boot this disk.\n"
 msgstr ""
+"Avertissement : plus d'une partition primaire est marquée amorçable "
+"(active).\n"
+"Cela est sans importance pour LILO, mais le MBR DOS n'amorcera pas ce "
+"disque.\n"
 
 #: fdisk/sfdisk.c:1205
 msgid ""
 "Warning: usually one can boot from primary partitions only\n"
 "LILO disregards the `bootable' flag.\n"
 msgstr ""
+"Avertissement : vous pouvez généralement amorcer depuis des partitions "
+"primaires. Seul\n"
+"LILO ignore l'indicateur `bootable'.\n"
 
 #: fdisk/sfdisk.c:1211
 msgid ""
 "Warning: no primary partition is marked bootable (active)\n"
 "This does not matter for LILO, but the DOS MBR will not boot this disk.\n"
 msgstr ""
+"Avertissement : aucune partition primaire n'est marquée amorçable (active).\n"
+"Cela est sans importance pour LILO, mais le MBR DOS n'amorcera pas ce "
+"disque.\n"
 
 #: fdisk/sfdisk.c:1228
 #, c-format
 msgid ""
 "partition %s: start: (c,h,s) expected (%ld,%ld,%ld) found (%ld,%ld,%ld)\n"
 msgstr ""
+"Partition %s : début : (c,t,s) (%ld,%ld,%ld) attendus (%ld,%ld,%ld) trouvés\n"
 
 #: fdisk/sfdisk.c:1237
 #, c-format
 msgid "partition %s: end: (c,h,s) expected (%ld,%ld,%ld) found (%ld,%ld,%ld)\n"
 msgstr ""
+"Partition %s : fin : (c,t,s) (%ld,%ld,%ld) attendus (%ld,%ld,%ld) trouvés\n"
 
 #: fdisk/sfdisk.c:1240
 #, c-format
 msgid "partition %s ends on cylinder %ld, beyond the end of the disk\n"
 msgstr ""
+"La partition %s se termine au cylindre %ld, au delà de la fin du disque.\n"
 
 #: fdisk/sfdisk.c:1273 fdisk/sfdisk.c:1350
 #, c-format
 msgid "too many partitions - ignoring those past nr (%d)\n"
-msgstr ""
+msgstr "Trop de partitions - celles après le n° (%d) sont ignorées.\n"
 
 #: fdisk/sfdisk.c:1288
-#, fuzzy
 msgid "tree of partitions?\n"
-msgstr "Plus de partitions"
+msgstr "Arborescence des partitions ?\n"
 
 #: fdisk/sfdisk.c:1392
 msgid "detected Disk Manager - unable to handle that\n"
-msgstr ""
+msgstr "Gestionnaire de disques détecté - gestion impossible\n"
 
 #: fdisk/sfdisk.c:1399
 msgid "DM6 signature found - giving up\n"
-msgstr ""
+msgstr "Signature DM6 trouvée - abandon\n"
 
 #: fdisk/sfdisk.c:1419
 msgid "strange..., an extended partition of size 0?\n"
-msgstr ""
+msgstr "Etrange..., une partition étendue de taille 0 ?\n"
 
 #: fdisk/sfdisk.c:1426
 msgid "strange..., a BSD partition of size 0?\n"
-msgstr ""
+msgstr "Etrange..., une partition BSD de taille 0 ?\n"
 
 #: fdisk/sfdisk.c:1458
 #, c-format
 msgid " %s: unrecognized partition\n"
-msgstr ""
+msgstr " %s : partition non reconnue\n"
 
 #: fdisk/sfdisk.c:1470
 msgid "-n flag was given: Nothing changed\n"
-msgstr ""
+msgstr "Indicateur -n attribué : aucune modification\n"
 
 #: fdisk/sfdisk.c:1483
 msgid "Failed saving the old sectors - aborting\n"
-msgstr ""
+msgstr "Echec de l'enregistrement des anciens secteurs - annulation\n"
 
 #: fdisk/sfdisk.c:1488
-#, fuzzy, c-format
+#, c-format
 msgid "Failed writing the partition on %s\n"
-msgstr "Table de partition non écrite sur le disque"
+msgstr "Echec de l'écriture de la partition sur %s\n"
 
 #: fdisk/sfdisk.c:1565
 msgid "long or incomplete input line - quitting\n"
-msgstr ""
+msgstr "Ligne d'entrée longue ou incomplète - fermeture\n"
 
 #: fdisk/sfdisk.c:1601
 #, c-format
 msgid "input error: `=' expected after %s field\n"
-msgstr ""
+msgstr "Erreur d'entrée : `=' attendu après le champ %s\n"
 
 #: fdisk/sfdisk.c:1608
 #, c-format
 msgid "input error: unexpected character %c after %s field\n"
-msgstr ""
+msgstr "Erreur d'entrée : caractère %c inattendu après le champ %s\n"
 
 #: fdisk/sfdisk.c:1614
 #, c-format
 msgid "unrecognized input: %s\n"
-msgstr ""
+msgstr "Entrée non reconnue : %s\n"
 
 #: fdisk/sfdisk.c:1646
 msgid "number too big\n"
-msgstr ""
+msgstr "Nombre trop élevé\n"
 
 #: fdisk/sfdisk.c:1650
 msgid "trailing junk after number\n"
-msgstr ""
+msgstr "Caractères de fin indésirables après le nombre\n"
 
 #: fdisk/sfdisk.c:1766
-#, fuzzy
 msgid "no room for partition descriptor\n"
-msgstr "Plus de partitions"
+msgstr "Pas de place pour le descriptif de partition\n"
 
 #: fdisk/sfdisk.c:1799
 msgid "cannot build surrounding extended partition\n"
-msgstr ""
+msgstr "Impossible de construire autour de la partition étendue\n"
 
 #: fdisk/sfdisk.c:1850
 msgid "too many input fields\n"
-msgstr ""
+msgstr "Champs d'entrée trop nombreux\n"
 
 #. no free blocks left - don't read any further
 #: fdisk/sfdisk.c:1884
 msgid "No room for more\n"
-msgstr ""
+msgstr "Plus de place\n"
 
 #: fdisk/sfdisk.c:1903
-#, fuzzy
 msgid "Illegal type\n"
-msgstr "Touche non valide"
+msgstr "Type non valide\n"
 
 #: fdisk/sfdisk.c:1935
 #, c-format
 msgid "Warning: exceeds max allowable size (%lu)\n"
-msgstr ""
+msgstr "Avertissement : dépasse la taille maximale allouable (%lu)\n"
 
 #: fdisk/sfdisk.c:1940
-#, fuzzy
 msgid "Warning: empty partition\n"
-msgstr "Impossible d'effacer une partition vide"
+msgstr "Avertissement : partition vide\n"
 
 #: fdisk/sfdisk.c:1954
 #, c-format
 msgid "Warning: bad partition start (earliest %lu)\n"
-msgstr ""
+msgstr "Avertissement : début de partition incorrect (%lu au plus tôt)\n"
 
 #: fdisk/sfdisk.c:1967
 msgid "unrecognized bootable flag - choose - or *\n"
-msgstr ""
+msgstr "Indicateur Bootable non reconnu - choisissez  la commande - or *\n"
 
 #: fdisk/sfdisk.c:1984 fdisk/sfdisk.c:1997
 msgid "partial c,h,s specification?\n"
-msgstr ""
+msgstr "Spécification c,t,s partielle ?\n"
 
 #: fdisk/sfdisk.c:2008
-#, fuzzy
 msgid "Extended partition not where expected\n"
-msgstr "Créér une nouvelle partition"
+msgstr "Partition étendue non attendue ici\n"
 
 #: fdisk/sfdisk.c:2040
 msgid "bad input\n"
-msgstr ""
+msgstr "Entrée incorrecte\n"
 
 #: fdisk/sfdisk.c:2062
-#, fuzzy
 msgid "too many partitions\n"
-msgstr "Trops de partitions"
+msgstr "Trop de partitions\n"
 
 #: fdisk/sfdisk.c:2095
 msgid ""
@@ -4463,234 +4791,250 @@ msgid ""
 "<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 ""
+"Entrez des valeurs selon le format suivant ; les champs absents prennent une "
+"valeur par défaut.\n"
+"<début> <taille> <type [E,S,L,X,hex]> <bootable [-,*]> <c,t,s> <c,t,s>\n"
+"Vous devez en général définir uniquement <début> et <taille> (voire "
+"<type>).\n"
 
 #: fdisk/sfdisk.c:2115
-#, fuzzy
 msgid "version"
-msgstr "mkfs version "
+msgstr "Version "
 
 #: fdisk/sfdisk.c:2121
-#, fuzzy, c-format
+#, c-format
 msgid "Usage: %s [options] device ...\n"
-msgstr "usage: %s [ -n ] périphérique\n"
+msgstr "Usage : %s [options] périphérique ...\n"
 
 #: fdisk/sfdisk.c:2122
 msgid "device: something like /dev/hda or /dev/sda"
-msgstr ""
+msgstr "Périphérique : quelque chose comme /dev/hda ou /dev/sda"
 
 #: fdisk/sfdisk.c:2123
 msgid "useful options:"
-msgstr ""
+msgstr "Options utiles :"
 
 #: fdisk/sfdisk.c:2124
 msgid "    -s [or --show-size]: list size of a partition"
-msgstr ""
+msgstr "    -s [ou --show-size] : Affiche la taille d'une partition"
 
 #: fdisk/sfdisk.c:2125
 msgid "    -c [or --id]:        print or change partition Id"
-msgstr ""
+msgstr "    -c [ou --id] :        Affiche ou modifie l'Id de partition"
 
 #: fdisk/sfdisk.c:2126
 msgid "    -l [or --list]:      list partitions of each device"
 msgstr ""
+"    -l [ou --list] :      Répertorie les partitions de chaque périphérique"
 
 #: fdisk/sfdisk.c:2127
 msgid "    -d [or --dump]:      idem, but in a format suitable for later input"
 msgstr ""
+"    -d [ou --dump] :      Idem, mais dans un format approprié à une entrée "
+"ultérieure"
 
 #: fdisk/sfdisk.c:2128
 msgid "    -i [or --increment]: number cylinders etc. from 1 instead of from 0"
 msgstr ""
+"    -i [ou --increment] : Enumère les cylindres etc. à partir de 1 au lieu "
+"de 0"
 
 #: fdisk/sfdisk.c:2129
 msgid ""
 "    -uS, -uB, -uC, -uM:  accept/report in units of "
 "sectors/blocks/cylinders/MB"
 msgstr ""
+"    -uS, -uB, -uC, -uM :  Accepte/rapporte en unités "
+"desecteurs/blocs/cylindres/Mo"
 
 #: fdisk/sfdisk.c:2130
 msgid "    -T [or --list-types]:list the known partition types"
-msgstr ""
+msgstr "    -T [ou --list-types] : Répertorie les types de partition connus"
 
 #: fdisk/sfdisk.c:2131
 msgid "    -D [or --DOS]:       for DOS-compatibility: waste a little space"
 msgstr ""
+"    -D [ou --DOS] :       Pour la compatibilité DOS : occupe un peu d'espace"
 
 #: fdisk/sfdisk.c:2132
 msgid "    -R [or --re-read]:   make kernel reread partition table"
 msgstr ""
+"    -R [ou --re-read] :   Fait relire la table de partition par le kernel"
 
 #: fdisk/sfdisk.c:2133
-#, fuzzy
 msgid "    -N# :                change only the partition with number #"
 msgstr ""
-"  u          Changement de l'unité utilisée pour la taille des partitions"
+"    -N# :                Change uniquement la partition portant le numéro #"
 
 #: fdisk/sfdisk.c:2134
-#, fuzzy
 msgid "    -n :                 do not actually write to disk"
-msgstr ""
-"                r - Données brutes (Exactement ce que cfdisk écrirait sur le "
-"disque)"
+msgstr "    -n :                 N'écrit pas sur le disque"
 
 #: fdisk/sfdisk.c:2135
-#, fuzzy
 msgid ""
 "    -O file :            save the sectors that will be overwritten to file"
 msgstr ""
-"                r - Données brutes (Exactement ce que cfdisk écrirait sur le "
-"disque)"
+"    -O file :            Enregistre les secteurs qui seront écrasés dans un "
+"fichier"
 
 #: fdisk/sfdisk.c:2136
-#, fuzzy
 msgid "    -I file :            restore these sectors again"
-msgstr "                s - Table triée par secteurs"
+msgstr "    -I file :            Restaure ces secteurs"
 
 #: fdisk/sfdisk.c:2137
 msgid "    -v [or --version]:   print version"
-msgstr ""
+msgstr "    -v [ou --version] :   Affiche la version"
 
 #: fdisk/sfdisk.c:2138
-#, fuzzy
 msgid "    -? [or --help]:      print this message"
-msgstr "  ?          Affiche cet écran"
+msgstr "    -? [ou --help] :      Affiche ce message"
 
 #: fdisk/sfdisk.c:2139
 msgid "dangerous options:"
-msgstr ""
+msgstr "Options dangereuses :"
 
 #: fdisk/sfdisk.c:2140
 msgid "    -g [or --show-geometry]: print the kernel's idea of the geometry"
 msgstr ""
+"    -g [ou --show-geometry] : Affiche l'idée que se fait le kernel de la "
+"géométrie"
 
 #: fdisk/sfdisk.c:2141
 msgid ""
 "    -x [or --show-extended]: also list extended partitions on output\n"
 "                             or expect descriptors for them on input"
 msgstr ""
+"    -x [ou --show-extended] : Répertorie également les partitions étendues à "
+"la sortie\n"
+"                             ou attend des descriptifs de celles-ci à "
+"l'entrée"
 
 #: fdisk/sfdisk.c:2143
 msgid ""
 "    -L  [or --Linux]:      do not complain about things irrelevant for Linux"
 msgstr ""
+"    -L  [ou --Linux] :      Ne se plaint pas de problèmes ne concernant pas "
+"Linux"
 
 #: fdisk/sfdisk.c:2144
 msgid "    -q  [or --quiet]:      suppress warning messages"
-msgstr ""
+msgstr "    -q  [ou --quiet] :      Supprime les messages d'avertissement"
 
 #: fdisk/sfdisk.c:2145
 msgid "    You can override the detected geometry using:"
-msgstr ""
+msgstr "    Vous pouvez écraser la géométrie détectée à l'aide de :"
 
 #: fdisk/sfdisk.c:2146
-#, fuzzy
 msgid "    -C# [or --cylinders #]:set the number of cylinders to use"
-msgstr "Entrez le nombre de cylindres: "
+msgstr "    -C# [ou --cylinders #] : Définit le nombre de cylindres à utiliser"
 
 #: fdisk/sfdisk.c:2147
 msgid "    -H# [or --heads #]:    set the number of heads to use"
-msgstr ""
+msgstr "    -H# [ou --heads #] :    Définit le nombre de têtes à utiliser"
 
 #: fdisk/sfdisk.c:2148
 msgid "    -S# [or --sectors #]:  set the number of sectors to use"
-msgstr ""
+msgstr "    -S# [ou --sectors #] :  Définit le nombre de secteurs à utiliser"
 
 #: fdisk/sfdisk.c:2149
 msgid "You can disable all consistency checking with:"
-msgstr ""
+msgstr "Vous pouvez désactiver toute vérification de cohérence à l'aide de :"
 
 #: fdisk/sfdisk.c:2150
 msgid "    -f  [or --force]:      do what I say, even if it is stupid"
-msgstr ""
+msgstr "    -f  [ou --force] :      Force une action, même inadaptée"
 
 #: fdisk/sfdisk.c:2156
 msgid "Usage:"
-msgstr ""
+msgstr "Usage :"
 
 #: fdisk/sfdisk.c:2157
 #, c-format
 msgid "%s device\t\t list active partitions on device\n"
 msgstr ""
+"%s périphérique\t\t Répertorie les partitions actives sur le périphérique\n"
 
 #: fdisk/sfdisk.c:2158
 #, c-format
 msgid "%s device n1 n2 ... activate partitions n1 ..., inactivate the rest\n"
 msgstr ""
+"%s périphérique n1 n2 ... Active les partitions n1 ..., désactive le reste\n"
 
 #: fdisk/sfdisk.c:2159
 #, c-format
 msgid "%s -An device\t activate partition n, inactivate the other ones\n"
-msgstr ""
+msgstr "%s -An périphérique\t Active la partition n, désactive les autres\n"
 
 #: fdisk/sfdisk.c:2278
 msgid "no command?\n"
-msgstr ""
+msgstr "Aucune commande ?\n"
 
 #: fdisk/sfdisk.c:2401
-#, fuzzy, c-format
+#, c-format
 msgid "total: %d blocks\n"
-msgstr "%ld blocs\n"
+msgstr "total : %d blocs\n"
 
 #: fdisk/sfdisk.c:2438
 msgid "usage: sfdisk --print-id device partition-number\n"
-msgstr ""
+msgstr "usage : sfdisk --print-id périphérique numéro-partition \n"
 
 #: fdisk/sfdisk.c:2440
 msgid "usage: sfdisk --change-id device partition-number Id\n"
-msgstr ""
+msgstr "usage : sfdisk --change-id périphérique numéro-partition Id\n"
 
 #: fdisk/sfdisk.c:2442
 msgid "usage: sfdisk --id device partition-number [Id]\n"
-msgstr ""
+msgstr "usage : sfdisk --id périphérique numéro-partition [Id]\n"
 
 #: fdisk/sfdisk.c:2449
 msgid "can specify only one device (except with -l or -s)\n"
-msgstr ""
+msgstr "Peut uniquement spécifier un périphérique (sauf avec -l ou -s)\n"
 
 #: fdisk/sfdisk.c:2474
-#, fuzzy, c-format
+#, c-format
 msgid "cannot open %s %s\n"
-msgstr "Impossible d'ouvrir le fichier '%s'"
+msgstr "Impossible d'ouvrir %s %s\n"
 
 #: fdisk/sfdisk.c:2474
 msgid "read-write"
-msgstr ""
+msgstr "Lecture-écriture"
 
 #: fdisk/sfdisk.c:2474
 msgid "for reading"
-msgstr ""
+msgstr "pour lecture"
 
 #: fdisk/sfdisk.c:2499
 #, c-format
 msgid "%s: OK\n"
-msgstr ""
+msgstr "%s : OK\n"
 
 #: fdisk/sfdisk.c:2516
 #, c-format
 msgid "%s: %d cylinders, %d heads, %d sectors/track\n"
-msgstr ""
+msgstr "%s : %d cylindres, %d têtes, %d secteurs/piste\n"
 
 #: fdisk/sfdisk.c:2519
-#, fuzzy, c-format
+#, c-format
 msgid "%s: unknown geometry\n"
-msgstr "renice: %s: utilisateur inconnu\n"
+msgstr "%s : géométrie inconnue\n"
 
 #: fdisk/sfdisk.c:2535
 #, c-format
 msgid "BLKGETSIZE ioctl failed for %s\n"
-msgstr ""
+msgstr "BLKGETSIZE ioctl a échoué pour %s\n"
 
 #: fdisk/sfdisk.c:2612
 #, c-format
 msgid "bad active byte: 0x%x instead of 0x80\n"
-msgstr ""
+msgstr "Mauvais octet actif : 0x%x au lieu de 0x80\n"
 
 #: fdisk/sfdisk.c:2629 fdisk/sfdisk.c:2682 fdisk/sfdisk.c:2712
-#, fuzzy
 msgid ""
 "Done\n"
 "\n"
-msgstr "Terminé"
+msgstr ""
+"Terminé\n"
+"\n"
 
 #: fdisk/sfdisk.c:2638
 #, c-format
@@ -4698,35 +5042,37 @@ 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 ""
+"Il y a %d partitions primaires actives. Ce n'est pas un problème pour LILO,\n"
+"mais le MBR DOS amorcera uniquement 1 disque ayant une seule partition "
+"active.\n"
 
 #: fdisk/sfdisk.c:2652
 #, c-format
 msgid "partition %s has id %x and is not hidden\n"
-msgstr ""
+msgstr "La partition %s a l'Id %x et n'est pas cachée.\n"
 
 #: fdisk/sfdisk.c:2708
 #, c-format
 msgid "Bad Id %x\n"
-msgstr ""
+msgstr "Mauvais Id %x\n"
 
 #: fdisk/sfdisk.c:2723
-#, fuzzy
 msgid "This disk is currently in use.\n"
-msgstr "Cette partition est déjà utilisée"
+msgstr "Ce disque est déjà utilisé.\n"
 
 #: fdisk/sfdisk.c:2740
-#, fuzzy, c-format
+#, c-format
 msgid "Fatal error: cannot find %s\n"
-msgstr "Erreur fatale\n"
+msgstr "Erreur fatale : %s introuvable\n"
 
 #: fdisk/sfdisk.c:2743
-#, fuzzy, c-format
+#, c-format
 msgid "Warning: %s is not a block device\n"
-msgstr "%s: %s n'est pas un périphérique lp.\n"
+msgstr "Avertissement : %s n'est pas un périphérique de bloc.\n"
 
 #: fdisk/sfdisk.c:2749
 msgid "Checking that no-one is using this disk right now ...\n"
-msgstr ""
+msgstr "Vérification que personne n'utilise le disque en ce moment ...\n"
 
 #: fdisk/sfdisk.c:2751
 msgid ""
@@ -4735,68 +5081,77 @@ msgid ""
 "all file systems, and swapoff all swap partitions on this disk.Use the "
 "--no-reread flag to suppress this check.\n"
 msgstr ""
+"\n"
+"Ce disque est en cours d'utilisation. Un repartitionnement n'est pas "
+"adéquat. Démontez tous les systèmes de fichiers et effectuer un swapoff des "
+"partitions d'échange sur le disque. Utilisez l'indicateur --no-reread pour "
+"supprimer cette vérification.\n"
 
 #: fdisk/sfdisk.c:2755
 msgid "Use the --force flag to overrule all checks.\n"
 msgstr ""
+"Utilisez l'indicateur --force pour passer outre toutes les vérifications.\n"
 
 #: fdisk/sfdisk.c:2759
 msgid "OK"
-msgstr ""
+msgstr "OK"
 
 #: fdisk/sfdisk.c:2768
 msgid "Old situation:\n"
-msgstr ""
+msgstr "Ancienne situation :\n"
 
 #: fdisk/sfdisk.c:2772
 #, c-format
 msgid "Partition %d does not exist, cannot change it\n"
-msgstr ""
+msgstr "La partition %d n'existe pas, impossible de la modifier.\n"
 
 #: fdisk/sfdisk.c:2780
 msgid "New situation:\n"
-msgstr ""
+msgstr "Nouvelle situation :\n"
 
 #: fdisk/sfdisk.c:2785
 msgid ""
 "I don't like these partitions - nothing changed.\n"
 "(If you really want this, use the --force option.)\n"
 msgstr ""
+"Je n'aime pas ces partitions - rien d'inchangé.\n"
+"(Si vous le souhaitez vraiment, utilisez l'option --force.)\n"
 
 #: fdisk/sfdisk.c:2788
 msgid "I don't like this - probably you should answer No\n"
-msgstr ""
+msgstr "Je n'aime pas ça - vous devriez sans doute répondre Non.\n"
 
 #: fdisk/sfdisk.c:2793
 msgid "Are you satisfied with this? [ynq] "
-msgstr ""
+msgstr "Etes-vous satisfait ? [ynq] "
 
 #: fdisk/sfdisk.c:2795
 msgid "Do you want to write this to disk? [ynq] "
-msgstr ""
+msgstr "Voulez-vous écrire cet élément dans un disque ? [ynq] "
 
 #: fdisk/sfdisk.c:2800
 msgid ""
 "\n"
 "sfdisk: premature end of input\n"
 msgstr ""
+"\n"
+"sfdisk : fin prématurée de l'entrée\n"
 
 #: fdisk/sfdisk.c:2802
-#, fuzzy
 msgid "Quitting - nothing changed\n"
-msgstr "Informations utilisateurs non changées.\n"
+msgstr "Fermeture en cours - rien d'inchangé\n"
 
 #: fdisk/sfdisk.c:2808
-#, fuzzy
 msgid "Please answer one of y,n,q\n"
-msgstr "Répondez par `oui' ou par `non'"
+msgstr "Veuillez répondre à y,n,q\n"
 
 #: fdisk/sfdisk.c:2816
-#, fuzzy
 msgid ""
 "Successfully wrote the new partition table\n"
 "\n"
-msgstr "Seulement imprimer la table de partitions"
+msgstr ""
+"L'écriture de la nouvelle table de partition a abouti.\n"
+"\n"
 
 #: fdisk/sfdisk.c:2822
 msgid ""
@@ -4804,251 +5159,258 @@ msgid ""
 "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 avez créé ou modifié une partition DOS, /dev/foo7, par exemple, "
+"utilisez alors dd(1)\n"
+"pour mettre à zéro les 512 premiers octets :  dd if=/dev/zero of=/dev/foo7 "
+"bs=512 count=1\n"
+"(Voir fdisk(8).)\n"
 
 #: games/banner.c:1048
 msgid "usage: banner [-w width]\n"
-msgstr ""
+msgstr "usage : bannière [-w width]\n"
 
 #: games/banner.c:1068
 msgid "Message: "
-msgstr ""
+msgstr "Message : "
 
 #: games/banner.c:1102
 #, c-format
 msgid "The character '%c' is not in my character set"
-msgstr ""
+msgstr "Le caractère '%c' ne fait pas partie de mon jeu de caractères."
 
 #: games/banner.c:1110
 #, c-format
 msgid "Message '%s' is OK\n"
-msgstr ""
+msgstr "Le message '%s' est OK\n"
 
 #: getopt-1.0.3b/getopt.c:229
 msgid "Try `getopt --help' for more information.\n"
-msgstr ""
+msgstr "Essayez `getopt --help' pour plus d'informations.\n"
 
 #: getopt-1.0.3b/getopt.c:295
 msgid "empty long option after -l or --long argument"
-msgstr ""
+msgstr "Longue option vide après -l ou argument --long"
 
 #: getopt-1.0.3b/getopt.c:315
 msgid "unknown shell after -s or --shell argument"
-msgstr ""
+msgstr "Shell inconnu après -s ou argument --shell"
 
 #: getopt-1.0.3b/getopt.c:320
 msgid "Usage: getopt optstring parameters\n"
-msgstr ""
+msgstr "Usage : getopt paramètres optstring\n"
 
 #: getopt-1.0.3b/getopt.c:321
 msgid "       getopt [options] [--] optstring parameters\n"
-msgstr ""
+msgstr "       getopt [options] [--] paramètres optstring\n"
 
 #: getopt-1.0.3b/getopt.c:322
 msgid "       getopt [options] -o|--options optstring [options] [--]\n"
-msgstr ""
+msgstr "       getopt [options] -o|--options optstring [options] [--]\n"
 
 #: getopt-1.0.3b/getopt.c:323
-#, fuzzy
 msgid "              parameters\n"
-msgstr "            Premier  Dernier\n"
+msgstr "              paramètres\n"
 
 #: getopt-1.0.3b/getopt.c:324
 msgid ""
 "  -a, --alternative            Allow long options starting with single -\n"
 msgstr ""
+"  -a, --alternative            Autorise les options longues commençant par "
+"un seul -\n"
 
 #: getopt-1.0.3b/getopt.c:325
 msgid "  -h, --help                   This small usage guide\n"
-msgstr ""
+msgstr "  -h, --help                   Ce petit guide d'utilisation\n"
 
 #: getopt-1.0.3b/getopt.c:326
 msgid "  -l, --longoptions=longopts   Long options to be recognized\n"
-msgstr ""
+msgstr "  -l, --longoptions=longopts   Options longues à reconnaître\n"
 
 #: getopt-1.0.3b/getopt.c:327
 msgid ""
 "  -n, --name=progname          The name under which errors are reported\n"
 msgstr ""
+"  -n, --name=progname          Nom sous lequel les erreurs sont rapportées\n"
 
 #: getopt-1.0.3b/getopt.c:328
 msgid "  -o, --options=optstring      Short options to be recognized\n"
-msgstr ""
+msgstr "  -o, --options=optstring      Options courtes à reconnaître\n"
 
 #: getopt-1.0.3b/getopt.c:329
-#, fuzzy
 msgid "  -q, --quiet                  Disable error reporting by getopt(3)\n"
-msgstr "                s - Table triée par secteurs"
+msgstr ""
+"  -q, --quiet                  Désactive le rapport d'erreur avec getopt(3)\n"
 
 #: getopt-1.0.3b/getopt.c:330
 msgid "  -Q, --quiet-output           No normal output\n"
-msgstr ""
+msgstr "  -Q, --quiet-output           Aucune sortie normale\n"
 
 #: getopt-1.0.3b/getopt.c:331
 msgid "  -s, --shell=shell            Set shell quoting conventions\n"
 msgstr ""
+"  -s, --shell=shell            Définit les conventions de déclaration du "
+"shell\n"
 
 #: getopt-1.0.3b/getopt.c:332
 msgid "  -T, --test                   Test for getopt(1) version\n"
-msgstr ""
+msgstr "  -T, --test                   Teste la version getopt(1)\n"
 
 #: getopt-1.0.3b/getopt.c:333
 msgid "  -V, --version                Output version information\n"
-msgstr ""
+msgstr "  -V, --version                Affiche les informations de version\n"
 
 #: getopt-1.0.3b/getopt.c:387 getopt-1.0.3b/getopt.c:445
 msgid "missing optstring argument"
-msgstr ""
+msgstr "Argument optstring manquant"
 
 #: getopt-1.0.3b/getopt.c:433
 msgid "getopt (enhanced) 1.0.3\n"
-msgstr ""
+msgstr "getopt (avancé) 1.0.3\n"
 
 #: getopt-1.0.3b/getopt.c:439
 msgid "internal error, contact the author."
-msgstr ""
+msgstr "Erreur interne, contactez l'auteur."
 
-#: login-utils/agetty.c:307
-#, fuzzy
+#: login-utils/agetty.c:306
 msgid "calling open_tty\n"
-msgstr "Appel de settimeofday :\n"
+msgstr "Appel de open_tty\n"
 
 #. Initialize the termio settings (raw mode, eight-bit, blocking i/o).
-#: login-utils/agetty.c:320
+#: login-utils/agetty.c:319
 msgid "calling termio_init\n"
-msgstr ""
+msgstr "Appel de termio_init\n"
 
-#: login-utils/agetty.c:325
+#: login-utils/agetty.c:324
 msgid "writing init string\n"
-msgstr ""
+msgstr "écriture de la chaîne init\n"
 
 #. Optionally detect the baud rate from the modem status message.
-#: login-utils/agetty.c:335
+#: login-utils/agetty.c:334
 msgid "before autobaud\n"
-msgstr ""
+msgstr "avant autobaud\n"
 
-#: login-utils/agetty.c:347
+#: login-utils/agetty.c:346
 msgid "waiting for cr-lf\n"
-msgstr ""
+msgstr "Attente de cr-lf\n"
 
-#: login-utils/agetty.c:351
+#: login-utils/agetty.c:350
 #, c-format
 msgid "read %c\n"
-msgstr ""
+msgstr "Lecture de %c\n"
 
 #. Read the login name.
-#: login-utils/agetty.c:360
+#: login-utils/agetty.c:359
 msgid "reading login name\n"
-msgstr ""
+msgstr "Lecture du nom de connexion\n"
 
-#: login-utils/agetty.c:381
+#: login-utils/agetty.c:380
 #, c-format
 msgid "%s: can't exec %s: %m"
-msgstr ""
+msgstr "%s : impossible d'exécuter %s : %m"
 
-#: login-utils/agetty.c:401
+#: login-utils/agetty.c:400
 msgid "can't malloc initstring"
-msgstr ""
+msgstr "malloc initstring impossible"
 
-#: login-utils/agetty.c:466
+#: login-utils/agetty.c:465
 #, c-format
 msgid "bad timeout value: %s"
-msgstr ""
+msgstr "Valeur de temporisation incorrecte : %s"
 
-#: login-utils/agetty.c:475
+#: login-utils/agetty.c:474
 msgid "after getopt loop\n"
-msgstr ""
+msgstr "après la boucle getopt\n"
 
-#: login-utils/agetty.c:493
+#: login-utils/agetty.c:492
 msgid "exiting parseargs\n"
-msgstr ""
+msgstr "quitter parseargs\n"
 
-#: login-utils/agetty.c:506
+#: login-utils/agetty.c:505
 msgid "entered parse_speeds\n"
-msgstr ""
+msgstr "entrer parse_speeds\n"
 
-#: login-utils/agetty.c:509
+#: login-utils/agetty.c:508
 #, c-format
 msgid "bad speed: %s"
-msgstr ""
+msgstr "Vitesse incorrecte : %s"
 
-#: login-utils/agetty.c:511
+#: login-utils/agetty.c:510
 msgid "too many alternate speeds"
-msgstr ""
+msgstr "Trop de vitesses secondaires"
 
-#: login-utils/agetty.c:513
+#: login-utils/agetty.c:512
 msgid "exiting parsespeeds\n"
-msgstr ""
+msgstr "quitter parsespeeds\n"
 
-#: login-utils/agetty.c:588
+#: login-utils/agetty.c:587
 #, c-format
 msgid "%s: open for update: %m"
-msgstr ""
+msgstr "%s : ouvert pour mise à jour : %m"
 
-#: login-utils/agetty.c:606
+#: login-utils/agetty.c:605
 #, c-format
 msgid "%s: no utmp entry"
-msgstr ""
+msgstr "%s : aucune entrée utmp"
 
-#: login-utils/agetty.c:635
+#: login-utils/agetty.c:634
 #, c-format
 msgid "/dev: chdir() failed: %m"
-msgstr ""
+msgstr "/dev : chdir() a échoué : %m"
 
-#: login-utils/agetty.c:639
-#, fuzzy, c-format
+#: login-utils/agetty.c:638
+#, c-format
 msgid "/dev/%s: not a character device"
-msgstr "%s: n'est pas un lecteur de disquettes\n"
+msgstr "/dev/%s : n'est pas un périphérique de caractère"
 
 #. ignore close(2) errors
-#: login-utils/agetty.c:646
+#: login-utils/agetty.c:645
 msgid "open(2)\n"
-msgstr ""
+msgstr "open(2)\n"
 
-#: login-utils/agetty.c:648
+#: login-utils/agetty.c:647
 #, c-format
 msgid "/dev/%s: cannot open as standard input: %m"
-msgstr ""
+msgstr "/dev/%s : ouverture impossible en entrée standard : %m"
 
-#: login-utils/agetty.c:658
+#: login-utils/agetty.c:657
 #, c-format
 msgid "%s: not open for read/write"
-msgstr ""
+msgstr "%s : non ouvert pour lecture/écriture"
 
 #. Set up standard output and standard error file descriptors.
-#: login-utils/agetty.c:662
+#: login-utils/agetty.c:661
 msgid "duping\n"
-msgstr ""
+msgstr "duping\n"
 
 #. set up stdout and stderr
-#: login-utils/agetty.c:664
+#: login-utils/agetty.c:663
 #, c-format
 msgid "%s: dup problem: %m"
-msgstr ""
+msgstr "%s : problème dup : %m"
 
-#: login-utils/agetty.c:769
+#: login-utils/agetty.c:733
 msgid "term_io 2\n"
-msgstr ""
+msgstr "term_io 2\n"
 
-#: login-utils/agetty.c:951
+#: login-utils/agetty.c:915
 msgid "user"
-msgstr ""
+msgstr "utilisateur"
 
-#: login-utils/agetty.c:951
-#, fuzzy
+#: login-utils/agetty.c:915
 msgid "users"
-msgstr "secteurs"
+msgstr "utilisateurs"
 
-#: login-utils/agetty.c:1039
+#: login-utils/agetty.c:1003
 #, c-format
 msgid "%s: read: %m"
-msgstr ""
+msgstr "%s : lire : %m"
 
-#: login-utils/agetty.c:1085
+#: login-utils/agetty.c:1049
 #, c-format
 msgid "%s: input overrun"
-msgstr ""
+msgstr "%s : débordement d'entrée"
 
-#: login-utils/agetty.c:1209
+#: login-utils/agetty.c:1173
 #, c-format
 msgid ""
 "Usage: %s [-hiLmw] [-l login_program] [-t timeout] [-I initstring] [-H "
@@ -5056,34 +5418,38 @@ msgid ""
 "or\t[-hiLmw] [-l login_program] [-t timeout] [-I initstring] [-H login_host] "
 "line baud_rate,... [termtype]\n"
 msgstr ""
+"Usage : %s [-hiLmw] [-l programme_connexion] [-t temporisation] [-I chaîne "
+"d'initialisation] [-H hôte_connexion] débit_bauds,... ligne [typeterm]\n"
+"ou\t[-hiLmw] [-l programme_connexion] [-t temporisation] [-I chaîne "
+"d'initialisation] [-H hôte_connexion] ligne débit_bauds,... [typetype]\n"
 
 #: login-utils/checktty.c:46
 #, c-format
 msgid "badlogin: %s\n"
-msgstr ""
+msgstr "Connexion incorrecte : %s\n"
 
 #: login-utils/checktty.c:52
 #, c-format
 msgid "sleepexit %d\n"
-msgstr ""
+msgstr "sleepexit %d\n"
 
 #: login-utils/checktty.c:108 login-utils/checktty.c:130
 msgid "login: memory low, login may fail\n"
-msgstr ""
+msgstr "Connexion : mémoire faible, échec possible de la connexion\n"
 
 #: login-utils/checktty.c:109
 msgid "can't malloc for ttyclass"
-msgstr ""
+msgstr "malloc impossible pour ttyclass"
 
 #: login-utils/checktty.c:131
 msgid "can't malloc for grplist"
-msgstr ""
+msgstr "malloc impossible pour grplist"
 
 #. there was a default rule, but user didn't match, reject!
 #: login-utils/checktty.c:431
 #, c-format
 msgid "Login on %s from %s denied by default.\n"
-msgstr "Connexion sur %s à partir de %s refusée par défaut.\n"
+msgstr "Connexion à %s à partir de %s refusée par défaut.\n"
 
 #. if we get here, /etc/usertty exists, there's a line
 #. matching our username, but it doesn't contain the
@@ -5094,53 +5460,53 @@ msgstr "Connexion sur %s 
 msgid "Login on %s from %s denied.\n"
 msgstr "Connexion sur %s à partir de %s refusée.\n"
 
-#: login-utils/chfn.c:135 login-utils/chsh.c:118
+#: login-utils/chfn.c:134 login-utils/chsh.c:117
 #, c-format
 msgid "%s: you (user %d) don't exist.\n"
-msgstr "%s: vous (utilisateur %d) n'existez pas.\n"
+msgstr "%s : vous (utilisateur %d) n'existez pas.\n"
 
-#: login-utils/chfn.c:142 login-utils/chsh.c:125
+#: login-utils/chfn.c:141 login-utils/chsh.c:124
 #, c-format
 msgid "%s: user \"%s\" does not exist.\n"
-msgstr "%s: l'utilisateur \"%s\" n'existe pas.\n"
+msgstr "%s : l'utilisateur \"%s\" n'existe pas.\n"
 
-#: login-utils/chfn.c:147 login-utils/chsh.c:130
+#: login-utils/chfn.c:146 login-utils/chsh.c:129
 #, c-format
 msgid "%s: can only change local entries; use yp%s instead.\n"
 msgstr ""
-"%s: peux seulement changer les entrées locales; utilisez plutot yp%s.\n"
+"%s : peut seulement changer les entrées locales ; utilisez plutôt yp%s.\n"
 
-#: login-utils/chfn.c:159
+#: login-utils/chfn.c:158
 #, c-format
 msgid "Changing finger information for %s.\n"
 msgstr "Changement des informations utilisateur pour %s.\n"
 
-#: login-utils/chfn.c:165 login-utils/chfn.c:169 login-utils/chfn.c:176
-#: login-utils/chfn.c:180 login-utils/chsh.c:154 login-utils/chsh.c:158
-#: login-utils/chsh.c:165 login-utils/chsh.c:169
+#: login-utils/chfn.c:164 login-utils/chfn.c:168 login-utils/chfn.c:175
+#: login-utils/chfn.c:179 login-utils/chsh.c:153 login-utils/chsh.c:157
+#: login-utils/chsh.c:164 login-utils/chsh.c:168
 msgid "Password error."
 msgstr "Erreur de mot de passe."
 
-#: login-utils/chfn.c:189 login-utils/chsh.c:178 login-utils/login.c:684
-#: login-utils/newgrp.c:47 login-utils/simpleinit.c:219 mount/lomount.c:209
-#: mount/lomount.c:215 mount/losetup.c:125 mount/losetup.c:131
+#: login-utils/chfn.c:188 login-utils/chsh.c:177 login-utils/login.c:684
+#: login-utils/newgrp.c:47 login-utils/simpleinit.c:219 mount/lomount.c:200
+#: mount/lomount.c:206 mount/losetup.c:116 mount/losetup.c:122
 msgid "Password: "
-msgstr "Mot de passe: "
+msgstr "Mot de passe : "
 
-#: login-utils/chfn.c:192 login-utils/chsh.c:181
+#: login-utils/chfn.c:191 login-utils/chsh.c:180
 msgid "Incorrect password."
 msgstr "Mot de passe incorrect."
 
-#: login-utils/chfn.c:203
+#: login-utils/chfn.c:202
 msgid "Finger information not changed.\n"
-msgstr "Informations utilisateurs non changées.\n"
+msgstr "Informations utilisateur non changées.\n"
 
-#: login-utils/chfn.c:306
+#: login-utils/chfn.c:305
 #, c-format
 msgid "Usage: %s [ -f full-name ] [ -o office ] "
-msgstr "Usage: %s [ -f nom-complet ] [ -o bureau ] "
+msgstr "Usage : %s [ -f nom-complet ] [ -o bureau ] "
 
-#: login-utils/chfn.c:307
+#: login-utils/chfn.c:306
 msgid ""
 "[ -p office-phone ]\n"
 "\t[ -h home-phone ] "
@@ -5148,11 +5514,11 @@ msgstr ""
 "[ -p téléphone-bureau ]\n"
 "\t[ -h téléphone-maison ] "
 
-#: login-utils/chfn.c:308
+#: login-utils/chfn.c:307
 msgid "[ --help ] [ --version ]\n"
 msgstr "[ --help ] [ --version ]\n"
 
-#: login-utils/chfn.c:377 login-utils/chsh.c:294
+#: login-utils/chfn.c:376 login-utils/chsh.c:293
 msgid ""
 "\n"
 "Aborted.\n"
@@ -5160,165 +5526,167 @@ msgstr ""
 "\n"
 "Abandon.\n"
 
-#: login-utils/chfn.c:410
+#: login-utils/chfn.c:409
 msgid "field is too long.\n"
 msgstr "champ trop long.\n"
 
-#: login-utils/chfn.c:418
+#: login-utils/chfn.c:417
 #, c-format
 msgid "'%c' is not allowed.\n"
 msgstr "'%c' n'est pas un caractère permis.\n"
 
-#: login-utils/chfn.c:423
+#: login-utils/chfn.c:422
 msgid "Control characters are not allowed.\n"
-msgstr "Les caractères de contrôle de sont pas permis.\n"
+msgstr "Les caractères de contrôle ne sont pas permis.\n"
 
-#: login-utils/chfn.c:488
+#: login-utils/chfn.c:487
 msgid "Finger information *NOT* changed.  Try again later.\n"
-msgstr "Informations utilisateur *NON* changés. Essayez à nouveau plus tard.\n"
+msgstr ""
+"Informations utilisateur *NON* changées. Essayez de nouveau plus tard.\n"
 
-#: login-utils/chfn.c:491
+#: login-utils/chfn.c:490
 msgid "Finger information changed.\n"
-msgstr "Informations utilisateur non changées.\n"
+msgstr "Informations utilisateur changées.\n"
 
-#: login-utils/chfn.c:505 login-utils/chsh.c:412 sys-utils/cytune.c:324
+#: login-utils/chfn.c:504 login-utils/chsh.c:411 sys-utils/cytune.c:324
 msgid "malloc failed"
-msgstr "échec de malloc"
+msgstr "Echec de malloc"
 
-#: login-utils/chsh.c:141
+#: login-utils/chsh.c:140
 #, 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, changement de shell annulé\n"
+"%s : Votre shell n'est pas dans /etc/shells, changement de shell annulé.\n"
 
-#: login-utils/chsh.c:148
+#: login-utils/chsh.c:147
 #, c-format
 msgid "Changing shell for %s.\n"
 msgstr "Changement du shell pour %s.\n"
 
-#: login-utils/chsh.c:189
+#: login-utils/chsh.c:188
 msgid "New shell"
 msgstr "Nouveau shell"
 
-#: login-utils/chsh.c:196
+#: login-utils/chsh.c:195
 msgid "Shell not changed.\n"
 msgstr "Shell non changé.\n"
 
-#: login-utils/chsh.c:203
+#: login-utils/chsh.c:202
 msgid "Shell *NOT* changed.  Try again later.\n"
-msgstr "Shell *NON* changé. Essayez à nouveau plus tard.\n"
+msgstr "Shell *NON* changé. Essayez de nouveau plus tard.\n"
 
-#: login-utils/chsh.c:206
+#: login-utils/chsh.c:205
 msgid "Shell changed.\n"
-msgstr "Le disque a été changé.\n"
+msgstr "Le shell a été changé.\n"
 
-#: login-utils/chsh.c:274
+#: login-utils/chsh.c:273
 #, c-format
 msgid "Usage: %s [ -s shell ] "
-msgstr "Usage: %s [ -s shell ] "
+msgstr "Usage : %s [ -s shell ] "
 
-#: login-utils/chsh.c:275
+#: login-utils/chsh.c:274
 msgid "[ --list-shells ] [ --help ] [ --version ]\n"
 msgstr "[ --list-shells ] [ --help ] [ --version ]\n"
 
-#: login-utils/chsh.c:276
+#: login-utils/chsh.c:275
 msgid "       [ username ]\n"
 msgstr "       [ nom-utilisateur ]\n"
 
-#: login-utils/chsh.c:320
+#: login-utils/chsh.c:319
 #, c-format
 msgid "%s: shell must be a full path name.\n"
-msgstr "%s: le shell doit être un path complet.\n"
+msgstr "%s : le shell doit être un chemin complet.\n"
 
-#: login-utils/chsh.c:324
+#: login-utils/chsh.c:323
 #, c-format
 msgid "%s: \"%s\" does not exist.\n"
-msgstr "%s: l'utilisateur \"%s\" n'existe pas.\n"
+msgstr "%s : \"%s\" n'existe pas.\n"
 
-#: login-utils/chsh.c:328
+#: login-utils/chsh.c:327
 #, c-format
 msgid "%s: \"%s\" is not executable.\n"
-msgstr "%s: \"%s\" n'est pas exécutable.\n"
+msgstr "%s : \"%s\" n'est pas exécutable.\n"
 
-#: login-utils/chsh.c:335
+#: login-utils/chsh.c:334
 #, c-format
 msgid "%s: '%c' is not allowed.\n"
-msgstr "%s: '%c' n'est pas un caractère permis.\n"
+msgstr "%s : '%c' n'est pas autorisé.\n"
 
-#: login-utils/chsh.c:339
+#: login-utils/chsh.c:338
 #, c-format
 msgid "%s: Control characters are not allowed.\n"
-msgstr "%s: Les caractères de contrôle de sont pas permis.\n"
+msgstr "%s : Les caractères de contrôle ne sont pas permis.\n"
 
-#: login-utils/chsh.c:346
+#: login-utils/chsh.c:345
 #, c-format
 msgid "Warning: \"%s\" is not listed in /etc/shells\n"
-msgstr "Avertissement: \"%s\" n'est pas listé dans /etc/shells\n"
+msgstr "Avertissement : \"%s\" n'est pas listé dans /etc/shells.\n"
 
-#: login-utils/chsh.c:348
+#: login-utils/chsh.c:347
 #, c-format
 msgid "%s: \"%s\" is not listed in /etc/shells.\n"
-msgstr "%s: \"%s\" n'est pas listé dans /etc/shells.\n"
+msgstr "%s : \"%s\" n'est pas listé dans /etc/shells.\n"
 
-#: login-utils/chsh.c:350
+#: login-utils/chsh.c:349
 #, c-format
 msgid "%s: use -l option to see list\n"
-msgstr "%s: utilisez l'option -l pour voir la liste\n"
+msgstr "%s : utilisez l'option -l pour voir la liste.\n"
 
-#: login-utils/chsh.c:356
+#: login-utils/chsh.c:355
 #, c-format
 msgid "Warning: \"%s\" is not listed in /etc/shells.\n"
-msgstr ""
+msgstr "Avertissement : \"%s\" n'est pas listé dans /etc/shells.\n"
 
-#: login-utils/chsh.c:357
+#: login-utils/chsh.c:356
 #, c-format
 msgid "Use %s -l to see list.\n"
-msgstr ""
+msgstr "Utilisez %s -l pour voir la liste.\n"
 
-#: login-utils/chsh.c:378
+#: login-utils/chsh.c:377
 msgid "No known shells.\n"
-msgstr ""
+msgstr "Aucun shell connu.\n"
 
 #: login-utils/cryptocard.c:70
 msgid "couldn't open /dev/urandom"
-msgstr ""
+msgstr "Impossible d'ouvrir /dev/urandom"
 
 #: login-utils/cryptocard.c:75
 msgid "couldn't read random data from /dev/urandom"
-msgstr ""
+msgstr "Impossible de lire les données aléatoires depuis /dev/urandom."
 
 #: login-utils/cryptocard.c:98
 #, c-format
 msgid "can't open %s for reading"
-msgstr ""
+msgstr "Impossible d'ouvrir %s pour lecture."
 
 #: login-utils/cryptocard.c:102
 #, c-format
 msgid "can't stat(%s)"
-msgstr ""
+msgstr "stat(%s) impossible"
 
 #: login-utils/cryptocard.c:108
 #, c-format
 msgid "%s doesn't have the correct filemodes"
-msgstr ""
+msgstr "%s n'a pas les modes de fichiers corrects"
 
 #: login-utils/cryptocard.c:113
 #, c-format
 msgid "can't read data from %s"
-msgstr ""
+msgstr "Impossible de lire les données depuis %s"
 
 #: login-utils/islocal.c:36
 #, c-format
 msgid "Can't read %s, exiting."
-msgstr ""
+msgstr "Impossible de lire %s, fermeture."
 
 #: login-utils/last.c:143
 msgid "usage: last [-#] [-f file] [-t tty] [-h hostname] [user ...]\n"
 msgstr ""
+"Usage : dernier [-#] [-f fichier] [-t tty] [-h nom-hôte] [utilisateur ...]\n"
 
 #: login-utils/last.c:283
 msgid "  still logged in"
-msgstr ""
+msgstr "  toujours connecté"
 
 #: login-utils/last.c:305
 #, c-format
@@ -5326,14 +5694,16 @@ msgid ""
 "\n"
 "wtmp begins %s"
 msgstr ""
+"\n"
+"wtmp commence %s"
 
 #: login-utils/last.c:367 login-utils/last.c:387 login-utils/last.c:442
 msgid "last: malloc failure.\n"
-msgstr ""
+msgstr "dernier : échec de malloc.\n"
 
 #: login-utils/last.c:416
 msgid "last: gethostname"
-msgstr ""
+msgstr "dernier : gethostname"
 
 #: login-utils/last.c:469
 #, c-format
@@ -5341,468 +5711,474 @@ msgid ""
 "\n"
 "interrupted %10.10s %5.5s \n"
 msgstr ""
+"\n"
+"%10.10s %5.5s interrompu\n"
 
 #: login-utils/login.c:377
 msgid "login: -h for super-user only.\n"
-msgstr ""
+msgstr "connexion : -h pour superutilisateur uniquement.\n"
 
 #: login-utils/login.c:402
-#, fuzzy
 msgid "usage: login [-fp] [username]\n"
-msgstr "usage: %s [ -p ] périph nom\n"
+msgstr "usage : connexion [-fp] [nom-utilisateur]\n"
 
 #: login-utils/login.c:504
 #, c-format
 msgid "login: PAM Failure, aborting: %s\n"
-msgstr ""
+msgstr "connexion : échec de PAM, abandon : %s\n"
 
 #: login-utils/login.c:506
 #, c-format
 msgid "Couldn't initialize PAM: %s"
-msgstr ""
+msgstr "Initialisation de PAM impossible : %s"
 
 #. 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).
 #: login-utils/login.c:519
-#, fuzzy
 msgid "login: "
-msgstr "\"%s\" ligne %d"
+msgstr "connexion : "
 
 #: login-utils/login.c:552
 #, c-format
 msgid "FAILED LOGIN %d FROM %s FOR %s, %s"
-msgstr ""
+msgstr "ECHEC DE LA CONNEXION %d DEPUIS %s POUR %s, %s"
 
 #: login-utils/login.c:554
 msgid ""
 "Login incorrect\n"
 "\n"
 msgstr ""
+"Connexion incorrecte\n"
+"\n"
 
 #: login-utils/login.c:563
 #, c-format
 msgid "TOO MANY LOGIN TRIES (%d) FROM %s FOR %s, %s"
-msgstr ""
+msgstr "TENTATIVES DE CONNEXION TROP NOMBREUSES (%d) DEPUIS %s POUR %s, %s"
 
 #: login-utils/login.c:567
 #, c-format
 msgid "FAILED LOGIN SESSION FROM %s FOR %s, %s"
-msgstr ""
+msgstr "ECHEC DE LA SESSION DE CONNEXION DEPUIS %s POUR %s, %s"
 
 #: login-utils/login.c:570
 msgid ""
 "\n"
 "Login incorrect\n"
 msgstr ""
+"\n"
+"Connexion incorrecte\n"
 
 #: login-utils/login.c:619
-#, fuzzy
 msgid "Illegal username"
-msgstr "Nombre de secteurs non valide"
+msgstr "Nom utilisateur non valide"
 
 #: login-utils/login.c:662
 #, c-format
 msgid "%s login refused on this terminal.\n"
-msgstr ""
+msgstr "Connexion %s refusée sur ce terminal.\n"
 
 #: login-utils/login.c:667
 #, c-format
 msgid "LOGIN %s REFUSED FROM %s ON TTY %s"
-msgstr ""
+msgstr "CONNEXION %s REFUSEE DEPUIS %s SUR TTY %s"
 
 #: login-utils/login.c:671
 #, c-format
 msgid "LOGIN %s REFUSED ON TTY %s"
-msgstr ""
+msgstr "CONNEXION %s REFUSEE SUR TTY %s"
 
 #: login-utils/login.c:723
 msgid "Login incorrect\n"
-msgstr ""
+msgstr "Connexion incorrecte\n"
 
 #: login-utils/login.c:745
-#, fuzzy
 msgid ""
 "Too many users logged on already.\n"
 "Try again later.\n"
-msgstr "Mot de passe *NON* changé. Essayez à nouveau plus tard.\n"
+msgstr ""
+"Trop d'utilisateurs déjà connectés.\n"
+"Essayez de nouveau plus tard.\n"
 
 #: login-utils/login.c:749
 msgid "You have too many processes running.\n"
-msgstr ""
+msgstr "Trop de processus en cours d'exécution.\n"
 
 #: login-utils/login.c:795
 msgid "Warning: no Kerberos tickets issued\n"
-msgstr ""
+msgstr "Avertissement : aucun ticket Kerberos émis.\n"
 
 #: login-utils/login.c:807
 msgid "Sorry -- your password has expired.\n"
-msgstr ""
+msgstr "Désolé -- votre mot de passe a expiré.\n"
 
 #: login-utils/login.c:813
 #, c-format
 msgid "Warning: your password expires on %s %d, %d\n"
-msgstr ""
+msgstr "Avertissement : votre mot de passe expire le %s %d, %d.\n"
 
 #: login-utils/login.c:821
 msgid "Sorry -- your account has expired.\n"
-msgstr ""
+msgstr "Désolé --votre compte a expiré.\n"
 
 #: login-utils/login.c:827
 #, c-format
 msgid "Warning: your account expires on %s %d, %d\n"
-msgstr ""
+msgstr "Avertissement : votre compte expire le %s %d, %d.\n"
 
 #: login-utils/login.c:1061
 #, c-format
 msgid "DIALUP AT %s BY %s"
-msgstr ""
+msgstr "ACCES DISTANT A %s PAR %s"
 
 #: login-utils/login.c:1068
 #, c-format
 msgid "ROOT LOGIN ON %s FROM %s"
-msgstr ""
+msgstr "CONNEXION ROOT A %s DEPUIS %s"
 
 #: login-utils/login.c:1071
 #, c-format
 msgid "ROOT LOGIN ON %s"
-msgstr ""
+msgstr "CONNEXION ROOT A %s"
 
 #: login-utils/login.c:1074
 #, c-format
 msgid "LOGIN ON %s BY %s FROM %s"
-msgstr ""
+msgstr "CONNEXION A %s PAR %s DEPUIS %s"
 
 #: login-utils/login.c:1077
 #, c-format
 msgid "LOGIN ON %s BY %s"
-msgstr ""
+msgstr "CONNEXION A %s PAR %s"
 
 #: login-utils/login.c:1089
 #, c-format
 msgid "You have %smail.\n"
-msgstr ""
+msgstr "Vous avez %smail.\n"
 
 #: login-utils/login.c:1090
 msgid "new "
-msgstr ""
+msgstr "nouveau"
 
 #. error in fork()
 #: login-utils/login.c:1108
 #, c-format
 msgid "login: failure forking: %s"
-msgstr ""
+msgstr "Connexion : échec de fork : %s"
 
 #: login-utils/login.c:1123
-#, fuzzy
 msgid "setuid() failed"
-msgstr "settimeofday() a échoué"
+msgstr "setuid() a échoué"
 
 #: login-utils/login.c:1129
 #, c-format
 msgid "No directory %s!\n"
-msgstr ""
+msgstr "Aucun répertoire %s !\n"
 
 #: login-utils/login.c:1133
 msgid "Logging in with home = \"/\".\n"
-msgstr ""
+msgstr "Connexion avec home = \"/\".\n"
 
 #: login-utils/login.c:1141
 msgid "login: no memory for shell script.\n"
-msgstr ""
+msgstr "Connexion : mémoire insuffisante pour le script de shell.\n"
 
 #: login-utils/login.c:1169
 #, c-format
 msgid "login: couldn't exec shell script: %s.\n"
-msgstr ""
+msgstr "Connexion : impossible d'exécuter le script de shell : %s.\n"
 
 #: login-utils/login.c:1172
 #, c-format
 msgid "login: no shell: %s.\n"
-msgstr ""
+msgstr "Connexion : aucun shell : %s.\n"
 
 #: login-utils/login.c:1188
-#, fuzzy, c-format
+#, c-format
 msgid ""
 "\n"
 "%s login: "
-msgstr "\"%s\" ligne %d"
+msgstr ""
+"\n"
+"Connexion %s : "
 
 #: login-utils/login.c:1199
-#, fuzzy
 msgid "login name much too long.\n"
-msgstr "ligne trop longue"
+msgstr "nom de connexion beaucoup trop long.\n"
 
 #: login-utils/login.c:1200
-#, fuzzy
 msgid "NAME too long"
-msgstr "Ligne trop longue"
+msgstr "NOM trop long"
 
 #: login-utils/login.c:1207
 msgid "login names may not start with '-'.\n"
-msgstr ""
+msgstr "Les noms de connexion ne peuvent pas commencer par '-'.\n"
 
 #: login-utils/login.c:1217
-#, fuzzy
 msgid "too many bare linefeeds.\n"
-msgstr "Trops d'arguments.\n"
+msgstr "Trop de sauts de ligne vides.\n"
 
 #: login-utils/login.c:1218
 msgid "EXCESSIVE linefeeds"
-msgstr ""
+msgstr "Sauts de ligne EXCESSIFS"
 
 #: login-utils/login.c:1229
 #, c-format
 msgid "Login timed out after %d seconds\n"
-msgstr ""
+msgstr "Temporisation de la connexion après %d secondes.\n"
 
 #: login-utils/login.c:1329
 #, c-format
 msgid "Last login: %.*s "
-msgstr ""
+msgstr "Dernière connexion : %.*s "
 
 #: login-utils/login.c:1333
 #, c-format
 msgid "from %.*s\n"
-msgstr ""
+msgstr "depuis %.*s\n"
 
 #: login-utils/login.c:1336
 #, c-format
 msgid "on %.*s\n"
-msgstr ""
+msgstr "à %.*s\n"
 
 #: login-utils/login.c:1359
 #, c-format
 msgid "LOGIN FAILURE FROM %s, %s"
-msgstr ""
+msgstr "ECHEC DE LA CONNEXION DEPUIS %s, %s"
 
 #: login-utils/login.c:1362
 #, c-format
 msgid "LOGIN FAILURE ON %s, %s"
-msgstr ""
+msgstr "ECHEC DE LA CONNEXION A %s, %s"
 
 #: login-utils/login.c:1366
 #, c-format
 msgid "%d LOGIN FAILURES FROM %s, %s"
-msgstr ""
+msgstr "%d ECHECS DE CONNEXION DEPUIS %s, %s"
 
 #: login-utils/login.c:1369
 #, c-format
 msgid "%d LOGIN FAILURES ON %s, %s"
-msgstr ""
+msgstr "%d ECHECS DE CONNEXION A %s, %s"
 
 #: login-utils/mesg.c:89
 msgid "is y\n"
-msgstr ""
+msgstr "est y\n"
 
 #: login-utils/mesg.c:92
 msgid "is n\n"
-msgstr ""
+msgstr "est n\n"
 
 #: login-utils/mesg.c:112
-#, fuzzy
 msgid "usage: mesg [y | n]\n"
-msgstr "usage: %s [ -n ] périphérique\n"
+msgstr "Usage : mesg [y | n]\n"
 
 #: login-utils/newgrp.c:67
 msgid "newgrp: Who are you?"
-msgstr ""
+msgstr "Nouveau groupe : Qui êtes-vous ?"
 
 #: login-utils/newgrp.c:75 login-utils/newgrp.c:85
 msgid "newgrp: setgid"
-msgstr ""
+msgstr "Nouveau groupe : setgid"
 
 #: login-utils/newgrp.c:80
 msgid "newgrp: No such group."
-msgstr ""
+msgstr "Nouveau groupe : Aucun groupe de ce nom."
 
 #: login-utils/newgrp.c:89
 msgid "newgrp: Permission denied"
-msgstr ""
+msgstr "Nouveau groupe : Autorisation refusée"
 
 #: login-utils/newgrp.c:96
 msgid "newgrp: setuid"
-msgstr ""
+msgstr "Nouveau groupe : setuid"
 
 #: login-utils/newgrp.c:102
 msgid "No shell"
-msgstr ""
+msgstr "Aucun shell"
 
-#: login-utils/passwd.c:163
+#: login-utils/passwd.c:161
 msgid "The password must have at least 6 characters, try again.\n"
 msgstr ""
+"Le mot de passe doit contenir au moins 6 caractères. Essayez de nouveau.\n"
 
-#: login-utils/passwd.c:176
+#: login-utils/passwd.c:174
 msgid "The password must contain characters out of two of the following\n"
-msgstr ""
+msgstr "Le mot de passe doit contenir des caractères de deux des classes\n"
 
-#: login-utils/passwd.c:177
+#: login-utils/passwd.c:175
 msgid "classes:  upper and lower case letters, digits and non alphanumeric\n"
 msgstr ""
+"classes : lettres minuscules et majuscules, chiffres et caractères non\n"
 
-#: login-utils/passwd.c:178
+#: login-utils/passwd.c:176
 msgid "characters. See passwd(1) for more information.\n"
-msgstr ""
+msgstr "alphanumériques. Voir passwd(1) pour plus d'informations.\n"
 
-#: login-utils/passwd.c:183
+#: login-utils/passwd.c:181
 msgid "You cannot reuse the old password.\n"
-msgstr ""
+msgstr "Vous ne pouvez pas réutiliser l'ancien mot de passe.\n"
 
-#: login-utils/passwd.c:188
+#: login-utils/passwd.c:186
 msgid "Please don't use something like your username as password!\n"
-msgstr ""
+msgstr "N'utilisez pas votre nom d'utilisateur comme mot de passe !\n"
 
-#: login-utils/passwd.c:199 login-utils/passwd.c:206
+#: login-utils/passwd.c:197 login-utils/passwd.c:204
 msgid "Please don't use something like your realname as password!\n"
-msgstr ""
+msgstr "N'utilisez pas votre nom réel comme mot de passe !\n"
 
-#: login-utils/passwd.c:223
+#: login-utils/passwd.c:221
 msgid "Usage: passwd [username [password]]\n"
-msgstr ""
+msgstr "Usage : passwd [nom-utilisateur [mot de passe]]\n"
 
-#: login-utils/passwd.c:224
+#: login-utils/passwd.c:222
 msgid "Only root may use the one and two argument forms.\n"
 msgstr ""
+"Seul l'utilisateur root peut utiliser les formes d'argument un et deux.\n"
 
-#: login-utils/passwd.c:280
+#: login-utils/passwd.c:278
 msgid "Usage: passwd [-foqsvV] [user [password]]\n"
-msgstr ""
+msgstr "Usage : passwd [-foqsvV] [utilisateur [mot de passe]]\n"
 
-#: login-utils/passwd.c:301
+#: login-utils/passwd.c:299
 #, c-format
 msgid "Can't exec %s: %s\n"
-msgstr ""
+msgstr "Impossible d'exécuter %s : %s\n"
 
-#: login-utils/passwd.c:312
+#: login-utils/passwd.c:310
 msgid "Cannot find login name"
-msgstr ""
+msgstr "Nom de connexion introuvable"
 
-#: login-utils/passwd.c:319 login-utils/passwd.c:326
+#: login-utils/passwd.c:317 login-utils/passwd.c:324
 msgid "Only root can change the password for others.\n"
 msgstr ""
+"Seul l'utilisateur root peut modifier le mot de passe d'autres "
+"utilisateurs.\n"
 
-#: login-utils/passwd.c:334
+#: login-utils/passwd.c:332
 msgid "Too many arguments.\n"
-msgstr "Trops d'arguments.\n"
+msgstr "Trop d'arguments.\n"
 
-#: login-utils/passwd.c:339
+#: login-utils/passwd.c:337
 #, c-format
 msgid "Can't find username anywhere. Is `%s' really a user?"
 msgstr ""
-"Impossible de trouver ce nom d'utilisateur. Es ce que `%s' est réélement un "
-"utilisateur?"
+"Impossible de trouver ce nom d'utilisateur. Est-ce que `%s' est réellement "
+"un utilisateur ?"
 
-#: login-utils/passwd.c:343
+#: login-utils/passwd.c:341
 msgid "Sorry, I can only change local passwords. Use yppasswd instead."
 msgstr ""
 "Désolé, je peux seulement changer les mots de passe locaux. Utilisez "
 "yppasswd à la place."
 
-#: login-utils/passwd.c:349
+#: login-utils/passwd.c:347
 msgid "UID and username does not match, imposter!"
-msgstr "UID et nom d'utilisaeur ne correspondent pas, imposteur!"
+msgstr "UID et le nom d'utilisateur ne correspondent pas, imposteur !"
 
-#: login-utils/passwd.c:354
+#: login-utils/passwd.c:352
 #, c-format
 msgid "Changing password for %s\n"
 msgstr "Changement du mot de passe pour %s\n"
 
-#: login-utils/passwd.c:358
+#: login-utils/passwd.c:356
 msgid "Enter old password: "
-msgstr "Donnez l'ancien mot de passe: "
+msgstr "Entrez l'ancien mot de passe : "
 
-#: login-utils/passwd.c:360
+#: login-utils/passwd.c:358
 msgid "Illegal password, imposter."
-msgstr "Mot de passe invalide, imposteur."
+msgstr "Mot de passe non valide, imposteur !"
 
-#: login-utils/passwd.c:372
+#: login-utils/passwd.c:370
 msgid "Enter new password: "
-msgstr "Donnez le nouveau mot de passe: "
+msgstr "Entrez le nouveau mot de passe : "
 
-#: login-utils/passwd.c:374
+#: login-utils/passwd.c:372
 msgid "Password not changed."
 msgstr "Mot de passe inchangé."
 
-#: login-utils/passwd.c:384
+#: login-utils/passwd.c:382
 msgid "Re-type new password: "
-msgstr "Redonnez le nouveau mot de passe: "
+msgstr "Re-tapez le nouveau mot de passe : "
 
-#: login-utils/passwd.c:387
+#: login-utils/passwd.c:385
 msgid "You misspelled it. Password not changed."
 msgstr "Vous avez fait une faute de frappe. Mot de passe inchangé."
 
-#: login-utils/passwd.c:402
+#: login-utils/passwd.c:400
 #, c-format
 msgid "password changed, user %s"
-msgstr "mot de passe changé pour l'utilisateur %s"
+msgstr "Mot de passe changé pour l'utilisateur %s."
 
-#: login-utils/passwd.c:405
+#: login-utils/passwd.c:403
 msgid "ROOT PASSWORD CHANGED"
-msgstr "MOT DE PASSE DE ROOT CHANGÉ"
+msgstr "MOT DE PASSE ROOT CHANGÉ"
 
-#: login-utils/passwd.c:407
-#, fuzzy, c-format
+#: login-utils/passwd.c:405
+#, c-format
 msgid "password changed by root, user %s"
-msgstr "mot de passe changé pour l'utilisateur %s"
+msgstr "Mot de passe changé par l'utilisateur root pour l'utilisateur %s."
 
-#: login-utils/passwd.c:414
+#: login-utils/passwd.c:412
 msgid "calling setpwnam to set password.\n"
-msgstr ""
+msgstr "Appel de setpwnam pour définir le mot de passe.\n"
 
-#: login-utils/passwd.c:418
+#: login-utils/passwd.c:416
 msgid "Password *NOT* changed.  Try again later.\n"
-msgstr "Mot de passe *NON* changé. Essayez à nouveau plus tard.\n"
+msgstr "Mot de passe *NON* changé. Essayez de nouveau plus tard.\n"
 
-#: login-utils/passwd.c:424
+#: login-utils/passwd.c:422
 msgid "Password changed.\n"
 msgstr "Mot de passe changé.\n"
 
 #: login-utils/shutdown.c:85
 msgid "Usage: shutdown [-h|-r] [-fqs] [now|hh:ss|+mins]\n"
-msgstr "Usage: shutdown [-h|-r] [-fqs] [now|hh:ss|+mins]\n"
+msgstr "Usage : shutdown [-h|-r] [-fqs] [now|hh:ss|+mins]\n"
 
 #: login-utils/shutdown.c:103
 msgid "Shutdown process aborted"
-msgstr ""
+msgstr "Processus de fermeture abandonné."
 
 #: login-utils/shutdown.c:125
 #, c-format
 msgid "%s: Only root can shut a system down.\n"
-msgstr "%s: Seulement le super-utilisateur peux éteindre le système.\n"
+msgstr "%s : Seul l'utilisateur root peut éteindre le système.\n"
 
 #: login-utils/shutdown.c:219
 msgid "That must be tomorrow, can't you wait till then?\n"
-msgstr ""
+msgstr "Ca doit être demain, ne pouvez-vous pas attendre jusque là ?\n"
 
 #: login-utils/shutdown.c:271
 msgid "for maintenance; bounce, bounce"
-msgstr ""
+msgstr "pour la maintenance ; bounce, bounce"
 
 #: login-utils/shutdown.c:275
 #, c-format
 msgid "timeout = %d, quiet = %d, reboot = %d\n"
-msgstr ""
+msgstr "timeout = %d, quiet = %d, reboot = %d\n"
 
 #: login-utils/shutdown.c:300
 msgid "The system is being shut down within 5 minutes"
-msgstr ""
+msgstr "Le système sera fermé dans 5 minutes."
 
 #: login-utils/shutdown.c:304
 msgid "Login is therefore prohibited."
-msgstr ""
+msgstr "Connexion non autorisée par conséquent."
 
 #: login-utils/shutdown.c:325
 #, c-format
 msgid "%s by %s: %s"
-msgstr ""
+msgstr "%s par %s : %s"
 
 #: login-utils/shutdown.c:326
 msgid "rebooted"
-msgstr ""
+msgstr "réamorcé"
 
 #: login-utils/shutdown.c:326
 msgid "halted"
-msgstr ""
+msgstr "interrompu"
 
 #. RB_AUTOBOOT
 #: login-utils/shutdown.c:377
@@ -5811,7 +6187,7 @@ msgid ""
 "Why am I still alive after reboot?"
 msgstr ""
 "\n"
-"Pourquoi suis-je encore vivant après le redémarrage?"
+"Pourquoi suis-je encore vivant après le redémarrage ?"
 
 #: login-utils/shutdown.c:379
 msgid ""
@@ -5819,40 +6195,40 @@ msgid ""
 "Now you can turn off the power..."
 msgstr ""
 "\n"
-"Maintenant vous pouvez éteindre la machine..."
+"Vous pouvez éteindre la machine maintenant..."
 
 #: login-utils/shutdown.c:394
 msgid "Calling kernel power-off facility...\n"
-msgstr ""
+msgstr "Appel de la fonction de mise hors tension du kernel...\n"
 
 #: login-utils/shutdown.c:397
 #, c-format
 msgid "Error powering off\t%s\n"
-msgstr ""
+msgstr "Erreur lors de la mise hors tension de\t%s\n"
 
 #: login-utils/shutdown.c:405
 #, c-format
 msgid "Executing the program \"%s\" ...\n"
-msgstr ""
+msgstr "Exécution en cours du programme \"%s\" ...\n"
 
 #: login-utils/shutdown.c:408
 #, c-format
 msgid "Error executing\t%s\n"
-msgstr ""
+msgstr "Erreur lors de l'exécution de\t%s\n"
 
 #: login-utils/shutdown.c:431
 #, c-format
 msgid "\aURGENT: broadcast message from %s:"
-msgstr ""
+msgstr "\aURGENT: message broadcast depuis %s :"
 
 #: login-utils/shutdown.c:437
 msgid "System going down IMMEDIATELY!\n"
-msgstr "Arrêt IMMÉDIAT du système!\n"
+msgstr "Arrêt IMMEDIAT du système !\n"
 
 #: login-utils/shutdown.c:440
 #, c-format
 msgid "System going down in %d hour%s %d minutes"
-msgstr ""
+msgstr "Arrêt du système dans %d heure%s %d minutes."
 
 #: login-utils/shutdown.c:441 login-utils/shutdown.c:444
 msgid "s"
@@ -5861,7 +6237,7 @@ msgstr "s"
 #: login-utils/shutdown.c:443
 #, c-format
 msgid "System going down in %d minute%s\n"
-msgstr ""
+msgstr "Arrêt du système dans %d minute%s.\n"
 
 #: login-utils/shutdown.c:449
 #, c-format
@@ -5870,307 +6246,308 @@ msgstr "\t... %s ...\n"
 
 #: login-utils/shutdown.c:506
 msgid "Cannot fork for swapoff. Shrug!"
-msgstr ""
+msgstr "fork pour swapoff impossible. "
 
 #: login-utils/shutdown.c:514
 msgid "Cannot exec swapoff, hoping umount will do the trick."
-msgstr ""
+msgstr "exec swapoff impossible. Il reste à espérer que umount fera l'affaire."
 
 #: login-utils/shutdown.c:533
 msgid "Cannot fork for umount, trying manually."
-msgstr ""
+msgstr "fork pour umount impossible. Essayez manuellement."
 
 #: login-utils/shutdown.c:542
 #, c-format
 msgid "Cannot exec %s, trying umount.\n"
-msgstr ""
+msgstr "exec %s impossible. Essayez umount.\n"
 
 #: login-utils/shutdown.c:546
 msgid "Cannot exec umount, giving up on umount."
-msgstr ""
+msgstr "exec umount impossible. Abandon de umount."
 
 #: login-utils/shutdown.c:551
 msgid "Unmounting any remaining filesystems..."
-msgstr ""
+msgstr "Démontage en cours des systèmes de fichiers restants..."
 
 #: login-utils/shutdown.c:587
 #, c-format
 msgid "shutdown: Couldn't umount %s\n"
-msgstr ""
+msgstr "Fermeture : umount %s impossible.\n"
 
 #: login-utils/simpleinit.c:79
 msgid "Booting to single user mode.\n"
-msgstr ""
+msgstr "Amorçage en mode utilisateur unique.\n"
 
 #: login-utils/simpleinit.c:83
 msgid "exec of single user shell failed\n"
-msgstr ""
+msgstr "exec utilisateur unique a échoué.\n"
 
 #: login-utils/simpleinit.c:87
 msgid "fork of single user shell failed\n"
-msgstr ""
+msgstr "fork utilisateur unique a échoué.\n"
 
 #: login-utils/simpleinit.c:226
-#, fuzzy
 msgid ""
 "\n"
 "Wrong password.\n"
-msgstr "Mot de passe incorrect."
+msgstr ""
+"\n"
+"Mot de passe incorrect.\n"
 
 #: login-utils/simpleinit.c:252
 msgid "exec rc failed\n"
-msgstr ""
+msgstr "Echec de exec rc\n"
 
 #: login-utils/simpleinit.c:255
 msgid "open of rc file failed\n"
-msgstr ""
+msgstr "Echec de l'ouverture du fichier rc\n"
 
 #: login-utils/simpleinit.c:261
 msgid "fork of rc shell failed\n"
-msgstr ""
+msgstr "Echec de fork du shell rc.\n"
 
 #: login-utils/simpleinit.c:273
 msgid "fork failed\n"
-msgstr ""
+msgstr "Echec de fork.\n"
 
-#: login-utils/simpleinit.c:302 text-utils/more.c:1574
+#: login-utils/simpleinit.c:302 text-utils/more.c:1549
 msgid "exec failed\n"
-msgstr ""
+msgstr "Echec de exec.\n"
 
 #: login-utils/simpleinit.c:324
-#, fuzzy
 msgid "cannot open inittab\n"
-msgstr "Impossible d'ouvrir le disque dur"
+msgstr "Impossible d'ouvrir inittab.\n"
 
 #: login-utils/simpleinit.c:362
 msgid "no TERM or cannot stat tty\n"
-msgstr ""
+msgstr "aucun TERM ou stat tty impossible.\n"
 
 #: login-utils/ttymsg.c:81
 msgid "too many iov's (change code in wall/ttymsg.c)"
-msgstr ""
+msgstr "Trop de iov (changez le code dans wall/ttymsg.c)"
 
 #: login-utils/ttymsg.c:91
 msgid "excessively long line arg"
-msgstr ""
+msgstr "Arg de ligne beaucoup trop long."
 
 #: login-utils/ttymsg.c:145
 msgid "cannot fork"
-msgstr ""
+msgstr "fork impossible."
 
 #: login-utils/ttymsg.c:149
 #, c-format
 msgid "fork: %s"
-msgstr ""
+msgstr "fork : %s"
 
 #: login-utils/ttymsg.c:177
 #, c-format
 msgid "%s: BAD ERROR"
-msgstr ""
+msgstr "%s : MAUVAISE ERREUR"
 
 #: login-utils/vipw.c:149
 #, c-format
 msgid "%s: the %s file is busy.\n"
-msgstr ""
+msgstr "%s : le fichier %s est occupé.\n"
 
 #: login-utils/vipw.c:165
 #, c-format
 msgid "%s: the %s file is busy (%s present)\n"
-msgstr ""
+msgstr "%s : le fichier %s est occupé (%s présent)\n"
 
 #: login-utils/vipw.c:171
-#, fuzzy, c-format
+#, c-format
 msgid "%s: can't link %s: %s\n"
-msgstr "%s: impossible de trouver \"_stext\" dans %s\n"
+msgstr "%s : impossible de lier %s: %s\n"
 
 #: login-utils/vipw.c:193
 #, c-format
 msgid "%s: can't unlock %s: %s (your changes are still in %s)\n"
 msgstr ""
+"%s : impossible de déverrouiller %s: %s (vos modifications sont toujours "
+"dans %s).\n"
 
 #: login-utils/vipw.c:217
 #, c-format
 msgid "%s: Cannot fork\n"
-msgstr ""
+msgstr "%s : fork impossible\n"
 
 #: login-utils/vipw.c:257
-#, fuzzy, c-format
+#, c-format
 msgid "%s: %s unchanged\n"
-msgstr "Le disque a été changé.\n"
+msgstr "%s : %s inchangé\n"
 
 #: login-utils/vipw.c:300
 #, c-format
 msgid "%s: no changes made\n"
-msgstr ""
+msgstr "%s : aucun changement effectué\n"
 
 #: login-utils/wall.c:103
-#, fuzzy, c-format
+#, c-format
 msgid "usage: %s [file]\n"
-msgstr "usage: rev [fichier ...]\n"
+msgstr "Usage : %s [fichier]\n"
 
 #: login-utils/wall.c:151
-#, fuzzy, c-format
+#, c-format
 msgid "%s: can't open temporary file.\n"
-msgstr "Impossible d'ouvrir le fichier d'aide"
+msgstr "%s : impossible d'ouvrir le fichier temporaire.\n"
 
 #: login-utils/wall.c:178
 #, c-format
 msgid "Broadcast Message from %s@%s"
-msgstr ""
+msgstr "Message Broadcast depuis %s@%s"
 
 #: login-utils/wall.c:188
-#, fuzzy, c-format
+#, c-format
 msgid "%s: can't read %s.\n"
-msgstr "hexdump: impossible de lire %s.\n"
+msgstr "%s : impossible de lire %s.\n"
 
 #: login-utils/wall.c:213
 #, c-format
 msgid "%s: can't stat temporary file.\n"
-msgstr ""
+msgstr "%s : stat du fichier temporaire impossible.\n"
 
 #: login-utils/wall.c:222
 #, c-format
 msgid "%s: can't read temporary file.\n"
-msgstr ""
+msgstr "%s : lecture du fichier temporaire impossible.\n"
 
-#: misc-utils/cal.c:184
+#: misc-utils/cal.c:189
 msgid "illegal month value: use 1-12"
-msgstr ""
+msgstr "Valeur de mois non valide : utilisez les valeurs 1 à 12."
 
-#: misc-utils/cal.c:188
-#, fuzzy
+#: misc-utils/cal.c:193
 msgid "illegal year value: use 1-9999"
-msgstr "Nombre de têtes non valide"
+msgstr "Valeur d'année non valide : utilisez 1-9999."
 
-#: misc-utils/cal.c:484
-msgid "usage: cal [-mjy] [[month] year]\n"
-msgstr ""
+#: misc-utils/cal.c:489
+msgid "usage: cal [-mjyV] [[month] year]\n"
+msgstr "Usage : cal [-mjyV] [[mois] année]\n"
 
-#: misc-utils/ddate.c:184
+#: misc-utils/ddate.c:192
 #, c-format
 msgid "usage: %s [+format] [day month year]\n"
-msgstr ""
+msgstr "Usage : %s [+format] [jour mois année]\n"
 
 #. handle St. Tib's Day
-#: misc-utils/ddate.c:230
+#: misc-utils/ddate.c:238
 msgid "St. Tib's Day"
-msgstr ""
+msgstr "Jour de la St. Tib"
 
-#: misc-utils/kill.c:199
-#, fuzzy, c-format
+#: misc-utils/kill.c:209
+#, c-format
 msgid "%s: unknown signal %s\n"
-msgstr "%s: erreur: version inconnue %d\n"
+msgstr "%s : signal %s inconnu\n"
 
-#: misc-utils/kill.c:261
-#, fuzzy, c-format
+#: misc-utils/kill.c:271
+#, c-format
 msgid "%s: can't find process \"%s\"\n"
-msgstr "%s: impossible de trouver \"_stext\" dans %s\n"
+msgstr "%s : processus \"%s\" introuvable\n"
 
-#: misc-utils/kill.c:303
+#: misc-utils/kill.c:315
 #, c-format
 msgid "%s: unknown signal %s; valid signals:\n"
-msgstr ""
+msgstr "%s : signal %s inconnu ; signaux valides :\n"
 
-#: misc-utils/kill.c:343
-#, fuzzy, c-format
+#: misc-utils/kill.c:355
+#, c-format
 msgid "usage: %s [ -s signal | -p ] [ -a ] pid ...\n"
-msgstr "usage: %s [ -i ] [ -tTerm ] fichier...\n"
+msgstr "Usage : %s [ -s signal | -p ] [ -a ] pid ...\n"
 
-#: misc-utils/kill.c:344
+#: misc-utils/kill.c:356
 #, c-format
 msgid "       %s -l [ signal ]\n"
-msgstr ""
+msgstr "       %s -l [ signal ]\n"
 
-#: misc-utils/logger.c:137
+#: misc-utils/logger.c:144
 #, c-format
 msgid "logger: %s: %s.\n"
-msgstr ""
+msgstr "Utilisateur tentant de se connecter : %s: %s.\n"
 
-#: misc-utils/logger.c:234
+#: misc-utils/logger.c:248
 #, c-format
 msgid "logger: unknown facility name: %s.\n"
-msgstr ""
+msgstr "Utilisateur : nom de fonction inconnu : %s.\n"
 
-#: misc-utils/logger.c:246
+#: misc-utils/logger.c:260
 #, c-format
 msgid "logger: unknown priority name: %s.\n"
-msgstr ""
+msgstr "Utilisateur : nom de priorité inconnu : %s.\n"
 
-#: misc-utils/logger.c:273
+#: misc-utils/logger.c:287
 msgid ""
 "usage: logger [-is] [-f file] [-p pri] [-t tag] [-u socket] [ message ... ]\n"
 msgstr ""
+"usage : utilisateur [-is] [-f fichier] [-p pri] [-t balise] [-u socket] [ "
+"message ... ]\n"
 
-#: misc-utils/look.c:340
-#, fuzzy
+#: misc-utils/look.c:336
 msgid "usage: look [-dfa] [-t char] string [file]\n"
-msgstr "usage: %s [ - ] [ -2 ] [ fichier ... ]\n"
+msgstr "usage : look [-dfa] [-t car] string [fichier]\n"
 
 #: misc-utils/mcookie.c:122 misc-utils/mcookie.c:149
-#, fuzzy, c-format
+#, c-format
 msgid "Could not open %s\n"
 msgstr "Impossible d'ouvrir %s\n"
 
 #: misc-utils/mcookie.c:126 misc-utils/mcookie.c:145
 #, c-format
 msgid "Got %d bytes from %s\n"
-msgstr ""
+msgstr "%d octets reçus de %s\n"
 
 #: misc-utils/namei.c:107
 #, c-format
 msgid "namei: unable to get current directory - %s\n"
-msgstr ""
+msgstr "namei : impossible d'obtenir le répertoire en cours - %s\n"
 
 #: misc-utils/namei.c:118
 #, c-format
 msgid "namei: unable to chdir to %s - %s (%d)\n"
-msgstr ""
+msgstr "namei : chdir impossible dans %s - %s (%d)\n"
 
 #: misc-utils/namei.c:128
 msgid "usage: namei [-mx] pathname [pathname ...]\n"
-msgstr ""
+msgstr "Usage : namei [-mx] pathname [nom-chemin ...]\n"
 
 #: misc-utils/namei.c:157
 msgid "namei: could not chdir to root!\n"
-msgstr ""
+msgstr "namei : chdir impossible dans le répertoire root !\n"
 
 #: misc-utils/namei.c:164
 msgid "namei: could not stat root!\n"
-msgstr ""
+msgstr "namei : stat du répertoire root impossible !\n"
 
 #: misc-utils/namei.c:219
 #, c-format
 msgid " ? could not chdir into %s - %s (%d)\n"
-msgstr ""
+msgstr " ? chdir impossible dans %s - %s (%d)\n"
 
 #: misc-utils/namei.c:248
-#, fuzzy, c-format
+#, c-format
 msgid " ? problems reading symlink %s - %s (%d)\n"
-msgstr "Problème lors de la lecture du cylindre %d, %d attendu, %d lu\n"
+msgstr " ? problèmes lors de la lecture du lien symbolique %s - %s (%d)\n"
 
 #: misc-utils/namei.c:258
-msgid "  *** EXCEEDED UNIX LIMIT OF SYMLINKS ***"
-msgstr ""
+msgid "  *** EXCEEDED UNIX LIMIT OF SYMLINKS ***\n"
+msgstr "  *** LIMITE UNIX DE LIENS SYMBOLIQUES DEPASSEE ***\n"
 
-#: misc-utils/namei.c:294
+#: misc-utils/namei.c:295
 #, c-format
 msgid "namei: unknown file type 0%06o on file %s\n"
-msgstr ""
+msgstr "namei : type de fichier inconnu 0%06o dans le fichier %s\n"
 
 #: misc-utils/script.c:109
-#, fuzzy
 msgid "usage: script [-a] [file]\n"
-msgstr "usage: rev [fichier ...]\n"
+msgstr "Usage : script [-a] [fichier]\n"
 
 #: misc-utils/script.c:129
 #, c-format
 msgid "Script started, file is %s\n"
-msgstr ""
+msgstr "Le script a commencé, le fichier est %s\n"
 
 #: misc-utils/script.c:198
 #, c-format
 msgid "Script started on %s"
-msgstr ""
+msgstr "Début du script sur %s"
 
 #: misc-utils/script.c:264
 #, c-format
@@ -6178,309 +6555,309 @@ msgid ""
 "\n"
 "Script done on %s"
 msgstr ""
+"\n"
+"Script terminé sur %s"
 
 #: misc-utils/script.c:269
 #, c-format
 msgid "Script done, file is %s\n"
-msgstr ""
+msgstr "Script terminé, le fichier est %s\n"
 
 #: misc-utils/script.c:281
 msgid "openpty failed\n"
-msgstr ""
+msgstr "openpty a échoué.\n"
 
 #: misc-utils/script.c:315
 msgid "Out of pty's\n"
-msgstr ""
+msgstr "A court de pty\n"
 
 #. Print error message about arguments, and the command's syntax.
 #: misc-utils/setterm.c:713
 #, c-format
 msgid "%s: Argument error, usage\n"
-msgstr ""
+msgstr "%s : Erreur d'argument, usage\n"
 
 #: misc-utils/setterm.c:716
 msgid "  [ -term terminal_name ]\n"
-msgstr ""
+msgstr "  [ -term nom_terminal ]\n"
 
 #: misc-utils/setterm.c:717
 msgid "  [ -reset ]\n"
-msgstr ""
+msgstr "  [ -reset ]\n"
 
 #: misc-utils/setterm.c:718
 msgid "  [ -initialize ]\n"
-msgstr ""
+msgstr "  [ -initialize ]\n"
 
 #: misc-utils/setterm.c:719
 msgid "  [ -cursor [on|off] ]\n"
-msgstr ""
+msgstr "  [ -cursor [on|off] ]\n"
 
 #: misc-utils/setterm.c:721
 msgid "  [ -snow [on|off] ]\n"
-msgstr ""
+msgstr "  [ -snow [on|off] ]\n"
 
 #: misc-utils/setterm.c:722
 msgid "  [ -softscroll [on|off] ]\n"
-msgstr ""
+msgstr "  [ -softscroll [on|off] ]\n"
 
 #: misc-utils/setterm.c:724
 msgid "  [ -repeat [on|off] ]\n"
-msgstr ""
+msgstr "  [ -repeat [on|off] ]\n"
 
 #: misc-utils/setterm.c:725
 msgid "  [ -appcursorkeys [on|off] ]\n"
-msgstr ""
+msgstr "  [ -appcursorkeys [on|off] ]\n"
 
 #: misc-utils/setterm.c:726
 msgid "  [ -linewrap [on|off] ]\n"
-msgstr ""
+msgstr "  [ -linewrap [on|off] ]\n"
 
 #: misc-utils/setterm.c:727
 msgid "  [ -default ]\n"
-msgstr ""
+msgstr "  [ -default ]\n"
 
 #: misc-utils/setterm.c:728
 msgid "  [ -foreground black|blue|green|cyan"
-msgstr ""
+msgstr "  [ -foreground black|blue|green|cyan"
 
 #: misc-utils/setterm.c:729 misc-utils/setterm.c:731
 msgid "|red|magenta|yellow|white|default ]\n"
-msgstr ""
+msgstr "|red|magenta|yellow|white|default ]\n"
 
 #: misc-utils/setterm.c:730
 msgid "  [ -background black|blue|green|cyan"
-msgstr ""
+msgstr "  [ -background black|blue|green|cyan"
 
 #: misc-utils/setterm.c:732
 msgid "  [ -ulcolor black|grey|blue|green|cyan"
-msgstr ""
+msgstr "  [ -ulcolor black|grey|blue|green|cyan"
 
 #: misc-utils/setterm.c:733 misc-utils/setterm.c:735 misc-utils/setterm.c:737
 #: misc-utils/setterm.c:739
 msgid "|red|magenta|yellow|white ]\n"
-msgstr ""
+msgstr "|red|magenta|yellow|white ]\n"
 
 #: misc-utils/setterm.c:734
 msgid "  [ -ulcolor bright blue|green|cyan"
-msgstr ""
+msgstr "  [ -ulcolor bright blue|green|cyan"
 
 #: misc-utils/setterm.c:736
 msgid "  [ -hbcolor black|grey|blue|green|cyan"
-msgstr ""
+msgstr "  [ -hbcolor black|grey|blue|green|cyan"
 
 #: misc-utils/setterm.c:738
 msgid "  [ -hbcolor bright blue|green|cyan"
-msgstr ""
+msgstr "  [ -hbcolor bright blue|green|cyan"
 
 #: misc-utils/setterm.c:741
 msgid "  [ -standout [ attr ] ]\n"
-msgstr ""
+msgstr "  [ -standout [ attr ] ]\n"
 
 #: misc-utils/setterm.c:743
 msgid "  [ -inversescreen [on|off] ]\n"
-msgstr ""
+msgstr "  [ -inversescreen [on|off] ]\n"
 
 #: misc-utils/setterm.c:744
 msgid "  [ -bold [on|off] ]\n"
-msgstr ""
+msgstr "  [ -bold [on|off] ]\n"
 
 #: misc-utils/setterm.c:745
 msgid "  [ -half-bright [on|off] ]\n"
-msgstr ""
+msgstr "  [ -half-bright [on|off] ]\n"
 
 #: misc-utils/setterm.c:746
 msgid "  [ -blink [on|off] ]\n"
-msgstr ""
+msgstr "  [ -blink [on|off] ]\n"
 
 #: misc-utils/setterm.c:747
 msgid "  [ -reverse [on|off] ]\n"
-msgstr ""
+msgstr "  [ -reverse [on|off] ]\n"
 
 #: misc-utils/setterm.c:748
 msgid "  [ -underline [on|off] ]\n"
-msgstr ""
+msgstr "  [ -underline [on|off] ]\n"
 
 #: misc-utils/setterm.c:749
 msgid "  [ -store ]\n"
-msgstr ""
+msgstr "  [ -store ]\n"
 
 #: misc-utils/setterm.c:750
 msgid "  [ -clear [all|rest] ]\n"
-msgstr ""
+msgstr "  [ -clear [all|rest] ]\n"
 
 #: misc-utils/setterm.c:751
 msgid "  [ -tabs [ tab1 tab2 tab3 ... ] ]      (tabn = 1-160)\n"
-msgstr ""
+msgstr "  [ -tabs [ tab1 tab2 tab3 ... ] ]      (tabn = 1-160)\n"
 
 #: misc-utils/setterm.c:752
 msgid "  [ -clrtabs [ tab1 tab2 tab3 ... ] ]   (tabn = 1-160)\n"
-msgstr ""
+msgstr "  [ -clrtabs [ tab1 tab2 tab3 ... ] ]   (tabn = 1-160)\n"
 
 #: misc-utils/setterm.c:753
 msgid "  [ -regtabs [1-160] ]\n"
-msgstr ""
+msgstr "  [ -regtabs [1-160] ]\n"
 
 #: misc-utils/setterm.c:754
 msgid "  [ -blank [0-60] ]\n"
-msgstr ""
+msgstr "  [ -blank [0-60] ]\n"
 
 #: misc-utils/setterm.c:755
 msgid "  [ -dump   [1-NR_CONSOLES] ]\n"
-msgstr ""
+msgstr "  [ -dump   [1-NR_CONSOLES] ]\n"
 
 #: misc-utils/setterm.c:756
 msgid "  [ -append [1-NR_CONSOLES] ]\n"
-msgstr ""
+msgstr "  [ -append [1-NR_CONSOLES] ]\n"
 
 #: misc-utils/setterm.c:757
 msgid "  [ -file dumpfilename ]\n"
-msgstr ""
+msgstr "  [ -file dumpfilename ]\n"
 
 #: misc-utils/setterm.c:758
 msgid "  [ -msg [on|off] ]\n"
-msgstr ""
+msgstr "  [ -msg [on|off] ]\n"
 
 #: misc-utils/setterm.c:759
 msgid "  [ -msglevel [0-8] ]\n"
-msgstr ""
+msgstr "  [ -msglevel [0-8] ]\n"
 
 #: misc-utils/setterm.c:760
 msgid "  [ -powersave [on|vsync|hsync|powerdown|off] ]\n"
-msgstr ""
+msgstr "  [ -powersave [on|vsync|hsync|powerdown|off] ]\n"
 
 #: misc-utils/setterm.c:761
 msgid "  [ -powerdown [0-60] ]\n"
-msgstr ""
+msgstr "  [ -powerdown [0-60] ]\n"
 
 #: misc-utils/setterm.c:762
 msgid "  [ -blength [0-2000] ]\n"
-msgstr ""
+msgstr "  [ -blength [0-2000] ]\n"
 
 #: misc-utils/setterm.c:763
 msgid "  [ -bfreq freqnumber ]\n"
-msgstr ""
+msgstr "  [ -bfreq freqnumber ]\n"
 
 #: misc-utils/setterm.c:831
 msgid "snow.on"
-msgstr ""
+msgstr "snow.on"
 
 #: misc-utils/setterm.c:833
 msgid "snow.off"
-msgstr ""
+msgstr "snow.off"
 
 #: misc-utils/setterm.c:839
 msgid "softscroll.on"
-msgstr ""
+msgstr "softscroll.on"
 
 #: misc-utils/setterm.c:841
 msgid "softscroll.off"
-msgstr ""
+msgstr "softscroll.off"
 
 #: misc-utils/setterm.c:1016
 msgid "cannot (un)set powersave mode\n"
-msgstr ""
+msgstr "Impossible de (dés)activer le mode veille.\n"
 
 #: misc-utils/setterm.c:1055 misc-utils/setterm.c:1063
-#, fuzzy, c-format
+#, c-format
 msgid "klogctl error: %s\n"
-msgstr "Erreur de syntaxe: '%s'\n"
+msgstr "Erreur klogctl : %s\n"
 
 #: misc-utils/setterm.c:1104
 #, c-format
 msgid "Error reading %s\n"
-msgstr ""
+msgstr "Erreur lors de la lecture de %s\n"
 
 #: misc-utils/setterm.c:1119
 msgid "Error writing screendump\n"
-msgstr ""
+msgstr "Erreur lors de l'écriture de la capture d'écran\n"
 
 #: misc-utils/setterm.c:1133
 #, c-format
 msgid "couldn't read %s, and cannot ioctl dump\n"
-msgstr ""
+msgstr "Lecture de %s impossible, et ioctl dump impossible.\n"
 
 #: misc-utils/setterm.c:1198
-#, fuzzy, c-format
+#, c-format
 msgid "%s: $TERM is not defined.\n"
-msgstr "%s: %s n'est pas un périphérique lp.\n"
+msgstr "%s : $TERM n'est pas défini.\n"
 
-#: misc-utils/tsort.c:119
-#, fuzzy
+#: misc-utils/tsort.c:120
 msgid "usage: tsort [ inputfile ]\n"
-msgstr "usage: rev [fichier ...]\n"
+msgstr "Usage : tsort [ fichier entrée ]\n"
 
-#: misc-utils/tsort.c:156
+#: misc-utils/tsort.c:157
 msgid "tsort: odd data count.\n"
-msgstr ""
+msgstr "tsort : total données impaires.\n"
 
-#: misc-utils/tsort.c:321
+#: misc-utils/tsort.c:320
 msgid "tsort: cycle in data.\n"
-msgstr ""
+msgstr "tsort : cycle des données.\n"
 
-#: misc-utils/tsort.c:334
+#: misc-utils/tsort.c:333
 msgid "tsort: internal error -- could not find cycle.\n"
-msgstr ""
+msgstr "tsort : erreur interne -- cycle introuvable.\n"
 
-#: misc-utils/whereis.c:149
+#: misc-utils/whereis.c:158
 msgid "whereis [ -sbmu ] [ -SBM dir ... -f ] name...\n"
-msgstr ""
+msgstr "whereis [ -sbmu ] [ -SBM dir ... -f ] nom...\n"
 
 #: misc-utils/write.c:99
 msgid "write: can't find your tty's name\n"
-msgstr ""
+msgstr "write : nom tty introuvable\n"
 
 #: misc-utils/write.c:110
 msgid "write: you have write permission turned off.\n"
-msgstr ""
+msgstr "write : permission d'écriture désactivée.\n"
 
 #: misc-utils/write.c:131
 #, c-format
 msgid "write: %s is not logged in on %s.\n"
-msgstr ""
+msgstr "write : %s non connecté sur %s.\n"
 
 #: misc-utils/write.c:139
 #, c-format
 msgid "write: %s has messages disabled on %s\n"
-msgstr ""
+msgstr "write : %s a des messages désactivés sur %s\n"
 
 #: misc-utils/write.c:146
-#, fuzzy
 msgid "usage: write user [tty]\n"
-msgstr "usage: rev [fichier ...]\n"
+msgstr "Usage : utilisateur write [tty]\n"
 
 #: misc-utils/write.c:245
 #, c-format
 msgid "write: %s is not logged in\n"
-msgstr ""
+msgstr "write : %s n'est pas connecté\n"
 
 #: misc-utils/write.c:254
 #, c-format
 msgid "write: %s has messages disabled\n"
-msgstr ""
+msgstr "write : %s a les messages désactivés\n"
 
 #: misc-utils/write.c:258
 #, c-format
 msgid "write: %s is logged in more than once; writing to %s\n"
-msgstr ""
+msgstr "write : %s est connecté plus d'une fois ; écriture dans %s.\n"
 
 #: misc-utils/write.c:325
 #, c-format
 msgid "Message from %s@%s on %s at %s ..."
-msgstr ""
+msgstr "Message de %s@%s dans %s at %s ..."
 
 #: mount/fstab.c:116
 #, c-format
 msgid "warning: error reading %s: %s"
-msgstr ""
+msgstr "Avertissement : erreur lors de la lecture de %s: %s"
 
 #: mount/fstab.c:143 mount/fstab.c:166
-#, fuzzy, c-format
+#, c-format
 msgid "warning: can't open %s: %s"
-msgstr "col: avertissement : impossible de revenir jusqu'à %s.\n"
+msgstr "Avertissement : impossible d'ouvrir %s: %s"
 
 #: mount/fstab.c:147
 #, c-format
 msgid "mount: could not open %s - using %s instead\n"
-msgstr ""
+msgstr "mount : impossible d'ouvrir %s - utilisation de %s à la place\n"
 
 #. linktargetfile does not exist (as a file)
 #. and we cannot create it. Read-only filesystem?
@@ -6489,147 +6866,173 @@ msgstr ""
 #, c-format
 msgid "can't create lock file %s: %s (use -n flag to override)"
 msgstr ""
+"Impossible de créer le fichier de verrouillage %s: %s (utilisez l'indicateur "
+"-n pour passer outre)"
 
 #: mount/fstab.c:387
 #, c-format
 msgid "can't link lock file %s: %s (use -n flag to override)"
 msgstr ""
+"Impossible de lier le fichier de verrouillage %s: %s (utilisez l'indicateur "
+"-n pour passer outre)"
 
 #: mount/fstab.c:399
 #, c-format
 msgid "can't open lock file %s: %s (use -n flag to override)"
 msgstr ""
+"Impossible d'ouvrir le fichier de verrouillage %s: %s (utilisez la balise -n "
+"pour passer outre)"
 
 #: mount/fstab.c:414
 #, c-format
 msgid "Can't lock lock file %s: %s\n"
-msgstr ""
+msgstr "Impossible de verrouiller le fichier de verrouillage %s: %s\n"
 
-#: mount/fstab.c:425
+#: mount/fstab.c:427
 #, c-format
 msgid "can't lock lock file %s: %s"
-msgstr ""
+msgstr "Impossible de verrouiller le fichier de verrouillage %s: %s"
 
-#: mount/fstab.c:427
+#: mount/fstab.c:429
 msgid "timed out"
+msgstr "Temporisé"
+
+#: mount/fstab.c:436
+#, c-format
+msgid ""
+"Cannot create link %s\n"
+"Perhaps there is a stale lock file?\n"
 msgstr ""
 
-#: mount/fstab.c:472 mount/fstab.c:480
+#: mount/fstab.c:482 mount/fstab.c:490
 #, c-format
 msgid "cannot open %s (%s) - mtab not updated"
-msgstr ""
+msgstr "Impossible d'ouvrir %s (%s) - mtab pas mis à jour"
 
-#: mount/fstab.c:505
+#: mount/fstab.c:515
 msgid "mount: warning: cannot change mounted device with a remount\n"
 msgstr ""
+"mount : avertissement : impossible de modifier le périphérique monté par un "
+"remontage\n"
 
-#: mount/fstab.c:510
+#: mount/fstab.c:520
 msgid "mount: warning: cannot change filesystem type with a remount\n"
 msgstr ""
+"mount : avertissement : impossible de modifier le type d'un système de "
+"fichiers par un remontage\n"
 
-#: mount/fstab.c:518 mount/fstab.c:524
+#: mount/fstab.c:528 mount/fstab.c:534
 #, c-format
 msgid "error writing %s: %s"
-msgstr ""
+msgstr "Erreur lors de l'écriture de %s: %s"
 
-#: mount/fstab.c:531
+#: mount/fstab.c:541
 #, c-format
 msgid "error changing mode of %s: %s\n"
-msgstr ""
+msgstr "Erreur lors du changement du mode de %s: %s\n"
 
-#: mount/fstab.c:538
+#: mount/fstab.c:548
 #, c-format
 msgid "can't rename %s to %s: %s\n"
-msgstr ""
+msgstr "Impossible de renommer %s par %s: %s\n"
 
-#: mount/lomount.c:87
+#: mount/lomount.c:78
 #, c-format
 msgid "loop: can't open device %s: %s\n"
-msgstr ""
+msgstr "loop : impossible d'ouvrir le périphérique %s: %s\n"
 
-#: mount/lomount.c:93
+#: mount/lomount.c:84
 #, c-format
 msgid "loop: can't get info on device %s: %s\n"
-msgstr ""
+msgstr "loop : impossible d'obtenir des infos sur le périphérique %s: %s\n"
 
-#: mount/lomount.c:98 mount/losetup.c:83
+#: mount/lomount.c:89 mount/losetup.c:74
 #, c-format
 msgid "%s: [%04x]:%ld (%s) offset %d, %s encryption\n"
-msgstr ""
+msgstr "%s : [%04x]:%ld (%s) décalage %d, %s cryptage\n"
 
-#: mount/lomount.c:152
+#: mount/lomount.c:143
 msgid "mount: could not find any device /dev/loop#"
-msgstr ""
+msgstr "mount : périphérique introuvable dans /dev/loop#"
 
-#: mount/lomount.c:156
+#: mount/lomount.c:147
 msgid ""
 "mount: Could not find any loop device.\n"
 "       Maybe /dev/loop# has a wrong major number?"
 msgstr ""
+"mount : périphérique de boucle introuvable.\n"
+" /dev/loop# a peut-être un nombre majeur incorrect ?"
 
-#: mount/lomount.c:160
+#: mount/lomount.c:151
 #, c-format
 msgid ""
 "mount: Could not find any loop device, and, according to %s,\n"
 "       this kernel does not know about the loop device.\n"
 "       (If so, then recompile or `insmod loop.o'.)"
 msgstr ""
+"mount : périphérique de boucle introuvable. Selon %s,\n"
+"       ce kernel ne sait rien du périphérique de boucle.\n"
+"       (Si tel est le cas, recompilez ou effectuez `insmod loop.o'.)"
 
-#: mount/lomount.c:165
+#: mount/lomount.c:156
 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 : périphérique de boucle introuvable. Ce kernel ne sait peut-être "
+"rien\n"
+"       du périphérique de boucle (recompilez alors ou effectuez `insmod "
+"loop.o'). Il se peut aussi que\n"
+"       /dev/loop# ait un nombre majeur incorrect."
 
-#: mount/lomount.c:169
+#: mount/lomount.c:160
 msgid "mount: could not find any free loop device"
-msgstr ""
+msgstr "mount : impossible de trouver un périphérique de boucle disponible"
 
-#: mount/lomount.c:200 mount/losetup.c:115
+#: mount/lomount.c:191 mount/losetup.c:106
 #, c-format
 msgid "Unsupported encryption type %s\n"
-msgstr ""
+msgstr "Type de cryptage %s non pris en charge\n"
 
-#: mount/lomount.c:219 mount/losetup.c:135
+#: mount/lomount.c:210 mount/losetup.c:126
 msgid "Init (up to 16 hex digits): "
-msgstr ""
+msgstr "Init(jusqu'à 16 chiffres hexadécimaux) : "
 
-#: mount/lomount.c:226 mount/losetup.c:142
+#: mount/lomount.c:217 mount/losetup.c:133
 #, c-format
 msgid "Non-hex digit '%c'.\n"
-msgstr ""
+msgstr "Chiffre non hexadécimal '%c'.\n"
 
-#: mount/lomount.c:250 mount/losetup.c:165
+#: mount/lomount.c:223 mount/losetup.c:140
 #, c-format
 msgid "Don't know how to get key for encryption system %d\n"
-msgstr ""
+msgstr "Ne sais pas comment obtenir la clé du système de cryptage %d\n"
 
-#: mount/lomount.c:266
+#: mount/lomount.c:239
 #, c-format
 msgid "set_loop(%s,%s,%d): success\n"
-msgstr ""
+msgstr "set_loop(%s,%s,%d) : succès\n"
 
-#: mount/lomount.c:277
+#: mount/lomount.c:250
 #, c-format
 msgid "loop: can't delete device %s: %s\n"
-msgstr ""
+msgstr "loop : impossible de supprimer le périphérique %s: %s\n"
 
-#: mount/lomount.c:287
+#: mount/lomount.c:260
 #, c-format
 msgid "del_loop(%s): success\n"
-msgstr ""
+msgstr "del_loop(%s) : succès\n"
 
-#: mount/lomount.c:295
+#: mount/lomount.c:268
 msgid "This mount was compiled without loop support. Please recompile.\n"
-msgstr ""
+msgstr "Ce montage a été compilé sans prise en charge de boucle. Recompilez.\n"
 
-#: mount/losetup.c:79
-#, fuzzy
+#: mount/losetup.c:70
 msgid "Cannot get loop info"
-msgstr "Impossible de déterminer la taille du disque"
+msgstr "Impossible d'obtenir les infos loop"
 
-#: mount/losetup.c:202
+#: mount/losetup.c:176
 #, c-format
 msgid ""
 "usage:\n"
@@ -6637,290 +7040,321 @@ msgid ""
 "  %s -d loop_device                                   # delete\n"
 "  %s [ -e encryption ] [ -o offset ] loop_device file # setup\n"
 msgstr ""
+"Usage :\n"
+"  %s périphérique_boucle                                      # donner "
+"infos\n"
+"  %s -d périphérique_boucle                                   # supprimer\n"
+"  %s [ -e cryptage ] [ -o décalage ] fichier périphérique_boucle # "
+"configurer\n"
 
-#: mount/losetup.c:266
+#: mount/losetup.c:234
 msgid "No loop support was available at compile time. Please recompile.\n"
 msgstr ""
+"Aucune prise en charge de boucle disponible au moment de la compilation. "
+"Recompilez.\n"
 
 #: mount/mntent.c:165
 #, c-format
 msgid "[mntent]: warning: no final newline at the end of %s\n"
 msgstr ""
+"[mntent] : avertissement : aucune nouvelle ligne finale à la fin de %s\n"
 
 #: mount/mntent.c:216
 #, c-format
 msgid "[mntent]: line %d in %s is bad%s\n"
-msgstr ""
+msgstr "[mntent] : la ligne %d dans %s est incorrecte%s\n"
 
 #: mount/mntent.c:219
 msgid "; rest of file ignored"
-msgstr ""
+msgstr "; reste du fichier ignoré"
 
 #: mount/mount.c:333
 #, c-format
 msgid "mount: according to mtab, %s is already mounted on %s"
-msgstr ""
+msgstr "mount : selon mtab, %s est déjà monté sur %s"
 
 #: mount/mount.c:336
 #, c-format
 msgid "mount: according to mtab, %s is mounted on %s"
-msgstr ""
+msgstr "mount : selon mtab, %s est monté sur %s"
 
 #: mount/mount.c:357
 #, c-format
 msgid "mount: can't open %s for writing: %s"
-msgstr ""
+msgstr "mount : impossible d'ouvrir %s pour écriture : %s"
 
-#: mount/mount.c:372 mount/mount.c:644
+#: mount/mount.c:372 mount/mount.c:654
 #, c-format
 msgid "mount: error writing %s: %s"
-msgstr ""
+msgstr "mount : erreur lors de l'écriture de %s: %s"
 
 #: mount/mount.c:379
 #, c-format
 msgid "mount: error changing mode of %s: %s"
+msgstr "mount : erreur lors du changement du mode de %s: %s"
+
+#: mount/mount.c:413
+#, c-format
+msgid "%s looks like swapspace - not mounted"
 msgstr ""
 
-#: mount/mount.c:473
+#: mount/mount.c:481
 msgid "mount failed"
-msgstr ""
+msgstr "Echec du montage"
 
-#: mount/mount.c:475
-#, fuzzy, c-format
+#: mount/mount.c:483
+#, c-format
 msgid "mount: only root can mount %s on %s"
-msgstr "%s: Seulement le super-utilisateur peux éteindre le système.\n"
+msgstr "mount : seul l'utilisateur root peut monter %s sur %s"
 
-#: mount/mount.c:503
+#: mount/mount.c:511
 msgid "mount: loop device specified twice"
-msgstr ""
+msgstr "mount : périphérique de boucle spécifié deux fois"
 
-#: mount/mount.c:509
+#: mount/mount.c:517
 msgid "mount: type specified twice"
-msgstr ""
+msgstr "mount : type spécifié deux fois"
 
-#: mount/mount.c:521
+#: mount/mount.c:529
 msgid "mount: skipping the setup of a loop device\n"
-msgstr ""
+msgstr "mount : saut de la configuration d'un périphérique de boucle\n"
 
-#: mount/mount.c:530
+#: mount/mount.c:538
 #, c-format
 msgid "mount: going to use the loop device %s\n"
-msgstr ""
+msgstr "mount : le périphérique de boucle %s va être utilisé\n"
 
-#: mount/mount.c:534
+#: mount/mount.c:542
 msgid "mount: failed setting up loop device\n"
-msgstr ""
+msgstr "mount : échec de la configuration du périphérique de boucle\n"
 
-#: mount/mount.c:538
+#: mount/mount.c:546
 msgid "mount: setup loop device successfully\n"
-msgstr ""
+msgstr "mount : la configuration du périphérique de boucle a abouti\n"
 
-#: mount/mount.c:551
+#: mount/mount.c:559
 msgid "mount: this version was compiled without support for the type `nfs'"
 msgstr ""
+"mount : cette version a été compilée sans prise en charge du type `nfs'"
 
-#: mount/mount.c:601 mount/mount.c:1030
+#: mount/mount.c:610 mount/mount.c:1043
 #, c-format
 msgid "mount: cannot fork: %s"
-msgstr ""
+msgstr "mount : fork impossible : %s"
 
-#: mount/mount.c:639
+#: mount/mount.c:649
 #, c-format
 msgid "mount: can't open %s: %s"
-msgstr ""
+msgstr "mount : impossible d'ouvrir %s: %s"
 
-#: mount/mount.c:668
+#: mount/mount.c:678
 msgid ""
 "mount: I could not determine the filesystem type, and none was specified"
 msgstr ""
+"mount : Impossible de déterminer le type du système de fichiers et aucun "
+"n'était spécifié."
 
-#: mount/mount.c:671
-#, fuzzy
+#: mount/mount.c:681
 msgid "mount: you must specify the filesystem type"
-msgstr "  t          Changer le type de système de fichiers"
+msgstr "mount : vous devez indiquer le type de système de fichiers."
+
+#. should not happen
+#: mount/mount.c:684
+msgid "mount: mount failed"
+msgstr "mount: Echec du montage"
 
-#: mount/mount.c:678 mount/mount.c:713
+#: mount/mount.c:690 mount/mount.c:725
 #, c-format
 msgid "mount: mount point %s is not a directory"
-msgstr ""
+msgstr "mount : le point de montage %s n'est pas un répertoire."
 
-#: mount/mount.c:680
+#: mount/mount.c:692
 msgid "mount: permission denied"
-msgstr ""
+msgstr "mount : permission refusée."
 
-#: mount/mount.c:682
-#, fuzzy
+#: mount/mount.c:694
 msgid "mount: must be superuser to use mount"
-msgstr "Vous devez être root pour changer l'heure du système.\n"
+msgstr ""
+"mount : vous devez être l'utilisateur root pour utiliser la fonction de "
+"montage."
 
 #. heuristic: if /proc/version exists, then probably proc is mounted
 #. proc mounted?
-#: mount/mount.c:686 mount/mount.c:690
+#: mount/mount.c:698 mount/mount.c:702
 #, c-format
 msgid "mount: %s is busy"
-msgstr ""
+msgstr "mount : %s est occupé"
 
 #. no
 #. yes, don't mention it
-#: mount/mount.c:692
+#: mount/mount.c:704
 msgid "mount: proc already mounted"
-msgstr ""
+msgstr "mount : proc déjà monté"
 
-#: mount/mount.c:694
+#: mount/mount.c:706
 #, c-format
 msgid "mount: %s already mounted or %s busy"
-msgstr ""
+msgstr "mount : %s déjà monté ou %s occupé"
 
-#: mount/mount.c:700
-#, fuzzy, c-format
+#: mount/mount.c:712
+#, c-format
 msgid "mount: mount point %s does not exist"
-msgstr "%s: l'utilisateur \"%s\" n'existe pas.\n"
+msgstr "mount : le point de montage %s n'existe pas."
 
-#: mount/mount.c:702
+#: mount/mount.c:714
 #, c-format
 msgid "mount: mount point %s is a symbolic link to nowhere"
-msgstr ""
+msgstr "mount : le point de montage %s est un lien symbolique avec rien"
 
-#: mount/mount.c:705
-#, fuzzy, c-format
+#: mount/mount.c:717
+#, c-format
 msgid "mount: special device %s does not exist"
-msgstr "%s: l'utilisateur \"%s\" n'existe pas.\n"
+msgstr "mount : le périphérique spécial %s n'existe pas."
 
-#: mount/mount.c:715
+#: mount/mount.c:727
 #, 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:727
+#: mount/mount.c:739
 #, c-format
 msgid "mount: %s not mounted already, or bad option"
-msgstr ""
+msgstr "mount : %s pas encore monté, ou option incorrecte"
 
-#: mount/mount.c:729
+#: mount/mount.c:741
 #, c-format
 msgid ""
 "mount: wrong fs type, bad option, bad superblock on %s,\n"
 "       or too many mounted file systems"
 msgstr ""
+"mount : type fs incorrect, option incorrecte, superbloc incorrect sur %s,\n"
+"       ou trop de systèmes de fichiers montés"
 
-#: mount/mount.c:744
+#: mount/mount.c:756
 msgid "mount table full"
-msgstr ""
+msgstr "Table de montage complète"
 
-#: mount/mount.c:746
-#, fuzzy, c-format
+#: mount/mount.c:758
+#, c-format
 msgid "mount: %s: can't read superblock"
-msgstr "impossible d'écrire les super-blocs"
+msgstr "mount : %s: impossible de lire le superbloc"
 
-#: mount/mount.c:749
+#: mount/mount.c:761
 #, c-format
 msgid "mount: %s has wrong major or minor number"
-msgstr ""
+msgstr "mount : %s a un nombre majeur ou un nombre mineur incorrect."
 
-#: mount/mount.c:754
+#: mount/mount.c:766
 #, c-format
 msgid "mount: fs type %s not supported by kernel"
-msgstr ""
+msgstr "mount : type fs %s non pris en charge par le kernel"
 
-#: mount/mount.c:766
+#: mount/mount.c:778
 #, c-format
 msgid "mount: probably you meant %s"
-msgstr ""
+msgstr "mount : vous vouliez sans doute dire %s."
 
-#: mount/mount.c:768
+#: mount/mount.c:780
 msgid "mount: maybe you meant iso9660 ?"
-msgstr ""
+msgstr "mount : vous vouliez peut-être dire iso9660 ?"
 
-#: mount/mount.c:771
+#: mount/mount.c:783
 #, c-format
 msgid "mount: %s has wrong device number or fs type %s not supported"
 msgstr ""
+"mount : %s a un numéro de périphérique incorrect ou le type fs %s n'est pas "
+"pris en charge."
 
 #. strange ...
-#: mount/mount.c:776
+#: mount/mount.c:788
 #, c-format
 msgid "mount: %s is not a block device, and stat fails?"
-msgstr ""
+msgstr "mount : %s n'est pas un périphérique de bloc. Echec de stat ?"
 
-#: mount/mount.c:778
+#: mount/mount.c:790
 #, 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 périphérique de bloc\n"
+"       (peut-être `insmod driver' ?)"
 
-#: mount/mount.c:781
+#: mount/mount.c:793
 #, c-format
 msgid "mount: %s is not a block device (maybe try `-o loop'?)"
-msgstr ""
+msgstr "mount : %s n'est pas un périphérique de bloc (essayez `-o loop' ?)."
 
-#: mount/mount.c:784
-#, fuzzy, c-format
+#: mount/mount.c:796
+#, c-format
 msgid "mount: %s is not a block device"
-msgstr "%s: %s n'est pas un périphérique lp.\n"
+msgstr "mount : %s n'est pas un périphérique de bloc."
 
-#: mount/mount.c:787
-#, fuzzy, c-format
+#: mount/mount.c:799
+#, c-format
 msgid "mount: %s is not a valid block device"
-msgstr "%s: %s n'est pas un périphérique lp.\n"
+msgstr "mount : %s n'est pas un périphérique de bloc valide."
 
-#: mount/mount.c:791
+#: mount/mount.c:803
 #, c-format
 msgid "mount: block device %s is not permitted on its filesystem"
 msgstr ""
+"mount : le périphérique de bloc %s n'est pas autorisé sur son système de "
+"fichiers."
 
-#: mount/mount.c:807
+#: mount/mount.c:819
 #, c-format
 msgid "mount: %s%s is write-protected, mounting read-only"
-msgstr ""
+msgstr "mount : %s%s est protégé en écriture. Montage en lecture seule."
 
-#: mount/mount.c:808
+#: mount/mount.c:820
 msgid "block device "
-msgstr ""
+msgstr "Périphérique de bloc"
 
-#: mount/mount.c:894
+#: mount/mount.c:907
 #, c-format
 msgid "mount: consider mounting %s by %s\n"
-msgstr ""
+msgstr "mount : envisagez de monter %s par %s.\n"
 
-#: mount/mount.c:895
+#: mount/mount.c:908
 msgid "UUID"
-msgstr ""
+msgstr "UUID"
 
-#: mount/mount.c:895
-#, fuzzy
+#: mount/mount.c:908
 msgid "label"
-msgstr "[Label]"
+msgstr "Libellé"
 
-#: mount/mount.c:897 mount/mount.c:1213
+#: mount/mount.c:910 mount/mount.c:1226
 msgid "mount: no such partition found"
-msgstr ""
+msgstr "mount : partition introuvable"
 
-#: mount/mount.c:905
+#: mount/mount.c:918
 msgid "mount: no type was given - I'll assume nfs because of the colon\n"
-msgstr ""
+msgstr "mount : aucun type donné - nfs supposé en raison du point virgule\n"
 
 #.
 #. * Retry in the background.
 #.
-#: mount/mount.c:921
+#: mount/mount.c:934
 #, c-format
 msgid "mount: backgrounding \"%s\"\n"
-msgstr ""
+msgstr "mount : tentative de montage en arrière-plan en cours \"%s\"\n"
 
-#: mount/mount.c:932
+#: mount/mount.c:945
 #, c-format
 msgid "mount: giving up \"%s\"\n"
-msgstr ""
+msgstr "mount : abandon de \"%s\"\n"
 
-#: mount/mount.c:981
+#: mount/mount.c:994
 #, c-format
 msgid "mount: %s already mounted on %s\n"
-msgstr ""
+msgstr "mount : %s déjà monté sur %s\n"
 
-#: mount/mount.c:1092
+#: mount/mount.c:1105
 msgid ""
 "Usage: mount [-hV]\n"
 "       mount -a [-nfFrsvw] [-t vfstypes]\n"
@@ -6928,148 +7362,162 @@ msgid ""
 "       mount [-nfrsvw] [-t vfstype] [-o options] special node\n"
 "       A special device can be indicated by  -L label  or  -U uuid .\n"
 msgstr ""
+"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"
+"       Un périphérique spécial peut être indiqué par un libellé -L ou -U "
+"uuid .\n"
 
-#: mount/mount.c:1198
+#: mount/mount.c:1211
 msgid "mount: only root can do that"
-msgstr ""
+msgstr "mount : seul l'utilisateur root peut le faire."
 
-#: mount/mount.c:1203
+#: mount/mount.c:1216
 #, c-format
 msgid "mount: no %s found - creating it..\n"
-msgstr ""
+msgstr "mount : %s introuvable - création en cours..\n"
 
-#: mount/mount.c:1215
+#: mount/mount.c:1228
 #, c-format
 msgid "mount: mounting %s\n"
-msgstr ""
-
-#: mount/mount.c:1224
-msgid "not mounting anything"
-msgstr ""
+msgstr "mount : montage de %s en cours...\n"
 
 #: mount/mount.c:1237
-#, fuzzy, c-format
+msgid "not mounted anything"
+msgstr "Pas de montage"
+
+#: mount/mount.c:1250
+#, c-format
 msgid "mount: cannot find %s in %s"
-msgstr "%s: impossible de trouver \"_stext\" dans %s\n"
+msgstr "mount : impossible de trouver %s dans %s"
 
-#: mount/mount.c:1251
-#, fuzzy, c-format
+#: mount/mount.c:1264
+#, c-format
 msgid "mount: can't find %s in %s or %s"
-msgstr "%s: impossible de trouver \"_stext\" dans %s\n"
+msgstr "mount : impossible de trouver %s dans %s ou %s"
 
 #: mount/mount_by_label.c:141
 msgid "mount: bad UUID"
-msgstr ""
+msgstr "mount : UUID incorrect"
 
-#: mount/mount_guess_fstype.c:198
+#: mount/mount_guess_fstype.c:251
 #, c-format
 msgid "mount: you didn't specify a filesystem type for %s\n"
+msgstr "mount : aucun type de système de fichiers spécifié pour %s\n"
+
+#: mount/mount_guess_fstype.c:254
+#, c-format
+msgid "       I will try all types mentioned in %s or %s\n"
+msgstr "       Essayer des autres types mentionnés dans %s ou %s\n"
+
+#: mount/mount_guess_fstype.c:257
+msgid "       and it looks like this is swapspace\n"
 msgstr ""
 
-#: mount/mount_guess_fstype.c:201
+#: mount/mount_guess_fstype.c:259
 #, c-format
 msgid "       I will try type %s\n"
-msgstr ""
+msgstr "      Essayer avec le type %s\n"
 
-#: mount/mount_guess_fstype.c:203
+#: mount/mount_guess_fstype.c:321
 #, c-format
-msgid "       I will try all types mentioned in %s or %s\n"
+msgid "Trying %s\n"
 msgstr ""
 
 #: mount/nfsmount.c:157
 msgid "mount: excessively long host:dir argument\n"
-msgstr ""
+msgstr "mount : argument hôte:dir beaucoup trop long\n"
 
 #: mount/nfsmount.c:170
 msgid "mount: warning: multiple hostnames not supported\n"
-msgstr ""
+msgstr "mount : avertissement: noms d'hôtes multiples non pris en charge\n"
 
 #: mount/nfsmount.c:174
 msgid "mount: directory to mount not in host:dir format\n"
-msgstr ""
+msgstr "mount : le répertoire à monter n'est pas au format hôte:dir.\n"
 
 #: mount/nfsmount.c:185 mount/nfsmount.c:420
 #, c-format
 msgid "mount: can't get address for %s\n"
-msgstr ""
+msgstr "mount : impossible d'obtenir l'adresse pour %s\n"
 
 #: mount/nfsmount.c:191
 msgid "mount: got bad hp->h_length\n"
-msgstr ""
+msgstr "mount : hp->h_length incorrect reçu\n"
 
 #: mount/nfsmount.c:208
 msgid "mount: excessively long option argument\n"
-msgstr ""
+msgstr "mount : argument option beaucoup trop long\n"
 
 #: mount/nfsmount.c:299
-#, fuzzy
 msgid "Warning: Unrecognized proto= option.\n"
-msgstr "Avertissement: nombre de i-noeuds trop grand.\n"
+msgstr "Avertissement : option proto= non reconnue.\n"
 
 #: mount/nfsmount.c:306
 msgid "Warning: Option namlen is not supported.\n"
-msgstr ""
+msgstr "Avertissement : option namlen non prise en charge.\n"
 
 #: mount/nfsmount.c:310
 #, c-format
 msgid "unknown nfs mount parameter: %s=%d\n"
-msgstr ""
+msgstr "Paramètre de montage nfs inconnu : %s=%d\n"
 
 #: mount/nfsmount.c:345
 msgid "Warning: option nolock is not supported.\n"
-msgstr ""
+msgstr "Avertissement : option nolock non prise en charge.\n"
 
 #: mount/nfsmount.c:348
 #, c-format
 msgid "unknown nfs mount option: %s%s\n"
-msgstr ""
+msgstr "Option de montage nfs inconnue : %s%s\n"
 
 #: mount/nfsmount.c:426
 msgid "mount: got bad hp->h_length?\n"
-msgstr ""
+msgstr "mount : hp->h_length incorrect reçu ?\n"
 
 #: mount/nfsmount.c:528
 #, c-format
 msgid "mount: %s:%s failed, reason given by server: %s\n"
-msgstr ""
+msgstr "mount : échec de %s:%s. Raison donnée par le serveur : %s\n"
 
 #: mount/nfsmount.c:539
 msgid "NFS over TCP is not supported.\n"
-msgstr ""
+msgstr "NFS sur TCP non pris en charge.\n"
 
 #: mount/nfsmount.c:546
 msgid "nfs socket"
-msgstr ""
+msgstr "nfs socket"
 
 #: mount/nfsmount.c:550
 msgid "nfs bindresvport"
-msgstr ""
+msgstr "nfs bindresvport"
 
 #: mount/nfsmount.c:561
 msgid "used portmapper to find NFS port\n"
-msgstr ""
+msgstr "Mappeur de port utilisé pour trouver le port NFS\n"
 
 #: mount/nfsmount.c:565
 #, c-format
 msgid "using port %d for nfs deamon\n"
-msgstr ""
+msgstr "Utilisation du port %d pour le daemon nfs\n"
 
 #: mount/nfsmount.c:576
 msgid "nfs connect"
-msgstr ""
+msgstr "nfs connect"
 
 #: mount/nfsmount.c:665
 #, c-format
 msgid "unknown nfs status return value: %d"
-msgstr ""
+msgstr "Valeur de l'état nfs renvoyée inconnue : %d"
 
-#: mount/sundries.c:40 mount/sundries.c:55
+#: mount/sundries.c:41 mount/sundries.c:56
 msgid "not enough memory"
-msgstr ""
+msgstr "Mémoire insuffisante"
 
-#: mount/sundries.c:65
+#: mount/sundries.c:66
 msgid "bug in xstrndup call"
-msgstr ""
+msgstr "Bogue dans l'appel de xstrndup"
 
 #: mount/swapon.c:51
 #, c-format
@@ -7079,6 +7527,10 @@ msgid ""
 "       %s [-v] [-p priority] special ...\n"
 "       %s [-s]\n"
 msgstr ""
+"usage : %s [-hV]\n"
+"       %s -a [-v]\n"
+"       %s [-v] [-p priorité] special ...\n"
+"       %s [-s]\n"
 
 #: mount/swapon.c:88
 #, c-format
@@ -7088,26 +7540,28 @@ msgstr "%s sur %s\n"
 #: mount/swapon.c:93
 #, c-format
 msgid "swapon: cannot stat %s: %s\n"
-msgstr ""
+msgstr "swapon : stat %s impossible: %s\n"
 
 #: mount/swapon.c:100
 #, c-format
 msgid "swapon: warning: %s has insecure permissions %04o, 0600 suggested\n"
 msgstr ""
+"swapon : avertissement : %s a les permissions non sécurisées %04o, 0600 "
+"suggérées.\n"
 
 #: mount/swapon.c:108
 #, c-format
 msgid "swapon: Skipping file %s - it appears to have holes.\n"
-msgstr ""
+msgstr "swapon : Saut du fichier %s - il semble contenir des trous.\n"
 
 #: mount/swapon.c:213
 #, c-format
 msgid "%s: cannot open %s: %s\n"
-msgstr "%s: impossible d'ouvrir le fichier %s : %s\n"
+msgstr "%s : impossible d'ouvrir %s : %s\n"
 
 #: mount/umount.c:69
 msgid "umount: compiled without support for -f\n"
-msgstr "umount : compilé sans support pour -f\n"
+msgstr "umount : compilé sans prise en charge de -f\n"
 
 #: mount/umount.c:121
 #, c-format
@@ -7117,48 +7571,49 @@ msgstr "h
 #: mount/umount.c:138
 #, c-format
 msgid "umount: can't get address for %s\n"
-msgstr ""
+msgstr "umount : impossible d'obtenir l'adresse pour %s\n"
 
 #: mount/umount.c:143
 msgid "umount: got bad hostp->h_length\n"
-msgstr ""
+msgstr "umount : hostp->h_length incorrect reçu\n"
 
 #: mount/umount.c:181
 #, c-format
 msgid "umount: %s: invalid block device"
-msgstr ""
+msgstr "umount : %s : périphérique de bloc non valide"
 
 #: mount/umount.c:183
 #, c-format
 msgid "umount: %s: not mounted"
-msgstr ""
+msgstr "umount : %s: non monté"
 
 #: mount/umount.c:185
-#, fuzzy, c-format
+#, c-format
 msgid "umount: %s: can't write superblock"
-msgstr "impossible d'écrire les super-blocs"
+msgstr "umount : %s : impossible d'écrire le superbloc"
 
 #. Let us hope fstab has a line "proc /proc ..."
 #. and not "none /proc ..."
 #: mount/umount.c:189
 #, c-format
 msgid "umount: %s: device is busy"
-msgstr ""
+msgstr "umount : %s : périphérique occupé"
 
 #: mount/umount.c:191
 #, c-format
 msgid "umount: %s: not found"
-msgstr ""
+msgstr "umount : %s : introuvable"
 
 #: mount/umount.c:193
 #, c-format
 msgid "umount: %s: must be superuser to umount"
 msgstr ""
+"umount : %s : seul l'utilisateur root peut effectuer une commande umount"
 
 #: mount/umount.c:195
 #, c-format
 msgid "umount: %s: block devices not permitted on fs"
-msgstr ""
+msgstr "umount : %s : périphériques de blocs non autorisés sur fs"
 
 #: mount/umount.c:197
 #, c-format
@@ -7167,12 +7622,12 @@ msgstr "umount : %s : %s"
 
 #: mount/umount.c:241
 msgid "no umount2, trying umount...\n"
-msgstr ""
+msgstr "Aucun umount2, essai avec umount...\n"
 
 #: mount/umount.c:254
 #, c-format
 msgid "could not umount %s - trying %s instead\n"
-msgstr ""
+msgstr "umount %s impossible - essai avec %s à la place\n"
 
 #: mount/umount.c:270
 #, c-format
@@ -7182,7 +7637,7 @@ msgstr "umount : %s en cours d'utilisation - remont
 #: mount/umount.c:278
 #, c-format
 msgid "umount: could not remount %s read-only\n"
-msgstr "umount : impossible de remonter %s en lecture-seule\n"
+msgstr "umount : impossible de remonter %s en lecture seule\n"
 
 #: mount/umount.c:286
 #, c-format
@@ -7191,7 +7646,8 @@ msgstr "%s d
 
 #: mount/umount.c:369
 msgid "umount: cannot find list of filesystems to unmount"
-msgstr "umount : impossible de trouver la liste des systèmes de fichiers a démonter"
+msgstr ""
+"umount : impossible de trouver la liste des systèmes de fichiers à démonter"
 
 #: mount/umount.c:398
 msgid ""
@@ -7199,13 +7655,13 @@ msgid ""
 "       umount -a [-f] [-r] [-n] [-v] [-t vfstypes]\n"
 "       umount [-f] [-r] [-n] [-v] special | node...\n"
 msgstr ""
-"usage : umount [-hV]\n"
-"        umount -a [-f] [-r] [-n] [-v] [-t type-de-fs]\n"
-"        umount [-f] [-r] [-n] [-v] special | noeud...\n"
+"Usage : umount [-hV]\n"
+"        umount -a [-f] [-r] [-n] [-v] [-t vfstypes]\n"
+"        umount [-f] [-r] [-n] [-v] special | node...\n"
 
 #: mount/umount.c:459
 msgid "umount: only root can do that"
-msgstr "umount: seulement root peux faire cela"
+msgstr "umount : seul l'utilisateur root peut effectuer cette action."
 
 #: mount/umount.c:474
 #, c-format
@@ -7220,40 +7676,44 @@ msgstr "Impossible de trouver %s dans mtab\n"
 #: mount/umount.c:482
 #, c-format
 msgid "umount: %s is not mounted (according to mtab)"
-msgstr "umount: %s n'est pas monté (selon mtab)"
+msgstr "umount : %s n'est pas monté (selon mtab)."
 
 #: mount/umount.c:484
 #, c-format
 msgid "umount: it seems %s is mounted multiple times"
-msgstr "umount: il semble de %s soit monté en plusieurs endroits"
+msgstr "umount : il semble que %s soit monté à plusieurs endroits."
 
 #: mount/umount.c:496
 #, c-format
 msgid "umount: %s is not in the fstab (and you are not root)"
-msgstr "umount: %s n'est pas dans le fichier fstab (et vous n'êtes pas root)"
+msgstr ""
+"umount : %s n'est pas dans le fichier fstab (et vous n'êtes pas un "
+"utilisateur root)."
 
 #: mount/umount.c:499
 #, c-format
 msgid "umount: %s mount disagrees with the fstab"
-msgstr "umount: %s est en désacord avec le fichier fstab"
+msgstr "umount : %s est en désaccord avec le fichier fstab."
 
 #: mount/umount.c:520
 #, c-format
 msgid "umount: only root can unmount %s from %s"
-msgstr "umount: seulement root peux démonter %s de %s"
+msgstr "umount : seul l'utilisateur root peut démonter %s de %s."
 
 #: mount/umount.c:531
 #, c-format
 msgid "umount: only %s can unmount %s from %s"
-msgstr "umount: seulement %s peux démonter %s de %s"
+msgstr "umount : seul %s peut démonter %s de %s."
 
 #: sys-utils/ctrlaltdel.c:26
 msgid "You must be root to set the Ctrl-Alt-Del behaviour.\n"
-msgstr "Vous devez être root pour changer le comportement de Ctrl-Alt-Del.\n"
+msgstr ""
+"Vous devez être un utilisateur root pour définir le comportement de "
+"Ctrl-Alt-Del.\n"
 
 #: sys-utils/ctrlaltdel.c:41
 msgid "Usage: ctrlaltdel hard|soft\n"
-msgstr "usage : ctrlaltdel hard|soft\n"
+msgstr "Usage : ctrlaltdel hard|soft\n"
 
 #: sys-utils/cytune.c:118
 #, c-format
@@ -7261,6 +7721,9 @@ 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, les caractères maximum dans fifo "
+"étaient de %d,\n"
+"et le débit de transfert maximum en caractères/seconde était de %f.\n"
 
 #: sys-utils/cytune.c:129
 #, c-format
@@ -7269,31 +7732,34 @@ msgid ""
 "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 la valeur de temporisation %lu, "
+"les caractères maximum dans fifo étaient de %d,\n"
+"et le débit de transfert maximum en caractères/seconde était de %f\n"
 
 #: sys-utils/cytune.c:196
-#, fuzzy, c-format
+#, c-format
 msgid "Invalid interval value: %s\n"
-msgstr "Nombre invalide: %s\n"
+msgstr "Valeur d'intervalle non valide : %s\n"
 
 #: sys-utils/cytune.c:204
-#, fuzzy, c-format
+#, c-format
 msgid "Invalid set value: %s\n"
-msgstr "Nombre invalide: %s\n"
+msgstr "Valeur de définition non valide : %s\n"
 
 #: sys-utils/cytune.c:212
-#, fuzzy, c-format
+#, c-format
 msgid "Invalid default value: %s\n"
-msgstr "Nombre invalide: %s\n"
+msgstr "Valeur par défaut non valide : %s\n"
 
 #: sys-utils/cytune.c:220
-#, fuzzy, c-format
+#, c-format
 msgid "Invalid set time value: %s\n"
-msgstr "Nombre invalide: %s\n"
+msgstr "Valeur de temps définie non valide : %s\n"
 
 #: sys-utils/cytune.c:228
-#, fuzzy, c-format
+#, c-format
 msgid "Invalid default time value: %s\n"
-msgstr "Nombre invalide: %s\n"
+msgstr "Valeur de temps par défaut non valide : %s\n"
 
 #: sys-utils/cytune.c:245
 #, c-format
@@ -7301,719 +7767,736 @@ msgid ""
 "Usage: %s [-q [-i interval]] ([-s value]|[-S value]) ([-t value]|[-T value]) "
 "[-g|-G] file [file...]\n"
 msgstr ""
+"Usage : %s [-q [-i intervalle]] ([-s valeur]|[-S valeur]) ([-t valeur]|[-T "
+"valeur]) [-g|-G] fichier [fichier...]\n"
 
 #: sys-utils/cytune.c:257 sys-utils/cytune.c:275 sys-utils/cytune.c:294
 #: sys-utils/cytune.c:342
-#, fuzzy, c-format
+#, c-format
 msgid "Can't open %s: %s\n"
-msgstr "Impossible d'ouvrir le fichier '%s'"
+msgstr "Impossible d'ouvrir %s: %s\n"
 
 #: sys-utils/cytune.c:264
 #, c-format
 msgid "Can't set %s to threshold %d: %s\n"
-msgstr ""
+msgstr "Impossible de définir %s sur le seuil %d: %s\n"
 
 #: sys-utils/cytune.c:282
 #, c-format
 msgid "Can't set %s to time threshold %d: %s\n"
-msgstr ""
+msgstr "Impossible de définir %s sur le seuil de temps %d: %s\n"
 
 #: sys-utils/cytune.c:299 sys-utils/cytune.c:354 sys-utils/cytune.c:385
 #, c-format
 msgid "Can't get threshold for %s: %s\n"
-msgstr ""
+msgstr "Impossible d'obtenir le seuil pour %s: %s\n"
 
 #: sys-utils/cytune.c:305 sys-utils/cytune.c:360 sys-utils/cytune.c:391
 #, c-format
 msgid "Can't get timeout for %s: %s\n"
-msgstr ""
+msgstr "Impossible d'obtenir la temporisation pour %s: %s\n"
 
 #: sys-utils/cytune.c:309
 #, c-format
 msgid "%s: %ld %s threshold and %ld %s timeout\n"
-msgstr ""
+msgstr "%s: seuil %ld %s et temporisation %ld %s\n"
 
 #: sys-utils/cytune.c:311 sys-utils/cytune.c:313
 msgid "current"
-msgstr ""
+msgstr "en cours"
 
 #: sys-utils/cytune.c:311 sys-utils/cytune.c:313
 msgid "default"
-msgstr ""
+msgstr "par défaut"
 
 #: sys-utils/cytune.c:330
 msgid "Can't set signal handler"
-msgstr ""
+msgstr "Impossible d'obtenir le gestionnaire de signaux"
 
 #: sys-utils/cytune.c:334 sys-utils/cytune.c:369
-#, fuzzy
 msgid "gettimeofday failed"
-msgstr "settimeofday() a échoué"
+msgstr "gettimeofday a échoué"
 
 #: sys-utils/cytune.c:347 sys-utils/cytune.c:379
 #, c-format
 msgid "Can't issue CYGETMON on %s: %s\n"
-msgstr ""
+msgstr "Impossible d'émettre CYGETMON sur %s: %s\n"
 
 #: sys-utils/cytune.c:421
 #, c-format
 msgid "%s: %lu ints, %lu/%lu chars; "
-msgstr ""
+msgstr "%s : %lu ints, %lu/%lu cars; "
 
 #: sys-utils/cytune.c:422
 #, c-format
 msgid "fifo: %lu thresh, %lu tmout, "
-msgstr ""
+msgstr "fifo : seuil %lu, tempo %lu, "
 
 #: sys-utils/cytune.c:423
 #, c-format
 msgid "%lu max, %lu now\n"
-msgstr ""
+msgstr "%lu max, %lu maintenant\n"
 
 #: sys-utils/cytune.c:428
 #, c-format
 msgid "   %f int/sec; %f rec, %f send (char/sec)\n"
-msgstr ""
+msgstr "   %f int/sec ; %f reçus, %f envoyés (car/sec)\n"
 
 #: sys-utils/cytune.c:433
 #, c-format
 msgid ""
 "%s: %lu ints, %lu chars; fifo: %lu thresh, %lu tmout, %lu max, %lu now\n"
 msgstr ""
+"%s : %lu ints, %lu cars ; fifo : seuil %lu, tempo %lu, %lu max, %lu "
+"maintenant\n"
 
 #: sys-utils/cytune.c:438
 #, c-format
 msgid "   %f int/sec; %f rec (char/sec)\n"
-msgstr ""
+msgstr "   %f int/sec ; %f reçus (car/sec)\n"
 
 #: sys-utils/dmesg.c:38
-#, fuzzy, c-format
+#, c-format
 msgid "Usage: %s [-c] [-n level] [-s bufsize]\n"
-msgstr "usage: %s [ - ] [ -2 ] [ fichier ... ]\n"
+msgstr "Usage : %s [-c] [-n niveau] [-s taille-tampon]\n"
 
 #: sys-utils/ipcrm.c:46
-#, fuzzy, c-format
+#, c-format
 msgid "usage: %s [shm | msg | sem] id\n"
-msgstr "usage: %s [ -i ] [ -tTerm ] fichier...\n"
+msgstr "Usage : %s [shm | msg | sem] id\n"
 
 #: sys-utils/ipcrm.c:70
-#, fuzzy, c-format
+#, c-format
 msgid "usage: %s [-shm | -msg | -sem] id\n"
-msgstr "usage: %s [ -i ] [ -tTerm ] fichier...\n"
+msgstr "Usage : %s [-shm | -msg | -sem] id\n"
 
 #: sys-utils/ipcrm.c:73
 msgid "resource deleted\n"
-msgstr ""
+msgstr "Ressource supprimée\n"
 
-#: sys-utils/ipcs.c:91
+#: sys-utils/ipcs.c:117
 #, c-format
 msgid "usage : %s -asmq -tclup \n"
-msgstr ""
+msgstr "Usage : %s -asmq -tclup \n"
 
-#: sys-utils/ipcs.c:92
+#: sys-utils/ipcs.c:118
 #, c-format
 msgid "\t%s [-s -m -q] -i id\n"
-msgstr ""
+msgstr "\t%s [-s -m -q] -i id\n"
 
-#: sys-utils/ipcs.c:93
+#: sys-utils/ipcs.c:119
 #, c-format
 msgid "\t%s -h for help.\n"
-msgstr ""
+msgstr "\t%s -h pour aide.\n"
 
-#: sys-utils/ipcs.c:99
+#: sys-utils/ipcs.c:125
 #, c-format
 msgid "%s provides information on ipc facilities for"
-msgstr ""
+msgstr "%s fournit des informations sur les fonctions ipc auxquelles"
 
-#: sys-utils/ipcs.c:100
+#: sys-utils/ipcs.c:126
 msgid " which you have read access.\n"
-msgstr ""
+msgstr " vous avez accès en lecture.\n"
 
-#: sys-utils/ipcs.c:101
+#: sys-utils/ipcs.c:127
 msgid ""
 "Resource Specification:\n"
 "\t-m : shared_mem\n"
 "\t-q : messages\n"
 msgstr ""
+"Spécifications ressource :\n"
+"\t-m : mém_partagée\n"
+"\t-q : messages\n"
 
-#: sys-utils/ipcs.c:102
+#: sys-utils/ipcs.c:128
 msgid ""
 "\t-s : semaphores\n"
 "\t-a : all (default)\n"
 msgstr ""
+"\t-s : sémaphores\n"
+"\t-a : tous (par défaut)\n"
 
-#: sys-utils/ipcs.c:103
+#: sys-utils/ipcs.c:129
 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:104
+#: sys-utils/ipcs.c:130
 msgid ""
 "\t-l : limits\n"
 "\t-u : summary\n"
 msgstr ""
+"\t-l : limites\n"
+"\t-u : résumé\n"
 
-#: sys-utils/ipcs.c:105
+#: sys-utils/ipcs.c:131
 msgid "-i id [-s -q -m] : details on resource identified by id\n"
-msgstr ""
+msgstr "-i id [-s -q -m] : Détails sur la ressource identifiée par Id\n"
 
-#: sys-utils/ipcs.c:237 sys-utils/ipcs.c:439
+#: sys-utils/ipcs.c:263 sys-utils/ipcs.c:465
 msgid "kernel not configured for shared memory\n"
-msgstr ""
+msgstr "Kernel non configuré pour la mémoire partagée\n"
 
-#: sys-utils/ipcs.c:243
+#: sys-utils/ipcs.c:269
 msgid "------ Shared Memory Limits --------\n"
-msgstr ""
+msgstr "------ Limites de la mémoire partagée --------\n"
 
-#: sys-utils/ipcs.c:246
+#: sys-utils/ipcs.c:272
 #, c-format
 msgid "max number of segments = %d\n"
-msgstr ""
+msgstr "Nombre max de segments = %d\n"
 
-#: sys-utils/ipcs.c:247
+#: sys-utils/ipcs.c:273
 #, c-format
 msgid "max seg size (kbytes) = %d\n"
-msgstr ""
+msgstr "Taille max de segment (kilo-octets) = %d\n"
 
-#: sys-utils/ipcs.c:248
+#: sys-utils/ipcs.c:274
 #, c-format
 msgid "max total shared memory (kbytes) = %d\n"
-msgstr ""
+msgstr "Total max de la mémoire partagée (kilo-octets) = %d\n"
 
-#: sys-utils/ipcs.c:249
+#: sys-utils/ipcs.c:275
 #, c-format
 msgid "min seg size (bytes) = %d\n"
-msgstr ""
+msgstr "Taille min de segment (octets) = %d\n"
 
-#: sys-utils/ipcs.c:253
+#: sys-utils/ipcs.c:279
 msgid "------ Shared Memory Status --------\n"
-msgstr ""
+msgstr "------ Statut de la mémoire partagée --------\n"
 
-#: sys-utils/ipcs.c:254
+#: sys-utils/ipcs.c:280
 #, c-format
 msgid "segments allocated %d\n"
-msgstr ""
+msgstr "Segments alloués %d\n"
 
-#: sys-utils/ipcs.c:255
+#: sys-utils/ipcs.c:281
 #, c-format
 msgid "pages allocated %ld\n"
-msgstr ""
+msgstr "Pages allouées %ld\n"
 
-#: sys-utils/ipcs.c:256
+#: sys-utils/ipcs.c:282
 #, c-format
 msgid "pages resident  %ld\n"
-msgstr ""
+msgstr "Pages résidentes  %ld\n"
 
-#: sys-utils/ipcs.c:257
+#: sys-utils/ipcs.c:283
 #, c-format
 msgid "pages swapped   %ld\n"
-msgstr ""
+msgstr "Pages échangées   %ld\n"
 
-#: sys-utils/ipcs.c:258
+#: sys-utils/ipcs.c:284
 #, c-format
 msgid "Swap performance: %ld attempts\t %ld successes\n"
-msgstr ""
+msgstr "Performances d'échange : %ld tentatives\t %ld succès\n"
 
-#: sys-utils/ipcs.c:263
+#: sys-utils/ipcs.c:289
 msgid "------ Shared Memory Segment Creators/Owners --------\n"
 msgstr ""
+"------ Créateurs/Propriétaires de segments en mémoire partagée --------\n"
 
-#: sys-utils/ipcs.c:264 sys-utils/ipcs.c:370 sys-utils/ipcs.c:462
+#: sys-utils/ipcs.c:290 sys-utils/ipcs.c:396 sys-utils/ipcs.c:488
 #, c-format
 msgid "%-10s%-10s%-10s%-10s%-10s%-10s\n"
-msgstr ""
+msgstr "%-10s%-10s%-10s%-10s%-10s%-10s\n"
 
-#: sys-utils/ipcs.c:265 sys-utils/ipcs.c:271 sys-utils/ipcs.c:276
-#: sys-utils/ipcs.c:281 sys-utils/ipcs.c:377
+#: sys-utils/ipcs.c:291 sys-utils/ipcs.c:297 sys-utils/ipcs.c:302
+#: sys-utils/ipcs.c:307 sys-utils/ipcs.c:403
 msgid "shmid"
-msgstr ""
+msgstr "shmid"
 
-#: sys-utils/ipcs.c:265 sys-utils/ipcs.c:282 sys-utils/ipcs.c:371
-#: sys-utils/ipcs.c:386 sys-utils/ipcs.c:463 sys-utils/ipcs.c:480
+#: sys-utils/ipcs.c:291 sys-utils/ipcs.c:308 sys-utils/ipcs.c:397
+#: sys-utils/ipcs.c:412 sys-utils/ipcs.c:489 sys-utils/ipcs.c:506
 msgid "perms"
-msgstr ""
+msgstr "perms"
 
-#: sys-utils/ipcs.c:265 sys-utils/ipcs.c:371 sys-utils/ipcs.c:463
+#: sys-utils/ipcs.c:291 sys-utils/ipcs.c:397 sys-utils/ipcs.c:489
 msgid "cuid"
-msgstr ""
+msgstr "cuid"
 
-#: sys-utils/ipcs.c:265 sys-utils/ipcs.c:371 sys-utils/ipcs.c:463
+#: sys-utils/ipcs.c:291 sys-utils/ipcs.c:397 sys-utils/ipcs.c:489
 msgid "cgid"
-msgstr ""
+msgstr "cgid"
 
-#: sys-utils/ipcs.c:265 sys-utils/ipcs.c:371 sys-utils/ipcs.c:463
+#: sys-utils/ipcs.c:291 sys-utils/ipcs.c:397 sys-utils/ipcs.c:489
 msgid "uid"
-msgstr ""
+msgstr "uid"
 
-#: sys-utils/ipcs.c:265 sys-utils/ipcs.c:463
+#: sys-utils/ipcs.c:291 sys-utils/ipcs.c:489
 msgid "gid"
-msgstr ""
+msgstr "gid"
 
-#: sys-utils/ipcs.c:269
+#: sys-utils/ipcs.c:295
 msgid "------ Shared Memory Attach/Detach/Change Times --------\n"
 msgstr ""
+"------ Heures d'attachement/détachement/modification de mémoire partagée "
+"--------\n"
 
-#: sys-utils/ipcs.c:270
+#: sys-utils/ipcs.c:296
 #, c-format
 msgid "%-10s%-10s  %-20s%-20s%-20s\n"
-msgstr ""
+msgstr "%-10s%-10s  %-20s%-20s%-20s\n"
 
-#: sys-utils/ipcs.c:271 sys-utils/ipcs.c:276 sys-utils/ipcs.c:282
-#: sys-utils/ipcs.c:377 sys-utils/ipcs.c:386 sys-utils/ipcs.c:469
-#: sys-utils/ipcs.c:474 sys-utils/ipcs.c:480
+#: sys-utils/ipcs.c:297 sys-utils/ipcs.c:302 sys-utils/ipcs.c:308
+#: sys-utils/ipcs.c:403 sys-utils/ipcs.c:412 sys-utils/ipcs.c:495
+#: sys-utils/ipcs.c:500 sys-utils/ipcs.c:506
 msgid "owner"
 msgstr "propriétaire"
 
-#: sys-utils/ipcs.c:271
+#: sys-utils/ipcs.c:297
 msgid "attached"
-msgstr ""
+msgstr "attaché"
 
-#: sys-utils/ipcs.c:271
+#: sys-utils/ipcs.c:297
 msgid "detached"
-msgstr ""
+msgstr "détaché"
 
-#: sys-utils/ipcs.c:271
+#: sys-utils/ipcs.c:297
 msgid "changed"
-msgstr ""
+msgstr "changé"
 
-#: sys-utils/ipcs.c:275
+#: sys-utils/ipcs.c:301
 msgid "------ Shared Memory Creator/Last-op --------\n"
-msgstr ""
+msgstr "------ Créateur/Dernier opérateur en mémoire partagée --------\n"
 
-#: sys-utils/ipcs.c:276 sys-utils/ipcs.c:474
+#: sys-utils/ipcs.c:302 sys-utils/ipcs.c:500
 #, c-format
 msgid "%-10s%-10s%-10s%-10s\n"
-msgstr ""
+msgstr "%-10s%-10s%-10s%-10s\n"
 
-#: sys-utils/ipcs.c:276
+#: sys-utils/ipcs.c:302
 msgid "cpid"
-msgstr ""
+msgstr "cpid"
 
-#: sys-utils/ipcs.c:276
+#: sys-utils/ipcs.c:302
 msgid "lpid"
-msgstr ""
+msgstr "lpid"
 
-#: sys-utils/ipcs.c:280
+#: sys-utils/ipcs.c:306
 msgid "------ Shared Memory Segments --------\n"
-msgstr ""
+msgstr "------ Segments de mémoire partagée --------\n"
 
-#: sys-utils/ipcs.c:281
+#: sys-utils/ipcs.c:307
 #, c-format
 msgid "%-10s%-10s%-10s%-10s%-10s%-10s%-12s\n"
-msgstr ""
+msgstr "%-10s%-10s%-10s%-10s%-10s%-10s%-12s\n"
 
-#: sys-utils/ipcs.c:281 sys-utils/ipcs.c:386 sys-utils/ipcs.c:479
+#: sys-utils/ipcs.c:307 sys-utils/ipcs.c:412 sys-utils/ipcs.c:505
 msgid "key"
-msgstr ""
+msgstr "touche"
 
-#: sys-utils/ipcs.c:282
-#, fuzzy
+#: sys-utils/ipcs.c:308
 msgid "bytes"
-msgstr "oui"
+msgstr "octets"
 
-#: sys-utils/ipcs.c:282
+#: sys-utils/ipcs.c:308
 msgid "nattch"
-msgstr ""
+msgstr "nattch"
 
-#: sys-utils/ipcs.c:282 sys-utils/ipcs.c:386
+#: sys-utils/ipcs.c:308 sys-utils/ipcs.c:412
 msgid "status"
-msgstr ""
+msgstr "statut"
 
-#: sys-utils/ipcs.c:302 sys-utils/ipcs.c:303 sys-utils/ipcs.c:304
-#: sys-utils/ipcs.c:407 sys-utils/ipcs.c:408 sys-utils/ipcs.c:500
-#: sys-utils/ipcs.c:501 sys-utils/ipcs.c:502
+#: sys-utils/ipcs.c:328 sys-utils/ipcs.c:329 sys-utils/ipcs.c:330
+#: sys-utils/ipcs.c:433 sys-utils/ipcs.c:434 sys-utils/ipcs.c:526
+#: sys-utils/ipcs.c:527 sys-utils/ipcs.c:528
 msgid "Not set"
-msgstr ""
+msgstr "Non défini"
 
-#: sys-utils/ipcs.c:324
+#: sys-utils/ipcs.c:350
 msgid "dest"
-msgstr ""
+msgstr "dest"
 
-#: sys-utils/ipcs.c:325
+#: sys-utils/ipcs.c:351
 msgid "locked"
-msgstr ""
+msgstr "verrouillé"
 
-#: sys-utils/ipcs.c:345
+#: sys-utils/ipcs.c:371
 msgid "kernel not configured for semaphores\n"
-msgstr ""
+msgstr "Kernel non configuré pour les sémaphores\n"
 
-#: sys-utils/ipcs.c:351
-#, fuzzy
+#: sys-utils/ipcs.c:377
 msgid "------ Semaphore Limits --------\n"
-msgstr "--------     -------------"
+msgstr "------ Limites des sémaphores --------\n"
 
-#: sys-utils/ipcs.c:355
+#: sys-utils/ipcs.c:381
 #, c-format
 msgid "max number of arrays = %d\n"
-msgstr ""
+msgstr "Nombre max de tables = %d\n"
 
-#: sys-utils/ipcs.c:356
+#: sys-utils/ipcs.c:382
 #, c-format
 msgid "max semaphores per array = %d\n"
-msgstr ""
+msgstr "Sémaphores max par table = %d\n"
 
-#: sys-utils/ipcs.c:357
+#: sys-utils/ipcs.c:383
 #, c-format
 msgid "max semaphores system wide = %d\n"
-msgstr ""
+msgstr "Nombre max de sémaphores dans le système = %d\n"
 
-#: sys-utils/ipcs.c:358
+#: sys-utils/ipcs.c:384
 #, c-format
 msgid "max ops per semop call = %d\n"
-msgstr ""
+msgstr "Opérateurs max par appel semop = %d\n"
 
-#: sys-utils/ipcs.c:359
+#: sys-utils/ipcs.c:385
 #, c-format
 msgid "semaphore max value = %d\n"
-msgstr ""
+msgstr "Valeur max de sémaphores = %d\n"
 
-#: sys-utils/ipcs.c:363
-#, fuzzy
+#: sys-utils/ipcs.c:389
 msgid "------ Semaphore Status --------\n"
-msgstr "--------     -------------"
+msgstr "------ Statut des sémaphores --------\n"
 
-#: sys-utils/ipcs.c:364
+#: sys-utils/ipcs.c:390
 #, c-format
 msgid "used arrays = %d\n"
-msgstr ""
+msgstr "Tables utilisées = %d\n"
 
-#: sys-utils/ipcs.c:365
+#: sys-utils/ipcs.c:391
 #, c-format
 msgid "allocated semaphores = %d\n"
-msgstr ""
+msgstr "Sémaphores alloués = %d\n"
 
-#: sys-utils/ipcs.c:369
+#: sys-utils/ipcs.c:395
 msgid "------ Semaphore Arrays Creators/Owners --------\n"
-msgstr ""
+msgstr "------ Créateurs/Propriétaires de tables de sémaphores --------\n"
 
-#: sys-utils/ipcs.c:371 sys-utils/ipcs.c:386
+#: sys-utils/ipcs.c:397 sys-utils/ipcs.c:412
 msgid "semid"
-msgstr ""
+msgstr "semid"
 
-#: sys-utils/ipcs.c:375
+#: sys-utils/ipcs.c:401
 msgid "------ Shared Memory Operation/Change Times --------\n"
-msgstr ""
+msgstr "------ Heures d'opération/modification en mémoire partagée --------\n"
 
-#: sys-utils/ipcs.c:376
+#: sys-utils/ipcs.c:402
 #, c-format
 msgid "%-8s%-10s  %-26.24s %-26.24s\n"
-msgstr ""
+msgstr "%-8s%-10s  %-26.24s %-26.24s\n"
 
-#: sys-utils/ipcs.c:377
+#: sys-utils/ipcs.c:403
 msgid "last-op"
-msgstr ""
+msgstr "Dernier opérateur"
 
-#: sys-utils/ipcs.c:377
-#, fuzzy
+#: sys-utils/ipcs.c:403
 msgid "last-changed"
-msgstr "Mot de passe inchangé."
+msgstr "Dernière modification"
 
-#: sys-utils/ipcs.c:384
-#, fuzzy
+#: sys-utils/ipcs.c:410
 msgid "------ Semaphore Arrays --------\n"
-msgstr "--------     -------------"
+msgstr "------ Tables de sémaphores --------\n"
 
-#: sys-utils/ipcs.c:385
+#: sys-utils/ipcs.c:411
 #, c-format
 msgid "%-10s%-10s%-10s%-10s%-10s%-12s\n"
-msgstr ""
+msgstr "%-10s%-10s%-10s%-10s%-10s%-12s\n"
 
-#: sys-utils/ipcs.c:386
+#: sys-utils/ipcs.c:412
 msgid "nsems"
-msgstr ""
+msgstr "nsems"
 
-#: sys-utils/ipcs.c:447
-#, fuzzy
+#: sys-utils/ipcs.c:473
 msgid "------ Messages: Limits --------\n"
-msgstr "--------     -------------"
+msgstr "------ Messages : Limites --------\n"
 
-#: sys-utils/ipcs.c:448
+#: sys-utils/ipcs.c:474
 #, c-format
 msgid "max queues system wide = %d\n"
-msgstr ""
+msgstr "Files d'attente max dans le système = %d\n"
 
-#: sys-utils/ipcs.c:449
+#: sys-utils/ipcs.c:475
 #, c-format
 msgid "max size of message (bytes) = %d\n"
-msgstr ""
+msgstr "Taille de message max (octets) = %d\n"
 
-#: sys-utils/ipcs.c:450
+#: sys-utils/ipcs.c:476
 #, c-format
 msgid "default max size of queue (bytes) = %d\n"
-msgstr ""
+msgstr "Taille de la file max par défaut (octets) = %d\n"
 
-#: sys-utils/ipcs.c:454
-#, fuzzy
+#: sys-utils/ipcs.c:480
 msgid "------ Messages: Status --------\n"
-msgstr "--------     -------------"
+msgstr "------ Messages : Statut --------\n"
 
-#: sys-utils/ipcs.c:455
+#: sys-utils/ipcs.c:481
 #, c-format
 msgid "allocated queues = %d\n"
-msgstr ""
+msgstr "Files d'attente allouées = %d\n"
 
-#: sys-utils/ipcs.c:456
+#: sys-utils/ipcs.c:482
 #, c-format
 msgid "used headers = %d\n"
-msgstr ""
+msgstr "En-têtes utilisés = %d\n"
 
-#: sys-utils/ipcs.c:457
+#: sys-utils/ipcs.c:483
 #, c-format
 msgid "used space = %d bytes\n"
-msgstr ""
+msgstr "Espace utilisé = %d octets\n"
 
-#: sys-utils/ipcs.c:461
+#: sys-utils/ipcs.c:487
 msgid "------ Message Queues: Creators/Owners --------\n"
 msgstr ""
+"------ Files d'attente de messages : Créateurs/Propriétaires --------\n"
 
-#: sys-utils/ipcs.c:463 sys-utils/ipcs.c:469 sys-utils/ipcs.c:474
-#: sys-utils/ipcs.c:479
+#: sys-utils/ipcs.c:489 sys-utils/ipcs.c:495 sys-utils/ipcs.c:500
+#: sys-utils/ipcs.c:505
 msgid "msqid"
-msgstr ""
+msgstr "msqid"
 
-#: sys-utils/ipcs.c:467
+#: sys-utils/ipcs.c:493
 msgid "------ Message Queues Send/Recv/Change Times --------\n"
 msgstr ""
+"------ Heures d'envoi/réception/modification des files d'attente de messages "
+"--------\n"
 
-#: sys-utils/ipcs.c:468
+#: sys-utils/ipcs.c:494
 #, c-format
 msgid "%-8s%-10s  %-20s%-20s%-20s\n"
-msgstr ""
+msgstr "%-8s%-10s  %-20s%-20s%-20s\n"
 
-#: sys-utils/ipcs.c:469
+#: sys-utils/ipcs.c:495
 msgid "send"
-msgstr ""
+msgstr "envoi"
 
-#: sys-utils/ipcs.c:469
+#: sys-utils/ipcs.c:495
 msgid "recv"
-msgstr ""
+msgstr "réception"
 
-#: sys-utils/ipcs.c:469
+#: sys-utils/ipcs.c:495
 msgid "change"
-msgstr ""
+msgstr "modification"
 
-#: sys-utils/ipcs.c:473
-#, fuzzy
+#: sys-utils/ipcs.c:499
 msgid "------ Message Queues PIDs --------\n"
-msgstr "--------     -------------"
+msgstr "------ PID de files d'attente de messages --------\n"
 
-#: sys-utils/ipcs.c:474
+#: sys-utils/ipcs.c:500
 msgid "lspid"
-msgstr ""
+msgstr "lspid"
 
-#: sys-utils/ipcs.c:474
+#: sys-utils/ipcs.c:500
 msgid "lrpid"
-msgstr ""
+msgstr "lrpid"
 
-#: sys-utils/ipcs.c:478
-#, fuzzy
+#: sys-utils/ipcs.c:504
 msgid "------ Message Queues --------\n"
-msgstr "--------     -------------"
+msgstr "------ Files d'attente de messages --------\n"
 
-#: sys-utils/ipcs.c:479
+#: sys-utils/ipcs.c:505
 #, c-format
 msgid "%-10s%-10s%-10s%-10s%-12s%-12s\n"
-msgstr ""
+msgstr "%-10s%-10s%-10s%-10s%-12s%-12s\n"
 
-#: sys-utils/ipcs.c:480
+#: sys-utils/ipcs.c:506
 msgid "used-bytes"
-msgstr ""
+msgstr "octets utilisés"
 
-#: sys-utils/ipcs.c:480
+#: sys-utils/ipcs.c:506
 msgid "messages"
-msgstr ""
+msgstr "messages"
 
-#: sys-utils/ipcs.c:539
+#: sys-utils/ipcs.c:565
 #, c-format
 msgid ""
 "\n"
 "Shared memory Segment shmid=%d\n"
 msgstr ""
+"\n"
+"shmid de segments de mémoire partagée =%d\n"
 
-#: sys-utils/ipcs.c:540
+#: sys-utils/ipcs.c:566
 #, c-format
 msgid "uid=%d\tgid=%d\tcuid=%d\tcgid=%d\n"
-msgstr ""
+msgstr "uid=%d\tgid=%d\tcuid=%d\tcgid=%d\n"
 
-#: sys-utils/ipcs.c:542
+#: sys-utils/ipcs.c:568
 #, c-format
 msgid "mode=%#o\taccess_perms=%#o\n"
-msgstr ""
+msgstr "mode=%#o\taccess_perms=%#o\n"
 
-#: sys-utils/ipcs.c:543
+#: sys-utils/ipcs.c:569
 #, c-format
 msgid "bytes=%d\tlpid=%d\tcpid=%d\tnattch=%d\n"
-msgstr ""
+msgstr "octets=%d\tlpid=%d\tcpid=%d\tnattch=%d\n"
 
-#: sys-utils/ipcs.c:546
+#: sys-utils/ipcs.c:572
 #, c-format
 msgid "att_time=%s"
-msgstr ""
+msgstr "att_time=%s"
 
-#: sys-utils/ipcs.c:547 sys-utils/ipcs.c:549 sys-utils/ipcs.c:598
+#: sys-utils/ipcs.c:573 sys-utils/ipcs.c:575 sys-utils/ipcs.c:624
 msgid "Not set\n"
-msgstr ""
+msgstr "Non défini\n"
 
-#: sys-utils/ipcs.c:548
+#: sys-utils/ipcs.c:574
 #, c-format
 msgid "det_time=%s"
-msgstr ""
+msgstr "det_time=%s"
 
-#: sys-utils/ipcs.c:550
+#: sys-utils/ipcs.c:576
 #, c-format
 msgid "change_time=%s"
-msgstr ""
+msgstr "change_time=%s"
 
-#: sys-utils/ipcs.c:566
+#: sys-utils/ipcs.c:592
 #, c-format
 msgid ""
 "\n"
 "Message Queue msqid=%d\n"
 msgstr ""
+"\n"
+"msqid de file de messages=%d\n"
 
-#: sys-utils/ipcs.c:567
+#: sys-utils/ipcs.c:593
 #, c-format
 msgid "uid=%d\tgid=%d\tcuid=%d\tcgid=%d\tmode=%#o\n"
-msgstr ""
+msgstr "uid=%d\tgid=%d\tcuid=%d\tcgid=%d\tmode=%#o\n"
 
-#: sys-utils/ipcs.c:569
+#: sys-utils/ipcs.c:595
 #, c-format
 msgid "cbytes=%d\tqbytes=%d\tqnum=%d\tlspid=%d\tlrpid=%d\n"
-msgstr ""
+msgstr "cbytes=%d\tqbytes=%d\tqnum=%d\tlspid=%d\tlrpid=%d\n"
 
-#: sys-utils/ipcs.c:572
+#: sys-utils/ipcs.c:598
 #, c-format
 msgid "send_time=%srcv_time=%schange_time=%s"
-msgstr ""
+msgstr "send_time=%srcv_time=%schange_time=%s"
 
-#: sys-utils/ipcs.c:573 sys-utils/ipcs.c:574 sys-utils/ipcs.c:575
+#: sys-utils/ipcs.c:599 sys-utils/ipcs.c:600 sys-utils/ipcs.c:601
 msgid "Not Set\n"
-msgstr ""
+msgstr "Non défini\n"
 
-#: sys-utils/ipcs.c:592
+#: sys-utils/ipcs.c:618
 #, c-format
 msgid ""
 "\n"
 "Semaphore Array semid=%d\n"
 msgstr ""
+"\n"
+"semid de table de sémaphores=%d\n"
 
-#: sys-utils/ipcs.c:593
+#: sys-utils/ipcs.c:619
 #, c-format
 msgid "uid=%d\t gid=%d\t cuid=%d\t cgid=%d\n"
-msgstr ""
+msgstr "uid=%d\t gid=%d\t cuid=%d\t cgid=%d\n"
 
-#: sys-utils/ipcs.c:595
+#: sys-utils/ipcs.c:621
 #, c-format
 msgid "mode=%#o, access_perms=%#o\n"
-msgstr ""
+msgstr "mode=%#o, access_perms=%#o\n"
 
-#: sys-utils/ipcs.c:596
-#, fuzzy, c-format
+#: sys-utils/ipcs.c:622
+#, c-format
 msgid "nsems = %d\n"
-msgstr "Tailledelazone=%d\n"
+msgstr "nsems = %d\n"
 
-#: sys-utils/ipcs.c:597
+#: sys-utils/ipcs.c:623
 #, c-format
 msgid "otime = %s"
-msgstr ""
+msgstr "otime = %s"
 
-#: sys-utils/ipcs.c:599
+#: sys-utils/ipcs.c:625
 #, c-format
 msgid "ctime = %s"
-msgstr ""
+msgstr "ctime = %s"
 
-#: sys-utils/ipcs.c:601
+#: sys-utils/ipcs.c:627
 #, c-format
 msgid "%-10s%-10s%-10s%-10s%-10s\n"
-msgstr ""
+msgstr "%-10s%-10s%-10s%-10s%-10s\n"
 
-#: sys-utils/ipcs.c:601
+#: sys-utils/ipcs.c:627
 msgid "semnum"
-msgstr ""
+msgstr "semnum"
 
-#: sys-utils/ipcs.c:601
+#: sys-utils/ipcs.c:627
 msgid "value"
 msgstr "valeur"
 
-#: sys-utils/ipcs.c:601
+#: sys-utils/ipcs.c:627
 msgid "ncount"
-msgstr ""
+msgstr "ncount"
 
-#: sys-utils/ipcs.c:602
+#: sys-utils/ipcs.c:628
 msgid "zcount"
-msgstr ""
+msgstr "zcount"
 
-#: sys-utils/ipcs.c:602
+#: sys-utils/ipcs.c:628
 msgid "pid"
-msgstr ""
+msgstr "pid"
 
 #: sys-utils/rdev.c:68
 msgid "usage: rdev [ -rsv ] [ -o OFFSET ] [ IMAGE [ VALUE [ OFFSET ] ] ]"
 msgstr ""
+"Usage : rdev [ -rsv ] [ -o DECALAGE ] [ IMAGE [ VALEUR [ DECALAGE ] ] ]"
 
 #: sys-utils/rdev.c:69
 msgid ""
 "  rdev /dev/fd0  (or rdev /linux, etc.) displays the current ROOT device"
 msgstr ""
+"  rdev /dev/fd0  (ou rdev /linux, etc.) Affiche le périphérique ROOT en cours"
 
 #: sys-utils/rdev.c:70
 msgid "  rdev /dev/fd0 /dev/hda2         sets ROOT to /dev/hda2"
-msgstr ""
+msgstr "  rdev /dev/fd0 /dev/hda2         Définit ROOT sur /dev/hda2"
 
 #: sys-utils/rdev.c:71
 msgid "  rdev -R /dev/fd0 1              set the ROOTFLAGS (readonly status)"
 msgstr ""
+"  rdev -R /dev/fd0 1              Définit les INDICATEURSROOT (statut "
+"lecture seule)"
 
 #: sys-utils/rdev.c:72
 msgid "  rdev -s /dev/fd0 /dev/hda2      set the SWAP device"
-msgstr ""
+msgstr "  rdev -s /dev/fd0 /dev/hda2      Définit le périphérique D'ECHANGE"
 
 #: sys-utils/rdev.c:73
 msgid "  rdev -r /dev/fd0 627            set the RAMDISK size"
-msgstr ""
+msgstr "  rdev -r /dev/fd0 627            Définit la taille du disque RAM"
 
 #: sys-utils/rdev.c:74
 msgid "  rdev -v /dev/fd0 1              set the bootup VIDEOMODE"
-msgstr ""
+msgstr "  rdev -v /dev/fd0 1              Définit l'amorçage en MODE VIDEO"
 
 #: sys-utils/rdev.c:75
-#, fuzzy
 msgid "  rdev -o N ...                   use the byte offset N"
-msgstr "  mode vidéo ...                     pareil que rdev -v"
+msgstr "  rdev -o N ...                   Utilise le décalage d'octet N"
 
 #: sys-utils/rdev.c:76
-#, fuzzy
 msgid "  rootflags ...                   same as rdev -R"
-msgstr "  mode vidéo ...                     pareil que rdev -v"
+msgstr "  rootflags ...                   Identique à rdev -R"
 
 #: sys-utils/rdev.c:77
-#, fuzzy
 msgid "  swapdev ...                     same as rdev -s"
-msgstr "  mode vidéo ...                     pareil que rdev -v"
+msgstr "  swapdev ...                     Identique à rdev -s"
 
 #: sys-utils/rdev.c:78
-#, fuzzy
 msgid "  ramsize ...                     same as rdev -r"
-msgstr "  mode vidéo ...                     pareil que rdev -v"
+msgstr "  ramsize ...                     Identique à rdev -r"
 
 #: sys-utils/rdev.c:79
 msgid "  vidmode ...                     same as rdev -v"
-msgstr "  mode vidéo ...                     pareil que rdev -v"
+msgstr "  vidmode ...                     Identique à rdev -v"
 
 #: sys-utils/rdev.c:80
 msgid ""
 "Note: video modes are: -3=Ask, -2=Extended, -1=NormalVga, 1=key1, 2=key2,..."
 msgstr ""
-"Note: les modes vidéo sont : -3=Demander, -2=Etendu, -1=NormalVga, "
-"1=touche1, 2=touche2,..."
+"Remarque : les modes vidéo sont : -3=Ask, -2=Extended, -1=NormalVga, 1=key1, "
+"2=key2,..."
 
 #: sys-utils/rdev.c:81
 msgid "      use -R 1 to mount root readonly, -R 0 for read/write."
 msgstr ""
-"      utilisez -R 1 pour monter la racine en lecture seule, -R 0 pour "
+"      Utilisez -R 1 pour monter root en lecture seule, -R 0 pour "
 "lecture/écriture."
 
 #: sys-utils/readprofile.c:52
@@ -8028,15 +8511,15 @@ msgid ""
 "\t -r            reset all the counters (root only)\n"
 "\t -V            print version and exit\n"
 msgstr ""
-"%s: Usage: \"%s [options]\n"
-"\t -m <mapfile>  (defaut = \"%s\")\n"
-"\t -p <pro-file> (defaut = \"%s\")\n"
-"\t -i            affiche seulement ce qui concerne la phase de prélèvement "
+"%s : Usage : \"%s [options]\n"
+"\t -m <fichier-mappe>  (par défaut = \"%s\")\n"
+"\t -p <fichier-pro> (par défaut = \"%s\")\n"
+"\t -i            Affiche seulement ce qui concerne la phase de prélèvement "
 "(sampling)\n"
-"\t -v            affiche des données bavardes\n"
-"\t -a            affiche tous les symboles, même si le compteur vaut 0\n"
-"\t -r            remet tous les compteurs à zéro (seulement root)\n"
-"\t -V            affiche le numéro de version et quitte\n"
+"\t -v            Affiche des données détaillées\n"
+"\t -a            Affiche tous les symboles, même si le total est 0\n"
+"\t -r            Remet tous les compteurs à zéro (root uniquement)\n"
+"\t -V            Affiche le numéro de version et quitte le programme\n"
 
 #: sys-utils/readprofile.c:116
 #, c-format
@@ -8045,22 +8528,22 @@ msgstr "%s Version %s\n"
 
 #: sys-utils/readprofile.c:128
 msgid "anything\n"
-msgstr ""
+msgstr "n'importe quoi\n"
 
 #: sys-utils/readprofile.c:157
 #, c-format
 msgid "Sampling_step: %i\n"
-msgstr ""
+msgstr "Phase_prélèv : %i\n"
 
 #: sys-utils/readprofile.c:170 sys-utils/readprofile.c:196
 #, c-format
 msgid "%s: %s(%i): wrong map line\n"
-msgstr ""
+msgstr "%s: %s(%i) : ligne de mappe incorrecte\n"
 
 #: sys-utils/readprofile.c:183
 #, c-format
 msgid "%s: can't find \"_stext\" in %s\n"
-msgstr "%s: impossible de trouver \"_stext\" dans %s\n"
+msgstr "%s : impossible de trouver \"_stext\" dans %s\n"
 
 #: sys-utils/readprofile.c:226
 msgid "total"
@@ -8070,119 +8553,123 @@ msgstr "total"
 msgid ""
 "usage: renice priority [ [ -p ] pids ] [ [ -g ] pgrps ] [ [ -u ] users ]\n"
 msgstr ""
-"usage: renice priorité [ [ -p ] pids ] [ [ -g ] pgrps ] [ [ -u ] "
+"usage : priorité renice[ [ -p ] pids ] [ [ -g ] pgrps ] [ [ -u ] "
 "utilisateurs ]\n"
 
 #: sys-utils/renice.c:94
 #, c-format
 msgid "renice: %s: unknown user\n"
-msgstr "renice: %s: utilisateur inconnu\n"
+msgstr "renice : %s : utilisateur inconnu\n"
 
 #: sys-utils/renice.c:102
 #, c-format
 msgid "renice: %s: bad value\n"
-msgstr "renice: %s: mauvaise valeur\n"
+msgstr "renice : %s : mauvaise valeur\n"
 
 #: sys-utils/renice.c:121
 msgid "getpriority"
-msgstr ""
+msgstr "getpriority"
 
 #: sys-utils/renice.c:126
 msgid "setpriority"
-msgstr ""
+msgstr "setpriority"
 
 #: sys-utils/renice.c:129
 #, c-format
 msgid "%d: old priority %d, new priority %d\n"
-msgstr "%d: ancienne priorité %d, nouvelle priorité %d\n"
+msgstr "%d : ancienne priorité %d, nouvelle priorité %d\n"
 
 #: sys-utils/setsid.c:23
 #, c-format
 msgid "usage: %s program [arg ...]\n"
-msgstr "usage: %s programme [arg ...]\n"
+msgstr "Usage : %s programme [arg ...]\n"
 
-#: sys-utils/tunelp.c:74
+#: sys-utils/tunelp.c:73
 #, 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 ""
+"Usage : %s <périphérique> [ -i <IRQ> | -t <TEMPS> | -c <CARS> | -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:90
+#: sys-utils/tunelp.c:89
 msgid "malloc error"
-msgstr "erreur de malloc"
+msgstr "Erreur de malloc"
 
-#: sys-utils/tunelp.c:101
-msgid "sscanf error"
-msgstr "erreur de sscanf"
+#: sys-utils/tunelp.c:100
+#, c-format
+msgid "%s: bad value\n"
+msgstr "%s : mauvaise valeur\n"
 
-#: sys-utils/tunelp.c:239
+#: sys-utils/tunelp.c:237
 #, c-format
 msgid "%s: %s not an lp device.\n"
-msgstr "%s: %s n'est pas un périphérique lp.\n"
+msgstr "%s : %s n'est pas un périphérique lp.\n"
 
-#: sys-utils/tunelp.c:260
+#: sys-utils/tunelp.c:258
 #, c-format
 msgid "%s status is %d"
-msgstr ""
+msgstr "Le statut de %s est %d."
 
-#: sys-utils/tunelp.c:261
+#: sys-utils/tunelp.c:259
 msgid ", busy"
 msgstr ", occupé"
 
-#: sys-utils/tunelp.c:262
+#: sys-utils/tunelp.c:260
 msgid ", ready"
 msgstr ", prêt"
 
-#: sys-utils/tunelp.c:263
+#: sys-utils/tunelp.c:261
 msgid ", out of paper"
 msgstr ", plus de papier"
 
-#: sys-utils/tunelp.c:264
+#: sys-utils/tunelp.c:262
 msgid ", on-line"
 msgstr ", en ligne"
 
-#: sys-utils/tunelp.c:265
+#: sys-utils/tunelp.c:263
 msgid ", error"
 msgstr ", erreur"
 
-#: sys-utils/tunelp.c:282
+#: sys-utils/tunelp.c:280
 msgid "LPGETIRQ error"
-msgstr "erreur LPGETIRQ"
+msgstr "Erreur LPGETIRQ"
 
-#: sys-utils/tunelp.c:288
+#: sys-utils/tunelp.c:286
 #, c-format
 msgid "%s using IRQ %d\n"
-msgstr "%s utilise l'IRQ %d\n"
+msgstr "%s utilise l'IRQ %d.\n"
 
-#: sys-utils/tunelp.c:290
-#, fuzzy, c-format
+#: sys-utils/tunelp.c:288
+#, c-format
 msgid "%s using polling\n"
-msgstr "%s utilise l'IRQ %d\n"
+msgstr "%s utilise la vérification\n"
 
 #: text-utils/col.c:153
 #, c-format
 msgid "col: bad -l argument %s.\n"
-msgstr "col: mauvais argument pour -l %s.\n"
+msgstr "col : mauvais argument pour -l %s.\n"
 
 #: text-utils/col.c:516
-#, fuzzy
 msgid "usage: col [-bfx] [-l nline]\n"
-msgstr "usage: column [-tx] [-c colonnes] [fichier ...]\n"
+msgstr "Usage : col [-bfx] [-l nline]\n"
 
 #: text-utils/col.c:522
 msgid "col: write error.\n"
-msgstr "col: erreur d'écriture.\n"
+msgstr "col : erreur d'écriture.\n"
 
 #: text-utils/col.c:529
 #, c-format
 msgid "col: warning: can't back up %s.\n"
-msgstr "col: avertissement : impossible de revenir jusqu'à %s.\n"
+msgstr "col : avertissement : impossible de sauvegarder %s.\n"
 
 #: text-utils/col.c:530
 msgid "past first line"
-msgstr ""
+msgstr "au delà de la première ligne"
 
 #: text-utils/col.c:530
 msgid "-- line already flushed"
@@ -8191,7 +8678,7 @@ msgstr "-- ligne d
 #: text-utils/colcrt.c:98
 #, c-format
 msgid "usage: %s [ - ] [ -2 ] [ file ... ]\n"
-msgstr "usage: %s [ - ] [ -2 ] [ fichier ... ]\n"
+msgstr "Usage : %s [ - ] [ -2 ] [ fichier ... ]\n"
 
 #: text-utils/column.c:302
 msgid "line too long"
@@ -8199,27 +8686,29 @@ msgstr "ligne trop longue"
 
 #: text-utils/column.c:379
 msgid "usage: column [-tx] [-c columns] [file ...]\n"
-msgstr "usage: column [-tx] [-c colonnes] [fichier ...]\n"
+msgstr "Usage : column [-tx] [-c colonnes] [fichier ...]\n"
 
 #: text-utils/hexsyntax.c:80
 msgid "hexdump: bad length value.\n"
-msgstr "hexdump: mauvaise valeur pour la longueur.\n"
+msgstr "hexdump : mauvaise valeur pour la longueur.\n"
 
 #: text-utils/hexsyntax.c:91
 msgid "hexdump: bad skip value.\n"
-msgstr "hexdump: mauvaise valeur de saut.\n"
+msgstr "hexdump : mauvaise valeur de saut.\n"
 
 #: text-utils/hexsyntax.c:129
 msgid ""
 "hexdump: [-bcdovx] [-e fmt] [-f fmt_file] [-n length] [-s skip] [file ...]\n"
 msgstr ""
+"hexdump : [-bcdovx] [-e fmt] [-f fichier_fmt] [-n longueur] [-s saut] "
+"[fichier ...]\n"
 
-#: text-utils/more.c:327
+#: text-utils/more.c:329
 #, c-format
 msgid "usage: %s [-dfln] [+linenum | +/pattern] name1 name2 ...\n"
-msgstr "usage: %s [-dfln] [+lignenum | +/motif] nom1 nom2 ...\n"
+msgstr "Usage : %s [-dfln] [+lignenum | +/motif] nom1 nom2 ...\n"
 
-#: text-utils/more.c:502
+#: text-utils/more.c:504
 #, c-format
 msgid ""
 "\n"
@@ -8227,10 +8716,11 @@ msgid ""
 "\n"
 msgstr ""
 "\n"
-"*** %s: répertoire ***\n"
+"*** %s : répertoire ***\n"
 "\n"
 
-#: text-utils/more.c:542
+#. simple ELF detection
+#: text-utils/more.c:543
 #, c-format
 msgid ""
 "\n"
@@ -8238,37 +8728,37 @@ msgid ""
 "\n"
 msgstr ""
 "\n"
-"******** %s: Pas un fichier texte ********\n"
+"******** %s : Pas un fichier texte ********\n"
 "\n"
 
-#: text-utils/more.c:646
+#: text-utils/more.c:647
 msgid "[Use q or Q to quit]"
-msgstr "[utilisez q ou Q pour quitter]"
+msgstr "[Utilisez q ou Q pour quitter]"
 
-#: text-utils/more.c:832
+#: text-utils/more.c:833
 msgid "--More--"
 msgstr "--Encore--"
 
-#: text-utils/more.c:834
+#: text-utils/more.c:835
 #, c-format
 msgid "(Next file: %s)"
-msgstr "(Prochain fichier : %s)"
+msgstr "(Fichier suivant : %s)"
 
-#: text-utils/more.c:840
+#: text-utils/more.c:841
 msgid "[Press space to continue, 'q' to quit.]"
-msgstr "[Appuyez sur espace pour continuer, 'q' pour quitter.]"
+msgstr "[Appuyez sur espace pour continuer, sur 'q' pour quitter.]"
 
-#: text-utils/more.c:1141
+#: text-utils/more.c:1139
 #, c-format
 msgid "...back %d page"
-msgstr "...retour de %d pages"
+msgstr "...retour à la page %d"
 
-#: text-utils/more.c:1189
+#: text-utils/more.c:1185
 #, c-format
 msgid "...skipping %d line"
-msgstr ""
+msgstr "...saut de la ligne %d"
 
-#: text-utils/more.c:1230
+#: text-utils/more.c:1226
 msgid ""
 "\n"
 "***Back***\n"
@@ -8278,37 +8768,37 @@ msgstr ""
 "***Arrière***\n"
 "\n"
 
-#: text-utils/more.c:1268
+#: text-utils/more.c:1264
 msgid "Can't open help file"
 msgstr "Impossible d'ouvrir le fichier d'aide"
 
-#: text-utils/more.c:1310 text-utils/more.c:1314
+#: text-utils/more.c:1285 text-utils/more.c:1289
 msgid "[Press 'h' for instructions.]"
-msgstr "[appuyez sur 'h' pour l'aide.]"
+msgstr "[Appuyez sur 'h' pour l'aide.]"
 
-#: text-utils/more.c:1349
+#: text-utils/more.c:1324
 #, c-format
 msgid "\"%s\" line %d"
 msgstr "\"%s\" ligne %d"
 
-#: text-utils/more.c:1351
+#: text-utils/more.c:1326
 #, c-format
 msgid "[Not a file] line %d"
 msgstr "[Pas un fichier] ligne %d"
 
-#: text-utils/more.c:1435
+#: text-utils/more.c:1410
 msgid "  Overflow\n"
 msgstr "  Dépassement\n"
 
-#: text-utils/more.c:1482
+#: text-utils/more.c:1457
 msgid "...skipping\n"
-msgstr ""
+msgstr "...saut\n"
 
-#: text-utils/more.c:1512
+#: text-utils/more.c:1487
 msgid "Regular expression botch"
-msgstr ""
+msgstr "expression régulière botch"
 
-#: text-utils/more.c:1524
+#: text-utils/more.c:1499
 msgid ""
 "\n"
 "Pattern not found\n"
@@ -8316,49 +8806,51 @@ msgstr ""
 "\n"
 "Motif introuvable\n"
 
-#: text-utils/more.c:1527
+#: text-utils/more.c:1502
 msgid "Pattern not found"
 msgstr "Motif introuvable"
 
-#: text-utils/more.c:1588
+#: text-utils/more.c:1563
 msgid "can't fork\n"
-msgstr "impossible de forker\n"
+msgstr "Fork impossible\n"
 
-#: text-utils/more.c:1627
+#: text-utils/more.c:1602
 msgid ""
 "\n"
 "...Skipping "
 msgstr ""
+"\n"
+"...Saut "
 
-#: text-utils/more.c:1631
+#: text-utils/more.c:1606
 msgid "...Skipping "
-msgstr ""
+msgstr "...Saut "
 
-#: text-utils/more.c:1632
+#: text-utils/more.c:1607
 msgid "to file "
 msgstr "vers le fichier "
 
-#: text-utils/more.c:1632
+#: text-utils/more.c:1607
 msgid "back to file "
 msgstr "retour au fichier "
 
-#: text-utils/more.c:1871
+#: text-utils/more.c:1846
 msgid "Line too long"
 msgstr "Ligne trop longue"
 
-#: text-utils/more.c:1915
+#: text-utils/more.c:1890
 msgid "No previous command to substitute for"
 msgstr "Aucune commande antérieure à substituer"
 
 #: text-utils/odsyntax.c:133
 msgid "od: od(1) has been deprecated for hexdump(1).\n"
-msgstr ""
+msgstr "od : od(1) a été rétrogradé pour hexdump(1).\n"
 
 #: text-utils/odsyntax.c:136
 #, c-format
-#, FIXME
 msgid "od: hexdump(1) compatibility doesn't support the -%c option%s\n"
-msgstr "od: la compatibilité avec hexdump(1) ne supporte pas l'option%s -%c\n"
+msgstr ""
+"od : la compatibilité avec hexdump(1) ne prend pas en charge l'option%s -%c\n"
 
 #: text-utils/odsyntax.c:137
 msgid "; see strings(1)."
@@ -8367,51 +8859,51 @@ msgstr "; voir strings(1)."
 #: text-utils/parse.c:63
 #, c-format
 msgid "hexdump: can't read %s.\n"
-msgstr "hexdump: impossible de lire %s.\n"
+msgstr "hexdump : impossible de lire %s.\n"
 
 #: text-utils/parse.c:68
 msgid "hexdump: line too long.\n"
-msgstr "hexdump: ligne trop longue.\n"
+msgstr "hexdump : ligne trop longue.\n"
 
 #: text-utils/parse.c:406
-#, fuzzy
 msgid "hexdump: byte count with multiple conversion characters.\n"
-msgstr "hexdump: mauvais nombre d'octets pour la conversion de caractère %s.\n"
+msgstr "hexdump: nombre d'octets incorrect pour la conversion de caractère.\n"
 
 #: text-utils/parse.c:490
 #, c-format
 msgid "hexdump: bad byte count for conversion character %s.\n"
-msgstr "hexdump: mauvais nombre d'octets pour la conversion de caractère %s.\n"
+msgstr ""
+"hexdump : nombre d'octets incorrect pour la conversion de caractère %s.\n"
 
 #: text-utils/parse.c:497
 msgid "hexdump: %%s requires a precision or a byte count.\n"
-msgstr "hexdump: %%s requiert une précision ou un nombre d'octets.\n"
+msgstr "hexdump : %%s requiert une précision ou un nombre d'octets.\n"
 
 #: text-utils/parse.c:503
 #, c-format
 msgid "hexdump: bad format {%s}\n"
-msgstr "hexdump: mauvais format {%s}\n"
+msgstr "hexdump : format incorrect {%s}\n"
 
 #: text-utils/parse.c:509
 msgid "hexdump: bad conversion character %%%s.\n"
-msgstr "hexdump: mauvaise conversion de caractère %%%s.\n"
+msgstr "hexdump : caractère de conversion incorrect %%%s.\n"
 
 #: text-utils/rev.c:114
 msgid "Unable to allocate bufferspace\n"
-msgstr "Impossible d'allouer le buffer\n"
+msgstr "Impossible d'allouer de l'espace pour le tampon\n"
 
 #: text-utils/rev.c:173
 msgid "usage: rev [file ...]\n"
-msgstr "usage: rev [fichier ...]\n"
+msgstr "Usage : rev [fichier ...]\n"
 
 #: text-utils/ul.c:141
 #, c-format
 msgid "usage: %s [ -i ] [ -tTerm ] file...\n"
-msgstr "usage: %s [ -i ] [ -tTerm ] fichier...\n"
+msgstr "Usage : %s [ -i ] [ -tTerm ] fichier...\n"
 
 #: text-utils/ul.c:152
 msgid "trouble reading terminfo"
-msgstr "problème lors de la lecture de terminfo"
+msgstr "Problème lors de la lecture de terminfo"
 
 #: text-utils/ul.c:241
 #, c-format
@@ -8420,7 +8912,7 @@ msgstr "S
 
 #: text-utils/ul.c:398
 msgid "Unable to allocate buffer.\n"
-msgstr "Impossible d'allouer le buffer.\n"
+msgstr "Impossible d'allouer le tampon.\n"
 
 #: text-utils/ul.c:555
 msgid "Input line too long.\n"
@@ -8428,14 +8920,20 @@ msgstr "Ligne en entr
 
 #: text-utils/ul.c:568
 msgid "Out of memory when growing buffer.\n"
-msgstr "Pas assez de mémoire pour agrandir le buffer.\n"
+msgstr "Mémoire insuffisante pour accroître le tampon.\n"
 
-#: kbd/kbdrate.c:139 kbd/kbdrate.c:271
+#: kbd/kbdrate.c:138 kbd/kbdrate.c:276
 #, c-format
 msgid "Typematic Rate set to %.1f cps (delay = %d ms)\n"
+msgstr "Taux Typematic défini sur %.1f cps (délai = %d ms)\n"
+
+#: kbd/kbdrate.c:222
+msgid "Usage: kbdrate [-V] [-s] [-r rate] [-d delay]\n"
 msgstr ""
 
-#: kbd/kbdrate.c:247
+#: kbd/kbdrate.c:252
 msgid "Cannot open /dev/port"
 msgstr "Impossible d'ouvrir /dev/port"
 
+#~ msgid "sscanf error"
+#~ msgstr "Erreur de sscanf"
index 73b8c6a7e2e79c1885c44ace5f51e5e07f3ac90f..207ea6ed528c477eb08c5d2276e225227406aab5 100644 (file)
--- a/po/it.po
+++ b/po/it.po
-# Translation for util-linux.
-# Copyright (C) 1999 Marco d'Itri
-# Marco d'Itri <md@linux.it>, 1999.
-#
+# Italian translation of the util-linux messages.
+# Copyright (C) 2000 Free Software Foundation, Inc.
+# <support@turbolinux.com>, 2000.
 msgid ""
 msgstr ""
-"Project-Id-Version: util-linux 2.9i\n"
-"POT-Creation-Date: 1999-09-25 13:07+0200\n"
-"PO-Revision-Date: 1999-04-04 21:12+02:00\n"
-"Last-Translator: Marco d'Itri <md@linux.it>\n"
-"Language-Team: Italian <it@li.org>\n"
+"Project-Id-Version: util-linux 2.10f\n"
+"POT-Creation-Date: 2000-03-21 14:47-0800\n"
+"PO-Revision-Date: 2000-04-04 21:52-0800\n"
+"Last-Translator: Beth Powell <bpowell@turbolinux.com>\n"
+"Language-Team: <support@turbolinux.com>\n"
 "MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=iso-8859-1\n"
-"Content-Transfer-Encoding: 8-bit\n"
+"Content-Type: text/plain; charset=ISO-8859-1\n"
+"Content-Transfer-Encoding: 8bit\n"
 
 #: clock/cmos.c:146
 msgid "booted from MILO\n"
-msgstr ""
+msgstr "avviato da MILO\n"
 
-#: clock/cmos.c:154
+#: clock/cmos.c:155
 msgid "Ruffian BCD clock\n"
-msgstr ""
+msgstr "Ruffian BCD clock\n"
 
-#: clock/cmos.c:170
+#: clock/cmos.c:171
 #, c-format
 msgid "clockport adjusted to 0x%x\n"
-msgstr ""
+msgstr "porta clock regolata su 0x%x\n"
 
-#: clock/cmos.c:180
+#: clock/cmos.c:181
 msgid "funky TOY!\n"
-msgstr ""
+msgstr "funky TOY!\n"
 
-#: clock/cmos.c:234
+#: clock/cmos.c:235
 #, c-format
 msgid "%s: atomic %s failed for 1000 iterations!"
-msgstr ""
+msgstr "%s: %s atomico non è riuscito per 1000 iterazioni!"
 
-#: clock/cmos.c:558
+#: clock/cmos.c:559
 #, c-format
 msgid "Cannot open /dev/port: %s"
-msgstr ""
+msgstr "Impossibile aprire /dev/port: %s"
 
-#: clock/cmos.c:565
+#: clock/cmos.c:566
 msgid "I failed to get permission because I didnt try.\n"
 msgstr ""
+"Non sono riuscito ad ottenere l'autorizzazione perché non ho provato.\n"
 
-#: clock/cmos.c:568
+#: clock/cmos.c:569
 #, 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"
 
-#: clock/cmos.c:571
+#: clock/cmos.c:572
 msgid "Probably you need root privileges.\n"
-msgstr ""
+msgstr "Probabilmente sono necessari privilegi di root.\n"
+
+#: clock/hwclock.c:213
+#, 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"
+
+#: clock/hwclock.c:214 clock/hwclock.c:303
+msgid "UTC"
+msgstr "UTC"
+
+#: clock/hwclock.c:214 clock/hwclock.c:302
+msgid "local"
+msgstr "locale"
+
+#: clock/hwclock.c:286
+#, c-format
+msgid "%s: Warning: unrecognized third line in adjtime file\n"
+msgstr "%s: attenzione: terza linea non riconosciuta nel file adjtime\n"
+
+#: clock/hwclock.c:288
+msgid "(Expected: `UTC' or `LOCAL' or nothing.)\n"
+msgstr "(Previsto: `UTC' o `LOCAL' o niente.)\n"
 
-#: clock/hwclock.c:253
+#: clock/hwclock.c:297
 #, c-format
 msgid "Last drift adjustment done at %d seconds after 1969\n"
-msgstr ""
+msgstr "Ultima regolazione della deriva effettuata %d secondi dopo il 1969\n"
 
-#: clock/hwclock.c:255
+#: clock/hwclock.c:299
 #, c-format
 msgid "Last calibration done at %d seconds after 1969\n"
-msgstr ""
+msgstr "Ultima calibrazione effettuata %d secondi dopo il 1969\n"
+
+#: clock/hwclock.c:301
+#, c-format
+msgid "Hardware clock is on %s time\n"
+msgstr "Il clock hardware è sull'orario %s\n"
+
+#: clock/hwclock.c:303
+msgid "unknown"
+msgstr "sconosciuto"
 
 #. -----------------------------------------------------------------------------
 #. Wait until the falling edge of the Hardware Clock's update flag so
@@ -77,50 +110,57 @@ msgstr ""
 #. Return *retcode_p == 0 if it worked, nonzero if it didn't.
 #.
 #. -----------------------------------------------------------------------------
-#: clock/hwclock.c:278
+#: clock/hwclock.c:325
 msgid "Waiting for clock tick...\n"
-msgstr ""
+msgstr "Attesa del segnale dal clock...\n"
 
-#: clock/hwclock.c:282
+#: clock/hwclock.c:329
 msgid "...got clock tick\n"
-msgstr ""
+msgstr "...ricevuto segnale dal clock\n"
 
-#: clock/hwclock.c:334
+#: clock/hwclock.c:380
 #, c-format
 msgid "Invalid values in hardware clock: %2d/%.2d/%.2d %.2d:%.2d:%.2d\n"
-msgstr ""
+msgstr " Valori non validi nel clock hardware: %2d/%.2d/%.2d %.2d:%.2d:%.2d\n"
 
-#: clock/hwclock.c:343
+#: clock/hwclock.c:389
 #, c-format
-msgid "Hw clock time : %.2d:%.2d:%.2d = %d seconds since 1969\n"
+msgid "Hw clock time : %2d/%.2d/%.2d %.2d:%.2d:%.2d = %d seconds since 1969\n"
 msgstr ""
+" Orario clock hardware : %2d/%.2d/%.2d %.2d:%.2d:%.2d = %d secondi dal 1969\n"
 
-#: clock/hwclock.c:369
+#: clock/hwclock.c:417
 #, c-format
 msgid "Time read from Hardware Clock: %02d:%02d:%02d\n"
-msgstr ""
+msgstr " Orario letto dal clock hardware: %02d:%02d:%02d\n"
 
-#: clock/hwclock.c:395
+#: clock/hwclock.c:443
 #, c-format
 msgid "Setting Hardware Clock to %.2d:%.2d:%.2d = %d seconds since 1969\n"
 msgstr ""
+" Impostazione del clock hardware a %.2d:%.2d:%.2d = %d secondi dal 1969\n"
 
-#: clock/hwclock.c:401
+#: clock/hwclock.c:449
 msgid "Clock not changed - testing only.\n"
-msgstr ""
+msgstr "Nessun cambio del clock - si tratta solamente di una verifica.\n"
 
-#: clock/hwclock.c:449
+#: clock/hwclock.c:497
 #, c-format
 msgid ""
 "Time elapsed since reference time has been %.6f seconds.\n"
 "Delaying further to reach the next full second.\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"
 
-#: clock/hwclock.c:473
+#: clock/hwclock.c:521
 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"
 
 #. Address of static storage containing time string
 #. For some strange reason, ctime() is designed to include a newline
@@ -128,38 +168,41 @@ msgstr ""
 #.
 #. Compute display value for time
 #. Cut off trailing newline
-#: clock/hwclock.c:485
+#: clock/hwclock.c:533
 #, c-format
 msgid "%s  %.6f seconds\n"
-msgstr ""
+msgstr "%s  %.6f secondi\n"
 
-#: clock/hwclock.c:519
+#: clock/hwclock.c:567
 msgid "No --date option specified.\n"
-msgstr ""
+msgstr "Opzione --date non specificata.\n"
 
 #. Quotation marks in date_opt would ruin the date command we construct.
 #.
-#: clock/hwclock.c:524
+#: clock/hwclock.c:572
 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"
 
-#: clock/hwclock.c:530
+#: clock/hwclock.c:578
 #, c-format
 msgid "Issuing date command: %s\n"
-msgstr ""
+msgstr "Esecuzione comando date: %s\n"
 
-#: clock/hwclock.c:534
+#: clock/hwclock.c:582
 msgid "Unable to run 'date' program in /bin/sh shell. popen() failed"
 msgstr ""
+"Impossibile eseguire il programma 'date' nella shell /bin/sh. popen() fallito"
 
-#: clock/hwclock.c:540
+#: clock/hwclock.c:588
 #, c-format
 msgid "response from date command = %s\n"
-msgstr ""
+msgstr "risposta dal comando date = %s\n"
 
-#: clock/hwclock.c:542
+#: clock/hwclock.c:590
 #, c-format
 msgid ""
 "The date command issued by %s returned unexpected results.\n"
@@ -168,8 +211,13 @@ msgid ""
 "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"
 
-#: clock/hwclock.c:551
+#: clock/hwclock.c:599
 #, c-format
 msgid ""
 "The date command issued by %s returnedsomething other than an integer where "
@@ -179,222 +227,333 @@ msgid ""
 "The response was:\n"
 " %s\n"
 msgstr ""
+"Il comando dato 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"
 
-#: clock/hwclock.c:561
+#: clock/hwclock.c:609
 #, c-format
 msgid "date string %s equates to %d seconds since 1969.\n"
-msgstr ""
+msgstr "la stringa della data %s equivale a %d secondi dal 1969.\n"
 
-#: clock/hwclock.c:596
+#: clock/hwclock.c:641
 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"
 
-#: clock/hwclock.c:612
+#: clock/hwclock.c:654
 msgid "Calling settimeofday:\n"
-msgstr ""
+msgstr " Chiamata settimeofday in corso:\n"
 
-#: clock/hwclock.c:613
+#: clock/hwclock.c:655
 #, c-format
 msgid "\ttv.tv_sec = %ld, tv.tv_usec = %ld\n"
-msgstr ""
+msgstr "\ttv.tv_sec = %ld, tv.tv_usec = %ld\n"
 
-#: clock/hwclock.c:615
+#: clock/hwclock.c:657
 #, c-format
 msgid "\ttz.tz_minuteswest = %ld\n"
-msgstr ""
+msgstr "\ttz.tz_minuteswest = %ld\n"
 
-#: clock/hwclock.c:618
+#: clock/hwclock.c:660
 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"
 
-#: clock/hwclock.c:630
+#: clock/hwclock.c:673
 msgid "Must be superuser to set system clock.\n"
-msgstr ""
+msgstr "Bisogna essere superuser per impostare il clock del sistema\n"
 
-#: clock/hwclock.c:632
+#: clock/hwclock.c:675
 msgid "settimeofday() failed"
-msgstr ""
+msgstr " settimeofday() non riuscito"
 
-#: clock/hwclock.c:665
+#: clock/hwclock.c:708
 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"
 
-#: clock/hwclock.c:669
+#: clock/hwclock.c:712
 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"
 
-#: clock/hwclock.c:678
+#: clock/hwclock.c:721
 #, c-format
 msgid ""
 "Clock drifted %d 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 %d secondi negli ultimi %d secondi "
+"nonostante il fattoredi deriva fosse di %f secondi/giorno.\n"
+"Regolazione del fattore di deriva a %f secondi/giorno\n"
 
-#: clock/hwclock.c:729
+#: clock/hwclock.c:772
 #, c-format
 msgid "Time since last adjustment is %d seconds\n"
-msgstr ""
+msgstr "Il tempo trascorso dall'ultima regolazione è di %d secondi\n"
 
-#: clock/hwclock.c:731
+#: clock/hwclock.c:774
 #, 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"
 
-#: clock/hwclock.c:759
+#: clock/hwclock.c:803
 msgid "Not updating adjtime file because of testing mode.\n"
-msgstr ""
+msgstr "Il file adjtime non viene aggiornato a causa della modalità test.\n"
 
-#: clock/hwclock.c:760
+#: clock/hwclock.c:804
 #, c-format
 msgid ""
 "Would have written the following to %s:\n"
 "%s"
 msgstr ""
+"Si sarebbe scritto quanto segue in %s:\n"
+"%s"
 
-#: clock/hwclock.c:784
+#: clock/hwclock.c:828
 msgid "Drift adjustment parameters not updated.\n"
-msgstr ""
+msgstr "Parametri di regolazione della deriva non aggiornati.\n"
 
-#: clock/hwclock.c:825
+#: clock/hwclock.c:869
 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"
 
-#: clock/hwclock.c:849
+#: clock/hwclock.c:893
 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"
 
-#: clock/hwclock.c:875
+#: clock/hwclock.c:919
 #, c-format
 msgid "Using %s.\n"
-msgstr ""
+msgstr "Utilizzo di %s in corso.\n"
 
-#: clock/hwclock.c:877
+#: clock/hwclock.c:921
 msgid "No usable clock interface found.\n"
-msgstr ""
+msgstr "Impossibile trovare un'interfaccia clock utilizzabile.\n"
 
-#: clock/hwclock.c:965
+#: clock/hwclock.c:1016
 msgid "Unable to set system clock.\n"
-msgstr ""
+msgstr "Impossibile impostare il clock di sistema.\n"
 
-#: clock/hwclock.c:994
+#: clock/hwclock.c:1045
 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"
 
-#: clock/hwclock.c:1003
+#: clock/hwclock.c:1054
 msgid "Unable to get the epoch value from the kernel.\n"
-msgstr ""
+msgstr "Impossibile ottenere il valore epoch dal kernel.\n"
 
-#: clock/hwclock.c:1005
+#: clock/hwclock.c:1056
 #, c-format
 msgid "Kernel is assuming an epoch value of %lu\n"
-msgstr ""
+msgstr "Il kernel pressuppone un valore epoch di %lu\n"
 
-#: clock/hwclock.c:1008
+#: clock/hwclock.c:1059
 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"
 
-#: clock/hwclock.c:1011
+#: clock/hwclock.c:1062
 #, 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"
 
-#: clock/hwclock.c:1014
+#: clock/hwclock.c:1065
 msgid "Unable to set the epoch value in the kernel.\n"
+msgstr "Impossibile impostare il valore epoch nel kernel.\n"
+
+#: clock/hwclock.c:1088
+msgid ""
+"hwclock - query and set the hardware clock (RTC)\n"
+"\n"
+"Usage: hwclock [function] [options...]\n"
+"\n"
+"Functions:\n"
+"  --help        show this help\n"
+"  --show        read hardware clock and print result\n"
+"  --set         set the rtc to the time given with --date\n"
+"  --hctosys     set the system time from the hardware clock\n"
+"  --systohc     set the hardware clock to the current system time\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"
+"  --version     print out the version of hwclock to stdout\n"
+"\n"
+"Options: \n"
+"  --utc         the hardware clock is kept in coordinated universal time\n"
+"  --localtime   the hardware clock is kept in local time\n"
+"  --directisa   access the ISA bus directly instead of /dev/rtc\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"
+msgstr ""
+"hwclock - ricerca e impostazione del clock di sistema (RTC)\n"
+"\n"
+"Utilizzo: hwclock [funzione] [opzioni...]\n"
+"\n"
+"Funzioni:\n"
+"  --help        mostra questa guida\n"
+"  --show        legge il clock hardware e stampa il risultato\n"
+"  --set         imposta rtc rispetto all'orario dato con --date\n"
+"  --hctosys     imposta l'ora del sistema dal clock hardware\n"
+"  --systohc     imposta il clock hardware sull'ora del sistema attuale\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 stdout\n"
+"\n"
+"Opzioni: \n"
+"  --utc         il clock hardware è mantenuto su di un orario universale "
+"coordinato\n"
+"  --localtime   il clock hardware è mantenuto sull'ora locale\n"
+"  --directisa   accesso diretto al bus ISA invece di /dev/rtc\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 che è l'inizio per il \n"
+"                valore epoch del clock hardware\n"
+
+#: clock/hwclock.c:1113
+msgid ""
+"  --jensen, --arc, --srm, --funky-toy\n"
+"                tell hwclock the type of alpha you have (see hwclock(8))\n"
 msgstr ""
+"  --jensen, --arc, --srm, --funky-toy\n"
+"                indicano al hwclock il tipo di alpha utilizzato (consultare "
+"hwclock(8))\n"
 
-#: clock/hwclock.c:1094
+#: clock/hwclock.c:1209
 #, 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"
 
-#: clock/hwclock.c:1102
+#: clock/hwclock.c:1219
 msgid ""
 "You have specified multiple function options.\n"
 "You can only perform one function at a time.\n"
 msgstr ""
+"Sono state specificate opzioni di funzione multipla.\n"
+"È possibile eseguire una sola funzione per volta.\n"
+
+#: clock/hwclock.c:1225
+#, 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"
 
-#: clock/hwclock.c:1115
+#: clock/hwclock.c:1238
 msgid "No usable set-to time.  Cannot set clock.\n"
 msgstr ""
+"Impossibile utilizzare l'ora impostata. Impossibile impostare il clock.\n"
 
-#: clock/hwclock.c:1130
+#: clock/hwclock.c:1253
 msgid "Sorry, only the superuser can change the Hardware Clock.\n"
-msgstr ""
+msgstr "Spiacente, solamente il superuser può modificare il clock hardware.\n"
 
-#: clock/hwclock.c:1134
+#: clock/hwclock.c:1257
 msgid ""
 "Sorry, only the superuser can change the Hardware Clock epoch in the "
 "kernel.\n"
 msgstr ""
+"Solamente il supeuser può modificare l'epoch del clock hardware nel kernel.\n"
 
-#: clock/hwclock.c:1150
+#: clock/hwclock.c:1275
 msgid ""
 "Cannot access the Hardware Clock via any known method.  Use --debug option "
 "to see the details of our search for an access method.\n"
 msgstr ""
-
-#: clock/hwclock.c:1164
-#, c-format
-msgid "%s: %s, errno=%d: %s.\n"
-msgstr ""
+" Impossibile accedere al clock hardware attraverso qualsiasi metodo "
+"conosciuto.  Utilizzare l'opzione --debug per visionare i dettagli della "
+"nostra ricerca di un metodo d'accesso.\n"
 
 #: clock/kd.c:41
 msgid "Waiting in loop for time from KDGHWCLK to change\n"
-msgstr ""
+msgstr "Attesa in loop per il cambio ora da KDGHWCLK\n"
 
 #: clock/kd.c:44
 msgid "KDGHWCLK ioctl to read time failed"
-msgstr ""
+msgstr "Lettura dell'orario con KDGHWCLK ioctl non riuscita"
 
 #: clock/kd.c:65 clock/rtc.c:144
 msgid "Timed out waiting for time change.\n"
-msgstr ""
+msgstr "Tempo d'attesa per il cambio ora esaurito.\n"
 
 #: clock/kd.c:69
 msgid "KDGHWCLK ioctl to read time failed in loop"
-msgstr ""
+msgstr " Lettura dell'orario con KDGHWCLK ioctl non riuscita nel loop"
 
 #: clock/kd.c:91
 msgid "ioctl() failed to read time from  /dev/tty1"
-msgstr ""
+msgstr " ioctl() non è riuscito a leggere l'orario da  /dev/tty1"
 
 #: clock/kd.c:127
 msgid "ioctl() to open /dev/tty1 failed"
-msgstr ""
+msgstr "impossibile per ioctl() aprire /dev/tty1"
 
 #: clock/kd.c:157
 msgid "KDGHWCLK ioctl failed"
-msgstr ""
+msgstr " KDGHWCLK ioctl non riuscito"
 
 #: clock/kd.c:161
 msgid "Can't open /dev/tty1"
-msgstr ""
+msgstr "Impossibile aprire /dev/tty1"
 
 #: clock/rtc.c:98
 msgid "ioctl() to /dev/rtc to read the time failed.\n"
-msgstr ""
+msgstr "Lettura dell'orario attraverso ioctl() su /dev/rtc non riuscita.\n"
 
 #: clock/rtc.c:129
 msgid "Waiting in loop for time from /dev/rtc to change\n"
-msgstr ""
+msgstr "Attesa in loop per il cambio ora da /dev/rtc\n"
 
 #: clock/rtc.c:165 clock/rtc.c:222
 msgid "open() of /dev/rtc failed"
-msgstr ""
+msgstr "open() di /dev/rtc fallita"
 
 #. This rtc device doesn't have interrupt functions.  This is typical
 #. on an Alpha, where the Hardware Clock interrupts are used by the
@@ -402,36 +561,41 @@ msgstr ""
 #.
 #: clock/rtc.c:182
 msgid "/dev/rtc does not have interrupt functions. "
-msgstr ""
+msgstr "/dev/rtc non ha funzioni di interrupt. "
 
 #: clock/rtc.c:191
 msgid "read() to /dev/rtc to wait for clock tick failed"
-msgstr ""
+msgstr " read() su /dev/rtc per l'attesa del segnale dal clock fallita"
 
 #: clock/rtc.c:199
 msgid "ioctl() to /dev/rtc to turn off update interrupts failed"
 msgstr ""
+"Non riuscita la disattivazione degli interrupt d'aggiornamento attraverso "
+"ioctl() su /dev/rtc"
 
 #: clock/rtc.c:202
 msgid "ioctl() to /dev/rtc to turn on update interrupts failed unexpectedly"
 msgstr ""
+"Non riuscita inaspettatamente l'attivazione degli interrupt d'aggiornametno "
+"attraverso ioctl() su /dev/rtc "
 
 #: clock/rtc.c:245 clock/rtc.c:324 clock/rtc.c:369
 msgid "Unable to open /dev/rtc"
-msgstr ""
+msgstr "Impossibile aprire /dev/rtc"
 
 #: clock/rtc.c:268
 msgid "ioctl() to /dev/rtc to set the time failed.\n"
 msgstr ""
+"Non riusciuta l'impostazione dell'ora attraverso ioctl() su /dev/rtc.\n"
 
 #: clock/rtc.c:272
 #, c-format
 msgid "ioctl(%s) was successful.\n"
-msgstr ""
+msgstr " ioctl(%s) ha funzionato.\n"
 
 #: clock/rtc.c:302
 msgid "Open of /dev/rtc failed"
-msgstr ""
+msgstr "Non riuscita l'apertura di /dev/rtc"
 
 #: clock/rtc.c:320 clock/rtc.c:365
 msgid ""
@@ -439,15 +603,18 @@ msgid ""
 "device driver via the device special file /dev/rtc.  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 "
+"/dev/rtc.  Questo file non esiste su questo sistema.\n"
 
 #: clock/rtc.c:331
 msgid "ioctl(RTC_EPOCH_READ) to /dev/rtc failed"
-msgstr ""
+msgstr " Non riuscito ioctl(RTC_EPOCH_READ) su /dev/rtc"
 
 #: clock/rtc.c:337
 #, c-format
 msgid "we have read epoch %ld from /dev/rtc with RTC_EPOCH_READ ioctl.\n"
-msgstr ""
+msgstr "lettura di epoch %ld da /dev/rtc con RTC_EPOCH_READ ioctl.\n"
 
 #. kernel would not accept this epoch value
 #. Hmm - bad habit, deciding not to do what the user asks
@@ -455,74 +622,131 @@ msgstr ""
 #: clock/rtc.c:357
 #, c-format
 msgid "The epoch value may not be less than 1900.  You requested %ld\n"
-msgstr ""
+msgstr "Il valore epoch non può essere inferiore a 1900. Si è richiesto %ld\n"
 
 #: clock/rtc.c:374
 #, c-format
 msgid "setting epoch to %ld with RTC_EPOCH_SET ioctl to /dev/rtc.\n"
 msgstr ""
+"impostazione epoch su %ld con RTC_EPOCH_SET ioctl su /dev/rtc in corso.\n"
 
 #: clock/rtc.c:379
 msgid ""
 "The kernel device driver for /dev/rtc does not have the RTC_EPOCH_SET "
 "ioctl.\n"
 msgstr ""
+"Il driver di periferica per il kernel per /dev/rtc non ha RTC_EPOCH_SET "
+"ioctl.\n"
 
 #: clock/rtc.c:382
 msgid "ioctl(RTC_EPOCH_SET) to /dev/rtc failed"
-msgstr ""
+msgstr "Non riuscito ioctl(RTC_EPOCH_SET) su /dev/rtc"
 
 #: clock/shhopt.c:255 clock/shhopt.c:281
 #, c-format
 msgid "invalid number `%s'\n"
-msgstr ""
+msgstr "numero `%s' non valido\n"
 
 #: clock/shhopt.c:258 clock/shhopt.c:284
 #, c-format
 msgid "number `%s' to `%s' out of range\n"
-msgstr ""
+msgstr " numero `%s' su `%s' fuori intervallo\n"
 
 #: clock/shhopt.c:398
 #, c-format
 msgid "unrecognized option `%s'\n"
-msgstr ""
+msgstr "opzione `%s' non riconosciuta\n"
 
 #: clock/shhopt.c:411 clock/shhopt.c:449
 #, c-format
 msgid "option `%s' requires an argument\n"
-msgstr ""
+msgstr "l'opzione `%s' richiede un argomento\n"
 
 #: clock/shhopt.c:417
 #, c-format
 msgid "option `%s' doesn't allow an argument\n"
-msgstr ""
+msgstr "l'opzione `%s' non consente un argomento\n"
 
 #: clock/shhopt.c:439
 #, c-format
 msgid "unrecognized option `-%c'\n"
-msgstr ""
+msgstr "opzione `-%c' non riconosciuta\n"
+
+#: disk-utils/blockdev.c:34
+msgid "set read-only"
+msgstr "impostare sola lettura"
+
+#: disk-utils/blockdev.c:35
+msgid "set read-write"
+msgstr "impostare lettura-scrittura"
+
+#: disk-utils/blockdev.c:38
+msgid "get read-only"
+msgstr "visualizzare sola-lettura"
+
+#: disk-utils/blockdev.c:41
+msgid "get sectorsize"
+msgstr "visualizzare la dimensione del settore"
+
+#: disk-utils/blockdev.c:44
+msgid "get size"
+msgstr "visualizzare la dimensione"
+
+#: disk-utils/blockdev.c:47
+msgid "set readahead"
+msgstr "impostare readahead"
+
+#: disk-utils/blockdev.c:50
+msgid "get readahead"
+msgstr "visualizzare readahead"
+
+#: disk-utils/blockdev.c:53
+msgid "flush buffers"
+msgstr "scaricamento buffer"
+
+#: disk-utils/blockdev.c:57
+msgid "reread partition table"
+msgstr "rilettura della tabella delle partizioni"
+
+#: disk-utils/blockdev.c:66
+#, c-format
+msgid "Usage: %s [-V] [-v|-q] commands devices\n"
+msgstr "Utilizzo: %s [-V] [-v|-q] dispositivi comandi\n"
+
+#: disk-utils/blockdev.c:67
+msgid "Available commands:\n"
+msgstr "Comandi disponibili:\n"
+
+#: disk-utils/blockdev.c:167
+#, c-format
+msgid "%s: Unknown command: %s\n"
+msgstr "%s: comando sconosciuto: %s\n"
+
+#: disk-utils/blockdev.c:178
+#, c-format
+msgid "%s requires an argument\n"
+msgstr "%s richiede un argomento\n"
 
 #: disk-utils/fdformat.c:33
 msgid "Formatting ... "
-msgstr ""
+msgstr "Formattazione in corso ... "
 
 #: disk-utils/fdformat.c:51 disk-utils/fdformat.c:86
-#, fuzzy
 msgid "done\n"
-msgstr "Fatto"
+msgstr "fatto\n"
 
 #: disk-utils/fdformat.c:62
 msgid "Verifying ... "
-msgstr ""
+msgstr "Verifica in corso ... "
 
 #: disk-utils/fdformat.c:73
 msgid "Read: "
-msgstr ""
+msgstr "Leggere: "
 
 #: disk-utils/fdformat.c:75
 #, c-format
 msgid "Problem reading cylinder %d, expected %d, read %d\n"
-msgstr ""
+msgstr "Problema durante la lettura del cilindro %d, %d previsto, lettura %d\n"
 
 #: disk-utils/fdformat.c:81
 #, c-format
@@ -530,370 +754,382 @@ msgid ""
 "bad data in cyl %d\n"
 "Continuing ... "
 msgstr ""
+"dati danneggiati nel cil %d\n"
+"Continua ... "
 
 #: disk-utils/fdformat.c:96
-#, fuzzy, c-format
+#, c-format
 msgid "usage: %s [ -n ] device\n"
-msgstr "\t%s [opzioni] dispositivo\n"
+msgstr "utilizzo: dispositivo %s [ -n ]\n"
+
+#: disk-utils/fdformat.c:117 disk-utils/fsck.minix.c:1255 disk-utils/mkfs.c:55
+#: disk-utils/mkfs.minix.c:650 disk-utils/mkswap.c:351
+#: disk-utils/setfdprm.c:128 misc-utils/cal.c:175 misc-utils/ddate.c:172
+#: misc-utils/kill.c:191
+#, c-format
+msgid "%s from %s\n"
+msgstr "%s da %s\n"
 
-#: disk-utils/fdformat.c:122
-#, fuzzy, c-format
+#: disk-utils/fdformat.c:131
+#, c-format
 msgid "%s: not a floppy device\n"
-msgstr "\t%s [opzioni] dispositivo\n"
+msgstr "%s: non si tratta di un dispositivo floppy\n"
 
-#: disk-utils/fdformat.c:128
+#: disk-utils/fdformat.c:137
 msgid "Could not determine current format type"
-msgstr ""
+msgstr "Impossibile determinare il tipo di formato attuale"
 
-#: disk-utils/fdformat.c:129
+#: disk-utils/fdformat.c:138
 #, c-format
 msgid "%s-sided, %d tracks, %d sec/track. Total capacity %d kB.\n"
-msgstr ""
+msgstr "%s-completo, tracce %d , %d sec/traccia. Capacità totale %d kB.\n"
 
-#: disk-utils/fdformat.c:130
-#, fuzzy
+#: disk-utils/fdformat.c:139
 msgid "Double"
-msgstr "Fatto"
+msgstr "Doppio"
 
-#: disk-utils/fdformat.c:130
+#: disk-utils/fdformat.c:139
 msgid "Single"
-msgstr ""
+msgstr "Singolo"
 
-#: disk-utils/fsck.minix.c:198
+#: disk-utils/fsck.minix.c:196
 #, c-format
 msgid "Usage: %s [-larvsmf] /dev/name\n"
-msgstr ""
+msgstr "Utilizzo: %s [-larvsmf] /dev/name\n"
 
-#: disk-utils/fsck.minix.c:296
+#: disk-utils/fsck.minix.c:294
 #, c-format
 msgid "%s is mounted.\t "
-msgstr ""
+msgstr "%s è montato.\t"
 
-#: disk-utils/fsck.minix.c:298
-#, fuzzy
+#: disk-utils/fsck.minix.c:296
 msgid "Do you really want to continue"
-msgstr "Premere un tasto per continuare"
+msgstr "Continuare?"
 
-#: disk-utils/fsck.minix.c:302
+#: disk-utils/fsck.minix.c:300
 msgid "check aborted.\n"
-msgstr ""
+msgstr "controllo interrotto.\n"
 
-#: disk-utils/fsck.minix.c:319 disk-utils/fsck.minix.c:339
+#: disk-utils/fsck.minix.c:317 disk-utils/fsck.minix.c:337
 msgid "Zone nr < FIRSTZONE in file `"
-msgstr ""
+msgstr " Zona n. < FIRSTZONE nel file `"
 
-#: disk-utils/fsck.minix.c:321 disk-utils/fsck.minix.c:341
+#: disk-utils/fsck.minix.c:319 disk-utils/fsck.minix.c:339
 msgid "Zone nr >= ZONES in file `"
-msgstr ""
+msgstr "N. Zona >= ZONES nel file `"
 
-#: disk-utils/fsck.minix.c:326 disk-utils/fsck.minix.c:346
+#: disk-utils/fsck.minix.c:324 disk-utils/fsck.minix.c:344
 msgid "Remove block"
-msgstr ""
+msgstr "Rimuovere blocco"
 
-#: disk-utils/fsck.minix.c:364
+#: disk-utils/fsck.minix.c:362
 msgid "Read error: unable to seek to block in file '"
-msgstr ""
+msgstr "Errore di lettura: ricerca del blocco nel file' impossibile"
 
-#: disk-utils/fsck.minix.c:370
+#: disk-utils/fsck.minix.c:368
 msgid "Read error: bad block in file '"
-msgstr ""
+msgstr "Errore di lettura: blocco danneggiato nel file '"
 
-#: disk-utils/fsck.minix.c:386
+#: disk-utils/fsck.minix.c:384
 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:392 disk-utils/mkfs.minix.c:290
+#: disk-utils/fsck.minix.c:390 disk-utils/mkfs.minix.c:289
 msgid "seek failed in write_block"
-msgstr ""
+msgstr "tentativo fallito in write_block "
 
-#: disk-utils/fsck.minix.c:394
+#: disk-utils/fsck.minix.c:392
 msgid "Write error: bad block in file '"
-msgstr ""
+msgstr "Errore di scrittura: blocco danneggiato nel file '"
 
-#: disk-utils/fsck.minix.c:513
+#: disk-utils/fsck.minix.c:511
 msgid "seek failed in write_super_block"
-msgstr ""
+msgstr "ricerca fallita in write_super_block"
 
-#: disk-utils/fsck.minix.c:515 disk-utils/mkfs.minix.c:277
+#: disk-utils/fsck.minix.c:513 disk-utils/mkfs.minix.c:276
 msgid "unable to write super-block"
-msgstr ""
+msgstr "impossibile scrivere in super-block"
 
-#: disk-utils/fsck.minix.c:525
+#: disk-utils/fsck.minix.c:523
 msgid "Unable to write inode map"
-msgstr ""
+msgstr "Impossibile scrivere nella mappa di inode"
 
-#: disk-utils/fsck.minix.c:527
+#: disk-utils/fsck.minix.c:525
 msgid "Unable to write zone map"
-msgstr ""
+msgstr "Impossibile scrivere nella mappa di zona"
 
-#: disk-utils/fsck.minix.c:529
+#: disk-utils/fsck.minix.c:527
 msgid "Unable to write inodes"
-msgstr ""
+msgstr "Impossibile scrivere inode"
 
-#: disk-utils/fsck.minix.c:558
+#: disk-utils/fsck.minix.c:556
 msgid "seek failed"
-msgstr ""
+msgstr "ricerca non riuscita"
 
-#: disk-utils/fsck.minix.c:560
+#: disk-utils/fsck.minix.c:558
 msgid "unable to read super block"
-msgstr ""
+msgstr "impossibile leggere super block"
 
-#: disk-utils/fsck.minix.c:580
+#: disk-utils/fsck.minix.c:578
 msgid "bad magic number in super-block"
-msgstr ""
+msgstr "numero magico danneggiato in super-block"
 
-#: disk-utils/fsck.minix.c:582
+#: disk-utils/fsck.minix.c:580
 msgid "Only 1k blocks/zones supported"
-msgstr ""
+msgstr "È supportato solamente 1k blocchi/zone"
 
-#: disk-utils/fsck.minix.c:584
+#: disk-utils/fsck.minix.c:582
 msgid "bad s_imap_blocks field in super-block"
-msgstr ""
+msgstr "campo s_imap_blocks danneggiato in super-block"
 
-#: disk-utils/fsck.minix.c:586
+#: disk-utils/fsck.minix.c:584
 msgid "bad s_zmap_blocks field in super-block"
-msgstr ""
+msgstr "campo s_zmap_blocks danneggiato in super-block"
 
-#: disk-utils/fsck.minix.c:593
+#: disk-utils/fsck.minix.c:591
 msgid "Unable to allocate buffer for inode map"
-msgstr ""
+msgstr "Impossibile allocare il buffer per la mappa inode"
 
-#: disk-utils/fsck.minix.c:601
+#: disk-utils/fsck.minix.c:599
 msgid "Unable to allocate buffer for inodes"
-msgstr ""
+msgstr "Impossibile allocare il buffer per gli inode"
 
-#: disk-utils/fsck.minix.c:604
+#: disk-utils/fsck.minix.c:602
 msgid "Unable to allocate buffer for inode count"
-msgstr ""
+msgstr "Impossibile allocare il buffer per il conteggio inode"
 
-#: disk-utils/fsck.minix.c:607
+#: disk-utils/fsck.minix.c:605
 msgid "Unable to allocate buffer for zone count"
-msgstr ""
+msgstr "Impossibile allocare il buffer per il conteggio zona"
 
-#: disk-utils/fsck.minix.c:609
+#: disk-utils/fsck.minix.c:607
 msgid "Unable to read inode map"
-msgstr ""
+msgstr "Impossibile leggere la mappa inode"
 
-#: disk-utils/fsck.minix.c:611
+#: disk-utils/fsck.minix.c:609
 msgid "Unable to read zone map"
-msgstr ""
+msgstr "Impossibile leggere la mappa di zona"
 
-#: disk-utils/fsck.minix.c:613
+#: disk-utils/fsck.minix.c:611
 msgid "Unable to read inodes"
-msgstr ""
+msgstr "Impossibile leggere gli inode"
 
-#: disk-utils/fsck.minix.c:615
+#: disk-utils/fsck.minix.c:613
 msgid "Warning: Firstzone != Norm_firstzone\n"
-msgstr ""
+msgstr "Attenzione: prima zona != Norm_firstzone\n"
 
-#: disk-utils/fsck.minix.c:620 disk-utils/mkfs.minix.c:528
-#, fuzzy, c-format
+#: disk-utils/fsck.minix.c:618 disk-utils/mkfs.minix.c:532
+#, c-format
 msgid "%ld inodes\n"
-msgstr "Cilindri"
+msgstr "Inode %ld\n"
 
-#: disk-utils/fsck.minix.c:621 disk-utils/mkfs.minix.c:529
+#: disk-utils/fsck.minix.c:619 disk-utils/mkfs.minix.c:533
 #, c-format
 msgid "%ld blocks\n"
-msgstr ""
+msgstr "blocchi %ld\n"
 
-#: disk-utils/fsck.minix.c:622 disk-utils/mkfs.minix.c:530
+#: disk-utils/fsck.minix.c:620 disk-utils/mkfs.minix.c:534
 #, c-format
 msgid "Firstdatazone=%ld (%ld)\n"
-msgstr ""
+msgstr "Prima zona dati=%ld (%ld)\n"
 
-#: disk-utils/fsck.minix.c:623 disk-utils/mkfs.minix.c:531
+#: disk-utils/fsck.minix.c:621 disk-utils/mkfs.minix.c:535
 #, c-format
 msgid "Zonesize=%d\n"
-msgstr ""
+msgstr "Dimensione zona=%d\n"
 
-#: disk-utils/fsck.minix.c:624
-#, fuzzy, c-format
+#: disk-utils/fsck.minix.c:622
+#, c-format
 msgid "Maxsize=%ld\n"
-msgstr "Massim."
+msgstr "Dimensione massima=%ld\n"
 
-#: disk-utils/fsck.minix.c:625
+#: disk-utils/fsck.minix.c:623
 #, c-format
 msgid "Filesystem state=%d\n"
-msgstr ""
+msgstr "Stato del filesystem=%d\n"
 
-#: disk-utils/fsck.minix.c:626
+#: disk-utils/fsck.minix.c:624
 #, c-format
 msgid ""
 "namelen=%d\n"
 "\n"
 msgstr ""
+"lunghezzanom=%d\n"
+"\n"
 
-#: disk-utils/fsck.minix.c:640 disk-utils/fsck.minix.c:692
+#: disk-utils/fsck.minix.c:638 disk-utils/fsck.minix.c:690
 #, c-format
 msgid "Inode %d marked not used, but used for file '"
-msgstr ""
+msgstr "Inode %d contrassegnato non utilizzato, ma utilizzato per il file '"
 
-#: disk-utils/fsck.minix.c:645 disk-utils/fsck.minix.c:696
+#: disk-utils/fsck.minix.c:643 disk-utils/fsck.minix.c:694
 msgid "Mark in use"
-msgstr ""
+msgstr "Segno in uso"
 
-#: disk-utils/fsck.minix.c:667 disk-utils/fsck.minix.c:716
+#: disk-utils/fsck.minix.c:665 disk-utils/fsck.minix.c:714
 #, c-format
 msgid " has mode %05o\n"
-msgstr ""
+msgstr "ha modalità %05o\n"
 
-#: disk-utils/fsck.minix.c:673 disk-utils/fsck.minix.c:721
+#: disk-utils/fsck.minix.c:671 disk-utils/fsck.minix.c:719
 msgid "Warning: inode count too big.\n"
-msgstr ""
+msgstr "Attenzione: conteggio inode troppo grande.\n"
 
-#: disk-utils/fsck.minix.c:734
+#: disk-utils/fsck.minix.c:732
 msgid "root inode isn't a directory"
-msgstr ""
+msgstr "l'inode di root non è una directory"
 
-#: disk-utils/fsck.minix.c:757 disk-utils/fsck.minix.c:791
+#: disk-utils/fsck.minix.c:755 disk-utils/fsck.minix.c:789
 msgid "Block has been used before. Now in file `"
-msgstr ""
+msgstr "Il blocco è stato utilizzato in precedenza. Ora nel file  `"
 
-#: disk-utils/fsck.minix.c:760 disk-utils/fsck.minix.c:794
-#: disk-utils/fsck.minix.c:1122 disk-utils/fsck.minix.c:1131
-#: disk-utils/fsck.minix.c:1175 disk-utils/fsck.minix.c:1184
+#: disk-utils/fsck.minix.c:758 disk-utils/fsck.minix.c:792
+#: disk-utils/fsck.minix.c:1120 disk-utils/fsck.minix.c:1129
+#: disk-utils/fsck.minix.c:1173 disk-utils/fsck.minix.c:1182
 msgid "Clear"
-msgstr ""
+msgstr "Cancella"
 
-#: disk-utils/fsck.minix.c:769 disk-utils/fsck.minix.c:803
+#: disk-utils/fsck.minix.c:767 disk-utils/fsck.minix.c:801
 #, c-format
 msgid "Block %d in file `"
-msgstr ""
+msgstr "Blocco %d nel file `"
 
-#: disk-utils/fsck.minix.c:771 disk-utils/fsck.minix.c:805
+#: disk-utils/fsck.minix.c:769 disk-utils/fsck.minix.c:803
 msgid "' is marked not in use."
-msgstr ""
+msgstr "' è marcato come non in uso."
 
-#: disk-utils/fsck.minix.c:772 disk-utils/fsck.minix.c:806
+#: disk-utils/fsck.minix.c:770 disk-utils/fsck.minix.c:804
 msgid "Correct"
-msgstr ""
+msgstr "Corretto"
 
-#: disk-utils/fsck.minix.c:956 disk-utils/fsck.minix.c:1020
+#: disk-utils/fsck.minix.c:954 disk-utils/fsck.minix.c:1018
 msgid " contains a bad inode number for file '"
-msgstr ""
+msgstr "contiene un numero inode non corretto per il file '"
 
-#: disk-utils/fsck.minix.c:958 disk-utils/fsck.minix.c:1022
+#: disk-utils/fsck.minix.c:956 disk-utils/fsck.minix.c:1020
 msgid " Remove"
-msgstr ""
+msgstr "Rimuovere"
 
-#: disk-utils/fsck.minix.c:972 disk-utils/fsck.minix.c:1036
+#: disk-utils/fsck.minix.c:970 disk-utils/fsck.minix.c:1034
 msgid ": bad directory: '.' isn't first\n"
-msgstr ""
+msgstr ": directory danneggiata: '.' non è la prima\n"
 
-#: disk-utils/fsck.minix.c:979 disk-utils/fsck.minix.c:1044
+#: disk-utils/fsck.minix.c:977 disk-utils/fsck.minix.c:1042
 msgid ": bad directory: '..' isn't second\n"
-msgstr ""
+msgstr ": directory danneggiata: '..' non è la seconda\n"
 
-#: disk-utils/fsck.minix.c:1076
-#, fuzzy
+#: disk-utils/fsck.minix.c:1074
 msgid "internal error"
-msgstr "!!! Errore interno !!!"
+msgstr "errore interno"
 
-#: disk-utils/fsck.minix.c:1079
+#: disk-utils/fsck.minix.c:1077
 msgid ": bad directory: size<32"
-msgstr ""
+msgstr ": directory danneggiata: dimensione<32"
 
-#: disk-utils/fsck.minix.c:1098
+#: disk-utils/fsck.minix.c:1096
 msgid ": bad directory: size < 32"
-msgstr ""
+msgstr ": directory danneggiata: dimensione < 32"
 
-#: disk-utils/fsck.minix.c:1111
+#: disk-utils/fsck.minix.c:1109
 msgid "seek failed in bad_zone"
-msgstr ""
+msgstr "ricerca in bad_zone non riuscita"
 
-#: disk-utils/fsck.minix.c:1121 disk-utils/fsck.minix.c:1174
+#: disk-utils/fsck.minix.c:1119 disk-utils/fsck.minix.c:1172
 #, c-format
 msgid "Inode %d mode not cleared."
-msgstr ""
+msgstr "Modalità dell'inode %d non cancellata."
 
-#: disk-utils/fsck.minix.c:1130 disk-utils/fsck.minix.c:1183
+#: disk-utils/fsck.minix.c:1128 disk-utils/fsck.minix.c:1181
 #, c-format
 msgid "Inode %d not used, marked used in the bitmap."
-msgstr ""
+msgstr "Inode %d non utilizzato, inode contrassegnato utilizzato in bitmap"
 
-#: disk-utils/fsck.minix.c:1136 disk-utils/fsck.minix.c:1189
+#: disk-utils/fsck.minix.c:1134 disk-utils/fsck.minix.c:1187
 #, c-format
 msgid "Inode %d used, marked unused in the bitmap."
-msgstr ""
+msgstr "Inode %d utilizzato, inode contrassegnato non utilizzato in bitmap."
 
-#: disk-utils/fsck.minix.c:1142 disk-utils/fsck.minix.c:1194
+#: disk-utils/fsck.minix.c:1140 disk-utils/fsck.minix.c:1192
 #, c-format
 msgid "Inode %d (mode = %07o), i_nlinks=%d, counted=%d."
-msgstr ""
+msgstr "Inode %d (modalità = %07o), i_nlinks=%d, conteggiati=%d."
 
-#: disk-utils/fsck.minix.c:1144 disk-utils/fsck.minix.c:1196
+#: disk-utils/fsck.minix.c:1142 disk-utils/fsck.minix.c:1194
 msgid "Set i_nlinks to count"
-msgstr ""
+msgstr "Impostare i_nlinks da conteggiare"
 
-#: disk-utils/fsck.minix.c:1156 disk-utils/fsck.minix.c:1208
+#: disk-utils/fsck.minix.c:1154 disk-utils/fsck.minix.c:1206
 #, c-format
 msgid "Zone %d: marked in use, no file uses it."
-msgstr ""
+msgstr "Zona %d: contrassegnata in uso, nessun file la utilizza."
 
-#: disk-utils/fsck.minix.c:1157 disk-utils/fsck.minix.c:1209
+#: disk-utils/fsck.minix.c:1155 disk-utils/fsck.minix.c:1207
 msgid "Unmark"
-msgstr ""
+msgstr "Non contrassegnata"
 
-#: disk-utils/fsck.minix.c:1161 disk-utils/fsck.minix.c:1213
+#: disk-utils/fsck.minix.c:1159 disk-utils/fsck.minix.c:1211
 #, c-format
 msgid "Zone %d: %sin use, counted=%d\n"
-msgstr ""
+msgstr "Zona %d: %s utilizzati , conteggiati=%d\n"
 
-#: disk-utils/fsck.minix.c:1162 disk-utils/fsck.minix.c:1214
+#: disk-utils/fsck.minix.c:1160 disk-utils/fsck.minix.c:1212
 msgid "not "
-msgstr ""
+msgstr "non "
 
-#: disk-utils/fsck.minix.c:1190
-#, fuzzy
+#: disk-utils/fsck.minix.c:1188
 msgid "Set"
-msgstr "Settori"
+msgstr "Impostare"
 
-#: disk-utils/fsck.minix.c:1254 disk-utils/mkfs.minix.c:637
-#: disk-utils/mkfs.minix.c:640
+#: disk-utils/fsck.minix.c:1260 disk-utils/mkfs.minix.c:655
+#: disk-utils/mkfs.minix.c:658
 msgid "bad inode size"
-msgstr ""
+msgstr "dimensione inode non corretta"
 
-#: disk-utils/fsck.minix.c:1257
+#: disk-utils/fsck.minix.c:1263
 msgid "bad v2 inode size"
-msgstr ""
+msgstr "dimensione inode v2 non corretta"
 
-#: disk-utils/fsck.minix.c:1283
+#: disk-utils/fsck.minix.c:1289
 msgid "need terminal for interactive repairs"
-msgstr ""
+msgstr "terminale necessario per le riparazioni interattive"
 
-#: disk-utils/fsck.minix.c:1287
+#: disk-utils/fsck.minix.c:1293
 #, c-format
 msgid "unable to open '%s'"
-msgstr ""
+msgstr "impossibile aprire '%s'"
 
-#: disk-utils/fsck.minix.c:1304
+#: disk-utils/fsck.minix.c:1308
 #, c-format
 msgid "%s is clean, no check.\n"
-msgstr ""
+msgstr "'%s' è corretto, non controllare.\n"
 
-#: disk-utils/fsck.minix.c:1308
+#: disk-utils/fsck.minix.c:1312
 #, c-format
 msgid "Forcing filesystem check on %s.\n"
-msgstr ""
+msgstr "Forzatura controllo filesystem su %s in corso.\n"
 
-#: disk-utils/fsck.minix.c:1310
+#: disk-utils/fsck.minix.c:1314
 #, c-format
 msgid "Filesystem on %s is dirty, needs checking.\n"
-msgstr ""
+msgstr "Il filesystem su %s è danneggiato, controllo necessario.\n"
 
-#: disk-utils/fsck.minix.c:1339
+#: disk-utils/fsck.minix.c:1343
 msgid ""
 "\n"
 "%6ld inodes used (%ld%%)\n"
 msgstr ""
+"\n"
+"%6ld inode utilizzati (%ld%%)\n"
 
-#: disk-utils/fsck.minix.c:1344
+#: disk-utils/fsck.minix.c:1348
 msgid "%6ld zones used (%ld%%)\n"
-msgstr ""
+msgstr "%6ld zone utilizzate (%ld%%)\n"
 
-#: disk-utils/fsck.minix.c:1346
+#: disk-utils/fsck.minix.c:1350
 #, c-format
 msgid ""
 "\n"
@@ -906,209 +1142,238 @@ msgid ""
 "------\n"
 "%6d files\n"
 msgstr ""
+"\n"
+"%6d file regolari\n"
+"%6d directory\n"
+"%6d file di dispositivo di caratteri\n"
+"%6d file di dispositivo di blocchi\n"
+"%6d link\n"
+"%6d link simbolici\n"
+"------\n"
+"%6d file\n"
 
-#: disk-utils/fsck.minix.c:1359
-#, fuzzy
+#: disk-utils/fsck.minix.c:1363
 msgid ""
 "----------------------------\n"
 "FILE SYSTEM HAS BEEN CHANGED\n"
 "----------------------------\n"
-msgstr "-- ----- ---- ---- ---- ---- ---- ---- ---- -------- ---------\n"
+msgstr ""
+"----------------------------\n"
+"IL FILE SYSTEM È STATO MODIFICATO\n"
+"----------------------------\n"
 
-#: disk-utils/mkfs.c:66
+#: disk-utils/mkfs.c:76
 msgid "Usage: mkfs [-V] [-t fstype] [fs-options] device [size]\n"
 msgstr ""
+" Utilizzo: mkfs [-V] [-t tipofs] [opzioni-fs] dispositivo [dimensione]\n"
 
-#: disk-utils/mkfs.c:80 fdisk/cfdisk.c:370 getopt-1.0.3b/getopt.c:85
-#: getopt-1.0.3b/getopt.c:95 login-utils/wall.c:218 mount/sundries.c:195
+#: disk-utils/mkfs.c:90 fdisk/cfdisk.c:369 getopt-1.0.3b/getopt.c:85
+#: getopt-1.0.3b/getopt.c:95 login-utils/wall.c:218 mount/sundries.c:196
 #, c-format
 msgid "%s: Out of memory!\n"
-msgstr ""
+msgstr "%s: memoria esaurita!\n"
 
-#: disk-utils/mkfs.c:89
+#: disk-utils/mkfs.c:99
 #, c-format
 msgid "mkfs version %s (%s)\n"
-msgstr ""
+msgstr "versione mkfs %s (%s)\n"
 
-#: disk-utils/mkfs.minix.c:186
+#: disk-utils/mkfs.minix.c:185
 #, c-format
 msgid "Usage: %s [-c | -l filename] [-nXX] [-iXX] /dev/name [blocks]\n"
-msgstr ""
+msgstr " Utilizzo: %s [-c | -l nomefile] [-nXX] [-iXX] /dev/name [blocchi]\n"
 
-#: disk-utils/mkfs.minix.c:210
+#: disk-utils/mkfs.minix.c:209
 #, c-format
 msgid "%s is mounted; will not make a filesystem here!"
-msgstr ""
+msgstr "%s è montata; qui non verrà creato un filesystem!"
 
-#: disk-utils/mkfs.minix.c:271
+#: disk-utils/mkfs.minix.c:270
 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:273
+#: disk-utils/mkfs.minix.c:272
 msgid "unable to clear boot sector"
-msgstr ""
+msgstr "impossibile cancellare il settore di boot"
 
-#: disk-utils/mkfs.minix.c:275
+#: disk-utils/mkfs.minix.c:274
 msgid "seek failed in write_tables"
-msgstr ""
+msgstr "ricerca in write_tables non riuscita"
 
-#: disk-utils/mkfs.minix.c:279
+#: disk-utils/mkfs.minix.c:278
 msgid "unable to write inode map"
-msgstr ""
+msgstr "impossibile scrivere nella mappa degli inode"
 
-#: disk-utils/mkfs.minix.c:281
+#: disk-utils/mkfs.minix.c:280
 msgid "unable to write zone map"
-msgstr ""
+msgstr "impossibile scrivere nella mappa delle zone"
 
-#: disk-utils/mkfs.minix.c:283
+#: disk-utils/mkfs.minix.c:282
 msgid "unable to write inodes"
-msgstr ""
+msgstr "impossibile scrivere inode"
 
-#: disk-utils/mkfs.minix.c:292
+#: disk-utils/mkfs.minix.c:291
 msgid "write failed in write_block"
-msgstr ""
+msgstr "scrittura in write_block non riuscita"
 
 #. Could make triple indirect block here
-#: disk-utils/mkfs.minix.c:300 disk-utils/mkfs.minix.c:374
-#: disk-utils/mkfs.minix.c:425
+#: disk-utils/mkfs.minix.c:299 disk-utils/mkfs.minix.c:373
+#: disk-utils/mkfs.minix.c:424
 msgid "too many bad blocks"
-msgstr ""
+msgstr "troppi blocchi danneggiati"
 
-#: disk-utils/mkfs.minix.c:308
+#: disk-utils/mkfs.minix.c:307
 msgid "not enough good blocks"
-msgstr ""
+msgstr "numero insufficiente di blocchi corretti"
 
-#: disk-utils/mkfs.minix.c:517
+#: disk-utils/mkfs.minix.c:521
 msgid "unable to allocate buffers for maps"
-msgstr ""
+msgstr "impossibile allocare i buffer per le mappe"
 
-#: disk-utils/mkfs.minix.c:526
+#: disk-utils/mkfs.minix.c:530
 msgid "unable to allocate buffer for inodes"
-msgstr ""
+msgstr "impossibile allocare il buffer per gli inode"
 
-#: disk-utils/mkfs.minix.c:532
+#: disk-utils/mkfs.minix.c:536
 #, c-format
 msgid ""
 "Maxsize=%ld\n"
 "\n"
 msgstr ""
+"Dimensione max=%ld\n"
+"\n"
 
-#: disk-utils/mkfs.minix.c:546
+#: disk-utils/mkfs.minix.c:550
 msgid "seek failed during testing of blocks"
-msgstr ""
+msgstr "ricerca non riuscita durante il controllo dei blocchi"
 
-#: disk-utils/mkfs.minix.c:554
+#: disk-utils/mkfs.minix.c:558
 msgid "Weird values in do_check: probably bugs\n"
-msgstr ""
+msgstr "Valori strani in do_check: probabilmente sono presenti dei bug\n"
 
-#: disk-utils/mkfs.minix.c:585 disk-utils/mkswap.c:231
+#: disk-utils/mkfs.minix.c:589 disk-utils/mkswap.c:261
 msgid "seek failed in check_blocks"
-msgstr ""
+msgstr "ricerca in check_blocks non riuscita"
 
-#: disk-utils/mkfs.minix.c:594
+#: disk-utils/mkfs.minix.c:598
 msgid "bad blocks before data-area: cannot make fs"
-msgstr ""
+msgstr "blocchi danneggiati prima dell'area dati: impossibile creare fs"
 
-#: disk-utils/mkfs.minix.c:600 disk-utils/mkfs.minix.c:622
+#: disk-utils/mkfs.minix.c:604 disk-utils/mkfs.minix.c:626
 #, c-format
 msgid "%d bad blocks\n"
-msgstr ""
+msgstr "blocchi danneggiati %d\n"
 
-#: disk-utils/mkfs.minix.c:602 disk-utils/mkfs.minix.c:624
+#: disk-utils/mkfs.minix.c:606 disk-utils/mkfs.minix.c:628
 msgid "one bad block\n"
-msgstr ""
+msgstr "un blocco danneggiato\n"
 
-#: disk-utils/mkfs.minix.c:614
+#: disk-utils/mkfs.minix.c:618
 msgid "can't open file of bad blocks"
-msgstr ""
+msgstr "impossibile aprire il file dei blocchi danneggiati"
 
-#: disk-utils/mkfs.minix.c:669
+#: disk-utils/mkfs.minix.c:687
 #, c-format
 msgid "%s: not compiled with minix v2 support\n"
-msgstr ""
+msgstr "%s: non e' stato compilato con il supporto per minix v2\n"
 
-#: disk-utils/mkfs.minix.c:685
+#: disk-utils/mkfs.minix.c:703
 msgid "strtol error: number of blocks not specified"
-msgstr ""
+msgstr "errore strtol: numero di blocchi non specificato"
 
-#: disk-utils/mkfs.minix.c:717
+#: disk-utils/mkfs.minix.c:735
 #, c-format
 msgid "unable to open %s"
-msgstr ""
+msgstr "impossibile aprire %s"
 
-#: disk-utils/mkfs.minix.c:719
+#: disk-utils/mkfs.minix.c:737
 #, c-format
 msgid "unable to stat %s"
-msgstr ""
+msgstr "impossibile avviare %s"
 
-#: disk-utils/mkfs.minix.c:723
+#: disk-utils/mkfs.minix.c:741
 #, c-format
 msgid "will not try to make filesystem on '%s'"
-msgstr ""
+msgstr "non si tenterà di creare un filesystem su '%s'"
 
-#: disk-utils/mkswap.c:101
+#: disk-utils/mkswap.c:117
 #, c-format
-msgid "Assuming pages of size %d\n"
-msgstr ""
+msgid "Bad user-specified page size %d\n"
+msgstr "dimensione pagina %d specificata dall'utente non corretta\n"
 
-#: disk-utils/mkswap.c:185
+#: disk-utils/mkswap.c:126
 #, c-format
-msgid "Usage: %s [-c] [-v0|-v1] /dev/name [blocks]\n"
+msgid "Using user-specified page size %d, instead of the system values %d/%d\n"
 msgstr ""
+"Utilizzo della dimensione pagina %d specificata dall'utente, al posto dei "
+"valori del sistema %d/%d\n"
 
-#: disk-utils/mkswap.c:208
+#: disk-utils/mkswap.c:130
+#, c-format
+msgid "Assuming pages of size %d (not %d)\n"
+msgstr "Si presuppone che le pagine siano di dimensione %d (non %d)\n"
+
+#: disk-utils/mkswap.c:215
+#, c-format
+msgid "Usage: %s [-c] [-v0|-v1] [-pPAGESZ] /dev/name [blocks]\n"
+msgstr " Utilizzo: %s [-c] [-v0|-v1] [-pPAGESZ] /dev/name [blocchi]\n"
+
+#: disk-utils/mkswap.c:238
 msgid "too many bad pages"
-msgstr ""
+msgstr "troppe pagine danneggiate"
 
-#: disk-utils/mkswap.c:222 misc-utils/look.c:170 misc-utils/setterm.c:1153
+#: disk-utils/mkswap.c:252 misc-utils/look.c:170 misc-utils/setterm.c:1100
 #: text-utils/more.c:1863 text-utils/more.c:1874
 msgid "Out of memory"
-msgstr ""
+msgstr "Memoria esaurita"
 
-#: disk-utils/mkswap.c:239
+#: disk-utils/mkswap.c:269
 msgid "one bad page\n"
-msgstr ""
+msgstr "una pagina danneggiata\n"
 
-#: disk-utils/mkswap.c:241
+#: disk-utils/mkswap.c:271
 #, c-format
 msgid "%d bad pages\n"
-msgstr ""
+msgstr "%d pagine danneggiate\n"
 
-#: disk-utils/mkswap.c:345
+#: disk-utils/mkswap.c:391
 #, c-format
 msgid "%s: error: Nowhere to set up swap on?\n"
-msgstr ""
+msgstr "%s: errore: non è possibile impostare swap in nessuna posizione?\n"
 
-#: disk-utils/mkswap.c:354
+#: disk-utils/mkswap.c:409
 #, c-format
 msgid "%s: error: size %ld is larger than device size %d\n"
 msgstr ""
+"%s: errore: la dimensione %ld è maggiore rispetto a quella del dispositivo "
+"%d\n"
 
-#: disk-utils/mkswap.c:372
+#: disk-utils/mkswap.c:427
 #, c-format
 msgid "%s: error: unknown version %d\n"
-msgstr ""
+msgstr "%s: errore: versione sconosciuta %d\n"
 
-#: disk-utils/mkswap.c:378
+#: disk-utils/mkswap.c:433
 #, c-format
 msgid "%s: error: swap area needs to be at least %ldkB\n"
-msgstr ""
+msgstr "%s: errore: l'area di swap deve equivalere almeno a %ldkB\n"
 
-#: disk-utils/mkswap.c:397
+#: disk-utils/mkswap.c:452
 #, c-format
 msgid "%s: warning: truncating swap area to %ldkB\n"
-msgstr ""
+msgstr "%s: attenzione: troncamento area swap a %ldkB\n"
 
-#: disk-utils/mkswap.c:409
+#: disk-utils/mkswap.c:464
 #, c-format
 msgid "Will not try to make swapdevice on '%s'"
-msgstr ""
+msgstr "Non si cercherà di creare uno swapdevice su '%s'"
 
-#: disk-utils/mkswap.c:418 disk-utils/mkswap.c:439
+#: disk-utils/mkswap.c:473 disk-utils/mkswap.c:494
 msgid "fatal: first page unreadable"
-msgstr ""
+msgstr "errore irreversibile: impossibile leggere la prima pagina"
 
-#: disk-utils/mkswap.c:424
+#: disk-utils/mkswap.c:479
 #, c-format
 msgid ""
 "%s: Device '%s' contains a valid Sun disklabel.\n"
@@ -1116,104 +1381,110 @@ msgid ""
 "No swap created. If you really want to create swap v0 on that device, use\n"
 "the -f option to force it.\n"
 msgstr ""
+"%s: 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"
 
-#: disk-utils/mkswap.c:448
+#: disk-utils/mkswap.c:503
 msgid "Unable to set up swap-space: unreadable"
-msgstr ""
+msgstr "Impossibile impostare lo spazio-swap: non leggibile"
 
-#: disk-utils/mkswap.c:449
+#: disk-utils/mkswap.c:504
 #, c-format
 msgid "Setting up swapspace version %d, size = %ld bytes\n"
-msgstr ""
+msgstr "Impostazione spazio di swap versione %d, dimensione = %ld byte\n"
 
-#: disk-utils/mkswap.c:455
+#: disk-utils/mkswap.c:510
 msgid "unable to rewind swap-device"
-msgstr ""
+msgstr "impossibile riavvolgere il dispositivo swap"
 
-#: disk-utils/mkswap.c:458
+#: disk-utils/mkswap.c:513
 msgid "unable to write signature page"
-msgstr ""
+msgstr "impossibile scrivere sulla pagina di firma"
 
-#: disk-utils/mkswap.c:465
+#: disk-utils/mkswap.c:520
 msgid "fsync failed"
-msgstr ""
+msgstr "fsync non riuscito "
 
 #: disk-utils/setfdprm.c:30
 #, c-format
 msgid "Invalid number: %s\n"
-msgstr ""
+msgstr "Numero non valido: %s\n"
 
 #: disk-utils/setfdprm.c:80
 #, c-format
 msgid "Syntax error: '%s'\n"
-msgstr ""
+msgstr "Errore di sintassi: '%s'\n"
 
 #: disk-utils/setfdprm.c:90
 #, c-format
 msgid "No such parameter set: '%s'\n"
-msgstr ""
+msgstr "Parametro non impostato: '%s'\n"
 
 #: disk-utils/setfdprm.c:100
 #, c-format
 msgid "usage: %s [ -p ] dev name\n"
-msgstr ""
+msgstr "utilizzo: %s [ -p ] dev name\n"
 
 #: disk-utils/setfdprm.c:101
 #, c-format
 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"
 
 #: disk-utils/setfdprm.c:104
 #, c-format
 msgid "       %s [ -c | -y | -n | -d ] dev\n"
-msgstr ""
+msgstr "       %s [ -c | -y | -n | -d ] dev\n"
 
 #: disk-utils/setfdprm.c:106
 #, c-format
 msgid "       %s [ -c | -y | -n ] dev\n"
-msgstr ""
+msgstr "       %s [ -c | -y | -n ] dev\n"
 
-#: fdisk/cfdisk.c:395 fdisk/cfdisk.c:1900
+#: fdisk/cfdisk.c:394 fdisk/cfdisk.c:1899
 msgid "Unusable"
 msgstr "Inutilizzabile"
 
-#: fdisk/cfdisk.c:397 fdisk/cfdisk.c:1902
+#: fdisk/cfdisk.c:396 fdisk/cfdisk.c:1901
 msgid "Free Space"
-msgstr "Spazio Libero"
+msgstr "Spazio disponibile"
 
-#: fdisk/cfdisk.c:400
+#: fdisk/cfdisk.c:399
 msgid "Linux ext2"
 msgstr "Linux ext2"
 
 #. also Solaris
-#: fdisk/cfdisk.c:402 fdisk/i386_sys_types.c:56
+#: fdisk/cfdisk.c:401 fdisk/i386_sys_types.c:56
 msgid "Linux"
 msgstr "Linux"
 
-#: fdisk/cfdisk.c:405
+#: fdisk/cfdisk.c:404
 msgid "OS/2 HPFS"
 msgstr "OS/2 HPFS"
 
-#: fdisk/cfdisk.c:407
+#: fdisk/cfdisk.c:406
 msgid "OS/2 IFS"
 msgstr "OS/2 IFS"
 
-#: fdisk/cfdisk.c:411
+#: fdisk/cfdisk.c:410
 msgid "NTFS"
 msgstr "NTFS"
 
-#: fdisk/cfdisk.c:422
+#: fdisk/cfdisk.c:421
 msgid "Disk has been changed.\n"
-msgstr "Il disco è stato modificato.\n"
+msgstr "Il disco è stato cambiato.\n"
 
-#: fdisk/cfdisk.c:423
+#: fdisk/cfdisk.c:422
 msgid "Reboot the system to ensure the partition table is correctly updated.\n"
 msgstr ""
-"Riavviare il sistema per essere sicuri che la tabella delle partizioni sia\n"
-"stata aggiornata correttamente.\n"
+"Riavviare il sistema per assicurarsi che la tabella delle partizioni sia "
+"aggiornata correttamente.\n"
 
-#: fdisk/cfdisk.c:426
+#: fdisk/cfdisk.c:425
 msgid ""
 "\n"
 "WARNING: If you have created or modified any\n"
@@ -1221,317 +1492,304 @@ msgid ""
 "page for additional information.\n"
 msgstr ""
 "\n"
-"ATTENZIONE: Se sono state create o modificate\n"
-"partizioni del DOS 6.x consultare il manuale di\n"
-"cfdisk per ulteriori informazioni.\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:521
+#: fdisk/cfdisk.c:520
 msgid "FATAL ERROR"
-msgstr ""
+msgstr "ERRORE IRREVERSIBILE"
 
-#: fdisk/cfdisk.c:530
-#, fuzzy
+#: fdisk/cfdisk.c:529
 msgid "Press any key to exit cfdisk"
-msgstr "Premere un tasto per continuare"
+msgstr "Premere qualsiasi tasto per uscire da cfdisk"
 
-#: fdisk/cfdisk.c:566 fdisk/cfdisk.c:574
+#: fdisk/cfdisk.c:565 fdisk/cfdisk.c:573
 msgid "Cannot seek on disk drive"
-msgstr ""
+msgstr "Ricerca sull'unità disco impossibile"
 
-#: fdisk/cfdisk.c:568
-#, fuzzy
+#: fdisk/cfdisk.c:567
 msgid "Cannot read disk drive"
-msgstr "sull'hard disk."
+msgstr "Impossibile leggere l'unità disco"
 
-#: fdisk/cfdisk.c:576
+#: fdisk/cfdisk.c:575
 msgid "Cannot write disk drive"
-msgstr ""
+msgstr "Impossibile scrivere sull'unità disco"
 
-#: fdisk/cfdisk.c:815
-#, fuzzy
+#: fdisk/cfdisk.c:814
 msgid "Too many partitions"
-msgstr "Non crea partizioni"
+msgstr "Troppe partizioni"
 
-#: fdisk/cfdisk.c:820
-#, fuzzy
+#: fdisk/cfdisk.c:819
 msgid "Partition begins before sector 0"
-msgstr "Tabella delle partizioni per %s\n"
+msgstr "La partizione inizia prima del settore 0"
 
-#: fdisk/cfdisk.c:825
-#, fuzzy
+#: fdisk/cfdisk.c:824
 msgid "Partition ends before sector 0"
-msgstr "Tabella delle partizioni per %s\n"
+msgstr "La partizione termina prima del settore 0"
 
-#: fdisk/cfdisk.c:830
+#: fdisk/cfdisk.c:829
 msgid "Partition begins after end-of-disk"
-msgstr ""
+msgstr "La partizione inizia dopo la fine del disco"
 
-#: fdisk/cfdisk.c:835
+#: fdisk/cfdisk.c:834
 msgid "Partition ends after end-of-disk"
-msgstr ""
+msgstr "La partizione termina dopo la fine del disco"
 
-#: fdisk/cfdisk.c:859
+#: fdisk/cfdisk.c:858
 msgid "logical partitions not in disk order"
-msgstr ""
+msgstr "le partizioni logiche non sono nell'ordine del disco"
 
-#: fdisk/cfdisk.c:862
-#, fuzzy
+#: fdisk/cfdisk.c:861
 msgid "logical partitions overlap"
-msgstr "Crea una nuova partizione logica"
+msgstr "sovrapposizione delle partizioni logiche"
 
-#: fdisk/cfdisk.c:864
-#, fuzzy
+#: fdisk/cfdisk.c:863
 msgid "enlarged logical partitions overlap"
-msgstr "Crea una nuova partizione logica"
+msgstr "sovrapposizione delle partizioni logiche ampliate"
 
-#: fdisk/cfdisk.c:894
+#: fdisk/cfdisk.c:893
 msgid ""
 "!!!! Internal error creating logical drive with no extended partition !!!!"
 msgstr ""
-"!!!! Errore interno durante la creazione di un drive logico senza "
-"partizione\n"
-"estesa !!!!"
+"!!!! Errore interno durante la creazione di un'unità logica con partizione "
+"non estesa !!!!"
 
-#: fdisk/cfdisk.c:905 fdisk/cfdisk.c:917
-#, fuzzy
+#: fdisk/cfdisk.c:904 fdisk/cfdisk.c:916
 msgid ""
 "Cannot create logical drive here -- would create two extended partitions"
 msgstr ""
-"!!!! Errore interno durante la creazione di un drive logico senza "
-"partizione\n"
-"estesa !!!!"
+"Impossibile creare un'unità logica in questo caso - si creerebbero due "
+"partizioni estese"
 
-#: fdisk/cfdisk.c:1067
+#: fdisk/cfdisk.c:1066
 msgid "Menu item too long. Menu may look odd."
-msgstr "Voce del menù troppo lunga. Il menù può apparire strano."
+msgstr "Voce di menu troppo lunga. Il menu può apparire strano."
 
-#: fdisk/cfdisk.c:1123
+#: fdisk/cfdisk.c:1122
 msgid "Menu without direction. Defaulting horizontal."
-msgstr "Menù senza direzione. Predefinita l'orizzontale."
+msgstr "Menu senza direzione. È predefinita quella orizzontale."
 
-#: fdisk/cfdisk.c:1253
+#: fdisk/cfdisk.c:1252
 msgid "Illegal key"
 msgstr "Tasto non valido"
 
-#: fdisk/cfdisk.c:1276
+#: fdisk/cfdisk.c:1275
 msgid "Press a key to continue"
 msgstr "Premere un tasto per continuare"
 
-#: fdisk/cfdisk.c:1323 fdisk/cfdisk.c:1871 fdisk/cfdisk.c:2396
-#: fdisk/cfdisk.c:2398
+#: fdisk/cfdisk.c:1322 fdisk/cfdisk.c:1870 fdisk/cfdisk.c:2400
+#: fdisk/cfdisk.c:2402
 msgid "Primary"
 msgstr "Primaria"
 
-#: fdisk/cfdisk.c:1323
+#: fdisk/cfdisk.c:1322
 msgid "Create a new primary partition"
-msgstr "Crea una nuova partizione primaria"
+msgstr "Creare una nuova partizione primaria"
 
-#: fdisk/cfdisk.c:1324 fdisk/cfdisk.c:1871 fdisk/cfdisk.c:2395
-#: fdisk/cfdisk.c:2398
+#: fdisk/cfdisk.c:1323 fdisk/cfdisk.c:1870 fdisk/cfdisk.c:2399
+#: fdisk/cfdisk.c:2402
 msgid "Logical"
 msgstr "Logica"
 
-#: fdisk/cfdisk.c:1324
+#: fdisk/cfdisk.c:1323
 msgid "Create a new logical partition"
-msgstr "Crea una nuova partizione logica"
+msgstr "Creare una nuova partizione logica"
 
-#: fdisk/cfdisk.c:1325 fdisk/cfdisk.c:1380 fdisk/cfdisk.c:2075
+#: fdisk/cfdisk.c:1324 fdisk/cfdisk.c:1379 fdisk/cfdisk.c:2074
 msgid "Cancel"
 msgstr "Annulla"
 
-#: fdisk/cfdisk.c:1325 fdisk/cfdisk.c:1380
+#: fdisk/cfdisk.c:1324 fdisk/cfdisk.c:1379
 msgid "Don't create a partition"
-msgstr "Non crea partizioni"
+msgstr "Non creare una partizione"
 
-#: fdisk/cfdisk.c:1341
+#: fdisk/cfdisk.c:1340
 msgid "!!! Internal error !!!"
 msgstr "!!! Errore interno !!!"
 
-#: fdisk/cfdisk.c:1344
-#, fuzzy
+#: fdisk/cfdisk.c:1343
 msgid "Size (in MB): "
-msgstr "Dim (MB)"
+msgstr "Dimensione (in MB): "
 
-#: fdisk/cfdisk.c:1378
+#: fdisk/cfdisk.c:1377
 msgid "Beginning"
 msgstr "Inizio"
 
-#: fdisk/cfdisk.c:1378
+#: fdisk/cfdisk.c:1377
 msgid "Add partition at beginning of free space"
-msgstr "Aggiunge la partizione all'inizio dello spazio libero"
+msgstr "Aggiungere la partizione all'inizio dello spazio disponibile"
 
-#: fdisk/cfdisk.c:1379
+#: fdisk/cfdisk.c:1378
 msgid "End"
 msgstr "Fine"
 
-#: fdisk/cfdisk.c:1379
+#: fdisk/cfdisk.c:1378
 msgid "Add partition at end of free space"
-msgstr "Aggiunge la partizione alla fine dello spazio libero"
+msgstr "Aggiungere la partizione alla fine dello spazio disponibile"
 
-#: fdisk/cfdisk.c:1397
-#, fuzzy
+#: fdisk/cfdisk.c:1396
 msgid "No room to create the extended partition"
-msgstr "Freccia giù  Sposta il cursore alla partizione seguente"
+msgstr "Non c'è spazio per creare una partizione estesa"
 
-#: fdisk/cfdisk.c:1436
-#, fuzzy
+#: fdisk/cfdisk.c:1435
 msgid "Bad signature on partition table"
-msgstr "Stampa la tabella delle partizioni:\n"
+msgstr "Firma danneggiata sulla tabella delle partizioni"
 
-#: fdisk/cfdisk.c:1474
+#: fdisk/cfdisk.c:1473
 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:1504
-#, fuzzy
+#: fdisk/cfdisk.c:1503
 msgid "Cannot open disk drive"
-msgstr "sull'hard disk."
+msgstr "Impossibile aprire l'unità disco"
 
-#: fdisk/cfdisk.c:1506 fdisk/cfdisk.c:1687
+#: fdisk/cfdisk.c:1505 fdisk/cfdisk.c:1686
 msgid "Opened disk read-only - you have no permission to write"
-msgstr ""
+msgstr "Disco aperto in sola lettura - scrittura non autorizzata"
 
-#: fdisk/cfdisk.c:1527
+#: fdisk/cfdisk.c:1526
 msgid "Cannot get disk size"
-msgstr ""
+msgstr "Impossibile ottenere la dimensione del disco"
 
 #. avoid snprintf - it does not exist on ancient systems
-#: fdisk/cfdisk.c:1553
-#, fuzzy
+#: fdisk/cfdisk.c:1552
 msgid "Bad primary partition"
-msgstr "Crea una nuova partizione primaria"
+msgstr "Partizione primaria danneggiata"
 
 #. avoid snprintf
-#: fdisk/cfdisk.c:1584
-#, fuzzy
+#: fdisk/cfdisk.c:1583
 msgid "Bad logical partition"
-msgstr "Crea una nuova partizione logica"
+msgstr "Partizione logica danneggiata"
 
-#: fdisk/cfdisk.c:1699
+#: fdisk/cfdisk.c:1698
 msgid "Warning!!  This may destroy data on your disk!"
-msgstr ""
+msgstr "Attenzione!!  I dati sul disco potrebbero venire eliminati!"
 
-#: fdisk/cfdisk.c:1703
+#: fdisk/cfdisk.c:1702
 msgid "Are you sure you want write the partition table to disk? (yes or no): "
-msgstr ""
-"Sicuro di volere scrivere sul disco la tabella delle part.? (yes o no): "
+msgstr "Scrivere la tabella delle partizioni su disco? (si o no): "
 
-#: fdisk/cfdisk.c:1709
+#: fdisk/cfdisk.c:1708
 msgid "no"
-msgstr ""
+msgstr "no"
 
-#: fdisk/cfdisk.c:1710
-#, fuzzy
+#: fdisk/cfdisk.c:1709
 msgid "Did not write partition table to disk"
-msgstr "Stampa solo la tabella delle partizioni"
+msgstr "Scrittura tabella delle partizioni su disco non effettuata"
 
-#: fdisk/cfdisk.c:1712
+#: fdisk/cfdisk.c:1711
 msgid "yes"
-msgstr ""
+msgstr "si"
 
-#: fdisk/cfdisk.c:1715
+#: fdisk/cfdisk.c:1714
 msgid "Please enter `yes' or `no'"
-msgstr ""
+msgstr "Inserire `si' (senza accento) o `no'"
 
-#: fdisk/cfdisk.c:1719
-#, fuzzy
+#: fdisk/cfdisk.c:1718
 msgid "Writing partition table to disk..."
-msgstr "Stampa la tabella delle partizioni:\n"
+msgstr "Scrittura tabella delle partizioni su disco in corso..."
 
-#: fdisk/cfdisk.c:1744 fdisk/cfdisk.c:1748
-#, fuzzy
+#: fdisk/cfdisk.c:1743 fdisk/cfdisk.c:1747
 msgid "Wrote partition table to disk"
-msgstr "Stampa la tabella delle partizioni:\n"
+msgstr "Eseguita l'operazione di scrittura tabella delle partizioni su disco"
 
-#: fdisk/cfdisk.c:1746
+#: fdisk/cfdisk.c:1745
 msgid ""
 "Wrote partition table, but re-read table failed.  Reboot to update table."
 msgstr ""
+"Eseguita l'operazione di scrittura tabella delle partizioni, ma non è "
+"riuscita la rilettura della tabella. Riavviare per aggiornare la tabella."
 
-#: fdisk/cfdisk.c:1756
+#: fdisk/cfdisk.c:1755
 msgid ""
 "Not precisely one primary partition is bootable. DOS MBR cannot boot this."
 msgstr ""
+"Non è possibile avviare in modo preciso una partizione primaria. DOS MBR non "
+"può avviarla."
 
-#: fdisk/cfdisk.c:1814 fdisk/cfdisk.c:1932 fdisk/cfdisk.c:2016
+#: fdisk/cfdisk.c:1813 fdisk/cfdisk.c:1931 fdisk/cfdisk.c:2015
 msgid "Enter filename or press RETURN to display on screen: "
 msgstr ""
-"Inserire il nome del file o premere INVIO per mostrarlo sullo schermo: "
+"Inserire il nome del file o premere RETURN (INVIO) per visualizzare sullo "
+"schermo:"
 
-#: fdisk/cfdisk.c:1822 fdisk/cfdisk.c:1940 fdisk/cfdisk.c:2024
+#: fdisk/cfdisk.c:1821 fdisk/cfdisk.c:1939 fdisk/cfdisk.c:2023
 #, c-format
 msgid "Cannot open file '%s'"
-msgstr ""
+msgstr "Impossibile aprire il file '%s'"
 
-#: fdisk/cfdisk.c:1833
+#: fdisk/cfdisk.c:1832
 #, c-format
 msgid "Disk Drive: %s\n"
-msgstr "Disk Drive: %s\n"
+msgstr "Unità disco: %s\n"
 
-#: fdisk/cfdisk.c:1835
+#: fdisk/cfdisk.c:1834
 msgid "Sector 0:\n"
 msgstr "Settore 0:\n"
 
-#: fdisk/cfdisk.c:1842
+#: fdisk/cfdisk.c:1841
 #, c-format
 msgid "Sector %d:\n"
 msgstr "Settore %d:\n"
 
-#: fdisk/cfdisk.c:1862
+#: fdisk/cfdisk.c:1861
 msgid "   None   "
-msgstr "  Nessuno "
+msgstr "   Nessuno   "
 
-#: fdisk/cfdisk.c:1864
+#: fdisk/cfdisk.c:1863
 msgid "   Pri/Log"
 msgstr "   Pri/Log"
 
-#: fdisk/cfdisk.c:1866
+#: fdisk/cfdisk.c:1865
 msgid "   Primary"
-msgstr "  Primaria"
+msgstr "   Primario"
 
-#: fdisk/cfdisk.c:1868
+#: fdisk/cfdisk.c:1867
 msgid "   Logical"
-msgstr "    Logica"
+msgstr "   Logico"
 
 #. odd flag on end
 #. type id
 #. type name
-#: fdisk/cfdisk.c:1906 fdisk/fdisk.c:1072 fdisk/fdisk.c:1221
+#: fdisk/cfdisk.c:1905 fdisk/fdisk.c:1071 fdisk/fdisk.c:1220
 #: fdisk/fdisksgilabel.c:224 fdisk/fdisksunlabel.c:646 fdisk/sfdisk.c:559
 msgid "Unknown"
-msgstr "Sconosciuta"
+msgstr "Sconosciuto"
 
-#: fdisk/cfdisk.c:1912
+#: fdisk/cfdisk.c:1911
 #, c-format
 msgid "Boot (%02X)"
-msgstr "Boot (%02X)"
+msgstr "Avvio (%02X)"
 
-#: fdisk/cfdisk.c:1914 fdisk/cfdisk.c:2404
+#: fdisk/cfdisk.c:1913 fdisk/cfdisk.c:2408
 #, c-format
 msgid "Unknown (%02X)"
-msgstr "Sconosciuta (%02X)"
+msgstr "Sconosciuto (%02X)"
 
-#: fdisk/cfdisk.c:1916
+#: fdisk/cfdisk.c:1915
 #, c-format
 msgid "None (%02X)"
-msgstr "No (%02X)"
+msgstr "Nessuno (%02X)"
 
-#: fdisk/cfdisk.c:1951 fdisk/cfdisk.c:2035
+#: fdisk/cfdisk.c:1950 fdisk/cfdisk.c:2034
 #, c-format
 msgid "Partition Table for %s\n"
 msgstr "Tabella delle partizioni per %s\n"
 
-#: fdisk/cfdisk.c:1953
+#: fdisk/cfdisk.c:1952
 msgid "            First    Last\n"
-msgstr "            Primo    Ultimo\n"
+msgstr "           Primo    Ultimo\n"
 
-#: fdisk/cfdisk.c:1954
+#: fdisk/cfdisk.c:1953
 msgid ""
 " # Type     Sector   Sector   Offset  Length   Filesystem Type (ID)   Flags\n"
 msgstr ""
-" # Tipo    Settore   Settore  Offset Lunghezza Tipo filesystem (ID)   Flag\n"
+" # Tipo     settore   settore   offset  lunghezza   tipo di filesystem  (ID) "
+"  flag\n"
 
-#: fdisk/cfdisk.c:1955
+#: fdisk/cfdisk.c:1954
 msgid ""
 "-- ------- -------- --------- ------ --------- ---------------------- "
 "---------\n"
@@ -1539,472 +1797,475 @@ msgstr ""
 "-- ------- -------- --------- ------ --------- ---------------------- "
 "---------\n"
 
-#: fdisk/cfdisk.c:2037
+#: fdisk/cfdisk.c:2036
 msgid "         ---Starting---      ----Ending----    Start Number of\n"
-msgstr "         ---Iniziale---      ----Finale----  Settore Numero di\n"
+msgstr "         ---Avvio---      ----Chiusura----    Numero avvio di\n"
 
-#: fdisk/cfdisk.c:2038
+#: fdisk/cfdisk.c:2037
 msgid " # Flags Head Sect Cyl   ID  Head Sect Cyl    Sector  Sectors\n"
-msgstr " # Flag  Head Sect Cyl   ID  Head Sect Cyl  Iniziale  Settori\n"
+msgstr ""
+" # Flag testina sett. cil.   ID  testina sett. cil.    settore  settori\n"
 
-#: fdisk/cfdisk.c:2039
+#: fdisk/cfdisk.c:2038
 msgid "-- ----- ---- ---- ---- ---- ---- ---- ---- -------- ---------\n"
 msgstr "-- ----- ---- ---- ---- ---- ---- ---- ---- -------- ---------\n"
 
-#: fdisk/cfdisk.c:2072
+#: fdisk/cfdisk.c:2071
 msgid "Raw"
-msgstr "Raw"
+msgstr "Grezzo"
 
-#: fdisk/cfdisk.c:2072
+#: fdisk/cfdisk.c:2071
 msgid "Print the table using raw data format"
-msgstr "Stampa la tabella in formato grezzo"
+msgstr "Stampare la tabella utilizzando il formato dati grezzi"
 
-#: fdisk/cfdisk.c:2073 fdisk/cfdisk.c:2175
+#: fdisk/cfdisk.c:2072 fdisk/cfdisk.c:2174
 msgid "Sectors"
 msgstr "Settori"
 
-#: fdisk/cfdisk.c:2073
+#: fdisk/cfdisk.c:2072
 msgid "Print the table ordered by sectors"
-msgstr "Stampa la tabella ordinata secondo i settori"
+msgstr "Stampare la tabella ordinata per settori"
 
-#: fdisk/cfdisk.c:2074
+#: fdisk/cfdisk.c:2073
 msgid "Table"
 msgstr "Tabella"
 
-#: fdisk/cfdisk.c:2074
+#: fdisk/cfdisk.c:2073
 msgid "Just print the partition table"
-msgstr "Stampa solo la tabella delle partizioni"
+msgstr "Stampare la tabella delle partizioni"
 
-#: fdisk/cfdisk.c:2075
+#: fdisk/cfdisk.c:2074
 msgid "Don't print the table"
-msgstr "Non stampa la tabella"
+msgstr "Non stampare la tabella"
 
-#: fdisk/cfdisk.c:2103
-#, fuzzy
+#: fdisk/cfdisk.c:2102
 msgid "Help Screen for cfdisk"
-msgstr "Schermo di aiuto di cfdisk 0.8l"
+msgstr "Schermata Guida per cfdisk"
 
-#: fdisk/cfdisk.c:2105
+#: fdisk/cfdisk.c:2104
 msgid "This is cfdisk, a curses based disk partitioning program, which"
-msgstr "Questo è cfdisk, un programma di partizionamento del disco basato su"
+msgstr ""
+"Questo è cfdisk, un programma per la partizione dei dischi basato su curses"
 
-#: fdisk/cfdisk.c:2106
+#: fdisk/cfdisk.c:2105
 msgid "allows you to create, delete and modify partitions on your hard"
-msgstr "curses che permette di creare, cancellare e modificare le partizioni"
+msgstr ""
+"consente di creare, cancellare e modificare le partizioni sul disco fisso"
 
-#: fdisk/cfdisk.c:2107
+#: fdisk/cfdisk.c:2106
 msgid "disk drive."
-msgstr "sull'hard disk."
+msgstr "unità disco."
 
-#: fdisk/cfdisk.c:2109
-#, fuzzy
+#: fdisk/cfdisk.c:2108
 msgid "Copyright (C) 1994-1999 Kevin E. Martin & aeb"
-msgstr "Copyright (C) 1994-1998 Kevin E. Martin & aeb"
+msgstr "Copyright (C) 1994-1999 Kevin E. Martin & aeb"
 
-#: fdisk/cfdisk.c:2111
+#: fdisk/cfdisk.c:2110
 msgid "Command      Meaning"
-msgstr "Comando      Significato"
+msgstr "Comando     significato"
 
-#: fdisk/cfdisk.c:2112
+#: fdisk/cfdisk.c:2111
 msgid "-------      -------"
-msgstr "-------      -----------"
+msgstr "-------      -------"
 
-#: fdisk/cfdisk.c:2113
+#: fdisk/cfdisk.c:2112
 msgid "  b          Toggle bootable flag of the current partition"
-msgstr "  b          Cambia il flag di bootabilità dalla partizione corrente"
+msgstr " b          Cambia flag avviabile per la partizione corrente"
 
-#: fdisk/cfdisk.c:2114
+#: fdisk/cfdisk.c:2113
 msgid "  d          Delete the current partition"
-msgstr "  d          Cancella la partizione corrente"
+msgstr " d          Elimina la partizione corrente"
 
-#: fdisk/cfdisk.c:2115
+#: fdisk/cfdisk.c:2114
 msgid "  g          Change cylinders, heads, sectors-per-track parameters"
-msgstr ""
-"  g          Cambia i parametri di cilindri, testine e settori per traccia"
+msgstr " g          cambio cilindri, testine, parametri settori-per-traccia"
 
-#: fdisk/cfdisk.c:2116
+#: fdisk/cfdisk.c:2115
 msgid "             WARNING: This option should only be used by people who"
-msgstr "             ATTENZIONE: Questa opzione dovrebbe essere usata solo da"
+msgstr ""
+"            ATTENZIONE: questa opzione dovrebbe essere utilizzata solo da "
+"persone"
 
-#: fdisk/cfdisk.c:2117
+#: fdisk/cfdisk.c:2116
 msgid "             know what they are doing."
-msgstr "             persone che sanno cosa stanno facendo."
+msgstr "            esperte."
 
-#: fdisk/cfdisk.c:2118
+#: fdisk/cfdisk.c:2117
 msgid "  h          Print this screen"
-msgstr "  h          Stampa questa schermata"
+msgstr " h          Stampare questa schermata"
 
-#: fdisk/cfdisk.c:2119
+#: fdisk/cfdisk.c:2118
 msgid "  m          Maximize disk usage of the current partition"
 msgstr ""
-"  m          Massimizza l'uso del disco da parte della partizione corrente"
+" m          Massimizzare l'utilizzo del disco della partizione corrente"
 
-#: fdisk/cfdisk.c:2120
+#: fdisk/cfdisk.c:2119
 msgid "             Note: This may make the partition incompatible with"
-msgstr "             Nota: Questo può rendere la partizione incompatibile con"
+msgstr "            Nota: questo può rendere la partizione incompatibile con"
 
-#: fdisk/cfdisk.c:2121
+#: fdisk/cfdisk.c:2120
 msgid "             DOS, OS/2, ..."
-msgstr "             DOS, OS/2, ..."
+msgstr "            DOS, OS/2, ..."
 
-#: fdisk/cfdisk.c:2122
+#: fdisk/cfdisk.c:2121
 msgid "  n          Create new partition from free space"
-msgstr "  n          Crea una nuova partizione dallo spazio libero"
+msgstr " n          Creazione di una nuova partizione nello spazio disponibile"
 
-#: fdisk/cfdisk.c:2123
+#: fdisk/cfdisk.c:2122
 msgid "  p          Print partition table to the screen or to a file"
-msgstr ""
-"  p          Stampa la tabella delle partizioni sullo schermo o su un file"
+msgstr " p          Stampa della tabella delle partizioni su schermo o su file"
 
-#: fdisk/cfdisk.c:2124
+#: fdisk/cfdisk.c:2123
 msgid "             There are several different formats for the partition"
-msgstr "             Ci sono diversi formati di visualizzazione"
+msgstr "            Vi sono diversi altri formati per la partizione"
 
-#: fdisk/cfdisk.c:2125
+#: fdisk/cfdisk.c:2124
 msgid "             that you can choose from:"
-msgstr "             tra cui scegliere:"
+msgstr "            tra i quali scegliere:"
 
-#: fdisk/cfdisk.c:2126
+#: fdisk/cfdisk.c:2125
 msgid "                r - Raw data (exactly what would be written to disk)"
-msgstr "                r - Dati grezzi (quello che sarebbe scritto sul disco)"
+msgstr ""
+"               r - dati grezzi (esattamente ciò che verrebbe scritto sul "
+"disco)"
 
-#: fdisk/cfdisk.c:2127
+#: fdisk/cfdisk.c:2126
 msgid "                s - Table ordered by sectors"
-msgstr "                s - Tabella ordinata per settori"
+msgstr "               s - Tabella ordinata per settori"
 
-#: fdisk/cfdisk.c:2128
+#: fdisk/cfdisk.c:2127
 msgid "                t - Table in raw format"
-msgstr "                t - Tabella in formato grezzo"
+msgstr "               t - Tabella in formato grezzo"
 
-#: fdisk/cfdisk.c:2129
+#: fdisk/cfdisk.c:2128
 msgid "  q          Quit program without writing partition table"
-msgstr "  q          Abbandona il programma senza scrivere la tabella"
+msgstr ""
+"  q          Esce dal programma senza scrivere nella tabella delle partizioni"
 
-#: fdisk/cfdisk.c:2130
+#: fdisk/cfdisk.c:2129
 msgid "  t          Change the filesystem type"
-msgstr "  t          Cambia il tipo di filesystem"
+msgstr " t          Cambia il tipo di filesystem"
 
-#: fdisk/cfdisk.c:2131
+#: fdisk/cfdisk.c:2130
 msgid "  u          Change units of the partition size display"
-msgstr "  u          Cambia l'unità di dimensione usata"
+msgstr ""
+" u          Modifica l'unità di visualizzazione della dimensione della "
+"partizione"
 
-#: fdisk/cfdisk.c:2132
-#, fuzzy
+#: fdisk/cfdisk.c:2131
 msgid "             Rotates through MB, sectors and cylinders"
-msgstr "             Cambia tra Mb, settori e cilindri"
+msgstr "            Ruota attraverso MB, settori e cilindri"
 
-#: fdisk/cfdisk.c:2133
+#: fdisk/cfdisk.c:2132
 msgid "  W          Write partition table to disk (must enter upper case W)"
 msgstr ""
-"  W          Scrive la tabella sul disco (deve essere usata una W maiuscola)"
+" W          Scrittura della tabella di partizione sul disco (si deve "
+"inserire la W maiuscola)"
 
-#: fdisk/cfdisk.c:2134
+#: fdisk/cfdisk.c:2133
 msgid "             Since this might destroy data on the disk, you must"
-msgstr "             Poichè questo può distruggere i dati sul disco bisogna"
+msgstr ""
+"            Dato che in questo modo è possibile eliminare dati sul disco, si "
+"deve"
 
-#: fdisk/cfdisk.c:2135
+#: fdisk/cfdisk.c:2134
 msgid "             either confirm or deny the write by entering `yes' or"
-msgstr "             confermare o annullare la scrittura digitando `yes' o"
+msgstr "            confermare o negare la scrittura inserendo `sì' o"
 
-#: fdisk/cfdisk.c:2136
+#: fdisk/cfdisk.c:2135
 msgid "             `no'"
 msgstr "             `no'"
 
-#: fdisk/cfdisk.c:2137
+#: fdisk/cfdisk.c:2136
 msgid "Up Arrow     Move cursor to the previous partition"
-msgstr "Freccia su   Sposta il cursore alla partizione precedente"
+msgstr "Freccia Su      sposta il cursore alla partizione precedente"
 
-#: fdisk/cfdisk.c:2138
+#: fdisk/cfdisk.c:2137
 msgid "Down Arrow   Move cursor to the next partition"
-msgstr "Freccia giù  Sposta il cursore alla partizione seguente"
+msgstr "Freccia Giù   sposta il cursore alla partizione successiva"
 
-#: fdisk/cfdisk.c:2139
+#: fdisk/cfdisk.c:2138
 msgid "CTRL-L       Redraws the screen"
 msgstr "CTRL-L       Ridisegna lo schermo"
 
-#: fdisk/cfdisk.c:2140
+#: fdisk/cfdisk.c:2139
 msgid "  ?          Print this screen"
 msgstr "  ?          Stampa questa schermata"
 
-#: fdisk/cfdisk.c:2142
+#: fdisk/cfdisk.c:2141
 msgid "Note: All of the commands can be entered with either upper or lower"
-msgstr ""
-"Nota: tutti i comandi (tranne Write) possono essere immessi sia in lettere"
+msgstr "Nota: è possibile immettere tutti i comandi in maiuscolo o minuscolo"
 
-#: fdisk/cfdisk.c:2143
+#: fdisk/cfdisk.c:2142
 msgid "case letters (except for Writes)."
-msgstr "maiuscole che minuscole"
+msgstr "lettere maiuscole/minuscole (fatta eccezione per Writes)."
 
-#: fdisk/cfdisk.c:2173 fdisk/cfdisk.c:2490 fdisk/fdisksunlabel.c:305
+#: fdisk/cfdisk.c:2172 fdisk/cfdisk.c:2494 fdisk/fdisksunlabel.c:305
 #: fdisk/fdisksunlabel.c:307
 msgid "Cylinders"
 msgstr "Cilindri"
 
-#: fdisk/cfdisk.c:2173
+#: fdisk/cfdisk.c:2172
 msgid "Change cylinder geometry"
-msgstr "Cambia la geometria del cilindro"
+msgstr "Modifica la geometria dei cilindri"
 
-#: fdisk/cfdisk.c:2174 fdisk/fdisksunlabel.c:302
+#: fdisk/cfdisk.c:2173 fdisk/fdisksunlabel.c:302
 msgid "Heads"
 msgstr "Testine"
 
-#: fdisk/cfdisk.c:2174
+#: fdisk/cfdisk.c:2173
 msgid "Change head geometry"
-msgstr "Cambia la geometria della testina"
+msgstr "Modifica la geometria delle testine"
 
-#: fdisk/cfdisk.c:2175
+#: fdisk/cfdisk.c:2174
 msgid "Change sector geometry"
-msgstr "Cambia la geometria del settore"
+msgstr "Modifica la geometria dei settori"
 
-#: fdisk/cfdisk.c:2176
+#: fdisk/cfdisk.c:2175
 msgid "Done"
-msgstr "Fatto"
+msgstr "Fine"
 
-#: fdisk/cfdisk.c:2176
+#: fdisk/cfdisk.c:2175
 msgid "Done with changing geometry"
-msgstr "Basta cambiamenti di geometria"
+msgstr "Modifica della geometria eseguita"
 
-#: fdisk/cfdisk.c:2189
+#: fdisk/cfdisk.c:2188
 msgid "Enter the number of cylinders: "
-msgstr "Inserire il numero di cilindri: "
+msgstr "Immettere il numero di cilindri: "
 
-#: fdisk/cfdisk.c:2201 fdisk/cfdisk.c:2758
+#: fdisk/cfdisk.c:2200 fdisk/cfdisk.c:2762
 msgid "Illegal cylinders value"
-msgstr ""
+msgstr "Valore cilindri non valido"
 
-#: fdisk/cfdisk.c:2207
+#: fdisk/cfdisk.c:2206
 msgid "Enter the number of heads: "
-msgstr "Inserire il numero di testine: "
+msgstr "Immettere il numero delle testine: "
 
-#: fdisk/cfdisk.c:2214 fdisk/cfdisk.c:2768
-#, fuzzy
+#: fdisk/cfdisk.c:2213 fdisk/cfdisk.c:2772
 msgid "Illegal heads value"
-msgstr "Tasto non valido"
+msgstr "Valore testine non valido"
 
-#: fdisk/cfdisk.c:2220
+#: fdisk/cfdisk.c:2219
 msgid "Enter the number of sectors per track: "
-msgstr "Inserire il numero di settori per traccia: "
+msgstr "Immettere il numero dei settori per traccia: "
 
-#: fdisk/cfdisk.c:2227 fdisk/cfdisk.c:2775
+#: fdisk/cfdisk.c:2226 fdisk/cfdisk.c:2779
 msgid "Illegal sectors value"
-msgstr ""
+msgstr "Valore settori non valido"
 
-#: fdisk/cfdisk.c:2330
+#: fdisk/cfdisk.c:2329
 msgid "Enter filesystem type: "
-msgstr "Inserire il tipo di filesystem: "
+msgstr "Immettere il tipo di filesystem: "
 
-#: fdisk/cfdisk.c:2348
+#: fdisk/cfdisk.c:2347
 msgid "Cannot change FS Type to empty"
-msgstr ""
+msgstr "Impossibile cambiare il tipo FS in vuoto"
 
-#: fdisk/cfdisk.c:2350
+#: fdisk/cfdisk.c:2349
 msgid "Cannot change FS Type to extended"
-msgstr ""
+msgstr "Impossibile cambiare il tipo FS in espanso"
 
-#: fdisk/cfdisk.c:2373 fdisk/fdisksunlabel.c:44
+#: fdisk/cfdisk.c:2377 fdisk/fdisksunlabel.c:44
 msgid "Boot"
-msgstr "Boot"
+msgstr "Avvio"
 
-#: fdisk/cfdisk.c:2375
+#: fdisk/cfdisk.c:2379
 #, c-format
 msgid "Unk(%02X)"
-msgstr "Scon(%02X)"
+msgstr "Unk(%02X)"
 
-#: fdisk/cfdisk.c:2378 fdisk/cfdisk.c:2381
+#: fdisk/cfdisk.c:2382 fdisk/cfdisk.c:2385
 msgid ", NC"
-msgstr "NC"
+msgstr "NC"
 
-#: fdisk/cfdisk.c:2386 fdisk/cfdisk.c:2389
+#: fdisk/cfdisk.c:2390 fdisk/cfdisk.c:2393
 msgid "NC"
 msgstr "NC"
 
-#: fdisk/cfdisk.c:2397
+#: fdisk/cfdisk.c:2401
 msgid "Pri/Log"
 msgstr "Pri/Log"
 
-#: fdisk/cfdisk.c:2473
+#: fdisk/cfdisk.c:2477
 #, c-format
 msgid "Disk Drive: %s"
-msgstr "Disk Drive: %s"
+msgstr "Unità disco: %s"
 
-#: fdisk/cfdisk.c:2476
+#: fdisk/cfdisk.c:2480
 #, c-format
 msgid "Size: %lld bytes"
-msgstr ""
+msgstr "Dimensione: %lld byte"
 
-#: fdisk/cfdisk.c:2478
+#: fdisk/cfdisk.c:2482
 #, c-format
 msgid "Heads: %d   Sectors per Track: %d   Cylinders: %d"
-msgstr "Testine: %d    Settori per traccia: %d   Cilindri: %d"
+msgstr "Testine: %d   settori per traccia: %d   cilindri: %d"
 
-#: fdisk/cfdisk.c:2482
+#: fdisk/cfdisk.c:2486
 msgid "Name"
 msgstr "Nome"
 
-#: fdisk/cfdisk.c:2483
+#: fdisk/cfdisk.c:2487
 msgid "Flags"
 msgstr "Flag"
 
-#: fdisk/cfdisk.c:2484
+#: fdisk/cfdisk.c:2488
 msgid "Part Type"
-msgstr "Tipo Part"
+msgstr "Tipo di partiz."
 
-#: fdisk/cfdisk.c:2485
+#: fdisk/cfdisk.c:2489
 msgid "FS Type"
 msgstr "Tipo FS"
 
-#: fdisk/cfdisk.c:2486
+#: fdisk/cfdisk.c:2490
 msgid "[Label]"
 msgstr "[Etichetta]"
 
-#: fdisk/cfdisk.c:2488
+#: fdisk/cfdisk.c:2492
 msgid "  Sectors"
-msgstr "Settori"
+msgstr "  Settori"
 
-#: fdisk/cfdisk.c:2492
+#: fdisk/cfdisk.c:2496
 msgid "Size (MB)"
-msgstr "Dim (MB)"
+msgstr "Dimensione (MB)"
 
-#: fdisk/cfdisk.c:2494
-#, fuzzy
+#: fdisk/cfdisk.c:2498
 msgid "Size (GB)"
-msgstr "Dim (MB)"
+msgstr "Dimensione (GB)"
 
-#: fdisk/cfdisk.c:2549
+#: fdisk/cfdisk.c:2553
 msgid "Bootable"
-msgstr "Bootable"
+msgstr "Avviabile"
 
-#: fdisk/cfdisk.c:2549
+#: fdisk/cfdisk.c:2553
 msgid "Toggle bootable flag of the current partition"
-msgstr "Cambia il flag di bootabilità dalla partizione corrente"
+msgstr " Cambia flag avviabile per la partizione corrente "
 
-#: fdisk/cfdisk.c:2550
+#: fdisk/cfdisk.c:2554
 msgid "Delete"
-msgstr "Delete"
+msgstr "Elimina"
 
-#: fdisk/cfdisk.c:2550
+#: fdisk/cfdisk.c:2554
 msgid "Delete the current partition"
-msgstr "Cancella la partizione corrente"
+msgstr "Elimina la partizione corrente"
 
-#: fdisk/cfdisk.c:2551
+#: fdisk/cfdisk.c:2555
 msgid "Geometry"
 msgstr "Geometria"
 
-#: fdisk/cfdisk.c:2551
+#: fdisk/cfdisk.c:2555
 msgid "Change disk geometry (experts only)"
-msgstr "Cambia la geometria del disco (solo per esperti)"
+msgstr "Modifica della geometria del disco (solo per esperti)"
 
-#: fdisk/cfdisk.c:2552
+#: fdisk/cfdisk.c:2556
 msgid "Help"
-msgstr "Help"
+msgstr "Guida"
 
-#: fdisk/cfdisk.c:2552
+#: fdisk/cfdisk.c:2556
 msgid "Print help screen"
-msgstr "Stampa la schermata di aiuto"
+msgstr "Stampa della schermata della guida"
 
-#: fdisk/cfdisk.c:2553
+#: fdisk/cfdisk.c:2557
 msgid "Maximize"
-msgstr "Massim."
+msgstr "Massimi."
 
-#: fdisk/cfdisk.c:2553
+#: fdisk/cfdisk.c:2557
 msgid "Maximize disk usage of the current partition (experts only)"
 msgstr ""
-"Massimizza lo spazio usato dalla partizione corrente (solo per esperti)"
+"Massimizzare l'utilizzo del disco della partizione corrente (solo per "
+"esperti)"
 
-#: fdisk/cfdisk.c:2554
+#: fdisk/cfdisk.c:2558
 msgid "New"
 msgstr "Nuova"
 
-#: fdisk/cfdisk.c:2554
+#: fdisk/cfdisk.c:2558
 msgid "Create new partition from free space"
-msgstr "Crea una nuova partizione dallo spazio libero"
+msgstr "Creazione di una nuova partizione nello spazio disponibile"
 
-#: fdisk/cfdisk.c:2555
+#: fdisk/cfdisk.c:2559
 msgid "Print"
-msgstr "Print"
+msgstr "Stampa"
 
-#: fdisk/cfdisk.c:2555
+#: fdisk/cfdisk.c:2559
 msgid "Print partition table to the screen or to a file"
-msgstr "Stampa la tabella delle partizioni sullo schermo o su un file"
+msgstr "Stampa della tabella delle partizioni su schermo o su file"
 
-#: fdisk/cfdisk.c:2556
+#: fdisk/cfdisk.c:2560
 msgid "Quit"
-msgstr "Quit"
+msgstr "Esci"
 
-#: fdisk/cfdisk.c:2556
+#: fdisk/cfdisk.c:2560
 msgid "Quit program without writing partition table"
-msgstr "Abbandona il programma senza scrivere la tabella delle partizioni"
+msgstr "Esce dal programma senza scrivere nella tabella delle partizioni"
 
-#: fdisk/cfdisk.c:2557
+#: fdisk/cfdisk.c:2561
 msgid "Type"
 msgstr "Tipo"
 
-#: fdisk/cfdisk.c:2557
+#: fdisk/cfdisk.c:2561
 msgid "Change the filesystem type (DOS, Linux, OS/2 and so on)"
-msgstr "Cambia il tipo di filesystem (DOS, Linux, OS/2 ecc...)"
+msgstr "Modificare il tipo di filesystem (DOS, Linux, OS/2 e così via)"
 
-#: fdisk/cfdisk.c:2558
+#: fdisk/cfdisk.c:2562
 msgid "Units"
 msgstr "Unità"
 
-#: fdisk/cfdisk.c:2558
+#: fdisk/cfdisk.c:2562
 msgid "Change units of the partition size display (MB, sect, cyl)"
-msgstr "Cambia l'unità di misura usata per le dimensioni (MB, sett, cil)"
+msgstr ""
+"Cambia l'unità di visualizzazione della dimensione della partizione (MB, "
+"sett., cil.)"
 
-#: fdisk/cfdisk.c:2559
+#: fdisk/cfdisk.c:2563
 msgid "Write"
-msgstr "Write"
+msgstr "Scrivi"
 
-#: fdisk/cfdisk.c:2559
+#: fdisk/cfdisk.c:2563
 msgid "Write partition table to disk (this might destroy data)"
-msgstr "Scrive la tabella delle partizioni sul disco (può distruggere dati)"
+msgstr ""
+"Scrivere la tabella delle partizioni sul disco (i dati potrebbero venir "
+"eliminati)"
 
-#: fdisk/cfdisk.c:2605
-#, fuzzy
+#: fdisk/cfdisk.c:2609
 msgid "Cannot make this partition bootable"
-msgstr "Stampa solo la tabella delle partizioni"
+msgstr "Impossibile rendere questa partizione avviabile"
 
-#: fdisk/cfdisk.c:2615
-#, fuzzy
+#: fdisk/cfdisk.c:2619
 msgid "Cannot delete an empty partition"
-msgstr "Crea una nuova partizione primaria"
+msgstr "Impossibile cancellare una partizione vuota"
 
-#: fdisk/cfdisk.c:2635 fdisk/cfdisk.c:2637
-#, fuzzy
+#: fdisk/cfdisk.c:2639 fdisk/cfdisk.c:2641
 msgid "Cannot maximize this partition"
-msgstr "Crea una nuova partizione primaria"
+msgstr "Impossibile massimizzare questa partizione"
 
-#: fdisk/cfdisk.c:2645
-#, fuzzy
+#: fdisk/cfdisk.c:2649
 msgid "This partition is unusable"
-msgstr "Stampa la tabella delle partizioni:\n"
+msgstr "Questa partizione è utilizzabile"
 
-#: fdisk/cfdisk.c:2647
+#: fdisk/cfdisk.c:2651
 msgid "This partition is already in use"
-msgstr ""
+msgstr "Questa partizione è già in uso"
 
-#: fdisk/cfdisk.c:2664
+#: fdisk/cfdisk.c:2668
 msgid "Cannot change the type of an empty partition"
-msgstr ""
+msgstr "Impossibile modificare il tipo di una partizione vuota"
 
-#: fdisk/cfdisk.c:2691 fdisk/cfdisk.c:2697
-#, fuzzy
+#: fdisk/cfdisk.c:2695 fdisk/cfdisk.c:2701
 msgid "No more partitions"
-msgstr "Non crea partizioni"
+msgstr "Nessun'altra partizione"
 
-#: fdisk/cfdisk.c:2704
-#, fuzzy
+#: fdisk/cfdisk.c:2708
 msgid "Illegal command"
-msgstr "Tasto non valido"
+msgstr "Comando non valido"
 
-#: fdisk/cfdisk.c:2714
-#, fuzzy
+#: fdisk/cfdisk.c:2718
 msgid "Copyright (C) 1994-1999 Kevin E. Martin & aeb\n"
-msgstr "Copyright (C) 1994-1997 Kevin E. Martin & aeb\n"
+msgstr "Copyright (C) 1994-1999 Kevin E. Martin & aeb\n"
 
 #. Unfortunately, xgettext does not handle multi-line strings
 #. so, let's use explicit \n's instead
-#: fdisk/cfdisk.c:2721
+#: fdisk/cfdisk.c:2725
 #, c-format
 msgid ""
 "\n"
@@ -2023,8 +2284,25 @@ msgid ""
 "                the number of heads and the number of sectors/track.\n"
 "\n"
 msgstr ""
+"\n"
+"Utilizzo:\n"
+"Stampa versione:\n"
+"        %s -v\n"
+"Stampa tabella delle partizioni:\n"
+"        %s -P {r|s|t} [opzioni] dispositivo\n"
+"Utilizzo interattivo:\n"
+"        %s [opzioni] dispositivo\n"
+"\n"
+"Opzioni:\n"
+"-a: Utilizzo della freccia al posto dell'evidenziazione;\n"
+"-z: Inizio con una tabella delle partizioni vuota, anziché lettura di pt 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/fdisk.c:247
+#: fdisk/fdisk.c:246
 msgid ""
 "Usage: fdisk [-b SSZ] [-u] DISK     Change partition table\n"
 "       fdisk -l [-b SSZ] [-u] DISK  List partition table(s)\n"
@@ -2035,8 +2313,18 @@ msgid ""
 "-u: give Start and End in sector (instead of cylinder) units\n"
 "-b 2048: (for certain MO drives) use 2048-byte sectors\n"
 msgstr ""
+"Utilizzo: fdisk [-b SSZ] [-u] DISK     Modifica la tabella delle partizioni\n"
+"       fdisk -l [-b SSZ] [-u] DISK  Elenca la(e) tabella(e) delle "
+"partizioni\n"
+"       fdisk -s PARTITION           Indica la(e) dimensione(i) della "
+"partizione in blocchi\n"
+"       fdisk -v                     Indica la versione di fdisk\n"
+"In questo caso DISK è simile a /dev/hdb o /dev/sda\n"
+"e PARTITION assomiglia a /dev/hda7\n"
+"-u: indica Inizio e Fine con unità di misura settore (invece di cilindro)\n"
+"-b 2048: (per alcune unità MO) utilizzare i settori a 2048 byte\n"
 
-#: fdisk/fdisk.c:259
+#: fdisk/fdisk.c:258
 msgid ""
 "Usage: fdisk [-l] [-b SSZ] [-u] device\n"
 "E.g.: fdisk /dev/hda  (for the first IDE disk)\n"
@@ -2045,447 +2333,456 @@ msgid ""
 "  or: fdisk /dev/rd/c0d0  or: fdisk /dev/ida/c0d0  (for RAID devices)\n"
 "  ...\n"
 msgstr ""
+"Utilizzo: 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:267
+#: fdisk/fdisk.c:266
 #, c-format
 msgid "Unable to open %s\n"
-msgstr ""
+msgstr "Impossibile aprire %s\n"
 
-#: fdisk/fdisk.c:270
+#: fdisk/fdisk.c:269
 #, c-format
 msgid "Unable to read %s\n"
-msgstr ""
+msgstr "Impossibile leggere %s\n"
 
-#: fdisk/fdisk.c:273
+#: fdisk/fdisk.c:272
 #, c-format
 msgid "Unable to seek on %s\n"
-msgstr ""
+msgstr "Ricerca impossibile su %s\n"
 
-#: fdisk/fdisk.c:276
+#: fdisk/fdisk.c:275
 #, c-format
 msgid "Unable to write %s\n"
-msgstr ""
+msgstr "Impossibile scrivere su %s\n"
 
-#: fdisk/fdisk.c:279
+#: fdisk/fdisk.c:278
 #, c-format
 msgid "BLKGETSIZE ioctl failed on %s\n"
-msgstr ""
+msgstr "BLKGETSIZE ioctl non riuscito su %s\n"
 
-#: fdisk/fdisk.c:283
+#: fdisk/fdisk.c:282
 msgid "Unable to allocate any more memory\n"
-msgstr ""
+msgstr "Impossibile allocare altra memoria\n"
 
-#: fdisk/fdisk.c:285
+#: fdisk/fdisk.c:284
 msgid "Fatal error\n"
-msgstr ""
+msgstr "Errore irreversibile\n"
 
-#: fdisk/fdisk.c:296 fdisk/fdisk.c:315 fdisk/fdisk.c:333 fdisk/fdisk.c:340
-#: fdisk/fdisk.c:363 fdisk/fdisk.c:381 fdisk/fdiskbsdlabel.c:105
-#, fuzzy
+#: fdisk/fdisk.c:295 fdisk/fdisk.c:314 fdisk/fdisk.c:332 fdisk/fdisk.c:339
+#: fdisk/fdisk.c:362 fdisk/fdisk.c:380 fdisk/fdiskbsdlabel.c:105
 msgid "Command action"
-msgstr "Comando      Significato"
+msgstr "Azione comando"
 
-#: fdisk/fdisk.c:297
+#: fdisk/fdisk.c:296
 msgid "   a   toggle a read only flag"
-msgstr ""
+msgstr "   a   attivazione/disattivazione di un flag di sola lettura"
 
 #. sun
-#: fdisk/fdisk.c:298 fdisk/fdisk.c:342
+#: fdisk/fdisk.c:297 fdisk/fdisk.c:341
 msgid "   b   edit bsd disklabel"
-msgstr ""
+msgstr "   b   modifica di bsd disklabel"
 
-#: fdisk/fdisk.c:299
+#: fdisk/fdisk.c:298
 msgid "   c   toggle the mountable flag"
-msgstr ""
+msgstr "   c   attivazione/disattivazione del flag montabile"
 
 #. sun
-#: fdisk/fdisk.c:300 fdisk/fdisk.c:319 fdisk/fdisk.c:344
-#, fuzzy
+#: fdisk/fdisk.c:299 fdisk/fdisk.c:318 fdisk/fdisk.c:343
 msgid "   d   delete a partition"
-msgstr "  d          Cancella la partizione corrente"
+msgstr "   d   cancellazione di una partizione"
 
-#: fdisk/fdisk.c:301 fdisk/fdisk.c:320 fdisk/fdisk.c:345
+#: fdisk/fdisk.c:300 fdisk/fdisk.c:319 fdisk/fdisk.c:344
 msgid "   l   list known partition types"
-msgstr ""
+msgstr "   l   elenco dei tipi di partizione conosciuti"
 
 #. sun
-#: fdisk/fdisk.c:302 fdisk/fdisk.c:321 fdisk/fdisk.c:334 fdisk/fdisk.c:346
-#: fdisk/fdisk.c:371 fdisk/fdisk.c:388 fdisk/fdiskbsdlabel.c:110
-#, fuzzy
+#: fdisk/fdisk.c:301 fdisk/fdisk.c:320 fdisk/fdisk.c:333 fdisk/fdisk.c:345
+#: fdisk/fdisk.c:370 fdisk/fdisk.c:387 fdisk/fdiskbsdlabel.c:110
 msgid "   m   print this menu"
-msgstr "  h          Stampa questa schermata"
+msgstr "   m   stampa di questo menu"
 
-#: fdisk/fdisk.c:303 fdisk/fdisk.c:322 fdisk/fdisk.c:347
-#, fuzzy
+#: fdisk/fdisk.c:302 fdisk/fdisk.c:321 fdisk/fdisk.c:346
 msgid "   n   add a new partition"
-msgstr "Crea una nuova partizione primaria"
+msgstr "   n   aggiunta di una nuova partizione"
 
-#: fdisk/fdisk.c:304 fdisk/fdisk.c:323 fdisk/fdisk.c:335 fdisk/fdisk.c:348
-#, fuzzy
+#: fdisk/fdisk.c:303 fdisk/fdisk.c:322 fdisk/fdisk.c:334 fdisk/fdisk.c:347
 msgid "   o   create a new empty DOS partition table"
-msgstr "Crea una nuova partizione primaria"
+msgstr "   o   creazione di una nuova tabella delle partizioni DOS vuota"
 
-#: fdisk/fdisk.c:305 fdisk/fdisk.c:324 fdisk/fdisk.c:349 fdisk/fdisk.c:372
-#: fdisk/fdisk.c:389
-#, fuzzy
+#: fdisk/fdisk.c:304 fdisk/fdisk.c:323 fdisk/fdisk.c:348 fdisk/fdisk.c:371
+#: fdisk/fdisk.c:388
 msgid "   p   print the partition table"
-msgstr "Stampa solo la tabella delle partizioni"
+msgstr "   p   stampa della tabella delle partizioni"
 
-#: fdisk/fdisk.c:306 fdisk/fdisk.c:325 fdisk/fdisk.c:336 fdisk/fdisk.c:350
-#: fdisk/fdisk.c:373 fdisk/fdisk.c:390 fdisk/fdiskbsdlabel.c:113
+#: fdisk/fdisk.c:305 fdisk/fdisk.c:324 fdisk/fdisk.c:335 fdisk/fdisk.c:349
+#: fdisk/fdisk.c:372 fdisk/fdisk.c:389 fdisk/fdiskbsdlabel.c:113
 msgid "   q   quit without saving changes"
-msgstr ""
+msgstr "   q   uscita senza salvataggio delle modifiche"
 
-#: fdisk/fdisk.c:307 fdisk/fdisk.c:326 fdisk/fdisk.c:337 fdisk/fdisk.c:351
+#: fdisk/fdisk.c:306 fdisk/fdisk.c:325 fdisk/fdisk.c:336 fdisk/fdisk.c:350
 msgid "   s   create a new empty Sun disklabel"
-msgstr ""
+msgstr "   s   creazione di una nuova disklabel Sun vuota"
 
 #. sun
-#: fdisk/fdisk.c:308 fdisk/fdisk.c:327 fdisk/fdisk.c:352
+#: fdisk/fdisk.c:307 fdisk/fdisk.c:326 fdisk/fdisk.c:351
 msgid "   t   change a partition's system id"
-msgstr ""
+msgstr "   t   modifica dell'id di sistema di una partizione"
 
-#: fdisk/fdisk.c:309 fdisk/fdisk.c:328 fdisk/fdisk.c:353
+#: fdisk/fdisk.c:308 fdisk/fdisk.c:327 fdisk/fdisk.c:352
 msgid "   u   change display/entry units"
-msgstr ""
+msgstr "   u   modifica delle unità di visualizzazione/di immissione"
 
-#: fdisk/fdisk.c:310 fdisk/fdisk.c:329 fdisk/fdisk.c:354 fdisk/fdisk.c:376
-#: fdisk/fdisk.c:393
-#, fuzzy
+#: fdisk/fdisk.c:309 fdisk/fdisk.c:328 fdisk/fdisk.c:353 fdisk/fdisk.c:375
+#: fdisk/fdisk.c:392
 msgid "   v   verify the partition table"
-msgstr "Stampa solo la tabella delle partizioni"
+msgstr "   v   verifica della tabella delle partizioni"
 
-#: fdisk/fdisk.c:311 fdisk/fdisk.c:330 fdisk/fdisk.c:355 fdisk/fdisk.c:377
-#: fdisk/fdisk.c:394
+#: fdisk/fdisk.c:310 fdisk/fdisk.c:329 fdisk/fdisk.c:354 fdisk/fdisk.c:376
+#: fdisk/fdisk.c:393
 msgid "   w   write table to disk and exit"
-msgstr ""
+msgstr "   w   scrittura della tabella su disco e uscita"
 
-#: fdisk/fdisk.c:312 fdisk/fdisk.c:356
+#: fdisk/fdisk.c:311 fdisk/fdisk.c:355
 msgid "   x   extra functionality (experts only)"
-msgstr ""
+msgstr " x   ulteriori funzioni (solo per esperti)"
 
-#: fdisk/fdisk.c:316
-#, fuzzy
+#: fdisk/fdisk.c:315
 msgid "   a   select bootable partition"
-msgstr "  d          Cancella la partizione corrente"
+msgstr "   a   selezione della partizione che è possibile avviare"
 
 #. sgi flavour
-#: fdisk/fdisk.c:317
+#: fdisk/fdisk.c:316
 msgid "   b   edit bootfile entry"
-msgstr ""
+msgstr "   b   modifica della voce bootfile"
 
 #. sgi
-#: fdisk/fdisk.c:318
-#, fuzzy
+#: fdisk/fdisk.c:317
 msgid "   c   select sgi swap partition"
-msgstr "  d          Cancella la partizione corrente"
+msgstr "   c   selezione della partizione swap sgi"
 
-#: fdisk/fdisk.c:341
+#: fdisk/fdisk.c:340
 msgid "   a   toggle a bootable flag"
-msgstr ""
+msgstr "   a  Cambia bootable flag"
 
-#: fdisk/fdisk.c:343
+#: fdisk/fdisk.c:342
 msgid "   c   toggle the dos compatibility flag"
-msgstr ""
+msgstr "   c   cambia il flag compatibile con il dos"
 
-#: fdisk/fdisk.c:364
-#, fuzzy
+#: fdisk/fdisk.c:363
 msgid "   a   change number of alternate cylinders"
-msgstr "Inserire il numero di cilindri: "
+msgstr "   a   modifica del numero di cilindri alternativi"
 
 #. sun
-#: fdisk/fdisk.c:365 fdisk/fdisk.c:383
-#, fuzzy
+#: fdisk/fdisk.c:364 fdisk/fdisk.c:382
 msgid "   c   change number of cylinders"
-msgstr "Inserire il numero di cilindri: "
+msgstr "   c   modifica del numero di cilindri"
 
-#: fdisk/fdisk.c:366 fdisk/fdisk.c:384
-#, fuzzy
+#: fdisk/fdisk.c:365 fdisk/fdisk.c:383
 msgid "   d   print the raw data in the partition table"
-msgstr "Stampa solo la tabella delle partizioni"
+msgstr "   d   stampa dei dati grezzi nella tabella delle partizioni"
 
-#: fdisk/fdisk.c:367
-#, fuzzy
+#: fdisk/fdisk.c:366
 msgid "   e   change number of extra sectors per cylinder"
-msgstr "Inserire il numero di settori per traccia: "
+msgstr "   e   modifica del numero dei settori supplementari per cilindro"
 
 #. sun
-#: fdisk/fdisk.c:368 fdisk/fdisk.c:387
-#, fuzzy
+#: fdisk/fdisk.c:367 fdisk/fdisk.c:386
 msgid "   h   change number of heads"
-msgstr "Inserire il numero di testine: "
+msgstr "   h   modifica del numero di testine"
 
-#: fdisk/fdisk.c:369
+#: fdisk/fdisk.c:368
 msgid "   i   change interleave factor"
-msgstr ""
+msgstr "   i   modifica del fattore di interleave"
 
 #. sun
-#: fdisk/fdisk.c:370
+#: fdisk/fdisk.c:369
 msgid "   o   change rotation speed (rpm)"
-msgstr ""
+msgstr "   o   modifica della velocità di rotazione (rpm)"
 
-#: fdisk/fdisk.c:374 fdisk/fdisk.c:391 fdisk/fdiskbsdlabel.c:115
+#: fdisk/fdisk.c:373 fdisk/fdisk.c:390 fdisk/fdiskbsdlabel.c:115
 msgid "   r   return to main menu"
-msgstr ""
+msgstr "   r   ritorno al menu principale"
 
-#: fdisk/fdisk.c:375 fdisk/fdisk.c:392
-#, fuzzy
+#: fdisk/fdisk.c:374 fdisk/fdisk.c:391
 msgid "   s   change number of sectors/track"
-msgstr "Inserire il numero di settori per traccia: "
+msgstr "   s   modifica del numero di settori/traccia"
 
-#: fdisk/fdisk.c:378
-#, fuzzy
+#: fdisk/fdisk.c:377
 msgid "   y   change number of physical cylinders"
-msgstr "Inserire il numero di cilindri: "
+msgstr "   y   modifica del numero di cilindri fisici"
 
-#: fdisk/fdisk.c:382
+#: fdisk/fdisk.c:381
 msgid "   b   move beginning of data in a partition"
-msgstr ""
+msgstr "   b   spostamento dell'inizio di dati in una partizione"
 
-#: fdisk/fdisk.c:385
-#, fuzzy
+#: fdisk/fdisk.c:384
 msgid "   e   list extended partitions"
-msgstr "  d          Cancella la partizione corrente"
+msgstr "   e   elenco delle partizioni estese"
 
 #. !sun
-#: fdisk/fdisk.c:386
-#, fuzzy
+#: fdisk/fdisk.c:385
 msgid "   g   create an IRIX partition table"
-msgstr "Non crea partizioni"
+msgstr "   g   creazione di una tabella delle partizioni IRIX"
 
-#: fdisk/fdisk.c:482
+#: fdisk/fdisk.c:481
 msgid "You must set"
-msgstr ""
+msgstr "Si devono impostare"
 
-#: fdisk/fdisk.c:496
-#, fuzzy
+#: fdisk/fdisk.c:495
 msgid "heads"
-msgstr "Testine"
+msgstr "testine"
 
-#: fdisk/fdisk.c:498 fdisk/fdisk.c:906 fdisk/sfdisk.c:842
-#, fuzzy
+#: fdisk/fdisk.c:497 fdisk/fdisk.c:905 fdisk/sfdisk.c:842
 msgid "sectors"
-msgstr "Settori"
+msgstr "settori"
 
-#: fdisk/fdisk.c:500 fdisk/fdisk.c:906 fdisk/fdiskbsdlabel.c:441
+#: fdisk/fdisk.c:499 fdisk/fdisk.c:905 fdisk/fdiskbsdlabel.c:444
 #: fdisk/sfdisk.c:842
-#, fuzzy
 msgid "cylinders"
-msgstr "Cilindri"
+msgstr "cilindri"
 
-#: fdisk/fdisk.c:504
+#: fdisk/fdisk.c:503
 #, 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:505
+#: fdisk/fdisk.c:504
 msgid " and "
-msgstr ""
+msgstr " e "
 
-#: fdisk/fdisk.c:539
-#, fuzzy
+#: fdisk/fdisk.c:538
 msgid "Bad offset in primary extended partition\n"
-msgstr "Crea una nuova partizione primaria"
+msgstr "Offset errato nella partizione estesa primaria\n"
 
-#: fdisk/fdisk.c:546
+#: fdisk/fdisk.c:545
 #, c-format
 msgid "Warning: deleting partitions after %d\n"
-msgstr ""
+msgstr "Attenzione: cancellazione delle partizioni dopo %d\n"
 
-#: fdisk/fdisk.c:567
+#: fdisk/fdisk.c:566
 #, 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:575
+#: fdisk/fdisk.c:574
 #, 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:601
+#: fdisk/fdisk.c:600
 msgid ""
 "Building a new DOS 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 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:637
-#, fuzzy
+#: fdisk/fdisk.c:636
 msgid "You will not be able to write the partition table.\n"
-msgstr "Stampa solo la tabella delle partizioni"
+msgstr "Impossibile scrivere la tabella delle partizioni.\n"
 
-#: fdisk/fdisk.c:646
+#: fdisk/fdisk.c:645
 #, c-format
 msgid "Note: sector size is %d (not %d)\n"
-msgstr ""
+msgstr "Nota: la dimensione del settore è %d (non %d)\n"
 
-#: fdisk/fdisk.c:694
+#: fdisk/fdisk.c:693
 msgid ""
 "Device contains neither a valid DOS partition table, nor Sun or SGI "
 "disklabel\n"
 msgstr ""
+"Il dispositivo non contiene né una tabella delle partizioni DOS, né una "
+"disklabel Sun o SGI valide\n"
 
-#: fdisk/fdisk.c:710
-#, fuzzy
+#: fdisk/fdisk.c:709
 msgid "Internal error\n"
-msgstr "!!! Errore interno !!!"
+msgstr "Errore interno\n"
 
-#: fdisk/fdisk.c:720
+#: fdisk/fdisk.c:719
 #, c-format
 msgid "Ignoring extra extended partition %d\n"
-msgstr ""
+msgstr "La partizione estesa supplementare viene ignorata %d\n"
 
-#: fdisk/fdisk.c:727
+#: fdisk/fdisk.c:726
 #, 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:748
+#: fdisk/fdisk.c:747
 msgid ""
 "\n"
 "got EOF thrice - exiting..\n"
 msgstr ""
+"\n"
+"ricevuto EOF tre volte - uscita in corso..\n"
 
-#: fdisk/fdisk.c:785
+#: fdisk/fdisk.c:784
 msgid "Hex code (type L to list codes): "
-msgstr ""
+msgstr "Codice esadecimale (digitare L per elencare i codici): "
 
-#: fdisk/fdisk.c:824
+#: fdisk/fdisk.c:823
 #, c-format
 msgid "%s (%d-%d, default %d): "
-msgstr ""
+msgstr "%s (%d-%d, predefinito %d): "
 
-#: fdisk/fdisk.c:878
+#: fdisk/fdisk.c:877
 #, c-format
 msgid "Using default value %d\n"
-msgstr ""
+msgstr "Utilizzo del valore predefinito %d\n"
 
-#: fdisk/fdisk.c:882
+#: fdisk/fdisk.c:881
 msgid "Value out of range.\n"
-msgstr ""
+msgstr "Valore fuori intervallo.\n"
 
-#: fdisk/fdisk.c:889
-#, fuzzy
+#: fdisk/fdisk.c:888
 msgid "Partition number"
-msgstr "Tabella delle partizioni per %s\n"
+msgstr "Numero della partizione"
 
-#: fdisk/fdisk.c:897
+#: fdisk/fdisk.c:896
 #, c-format
 msgid "Warning: partition %d has empty type\n"
-msgstr ""
+msgstr "Attenzione: la partizione %d ha tipo vuoto\n"
 
-#: fdisk/fdisk.c:904
-#, fuzzy
+#: fdisk/fdisk.c:903
 msgid "cylinder"
-msgstr "Cilindri"
+msgstr "cilindro"
 
-#: fdisk/fdisk.c:904
-#, fuzzy
+#: fdisk/fdisk.c:903
 msgid "sector"
-msgstr "Settori"
+msgstr "settore"
 
-#: fdisk/fdisk.c:913
+#: fdisk/fdisk.c:912
 #, c-format
 msgid "Changing display/entry units to %s\n"
-msgstr ""
+msgstr "Modifica delle unità di visualizzazione/immissione su %s\n"
 
-#: fdisk/fdisk.c:923
+#: fdisk/fdisk.c:922
 #, c-format
 msgid "WARNING: Partition %d is an extended partition\n"
-msgstr ""
+msgstr "ATTENZIONE: la partizione %d è una partizione estesa\n"
 
-#: fdisk/fdisk.c:936
+#: fdisk/fdisk.c:935
 msgid "DOS Compatibility flag is set\n"
-msgstr ""
+msgstr "Impostato il flag compatibile con DOS\n"
 
-#: fdisk/fdisk.c:940
+#: fdisk/fdisk.c:939
 msgid "DOS Compatibility flag is not set\n"
-msgstr ""
+msgstr "Il flag compatibile con DOS non è impostato\n"
 
-#: fdisk/fdisk.c:1026
+#: fdisk/fdisk.c:1025
 #, c-format
 msgid "Partition %d does not exist yet!\n"
-msgstr ""
+msgstr "La partizione %d non esiste ancora!\n"
 
-#: fdisk/fdisk.c:1031
+#: fdisk/fdisk.c:1030
 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:1040
+#: fdisk/fdisk.c:1039
 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:1049
+#: fdisk/fdisk.c:1048
 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:1055
+#: fdisk/fdisk.c:1054
 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:1069
+#: fdisk/fdisk.c:1068
 #, c-format
 msgid "Changed system type of partition %d to %x (%s)\n"
-msgstr ""
+msgstr "Modificato il tipo di sistema della partizione %d in %x (%s)\n"
 
-#: fdisk/fdisk.c:1122
+#: fdisk/fdisk.c:1121
 #, 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:1124 fdisk/fdisk.c:1132 fdisk/fdisk.c:1141 fdisk/fdisk.c:1150
+#: fdisk/fdisk.c:1123 fdisk/fdisk.c:1131 fdisk/fdisk.c:1140 fdisk/fdisk.c:1149
 #, c-format
 msgid "     phys=(%d, %d, %d) "
-msgstr ""
+msgstr "    phys=(%d, %d, %d) "
 
-#: fdisk/fdisk.c:1125 fdisk/fdisk.c:1133
+#: fdisk/fdisk.c:1124 fdisk/fdisk.c:1132
 #, c-format
 msgid "logical=(%d, %d, %d)\n"
-msgstr ""
+msgstr "logico=(%d, %d, %d)\n"
 
-#: fdisk/fdisk.c:1130
+#: fdisk/fdisk.c:1129
 #, c-format
 msgid "Partition %d has different physical/logical endings:\n"
-msgstr ""
+msgstr "La partizione %d ha diversi elementi finali fisici/logici:\n"
 
-#: fdisk/fdisk.c:1139
+#: fdisk/fdisk.c:1138
 #, c-format
 msgid "Partition %i does not start on cylinder boundary:\n"
-msgstr ""
+msgstr "La partizione %i non inizia al limite del cilindro:\n"
 
-#: fdisk/fdisk.c:1142
+#: fdisk/fdisk.c:1141
 #, c-format
 msgid "should be (%d, %d, 1)\n"
-msgstr ""
+msgstr "dovrebbe essere (%d, %d, 1)\n"
 
-#: fdisk/fdisk.c:1148
+#: fdisk/fdisk.c:1147
 #, c-format
 msgid "Partition %i does not end on cylinder boundary:\n"
-msgstr ""
+msgstr "La partizione %i non termina al limite del cilindro:\n"
 
-#: fdisk/fdisk.c:1151
+#: fdisk/fdisk.c:1150
 #, c-format
 msgid "should be (%d, %d, %d)\n"
-msgstr ""
+msgstr "dovrebbe essere (%d, %d, %d)\n"
 
-#: fdisk/fdisk.c:1158
+#: fdisk/fdisk.c:1157
 #, c-format
 msgid ""
 "\n"
@@ -2493,171 +2790,180 @@ msgid ""
 "Units = %s of %d * %d bytes\n"
 "\n"
 msgstr ""
+"\n"
+"Disco %s: %d testine, %d settori, %d cilindri\n"
+"Unità = %s di %d * %d byte\n"
+"\n"
 
 #. FIXME! let's see how this shows up with other languagues
 #. acme@conectiva.com.br
-#: fdisk/fdisk.c:1195
+#: fdisk/fdisk.c:1194
 #, c-format
 msgid "%*s Boot    Start       End    Blocks   Id  System\n"
-msgstr ""
+msgstr "%*s Avvio    Inizio    Fine   Blocchi   Id  Sistema\n"
 
-#: fdisk/fdisk.c:1196 fdisk/fdisksgilabel.c:207 fdisk/fdisksunlabel.c:631
+#: fdisk/fdisk.c:1195 fdisk/fdisksgilabel.c:207 fdisk/fdisksunlabel.c:631
 msgid "Device"
-msgstr ""
+msgstr "Dispositivo"
 
-#: fdisk/fdisk.c:1236
+#: fdisk/fdisk.c:1235
 #, c-format
 msgid ""
 "\n"
 "Disk %s: %d heads, %d sectors, %d cylinders\n"
 "\n"
 msgstr ""
+"\n"
+"Disco %s: %d testine, %d settori, %d cilindri\n"
+"\n"
 
-#: fdisk/fdisk.c:1238
-#, fuzzy
-msgid "Nr AF  Hd Sec  Cyl  Hd Sec  Cyl   Start    Size ID\n"
-msgstr " # Flag  Head Sect Cyl   ID  Head Sect Cyl  Iniziale  Settori\n"
+#: fdisk/fdisk.c:1237
+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:1277
+#: fdisk/fdisk.c:1276
 #, c-format
 msgid "Warning: partition %d contains sector 0\n"
-msgstr ""
+msgstr "Attenzione: la partizione %d contiene il settore 0\n"
 
-#: fdisk/fdisk.c:1280
+#: fdisk/fdisk.c:1279
 #, c-format
 msgid "Partition %d: head %d greater than maximum %d\n"
-msgstr ""
+msgstr "Partizione %d: testina %d più grande del massimo %d\n"
 
-#: fdisk/fdisk.c:1283
+#: fdisk/fdisk.c:1282
 #, c-format
 msgid "Partition %d: sector %d greater than maximum %d\n"
-msgstr ""
+msgstr "Partizione %d: settore %d più grande del massimo %d\n"
 
-#: fdisk/fdisk.c:1286
+#: fdisk/fdisk.c:1285
 #, c-format
 msgid "Partitions %d: cylinder %d greater than maximum %d\n"
-msgstr ""
+msgstr "Partizione %d: cilindro %d più grande del massimo %d\n"
 
-#: fdisk/fdisk.c:1290
+#: fdisk/fdisk.c:1289
 #, c-format
 msgid "Partition %d: previous sectors %d disagrees with total %d\n"
-msgstr ""
+msgstr "Partizione %d: dissenso dei settori precedenti %d con il totale %d\n"
 
-#: fdisk/fdisk.c:1320
+#: fdisk/fdisk.c:1319
 #, c-format
 msgid "Warning: bad start-of-data in partition %d\n"
-msgstr ""
+msgstr "Attenzione: inizio dati danneggiato nella partizione %d\n"
 
-#: fdisk/fdisk.c:1328
+#: fdisk/fdisk.c:1327
 #, c-format
 msgid "Warning: partition %d overlaps partition %d.\n"
-msgstr ""
+msgstr "Attenzione: la partizione %d si sovrappone alla partizione %d.\n"
 
-#: fdisk/fdisk.c:1346
+#: fdisk/fdisk.c:1345
 #, c-format
 msgid "Warning: partition %d is empty\n"
-msgstr ""
+msgstr "Attenzione: la partizione %d è vuota\n"
 
-#: fdisk/fdisk.c:1351
+#: fdisk/fdisk.c:1350
 #, c-format
 msgid "Logical partition %d not entirely in partition %d\n"
-msgstr ""
+msgstr "La partizione logica %d non è interamente nella partizione %d\n"
 
-#: fdisk/fdisk.c:1357
+#: fdisk/fdisk.c:1356
 #, c-format
 msgid "Total allocated sectors %d greater than the maximum %d\n"
-msgstr ""
+msgstr "Numero %d totale dei settori allocati superiore al massimo %d\n"
 
-#: fdisk/fdisk.c:1360
+#: fdisk/fdisk.c:1359
 #, c-format
 msgid "%d unallocated sectors\n"
-msgstr ""
+msgstr "%d settori non allocati\n"
 
-#: fdisk/fdisk.c:1372 fdisk/fdisksgilabel.c:684 fdisk/fdisksunlabel.c:479
+#: fdisk/fdisk.c:1371 fdisk/fdisksgilabel.c:684 fdisk/fdisksunlabel.c:479
 #, 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:1393 fdisk/fdiskbsdlabel.c:252 fdisk/fdisksgilabel.c:706
+#: fdisk/fdisk.c:1392 fdisk/fdiskbsdlabel.c:252 fdisk/fdisksgilabel.c:706
 #: fdisk/fdisksunlabel.c:494
 #, c-format
 msgid "First %s"
-msgstr ""
+msgstr "Primo %s"
 
-#: fdisk/fdisk.c:1408 fdisk/fdisksunlabel.c:519
+#: fdisk/fdisk.c:1407 fdisk/fdisksunlabel.c:519
 #, c-format
 msgid "Sector %d is already allocated\n"
-msgstr ""
+msgstr "Il settore %d è già allocato\n"
 
-#: fdisk/fdisk.c:1440
+#: fdisk/fdisk.c:1439
 msgid "No free sectors available\n"
-msgstr ""
+msgstr "Non ci sono settori liberi disponibili\n"
 
-#: fdisk/fdisk.c:1450 fdisk/fdiskbsdlabel.c:256 fdisk/fdisksunlabel.c:529
+#: fdisk/fdisk.c:1449 fdisk/fdiskbsdlabel.c:259 fdisk/fdisksunlabel.c:529
 #, c-format
 msgid "Last %s or +size or +sizeM or +sizeK"
-msgstr ""
+msgstr "Ultimo %s o +size o +sizeM o +sizeK "
 
-#: fdisk/fdisk.c:1480
+#: fdisk/fdisk.c:1479
 #, c-format
 msgid "Warning: partition %d has an odd number of sectors.\n"
-msgstr ""
+msgstr "Attenzione: la partizione %d ha un numero strano di settori.\n"
 
-#: fdisk/fdisk.c:1517 fdisk/fdiskbsdlabel.c:590
+#: fdisk/fdisk.c:1516 fdisk/fdiskbsdlabel.c:593
 msgid "The maximum number of partitions has been created\n"
-msgstr ""
+msgstr "È stato creato il numero massimo di partizioni\n"
 
-#: fdisk/fdisk.c:1527
+#: fdisk/fdisk.c:1526
 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:1531
+#: fdisk/fdisk.c:1530
 #, 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:1533
+#: fdisk/fdisk.c:1532
 msgid "l   logical (5 or over)"
-msgstr ""
+msgstr "l   logica (5 od oltre)"
 
-#: fdisk/fdisk.c:1533
-#, fuzzy
+#: fdisk/fdisk.c:1532
 msgid "e   extended"
-msgstr "Estesa"
+msgstr " e   estesa"
 
-#: fdisk/fdisk.c:1550
+#: fdisk/fdisk.c:1549
 #, c-format
 msgid "Invalid partition number for type `%c'\n"
-msgstr ""
+msgstr "Numero di partizioni non valido per il tipo `%c'\n"
 
-#: fdisk/fdisk.c:1582
+#: fdisk/fdisk.c:1581
 msgid ""
 "The partition table has been altered!\n"
 "\n"
 msgstr ""
+"La tabella delle partizioni è stata alterata!\n"
+"\n"
 
-#: fdisk/fdisk.c:1584
+#: fdisk/fdisk.c:1590
 msgid "Calling ioctl() to re-read partition table.\n"
-msgstr ""
-
-#: fdisk/fdisk.c:1601
-msgid "Syncing disks.\n"
-msgstr ""
+msgstr "Chiamata di ioctl() per rileggere la tabella delle partizioni.\n"
 
 #: fdisk/fdisk.c:1606
-#, fuzzy, c-format
+#, c-format
 msgid ""
 "Re-read table failed with error %d: %s.\n"
 "Reboot your system to ensure the partition table is updated.\n"
 msgstr ""
-"Riavviare il sistema per essere sicuri che la tabella delle partizioni sia\n"
-"stata aggiornata correttamente.\n"
+"Rilettura della tabella non riuscita con errore %d: %s.\n"
+"Riavviare il sistema per assicurarsi che la tabella delle partizioni sia "
+"aggiornata.\n"
 
 #: fdisk/fdisk.c:1612
-#, fuzzy
 msgid ""
 "\n"
 "WARNING: If you have created or modified any DOS 6.x\n"
@@ -2665,92 +2971,109 @@ msgid ""
 "information.\n"
 msgstr ""
 "\n"
-"ATTENZIONE: Se sono state create o modificate\n"
-"partizioni del DOS 6.x consultare il manuale di\n"
-"cfdisk per ulteriori informazioni.\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:1619
+msgid "Syncing disks.\n"
+msgstr "Sincronizzazione dei dischi in corso.\n"
 
-#: fdisk/fdisk.c:1643
-#, fuzzy, c-format
+#: fdisk/fdisk.c:1650
+#, c-format
 msgid "Device: %s\n"
-msgstr "Disk Drive: %s\n"
+msgstr "Dispositivo: %s\n"
 
-#: fdisk/fdisk.c:1658
+#: fdisk/fdisk.c:1665
 #, c-format
 msgid "Partition %d has no data area\n"
-msgstr ""
+msgstr "La partizione %d non ha area dati\n"
 
-#: fdisk/fdisk.c:1664
+#: fdisk/fdisk.c:1671
 msgid "New beginning of data"
-msgstr ""
+msgstr "Nuovo inizio dati"
 
-#: fdisk/fdisk.c:1678
+#: fdisk/fdisk.c:1685
 msgid "Expert command (m for help): "
-msgstr ""
+msgstr "Comando per esperti (m per richiamare la guida): "
 
-#: fdisk/fdisk.c:1689
-#, fuzzy
+#: fdisk/fdisk.c:1696
 msgid "Number of cylinders"
-msgstr "Inserire il numero di cilindri: "
+msgstr "Numero di cilindri"
 
-#: fdisk/fdisk.c:1710
-#, fuzzy
+#: fdisk/fdisk.c:1717
 msgid "Number of heads"
-msgstr "Inserire il numero di testine: "
+msgstr "Numero di testine"
 
-#: fdisk/fdisk.c:1735
-#, fuzzy
+#: fdisk/fdisk.c:1742
 msgid "Number of sectors"
-msgstr "Settori"
+msgstr "Numero di settori"
 
-#: fdisk/fdisk.c:1738
+#: fdisk/fdisk.c:1745
 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:1800
+#: fdisk/fdisk.c:1807
 #, c-format
 msgid "Disk %s doesn't contain a valid partition table\n"
-msgstr ""
+msgstr "Il disco %s non contiene una tabella delle partizioni valida\n"
 
-#: fdisk/fdisk.c:1814
+#: fdisk/fdisk.c:1821
 #, c-format
 msgid "Cannot open %s\n"
-msgstr ""
+msgstr "Impossibile aprire %s\n"
+
+#: fdisk/fdisk.c:1838
+#, c-format
+msgid "cannot open %s\n"
+msgstr "impossibile aprire %s\n"
 
-#: fdisk/fdisk.c:1879
+#: fdisk/fdisk.c:1911
 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:1882
+#: fdisk/fdisk.c:1914
 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:1940
+#: fdisk/fdisk.c:1973
 msgid "Command (m for help): "
-msgstr ""
+msgstr "Comando (m per richiamare la guida): "
 
-#: fdisk/fdisk.c:1954
+#: fdisk/fdisk.c:1987
 #, c-format
 msgid ""
 "\n"
 "The current boot file is: %s\n"
 msgstr ""
+"\n"
+"Il file d'avvio corrente è: %s\n"
 
-#: fdisk/fdisk.c:1956
+#: fdisk/fdisk.c:1989
 msgid "Please enter the name of the new boot file: "
-msgstr ""
+msgstr "Immettere il nome del nuovo file d'avvio:"
 
-#: fdisk/fdisk.c:1958
+#: fdisk/fdisk.c:1991
 msgid "Boot file unchanged\n"
-msgstr ""
+msgstr "File d'avvio immutato\n"
 
-#: fdisk/fdisk.c:2018
+#: fdisk/fdisk.c:2051
 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/fdiskaixlabel.c:29
 msgid ""
@@ -2767,6 +3090,19 @@ msgid ""
 "\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:97
 #, c-format
@@ -2774,363 +3110,359 @@ msgid ""
 "\n"
 "BSD label for device: %s\n"
 msgstr ""
+"\n"
+"Etichetta BSD per dispositivo: %s\n"
 
 #: fdisk/fdiskbsdlabel.c:106
-#, fuzzy
 msgid "   d   delete a BSD partition"
-msgstr "  d          Cancella la partizione corrente"
+msgstr "   d   eliminanazione di una partizione BSD"
 
 #: fdisk/fdiskbsdlabel.c:107
 msgid "   e   edit drive data"
-msgstr ""
+msgstr "   e   modifica dei dati dell'unità"
 
 #: fdisk/fdiskbsdlabel.c:108
 msgid "   i   install bootstrap"
-msgstr ""
+msgstr "   i   installazione di bootstrap"
 
 #: fdisk/fdiskbsdlabel.c:109
-#, fuzzy
 msgid "   l   list known filesystem types"
-msgstr "  t          Cambia il tipo di filesystem"
+msgstr "   l   elenco dei tipi di filesystem conosciuti"
 
 #: fdisk/fdiskbsdlabel.c:111
-#, fuzzy
 msgid "   n   add a new BSD partition"
-msgstr "Crea una nuova partizione primaria"
+msgstr "   n   aggiunta di una nuova partizione BSD"
 
 #: fdisk/fdiskbsdlabel.c:112
-#, fuzzy
 msgid "   p   print BSD partition table"
-msgstr "Stampa solo la tabella delle partizioni"
+msgstr "   p   stampa della tabella delle partizioni BSD"
 
 #: fdisk/fdiskbsdlabel.c:117
 msgid "   s   show complete disklabel"
-msgstr ""
+msgstr "   s   visualizzazione del disklabel completo"
 
 #: fdisk/fdiskbsdlabel.c:118
-#, fuzzy
 msgid "   t   change a partition's filesystem id"
-msgstr "  t          Cambia il tipo di filesystem"
+msgstr "   t   modifica dell'id del filesystem di una partizione"
 
 #: fdisk/fdiskbsdlabel.c:119
 msgid "   w   write disklabel to disk"
-msgstr ""
+msgstr "   w   scrittura del disklabel su disco"
 
 #: fdisk/fdiskbsdlabel.c:121
 msgid "   x   link BSD partition to non-BSD partition"
-msgstr ""
+msgstr "   x   collegamento della partizione BSD a una non-BSD"
 
 #: fdisk/fdiskbsdlabel.c:146
 #, c-format
 msgid "Partition %s%d has invalid starting sector 0.\n"
-msgstr ""
+msgstr "La partizione %s%d ha settore di inizio 0: dato non valido.\n"
 
 #: fdisk/fdiskbsdlabel.c:150
 #, c-format
 msgid "Reading disklabel of %s%d at sector %d.\n"
-msgstr ""
+msgstr "Lettura del disklabel di %s%d al settore %d.\n"
 
 #: fdisk/fdiskbsdlabel.c:159
 #, c-format
 msgid "There is no *BSD partition on %s.\n"
-msgstr ""
+msgstr "Non esiste partizione *BSD su %s.\n"
 
 #: fdisk/fdiskbsdlabel.c:174
 msgid "BSD disklabel command (m for help): "
-msgstr ""
+msgstr "Comando disklabel BSD (m per richiamare la guida): "
 
-#: fdisk/fdiskbsdlabel.c:286
+#: fdisk/fdiskbsdlabel.c:288
 #, c-format
 msgid "type: %s\n"
-msgstr ""
+msgstr "tipo: %s\n"
 
-#: fdisk/fdiskbsdlabel.c:288
+#: fdisk/fdiskbsdlabel.c:290
 #, c-format
 msgid "type: %d\n"
-msgstr ""
+msgstr "tipo: %d\n"
 
-#: fdisk/fdiskbsdlabel.c:289
-#, fuzzy, c-format
+#: fdisk/fdiskbsdlabel.c:291
+#, c-format
 msgid "disk: %.*s\n"
-msgstr "cfdisk %s"
+msgstr "disco: %.*s\n"
 
-#: fdisk/fdiskbsdlabel.c:290
+#: fdisk/fdiskbsdlabel.c:292
 #, c-format
 msgid "label: %.*s\n"
-msgstr ""
+msgstr "etichetta: %.*s\n"
 
-#: fdisk/fdiskbsdlabel.c:291
-#, fuzzy
+#: fdisk/fdiskbsdlabel.c:293
 msgid "flags:"
-msgstr "Flag"
+msgstr "flag:"
 
-#: fdisk/fdiskbsdlabel.c:293
+#: fdisk/fdiskbsdlabel.c:295
 msgid " removable"
-msgstr ""
+msgstr " rimovibile"
 
-#: fdisk/fdiskbsdlabel.c:295
+#: fdisk/fdiskbsdlabel.c:297
 msgid " ecc"
-msgstr ""
+msgstr " ecc"
 
-#: fdisk/fdiskbsdlabel.c:297
+#: fdisk/fdiskbsdlabel.c:299
 msgid " badsect"
-msgstr ""
+msgstr " badsect"
 
 #. On various machines the fields of *lp are short/int/long
 #. In order to avoid problems, we cast them all to long.
-#: fdisk/fdiskbsdlabel.c:301
-#, fuzzy, c-format
+#: fdisk/fdiskbsdlabel.c:303
+#, c-format
 msgid "bytes/sector: %ld\n"
-msgstr "Settore %d:\n"
+msgstr "byte/settore: %ld\n"
 
-#: fdisk/fdiskbsdlabel.c:302
-#, fuzzy, c-format
+#: fdisk/fdiskbsdlabel.c:304
+#, c-format
 msgid "sectors/track: %ld\n"
-msgstr "Settore %d:\n"
+msgstr "settori/traccia: %ld\n"
 
-#: fdisk/fdiskbsdlabel.c:303
+#: fdisk/fdiskbsdlabel.c:305
 #, c-format
 msgid "tracks/cylinder: %ld\n"
-msgstr ""
+msgstr "tracce/cilindro: %ld\n"
 
-#: fdisk/fdiskbsdlabel.c:304
+#: fdisk/fdiskbsdlabel.c:306
 #, c-format
 msgid "sectors/cylinder: %ld\n"
-msgstr ""
+msgstr "settori/cilindro: %ld\n"
 
-#: fdisk/fdiskbsdlabel.c:305
-#, fuzzy, c-format
+#: fdisk/fdiskbsdlabel.c:307
+#, c-format
 msgid "cylinders: %ld\n"
-msgstr "Cilindri"
+msgstr "cilindri: %ld\n"
 
-#: fdisk/fdiskbsdlabel.c:306
+#: fdisk/fdiskbsdlabel.c:308
 #, c-format
 msgid "rpm: %d\n"
-msgstr ""
+msgstr "rpm: %d\n"
 
-#: fdisk/fdiskbsdlabel.c:307
+#: fdisk/fdiskbsdlabel.c:309
 #, c-format
 msgid "interleave: %d\n"
-msgstr ""
+msgstr " interleave: %d\n"
 
-#: fdisk/fdiskbsdlabel.c:308
+#: fdisk/fdiskbsdlabel.c:310
 #, c-format
 msgid "trackskew: %d\n"
-msgstr ""
+msgstr "trackskew: %d\n"
 
-#: fdisk/fdiskbsdlabel.c:309
-#, fuzzy, c-format
+#: fdisk/fdiskbsdlabel.c:311
+#, c-format
 msgid "cylinderskew: %d\n"
-msgstr "Cilindri"
+msgstr "cylinderskew: %d\n"
 
-#: fdisk/fdiskbsdlabel.c:310
+#: fdisk/fdiskbsdlabel.c:312
 #, c-format
 msgid "headswitch: %ld\t\t# milliseconds\n"
-msgstr ""
+msgstr "headswitch: %ld\t\t# millisecondi\n"
 
-#: fdisk/fdiskbsdlabel.c:311
+#: fdisk/fdiskbsdlabel.c:313
 #, c-format
 msgid "track-to-track seek: %ld\t# milliseconds\n"
-msgstr ""
+msgstr "ricerca traccia-a-traccia: %ld\t# millisecondi\n"
 
-#: fdisk/fdiskbsdlabel.c:312
+#: fdisk/fdiskbsdlabel.c:314
 msgid "drivedata: "
-msgstr ""
+msgstr "datiunità:"
 
-#: fdisk/fdiskbsdlabel.c:321
-#, fuzzy, c-format
+#: fdisk/fdiskbsdlabel.c:323
+#, c-format
 msgid ""
 "\n"
 "%d partitions:\n"
-msgstr "Stampa la tabella delle partizioni:\n"
+msgstr ""
+"\n"
+"%d partizioni:\n"
 
-#: fdisk/fdiskbsdlabel.c:322
+#: fdisk/fdiskbsdlabel.c:324
 msgid "#        size   offset    fstype   [fsize bsize   cpg]\n"
-msgstr ""
+msgstr "#        size   offset    fstype   [fsize bsize   cpg]\n"
 
-#: fdisk/fdiskbsdlabel.c:378
-#, fuzzy, c-format
+#: fdisk/fdiskbsdlabel.c:380
+#, c-format
 msgid "Writing disklabel to %s%d.\n"
-msgstr "Tabella delle partizioni per %s\n"
+msgstr "Scrittura del disklabel su %s%d in corso.\n"
 
-#: fdisk/fdiskbsdlabel.c:381
-#, fuzzy, c-format
+#: fdisk/fdiskbsdlabel.c:383
+#, c-format
 msgid "Writing disklabel to %s.\n"
-msgstr "Tabella delle partizioni per %s\n"
+msgstr "Scrittura del disklabel su %s in corso.\n"
 
-#: fdisk/fdiskbsdlabel.c:392
+#: fdisk/fdiskbsdlabel.c:395
 #, c-format
 msgid "%s%d contains no disklabel.\n"
-msgstr ""
+msgstr "%s%d non contiene disklabel.\n"
 
-#: fdisk/fdiskbsdlabel.c:395
+#: fdisk/fdiskbsdlabel.c:398
 #, c-format
 msgid "%s contains no disklabel.\n"
-msgstr ""
+msgstr "%s non contiene disklabel.\n"
 
-#: fdisk/fdiskbsdlabel.c:399
+#: fdisk/fdiskbsdlabel.c:402
 msgid "Do you want to create a disklabel? (y/n) "
-msgstr ""
+msgstr "Creare un disklabel? (s/n)"
 
-#: fdisk/fdiskbsdlabel.c:438
+#: fdisk/fdiskbsdlabel.c:441
 msgid "bytes/sector"
-msgstr ""
+msgstr "byte/settore"
 
-#: fdisk/fdiskbsdlabel.c:439
-#, fuzzy
+#: fdisk/fdiskbsdlabel.c:442
 msgid "sectors/track"
-msgstr "Settori"
+msgstr "settori/traccia"
 
-#: fdisk/fdiskbsdlabel.c:440
+#: fdisk/fdiskbsdlabel.c:443
 msgid "tracks/cylinder"
-msgstr ""
+msgstr "tracce/cilindro"
 
-#: fdisk/fdiskbsdlabel.c:448
+#: fdisk/fdiskbsdlabel.c:451
 msgid "sectors/cylinder"
-msgstr ""
+msgstr "settori/cilindro"
 
-#: fdisk/fdiskbsdlabel.c:452
+#: fdisk/fdiskbsdlabel.c:455
 msgid "Must be <= sectors/track * tracks/cylinder (default).\n"
-msgstr ""
+msgstr " Deve essere <= settori/traccia * tracce/cilindro (predefinito).\n"
 
-#: fdisk/fdiskbsdlabel.c:454
+#: fdisk/fdiskbsdlabel.c:457
 msgid "rpm"
-msgstr ""
+msgstr "rpm"
 
-#: fdisk/fdiskbsdlabel.c:455
+#: fdisk/fdiskbsdlabel.c:458
 msgid "interleave"
-msgstr ""
+msgstr "interleave"
 
-#: fdisk/fdiskbsdlabel.c:456
+#: fdisk/fdiskbsdlabel.c:459
 msgid "trackskew"
-msgstr ""
+msgstr "trackskew"
 
-#: fdisk/fdiskbsdlabel.c:457
-#, fuzzy
+#: fdisk/fdiskbsdlabel.c:460
 msgid "cylinderskew"
-msgstr "Cilindri"
+msgstr "cylinderskew"
 
-#: fdisk/fdiskbsdlabel.c:458
+#: fdisk/fdiskbsdlabel.c:461
 msgid "headswitch"
-msgstr ""
+msgstr "headswitch"
 
-#: fdisk/fdiskbsdlabel.c:459
+#: fdisk/fdiskbsdlabel.c:462
 msgid "track-to-track seek"
-msgstr ""
+msgstr "ricerca traccia-a-traccia"
 
-#: fdisk/fdiskbsdlabel.c:500
+#: fdisk/fdiskbsdlabel.c:503
 #, c-format
 msgid "Bootstrap: %sboot -> boot%s (%s): "
-msgstr ""
+msgstr "Bootstrap: %sboot -> boot%s (%s): "
 
-#: fdisk/fdiskbsdlabel.c:526
+#: fdisk/fdiskbsdlabel.c:529
 msgid "Bootstrap overlaps with disk label!\n"
-msgstr ""
+msgstr "Sovrapposizione del bootstrap con il disklabel!\n"
 
-#: fdisk/fdiskbsdlabel.c:547
+#: fdisk/fdiskbsdlabel.c:550
 #, c-format
 msgid "Bootstrap installed on %s%d.\n"
-msgstr ""
+msgstr "Bootstrap installato su %s%d.\n"
 
-#: fdisk/fdiskbsdlabel.c:549
+#: fdisk/fdiskbsdlabel.c:552
 #, c-format
 msgid "Bootstrap installed on %s.\n"
-msgstr ""
+msgstr "Bootstrap installato su %s.\n"
 
-#: fdisk/fdiskbsdlabel.c:570
+#: fdisk/fdiskbsdlabel.c:573
 #, c-format
 msgid "Partition (a-%c): "
-msgstr ""
+msgstr "Partizione (a-%c): "
 
-#: fdisk/fdiskbsdlabel.c:601
+#: fdisk/fdiskbsdlabel.c:604
 msgid "This partition already exists.\n"
-msgstr ""
+msgstr "Questa partizione esiste già.\n"
 
-#: fdisk/fdiskbsdlabel.c:723
+#: fdisk/fdiskbsdlabel.c:726
 #, c-format
 msgid "Warning: too many partitions (%d, maximum is %d).\n"
-msgstr ""
+msgstr "Attenzione: troppe partizioni (%d, il massimo è %d).\n"
 
-#: fdisk/fdiskbsdlabel.c:769
+#: fdisk/fdiskbsdlabel.c:772
 msgid ""
 "\n"
 "Syncing disks.\n"
 msgstr ""
+"\n"
+"Sincronizzazione dei dischi.\n"
 
 #: fdisk/fdisksgilabel.c:56
 msgid "SGI volhdr"
-msgstr ""
+msgstr "SGI volhdr"
 
 #: fdisk/fdisksgilabel.c:57
 msgid "SGI trkrepl"
-msgstr ""
+msgstr "SGI trkrepl"
 
 #: fdisk/fdisksgilabel.c:58
 msgid "SGI secrepl"
-msgstr ""
+msgstr "SGI secrepl"
 
 #: fdisk/fdisksgilabel.c:59
 msgid "SGI raw"
-msgstr ""
+msgstr "SGI raw"
 
 #: fdisk/fdisksgilabel.c:60
 msgid "SGI bsd"
-msgstr ""
+msgstr "SGI bsd"
 
 #: fdisk/fdisksgilabel.c:61
 msgid "SGI sysv"
-msgstr ""
+msgstr "SGI sysv"
 
 #: fdisk/fdisksgilabel.c:62
 msgid "SGI volume"
-msgstr ""
+msgstr "SGI volume"
 
 #: fdisk/fdisksgilabel.c:63
-#, fuzzy
 msgid "SGI efs"
-msgstr "BSDI fs"
+msgstr "SGI efs"
 
 #: fdisk/fdisksgilabel.c:64
 msgid "SGI lvol"
-msgstr ""
+msgstr "SGI lvol"
 
 #: fdisk/fdisksgilabel.c:65
 msgid "SGI rlvol"
-msgstr ""
+msgstr "SGI rlvol"
 
 #: fdisk/fdisksgilabel.c:66
-#, fuzzy
 msgid "SGI xfs"
-msgstr "BSDI fs"
+msgstr "SGI xfs"
 
 #: fdisk/fdisksgilabel.c:67
 msgid "SGI xlvol"
-msgstr ""
+msgstr "SGI xlvol"
 
 #: fdisk/fdisksgilabel.c:68
 msgid "SGI rxlvol"
-msgstr ""
+msgstr "SGI rxlvol"
 
 #. Minix 1.4b and later
 #: fdisk/fdisksgilabel.c:69 fdisk/fdisksunlabel.c:52 fdisk/i386_sys_types.c:55
-#, fuzzy
 msgid "Linux swap"
-msgstr "Linux Swap"
+msgstr "Linux swap"
 
 #: fdisk/fdisksgilabel.c:70 fdisk/fdisksunlabel.c:53
-#, fuzzy
 msgid "Linux native"
-msgstr "Linux Swap"
+msgstr "Linux nativo"
 
 #: fdisk/fdisksgilabel.c:143
 msgid ""
 "According to MIPS Computer Systems, Inc the Label must not contain more than "
 "512 bytes\n"
 msgstr ""
+"Secondo la ditta MIPS Computer Systems, Inc l'etichetta non deve contenere "
+"più di512 byte\n"
 
 #: fdisk/fdisksgilabel.c:162
 msgid "Detected sgi disklabel with wrong checksum.\n"
-msgstr ""
+msgstr "Rilevato un disklabel sgi con checksum errato.\n"
 
 #: fdisk/fdisksgilabel.c:186
 #, c-format
@@ -3143,6 +3475,13 @@ msgid ""
 "Units = %s of %d * 512 bytes\n"
 "\n"
 msgstr ""
+"\n"
+"Disco %s (disk label SGI): %d testine, %d settori\n"
+"%d cilindri, %d cilindri fisici\n"
+"%d sett/cil supplementari, interleave %d:1\n"
+"%s\n"
+"Unità = %s di %d * 512 byte\n"
+"\n"
 
 #: fdisk/fdisksgilabel.c:199
 #, c-format
@@ -3152,6 +3491,10 @@ msgid ""
 "Units = %s of %d * 512 bytes\n"
 "\n"
 msgstr ""
+"\n"
+"Disco %s (disk label SGI): %d testine, %d settori, %d cilindri\n"
+"Unità = %s di %d * 512 byte\n"
+"\n"
 
 #: fdisk/fdisksgilabel.c:205
 #, c-format
@@ -3159,6 +3502,8 @@ msgid ""
 "----- partitions -----\n"
 "%*s  Info      Start       End   Sectors  Id  System\n"
 msgstr ""
+"----- partizioni -----\n"
+"%*s  Info      Inizio       Fine   Settori  Id  Sistema\n"
 
 #: fdisk/fdisksgilabel.c:227
 #, c-format
@@ -3167,11 +3512,14 @@ msgid ""
 "Bootfile: %s\n"
 "----- directory entries -----\n"
 msgstr ""
+"----- Infoavvio -----\n"
+"File di avvio: %s\n"
+"----- Voci directory -----\n"
 
 #: fdisk/fdisksgilabel.c:237
 #, c-format
 msgid "%2d: %-10s sector%5u size%8u\n"
-msgstr ""
+msgstr "%2d: %-10s settore%5u dimensione%8u\n"
 
 #: fdisk/fdisksgilabel.c:298
 msgid ""
@@ -3180,18 +3528,26 @@ msgid ""
 "\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:305
 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:310
 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:315
 msgid ""
@@ -3199,6 +3555,11 @@ msgid ""
 "\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:343
 #, c-format
@@ -3206,19 +3567,20 @@ msgid ""
 "\n"
 "\tBootfile is changed to \"%s\".\n"
 msgstr ""
+"\n"
+"\tFile di avvio cambiato in \"%s\".\n"
 
 #: fdisk/fdisksgilabel.c:448
 msgid "More than one entire disk entry present.\n"
-msgstr ""
+msgstr "Presente più di una voce disco intero.\n"
 
 #: fdisk/fdisksgilabel.c:456 fdisk/fdisksunlabel.c:455
-#, fuzzy
 msgid "No partitions defined\n"
-msgstr "\t%s [opzioni] dispositivo\n"
+msgstr "Nessuna partizione definita\n"
 
 #: fdisk/fdisksgilabel.c:463
 msgid "IRIX likes when Partition 11 covers the entire disk.\n"
-msgstr ""
+msgstr "IRIX gradisce che la partizione 11 comprenda l'intero disco.\n"
 
 #: fdisk/fdisksgilabel.c:465
 #, c-format
@@ -3226,6 +3588,8 @@ 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:469
 #, c-format
@@ -3233,56 +3597,64 @@ 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:476
 msgid "One Partition (#11) should cover the entire disk.\n"
-msgstr ""
+msgstr "Una partizione (#11) dovrebbe comprendere il disco intero.\n"
 
 #: fdisk/fdisksgilabel.c:488
 #, c-format
 msgid "Partition %d does not start on cylinder boundary.\n"
-msgstr ""
+msgstr "La partizione %d non inizia al limite del cilindro.\n"
 
 #: fdisk/fdisksgilabel.c:495
 #, c-format
 msgid "Partition %d does not end on cylinder boundary.\n"
-msgstr ""
+msgstr "La partizione %d non termina al limite del cilindro.\n"
 
 #: fdisk/fdisksgilabel.c:503
 #, c-format
 msgid "The Partition %d and %d overlap by %d sectors.\n"
-msgstr ""
+msgstr "Le partizioni %d e %d si sovrappongono di %d settori.\n"
 
 #: fdisk/fdisksgilabel.c:512 fdisk/fdisksgilabel.c:532
 #, c-format
 msgid "Unused gap of %8d sectors - sectors %8d-%d\n"
-msgstr ""
+msgstr "Intervallo di %8d settori non utilizzato - settori %8d-%d\n"
 
 #: fdisk/fdisksgilabel.c:545
 msgid ""
 "\n"
 "The boot partition does not exist.\n"
 msgstr ""
+"\n"
+"la partizione di avvio non esiste.\n"
 
 #: fdisk/fdisksgilabel.c:549
 msgid ""
 "\n"
 "The swap partition does not exist.\n"
 msgstr ""
+"\n"
+"La partizione swap non esiste.\n"
 
 #: fdisk/fdisksgilabel.c:554
 msgid ""
 "\n"
 "The swap partition has no swap type.\n"
 msgstr ""
+"\n"
+"La partizione swap non ha tipo swap.\n"
 
 #: fdisk/fdisksgilabel.c:558
 msgid "\tYou have chosen an unusual boot file name.\n"
-msgstr ""
+msgstr "\tSi è selezionato un nome file di avvio non comune.\n"
 
 #: fdisk/fdisksgilabel.c:569
 msgid "Sorry You may change the Tag of non-empty partitions.\n"
-msgstr ""
+msgstr "È possibile modificare solamente il tag delle partizioni non vuote.\n"
 
 #: fdisk/fdisksgilabel.c:576
 msgid ""
@@ -3292,38 +3664,54 @@ msgid ""
 "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"
 
 #. rebuild freelist
 #: fdisk/fdisksgilabel.c:621
 msgid "Do You know, You got a partition overlap on the disk?\n"
 msgstr ""
+"Si è a conoscenza del fatto che sul disco esiste una sovrapposizione di "
+"partizioni?\n"
 
 #: fdisk/fdisksgilabel.c:691
 msgid "Attempting to generate entire disk entry automatically.\n"
 msgstr ""
+"Tentativo di generare automaticamente l'immissione dell'intero disco in "
+"corso.\n"
 
 #: fdisk/fdisksgilabel.c:698
 msgid "The entire disk is already covered with partitions.\n"
-msgstr ""
+msgstr "L'intero disco è già coperto da partizioni.\n"
 
 #: fdisk/fdisksgilabel.c:703
 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:712 fdisk/fdisksgilabel.c:741
 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:728
 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:733
 #, c-format
 msgid " Last %s"
-msgstr ""
+msgstr " Ultimo %s"
 
 #: fdisk/fdisksgilabel.c:756
 msgid ""
@@ -3332,49 +3720,52 @@ msgid ""
 "content will be unrecoverable lost.\n"
 "\n"
 msgstr ""
+"Creazione di una nuova disklabel SGI. Le modifiche rimarranno memorizzate\n"
+"solamente fino a quando si decide di scriverle. Dopodiché, ovviamente, il\n"
+"contenuto precedente sarà definitivamente perso.\n"
+"\n"
 
 #: fdisk/fdisksgilabel.c:784
 #, c-format
 msgid "Trying to keep parameters of partition %d.\n"
-msgstr ""
+msgstr "Tentativo di mantenere i parametri della partizione %d in corso.\n"
 
 #: fdisk/fdisksgilabel.c:786
 #, c-format
 msgid "ID=%02x\tSTART=%d\tLENGTH=%d\n"
-msgstr ""
+msgstr "ID=%02x\tINIZIO=%d\tLUNGHEZZA=%d\n"
 
 #: fdisk/fdisksunlabel.c:43 fdisk/i386_sys_types.c:6
 msgid "Empty"
-msgstr ""
+msgstr "Vuoto"
 
 #: fdisk/fdisksunlabel.c:45
 msgid "SunOS root"
-msgstr ""
+msgstr "SunOS root"
 
 #: fdisk/fdisksunlabel.c:46
-#, fuzzy
 msgid "SunOS swap"
-msgstr "BSDI swap"
+msgstr "SunOS swap"
 
 #: fdisk/fdisksunlabel.c:47
 msgid "SunOS usr"
-msgstr ""
+msgstr "SunOS usr"
 
 #: fdisk/fdisksunlabel.c:48
 msgid "Whole disk"
-msgstr ""
+msgstr "Disco intero"
 
 #: fdisk/fdisksunlabel.c:49
 msgid "SunOS stand"
-msgstr ""
+msgstr "SunOS stand"
 
 #: fdisk/fdisksunlabel.c:50
 msgid "SunOS var"
-msgstr ""
+msgstr "SunOS var"
 
 #: fdisk/fdisksunlabel.c:51
 msgid "SunOS home"
-msgstr ""
+msgstr "SunOS home"
 
 #: fdisk/fdisksunlabel.c:122
 msgid ""
@@ -3383,11 +3774,15 @@ msgid ""
 "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:215
 #, c-format
 msgid "Autoconfigure found a %s%s%s\n"
-msgstr ""
+msgstr "L'autoconfigurazione ha trovato un %s%s%s\n"
 
 #: fdisk/fdisksunlabel.c:242
 msgid ""
@@ -3396,6 +3791,9 @@ msgid ""
 "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é, chiaramente, il\n"
+"contenuto precedente non sarà recuperabile.\n"
 
 #: fdisk/fdisksunlabel.c:253
 msgid ""
@@ -3403,79 +3801,81 @@ msgid ""
 "   ?   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)"
 
 #: fdisk/fdisksunlabel.c:263
 msgid "Select type (? for auto, 0 for custom): "
-msgstr ""
+msgstr "Selezione tipo (? per auto, 0 per custom): "
 
 #: fdisk/fdisksunlabel.c:275
 msgid "Autoconfigure failed.\n"
-msgstr ""
+msgstr "Autoconfigurazione non riuscita.\n"
 
 #: fdisk/fdisksunlabel.c:303
-#, fuzzy
 msgid "Sectors/track"
-msgstr "Settori"
+msgstr "Settori/traccia"
 
 #: fdisk/fdisksunlabel.c:310
-#, fuzzy
 msgid "Alternate cylinders"
-msgstr "Inserire il numero di cilindri: "
+msgstr "Cilindri alternativi"
 
 #: fdisk/fdisksunlabel.c:313
 msgid "Physical cylinders"
-msgstr ""
+msgstr "Cilindri fisici"
 
 #: fdisk/fdisksunlabel.c:316 fdisk/fdisksunlabel.c:681
 msgid "Rotation speed (rpm)"
-msgstr ""
+msgstr "Velocità di rotazione (rpm)"
 
 #: fdisk/fdisksunlabel.c:318 fdisk/fdisksunlabel.c:674
 msgid "Interleave factor"
-msgstr ""
+msgstr "Fattore di interleave"
 
 #: fdisk/fdisksunlabel.c:321 fdisk/fdisksunlabel.c:667
 msgid "Extra sectors per cylinder"
-msgstr ""
+msgstr "Settori supplementari per cilindro"
 
 #: fdisk/fdisksunlabel.c:334
 msgid "You may change all the disk params from the x menu"
-msgstr ""
+msgstr "È possibile modificare tutti i parametri disco dal menu x"
 
 #: fdisk/fdisksunlabel.c:337
 msgid "3,5\" floppy"
-msgstr ""
+msgstr "floppy da 3,5\""
 
 #: fdisk/fdisksunlabel.c:337
-#, fuzzy
 msgid "Linux custom"
-msgstr "Linux ext2"
+msgstr "Linux custom"
 
 #: fdisk/fdisksunlabel.c:418
 #, c-format
 msgid "Partition %d doesn't end on cylinder boundary\n"
-msgstr ""
+msgstr "La partizione %d non finisce al limite del cilindro\n"
 
 #: fdisk/fdisksunlabel.c:438
 #, c-format
 msgid "Partition %d overlaps with others in sectors %d-%d\n"
-msgstr ""
+msgstr "La partizione %d si sovrappone ad altre nei settori %d-%d\n"
 
 #: fdisk/fdisksunlabel.c:460
 #, c-format
 msgid "Unused gap - sectors 0-%d\n"
-msgstr ""
+msgstr "Intervallo inutilizzato - settori 0-%d\n"
 
 #: fdisk/fdisksunlabel.c:462 fdisk/fdisksunlabel.c:466
 #, c-format
 msgid "Unused gap - sectors %d-%d\n"
-msgstr ""
+msgstr "Intervallo inutilizzato - settori %d-%d\n"
 
 #: fdisk/fdisksunlabel.c:489
 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:547
 #, c-format
@@ -3484,6 +3884,9 @@ msgid ""
 "%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:567
 #, c-format
@@ -3491,6 +3894,9 @@ 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:580
 msgid ""
@@ -3500,6 +3906,13 @@ msgid ""
 "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:611
 #, c-format
@@ -3512,6 +3925,13 @@ msgid ""
 "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:625
 #, c-format
@@ -3521,26 +3941,27 @@ msgid ""
 "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:630
 #, c-format
 msgid "%*s Flag    Start       End    Blocks   Id  System\n"
-msgstr ""
+msgstr "%*s Flag    Inizio       Fine    Blocchi   Id  Sistema\n"
 
 #: fdisk/fdisksunlabel.c:655
-#, fuzzy
 msgid "Number of alternate cylinders"
-msgstr "Inserire il numero di cilindri: "
+msgstr "Numero di cilindri alternativi"
 
 #: fdisk/fdisksunlabel.c:688
-#, fuzzy
 msgid "Number of physical cylinders"
-msgstr "Inserire il numero di cilindri: "
+msgstr "Numero dei cilindri fisici"
 
 #: fdisk/i386_sys_types.c:7
-#, fuzzy
 msgid "FAT12"
-msgstr "DOS FAT12"
+msgstr "FAT12"
 
 #: fdisk/i386_sys_types.c:8
 msgid "XENIX root"
@@ -3552,23 +3973,21 @@ msgstr "XENIX usr"
 
 #: fdisk/i386_sys_types.c:10
 msgid "FAT16 <32M"
-msgstr ""
+msgstr "FAT16 <32M"
 
 #: fdisk/i386_sys_types.c:11
 msgid "Extended"
-msgstr "Estesa"
+msgstr "Esteso"
 
 #. DOS 3.3+ extended partition
 #: fdisk/i386_sys_types.c:12
-#, fuzzy
 msgid "FAT16"
-msgstr "DOS FAT16"
+msgstr "FAT16"
 
 #. DOS 16-bit >=32M
 #: fdisk/i386_sys_types.c:13
-#, fuzzy
 msgid "HPFS/NTFS"
-msgstr "OS/2 HPFS o NTFS"
+msgstr "HPFS/NTFS"
 
 #. OS/2 IFS, eg, HPFS or NTFS or QNX
 #: fdisk/i386_sys_types.c:14
@@ -3578,7 +3997,7 @@ msgstr "AIX"
 #. AIX boot (AIX -- PS/2 port) or SplitDrive
 #: fdisk/i386_sys_types.c:15
 msgid "AIX bootable"
-msgstr "AIX bootabile"
+msgstr "AIX avviabile"
 
 #. AIX data or Coherent
 #: fdisk/i386_sys_types.c:16
@@ -3600,97 +4019,88 @@ msgid "Win95 FAT16 (LBA)"
 msgstr "Win95 FAT16 (LBA)"
 
 #: fdisk/i386_sys_types.c:20
-#, fuzzy
 msgid "Win95 Ext'd (LBA)"
-msgstr "Win95 Estesa (LBA)"
+msgstr "Win95 Ext'd (LBA)"
 
 #: fdisk/i386_sys_types.c:21
 msgid "OPUS"
-msgstr ""
+msgstr "OPUS"
 
 #: fdisk/i386_sys_types.c:22
-#, fuzzy
 msgid "Hidden FAT12"
-msgstr "DOS FAT12 nascosta"
+msgstr "FAT12 nascosto"
 
 #: fdisk/i386_sys_types.c:23
 msgid "Compaq diagnostics"
-msgstr ""
+msgstr "Diagnostica Compaq"
 
 #: fdisk/i386_sys_types.c:24
-#, fuzzy
 msgid "Hidden FAT16 <32M"
-msgstr "DOS FAT12 nascosta"
+msgstr "FAT16 nascosto <32M"
 
 #: fdisk/i386_sys_types.c:25
-#, fuzzy
 msgid "Hidden FAT16"
-msgstr "DOS FAT16 nascosta"
+msgstr "FAT16 nascosto"
 
 #: fdisk/i386_sys_types.c:26
-#, fuzzy
 msgid "Hidden HPFS/NTFS"
-msgstr "OS/2 HPFS o NTFS nascosta"
+msgstr "HPFS/NTFS nascosto"
 
 #: fdisk/i386_sys_types.c:27
 msgid "AST Windows swapfile"
-msgstr ""
+msgstr "AST Windows swapfile"
 
 #: fdisk/i386_sys_types.c:28
-#, fuzzy
 msgid "Hidden Win95 FAT32"
-msgstr "Win95 FAT32"
+msgstr "Win95 FAT32 nascosto"
 
 #: fdisk/i386_sys_types.c:29
-#, fuzzy
 msgid "Hidden Win95 FAT32 (LBA)"
-msgstr "Win95 FAT32 (LBA)"
+msgstr "Win95 FAT32 (LBA) nascosto"
 
 #: fdisk/i386_sys_types.c:30
-#, fuzzy
 msgid "Hidden Win95 FAT16 (LBA)"
-msgstr "Win95 FAT16 (LBA)"
+msgstr "Win95 FAT16 (LBA) nascosto"
 
 #: fdisk/i386_sys_types.c:31
 msgid "NEC DOS"
-msgstr ""
+msgstr "NEC DOS"
 
 #: fdisk/i386_sys_types.c:32
 msgid "PartitionMagic recovery"
-msgstr ""
+msgstr "Recupero PartitionMagic"
 
 #: fdisk/i386_sys_types.c:33
 msgid "Venix 80286"
 msgstr "Venix 80286"
 
 #: fdisk/i386_sys_types.c:34
-#, fuzzy
 msgid "PPC PReP Boot"
-msgstr "PPC PReP boot"
+msgstr "PPC PReP Boot"
 
 #: fdisk/i386_sys_types.c:35
 msgid "SFS"
-msgstr ""
+msgstr "SFS"
 
 #: fdisk/i386_sys_types.c:36
 msgid "QNX4.x"
-msgstr ""
+msgstr "QNX4.x"
 
 #: fdisk/i386_sys_types.c:37
 msgid "QNX4.x 2nd part"
-msgstr ""
+msgstr "QNX4.x 2a partiz."
 
 #: fdisk/i386_sys_types.c:38
 msgid "QNX4.x 3rd part"
-msgstr ""
+msgstr "QNX4.x 3rd partiz."
 
 #: fdisk/i386_sys_types.c:39
 msgid "OnTrack DM"
-msgstr ""
+msgstr "OnTrack DM"
 
 #: fdisk/i386_sys_types.c:40
 msgid "OnTrack DM6 Aux1"
-msgstr ""
+msgstr "OnTrack DM6 Aux1"
 
 #. (or Novell)
 #: fdisk/i386_sys_types.c:41
@@ -3700,35 +4110,33 @@ msgstr "CP/M"
 #. CP/M or Microport SysV/AT
 #: fdisk/i386_sys_types.c:42
 msgid "OnTrack DM6 Aux3"
-msgstr ""
+msgstr "OnTrack DM6 Aux3"
 
 #: fdisk/i386_sys_types.c:43
 msgid "OnTrackDM6"
-msgstr ""
+msgstr "OnTrackDM6"
 
 #: fdisk/i386_sys_types.c:44
 msgid "EZ-Drive"
-msgstr ""
+msgstr " EZ-Drive"
 
 #: fdisk/i386_sys_types.c:45
 msgid "Golden Bow"
-msgstr ""
+msgstr "Golden Bow"
 
 #: fdisk/i386_sys_types.c:46
 msgid "Priam Edisk"
-msgstr ""
+msgstr "Priam Edisk"
 
 #. DOS R/O or SpeedStor
 #: fdisk/i386_sys_types.c:47 fdisk/i386_sys_types.c:76
 #: fdisk/i386_sys_types.c:78 fdisk/i386_sys_types.c:79
-#, fuzzy
 msgid "SpeedStor"
-msgstr "Settori"
+msgstr " SpeedStor"
 
 #: fdisk/i386_sys_types.c:48
-#, fuzzy
 msgid "GNU HURD or SysV"
-msgstr "GNU HURD"
+msgstr "GNU HURD o SysV"
 
 #. GNU HURD or Mach or Sys V/386 (such as ISC UNIX)
 #: fdisk/i386_sys_types.c:49
@@ -3741,7 +4149,7 @@ msgstr "Novell Netware 386"
 
 #: fdisk/i386_sys_types.c:51
 msgid "DiskSecure Multi-Boot"
-msgstr ""
+msgstr "DiskSecure Multi-Boot"
 
 #: fdisk/i386_sys_types.c:52
 msgid "PC/IX"
@@ -3749,24 +4157,24 @@ msgstr "PC/IX"
 
 #: fdisk/i386_sys_types.c:53
 msgid "Old Minix"
-msgstr ""
+msgstr "Vecchio Minix"
 
 #. Minix 1.4a and earlier
 #: fdisk/i386_sys_types.c:54
 msgid "Minix / old Linux"
-msgstr ""
+msgstr "Minix / vecchio Linux"
 
 #: fdisk/i386_sys_types.c:57
 msgid "OS/2 hidden C: drive"
-msgstr ""
+msgstr "C nascosto OS/2: drive"
 
 #: fdisk/i386_sys_types.c:58
 msgid "Linux extended"
-msgstr "Estesa linux"
+msgstr "Linux esteso"
 
 #: fdisk/i386_sys_types.c:59 fdisk/i386_sys_types.c:60
 msgid "NTFS volume set"
-msgstr ""
+msgstr "set volume NTFS"
 
 #: fdisk/i386_sys_types.c:61
 msgid "Amoeba"
@@ -3779,7 +4187,7 @@ msgstr "Amoeba BBT"
 #. (bad block table)
 #: fdisk/i386_sys_types.c:63
 msgid "IBM Thinkpad hibernation"
-msgstr ""
+msgstr "Ibernazione IBM Thinkpad"
 
 #: fdisk/i386_sys_types.c:64
 msgid "BSD/386"
@@ -3790,9 +4198,8 @@ msgid "OpenBSD"
 msgstr "OpenBSD"
 
 #: fdisk/i386_sys_types.c:66
-#, fuzzy
 msgid "NeXTSTEP"
-msgstr "NEXTSTEP"
+msgstr "NeXTSTEP"
 
 #: fdisk/i386_sys_types.c:67
 msgid "BSDI fs"
@@ -3803,18 +4210,16 @@ msgid "BSDI swap"
 msgstr "BSDI swap"
 
 #: fdisk/i386_sys_types.c:69
-#, fuzzy
 msgid "DRDOS/sec (FAT-12)"
-msgstr "DOS FAT12"
+msgstr "DRDOS/sec (FAT-12)"
 
 #: fdisk/i386_sys_types.c:70
 msgid "DRDOS/sec (FAT-16 < 32M)"
-msgstr ""
+msgstr "DRDOS/sec (FAT-16 < 32M)"
 
 #: fdisk/i386_sys_types.c:71
-#, fuzzy
 msgid "DRDOS/sec (FAT-16)"
-msgstr "DOS FAT16"
+msgstr "DRDOS/sec (FAT-16)"
 
 #: fdisk/i386_sys_types.c:72
 msgid "Syrinx"
@@ -3822,12 +4227,12 @@ msgstr "Syrinx"
 
 #: fdisk/i386_sys_types.c:73
 msgid "CP/M / CTOS / ..."
-msgstr ""
+msgstr "CP/M / CTOS / ..."
 
 #. CP/M or Concurrent CP/M or Concurrent DOS or CTOS
 #: fdisk/i386_sys_types.c:74
 msgid "DOS access"
-msgstr "DOS access"
+msgstr "accesso DOS"
 
 #. DOS access or SpeedStor 12-bit FAT extended partition
 #: fdisk/i386_sys_types.c:75
@@ -3842,18 +4247,18 @@ msgstr "BeOS fs"
 #. SpeedStor large partition
 #: fdisk/i386_sys_types.c:80
 msgid "DOS secondary"
-msgstr "DOS secondary"
+msgstr "DOS secondario"
 
 #. DOS 3.3+ secondary
 #: fdisk/i386_sys_types.c:81
 msgid "Linux raid autodetect"
-msgstr ""
+msgstr "Autorilevamento raid di Linux"
 
 #. New (2.2.x) raid partition with autodetect
 #. using persistent superblock
 #: fdisk/i386_sys_types.c:83
 msgid "LANstep"
-msgstr ""
+msgstr "LANstep"
 
 #. SpeedStor >1024 cyl. or LANstep
 #: fdisk/i386_sys_types.c:84
@@ -3863,74 +4268,76 @@ msgstr "BBT"
 #: fdisk/sfdisk.c:147
 #, c-format
 msgid "seek error on %s - cannot seek to %lu\n"
-msgstr ""
+msgstr "errore di ricerca su %s - impossibile ricercare a %lu\n"
 
 #: fdisk/sfdisk.c:152
 #, c-format
 msgid "seek error: wanted 0x%08x%08x, got 0x%08x%08x\n"
-msgstr ""
+msgstr "errore di ricerca: si voleva 0x%08x%08x, si è ottenuto 0x%08x%08x\n"
 
 #: fdisk/sfdisk.c:198
 msgid "out of memory - giving up\n"
-msgstr ""
+msgstr "memoria insufficiente - termina\n"
 
 #: fdisk/sfdisk.c:202 fdisk/sfdisk.c:285
 #, c-format
 msgid "read error on %s - cannot read sector %lu\n"
-msgstr ""
+msgstr "errore in lettura su %s - impossibile leggere il settore %lu\n"
 
 #: fdisk/sfdisk.c:218
 #, c-format
 msgid "ERROR: sector %lu does not have an msdos signature\n"
-msgstr ""
+msgstr "ERRORE: il settore %lu non ha una firma msdos\n"
 
 #: fdisk/sfdisk.c:235
 #, c-format
 msgid "write error on %s - cannot write sector %lu\n"
-msgstr ""
+msgstr "errore di scrittura su %s - impossibile scrivere il settore %lu\n"
 
 #: fdisk/sfdisk.c:273
 #, c-format
 msgid "cannot open partition sector save file (%s)\n"
-msgstr ""
+msgstr "impossibile aprire il file di salvataggio settore partizione (%s)\n"
 
 #: fdisk/sfdisk.c:291
 #, c-format
 msgid "write error on %s\n"
-msgstr ""
+msgstr "errore di scrittura su %s\n"
 
 #: fdisk/sfdisk.c:309
 #, c-format
 msgid "cannot stat partition restore file (%s)\n"
-msgstr ""
+msgstr "impossibile eseguire stat del file di ripristino partizione (%s)\n"
 
 #: fdisk/sfdisk.c:314
 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:318
 msgid "out of memory?\n"
-msgstr ""
+msgstr "memoria insufficiente?\n"
 
 #: fdisk/sfdisk.c:324
 #, c-format
 msgid "cannot open partition restore file (%s)\n"
-msgstr ""
+msgstr "impossibile aprire il file di ripristino partizione (%s)\n"
 
 #: fdisk/sfdisk.c:330
 #, c-format
 msgid "error reading %s\n"
-msgstr ""
+msgstr "errore durante la lettura di %s\n"
 
 #: fdisk/sfdisk.c:337
 #, c-format
 msgid "cannot open device %s for writing\n"
-msgstr ""
+msgstr "impossibile aprire il dispositivo %s per scrivere\n"
 
 #: fdisk/sfdisk.c:349
 #, c-format
 msgid "error writing sector %lu on %s\n"
-msgstr ""
+msgstr "errore durante la scrittura del settore %lu su %s\n"
 
 #: fdisk/sfdisk.c:415
 #, c-format
@@ -3939,26 +4346,29 @@ msgid ""
 "the entire disk. Using fdisk on it is probably meaningless.\n"
 "[Use the --force option if you really want this]\n"
 msgstr ""
+"Attenzione: inizio=%d - 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:421
 #, c-format
 msgid "Warning: HDIO_GETGEO says that there are %d heads\n"
-msgstr ""
+msgstr "Attenzione: HDIO_GETGEO dice che vi sono %d testine\n"
 
 #: fdisk/sfdisk.c:424
 #, c-format
 msgid "Warning: HDIO_GETGEO says that there are %d sectors\n"
-msgstr ""
+msgstr "Attenzione: HDIO_GETGEO dice che vi sono %d testine\n"
 
 #: fdisk/sfdisk.c:427
 #, c-format
 msgid "Warning: HDIO_GETGEO says that there are %d cylinders\n"
-msgstr ""
+msgstr "Attenzione: HDIO_GETGEO dice che vi sono %d cilindri\n"
 
 #: fdisk/sfdisk.c:431
-#, fuzzy, c-format
+#, c-format
 msgid "Disk %s: cannot get geometry\n"
-msgstr "Basta cambiamenti di geometria"
+msgstr "Disco %s: impossibile ottenere la geometria\n"
 
 #: fdisk/sfdisk.c:433
 #, c-format
@@ -3966,6 +4376,10 @@ msgid ""
 "Warning: unlikely number of sectors (%d) - 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 (%d) - solitamente sono al massimo "
+"63\n"
+"Questo creerà problemi con tutto il software che utilizza l'indirizzamento "
+"C/H/S.\n"
 
 #: fdisk/sfdisk.c:437
 #, c-format
@@ -3973,18 +4387,24 @@ 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:517
 #, c-format
 msgid ""
 "%s of partition %s has impossible value for head: %d (should be in 0-%d)\n"
 msgstr ""
+"%s della partizione %s ha un valore impossibile per la testina: %d "
+"(dovrebbeessere compreso nell'intervallo 0-%d)\n"
 
 #: fdisk/sfdisk.c:522
 #, c-format
 msgid ""
 "%s of partition %s has impossible value for sector: %d (should be in 1-%d)\n"
 msgstr ""
+"%s della partizione %s ha un valore impossibile per il settore: %d "
+"(dovrebbeessere compreso nell'intervallo 1-%d)\n"
 
 #: fdisk/sfdisk.c:527
 #, c-format
@@ -3992,47 +4412,52 @@ msgid ""
 "%s of partition %s has impossible value for cylinders: %d (should be in "
 "0-%d)\n"
 msgstr ""
+"%s della partizione %s ha un valore impossibile per i cilindri: %d (dovrebbe "
+"essere compreso nell'intervallo 0-%d)\n"
 
 #: fdisk/sfdisk.c:566
 msgid ""
 "Id  Name\n"
 "\n"
 msgstr ""
+"Nome Id\n"
+"\n"
 
 #: fdisk/sfdisk.c:719
-#, fuzzy
 msgid "Re-reading the partition table ...\n"
-msgstr "Stampa la tabella delle partizioni:\n"
+msgstr "Rilettura della tabella delle partizioni in corso...\n"
 
 #: fdisk/sfdisk.c:725
 msgid ""
 "The command to re-read the partition table failed\n"
 "Reboot your system now, 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:730
 #, c-format
 msgid "Error closing %s\n"
-msgstr ""
+msgstr "Errore durante la chiusura di %s\n"
 
 #: fdisk/sfdisk.c:768
 #, c-format
 msgid "%s: no such partition\n"
-msgstr ""
+msgstr "%s: nessuna partizione di questo tipo\n"
 
 #: fdisk/sfdisk.c:791
 msgid "unrecognized format - using sectors\n"
-msgstr ""
+msgstr "formato non riconosciuto - utilizzo dei settori in corso\n"
 
 #: fdisk/sfdisk.c:830
-#, fuzzy, c-format
+#, c-format
 msgid "# partition table of %s\n"
-msgstr "Tabella delle partizioni per %s\n"
+msgstr "# tabella delle partizioni di %s\n"
 
 #: fdisk/sfdisk.c:841
 #, c-format
 msgid "unimplemented format - using %s\n"
-msgstr ""
+msgstr "formato non implementato - utilizzo di %s in corso\n"
 
 #: fdisk/sfdisk.c:845
 #, c-format
@@ -4040,10 +4465,13 @@ 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:848
 msgid "   Device Boot Start     End   #cyls   #blocks   Id  System\n"
 msgstr ""
+"   Inizio Boot Dispositivo     Fine   #cilin.   #blocchi   Id  Sistema\n"
 
 #: fdisk/sfdisk.c:853
 #, c-format
@@ -4051,10 +4479,12 @@ 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:855
 msgid "   Device Boot    Start       End  #sectors  Id  System\n"
-msgstr ""
+msgstr "   Boot Dispositivo    Inizio      Fine  #settori Id  Sistema\n"
 
 #: fdisk/sfdisk.c:858
 #, c-format
@@ -4062,10 +4492,12 @@ 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:860
 msgid "   Device Boot   Start       End   #blocks   Id  System\n"
-msgstr ""
+msgstr "   Boot Dispositivo   Inizio       Fine  #blocchi  Id  Sistema\n"
 
 #: fdisk/sfdisk.c:863
 #, c-format
@@ -4073,29 +4505,31 @@ msgid ""
 "Units = megabytes of 1048576 bytes, blocks of 1024 bytes, counting from %d\n"
 "\n"
 msgstr ""
+"Unità = megabyte da 1048576 byte, blocchi da 1024 byte, conteggiando da %d\n"
+"\n"
 
 #: fdisk/sfdisk.c:865
 msgid "   Device Boot Start   End     MB   #blocks   Id  System\n"
-msgstr ""
+msgstr "   Inizio Boot Dispositivo   Fine    MB   #blocchi  Id  Sistema\n"
 
 #: fdisk/sfdisk.c:997
 #, c-format
 msgid "\t\tstart: (c,h,s) expected (%ld,%ld,%ld) found (%ld,%ld,%ld)\n"
-msgstr ""
+msgstr "\t\tinizio: (c,h,s) previsto (%ld,%ld,%ld) trovato (%ld,%ld,%ld)\n"
 
 #: fdisk/sfdisk.c:1004
 #, c-format
 msgid "\t\tend: (c,h,s) expected (%ld,%ld,%ld) found (%ld,%ld,%ld)\n"
-msgstr ""
+msgstr "\t\tendenza: (c,h,s) previsto (%ld,%ld,%ld) trovato (%ld,%ld,%ld)\n"
 
 #: fdisk/sfdisk.c:1007
 #, c-format
 msgid "partition ends on cylinder %ld, beyond the end of the disk\n"
-msgstr ""
+msgstr "la partizione termina sul cilindro %ld, oltre la fine del disco\n"
 
 #: fdisk/sfdisk.c:1018
 msgid "No partitions found\n"
-msgstr ""
+msgstr "Non si è trovata alcuna partizione\n"
 
 #: fdisk/sfdisk.c:1025
 #, c-format
@@ -4104,257 +4538,267 @@ msgid ""
 "  for C/H/S=*/%ld/%ld (instead of %ld/%ld/%ld).\n"
 "For this listing I'll assume that geometry.\n"
 msgstr ""
+"Attenzione: la prima partizione sembra sia stata creata\n"
+"  per C/H/S=*/%ld/%ld (al posto di %ld/%ld/%ld).\n"
+"Per questo elenco viene presunta tale geometria.\n"
 
 #: fdisk/sfdisk.c:1075
-#, fuzzy
 msgid "no partition table present.\n"
-msgstr "Stampa la tabella delle partizioni:\n"
+msgstr "nessuna tabella delle partizioni presente.\n"
 
 #: fdisk/sfdisk.c:1077
 #, c-format
 msgid "strange, only %d partitions defined.\n"
-msgstr ""
+msgstr "strano, sono definite solo %d partizioni.\n"
 
 #: fdisk/sfdisk.c:1086
 #, 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:1089
 #, c-format
 msgid "Warning: partition %s has size 0 and is bootable\n"
-msgstr ""
+msgstr "Attenzione: la partizione %s ha dimensione 0 ed è avviabile\n"
 
 #: fdisk/sfdisk.c:1092
 #, c-format
 msgid "Warning: partition %s has size 0 and nonzero start\n"
-msgstr ""
+msgstr "Attenzione: la partizione %s ha dimensione 0 e inizio non nullo\n"
 
 #: fdisk/sfdisk.c:1103
-#, fuzzy, c-format
+#, c-format
 msgid "Warning: partition %s "
-msgstr "Stampa la tabella delle partizioni:\n"
+msgstr "Attenzione: la partizione %s "
 
 #: fdisk/sfdisk.c:1104
 #, c-format
 msgid "is not contained in partition %s\n"
-msgstr ""
+msgstr "non è contenuta nella partizione %s\n"
 
 #: fdisk/sfdisk.c:1115
-#, fuzzy, c-format
+#, c-format
 msgid "Warning: partitions %s "
-msgstr "Stampa la tabella delle partizioni:\n"
+msgstr "Attenzione: le partizioni %s "
 
 #: fdisk/sfdisk.c:1116
 #, c-format
 msgid "and %s overlap\n"
-msgstr ""
+msgstr "e %s si sovrappongono\n"
 
 #: fdisk/sfdisk.c:1127
 #, c-format
 msgid "Warning: partition %s contains part of "
-msgstr ""
+msgstr "Attenzione: la partizione %s contiene parte della "
 
 #: fdisk/sfdisk.c:1128
-#, fuzzy, c-format
+#, c-format
 msgid "the partition table (sector %lu),\n"
-msgstr "Tabella delle partizioni per %s\n"
+msgstr "tabella delle partizioni (settore %lu),\n"
 
 #: fdisk/sfdisk.c:1129
 msgid "and will destroy it when filled\n"
-msgstr ""
+msgstr "e la eliminerà quando è piena\n"
 
 #: fdisk/sfdisk.c:1138
 #, c-format
 msgid "Warning: partition %s starts at sector 0\n"
-msgstr ""
+msgstr "Attenzione: la partizione %s inizia al settore 0\n"
 
 #: fdisk/sfdisk.c:1142
 #, c-format
 msgid "Warning: partition %s extends past end of disk\n"
-msgstr ""
+msgstr "Attenzione: la partizione %s si estende dopo la fine del disco\n"
 
 #: fdisk/sfdisk.c:1156
 msgid "Among the primary partitions, at most one can be extended\n"
-msgstr ""
+msgstr "Tra le partizioni primarie, al massimo una può essere estesa\n"
 
 #: fdisk/sfdisk.c:1157
 msgid " (although this is not a problem under Linux)\n"
-msgstr ""
+msgstr " (sebbene questo non costituisca un problema su Linux)\n"
 
 #: fdisk/sfdisk.c:1174
 #, c-format
 msgid "Warning: partition %s does not start at a cylinder boundary\n"
-msgstr ""
+msgstr "Attenzione: la partizione %s non inizia al limite di un cilindro\n"
 
 #: fdisk/sfdisk.c:1180
 #, c-format
 msgid "Warning: partition %s does not end at a cylinder boundary\n"
-msgstr ""
+msgstr "Attenzione: la partizione %s non termina al limite di un cilindro\n"
 
 #: fdisk/sfdisk.c:1198
 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:1205
 msgid ""
 "Warning: usually one can boot from primary partitions only\n"
 "LILO disregards the `bootable' flag.\n"
 msgstr ""
+"Attenzione: solitamente è possibile eseguire l'avvio solamente da partizioni "
+"primarie\n"
+"LILO non prende in considerazione il flag `bootable' (flag 'avviabile').\n"
 
 #: fdisk/sfdisk.c:1211
 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:1228
 #, 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:1237
 #, 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:1240
 #, c-format
 msgid "partition %s ends on cylinder %ld, beyond the end of the disk\n"
-msgstr ""
+msgstr "la partizione %s termina sul cilindro %ld, oltre la fine del disco\n"
 
 #: fdisk/sfdisk.c:1273 fdisk/sfdisk.c:1350
 #, c-format
 msgid "too many partitions - ignoring those past nr (%d)\n"
-msgstr ""
+msgstr "troppe partizioni - sto ignorando quei numeri passati (%d)\n"
 
 #: fdisk/sfdisk.c:1288
-#, fuzzy
 msgid "tree of partitions?\n"
-msgstr "Non crea partizioni"
+msgstr "struttura delle partizioni?\n"
 
 #: fdisk/sfdisk.c:1392
 msgid "detected Disk Manager - unable to handle that\n"
-msgstr ""
+msgstr "rilevato l'amministratore del disco - impossibile da gestire\n"
 
 #: fdisk/sfdisk.c:1399
 msgid "DM6 signature found - giving up\n"
-msgstr ""
+msgstr "trovata firma DM6 - termina\n"
 
 #: fdisk/sfdisk.c:1419
 msgid "strange..., an extended partition of size 0?\n"
-msgstr ""
+msgstr "strano..., una partizione estesa di dimensione 0?\n"
 
 #: fdisk/sfdisk.c:1426
 msgid "strange..., a BSD partition of size 0?\n"
-msgstr ""
+msgstr "strano..., una partizione BSD di dimensione 0?\n"
 
 #: fdisk/sfdisk.c:1458
 #, c-format
 msgid " %s: unrecognized partition\n"
-msgstr ""
+msgstr " %s: partizione non riconosciuta\n"
 
 #: fdisk/sfdisk.c:1470
 msgid "-n flag was given: Nothing changed\n"
-msgstr ""
+msgstr "flag -n dato: nessuna modifica\n"
 
 #: fdisk/sfdisk.c:1483
 msgid "Failed saving the old sectors - aborting\n"
-msgstr ""
+msgstr "Salvataggio dei vecchi settori non riuscito - interruzione in corso\n"
 
 #: fdisk/sfdisk.c:1488
 #, c-format
 msgid "Failed writing the partition on %s\n"
-msgstr ""
+msgstr "Scrittura della partizione su %s non riuscita\n"
 
 #: fdisk/sfdisk.c:1565
 msgid "long or incomplete input line - quitting\n"
-msgstr ""
+msgstr "linea di input lunga o incompleta - uscita in corso\n"
 
 #: fdisk/sfdisk.c:1601
 #, c-format
 msgid "input error: `=' expected after %s field\n"
-msgstr ""
+msgstr "errore di input: `=' previsto dopo il campo %s\n"
 
 #: fdisk/sfdisk.c:1608
 #, c-format
 msgid "input error: unexpected character %c after %s field\n"
-msgstr ""
+msgstr "errore di input: carattere non previsto %c dopo il campo %s\n"
 
 #: fdisk/sfdisk.c:1614
 #, c-format
 msgid "unrecognized input: %s\n"
-msgstr ""
+msgstr "input non riconosciuto: %s\n"
 
 #: fdisk/sfdisk.c:1646
 msgid "number too big\n"
-msgstr ""
+msgstr "numero troppo grande\n"
 
 #: fdisk/sfdisk.c:1650
 msgid "trailing junk after number\n"
-msgstr ""
+msgstr "segni strani dopo il numero\n"
 
 #: fdisk/sfdisk.c:1766
 msgid "no room for partition descriptor\n"
-msgstr ""
+msgstr "non c'è spazio per il descrittore di partizione\n"
 
 #: fdisk/sfdisk.c:1799
 msgid "cannot build surrounding extended partition\n"
-msgstr ""
+msgstr "impossibile costituire una partizione estesa adiacente\n"
 
 #: fdisk/sfdisk.c:1850
 msgid "too many input fields\n"
-msgstr ""
+msgstr "troppi campi di input\n"
 
 #. no free blocks left - don't read any further
 #: fdisk/sfdisk.c:1884
 msgid "No room for more\n"
-msgstr ""
+msgstr "Non c'è spazio per altri\n"
 
 #: fdisk/sfdisk.c:1903
-#, fuzzy
 msgid "Illegal type\n"
-msgstr "Tasto non valido"
+msgstr "Tipo non valido\n"
 
 #: fdisk/sfdisk.c:1935
 #, c-format
 msgid "Warning: exceeds max allowable size (%lu)\n"
-msgstr ""
+msgstr "Attenzione: superiore alla dimensione massima consentita (%lu)\n"
 
 #: fdisk/sfdisk.c:1940
-#, fuzzy
 msgid "Warning: empty partition\n"
-msgstr "Stampa la tabella delle partizioni:\n"
+msgstr "Attenzione: partizione vuota\n"
 
 #: fdisk/sfdisk.c:1954
 #, c-format
 msgid "Warning: bad partition start (earliest %lu)\n"
-msgstr ""
+msgstr "Attenzione: inizio partizione non valido (%lu troppo anticipato)\n"
 
 #: fdisk/sfdisk.c:1967
 msgid "unrecognized bootable flag - choose - or *\n"
-msgstr ""
+msgstr "flag avviabile non riconosciuto - scegliere - o *\n"
 
 #: fdisk/sfdisk.c:1984 fdisk/sfdisk.c:1997
 msgid "partial c,h,s specification?\n"
-msgstr ""
+msgstr "Specificazione c,h,s parziale?\n"
 
 #: fdisk/sfdisk.c:2008
-#, fuzzy
 msgid "Extended partition not where expected\n"
-msgstr "Crea una nuova partizione dallo spazio libero"
+msgstr "partizione estesa in posizione non prevista\n"
 
 #: fdisk/sfdisk.c:2040
 msgid "bad input\n"
-msgstr ""
+msgstr "input non valido\n"
 
 #: fdisk/sfdisk.c:2062
-#, fuzzy
 msgid "too many partitions\n"
-msgstr "Crea una nuova partizione primaria"
+msgstr "troppe partizioni\n"
 
 #: fdisk/sfdisk.c:2095
 msgid ""
@@ -4362,232 +4806,243 @@ msgid ""
 "<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:2115
-#, fuzzy
 msgid "version"
-msgstr "Stampa la versione:\n"
+msgstr "versione"
 
 #: fdisk/sfdisk.c:2121
-#, fuzzy, c-format
+#, c-format
 msgid "Usage: %s [options] device ...\n"
-msgstr "\t%s [opzioni] dispositivo\n"
+msgstr "Utilizzo: %s [opzioni] dispositivo...\n"
 
 #: fdisk/sfdisk.c:2122
 msgid "device: something like /dev/hda or /dev/sda"
-msgstr ""
+msgstr "dispositivo: qualcosa come /dev/hda o /dev/sda"
 
 #: fdisk/sfdisk.c:2123
 msgid "useful options:"
-msgstr ""
+msgstr "opzioni utili:"
 
 #: fdisk/sfdisk.c:2124
 msgid "    -s [or --show-size]: list size of a partition"
-msgstr ""
+msgstr "    -s [o --show-size]: elenco dimensioni di una partizione"
 
 #: fdisk/sfdisk.c:2125
 msgid "    -c [or --id]:        print or change partition Id"
-msgstr ""
+msgstr "    -c [o --id]:        stampa o modifica dell'Id della partizione"
 
 #: fdisk/sfdisk.c:2126
 msgid "    -l [or --list]:      list partitions of each device"
-msgstr ""
+msgstr "    -l [o --list]:      elenco delle partizioni di ciascun dispositivo"
 
 #: fdisk/sfdisk.c:2127
 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:2128
 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:2129
 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:2130
 msgid "    -T [or --list-types]:list the known partition types"
-msgstr ""
+msgstr "    -T [o --list-types]:elenca i tipi di partizione conosciuti"
 
 #: fdisk/sfdisk.c:2131
 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:2132
 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:2133
-#, fuzzy
 msgid "    -N# :                change only the partition with number #"
-msgstr "  u          Cambia l'unità di dimensione usata"
+msgstr "    -N# :                modifica solamente la partizione con numero #"
 
 #: fdisk/sfdisk.c:2134
-#, fuzzy
 msgid "    -n :                 do not actually write to disk"
-msgstr "                r - Dati grezzi (quello che sarebbe scritto sul disco)"
+msgstr "    -n :                 non scrive realmente sul disco"
 
 #: fdisk/sfdisk.c:2135
-#, fuzzy
 msgid ""
 "    -O file :            save the sectors that will be overwritten to file"
-msgstr "                r - Dati grezzi (quello che sarebbe scritto sul disco)"
+msgstr ""
+"    -O file :            salva sul file i settori che verranno sovrascritti"
 
 #: fdisk/sfdisk.c:2136
-#, fuzzy
 msgid "    -I file :            restore these sectors again"
-msgstr "                s - Tabella ordinata per settori"
+msgstr "    -I file :            ripristina questi settori nuovamente"
 
 #: fdisk/sfdisk.c:2137
 msgid "    -v [or --version]:   print version"
-msgstr ""
+msgstr "    -v [o --version]:   stampa versione"
 
 #: fdisk/sfdisk.c:2138
-#, fuzzy
 msgid "    -? [or --help]:      print this message"
-msgstr "  h          Stampa questa schermata"
+msgstr "    -? [o --help]:     stampa questo messaggio"
 
 #: fdisk/sfdisk.c:2139
 msgid "dangerous options:"
-msgstr ""
+msgstr "opzioni pericolose:"
 
 #: fdisk/sfdisk.c:2140
 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:2141
 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:2143
 msgid ""
 "    -L  [or --Linux]:      do not complain about things irrelevant for Linux"
 msgstr ""
+"    -L  [o --Linux]:      non reclamare per cose che risultano irrilevanti "
+"per Linux"
 
 #: fdisk/sfdisk.c:2144
 msgid "    -q  [or --quiet]:      suppress warning messages"
-msgstr ""
+msgstr "    -q  [o --quiet]:      elimina i messaggi di avvertimento"
 
 #: fdisk/sfdisk.c:2145
 msgid "    You can override the detected geometry using:"
-msgstr ""
+msgstr "    È possibile non usare la geometria rilevata utilizzando:"
 
 #: fdisk/sfdisk.c:2146
-#, fuzzy
 msgid "    -C# [or --cylinders #]:set the number of cylinders to use"
-msgstr "Inserire il numero di cilindri: "
+msgstr "    -C# [o --cylindres #]:imposta il numero di cilindri da utilizzare"
 
 #: fdisk/sfdisk.c:2147
 msgid "    -H# [or --heads #]:    set the number of heads to use"
-msgstr ""
+msgstr "    -H# [o --heads #]:    imposta il numero di testine da utilizzare"
 
 #: fdisk/sfdisk.c:2148
 msgid "    -S# [or --sectors #]:  set the number of sectors to use"
-msgstr ""
+msgstr "    -S# [o --sectors #]:  imposta il numero di settori da utilizzare"
 
 #: fdisk/sfdisk.c:2149
 msgid "You can disable all consistency checking with:"
-msgstr ""
+msgstr "È possibile disattivare tutte le verifiche di coerenza con:"
 
 #: fdisk/sfdisk.c:2150
 msgid "    -f  [or --force]:      do what I say, even if it is stupid"
-msgstr ""
+msgstr "    -f  [o --force]:      fa ciò che dico, anche se è stupido"
 
 #: fdisk/sfdisk.c:2156
-#, fuzzy
 msgid "Usage:"
-msgstr ""
-"\n"
-"Uso:\n"
+msgstr "Utilizzo:"
 
 #: fdisk/sfdisk.c:2157
 #, c-format
 msgid "%s device\t\t list active partitions on device\n"
-msgstr ""
+msgstr "%s device\t\t elenca le partizioni attive sul dispositivo\n"
 
 #: fdisk/sfdisk.c:2158
 #, c-format
 msgid "%s device n1 n2 ... activate partitions n1 ..., inactivate the rest\n"
-msgstr ""
+msgstr "%s device n1 n2 ... attiva le partizioni n1 ..., disattiva il resto\n"
 
 #: fdisk/sfdisk.c:2159
 #, c-format
 msgid "%s -An device\t activate partition n, inactivate the other ones\n"
-msgstr ""
+msgstr "%s -An device\t attiva la partizione n, disattiva le altre\n"
 
 #: fdisk/sfdisk.c:2278
 msgid "no command?\n"
-msgstr ""
+msgstr "nessun comando?\n"
 
 #: fdisk/sfdisk.c:2401
 #, c-format
 msgid "total: %d blocks\n"
-msgstr ""
+msgstr "totale: %d blocchi\n"
 
 #: fdisk/sfdisk.c:2438
 msgid "usage: sfdisk --print-id device partition-number\n"
-msgstr ""
+msgstr "utilizzo: sfdisk --print-id numero partizione dispositivo\n"
 
 #: fdisk/sfdisk.c:2440
 msgid "usage: sfdisk --change-id device partition-number Id\n"
-msgstr ""
+msgstr " utilizzo: sfdisk --change-id numero partizione dispositivo Id\n"
 
 #: fdisk/sfdisk.c:2442
 msgid "usage: sfdisk --id device partition-number [Id]\n"
-msgstr ""
+msgstr "utilizzo: sfdisk --id numero partizione dispositivo [Id]\n"
 
 #: fdisk/sfdisk.c:2449
 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:2474
 #, c-format
 msgid "cannot open %s %s\n"
-msgstr ""
+msgstr "impossibile aprire %s %s\n"
 
 #: fdisk/sfdisk.c:2474
 msgid "read-write"
-msgstr ""
+msgstr "lettura-scrittura"
 
 #: fdisk/sfdisk.c:2474
 msgid "for reading"
-msgstr ""
+msgstr "in lettura"
 
 #: fdisk/sfdisk.c:2499
 #, c-format
 msgid "%s: OK\n"
-msgstr ""
+msgstr "%s: OK\n"
 
 #: fdisk/sfdisk.c:2516
 #, c-format
 msgid "%s: %d cylinders, %d heads, %d sectors/track\n"
-msgstr ""
+msgstr "%s: %d cilindri, %d testine, %d settori/traccia\n"
 
 #: fdisk/sfdisk.c:2519
 #, c-format
 msgid "%s: unknown geometry\n"
-msgstr ""
+msgstr "%s: geometria sconosciuta\n"
 
 #: fdisk/sfdisk.c:2535
 #, c-format
 msgid "BLKGETSIZE ioctl failed for %s\n"
-msgstr ""
+msgstr "BLKGETSIZE ioctl non riuscito per %s\n"
 
 #: fdisk/sfdisk.c:2612
 #, c-format
 msgid "bad active byte: 0x%x instead of 0x80\n"
-msgstr ""
+msgstr "byte attivo non valido: 0x%x al posto di 0x80\n"
 
 #: fdisk/sfdisk.c:2629 fdisk/sfdisk.c:2682 fdisk/sfdisk.c:2712
-#, fuzzy
 msgid ""
 "Done\n"
 "\n"
-msgstr "Fatto"
+msgstr ""
+"Fine\n"
+"\n"
 
 #: fdisk/sfdisk.c:2638
 #, c-format
@@ -4595,34 +5050,38 @@ 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:2652
 #, c-format
 msgid "partition %s has id %x and is not hidden\n"
-msgstr ""
+msgstr "la partizione %s ha id %x e non è nascosta\n"
 
 #: fdisk/sfdisk.c:2708
 #, c-format
 msgid "Bad Id %x\n"
-msgstr ""
+msgstr "Id non valido %x\n"
 
 #: fdisk/sfdisk.c:2723
 msgid "This disk is currently in use.\n"
-msgstr ""
+msgstr "Questo disco è attualmente in uso.\n"
 
 #: fdisk/sfdisk.c:2740
 #, c-format
 msgid "Fatal error: cannot find %s\n"
-msgstr ""
+msgstr "Errore irreversibile: impossibile trovare %s\n"
 
 #: fdisk/sfdisk.c:2743
 #, c-format
 msgid "Warning: %s is not a block device\n"
-msgstr ""
+msgstr "Attenzione: %s non è un dispositivo di blocchi\n"
 
 #: fdisk/sfdisk.c:2749
 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:2751
 msgid ""
@@ -4631,66 +5090,76 @@ msgid ""
 "all file systems, and swapoff all swap partitions on this disk.Use the "
 "--no-reread flag to suppress this check.\n"
 msgstr ""
+"\n"
+"Questo disco è attualmente in uso - effettuare una ripartizione non è "
+"probabilmente una buona idea. Eseguire l'umount di tutti i file system, lo "
+"swapoff di tutte le partizioni swap su questo disco. Utilizzare il "
+"flag--no-reread per eliminare questo controllo.\n"
 
 #: fdisk/sfdisk.c:2755
 msgid "Use the --force flag to overrule all checks.\n"
-msgstr ""
+msgstr "Utilizzare il flag -force per oltrepassare tutti i controlli.\n"
 
 #: fdisk/sfdisk.c:2759
 msgid "OK"
-msgstr ""
+msgstr "OK"
 
 #: fdisk/sfdisk.c:2768
 msgid "Old situation:\n"
-msgstr ""
+msgstr "Vecchia situazione:\n"
 
 #: fdisk/sfdisk.c:2772
 #, c-format
 msgid "Partition %d does not exist, cannot change it\n"
-msgstr ""
+msgstr "La partizione %d non esiste, non è possibile modificarla\n"
 
 #: fdisk/sfdisk.c:2780
 msgid "New situation:\n"
-msgstr ""
+msgstr "Nuova situazione:\n"
 
 #: fdisk/sfdisk.c:2785
 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:2788
 msgid "I don't like this - probably you should answer No\n"
-msgstr ""
+msgstr "Questo non mi piace - probabilmente si dovrebbe rispondere no\n"
 
 #: fdisk/sfdisk.c:2793
 msgid "Are you satisfied with this? [ynq] "
-msgstr ""
+msgstr "Soddisfatti di questo? [ynq] "
 
 #: fdisk/sfdisk.c:2795
 msgid "Do you want to write this to disk? [ynq] "
-msgstr ""
+msgstr "Scrivere questo su disco? [ynq] "
 
 #: fdisk/sfdisk.c:2800
 msgid ""
 "\n"
 "sfdisk: premature end of input\n"
 msgstr ""
+"\n"
+"sfdisk: fine prematura dell'input\n"
 
 #: fdisk/sfdisk.c:2802
 msgid "Quitting - nothing changed\n"
-msgstr ""
+msgstr "Uscita in corso - nessuna modifica\n"
 
 #: fdisk/sfdisk.c:2808
 msgid "Please answer one of y,n,q\n"
-msgstr ""
+msgstr "Scegliere un'opzione per la risposta tra y,n,q\n"
 
 #: fdisk/sfdisk.c:2816
-#, fuzzy
 msgid ""
 "Successfully wrote the new partition table\n"
 "\n"
-msgstr "Stampa solo la tabella delle partizioni"
+msgstr ""
+"La nuova tabella delle partizioni è stata scritta con successo\n"
+"\n"
 
 #: fdisk/sfdisk.c:2822
 msgid ""
@@ -4698,284 +5167,299 @@ msgid ""
 "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"
 
 #: games/banner.c:1048
 msgid "usage: banner [-w width]\n"
-msgstr ""
+msgstr "utilizzo: banner [-w width]\n"
 
 #: games/banner.c:1068
 msgid "Message: "
-msgstr ""
+msgstr "Messaggio: "
 
 #: games/banner.c:1102
 #, c-format
 msgid "The character '%c' is not in my character set"
-msgstr ""
+msgstr "Il carattere '%c' non è compreso nel mio set di caratteri"
 
 #: games/banner.c:1110
 #, c-format
 msgid "Message '%s' is OK\n"
-msgstr ""
+msgstr "Il messaggio '%s' è OK\n"
 
 #: getopt-1.0.3b/getopt.c:229
 msgid "Try `getopt --help' for more information.\n"
-msgstr ""
+msgstr "Provare con `getopt --help' per ulteriori informazioni.\n"
 
 #: getopt-1.0.3b/getopt.c:295
 msgid "empty long option after -l or --long argument"
-msgstr ""
+msgstr "opzione lunga vuota dopo parametro -l o --long"
 
 #: getopt-1.0.3b/getopt.c:315
 msgid "unknown shell after -s or --shell argument"
-msgstr ""
+msgstr "shell sconosciuta dopo parametro -s o --shell"
 
 #: getopt-1.0.3b/getopt.c:320
 msgid "Usage: getopt optstring parameters\n"
-msgstr ""
+msgstr "Utilizzo: getopt optstring parametri\n"
 
 #: getopt-1.0.3b/getopt.c:321
 msgid "       getopt [options] [--] optstring parameters\n"
-msgstr ""
+msgstr "      getopt [opzioni] [--] optstring parametri\n"
 
 #: getopt-1.0.3b/getopt.c:322
 msgid "       getopt [options] -o|--options optstring [options] [--]\n"
-msgstr ""
+msgstr "      getopt [opzioni] -o|--options optstring [opzioni] [--]\n"
 
 #: getopt-1.0.3b/getopt.c:323
-#, fuzzy
 msgid "              parameters\n"
-msgstr "            Primo    Ultimo\n"
+msgstr "             parametri\n"
 
 #: getopt-1.0.3b/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-1.0.3b/getopt.c:325
 msgid "  -h, --help                   This small usage guide\n"
-msgstr ""
+msgstr "  -h, --help                   Questa piccola guida all'utilizzo\n"
 
 #: getopt-1.0.3b/getopt.c:326
 msgid "  -l, --longoptions=longopts   Long options to be recognized\n"
-msgstr ""
+msgstr "  -l, --longoptions=longopts   Opzioni lunghe da riconoscere\n"
 
 #: getopt-1.0.3b/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-1.0.3b/getopt.c:328
 msgid "  -o, --options=optstring      Short options to be recognized\n"
-msgstr ""
+msgstr "  -o, --options=optstring      Opzioni brevi da riconoscere\n"
 
 #: getopt-1.0.3b/getopt.c:329
-#, fuzzy
 msgid "  -q, --quiet                  Disable error reporting by getopt(3)\n"
-msgstr "                s - Tabella ordinata per settori"
+msgstr ""
+"  -q, --quiet                  Disattiva errore riportato da getopt(3)\n"
 
 #: getopt-1.0.3b/getopt.c:330
 msgid "  -Q, --quiet-output           No normal output\n"
-msgstr ""
+msgstr "  -Q, --quiet-output           Nessun output normale\n"
 
 #: getopt-1.0.3b/getopt.c:331
 msgid "  -s, --shell=shell            Set shell quoting conventions\n"
-msgstr ""
+msgstr "  -s, --shell=shell            Imposta la shell \n"
 
 #: getopt-1.0.3b/getopt.c:332
 msgid "  -T, --test                   Test for getopt(1) version\n"
-msgstr ""
+msgstr "  -T, --test                   Prova della versione getopt(1)\n"
 
 #: getopt-1.0.3b/getopt.c:333
 msgid "  -V, --version                Output version information\n"
-msgstr ""
+msgstr "  -V, --version                informazioni sulla versione di output\n"
 
 #: getopt-1.0.3b/getopt.c:387 getopt-1.0.3b/getopt.c:445
 msgid "missing optstring argument"
-msgstr ""
+msgstr "argomento optstring mancante"
 
 #: getopt-1.0.3b/getopt.c:433
 msgid "getopt (enhanced) 1.0.3\n"
-msgstr ""
+msgstr "getopt (avanzato) 1.0.3\n"
 
 #: getopt-1.0.3b/getopt.c:439
 msgid "internal error, contact the author."
-msgstr ""
+msgstr "errore interno, contattare l'autore."
 
-#: login-utils/agetty.c:303
+#: login-utils/agetty.c:306
 msgid "calling open_tty\n"
-msgstr ""
+msgstr "chiamata a open_tty in corso\n"
 
 #. Initialize the termio settings (raw mode, eight-bit, blocking i/o).
-#: login-utils/agetty.c:316
+#: login-utils/agetty.c:319
 msgid "calling termio_init\n"
-msgstr ""
+msgstr "chiamata a termio_init in corso\n"
 
-#: login-utils/agetty.c:321
+#: login-utils/agetty.c:324
 msgid "writing init string\n"
-msgstr ""
+msgstr "scrittura init string in corso\n"
 
 #. Optionally detect the baud rate from the modem status message.
-#: login-utils/agetty.c:331
+#: login-utils/agetty.c:334
 msgid "before autobaud\n"
-msgstr ""
+msgstr "prima di autobaud\n"
 
-#: login-utils/agetty.c:343
+#: login-utils/agetty.c:346
 msgid "waiting for cr-lf\n"
-msgstr ""
+msgstr "in attesa di cr-lf\n"
 
-#: login-utils/agetty.c:347
+#: login-utils/agetty.c:350
 #, c-format
 msgid "read %c\n"
-msgstr ""
+msgstr "lettura di %c\n"
 
 #. Read the login name.
-#: login-utils/agetty.c:356
+#: login-utils/agetty.c:359
 msgid "reading login name\n"
-msgstr ""
+msgstr "lettura del nome di login\n"
 
-#: login-utils/agetty.c:377
+#: login-utils/agetty.c:380
 #, c-format
 msgid "%s: can't exec %s: %m"
-msgstr ""
+msgstr "%s: exec di %s impossibile: %m"
 
-#: login-utils/agetty.c:397
+#: login-utils/agetty.c:400
 msgid "can't malloc initstring"
-msgstr ""
+msgstr " malloc initstring impossibile"
 
-#: login-utils/agetty.c:459
+#: login-utils/agetty.c:465
 #, c-format
 msgid "bad timeout value: %s"
-msgstr ""
+msgstr "valore di timeout non valido: %s"
 
-#: login-utils/agetty.c:468
+#: login-utils/agetty.c:474
 msgid "after getopt loop\n"
-msgstr ""
+msgstr "after getopt loop\n"
 
-#: login-utils/agetty.c:486
+#: login-utils/agetty.c:492
 msgid "exiting parseargs\n"
-msgstr ""
+msgstr "exiting parseargs\n"
 
-#: login-utils/agetty.c:499
+#: login-utils/agetty.c:505
 msgid "entered parse_speeds\n"
-msgstr ""
+msgstr "entered parse_speeds\n"
 
-#: login-utils/agetty.c:502
+#: login-utils/agetty.c:508
 #, c-format
 msgid "bad speed: %s"
-msgstr ""
+msgstr "velocità non valida: %s"
 
-#: login-utils/agetty.c:504
+#: login-utils/agetty.c:510
 msgid "too many alternate speeds"
-msgstr ""
+msgstr "troppe velocità alternative"
 
-#: login-utils/agetty.c:506
+#: login-utils/agetty.c:512
 msgid "exiting parsespeeds\n"
-msgstr ""
+msgstr "uscita da parsespeeds\n"
 
-#: login-utils/agetty.c:579
+#: login-utils/agetty.c:587
 #, c-format
 msgid "%s: open for update: %m"
-msgstr ""
+msgstr "%s: apertura per l'aggiornamento: %m"
 
-#: login-utils/agetty.c:595
+#: login-utils/agetty.c:605
 #, c-format
 msgid "%s: no utmp entry"
-msgstr ""
+msgstr "%s: nessuna voce utmp"
 
-#: login-utils/agetty.c:624
+#: login-utils/agetty.c:634
 #, c-format
 msgid "/dev: chdir() failed: %m"
-msgstr ""
+msgstr "/dev: chdir() non riuscito: %m"
 
-#: login-utils/agetty.c:628
+#: login-utils/agetty.c:638
 #, c-format
 msgid "/dev/%s: not a character device"
-msgstr ""
+msgstr "/dev/%s: non è un dispositivo di caratteri"
 
 #. ignore close(2) errors
-#: login-utils/agetty.c:635
+#: login-utils/agetty.c:645
 msgid "open(2)\n"
-msgstr ""
+msgstr "open(2)\n"
 
-#: login-utils/agetty.c:637
+#: login-utils/agetty.c:647
 #, c-format
 msgid "/dev/%s: cannot open as standard input: %m"
-msgstr ""
+msgstr "/dev/%s: impossibile l'apertura come input standard: %m"
 
-#: login-utils/agetty.c:647
+#: login-utils/agetty.c:657
 #, c-format
 msgid "%s: not open for read/write"
-msgstr ""
+msgstr "%s: non è aperto per lettura/scrittura"
 
 #. Set up standard output and standard error file descriptors.
-#: login-utils/agetty.c:651
+#: login-utils/agetty.c:661
 msgid "duping\n"
-msgstr ""
+msgstr "duping\n"
 
 #. set up stdout and stderr
-#: login-utils/agetty.c:653
+#: login-utils/agetty.c:663
 #, c-format
 msgid "%s: dup problem: %m"
-msgstr ""
+msgstr "%s: problema dup: %m"
 
-#: login-utils/agetty.c:723
+#: login-utils/agetty.c:733
 msgid "term_io 2\n"
-msgstr ""
+msgstr "term_io 2\n"
 
-#: login-utils/agetty.c:905
+#: login-utils/agetty.c:915
 msgid "user"
-msgstr ""
+msgstr "utente"
 
-#: login-utils/agetty.c:905
+#: login-utils/agetty.c:915
 msgid "users"
-msgstr ""
+msgstr "utenti"
 
-#: login-utils/agetty.c:993
+#: login-utils/agetty.c:1003
 #, c-format
 msgid "%s: read: %m"
-msgstr ""
+msgstr "%s: lettura: %m"
 
-#: login-utils/agetty.c:1039
+#: login-utils/agetty.c:1049
 #, c-format
 msgid "%s: input overrun"
-msgstr ""
+msgstr "%s: sovraccarico input"
 
-#: login-utils/agetty.c:1163
+#: login-utils/agetty.c:1173
 #, c-format
 msgid ""
-"Usage: %s [-hiLmw] [-l login_program] [-t timeout] [-I initstring] "
-"baud_rate,... line [termtype]\n"
-"or\t[-hiLmw] [-l login_program] [-t timeout] [-I initstring] line "
-"baud_rate,... [termtype]\n"
+"Usage: %s [-hiLmw] [-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 ""
+"Utilizzo: %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"
+"Utilizzo: %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] "
+"linea baud_rate,... [tipo terminale]\n"
 
 #: login-utils/checktty.c:46
 #, c-format
 msgid "badlogin: %s\n"
-msgstr ""
+msgstr "login non valida: %s\n"
 
 #: login-utils/checktty.c:52
 #, c-format
 msgid "sleepexit %d\n"
-msgstr ""
+msgstr "sleepexit %d\n"
 
 #: login-utils/checktty.c:108 login-utils/checktty.c:130
 msgid "login: memory low, login may fail\n"
-msgstr ""
+msgstr "login: poca memoria, è possibile che il login non riesca\n"
 
 #: login-utils/checktty.c:109
 msgid "can't malloc for ttyclass"
-msgstr ""
+msgstr "malloc per ttyclass non possibile"
 
 #: login-utils/checktty.c:131
 msgid "can't malloc for grplist"
-msgstr ""
+msgstr "malloc per grplist impossibile"
 
 #. there was a default rule, but user didn't match, reject!
 #: login-utils/checktty.c:431
 #, c-format
 msgid "Login on %s from %s denied by default.\n"
-msgstr ""
+msgstr "Login a %s da %s negato in base all'impostazione predefinita.\n"
 
 #. if we get here, /etc/usertty exists, there's a line
 #. matching our username, but it doesn't contain the
@@ -4984,229 +5468,234 @@ msgstr ""
 #: login-utils/checktty.c:442
 #, c-format
 msgid "Login on %s from %s denied.\n"
-msgstr ""
+msgstr "Login a %s da %s negato.\n"
 
-#: login-utils/chfn.c:135 login-utils/chsh.c:118
+#: login-utils/chfn.c:134 login-utils/chsh.c:117
 #, c-format
 msgid "%s: you (user %d) don't exist.\n"
-msgstr ""
+msgstr "%s: non si esiste (come utente %d).\n"
 
-#: login-utils/chfn.c:142 login-utils/chsh.c:125
+#: login-utils/chfn.c:141 login-utils/chsh.c:124
 #, c-format
 msgid "%s: user \"%s\" does not exist.\n"
-msgstr ""
+msgstr "%s: utente \"%s\" non esiste.\n"
 
-#: login-utils/chfn.c:147 login-utils/chsh.c:130
+#: login-utils/chfn.c:146 login-utils/chsh.c:129
 #, 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:159
+#: login-utils/chfn.c:158
 #, c-format
 msgid "Changing finger information for %s.\n"
-msgstr ""
+msgstr "Modifica delle informazioni finger per %s in corso.\n"
 
-#: login-utils/chfn.c:165 login-utils/chfn.c:169 login-utils/chfn.c:176
-#: login-utils/chfn.c:180 login-utils/chsh.c:154 login-utils/chsh.c:158
-#: login-utils/chsh.c:165 login-utils/chsh.c:169
+#: login-utils/chfn.c:164 login-utils/chfn.c:168 login-utils/chfn.c:175
+#: login-utils/chfn.c:179 login-utils/chsh.c:153 login-utils/chsh.c:157
+#: login-utils/chsh.c:164 login-utils/chsh.c:168
 msgid "Password error."
-msgstr ""
+msgstr "Errore password."
 
-#: login-utils/chfn.c:189 login-utils/chsh.c:178 login-utils/login.c:678
+#: login-utils/chfn.c:188 login-utils/chsh.c:177 login-utils/login.c:684
 #: login-utils/newgrp.c:47 login-utils/simpleinit.c:219 mount/lomount.c:200
-#: mount/lomount.c:206 mount/losetup.c:115 mount/losetup.c:121
+#: mount/lomount.c:206 mount/losetup.c:116 mount/losetup.c:122
 msgid "Password: "
-msgstr ""
+msgstr "Password: "
 
-#: login-utils/chfn.c:192 login-utils/chsh.c:181
+#: login-utils/chfn.c:191 login-utils/chsh.c:180
 msgid "Incorrect password."
-msgstr ""
+msgstr "Password non corretta."
 
-#: login-utils/chfn.c:203
+#: login-utils/chfn.c:202
 msgid "Finger information not changed.\n"
-msgstr ""
+msgstr "Le informazioni finger non sono state modificate.\n"
 
-#: login-utils/chfn.c:306
+#: login-utils/chfn.c:305
 #, c-format
 msgid "Usage: %s [ -f full-name ] [ -o office ] "
-msgstr ""
+msgstr "Utilizzo: %s [ -f nome intero ] [ -o ufficio ]"
 
-#: login-utils/chfn.c:307
+#: login-utils/chfn.c:306
 msgid ""
 "[ -p office-phone ]\n"
 "\t[ -h home-phone ] "
 msgstr ""
+"[ -p tel. ufficio]\n"
+"\t[ -h tel. casa ] "
 
-#: login-utils/chfn.c:308
+#: login-utils/chfn.c:307
 msgid "[ --help ] [ --version ]\n"
-msgstr ""
+msgstr "[ --help ] [ --version ]\n"
 
-#: login-utils/chfn.c:377 login-utils/chsh.c:294
+#: login-utils/chfn.c:376 login-utils/chsh.c:293
 msgid ""
 "\n"
 "Aborted.\n"
 msgstr ""
+"\n"
+"interrotto.\n"
 
-#: login-utils/chfn.c:410
+#: login-utils/chfn.c:409
 msgid "field is too long.\n"
-msgstr ""
+msgstr "il campo è troppo lungo.\n"
 
-#: login-utils/chfn.c:418
+#: login-utils/chfn.c:417
 #, c-format
 msgid "'%c' is not allowed.\n"
-msgstr ""
+msgstr "'%c' non è consentito.\n"
 
-#: login-utils/chfn.c:423
+#: login-utils/chfn.c:422
 msgid "Control characters are not allowed.\n"
-msgstr ""
+msgstr "Non sono ammessi i caratteri di controllo.\n"
 
-#: login-utils/chfn.c:488
+#: login-utils/chfn.c:487
 msgid "Finger information *NOT* changed.  Try again later.\n"
 msgstr ""
+"Le informazioni finger *NON* sono state modificate. Riprovare "
+"successivamente.\n"
 
-#: login-utils/chfn.c:491
+#: login-utils/chfn.c:490
 msgid "Finger information changed.\n"
-msgstr ""
+msgstr "Le informazioni finger sono state modificate.\n"
 
-#: login-utils/chfn.c:505 login-utils/chsh.c:412 sys-utils/cytune.c:324
+#: login-utils/chfn.c:504 login-utils/chsh.c:411 sys-utils/cytune.c:324
 msgid "malloc failed"
-msgstr ""
+msgstr "malloc non riuscita"
 
-#: login-utils/chsh.c:141
+#: login-utils/chsh.c:140
 #, c-format
 msgid "%s: Your shell is not in /etc/shells, shell change denied\n"
-msgstr ""
+msgstr "%s: la shell non è in /etc/shells, modifica shell negata\n"
 
-#: login-utils/chsh.c:148
+#: login-utils/chsh.c:147
 #, c-format
 msgid "Changing shell for %s.\n"
-msgstr ""
+msgstr "Modifica shell per %s in corso.\n"
 
-#: login-utils/chsh.c:189
+#: login-utils/chsh.c:188
 msgid "New shell"
-msgstr ""
+msgstr "Nuova shell"
 
-#: login-utils/chsh.c:196
-#, fuzzy
+#: login-utils/chsh.c:195
 msgid "Shell not changed.\n"
-msgstr "Il disco è stato modificato.\n"
+msgstr "Shell non modificata.\n"
 
-#: login-utils/chsh.c:203
+#: login-utils/chsh.c:202
 msgid "Shell *NOT* changed.  Try again later.\n"
-msgstr ""
+msgstr "Shell *NON* modificata.  Riprovare successivamente.\n"
 
-#: login-utils/chsh.c:206
-#, fuzzy
+#: login-utils/chsh.c:205
 msgid "Shell changed.\n"
-msgstr "Il disco è stato modificato.\n"
+msgstr "Shell modificata.\n"
 
-#: login-utils/chsh.c:274
+#: login-utils/chsh.c:273
 #, c-format
 msgid "Usage: %s [ -s shell ] "
-msgstr ""
+msgstr "Utilizzo: %s [ -s shell ]"
 
-#: login-utils/chsh.c:275
+#: login-utils/chsh.c:274
 msgid "[ --list-shells ] [ --help ] [ --version ]\n"
-msgstr ""
+msgstr "[ --list-shells ] [ --help ] [ --version ]\n"
 
-#: login-utils/chsh.c:276
+#: login-utils/chsh.c:275
 msgid "       [ username ]\n"
-msgstr ""
+msgstr "       [ nome utente ]\n"
 
-#: login-utils/chsh.c:320
+#: login-utils/chsh.c:319
 #, c-format
 msgid "%s: shell must be a full path name.\n"
-msgstr ""
+msgstr "%s: la shell deve essere un nome percorso completo.\n"
 
-#: login-utils/chsh.c:324
+#: login-utils/chsh.c:323
 #, c-format
 msgid "%s: \"%s\" does not exist.\n"
-msgstr ""
+msgstr "%s: \"%s\" non esiste.\n"
 
-#: login-utils/chsh.c:328
+#: login-utils/chsh.c:327
 #, c-format
 msgid "%s: \"%s\" is not executable.\n"
-msgstr ""
+msgstr "%s: \"%s\" non eseguibile.\n"
 
-#: login-utils/chsh.c:335
+#: login-utils/chsh.c:334
 #, c-format
 msgid "%s: '%c' is not allowed.\n"
-msgstr ""
+msgstr "%s: '%c' non è consentito.\n"
 
-#: login-utils/chsh.c:339
+#: login-utils/chsh.c:338
 #, c-format
 msgid "%s: Control characters are not allowed.\n"
-msgstr ""
+msgstr "%s: Non sono ammessi i caratteri di controllo.\n"
 
-#: login-utils/chsh.c:346
+#: login-utils/chsh.c:345
 #, c-format
 msgid "Warning: \"%s\" is not listed in /etc/shells\n"
-msgstr ""
+msgstr "Attenzione: \"%s\" non è elencato in /etc/shells\n"
 
-#: login-utils/chsh.c:348
+#: login-utils/chsh.c:347
 #, c-format
 msgid "%s: \"%s\" is not listed in /etc/shells.\n"
-msgstr ""
+msgstr "%s: \"%s\" non è elencato in /etc/shells.\n"
 
-#: login-utils/chsh.c:350
+#: login-utils/chsh.c:349
 #, c-format
 msgid "%s: use -l option to see list\n"
-msgstr ""
+msgstr "%s: utilizzo opzione -l per consultare l'elenco\n"
 
-#: login-utils/chsh.c:356
+#: login-utils/chsh.c:355
 #, c-format
 msgid "Warning: \"%s\" is not listed in /etc/shells.\n"
-msgstr ""
+msgstr "Attenzione: \"%s\" non è elencato in /etc/shells.\n"
 
-#: login-utils/chsh.c:357
+#: login-utils/chsh.c:356
 #, c-format
 msgid "Use %s -l to see list.\n"
-msgstr ""
+msgstr "Utilizzare %s -l per consultare l'elenco.\n"
 
-#: login-utils/chsh.c:378
+#: login-utils/chsh.c:377
 msgid "No known shells.\n"
-msgstr ""
+msgstr "Nessuna shell conosciuta.\n"
 
 #: login-utils/cryptocard.c:70
 msgid "couldn't open /dev/urandom"
-msgstr ""
+msgstr " impossibile aprire /dev/urandom"
 
 #: login-utils/cryptocard.c:75
 msgid "couldn't read random data from /dev/urandom"
-msgstr ""
+msgstr "impossibile leggere dati random da /dev/urandom"
 
 #: login-utils/cryptocard.c:98
 #, c-format
 msgid "can't open %s for reading"
-msgstr ""
+msgstr "impossibile aprire %s in lettura"
 
 #: login-utils/cryptocard.c:102
 #, c-format
 msgid "can't stat(%s)"
-msgstr ""
+msgstr "impossibile eseguire stat(%s)"
 
 #: login-utils/cryptocard.c:108
 #, c-format
 msgid "%s doesn't have the correct filemodes"
-msgstr ""
+msgstr "%s non ha i filemode corretti"
 
 #: login-utils/cryptocard.c:113
 #, c-format
 msgid "can't read data from %s"
-msgstr ""
+msgstr "impossibile leggere i dati da %s"
 
 #: login-utils/islocal.c:36
 #, c-format
 msgid "Can't read %s, exiting."
-msgstr ""
+msgstr "Impossibile leggere %s, uscita in corso."
 
 #: login-utils/last.c:143
 msgid "usage: last [-#] [-f file] [-t tty] [-h hostname] [user ...]\n"
-msgstr ""
+msgstr " utilizzo: ultimo [-#] [-f file] [-t tty] [-h hostname] [utente ...]\n"
 
 #: login-utils/last.c:283
 msgid "  still logged in"
-msgstr ""
+msgstr "  tuttora collegato"
 
 #: login-utils/last.c:305
 #, c-format
@@ -5214,14 +5703,16 @@ msgid ""
 "\n"
 "wtmp begins %s"
 msgstr ""
+"\n"
+"wtmp inizia %s"
 
 #: login-utils/last.c:367 login-utils/last.c:387 login-utils/last.c:442
 msgid "last: malloc failure.\n"
-msgstr ""
+msgstr "last: errore di malloc.\n"
 
 #: login-utils/last.c:416
 msgid "last: gethostname"
-msgstr ""
+msgstr "last: gethostname"
 
 #: login-utils/last.c:469
 #, c-format
@@ -5229,450 +5720,468 @@ msgid ""
 "\n"
 "interrupted %10.10s %5.5s \n"
 msgstr ""
+"\n"
+"interrotto %10.10s %5.5s \n"
 
 #: login-utils/login.c:377
 msgid "login: -h for super-user only.\n"
-msgstr ""
+msgstr "login: -h solamente per super-user.\n"
 
 #: login-utils/login.c:402
 msgid "usage: login [-fp] [username]\n"
-msgstr ""
+msgstr "utilizzo: login [-fp] [nomeutente]\n"
 
 #: login-utils/login.c:504
 #, c-format
 msgid "login: PAM Failure, aborting: %s\n"
-msgstr ""
+msgstr "logine: errore PAM, interruzione in corso: %s\n"
 
 #: login-utils/login.c:506
 #, c-format
 msgid "Couldn't initialize PAM: %s"
-msgstr ""
+msgstr "Impossibile inizializzare PAM: %s"
 
-#: login-utils/login.c:546
+#. 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).
+#: login-utils/login.c:519
+msgid "login: "
+msgstr "login: "
+
+#: login-utils/login.c:552
 #, c-format
 msgid "FAILED LOGIN %d FROM %s FOR %s, %s"
-msgstr ""
+msgstr "FALLITA LOGIN %d DA %s PER %s, %s"
 
-#: login-utils/login.c:548
+#: login-utils/login.c:554
 msgid ""
 "Login incorrect\n"
 "\n"
 msgstr ""
+"Login non corretto\n"
+"\n"
 
-#: login-utils/login.c:557
+#: login-utils/login.c:563
 #, c-format
 msgid "TOO MANY LOGIN TRIES (%d) FROM %s FOR %s, %s"
-msgstr ""
+msgstr "TROPPI TENTATIVI DI LOGIN (%d) DA %s PER %s, %s"
 
-#: login-utils/login.c:561
+#: login-utils/login.c:567
 #, c-format
 msgid "FAILED LOGIN SESSION FROM %s FOR %s, %s"
-msgstr ""
+msgstr "FALLITA SESSIONE DI LOGIN DA %s PER %s, %s"
 
-#: login-utils/login.c:564
+#: login-utils/login.c:570
 msgid ""
 "\n"
 "Login incorrect\n"
 msgstr ""
+"\n"
+"Login  non corretto\n"
 
-#: login-utils/login.c:613
-#, fuzzy
+#: login-utils/login.c:619
 msgid "Illegal username"
-msgstr "Tasto non valido"
+msgstr "Nome utente non valido"
 
-#: login-utils/login.c:656
+#: login-utils/login.c:662
 #, c-format
 msgid "%s login refused on this terminal.\n"
-msgstr ""
+msgstr "%s login rifiutato su questo terminale.\n"
 
-#: login-utils/login.c:661
+#: login-utils/login.c:667
 #, c-format
 msgid "LOGIN %s REFUSED FROM %s ON TTY %s"
-msgstr ""
+msgstr "LOGIN %s RIFIUTATO DA %s SU TTY %s"
 
-#: login-utils/login.c:665
+#: login-utils/login.c:671
 #, c-format
 msgid "LOGIN %s REFUSED ON TTY %s"
-msgstr ""
+msgstr "LOGIN %s RIFIUTATO SU TTY %s"
 
-#: login-utils/login.c:717
+#: login-utils/login.c:723
 msgid "Login incorrect\n"
-msgstr ""
+msgstr "Login non corretto\n"
 
-#: login-utils/login.c:739
+#: login-utils/login.c:745
 msgid ""
 "Too many users logged on already.\n"
 "Try again later.\n"
 msgstr ""
+"Troppi utenti già collegati.\n"
+"Riprovare successivamente.\n"
 
-#: login-utils/login.c:743
+#: login-utils/login.c:749
 msgid "You have too many processes running.\n"
-msgstr ""
+msgstr "Ci sono troppi processi in esecuzione.\n"
 
-#: login-utils/login.c:789
+#: login-utils/login.c:795
 msgid "Warning: no Kerberos tickets issued\n"
-msgstr ""
+msgstr "Attenzione: non sono stati emessi i ticket di Kerberos\n"
 
-#: login-utils/login.c:801
+#: login-utils/login.c:807
 msgid "Sorry -- your password has expired.\n"
-msgstr ""
+msgstr "La password è scaduta.\n"
 
-#: login-utils/login.c:807
+#: login-utils/login.c:813
 #, c-format
 msgid "Warning: your password expires on %s %d, %d\n"
-msgstr ""
+msgstr "Attenzione: la password scade in data %s %d, %d\n"
 
-#: login-utils/login.c:815
+#: login-utils/login.c:821
 msgid "Sorry -- your account has expired.\n"
-msgstr ""
+msgstr "L'account è scaduto.\n"
 
-#: login-utils/login.c:821
+#: login-utils/login.c:827
 #, c-format
 msgid "Warning: your account expires on %s %d, %d\n"
-msgstr ""
+msgstr "Attenzione: l'account scade in data %s %d, %d\n"
 
-#: login-utils/login.c:1055
+#: login-utils/login.c:1061
 #, c-format
 msgid "DIALUP AT %s BY %s"
-msgstr ""
+msgstr " CONNESSIONE DI ACCESSO REMOTO A %s ATTRAVERSO %s"
 
-#: login-utils/login.c:1062
+#: login-utils/login.c:1068
 #, c-format
 msgid "ROOT LOGIN ON %s FROM %s"
-msgstr ""
+msgstr "LOGIN DI ROOT A %s DA %s"
 
-#: login-utils/login.c:1065
+#: login-utils/login.c:1071
 #, c-format
 msgid "ROOT LOGIN ON %s"
-msgstr ""
+msgstr "LOGIN DI ROOT A %s"
 
-#: login-utils/login.c:1068
+#: login-utils/login.c:1074
 #, c-format
 msgid "LOGIN ON %s BY %s FROM %s"
-msgstr ""
+msgstr "LOGIN A %s ATTRAVERSO %s DA %s"
 
-#: login-utils/login.c:1071
+#: login-utils/login.c:1077
 #, c-format
 msgid "LOGIN ON %s BY %s"
-msgstr ""
+msgstr "LOGIN A %s ATTRAVERSO %s"
 
-#: login-utils/login.c:1083
+#: login-utils/login.c:1089
 #, c-format
 msgid "You have %smail.\n"
-msgstr ""
+msgstr "C'è %sposta.\n"
 
-#: login-utils/login.c:1084
+#: login-utils/login.c:1090
 msgid "new "
-msgstr ""
+msgstr "nuovo "
 
 #. error in fork()
-#: login-utils/login.c:1102
+#: login-utils/login.c:1108
 #, c-format
 msgid "login: failure forking: %s"
-msgstr ""
+msgstr "login: errore in esecuzione forking: %s"
 
-#: login-utils/login.c:1117
+#: login-utils/login.c:1123
 msgid "setuid() failed"
-msgstr ""
+msgstr "setuid() non riuscito"
 
-#: login-utils/login.c:1123
+#: login-utils/login.c:1129
 #, c-format
 msgid "No directory %s!\n"
-msgstr ""
+msgstr "Nessuna directory %s!\n"
 
-#: login-utils/login.c:1127
+#: login-utils/login.c:1133
 msgid "Logging in with home = \"/\".\n"
-msgstr ""
+msgstr "Connessione con home = \"/\".\n"
 
-#: login-utils/login.c:1135
+#: login-utils/login.c:1141
 msgid "login: no memory for shell script.\n"
-msgstr ""
+msgstr "login: nessuna memoria per lo script shell.\n"
 
-#: login-utils/login.c:1163
+#: login-utils/login.c:1169
 #, c-format
 msgid "login: couldn't exec shell script: %s.\n"
-msgstr ""
+msgstr "login: exec dello script shell impossibile: %s.\n"
 
-#: login-utils/login.c:1166
+#: login-utils/login.c:1172
 #, c-format
 msgid "login: no shell: %s.\n"
-msgstr ""
+msgstr "login: nessuna shell: %s.\n"
 
-#: login-utils/login.c:1182
+#: login-utils/login.c:1188
 #, c-format
 msgid ""
 "\n"
 "%s login: "
 msgstr ""
+"\n"
+"%s login: "
 
-#: login-utils/login.c:1193
+#: login-utils/login.c:1199
 msgid "login name much too long.\n"
-msgstr ""
+msgstr "il nome di login è troppo lungo.\n"
 
-#: login-utils/login.c:1194
+#: login-utils/login.c:1200
 msgid "NAME too long"
-msgstr ""
+msgstr "NOME troppo lungo"
 
-#: login-utils/login.c:1201
+#: login-utils/login.c:1207
 msgid "login names may not start with '-'.\n"
-msgstr ""
+msgstr "I nomi di login non possono iniziare con'-'.\n"
 
-#: login-utils/login.c:1211
+#: login-utils/login.c:1217
 msgid "too many bare linefeeds.\n"
-msgstr ""
+msgstr "troppi linefeed vuoti.\n"
 
-#: login-utils/login.c:1212
+#: login-utils/login.c:1218
 msgid "EXCESSIVE linefeeds"
-msgstr ""
+msgstr "Linefeed ECCESSIVI"
 
-#: login-utils/login.c:1223
+#: login-utils/login.c:1229
 #, c-format
 msgid "Login timed out after %d seconds\n"
-msgstr ""
+msgstr "Login scaduto dopo %d secondi\n"
 
-#: login-utils/login.c:1323
+#: login-utils/login.c:1329
 #, c-format
 msgid "Last login: %.*s "
-msgstr ""
+msgstr "Ultimo login: %.*s "
 
-#: login-utils/login.c:1327
+#: login-utils/login.c:1333
 #, c-format
 msgid "from %.*s\n"
-msgstr ""
+msgstr "da %.*s\n"
 
-#: login-utils/login.c:1330
+#: login-utils/login.c:1336
 #, c-format
 msgid "on %.*s\n"
-msgstr ""
+msgstr "su %.*s\n"
 
-#: login-utils/login.c:1353
+#: login-utils/login.c:1359
 #, c-format
 msgid "LOGIN FAILURE FROM %s, %s"
-msgstr ""
+msgstr "ERRORE DI LOGIN DA %s, %s"
 
-#: login-utils/login.c:1356
+#: login-utils/login.c:1362
 #, c-format
 msgid "LOGIN FAILURE ON %s, %s"
-msgstr ""
+msgstr "ERRORE DI LOGIN SU %s, %s"
 
-#: login-utils/login.c:1360
+#: login-utils/login.c:1366
 #, c-format
 msgid "%d LOGIN FAILURES FROM %s, %s"
-msgstr ""
+msgstr "%d ERRORI DI LOGIN DA %s, %s"
 
-#: login-utils/login.c:1363
+#: login-utils/login.c:1369
 #, c-format
 msgid "%d LOGIN FAILURES ON %s, %s"
-msgstr ""
+msgstr "%d ERRORI DI LOGIN SU %s, %s"
 
 #: login-utils/mesg.c:89
 msgid "is y\n"
-msgstr ""
+msgstr "è s\n"
 
 #: login-utils/mesg.c:92
 msgid "is n\n"
-msgstr ""
+msgstr "è n\n"
 
 #: login-utils/mesg.c:112
 msgid "usage: mesg [y | n]\n"
-msgstr ""
+msgstr "utilizzo: mesg [s | n]\n"
 
 #: login-utils/newgrp.c:67
 msgid "newgrp: Who are you?"
-msgstr ""
+msgstr "newgrp: chi sei?"
 
 #: login-utils/newgrp.c:75 login-utils/newgrp.c:85
 msgid "newgrp: setgid"
-msgstr ""
+msgstr "newgrp: setgid"
 
 #: login-utils/newgrp.c:80
 msgid "newgrp: No such group."
-msgstr ""
+msgstr "newgrp: nessun gruppo di questo genere."
 
 #: login-utils/newgrp.c:89
 msgid "newgrp: Permission denied"
-msgstr ""
+msgstr "newgrp: autorizzazione negata"
 
 #: login-utils/newgrp.c:96
 msgid "newgrp: setuid"
-msgstr ""
+msgstr "newgrp: setuid"
 
 #: login-utils/newgrp.c:102
-#, fuzzy
 msgid "No shell"
-msgstr "Novell?"
+msgstr "Nessuna shell"
 
-#: login-utils/passwd.c:163
+#: login-utils/passwd.c:161
 msgid "The password must have at least 6 characters, try again.\n"
-msgstr ""
+msgstr "La password deve avere almeno 6 caratteri, riprovare.\n"
 
-#: login-utils/passwd.c:176
+#: login-utils/passwd.c:174
 msgid "The password must contain characters out of two of the following\n"
-msgstr ""
+msgstr "La password deve contenere caratteri delle due seguenti\n"
 
-#: login-utils/passwd.c:177
+#: login-utils/passwd.c:175
 msgid "classes:  upper and lower case letters, digits and non alphanumeric\n"
 msgstr ""
+"classi:  lettere maiuscole minuscole, cifre e caratteri non alfanumerici.\n"
 
-#: login-utils/passwd.c:178
+#: login-utils/passwd.c:176
 msgid "characters. See passwd(1) for more information.\n"
-msgstr ""
+msgstr "Consultare passwd(1) per ulteriori informazioni.\n"
 
-#: login-utils/passwd.c:183
+#: login-utils/passwd.c:181
 msgid "You cannot reuse the old password.\n"
-msgstr ""
+msgstr "Impossibile riutilizzare la vecchia password.\n"
 
-#: login-utils/passwd.c:188
+#: login-utils/passwd.c:186
 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"
 
-#: login-utils/passwd.c:199 login-utils/passwd.c:206
+#: login-utils/passwd.c:197 login-utils/passwd.c:204
 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"
 
-#: login-utils/passwd.c:223
+#: login-utils/passwd.c:221
 msgid "Usage: passwd [username [password]]\n"
-msgstr ""
+msgstr "Utilizzo: passwd [nome utente [password]]\n"
 
-#: login-utils/passwd.c:224
+#: login-utils/passwd.c:222
 msgid "Only root may use the one and two argument forms.\n"
-msgstr ""
+msgstr "Solo root può utilizzare le forme a uno e due argomenti\n"
 
-#: login-utils/passwd.c:280
+#: login-utils/passwd.c:278
 msgid "Usage: passwd [-foqsvV] [user [password]]\n"
-msgstr ""
+msgstr "Utilizzo: passwd [-foqsvV] [utente [password]]\n"
 
-#: login-utils/passwd.c:301
+#: login-utils/passwd.c:299
 #, c-format
 msgid "Can't exec %s: %s\n"
-msgstr ""
+msgstr "Exec %s impossibile: %s\n"
 
-#: login-utils/passwd.c:312
+#: login-utils/passwd.c:310
 msgid "Cannot find login name"
-msgstr ""
+msgstr "Impossibile trovare il nome di login"
 
-#: login-utils/passwd.c:319 login-utils/passwd.c:326
+#: login-utils/passwd.c:317 login-utils/passwd.c:324
 msgid "Only root can change the password for others.\n"
-msgstr ""
+msgstr "Solo root può modificare la password per gli altri.\n"
 
-#: login-utils/passwd.c:334
+#: login-utils/passwd.c:332
 msgid "Too many arguments.\n"
-msgstr ""
+msgstr "Troppi argomenti.\n"
 
-#: login-utils/passwd.c:339
+#: login-utils/passwd.c:337
 #, c-format
 msgid "Can't find username anywhere. Is `%s' really a user?"
-msgstr ""
+msgstr "Impossibile trovare il nome utente.`%s' è davvero un utente?"
 
-#: login-utils/passwd.c:343
+#: login-utils/passwd.c:341
 msgid "Sorry, I can only change local passwords. Use yppasswd instead."
-msgstr ""
+msgstr "Posso modificare solo le password locali. Utilizzare invece yppasswd."
 
-#: login-utils/passwd.c:349
+#: login-utils/passwd.c:347
 msgid "UID and username does not match, imposter!"
-msgstr ""
+msgstr "UID e nome utente non combaciano, impostore!"
 
-#: login-utils/passwd.c:354
+#: login-utils/passwd.c:352
 #, c-format
 msgid "Changing password for %s\n"
-msgstr ""
+msgstr "Modifica password per %s\n"
 
-#: login-utils/passwd.c:358
+#: login-utils/passwd.c:356
 msgid "Enter old password: "
-msgstr ""
+msgstr "Immettere vecchia password: "
 
-#: login-utils/passwd.c:360
+#: login-utils/passwd.c:358
 msgid "Illegal password, imposter."
-msgstr ""
+msgstr "Password non valida, impostore."
 
-#: login-utils/passwd.c:372
+#: login-utils/passwd.c:370
 msgid "Enter new password: "
-msgstr ""
+msgstr "Immettere la nuova password: "
 
-#: login-utils/passwd.c:374
+#: login-utils/passwd.c:372
 msgid "Password not changed."
-msgstr ""
+msgstr "Password non modificata."
 
-#: login-utils/passwd.c:384
+#: login-utils/passwd.c:382
 msgid "Re-type new password: "
-msgstr ""
+msgstr "Ridigitare la nuova password: "
 
-#: login-utils/passwd.c:387
+#: login-utils/passwd.c:385
 msgid "You misspelled it. Password not changed."
-msgstr ""
+msgstr "Ortografia sbagliata. La password non è stata modificata."
 
-#: login-utils/passwd.c:402
+#: login-utils/passwd.c:400
 #, c-format
 msgid "password changed, user %s"
-msgstr ""
+msgstr "password modificata, utente %s"
 
-#: login-utils/passwd.c:405
+#: login-utils/passwd.c:403
 msgid "ROOT PASSWORD CHANGED"
-msgstr ""
+msgstr "PASSWORD ROOT MODIFICATA"
 
-#: login-utils/passwd.c:407
+#: login-utils/passwd.c:405
 #, c-format
 msgid "password changed by root, user %s"
-msgstr ""
+msgstr "password modificata da root, utente %s"
 
-#: login-utils/passwd.c:414
+#: login-utils/passwd.c:412
 msgid "calling setpwnam to set password.\n"
-msgstr ""
+msgstr "chiamata di setpwnam per impostare la password.\n"
 
-#: login-utils/passwd.c:418
+#: login-utils/passwd.c:416
 msgid "Password *NOT* changed.  Try again later.\n"
-msgstr ""
+msgstr "Password *NON* modificata. Riprovare successivamente.\n"
 
-#: login-utils/passwd.c:424
+#: login-utils/passwd.c:422
 msgid "Password changed.\n"
-msgstr ""
+msgstr "Password modificata.\n"
 
 #: login-utils/shutdown.c:85
 msgid "Usage: shutdown [-h|-r] [-fqs] [now|hh:ss|+mins]\n"
-msgstr ""
+msgstr "Utilizzo: spegnimento [-h|-r] [-fqs] [now|hh:ss|+mins]\n"
 
 #: login-utils/shutdown.c:103
 msgid "Shutdown process aborted"
-msgstr ""
+msgstr "Processo di spegnimento interrotto"
 
 #: login-utils/shutdown.c:125
 #, c-format
 msgid "%s: Only root can shut a system down.\n"
-msgstr ""
+msgstr "%s: solamente root può spegnere un sistema.\n"
 
 #: login-utils/shutdown.c:219
 msgid "That must be tomorrow, can't you wait till then?\n"
-msgstr ""
+msgstr "Verrà effettuato domani, non è possibile attendere fino ad allora?\n"
 
 #: login-utils/shutdown.c:271
 msgid "for maintenance; bounce, bounce"
-msgstr ""
+msgstr "per manutenzione; bounce,bounce"
 
 #: login-utils/shutdown.c:275
 #, c-format
 msgid "timeout = %d, quiet = %d, reboot = %d\n"
-msgstr ""
+msgstr " timeout = %d, quiet = %d, reboot = %d\n"
 
 #: login-utils/shutdown.c:300
 msgid "The system is being shut down within 5 minutes"
-msgstr ""
+msgstr "Il sistema verrà spento entro 5 minuti"
 
 #: login-utils/shutdown.c:304
 msgid "Login is therefore prohibited."
-msgstr ""
+msgstr "È perciò proibito effettuare il login."
 
 #: login-utils/shutdown.c:325
 #, c-format
 msgid "%s by %s: %s"
-msgstr ""
+msgstr "%s attraverso %s: %s"
 
 #: login-utils/shutdown.c:326
 msgid "rebooted"
-msgstr ""
+msgstr "riavviato"
 
 #: login-utils/shutdown.c:326
 msgid "halted"
-msgstr ""
+msgstr "arrestato"
 
 #. RB_AUTOBOOT
 #: login-utils/shutdown.c:377
@@ -5680,358 +6189,368 @@ msgid ""
 "\n"
 "Why am I still alive after reboot?"
 msgstr ""
+"\n"
+"perché sono ancora attivo dopo il riavvio?"
 
 #: login-utils/shutdown.c:379
 msgid ""
 "\n"
 "Now you can turn off the power..."
 msgstr ""
+"\n"
+"Ora è possibile togliere l'alimentazione elettrica..."
 
 #: login-utils/shutdown.c:394
 msgid "Calling kernel power-off facility...\n"
-msgstr ""
+msgstr "Chiamata della funzionalità di spegnimento del kernel...\n"
 
 #: login-utils/shutdown.c:397
 #, c-format
 msgid "Error powering off\t%s\n"
-msgstr ""
+msgstr "Errore durante lo spegnimento\t%s\n"
 
 #: login-utils/shutdown.c:405
 #, c-format
 msgid "Executing the program \"%s\" ...\n"
-msgstr ""
+msgstr "Esecuzione del programma \"%s\" in corso...\n"
 
 #: login-utils/shutdown.c:408
 #, c-format
 msgid "Error executing\t%s\n"
-msgstr ""
+msgstr "Errore durante l'esecuzione di\t%s\n"
 
 #: login-utils/shutdown.c:431
 #, c-format
 msgid "\aURGENT: broadcast message from %s:"
-msgstr ""
+msgstr "\aURGENTE: messaggio broadcast da %s:"
 
 #: login-utils/shutdown.c:437
 msgid "System going down IMMEDIATELY!\n"
-msgstr ""
+msgstr "Il sistema si spegnerà IMMEDIATAMENTE!\n"
 
 #: login-utils/shutdown.c:440
 #, c-format
 msgid "System going down in %d hour%s %d minutes"
-msgstr ""
+msgstr "Il sistema si spegnerà tra %d ora/e%s %d minuti"
 
 #: login-utils/shutdown.c:441 login-utils/shutdown.c:444
 msgid "s"
-msgstr ""
+msgstr "s"
 
 #: login-utils/shutdown.c:443
 #, c-format
 msgid "System going down in %d minute%s\n"
-msgstr ""
+msgstr "Il sistema si spegnerà in %d minuti%s\n"
 
 #: login-utils/shutdown.c:449
 #, c-format
 msgid "\t... %s ...\n"
-msgstr ""
+msgstr "\t... %s ...\n"
 
 #: login-utils/shutdown.c:506
 msgid "Cannot fork for swapoff. Shrug!"
-msgstr ""
+msgstr "Esecuzione del fork per swapoff impossibile.Pazienza!"
 
 #: login-utils/shutdown.c:514
 msgid "Cannot exec swapoff, hoping umount will do the trick."
-msgstr ""
+msgstr "Exec swapoff impossibile, sperando che umount ce la faccia."
 
 #: login-utils/shutdown.c:533
 msgid "Cannot fork for umount, trying manually."
-msgstr ""
+msgstr "impossibile eseguire il fork per umount, provare manualmente."
 
 #: login-utils/shutdown.c:542
 #, c-format
 msgid "Cannot exec %s, trying umount.\n"
-msgstr ""
+msgstr "Exec %s impossibile, tentativo di utilizzo di umount.\n"
 
 #: login-utils/shutdown.c:546
 msgid "Cannot exec umount, giving up on umount."
-msgstr ""
+msgstr "Exec umount impossibile, termina utilizzo di umount."
 
 #: login-utils/shutdown.c:551
 msgid "Unmounting any remaining filesystems..."
-msgstr ""
+msgstr "Smontaggio in corso di qualsiasi filesystem rimanente..."
 
 #: login-utils/shutdown.c:587
 #, c-format
 msgid "shutdown: Couldn't umount %s\n"
-msgstr ""
+msgstr "spegnimento: impossibile eseguire umount di %s\n"
 
 #: login-utils/simpleinit.c:79
 msgid "Booting to single user mode.\n"
-msgstr ""
+msgstr "Avvio in modalità singolo utente.\n"
 
 #: login-utils/simpleinit.c:83
 msgid "exec of single user shell failed\n"
-msgstr ""
+msgstr " exec di una shell per singolo utente non riuscita\n"
 
 #: login-utils/simpleinit.c:87
 msgid "fork of single user shell failed\n"
-msgstr ""
+msgstr "fork di una shell per singolo utente non riuscito\n"
 
 #: login-utils/simpleinit.c:226
 msgid ""
 "\n"
 "Wrong password.\n"
 msgstr ""
+"\n"
+"password errata.\n"
 
 #: login-utils/simpleinit.c:252
 msgid "exec rc failed\n"
-msgstr ""
+msgstr " exec di rc non riuscito\n"
 
 #: login-utils/simpleinit.c:255
 msgid "open of rc file failed\n"
-msgstr ""
+msgstr "apertura file rc non riuscita\n"
 
 #: login-utils/simpleinit.c:261
 msgid "fork of rc shell failed\n"
-msgstr ""
+msgstr "fork della shell rc non riuscita\n"
 
 #: login-utils/simpleinit.c:273
 msgid "fork failed\n"
-msgstr ""
+msgstr "fork non riuscito\n"
 
 #: login-utils/simpleinit.c:302 text-utils/more.c:1549
 msgid "exec failed\n"
-msgstr ""
+msgstr "exec fallita\n"
 
 #: login-utils/simpleinit.c:324
 msgid "cannot open inittab\n"
-msgstr ""
+msgstr "impossibile aprire inittab\n"
 
 #: login-utils/simpleinit.c:362
 msgid "no TERM or cannot stat tty\n"
-msgstr ""
+msgstr "TERM non definito o impossibile eseguire stat sul tty\n"
 
 #: login-utils/ttymsg.c:81
 msgid "too many iov's (change code in wall/ttymsg.c)"
-msgstr ""
+msgstr "troppi iov's (modificare codice in wall/ttymsg.c)"
 
 #: login-utils/ttymsg.c:91
 msgid "excessively long line arg"
-msgstr ""
+msgstr "argomento linea eccessivamente lungo"
 
 #: login-utils/ttymsg.c:145
 msgid "cannot fork"
-msgstr ""
+msgstr "impossibile effettuare il fork"
 
 #: login-utils/ttymsg.c:149
 #, c-format
 msgid "fork: %s"
-msgstr ""
+msgstr "fork: %s"
 
 #: login-utils/ttymsg.c:177
 #, c-format
 msgid "%s: BAD ERROR"
-msgstr ""
+msgstr "%s: BRUTTO ERRORE"
 
 #: login-utils/vipw.c:149
 #, c-format
 msgid "%s: the %s file is busy.\n"
-msgstr ""
+msgstr "%s: il file %s è occupato.\n"
 
 #: login-utils/vipw.c:165
 #, c-format
 msgid "%s: the %s file is busy (%s present)\n"
-msgstr ""
+msgstr "%s: il file %s è occupato (%s presente)\n"
 
 #: login-utils/vipw.c:171
 #, c-format
 msgid "%s: can't link %s: %s\n"
-msgstr ""
+msgstr "%s: impossibile collegare %s: %s\n"
 
 #: login-utils/vipw.c:193
 #, 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:217
 #, c-format
 msgid "%s: Cannot fork\n"
-msgstr ""
+msgstr "%s: impossibile effettuare il fork\n"
 
 #: login-utils/vipw.c:257
-#, fuzzy, c-format
+#, c-format
 msgid "%s: %s unchanged\n"
-msgstr "Il disco è stato modificato.\n"
+msgstr "%s: %s immutato\n"
 
 #: login-utils/vipw.c:300
 #, c-format
 msgid "%s: no changes made\n"
-msgstr ""
+msgstr "%s: nessuna modifica effettuata\n"
 
 #: login-utils/wall.c:103
 #, c-format
 msgid "usage: %s [file]\n"
-msgstr ""
+msgstr "utilizzo: %s [file]\n"
 
 #: login-utils/wall.c:151
 #, c-format
 msgid "%s: can't open temporary file.\n"
-msgstr ""
+msgstr "%s: impossibile aprire il file temporaneo.\n"
 
 #: login-utils/wall.c:178
 #, c-format
 msgid "Broadcast Message from %s@%s"
-msgstr ""
+msgstr "Messaggio broadcast da %s@%s"
 
 #: login-utils/wall.c:188
 #, c-format
 msgid "%s: can't read %s.\n"
-msgstr ""
+msgstr "%s: impossibile leggere %s.\n"
 
 #: login-utils/wall.c:213
 #, c-format
 msgid "%s: can't stat temporary file.\n"
-msgstr ""
+msgstr "%s: impossibile eseguire lo stat del file temporaneo.\n"
 
 #: login-utils/wall.c:222
 #, c-format
 msgid "%s: can't read temporary file.\n"
-msgstr ""
+msgstr "%s: impossibile leggere il file temporaneo.\n"
 
-#: misc-utils/cal.c:184
+#: misc-utils/cal.c:189
 msgid "illegal month value: use 1-12"
-msgstr ""
+msgstr "valore mese non valido: utilizzarne uno da 1 a 12"
 
-#: misc-utils/cal.c:188
+#: misc-utils/cal.c:193
 msgid "illegal year value: use 1-9999"
-msgstr ""
+msgstr "valore anno non valido: utilizzarne uno da 1 da 9999"
 
-#: misc-utils/cal.c:484
-msgid "usage: cal [-mjy] [[month] year]\n"
-msgstr ""
+#: misc-utils/cal.c:489
+msgid "usage: cal [-mjyV] [[month] year]\n"
+msgstr "utilizzo: cal [-mjyV] [[mese] anno]\n"
 
-#: misc-utils/ddate.c:184
+#: misc-utils/ddate.c:192
 #, c-format
 msgid "usage: %s [+format] [day month year]\n"
-msgstr ""
+msgstr " utilizzo: %s [+formato] [giorno mese anno]\n"
 
 #. handle St. Tib's Day
-#: misc-utils/ddate.c:230
+#: misc-utils/ddate.c:238
 msgid "St. Tib's Day"
-msgstr ""
+msgstr "Giorno di S.Tiberio"
 
-#: misc-utils/kill.c:199
+#: misc-utils/kill.c:209
 #, c-format
 msgid "%s: unknown signal %s\n"
-msgstr ""
+msgstr "%s: segnale sconosciuto %s\n"
 
-#: misc-utils/kill.c:261
+#: misc-utils/kill.c:271
 #, c-format
 msgid "%s: can't find process \"%s\"\n"
-msgstr ""
+msgstr "%s: impossibile trovare il processo \"%s\"\n"
 
-#: misc-utils/kill.c:303
+#: misc-utils/kill.c:315
 #, c-format
 msgid "%s: unknown signal %s; valid signals:\n"
-msgstr ""
+msgstr "%s: segnale sconosciuto %s; segnali validi:\n"
 
-#: misc-utils/kill.c:343
+#: misc-utils/kill.c:355
 #, c-format
 msgid "usage: %s [ -s signal | -p ] [ -a ] pid ...\n"
-msgstr ""
+msgstr "utilizzo: %s [ -s signal | -p ] [ -a ] pid ...\n"
 
-#: misc-utils/kill.c:344
+#: misc-utils/kill.c:356
 #, c-format
 msgid "       %s -l [ signal ]\n"
-msgstr ""
+msgstr "       %s -l [ signal ]\n"
 
 #: misc-utils/logger.c:144
 #, c-format
 msgid "logger: %s: %s.\n"
-msgstr ""
+msgstr "logger: %s: %s.\n"
 
-#: misc-utils/logger.c:241
+#: misc-utils/logger.c:248
 #, c-format
 msgid "logger: unknown facility name: %s.\n"
-msgstr ""
+msgstr "logger: nome funzionalità sconosciuto: %s.\n"
 
-#: misc-utils/logger.c:253
+#: misc-utils/logger.c:260
 #, c-format
 msgid "logger: unknown priority name: %s.\n"
-msgstr ""
+msgstr "logger: nome priorità sconosciuto: %s.\n"
 
-#: misc-utils/logger.c:280
+#: misc-utils/logger.c:287
 msgid ""
 "usage: logger [-is] [-f file] [-p pri] [-t tag] [-u socket] [ message ... ]\n"
 msgstr ""
+"utilizzo: logger [-is] [-f file] [-p pri] [-t tag] [-u socket] [ messaggio "
+".. ]\n"
 
-#: misc-utils/look.c:340
+#: misc-utils/look.c:336
 msgid "usage: look [-dfa] [-t char] string [file]\n"
-msgstr ""
+msgstr " utilizzo: look [-dfa] [-t char] stringa [file]\n"
 
 #: misc-utils/mcookie.c:122 misc-utils/mcookie.c:149
 #, c-format
 msgid "Could not open %s\n"
-msgstr ""
+msgstr "Impossibile aprire %s\n"
 
 #: misc-utils/mcookie.c:126 misc-utils/mcookie.c:145
 #, c-format
 msgid "Got %d bytes from %s\n"
-msgstr ""
+msgstr "Ottenuti %d byte da %s\n"
 
 #: misc-utils/namei.c:107
 #, c-format
 msgid "namei: unable to get current directory - %s\n"
-msgstr ""
+msgstr "namei: impossibile ottenere la directory corrente - %s\n"
 
 #: misc-utils/namei.c:118
 #, c-format
 msgid "namei: unable to chdir to %s - %s (%d)\n"
-msgstr ""
+msgstr "namei: impossibile eseguire chdir su %s - %s (%d)\n"
 
 #: misc-utils/namei.c:128
 msgid "usage: namei [-mx] pathname [pathname ...]\n"
-msgstr ""
+msgstr "utilizzo: namei [-mx] nome percorso [nome percorso ...]\n"
 
 #: misc-utils/namei.c:157
 msgid "namei: could not chdir to root!\n"
-msgstr ""
+msgstr "namei: impossibile eseguire chdir su directory root!\n"
 
 #: misc-utils/namei.c:164
 msgid "namei: could not stat root!\n"
-msgstr ""
+msgstr "namei: impossibile eseguire stat della directory root!\n"
 
 #: misc-utils/namei.c:219
 #, c-format
 msgid " ? could not chdir into %s - %s (%d)\n"
-msgstr ""
+msgstr " ? impossibile eseguire chdir in %s - %s (%d)\n"
 
 #: misc-utils/namei.c:248
 #, c-format
 msgid " ? problems reading symlink %s - %s (%d)\n"
-msgstr ""
+msgstr " ? problemi nella lettura del link simbolico %s - %s (%d)\n"
 
 #: misc-utils/namei.c:258
-msgid "  *** EXCEEDED UNIX LIMIT OF SYMLINKS ***"
-msgstr ""
+msgid "  *** EXCEEDED UNIX LIMIT OF SYMLINKS ***\n"
+msgstr "  *** SUPERATO IL LIMITE UNIX DI LINK SIMBOLICI ***\n"
 
-#: misc-utils/namei.c:294
+#: misc-utils/namei.c:295
 #, c-format
 msgid "namei: unknown file type 0%06o on file %s\n"
-msgstr ""
+msgstr "namei: tipo file sconosciuto 0%06o su file %s\n"
 
 #: misc-utils/script.c:109
 msgid "usage: script [-a] [file]\n"
-msgstr ""
+msgstr " utilizzo: script [-a] [file]\n"
 
 #: misc-utils/script.c:129
 #, c-format
 msgid "Script started, file is %s\n"
-msgstr ""
+msgstr "Script iniziato, il file è %s\n"
 
 #: misc-utils/script.c:198
 #, c-format
 msgid "Script started on %s"
-msgstr ""
+msgstr "Script iniziato su %s"
 
 #: misc-utils/script.c:264
 #, c-format
@@ -6039,327 +6558,309 @@ msgid ""
 "\n"
 "Script done on %s"
 msgstr ""
+"\n"
+"Script effettuato su %s"
 
 #: misc-utils/script.c:269
 #, c-format
 msgid "Script done, file is %s\n"
-msgstr ""
+msgstr "Script effettuato, il file è %s\n"
 
 #: misc-utils/script.c:281
 msgid "openpty failed\n"
-msgstr ""
+msgstr "openpty non riuscita\n"
 
 #: misc-utils/script.c:315
 msgid "Out of pty's\n"
-msgstr ""
+msgstr "esauriti tutti i pty disponibili\n"
 
 #. Print error message about arguments, and the command's syntax.
-#: misc-utils/setterm.c:745
+#: misc-utils/setterm.c:713
 #, c-format
 msgid "%s: Argument error, usage\n"
-msgstr ""
+msgstr "%s: argomento errato, utilizzo\n"
 
-#: misc-utils/setterm.c:748
+#: misc-utils/setterm.c:716
 msgid "  [ -term terminal_name ]\n"
-msgstr ""
+msgstr "  [ -term terminal_name ]\n"
 
-#: misc-utils/setterm.c:749
+#: misc-utils/setterm.c:717
 msgid "  [ -reset ]\n"
-msgstr ""
+msgstr "  [ -reset ]\n"
 
-#: misc-utils/setterm.c:750
+#: misc-utils/setterm.c:718
 msgid "  [ -initialize ]\n"
-msgstr ""
+msgstr "  [ -initialize ]\n"
 
-#: misc-utils/setterm.c:751
+#: misc-utils/setterm.c:719
 msgid "  [ -cursor [on|off] ]\n"
-msgstr ""
+msgstr "  [ -cursor [on|off] ]\n"
 
-#: misc-utils/setterm.c:753
+#: misc-utils/setterm.c:721
 msgid "  [ -snow [on|off] ]\n"
-msgstr ""
+msgstr "  [ -snow [on|off] ]\n"
 
-#: misc-utils/setterm.c:754
+#: misc-utils/setterm.c:722
 msgid "  [ -softscroll [on|off] ]\n"
-msgstr ""
-
-#: misc-utils/setterm.c:755
-msgid "  [ -keyboard pc|olivetti|dutch|extended ]\n"
-msgstr ""
+msgstr "  [ -softscroll [on|off] ]\n"
 
-#: misc-utils/setterm.c:757
+#: misc-utils/setterm.c:724
 msgid "  [ -repeat [on|off] ]\n"
-msgstr ""
+msgstr "  [ -repeat [on|off] ]\n"
 
-#: misc-utils/setterm.c:758
+#: misc-utils/setterm.c:725
 msgid "  [ -appcursorkeys [on|off] ]\n"
-msgstr ""
+msgstr "  [ -appcursorkeys [on|off] ]\n"
 
-#: misc-utils/setterm.c:759
+#: misc-utils/setterm.c:726
 msgid "  [ -linewrap [on|off] ]\n"
-msgstr ""
+msgstr "  [ -linewrap [on|off] ]\n"
 
-#: misc-utils/setterm.c:760
+#: misc-utils/setterm.c:727
 msgid "  [ -default ]\n"
-msgstr ""
+msgstr "  [ -default ]\n"
 
-#: misc-utils/setterm.c:761
+#: misc-utils/setterm.c:728
 msgid "  [ -foreground black|blue|green|cyan"
-msgstr ""
+msgstr "  [ -foreground black|blue|green|cyan"
 
-#: misc-utils/setterm.c:762 misc-utils/setterm.c:764
+#: misc-utils/setterm.c:729 misc-utils/setterm.c:731
 msgid "|red|magenta|yellow|white|default ]\n"
-msgstr ""
+msgstr "|red|magenta|yellow|white|default ]\n"
 
-#: misc-utils/setterm.c:763
+#: misc-utils/setterm.c:730
 msgid "  [ -background black|blue|green|cyan"
-msgstr ""
+msgstr "  [ -background black|blue|green|cyan"
 
-#: misc-utils/setterm.c:765
+#: misc-utils/setterm.c:732
 msgid "  [ -ulcolor black|grey|blue|green|cyan"
-msgstr ""
+msgstr "  [ -ulcolor black|grey|blue|green|cyan"
 
-#: misc-utils/setterm.c:766 misc-utils/setterm.c:768 misc-utils/setterm.c:770
-#: misc-utils/setterm.c:772
+#: misc-utils/setterm.c:733 misc-utils/setterm.c:735 misc-utils/setterm.c:737
+#: misc-utils/setterm.c:739
 msgid "|red|magenta|yellow|white ]\n"
-msgstr ""
+msgstr "|red|magenta|yellow|white ]\n"
 
-#: misc-utils/setterm.c:767
+#: misc-utils/setterm.c:734
 msgid "  [ -ulcolor bright blue|green|cyan"
-msgstr ""
+msgstr "  [ -ulcolor bright blue|green|cyan"
 
-#: misc-utils/setterm.c:769
+#: misc-utils/setterm.c:736
 msgid "  [ -hbcolor black|grey|blue|green|cyan"
-msgstr ""
+msgstr "  [ -hbcolor black|grey|blue|green|cyan"
 
-#: misc-utils/setterm.c:771
+#: misc-utils/setterm.c:738
 msgid "  [ -hbcolor bright blue|green|cyan"
-msgstr ""
+msgstr "  [ -hbcolor bright blue|green|cyan"
 
-#: misc-utils/setterm.c:774
+#: misc-utils/setterm.c:741
 msgid "  [ -standout [ attr ] ]\n"
-msgstr ""
+msgstr "  [ -standout [ attr ] ]\n"
 
-#: misc-utils/setterm.c:776
+#: misc-utils/setterm.c:743
 msgid "  [ -inversescreen [on|off] ]\n"
-msgstr ""
+msgstr "  [ -inversescreen [on|off] ]\n"
 
-#: misc-utils/setterm.c:777
+#: misc-utils/setterm.c:744
 msgid "  [ -bold [on|off] ]\n"
-msgstr ""
+msgstr "  [ -bold [on|off] ]\n"
 
-#: misc-utils/setterm.c:778
+#: misc-utils/setterm.c:745
 msgid "  [ -half-bright [on|off] ]\n"
-msgstr ""
+msgstr "  [ -half-bright [on|off] ]\n"
 
-#: misc-utils/setterm.c:779
+#: misc-utils/setterm.c:746
 msgid "  [ -blink [on|off] ]\n"
-msgstr ""
+msgstr "  [ -blink [on|off] ]\n"
 
-#: misc-utils/setterm.c:780
+#: misc-utils/setterm.c:747
 msgid "  [ -reverse [on|off] ]\n"
-msgstr ""
+msgstr "  [ -reverse [on|off] ]\n"
 
-#: misc-utils/setterm.c:781
+#: misc-utils/setterm.c:748
 msgid "  [ -underline [on|off] ]\n"
-msgstr ""
+msgstr "  [ -underline [on|off] ]\n"
 
-#: misc-utils/setterm.c:782
+#: misc-utils/setterm.c:749
 msgid "  [ -store ]\n"
-msgstr ""
+msgstr "  [ -store ]\n"
 
-#: misc-utils/setterm.c:783
+#: misc-utils/setterm.c:750
 msgid "  [ -clear [all|rest] ]\n"
-msgstr ""
+msgstr "  [ -clear [all|rest] ]\n"
 
-#: misc-utils/setterm.c:784
+#: misc-utils/setterm.c:751
 msgid "  [ -tabs [ tab1 tab2 tab3 ... ] ]      (tabn = 1-160)\n"
-msgstr ""
+msgstr "  [ -tabs [ tab1 tab2 tab3 ... ] ]      (tabn = 1-160)\n"
 
-#: misc-utils/setterm.c:785
+#: misc-utils/setterm.c:752
 msgid "  [ -clrtabs [ tab1 tab2 tab3 ... ] ]   (tabn = 1-160)\n"
-msgstr ""
+msgstr "  [ -clrtabs [ tab1 tab2 tab3 ... ] ]   (tabn = 1-160)\n"
 
-#: misc-utils/setterm.c:786
+#: misc-utils/setterm.c:753
 msgid "  [ -regtabs [1-160] ]\n"
-msgstr ""
+msgstr "  [ -regtabs [1-160] ]\n"
 
-#: misc-utils/setterm.c:787
+#: misc-utils/setterm.c:754
 msgid "  [ -blank [0-60] ]\n"
-msgstr ""
+msgstr "  [ -blank [0-60] ]\n"
 
-#: misc-utils/setterm.c:788
+#: misc-utils/setterm.c:755
 msgid "  [ -dump   [1-NR_CONSOLES] ]\n"
 msgstr ""
 
-#: misc-utils/setterm.c:789
+#: misc-utils/setterm.c:756
 msgid "  [ -append [1-NR_CONSOLES] ]\n"
-msgstr ""
+msgstr "  [ -append [1-NUM_CONSOLE] ]\n"
 
-#: misc-utils/setterm.c:790
+#: misc-utils/setterm.c:757
 msgid "  [ -file dumpfilename ]\n"
-msgstr ""
+msgstr "  [ -file dumpfilename ]\n"
 
-#: misc-utils/setterm.c:791
+#: misc-utils/setterm.c:758
 msgid "  [ -msg [on|off] ]\n"
-msgstr ""
+msgstr "  [ -msg [on|off] ]\n"
 
-#: misc-utils/setterm.c:792
+#: misc-utils/setterm.c:759
 msgid "  [ -msglevel [0-8] ]\n"
-msgstr ""
+msgstr "  [ -msglevel [0-8] ]\n"
 
-#: misc-utils/setterm.c:793
+#: misc-utils/setterm.c:760
 msgid "  [ -powersave [on|vsync|hsync|powerdown|off] ]\n"
-msgstr ""
+msgstr "  [ -powersave [on|vsync|hsync|powerdown|off] ]\n"
 
-#: misc-utils/setterm.c:794
+#: misc-utils/setterm.c:761
 msgid "  [ -powerdown [0-60] ]\n"
-msgstr ""
+msgstr "  [ -powerdown [0-60] ]\n"
 
-#: misc-utils/setterm.c:795
+#: misc-utils/setterm.c:762
 msgid "  [ -blength [0-2000] ]\n"
-msgstr ""
+msgstr "  [ -blength [0-2000] ]\n"
 
-#: misc-utils/setterm.c:796
+#: misc-utils/setterm.c:763
 msgid "  [ -bfreq freqnumber ]\n"
-msgstr ""
-
-#: misc-utils/setterm.c:841
-msgid "keyboard.pc"
-msgstr ""
-
-#: misc-utils/setterm.c:844
-msgid "keyboard.olivetti"
-msgstr ""
-
-#: misc-utils/setterm.c:847
-msgid "keyboard.dutch"
-msgstr ""
-
-#: misc-utils/setterm.c:850
-msgid "keyboard.extended"
-msgstr ""
+msgstr "  [ -bfreq freqnumber ]\n"
 
-#: misc-utils/setterm.c:884
+#: misc-utils/setterm.c:831
 msgid "snow.on"
-msgstr ""
+msgstr " snow.on"
 
-#: misc-utils/setterm.c:886
+#: misc-utils/setterm.c:833
 msgid "snow.off"
-msgstr ""
+msgstr " snow.off"
 
-#: misc-utils/setterm.c:892
+#: misc-utils/setterm.c:839
 msgid "softscroll.on"
-msgstr ""
+msgstr " softscroll.on"
 
-#: misc-utils/setterm.c:894
+#: misc-utils/setterm.c:841
 msgid "softscroll.off"
-msgstr ""
+msgstr " softscroll.off"
 
-#: misc-utils/setterm.c:1069
+#: misc-utils/setterm.c:1016
 msgid "cannot (un)set powersave mode\n"
-msgstr ""
+msgstr " impossibile (dis)impostare la modalità risparmio energetico\n"
 
-#: misc-utils/setterm.c:1108 misc-utils/setterm.c:1116
+#: misc-utils/setterm.c:1055 misc-utils/setterm.c:1063
 #, c-format
 msgid "klogctl error: %s\n"
-msgstr ""
+msgstr "errore klogctl : %s\n"
 
-#: misc-utils/setterm.c:1157
+#: misc-utils/setterm.c:1104
 #, c-format
 msgid "Error reading %s\n"
-msgstr ""
+msgstr "Errore durante la lettura di %s\n"
 
-#: misc-utils/setterm.c:1172
+#: misc-utils/setterm.c:1119
 msgid "Error writing screendump\n"
-msgstr ""
+msgstr "Errore in scrittura screendump\n"
 
-#: misc-utils/setterm.c:1186
+#: misc-utils/setterm.c:1133
 #, c-format
 msgid "couldn't read %s, and cannot ioctl dump\n"
-msgstr ""
+msgstr "impossibile leggere %s  e impossibile eseguire ioctl sul dump\n"
 
-#: misc-utils/setterm.c:1251
+#: misc-utils/setterm.c:1198
 #, c-format
 msgid "%s: $TERM is not defined.\n"
-msgstr ""
+msgstr "%s: $TERM non è definito.\n"
 
-#: misc-utils/tsort.c:119
+#: misc-utils/tsort.c:120
 msgid "usage: tsort [ inputfile ]\n"
-msgstr ""
+msgstr "utilizzo: tsort [ inputfile ]\n"
 
-#: misc-utils/tsort.c:156
+#: misc-utils/tsort.c:157
 msgid "tsort: odd data count.\n"
-msgstr ""
+msgstr "tsort: conteggio dati strano.\n"
 
-#: misc-utils/tsort.c:321
+#: misc-utils/tsort.c:320
 msgid "tsort: cycle in data.\n"
-msgstr ""
+msgstr "tsort: ciclo nei dati.\n"
 
-#: misc-utils/tsort.c:334
+#: misc-utils/tsort.c:333
 msgid "tsort: internal error -- could not find cycle.\n"
-msgstr ""
+msgstr "tsort: errore interno - impossibile trovare il ciclo.\n"
 
 #: misc-utils/whereis.c:158
 msgid "whereis [ -sbmu ] [ -SBM dir ... -f ] name...\n"
-msgstr ""
+msgstr "whereis [ -sbmu ] [ -SBM dir ... -f ] nome...\n"
 
 #: misc-utils/write.c:99
 msgid "write: can't find your tty's name\n"
-msgstr ""
+msgstr "write: impossibile trovare il nome di tty\n"
 
 #: misc-utils/write.c:110
 msgid "write: you have write permission turned off.\n"
-msgstr ""
+msgstr "write: l'autorizzazione per la scrittura è disattivata.\n"
 
 #: misc-utils/write.c:131
 #, c-format
 msgid "write: %s is not logged in on %s.\n"
-msgstr ""
+msgstr "write: %s non è collegato a %s.\n"
 
 #: misc-utils/write.c:139
 #, c-format
 msgid "write: %s has messages disabled on %s\n"
-msgstr ""
+msgstr "write: %s ha i messaggi disattivati su %s\n"
 
 #: misc-utils/write.c:146
 msgid "usage: write user [tty]\n"
-msgstr ""
+msgstr "utilizzo: write user [tty]\n"
 
 #: misc-utils/write.c:245
 #, c-format
 msgid "write: %s is not logged in\n"
-msgstr ""
+msgstr "write: %s non è collegato\n"
 
 #: misc-utils/write.c:254
 #, c-format
 msgid "write: %s has messages disabled\n"
-msgstr ""
+msgstr "write: %s ha i messaggi disattivati\n"
 
 #: misc-utils/write.c:258
 #, c-format
 msgid "write: %s is logged in more than once; writing to %s\n"
-msgstr ""
+msgstr "write: %s è collegato più di una volta; scrittura su %s in corso\n"
 
 #: misc-utils/write.c:325
 #, c-format
 msgid "Message from %s@%s on %s at %s ..."
-msgstr ""
+msgstr "Messaggio da %s@%s su %s a %s ..."
 
 #: mount/fstab.c:116
 #, c-format
 msgid "warning: error reading %s: %s"
-msgstr ""
+msgstr "attenzione: errore durante la lettura di %s: %s"
 
 #: mount/fstab.c:143 mount/fstab.c:166
 #, c-format
 msgid "warning: can't open %s: %s"
-msgstr ""
+msgstr "attenzione: impossibile aprire %s: %s"
 
 #: mount/fstab.c:147
 #, c-format
 msgid "mount: could not open %s - using %s instead\n"
-msgstr ""
+msgstr "mount: impossibile aprire %s - si sta utilizzando al suo posto %s\n"
 
 #. linktargetfile does not exist (as a file)
 #. and we cannot create it. Read-only filesystem?
@@ -6368,83 +6869,104 @@ msgstr ""
 #, c-format
 msgid "can't create lock file %s: %s (use -n flag to override)"
 msgstr ""
+"impossibile creare un file di blocco %s: %s (utilizzare il flag -n per "
+"tralasciare)"
 
 #: mount/fstab.c:387
 #, c-format
 msgid "can't link lock file %s: %s (use -n flag to override)"
 msgstr ""
+"impossibile collegare il file di blocco %s: %s  (utilizzare il flag -n per "
+"tralasciare)"
 
 #: mount/fstab.c:399
 #, c-format
 msgid "can't open lock file %s: %s (use -n flag to override)"
 msgstr ""
+"impossibile aprire il file di blocco %s: %s (utilizzare flag -n per "
+"tralasciare)"
 
 #: mount/fstab.c:414
 #, c-format
 msgid "Can't lock lock file %s: %s\n"
-msgstr ""
+msgstr "Impossibile bloccare il file di blocco %s: %s\n"
 
-#: mount/fstab.c:425
+#: mount/fstab.c:427
 #, c-format
 msgid "can't lock lock file %s: %s"
-msgstr ""
+msgstr "Impossibile bloccare il file di blocco %s: %s"
 
-#: mount/fstab.c:427
+#: mount/fstab.c:429
 msgid "timed out"
+msgstr "scaduto"
+
+#: mount/fstab.c:436
+#, 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 blocco?\n"
 
-#: mount/fstab.c:472 mount/fstab.c:480
+#: mount/fstab.c:482 mount/fstab.c:490
 #, c-format
 msgid "cannot open %s (%s) - mtab not updated"
-msgstr ""
+msgstr "impossibile aprire %s (%s) - mtab non aggiornato"
 
-#: mount/fstab.c:505
+#: mount/fstab.c:515
 msgid "mount: warning: cannot change mounted device with a remount\n"
 msgstr ""
+"mount: attenzione: impossibile modificare il device montato con un "
+"rimontaggio\n"
 
-#: mount/fstab.c:510
+#: mount/fstab.c:520
 msgid "mount: warning: cannot change filesystem type with a remount\n"
 msgstr ""
+"mount: attenzione: impossibile modificare il tipo di filesystem con un "
+"rimontaggio\n"
 
-#: mount/fstab.c:518 mount/fstab.c:524
+#: mount/fstab.c:528 mount/fstab.c:534
 #, c-format
 msgid "error writing %s: %s"
-msgstr ""
+msgstr "errore durante la scrittura di %s: %s"
 
-#: mount/fstab.c:531
+#: mount/fstab.c:541
 #, c-format
 msgid "error changing mode of %s: %s\n"
-msgstr ""
+msgstr "errore durante il cambiamento della modalità di %s: %s\n"
 
-#: mount/fstab.c:538
+#: mount/fstab.c:548
 #, c-format
 msgid "can't rename %s to %s: %s\n"
-msgstr ""
+msgstr "impossibile rinominare %s in %s: %s\n"
 
 #: mount/lomount.c:78
 #, c-format
 msgid "loop: can't open device %s: %s\n"
-msgstr ""
+msgstr "loop: impossibile aprire il device %s: %s\n"
 
 #: mount/lomount.c:84
 #, c-format
 msgid "loop: can't get info on device %s: %s\n"
-msgstr ""
+msgstr "loop: impossibile ottenere informazioni sul device %s: %s\n"
 
 #: mount/lomount.c:89 mount/losetup.c:74
 #, c-format
 msgid "%s: [%04x]:%ld (%s) offset %d, %s encryption\n"
-msgstr ""
+msgstr "%s: [%04x]:%ld (%s) offset %d, criptazione %s\n"
 
 #: mount/lomount.c:143
 msgid "mount: could not find any device /dev/loop#"
-msgstr ""
+msgstr "mount: impossibile trovare un qualsiasi device /dev/loop#"
 
 #: mount/lomount.c:147
 msgid ""
 "mount: Could not find any loop device.\n"
 "       Maybe /dev/loop# has a wrong major number?"
 msgstr ""
+"mount: impossibile trovare qualsiasi loop device.\n"
+"       Forse /dev/loop# ha un major number errato?"
 
 #: mount/lomount.c:151
 #, c-format
@@ -6453,6 +6975,9 @@ msgid ""
 "       this kernel does not know about the loop device.\n"
 "       (If so, then recompile or `insmod loop.o'.)"
 msgstr ""
+"mount: impossibile trovare qualsiasi loop device e, in base a %s,\n"
+"       questo kernel non è a conoscenza del loop device\n"
+"       (se è questo il caso, ricompilare o `insmod loop.o'.)"
 
 #: mount/lomount.c:156
 msgid ""
@@ -6460,54 +6985,57 @@ msgid ""
 "       about the loop device (then recompile or `insmod loop.o'), or\n"
 "       maybe /dev/loop# has the wrong major number?"
 msgstr ""
+"mount: impossibile trovare qualsiasi loop device. Forse questo kernel\n"
+"       non è a conoscenza del loop device (allora ricompilare o \n"
+"       `insmod loop.o'), o forse /dev/loop# ha il major number errato?"
 
 #: mount/lomount.c:160
 msgid "mount: could not find any free loop device"
-msgstr ""
+msgstr "mount: impossibile trovare un qualsiasi loop device libero"
 
 #: mount/lomount.c:191 mount/losetup.c:106
 #, c-format
 msgid "Unsupported encryption type %s\n"
-msgstr ""
+msgstr "Tipo di criptazione non supportata %s\n"
 
-#: mount/lomount.c:210 mount/losetup.c:125
+#: mount/lomount.c:210 mount/losetup.c:126
 msgid "Init (up to 16 hex digits): "
-msgstr ""
+msgstr "Init (fino a 16 cifre esadecimali): "
 
-#: mount/lomount.c:217 mount/losetup.c:132
+#: mount/lomount.c:217 mount/losetup.c:133
 #, c-format
 msgid "Non-hex digit '%c'.\n"
-msgstr ""
+msgstr "Cifra non esadec. '%c'.\n"
 
-#: mount/lomount.c:223 mount/losetup.c:138
+#: mount/lomount.c:223 mount/losetup.c:140
 #, c-format
 msgid "Don't know how to get key for encryption system %d\n"
-msgstr ""
+msgstr "Non so come ottenere la chiave del sistema di criptazione %d\n"
 
 #: mount/lomount.c:239
 #, c-format
 msgid "set_loop(%s,%s,%d): success\n"
-msgstr ""
+msgstr "set_loop(%s,%s,%d): riuscito\n"
 
 #: mount/lomount.c:250
 #, c-format
 msgid "loop: can't delete device %s: %s\n"
-msgstr ""
+msgstr "loop: impossibile cancellare il device %s: %s\n"
 
 #: mount/lomount.c:260
 #, c-format
 msgid "del_loop(%s): success\n"
-msgstr ""
+msgstr "del_loop(%s): riuscito\n"
 
 #: mount/lomount.c:268
 msgid "This mount was compiled without loop support. Please recompile.\n"
-msgstr ""
+msgstr "Questo montaggio è stato compilato senza supporto loop. Ricompilare.\n"
 
 #: mount/losetup.c:70
 msgid "Cannot get loop info"
-msgstr ""
+msgstr "Impossibile avere informazioni sul loop"
 
-#: mount/losetup.c:174
+#: mount/losetup.c:176
 #, c-format
 msgid ""
 "usage:\n"
@@ -6515,284 +7043,318 @@ msgid ""
 "  %s -d loop_device                                   # delete\n"
 "  %s [ -e encryption ] [ -o offset ] loop_device file # setup\n"
 msgstr ""
+"utilizzo:\n"
+"  %s loop_device                                      # da informazioni\n"
+"  %s -d loop_device                                   # elimina\n"
+"  %s [ -e encryption ] [ -o offset ] loop_device file # imposta\n"
 
-#: mount/losetup.c:231
+#: mount/losetup.c:234
 msgid "No loop support was available at compile time. Please recompile.\n"
 msgstr ""
+"Nessun supporto loop disponibile al momento della compilazione. "
+"Ricompilare.\n"
 
 #: mount/mntent.c:165
 #, c-format
 msgid "[mntent]: warning: no final newline at the end of %s\n"
 msgstr ""
+"[mntent]: attenzione: non c'e' un 'codice di interruzione linea' alla fine "
+"di %s\n"
 
 #: mount/mntent.c:216
 #, c-format
 msgid "[mntent]: line %d in %s is bad%s\n"
-msgstr ""
+msgstr "[mntent]: la linea %d in %s non è valida%s\n"
 
 #: mount/mntent.c:219
 msgid "; rest of file ignored"
-msgstr ""
+msgstr "; ignorato resto del file"
 
 #: mount/mount.c:333
 #, c-format
 msgid "mount: according to mtab, %s is already mounted on %s"
-msgstr ""
+msgstr "mount: in base a mtab, %s è già montato su %s"
 
 #: mount/mount.c:336
 #, c-format
 msgid "mount: according to mtab, %s is mounted on %s"
-msgstr ""
+msgstr "mount: in base a mtab, %s è montato su %s"
 
 #: mount/mount.c:357
 #, c-format
 msgid "mount: can't open %s for writing: %s"
-msgstr ""
+msgstr "mount: impossibile aprire %s in scrittura: %s"
 
-#: mount/mount.c:372 mount/mount.c:644
+#: mount/mount.c:372 mount/mount.c:654
 #, c-format
 msgid "mount: error writing %s: %s"
-msgstr ""
+msgstr "mount: errore durante la scrittura di %s: %s"
 
 #: mount/mount.c:379
 #, c-format
 msgid "mount: error changing mode of %s: %s"
-msgstr ""
+msgstr "mount: errore durante il cambio di modalità di %s: %s"
 
-#: mount/mount.c:473
+#: mount/mount.c:413
+#, c-format
+msgid "%s looks like swapspace - not mounted"
+msgstr "%s assomigla a swapspace - non montato"
+
+#: mount/mount.c:481
 msgid "mount failed"
-msgstr ""
+msgstr "mount non riuscito"
 
-#: mount/mount.c:475
+#: mount/mount.c:483
 #, c-format
 msgid "mount: only root can mount %s on %s"
-msgstr ""
+msgstr "mount: solamente root può montare %s su %s"
 
-#: mount/mount.c:503
+#: mount/mount.c:511
 msgid "mount: loop device specified twice"
-msgstr ""
+msgstr "mount: loop device specificato due volte"
 
-#: mount/mount.c:509
+#: mount/mount.c:517
 msgid "mount: type specified twice"
-msgstr ""
+msgstr "mount: tipo specificato due volte"
 
-#: mount/mount.c:521
+#: mount/mount.c:529
 msgid "mount: skipping the setup of a loop device\n"
-msgstr ""
+msgstr "mount: si ignora l'impostazione di un loop device\n"
 
-#: mount/mount.c:530
+#: mount/mount.c:538
 #, c-format
 msgid "mount: going to use the loop device %s\n"
-msgstr ""
+msgstr "mount: si intende utilizzare il loop device %s\n"
 
-#: mount/mount.c:534
+#: mount/mount.c:542
 msgid "mount: failed setting up loop device\n"
-msgstr ""
+msgstr "mount: mancata impostazione del loop device\n"
 
-#: mount/mount.c:538
+#: mount/mount.c:546
 msgid "mount: setup loop device successfully\n"
-msgstr ""
+msgstr "mount: impostazione del loop device riuscita\n"
 
-#: mount/mount.c:551
+#: mount/mount.c:559
 msgid "mount: this version was compiled without support for the type `nfs'"
 msgstr ""
+"mount: questa versione è stata compilata senza supporto per il tipo `nfs'"
 
-#: mount/mount.c:601 mount/mount.c:1026
+#: mount/mount.c:610 mount/mount.c:1043
 #, c-format
 msgid "mount: cannot fork: %s"
-msgstr ""
+msgstr "mount: impossibile effettuare il fork: %s"
 
-#: mount/mount.c:639
+#: mount/mount.c:649
 #, c-format
 msgid "mount: can't open %s: %s"
+msgstr "mount: impossibile aprire %s: %s"
+
+#: mount/mount.c:678
+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:667
-#, fuzzy
+#: mount/mount.c:681
 msgid "mount: you must specify the filesystem type"
-msgstr "  t          Cambia il tipo di filesystem"
+msgstr "mount: si deve specificare il tipo di filesystem"
 
-#: mount/mount.c:674 mount/mount.c:709
+#. should not happen
+#: mount/mount.c:684
+msgid "mount: mount failed"
+msgstr "mount: mount non riuscito"
+
+#: mount/mount.c:690 mount/mount.c:725
 #, c-format
 msgid "mount: mount point %s is not a directory"
-msgstr ""
+msgstr "mount: il mount point di %s non è una directory"
 
-#: mount/mount.c:676
+#: mount/mount.c:692
 msgid "mount: permission denied"
-msgstr ""
+msgstr "mount: autorizzazione negata"
 
-#: mount/mount.c:678
+#: mount/mount.c:694
 msgid "mount: must be superuser to use mount"
-msgstr ""
+msgstr "mount: bisogna essere superuser per utilizzare mount"
 
 #. heuristic: if /proc/version exists, then probably proc is mounted
 #. proc mounted?
-#: mount/mount.c:682 mount/mount.c:686
+#: mount/mount.c:698 mount/mount.c:702
 #, c-format
 msgid "mount: %s is busy"
-msgstr ""
+msgstr "mount: %s è occupato"
 
 #. no
 #. yes, don't mention it
-#: mount/mount.c:688
+#: mount/mount.c:704
 msgid "mount: proc already mounted"
-msgstr ""
+msgstr "mount: proc già montato"
 
-#: mount/mount.c:690
+#: mount/mount.c:706
 #, c-format
 msgid "mount: %s already mounted or %s busy"
-msgstr ""
+msgstr "mount: %s già montato o %s occupato"
 
-#: mount/mount.c:696
+#: mount/mount.c:712
 #, c-format
 msgid "mount: mount point %s does not exist"
-msgstr ""
+msgstr "mount: il mount point %s non esiste"
 
-#: mount/mount.c:698
+#: mount/mount.c:714
 #, c-format
 msgid "mount: mount point %s is a symbolic link to nowhere"
-msgstr ""
+msgstr "mount: il mount point %s è un link simbolico a nulla"
 
-#: mount/mount.c:701
+#: mount/mount.c:717
 #, c-format
 msgid "mount: special device %s does not exist"
-msgstr ""
+msgstr "mount: il device speciale %s non esiste"
 
-#: mount/mount.c:711
+#: mount/mount.c:727
 #, 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:723
+#: mount/mount.c:739
 #, c-format
 msgid "mount: %s not mounted already, or bad option"
-msgstr ""
+msgstr "mount: %s non ancora montato, oppure l'opzione non è valida"
 
-#: mount/mount.c:725
+#: mount/mount.c:741
 #, c-format
 msgid ""
 "mount: wrong fs type, bad option, bad superblock on %s,\n"
 "       or too many mounted file systems"
 msgstr ""
+"mount: tipo fs errato, opzione non valida, superblocco su %s danneggiato,\n"
+"       o troppi file system montati"
 
-#: mount/mount.c:740
+#: mount/mount.c:756
 msgid "mount table full"
-msgstr ""
+msgstr "mount table piena"
 
-#: mount/mount.c:742
+#: mount/mount.c:758
 #, c-format
 msgid "mount: %s: can't read superblock"
-msgstr ""
+msgstr "mount: %s: impossibile leggere il superblocco"
 
-#: mount/mount.c:745
+#: mount/mount.c:761
 #, c-format
 msgid "mount: %s has wrong major or minor number"
-msgstr ""
+msgstr "mount: %s ha un major o un minor number errato"
 
-#: mount/mount.c:750
+#: mount/mount.c:766
 #, c-format
 msgid "mount: fs type %s not supported by kernel"
-msgstr ""
+msgstr "mount: fs di tipo %s non supportato dal kernel"
 
-#: mount/mount.c:762
+#: mount/mount.c:778
 #, c-format
 msgid "mount: probably you meant %s"
-msgstr ""
+msgstr "mount: probabilmente si intende %s"
 
-#: mount/mount.c:764
+#: mount/mount.c:780
 msgid "mount: maybe you meant iso9660 ?"
-msgstr ""
+msgstr "mount: forse si intendeva iso9660 ?"
 
-#: mount/mount.c:767
+#: mount/mount.c:783
 #, 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 fs di tipo %s non è supportato"
 
 #. strange ...
-#: mount/mount.c:772
+#: mount/mount.c:788
 #, c-format
 msgid "mount: %s is not a block device, and stat fails?"
-msgstr ""
+msgstr "mount: %s non è un dispositivo di blocchi e lo stat non è riuscito?"
 
-#: mount/mount.c:774
+#: mount/mount.c:790
 #, 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 di blocchi\n"
+"       (forse `insmod driver'?)"
 
-#: mount/mount.c:777
+#: mount/mount.c:793
 #, c-format
 msgid "mount: %s is not a block device (maybe try `-o loop'?)"
-msgstr ""
+msgstr "mount: %s  non è un dispositivo di blocchi (magari tentare `-o loop'?)"
 
-#: mount/mount.c:780
+#: mount/mount.c:796
 #, c-format
 msgid "mount: %s is not a block device"
-msgstr ""
+msgstr "mount: %s non è un dispositivo di blocchi"
 
-#: mount/mount.c:783
+#: mount/mount.c:799
 #, c-format
 msgid "mount: %s is not a valid block device"
-msgstr ""
+msgstr "mount: %s non un dispositivo di blocchi valido"
 
-#: mount/mount.c:787
+#: mount/mount.c:803
 #, c-format
 msgid "mount: block device %s is not permitted on its filesystem"
 msgstr ""
+"mount: il dispositivo di blocchi %s non è consentito sul relativo filesystem"
 
-#: mount/mount.c:803
+#: mount/mount.c:819
 #, c-format
 msgid "mount: %s%s is write-protected, mounting read-only"
 msgstr ""
+"mount: %s%s è protetto da scrittura, montaggio in sola lettura in corso"
 
-#: mount/mount.c:804
+#: mount/mount.c:820
 msgid "block device "
-msgstr ""
+msgstr " dispositivo di blocchi"
 
-#: mount/mount.c:890
+#: mount/mount.c:907
 #, c-format
 msgid "mount: consider mounting %s by %s\n"
-msgstr ""
+msgstr "mount: considerare il montaggio di %s con %s\n"
 
-#: mount/mount.c:891
+#: mount/mount.c:908
 msgid "UUID"
-msgstr ""
+msgstr "UUID"
 
-#: mount/mount.c:891
-#, fuzzy
+#: mount/mount.c:908
 msgid "label"
-msgstr "[Etichetta]"
+msgstr "etichetta"
 
-#: mount/mount.c:893 mount/mount.c:1209
+#: mount/mount.c:910 mount/mount.c:1226
 msgid "mount: no such partition found"
-msgstr ""
+msgstr "mount: non si è trovata tale partizione"
 
-#: mount/mount.c:901
+#: mount/mount.c:918
 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"
 
 #.
 #. * Retry in the background.
 #.
-#: mount/mount.c:917
+#: mount/mount.c:934
 #, c-format
 msgid "mount: backgrounding \"%s\"\n"
-msgstr ""
+msgstr "mount: esecuzione in background di \"%s\"\n"
 
-#: mount/mount.c:928
+#: mount/mount.c:945
 #, c-format
 msgid "mount: giving up \"%s\"\n"
-msgstr ""
+msgstr "mount: termina \"%s\"\n"
 
-#: mount/mount.c:977
+#: mount/mount.c:994
 #, c-format
 msgid "mount: %s already mounted on %s\n"
-msgstr ""
+msgstr "mount: %s già montato su %s\n"
 
-#: mount/mount.c:1088
+#: mount/mount.c:1105
 msgid ""
 "Usage: mount [-hV]\n"
 "       mount -a [-nfFrsvw] [-t vfstypes]\n"
@@ -6800,147 +7362,161 @@ msgid ""
 "       mount [-nfrsvw] [-t vfstype] [-o options] special node\n"
 "       A special device can be indicated by  -L label  or  -U uuid .\n"
 msgstr ""
+"Utilizzo: 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"
+"       Un device speciale può essere indicato da  -L label  o  -U uuid .\n"
 
-#: mount/mount.c:1194
+#: mount/mount.c:1211
 msgid "mount: only root can do that"
-msgstr ""
+msgstr "mount: è possibile solo per root"
 
-#: mount/mount.c:1199
+#: mount/mount.c:1216
 #, c-format
 msgid "mount: no %s found - creating it..\n"
-msgstr ""
+msgstr "mount: nessun %s trovato - creazione in corso..\n"
 
-#: mount/mount.c:1211
+#: mount/mount.c:1228
 #, c-format
 msgid "mount: mounting %s\n"
-msgstr ""
+msgstr "mount: mount di %s in corso\n"
 
-#: mount/mount.c:1220
+#: mount/mount.c:1237
 msgid "not mounted anything"
-msgstr ""
+msgstr "niente è montato"
 
-#: mount/mount.c:1233
+#: mount/mount.c:1250
 #, c-format
 msgid "mount: cannot find %s in %s"
-msgstr ""
+msgstr "mount: impossibile trovare %s in %s"
 
-#: mount/mount.c:1247
+#: mount/mount.c:1264
 #, c-format
 msgid "mount: can't find %s in %s or %s"
-msgstr ""
+msgstr "mount: impossibile trovare %s in %s o %s"
 
 #: mount/mount_by_label.c:141
 msgid "mount: bad UUID"
-msgstr ""
+msgstr "mount: UUID non valido"
 
-#: mount/mount_guess_fstype.c:195
+#: mount/mount_guess_fstype.c:251
 #, c-format
 msgid "mount: you didn't specify a filesystem type for %s\n"
-msgstr ""
+msgstr "mount: non si è specificato un tipo di filesystem per %s\n"
+
+#: mount/mount_guess_fstype.c:254
+#, 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_guess_fstype.c:198
+#: mount/mount_guess_fstype.c:257
+msgid "       and it looks like this is swapspace\n"
+msgstr "      e sembra che questo sia swapspace\n"
+
+#: mount/mount_guess_fstype.c:259
 #, c-format
 msgid "       I will try type %s\n"
-msgstr ""
+msgstr "      Proverò il tipo %s\n"
 
-#: mount/mount_guess_fstype.c:200
+#: mount/mount_guess_fstype.c:321
 #, c-format
-msgid "       I will try all types mentioned in %s or %s\n"
-msgstr ""
+msgid "Trying %s\n"
+msgstr "Prova di %s in corso\n"
 
 #: mount/nfsmount.c:157
 msgid "mount: excessively long host:dir argument\n"
-msgstr ""
+msgstr "mount: argomento host:dir eccessivamente lungo\n"
 
 #: mount/nfsmount.c:170
 msgid "mount: warning: multiple hostnames not supported\n"
-msgstr ""
+msgstr "mount: attenzione:nomi host multipli non supportati\n"
 
 #: mount/nfsmount.c:174
 msgid "mount: directory to mount not in host:dir format\n"
-msgstr ""
+msgstr "mount: la directory da montare non è nell'host: formato dir\n"
 
 #: mount/nfsmount.c:185 mount/nfsmount.c:420
 #, c-format
 msgid "mount: can't get address for %s\n"
-msgstr ""
+msgstr "mount: impossibile ottenere l'indirizzo di %s\n"
 
 #: mount/nfsmount.c:191
 msgid "mount: got bad hp->h_length\n"
-msgstr ""
+msgstr "mount: ottenuto hp->h_length non valido\n"
 
 #: mount/nfsmount.c:208
 msgid "mount: excessively long option argument\n"
-msgstr ""
+msgstr "mount: argomento dell'opzione eccessivamente lungo\n"
 
 #: mount/nfsmount.c:299
 msgid "Warning: Unrecognized proto= option.\n"
-msgstr ""
+msgstr "Attenzione: opzione proto= non riconosciuta.\n"
 
 #: mount/nfsmount.c:306
 msgid "Warning: Option namlen is not supported.\n"
-msgstr ""
+msgstr "Attenzione: l'opzione namlen non è supportata.\n"
 
 #: mount/nfsmount.c:310
 #, c-format
 msgid "unknown nfs mount parameter: %s=%d\n"
-msgstr ""
+msgstr "parametro di nfs mount sconosciuto: %s=%d\n"
 
 #: mount/nfsmount.c:345
 msgid "Warning: option nolock is not supported.\n"
-msgstr ""
+msgstr "Attenzione: l'opzione nolock non è supportata.\n"
 
 #: mount/nfsmount.c:348
 #, c-format
 msgid "unknown nfs mount option: %s%s\n"
-msgstr ""
+msgstr "opzione di nfs mount sconosciuta: %s%s\n"
 
 #: mount/nfsmount.c:426
 msgid "mount: got bad hp->h_length?\n"
-msgstr ""
+msgstr "mount: ottenuto un hp->h_length non valido?\n"
 
 #: mount/nfsmount.c:528
 #, c-format
 msgid "mount: %s:%s failed, reason given by server: %s\n"
-msgstr ""
+msgstr "mount: %s:%s non riuscito, motivo indicato dal server: %s\n"
 
 #: mount/nfsmount.c:539
 msgid "NFS over TCP is not supported.\n"
-msgstr ""
+msgstr "NFS attraverso TCP non supportato.\n"
 
 #: mount/nfsmount.c:546
 msgid "nfs socket"
-msgstr ""
+msgstr "nfs socket"
 
 #: mount/nfsmount.c:550
 msgid "nfs bindresvport"
-msgstr ""
+msgstr "nfs bindresvport"
 
 #: mount/nfsmount.c:561
 msgid "used portmapper to find NFS port\n"
-msgstr ""
+msgstr "utilizzato il portmapper(mappatore porte) per trovare la porta NFS\n"
 
 #: mount/nfsmount.c:565
 #, c-format
 msgid "using port %d for nfs deamon\n"
-msgstr ""
+msgstr "utilizzo della porta %d per il demone nfs\n"
 
 #: mount/nfsmount.c:576
 msgid "nfs connect"
-msgstr ""
+msgstr "nfs connect"
 
 #: mount/nfsmount.c:665
 #, c-format
 msgid "unknown nfs status return value: %d"
-msgstr ""
+msgstr "valore riportato di stato nfs sconosciuto: %d"
 
-#: mount/sundries.c:40 mount/sundries.c:55
+#: mount/sundries.c:41 mount/sundries.c:56
 msgid "not enough memory"
-msgstr ""
+msgstr "memoria insufficiente"
 
-#: mount/sundries.c:65
+#: mount/sundries.c:66
 msgid "bug in xstrndup call"
-msgstr ""
+msgstr "bug in chiamata xstrndup"
 
 #: mount/swapon.c:51
 #, c-format
@@ -6950,178 +7526,189 @@ msgid ""
 "       %s [-v] [-p priority] special ...\n"
 "       %s [-s]\n"
 msgstr ""
+"utilizzo: %s [-hV]\n"
+"       %s -a [-v]\n"
+"       %s [-v] [-p priority] special ...\n"
+"       %s [-s]\n"
 
 #: mount/swapon.c:88
 #, c-format
 msgid "%s on %s\n"
-msgstr ""
+msgstr "%s su %s\n"
 
 #: mount/swapon.c:93
 #, c-format
 msgid "swapon: cannot stat %s: %s\n"
-msgstr ""
+msgstr "swapon: impossibile effettuare stat di %s: %s\n"
 
 #: mount/swapon.c:100
 #, c-format
 msgid "swapon: warning: %s has insecure permissions %04o, 0600 suggested\n"
 msgstr ""
+"swapon: attenzione: %s ha le autorizzazioni non sicure %04o, 0600 è "
+"suggerito\n"
 
 #: mount/swapon.c:108
 #, c-format
 msgid "swapon: Skipping file %s - it appears to have holes.\n"
-msgstr ""
+msgstr "swapon: sto ignorando il file %s - sembra avere dei buchi.\n"
 
 #: mount/swapon.c:213
 #, c-format
 msgid "%s: cannot open %s: %s\n"
-msgstr ""
+msgstr "%s: impossibile aprire %s: %s\n"
 
-#: mount/umount.c:65
+#: mount/umount.c:69
 msgid "umount: compiled without support for -f\n"
-msgstr ""
+msgstr "umount: compilato senza supporto per -f\n"
 
-#: mount/umount.c:115
+#: mount/umount.c:121
 #, c-format
 msgid "host: %s, directory: %s\n"
-msgstr ""
+msgstr "host: %s, directory: %s\n"
 
-#: mount/umount.c:132
+#: mount/umount.c:138
 #, c-format
 msgid "umount: can't get address for %s\n"
-msgstr ""
+msgstr "umount: impossibile ottenere l'indirizzo di %s\n"
 
-#: mount/umount.c:137
+#: mount/umount.c:143
 msgid "umount: got bad hostp->h_length\n"
-msgstr ""
+msgstr "umount: ottenuto hostp->h_length non valido\n"
 
-#: mount/umount.c:175
+#: mount/umount.c:181
 #, c-format
 msgid "umount: %s: invalid block device"
-msgstr ""
+msgstr "umount: %s: dispositivo di blocchi non valido"
 
-#: mount/umount.c:177
+#: mount/umount.c:183
 #, c-format
 msgid "umount: %s: not mounted"
-msgstr ""
+msgstr "umount: %s: non montato"
 
-#: mount/umount.c:179
+#: mount/umount.c:185
 #, c-format
 msgid "umount: %s: can't write superblock"
-msgstr ""
+msgstr "umount: %s: impossibile scrivere superblock"
 
 #. Let us hope fstab has a line "proc /proc ..."
 #. and not "none /proc ..."
-#: mount/umount.c:183
+#: mount/umount.c:189
 #, c-format
 msgid "umount: %s: device is busy"
-msgstr ""
+msgstr "umount: %s: device occupato"
 
-#: mount/umount.c:185
+#: mount/umount.c:191
 #, c-format
 msgid "umount: %s: not found"
-msgstr ""
+msgstr "umount: %s: non trovato"
 
-#: mount/umount.c:187
+#: mount/umount.c:193
 #, c-format
 msgid "umount: %s: must be superuser to umount"
-msgstr ""
+msgstr "umount: %s: bisogna essere superuser per eseguire umount"
 
-#: mount/umount.c:189
+#: mount/umount.c:195
 #, c-format
 msgid "umount: %s: block devices not permitted on fs"
-msgstr ""
+msgstr "umount: %s: i dispositivi di blocchi non sono permessi su fs"
 
-#: mount/umount.c:191
+#: mount/umount.c:197
 #, c-format
 msgid "umount: %s: %s"
-msgstr ""
+msgstr "umount: %s: %s"
 
-#: mount/umount.c:235
+#: mount/umount.c:241
 msgid "no umount2, trying umount...\n"
-msgstr ""
+msgstr "nessun umount2, tentativo di umount in corso...\n"
 
-#: mount/umount.c:248
+#: mount/umount.c:254
 #, c-format
 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"
 
-#: mount/umount.c:264
+#: mount/umount.c:270
 #, c-format
 msgid "umount: %s busy - remounted read-only\n"
-msgstr ""
+msgstr "umount: %s occupato - rimontato sola lettura\n"
 
-#: mount/umount.c:272
+#: mount/umount.c:278
 #, c-format
 msgid "umount: could not remount %s read-only\n"
-msgstr ""
+msgstr "umount: impossibile rimontare %s di sola lettura\n"
 
-#: mount/umount.c:280
+#: mount/umount.c:286
 #, c-format
 msgid "%s umounted\n"
-msgstr ""
+msgstr "eseguito umount di %s\n"
 
-#: mount/umount.c:363
+#: mount/umount.c:369
 msgid "umount: cannot find list of filesystems to unmount"
-msgstr ""
+msgstr "umount: impossibile trovare l'elenco dei filesystem da smontare"
 
-#: mount/umount.c:392
+#: mount/umount.c:398
 msgid ""
 "Usage: umount [-hV]\n"
 "       umount -a [-f] [-r] [-n] [-v] [-t vfstypes]\n"
 "       umount [-f] [-r] [-n] [-v] special | node...\n"
 msgstr ""
+"Utilizzo: umount [-hV]\n"
+"       umount -a [-f] [-r] [-n] [-v] [-t vfstypes]\n"
+"       umount [-f] [-r] [-n] [-v] special | node...\n"
 
-#: mount/umount.c:453
+#: mount/umount.c:459
 msgid "umount: only root can do that"
-msgstr ""
+msgstr " umount: è possibile solo per root"
 
-#: mount/umount.c:468
+#: mount/umount.c:474
 #, c-format
 msgid "Trying to umount %s\n"
-msgstr ""
+msgstr "Tentativo di eseguire umount di %s in corso\n"
 
-#: mount/umount.c:472
+#: mount/umount.c:478
 #, c-format
 msgid "Could not find %s in mtab\n"
-msgstr ""
+msgstr "Impossibile trovare %s in mtab\n"
 
-#: mount/umount.c:476
+#: mount/umount.c:482
 #, c-format
 msgid "umount: %s is not mounted (according to mtab)"
-msgstr ""
+msgstr "umount: %s non è montato (secondo mtab)"
 
-#: mount/umount.c:478
+#: mount/umount.c:484
 #, c-format
 msgid "umount: it seems %s is mounted multiple times"
-msgstr ""
+msgstr "umount: sembra che %s sia stato montato diverse volte"
 
-#: mount/umount.c:490
+#: mount/umount.c:496
 #, c-format
 msgid "umount: %s is not in the fstab (and you are not root)"
-msgstr ""
+msgstr "umount: %s non si trova in fstab (e non si è root)"
 
-#: mount/umount.c:493
+#: mount/umount.c:499
 #, c-format
 msgid "umount: %s mount disagrees with the fstab"
-msgstr ""
+msgstr "umount: %s mount non coerente con fstab"
 
-#: mount/umount.c:514
+#: mount/umount.c:520
 #, c-format
 msgid "umount: only root can unmount %s from %s"
-msgstr ""
+msgstr "umount: solamente root può smontare %s da %s"
 
-#: mount/umount.c:525
+#: mount/umount.c:531
 #, c-format
 msgid "umount: only %s can unmount %s from %s"
-msgstr ""
+msgstr "umount: solamente %s può smontare %s da %s"
 
 #: sys-utils/ctrlaltdel.c:26
 msgid "You must be root to set the Ctrl-Alt-Del behaviour.\n"
-msgstr ""
+msgstr "Bisogna essere root per impostare modalità Ctrl-Alt-Del.\n"
 
 #: sys-utils/ctrlaltdel.c:41
 msgid "Usage: ctrlaltdel hard|soft\n"
-msgstr ""
+msgstr "Utilizzo: ctrlaltdel hard|soft\n"
 
 #: sys-utils/cytune.c:118
 #, c-format
@@ -7129,6 +7716,9 @@ 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:129
 #, c-format
@@ -7137,31 +7727,34 @@ msgid ""
 "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:196
 #, c-format
 msgid "Invalid interval value: %s\n"
-msgstr ""
+msgstr "Valore intervallo non valido: %s\n"
 
 #: sys-utils/cytune.c:204
 #, c-format
 msgid "Invalid set value: %s\n"
-msgstr ""
+msgstr "Valore impostato non valido: %s\n"
 
 #: sys-utils/cytune.c:212
 #, c-format
 msgid "Invalid default value: %s\n"
-msgstr ""
+msgstr "Valore predefinito non valido: %s\n"
 
 #: sys-utils/cytune.c:220
 #, c-format
 msgid "Invalid set time value: %s\n"
-msgstr ""
+msgstr "Ora impostata non valida: %s\n"
 
 #: sys-utils/cytune.c:228
 #, c-format
 msgid "Invalid default time value: %s\n"
-msgstr ""
+msgstr "Ora predefinita non valida: %s\n"
 
 #: sys-utils/cytune.c:245
 #, c-format
@@ -7169,711 +7762,728 @@ msgid ""
 "Usage: %s [-q [-i interval]] ([-s value]|[-S value]) ([-t value]|[-T value]) "
 "[-g|-G] file [file...]\n"
 msgstr ""
+"Utilizzo: %s [-q [-i interval]] ([-s value]|[-S value]) ([-t value]|[-T "
+"value]) [-g|-G] file [file...]\n"
 
 #: sys-utils/cytune.c:257 sys-utils/cytune.c:275 sys-utils/cytune.c:294
 #: sys-utils/cytune.c:342
 #, c-format
 msgid "Can't open %s: %s\n"
-msgstr ""
+msgstr "Impossibile aprire %s: %s\n"
 
 #: sys-utils/cytune.c:264
 #, c-format
 msgid "Can't set %s to threshold %d: %s\n"
-msgstr ""
+msgstr "Impossibile impostare %s alla soglia %d: %s\n"
 
 #: sys-utils/cytune.c:282
 #, c-format
 msgid "Can't set %s to time threshold %d: %s\n"
-msgstr ""
+msgstr "Impossibile impostare %s al limite ora %d: %s\n"
 
 #: sys-utils/cytune.c:299 sys-utils/cytune.c:354 sys-utils/cytune.c:385
 #, c-format
 msgid "Can't get threshold for %s: %s\n"
-msgstr ""
+msgstr "Impossibile ottenere il limite per %s: %s\n"
 
 #: sys-utils/cytune.c:305 sys-utils/cytune.c:360 sys-utils/cytune.c:391
 #, c-format
 msgid "Can't get timeout for %s: %s\n"
-msgstr ""
+msgstr "Impossibile ottenere il timeout per %s: %s\n"
 
 #: sys-utils/cytune.c:309
 #, c-format
 msgid "%s: %ld %s threshold and %ld %s timeout\n"
-msgstr ""
+msgstr "%s: %ld %s limite e %ld %s timeout\n"
 
 #: sys-utils/cytune.c:311 sys-utils/cytune.c:313
 msgid "current"
-msgstr ""
+msgstr "corrente"
 
 #: sys-utils/cytune.c:311 sys-utils/cytune.c:313
 msgid "default"
-msgstr ""
+msgstr "predefinito"
 
 #: sys-utils/cytune.c:330
 msgid "Can't set signal handler"
-msgstr ""
+msgstr "Impossibile impostare un gestore del segnale"
 
 #: sys-utils/cytune.c:334 sys-utils/cytune.c:369
 msgid "gettimeofday failed"
-msgstr ""
+msgstr "gettimeofday non riuscito"
 
 #: sys-utils/cytune.c:347 sys-utils/cytune.c:379
 #, c-format
 msgid "Can't issue CYGETMON on %s: %s\n"
-msgstr ""
+msgstr "Impossibile eseguire CYGETMON su %s: %s\n"
 
 #: sys-utils/cytune.c:421
 #, c-format
 msgid "%s: %lu ints, %lu/%lu chars; "
-msgstr ""
+msgstr "%s: %lu ints, %lu/%lu chars;"
 
 #: sys-utils/cytune.c:422
 #, c-format
 msgid "fifo: %lu thresh, %lu tmout, "
-msgstr ""
+msgstr "fifo: %lu thresh, %lu tmout, "
 
 #: sys-utils/cytune.c:423
 #, c-format
 msgid "%lu max, %lu now\n"
-msgstr ""
+msgstr "%lu max, %lu now\n"
 
 #: sys-utils/cytune.c:428
 #, c-format
 msgid "   %f int/sec; %f rec, %f send (char/sec)\n"
-msgstr ""
+msgstr "   %f int/sec; %f rec, %f send (car/sec)\n"
 
 #: sys-utils/cytune.c:433
 #, 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:438
 #, c-format
 msgid "   %f int/sec; %f rec (char/sec)\n"
-msgstr ""
+msgstr "   %f int/sec; %f rec (car/sec)\n"
 
 #: sys-utils/dmesg.c:38
 #, c-format
 msgid "Usage: %s [-c] [-n level] [-s bufsize]\n"
-msgstr ""
+msgstr " Utilizzo: %s [-c] [-n level] [-s bufsize]\n"
 
 #: sys-utils/ipcrm.c:46
 #, c-format
 msgid "usage: %s [shm | msg | sem] id\n"
-msgstr ""
+msgstr "utilizzo: %s [shm | msg | sem] id\n"
 
 #: sys-utils/ipcrm.c:70
 #, c-format
 msgid "usage: %s [-shm | -msg | -sem] id\n"
-msgstr ""
+msgstr "utilizzo: %s [-shm | -msg | -sem] id\n"
 
 #: sys-utils/ipcrm.c:73
 msgid "resource deleted\n"
-msgstr ""
+msgstr "risorsa eliminata\n"
 
-#: sys-utils/ipcs.c:91
+#: sys-utils/ipcs.c:117
 #, c-format
 msgid "usage : %s -asmq -tclup \n"
-msgstr ""
+msgstr "utilizzo : %s -asmq -tclup \n"
 
-#: sys-utils/ipcs.c:92
+#: sys-utils/ipcs.c:118
 #, c-format
 msgid "\t%s [-s -m -q] -i id\n"
-msgstr ""
+msgstr "\t%s [-s -m -q] -i id\n"
 
-#: sys-utils/ipcs.c:93
+#: sys-utils/ipcs.c:119
 #, c-format
 msgid "\t%s -h for help.\n"
-msgstr ""
+msgstr "\t%s -h per richiamare la guida.\n"
 
-#: sys-utils/ipcs.c:99
+#: sys-utils/ipcs.c:125
 #, c-format
 msgid "%s provides information on ipc facilities for"
-msgstr ""
+msgstr "%s fornisce informazioni sulle funzionalità ipc per"
 
-#: sys-utils/ipcs.c:100
+#: sys-utils/ipcs.c:126
 msgid " which you have read access.\n"
-msgstr ""
+msgstr " le quali si ha accesso in lettura.\n"
 
-#: sys-utils/ipcs.c:101
+#: sys-utils/ipcs.c:127
 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:102
+#: sys-utils/ipcs.c:128
 msgid ""
 "\t-s : semaphores\n"
 "\t-a : all (default)\n"
 msgstr ""
+"\t-s : semafori\n"
+"\t-a : tutti (predefinito)\n"
 
-#: sys-utils/ipcs.c:103
+#: sys-utils/ipcs.c:129
 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:104
+#: sys-utils/ipcs.c:130
 msgid ""
 "\t-l : limits\n"
 "\t-u : summary\n"
 msgstr ""
+"\t-l : limiti\n"
+"\t-u : sommario\n"
 
-#: sys-utils/ipcs.c:105
+#: sys-utils/ipcs.c:131
 msgid "-i id [-s -q -m] : details on resource identified by id\n"
-msgstr ""
+msgstr "-i id [-s -q -m] : dettagli sulla risorsa identificata da id\n"
 
-#: sys-utils/ipcs.c:237 sys-utils/ipcs.c:439
+#: sys-utils/ipcs.c:263 sys-utils/ipcs.c:465
 msgid "kernel not configured for shared memory\n"
-msgstr ""
+msgstr "il kernel non è configurato per la condivisione della memoria\n"
 
-#: sys-utils/ipcs.c:243
+#: sys-utils/ipcs.c:269
 msgid "------ Shared Memory Limits --------\n"
-msgstr ""
+msgstr "------ Limiti della memoria condivisa --------\n"
 
-#: sys-utils/ipcs.c:246
+#: sys-utils/ipcs.c:272
 #, c-format
 msgid "max number of segments = %d\n"
-msgstr ""
+msgstr "numero massimo di segmenti = %d\n"
 
-#: sys-utils/ipcs.c:247
+#: sys-utils/ipcs.c:273
 #, c-format
 msgid "max seg size (kbytes) = %d\n"
-msgstr ""
+msgstr "dimensione max seg (kbyte) = %d\n"
 
-#: sys-utils/ipcs.c:248
+#: sys-utils/ipcs.c:274
 #, c-format
 msgid "max total shared memory (kbytes) = %d\n"
-msgstr ""
+msgstr "valore massimo totale di memoria condivisa (kbyte) = %d\n"
 
-#: sys-utils/ipcs.c:249
+#: sys-utils/ipcs.c:275
 #, c-format
 msgid "min seg size (bytes) = %d\n"
-msgstr ""
+msgstr "dimensione min seg (byte) = %d\n"
 
-#: sys-utils/ipcs.c:253
+#: sys-utils/ipcs.c:279
 msgid "------ Shared Memory Status --------\n"
-msgstr ""
+msgstr "------ stato della memoria condivisa --------\n"
 
-#: sys-utils/ipcs.c:254
+#: sys-utils/ipcs.c:280
 #, c-format
 msgid "segments allocated %d\n"
-msgstr ""
+msgstr "segmenti allocati %d\n"
 
-#: sys-utils/ipcs.c:255
+#: sys-utils/ipcs.c:281
 #, c-format
 msgid "pages allocated %ld\n"
-msgstr ""
+msgstr "pagine allocate %ld\n"
 
-#: sys-utils/ipcs.c:256
+#: sys-utils/ipcs.c:282
 #, c-format
 msgid "pages resident  %ld\n"
-msgstr ""
+msgstr "pagine residenti  %ld\n"
 
-#: sys-utils/ipcs.c:257
+#: sys-utils/ipcs.c:283
 #, c-format
 msgid "pages swapped   %ld\n"
-msgstr ""
+msgstr "pagine scambiate (swapping)   %ld\n"
 
-#: sys-utils/ipcs.c:258
+#: sys-utils/ipcs.c:284
 #, c-format
 msgid "Swap performance: %ld attempts\t %ld successes\n"
-msgstr ""
+msgstr "Prestazione swap: %ld tentativi\t %ld riusciti\n"
 
-#: sys-utils/ipcs.c:263
+#: sys-utils/ipcs.c:289
 msgid "------ Shared Memory Segment Creators/Owners --------\n"
-msgstr ""
+msgstr "------ Segmento Mem. Condiv. Creatori/Propr.--------\n"
 
-#: sys-utils/ipcs.c:264 sys-utils/ipcs.c:370 sys-utils/ipcs.c:462
+#: sys-utils/ipcs.c:290 sys-utils/ipcs.c:396 sys-utils/ipcs.c:488
 #, c-format
 msgid "%-10s%-10s%-10s%-10s%-10s%-10s\n"
-msgstr ""
+msgstr "%-10s%-10s%-10s%-10s%-10s%-10s\n"
 
-#: sys-utils/ipcs.c:265 sys-utils/ipcs.c:271 sys-utils/ipcs.c:276
-#: sys-utils/ipcs.c:281 sys-utils/ipcs.c:377
+#: sys-utils/ipcs.c:291 sys-utils/ipcs.c:297 sys-utils/ipcs.c:302
+#: sys-utils/ipcs.c:307 sys-utils/ipcs.c:403
 msgid "shmid"
-msgstr ""
+msgstr "shmid"
 
-#: sys-utils/ipcs.c:265 sys-utils/ipcs.c:282 sys-utils/ipcs.c:371
-#: sys-utils/ipcs.c:386 sys-utils/ipcs.c:463 sys-utils/ipcs.c:480
+#: sys-utils/ipcs.c:291 sys-utils/ipcs.c:308 sys-utils/ipcs.c:397
+#: sys-utils/ipcs.c:412 sys-utils/ipcs.c:489 sys-utils/ipcs.c:506
 msgid "perms"
-msgstr ""
+msgstr "perms"
 
-#: sys-utils/ipcs.c:265 sys-utils/ipcs.c:371 sys-utils/ipcs.c:463
+#: sys-utils/ipcs.c:291 sys-utils/ipcs.c:397 sys-utils/ipcs.c:489
 msgid "cuid"
-msgstr ""
+msgstr "cuid"
 
-#: sys-utils/ipcs.c:265 sys-utils/ipcs.c:371 sys-utils/ipcs.c:463
+#: sys-utils/ipcs.c:291 sys-utils/ipcs.c:397 sys-utils/ipcs.c:489
 msgid "cgid"
-msgstr ""
+msgstr "cgid"
 
-#: sys-utils/ipcs.c:265 sys-utils/ipcs.c:371 sys-utils/ipcs.c:463
+#: sys-utils/ipcs.c:291 sys-utils/ipcs.c:397 sys-utils/ipcs.c:489
 msgid "uid"
-msgstr ""
+msgstr "uid"
 
-#: sys-utils/ipcs.c:265 sys-utils/ipcs.c:463
+#: sys-utils/ipcs.c:291 sys-utils/ipcs.c:489
 msgid "gid"
-msgstr ""
+msgstr "gid"
 
-#: sys-utils/ipcs.c:269
+#: sys-utils/ipcs.c:295
 msgid "------ Shared Memory Attach/Detach/Change Times --------\n"
-msgstr ""
+msgstr "------ Mem. Condiv.  Conn./Sconn./Cambio  Volte --------\n"
 
-#: sys-utils/ipcs.c:270
+#: sys-utils/ipcs.c:296
 #, c-format
 msgid "%-10s%-10s  %-20s%-20s%-20s\n"
-msgstr ""
+msgstr "%-10s%-10s  %-20s%-20s%-20s\n"
 
-#: sys-utils/ipcs.c:271 sys-utils/ipcs.c:276 sys-utils/ipcs.c:282
-#: sys-utils/ipcs.c:377 sys-utils/ipcs.c:386 sys-utils/ipcs.c:469
-#: sys-utils/ipcs.c:474 sys-utils/ipcs.c:480
-#, fuzzy
+#: sys-utils/ipcs.c:297 sys-utils/ipcs.c:302 sys-utils/ipcs.c:308
+#: sys-utils/ipcs.c:403 sys-utils/ipcs.c:412 sys-utils/ipcs.c:495
+#: sys-utils/ipcs.c:500 sys-utils/ipcs.c:506
 msgid "owner"
-msgstr "Fatto"
+msgstr "proprietario"
 
-#: sys-utils/ipcs.c:271
+#: sys-utils/ipcs.c:297
 msgid "attached"
-msgstr ""
+msgstr "connesso"
 
-#: sys-utils/ipcs.c:271
+#: sys-utils/ipcs.c:297
 msgid "detached"
-msgstr ""
+msgstr "disconnesso"
 
-#: sys-utils/ipcs.c:271
+#: sys-utils/ipcs.c:297
 msgid "changed"
-msgstr ""
+msgstr "cambiato"
 
-#: sys-utils/ipcs.c:275
+#: sys-utils/ipcs.c:301
 msgid "------ Shared Memory Creator/Last-op --------\n"
-msgstr ""
+msgstr "------ Mem.  Condiv. Creatore/Last-op--------\n"
 
-#: sys-utils/ipcs.c:276 sys-utils/ipcs.c:474
+#: sys-utils/ipcs.c:302 sys-utils/ipcs.c:500
 #, c-format
 msgid "%-10s%-10s%-10s%-10s\n"
-msgstr ""
+msgstr "%-10s%-10s%-10s%-10s\n"
 
-#: sys-utils/ipcs.c:276
+#: sys-utils/ipcs.c:302
 msgid "cpid"
-msgstr ""
+msgstr "cpid"
 
-#: sys-utils/ipcs.c:276
+#: sys-utils/ipcs.c:302
 msgid "lpid"
-msgstr ""
+msgstr "lpid"
 
-#: sys-utils/ipcs.c:280
+#: sys-utils/ipcs.c:306
 msgid "------ Shared Memory Segments --------\n"
-msgstr ""
+msgstr "------ Segm. Memoria Condivisa --------\n"
 
-#: sys-utils/ipcs.c:281
+#: sys-utils/ipcs.c:307
 #, c-format
 msgid "%-10s%-10s%-10s%-10s%-10s%-10s%-12s\n"
-msgstr ""
+msgstr "%-10s%-10s%-10s%-10s%-10s%-10s%-12s\n"
 
-#: sys-utils/ipcs.c:281 sys-utils/ipcs.c:386 sys-utils/ipcs.c:479
+#: sys-utils/ipcs.c:307 sys-utils/ipcs.c:412 sys-utils/ipcs.c:505
 msgid "key"
-msgstr ""
+msgstr "chiave"
 
-#: sys-utils/ipcs.c:282
+#: sys-utils/ipcs.c:308
 msgid "bytes"
-msgstr ""
+msgstr "byte"
 
-#: sys-utils/ipcs.c:282
+#: sys-utils/ipcs.c:308
 msgid "nattch"
-msgstr ""
+msgstr "nattch"
 
-#: sys-utils/ipcs.c:282 sys-utils/ipcs.c:386
+#: sys-utils/ipcs.c:308 sys-utils/ipcs.c:412
 msgid "status"
-msgstr ""
+msgstr "stato"
 
-#: sys-utils/ipcs.c:302 sys-utils/ipcs.c:303 sys-utils/ipcs.c:304
-#: sys-utils/ipcs.c:407 sys-utils/ipcs.c:408 sys-utils/ipcs.c:500
-#: sys-utils/ipcs.c:501 sys-utils/ipcs.c:502
+#: sys-utils/ipcs.c:328 sys-utils/ipcs.c:329 sys-utils/ipcs.c:330
+#: sys-utils/ipcs.c:433 sys-utils/ipcs.c:434 sys-utils/ipcs.c:526
+#: sys-utils/ipcs.c:527 sys-utils/ipcs.c:528
 msgid "Not set"
-msgstr ""
+msgstr "Non impostato"
 
-#: sys-utils/ipcs.c:324
+#: sys-utils/ipcs.c:350
 msgid "dest"
-msgstr ""
+msgstr "dest"
 
-#: sys-utils/ipcs.c:325
+#: sys-utils/ipcs.c:351
 msgid "locked"
-msgstr ""
+msgstr "bloccato"
 
-#: sys-utils/ipcs.c:345
+#: sys-utils/ipcs.c:371
 msgid "kernel not configured for semaphores\n"
-msgstr ""
+msgstr "kernel non configurato per i semafori\n"
 
-#: sys-utils/ipcs.c:351
-#, fuzzy
+#: sys-utils/ipcs.c:377
 msgid "------ Semaphore Limits --------\n"
-msgstr "-------      -----------"
+msgstr "------ Limiti di semaforo --------\n"
 
-#: sys-utils/ipcs.c:355
+#: sys-utils/ipcs.c:381
 #, c-format
 msgid "max number of arrays = %d\n"
-msgstr ""
+msgstr "numero max di matrici = %d\n"
 
-#: sys-utils/ipcs.c:356
+#: sys-utils/ipcs.c:382
 #, c-format
 msgid "max semaphores per array = %d\n"
-msgstr ""
+msgstr "numero max di semafori per matrice = %d\n"
 
-#: sys-utils/ipcs.c:357
+#: sys-utils/ipcs.c:383
 #, c-format
 msgid "max semaphores system wide = %d\n"
-msgstr ""
+msgstr "numero max di semafori su tutto il sistema = %d\n"
 
-#: sys-utils/ipcs.c:358
+#: sys-utils/ipcs.c:384
 #, c-format
 msgid "max ops per semop call = %d\n"
-msgstr ""
+msgstr "numero max opz. per chiamata semop = %d\n"
 
-#: sys-utils/ipcs.c:359
+#: sys-utils/ipcs.c:385
 #, c-format
 msgid "semaphore max value = %d\n"
-msgstr ""
+msgstr "valore max del semaforo = %d\n"
 
-#: sys-utils/ipcs.c:363
-#, fuzzy
+#: sys-utils/ipcs.c:389
 msgid "------ Semaphore Status --------\n"
-msgstr "-------      -----------"
+msgstr "------ Stato del semaforo --------\n"
 
-#: sys-utils/ipcs.c:364
+#: sys-utils/ipcs.c:390
 #, c-format
 msgid "used arrays = %d\n"
-msgstr ""
+msgstr "matrici utilizzate = %d\n"
 
-#: sys-utils/ipcs.c:365
+#: sys-utils/ipcs.c:391
 #, c-format
 msgid "allocated semaphores = %d\n"
-msgstr ""
+msgstr "semafori allocati = %d\n"
 
-#: sys-utils/ipcs.c:369
+#: sys-utils/ipcs.c:395
 msgid "------ Semaphore Arrays Creators/Owners --------\n"
-msgstr ""
+msgstr "------ Matrice di Semaf. Creatori/Propr. --------\n"
 
-#: sys-utils/ipcs.c:371 sys-utils/ipcs.c:386
+#: sys-utils/ipcs.c:397 sys-utils/ipcs.c:412
 msgid "semid"
-msgstr ""
+msgstr "semid"
 
-#: sys-utils/ipcs.c:375
+#: sys-utils/ipcs.c:401
 msgid "------ Shared Memory Operation/Change Times --------\n"
-msgstr ""
+msgstr "------ Mem. Condivisa Operazione/Modif. Volte --------\n"
 
-#: sys-utils/ipcs.c:376
+#: sys-utils/ipcs.c:402
 #, c-format
 msgid "%-8s%-10s  %-26.24s %-26.24s\n"
-msgstr ""
+msgstr "%-8s%-10s  %-26.24s %-26.24s\n"
 
-#: sys-utils/ipcs.c:377
+#: sys-utils/ipcs.c:403
 msgid "last-op"
-msgstr ""
+msgstr "last-op"
 
-#: sys-utils/ipcs.c:377
+#: sys-utils/ipcs.c:403
 msgid "last-changed"
-msgstr ""
+msgstr "ultima-modifica"
 
-#: sys-utils/ipcs.c:384
-#, fuzzy
+#: sys-utils/ipcs.c:410
 msgid "------ Semaphore Arrays --------\n"
-msgstr "-------      -----------"
+msgstr "------ Matrici semafori --------\n"
 
-#: sys-utils/ipcs.c:385
+#: sys-utils/ipcs.c:411
 #, c-format
 msgid "%-10s%-10s%-10s%-10s%-10s%-12s\n"
-msgstr ""
+msgstr "%-10s%-10s%-10s%-10s%-10s%-12s\n"
 
-#: sys-utils/ipcs.c:386
+#: sys-utils/ipcs.c:412
 msgid "nsems"
-msgstr ""
+msgstr "nsems"
 
-#: sys-utils/ipcs.c:447
-#, fuzzy
+#: sys-utils/ipcs.c:473
 msgid "------ Messages: Limits --------\n"
-msgstr "-------      -----------"
+msgstr "------ Messaggi: limiti --------\n"
 
-#: sys-utils/ipcs.c:448
+#: sys-utils/ipcs.c:474
 #, c-format
 msgid "max queues system wide = %d\n"
-msgstr ""
+msgstr "numero max di code su tutto il sistema = %d\n"
 
-#: sys-utils/ipcs.c:449
+#: sys-utils/ipcs.c:475
 #, c-format
 msgid "max size of message (bytes) = %d\n"
-msgstr ""
+msgstr "dimensione max del messaggio (byte) = %d\n"
 
-#: sys-utils/ipcs.c:450
+#: sys-utils/ipcs.c:476
 #, c-format
 msgid "default max size of queue (bytes) = %d\n"
-msgstr ""
+msgstr "dimensione massima predefinita della coda (byte) = %d\n"
 
-#: sys-utils/ipcs.c:454
-#, fuzzy
+#: sys-utils/ipcs.c:480
 msgid "------ Messages: Status --------\n"
-msgstr "-------      -----------"
+msgstr "------ Messaggi: stato --------\n"
 
-#: sys-utils/ipcs.c:455
+#: sys-utils/ipcs.c:481
 #, c-format
 msgid "allocated queues = %d\n"
-msgstr ""
+msgstr "code allocate = %d\n"
 
-#: sys-utils/ipcs.c:456
+#: sys-utils/ipcs.c:482
 #, c-format
 msgid "used headers = %d\n"
-msgstr ""
+msgstr "intestazioni utilizzate = %d\n"
 
-#: sys-utils/ipcs.c:457
+#: sys-utils/ipcs.c:483
 #, c-format
 msgid "used space = %d bytes\n"
-msgstr ""
+msgstr "spazio utilizzato = %d byte\n"
 
-#: sys-utils/ipcs.c:461
+#: sys-utils/ipcs.c:487
 msgid "------ Message Queues: Creators/Owners --------\n"
-msgstr ""
+msgstr "------ Code messaggi: Creatori/Proprietari --------\n"
 
-#: sys-utils/ipcs.c:463 sys-utils/ipcs.c:469 sys-utils/ipcs.c:474
-#: sys-utils/ipcs.c:479
+#: sys-utils/ipcs.c:489 sys-utils/ipcs.c:495 sys-utils/ipcs.c:500
+#: sys-utils/ipcs.c:505
 msgid "msqid"
-msgstr ""
+msgstr "msqid"
 
-#: sys-utils/ipcs.c:467
+#: sys-utils/ipcs.c:493
 msgid "------ Message Queues Send/Recv/Change Times --------\n"
-msgstr ""
+msgstr "------ Code messaggi  Inv./Ric./Modif. Volte--------\n"
 
-#: sys-utils/ipcs.c:468
+#: sys-utils/ipcs.c:494
 #, c-format
 msgid "%-8s%-10s  %-20s%-20s%-20s\n"
-msgstr ""
+msgstr "%-8s%-10s  %-20s%-20s%-20s\n"
 
-#: sys-utils/ipcs.c:469
+#: sys-utils/ipcs.c:495
 msgid "send"
-msgstr ""
+msgstr "invio"
 
-#: sys-utils/ipcs.c:469
+#: sys-utils/ipcs.c:495
 msgid "recv"
-msgstr ""
+msgstr "ricez."
 
-#: sys-utils/ipcs.c:469
+#: sys-utils/ipcs.c:495
 msgid "change"
-msgstr ""
+msgstr "modifica"
 
-#: sys-utils/ipcs.c:473
-#, fuzzy
+#: sys-utils/ipcs.c:499
 msgid "------ Message Queues PIDs --------\n"
-msgstr "-------      -----------"
+msgstr "------ Code Messaggi  PID  --------\n"
 
-#: sys-utils/ipcs.c:474
+#: sys-utils/ipcs.c:500
 msgid "lspid"
-msgstr ""
+msgstr "lspid"
 
-#: sys-utils/ipcs.c:474
+#: sys-utils/ipcs.c:500
 msgid "lrpid"
-msgstr ""
+msgstr "lrpid"
 
-#: sys-utils/ipcs.c:478
-#, fuzzy
+#: sys-utils/ipcs.c:504
 msgid "------ Message Queues --------\n"
-msgstr "-------      -----------"
+msgstr "------ Code messaggi  --------\n"
 
-#: sys-utils/ipcs.c:479
+#: sys-utils/ipcs.c:505
 #, c-format
 msgid "%-10s%-10s%-10s%-10s%-12s%-12s\n"
-msgstr ""
+msgstr "%-10s%-10s%-10s%-10s%-12s%-12s\n"
 
-#: sys-utils/ipcs.c:480
+#: sys-utils/ipcs.c:506
 msgid "used-bytes"
-msgstr ""
+msgstr "byte utilizzati"
 
-#: sys-utils/ipcs.c:480
+#: sys-utils/ipcs.c:506
 msgid "messages"
-msgstr ""
+msgstr "messaggi"
 
-#: sys-utils/ipcs.c:539
+#: sys-utils/ipcs.c:565
 #, c-format
 msgid ""
 "\n"
 "Shared memory Segment shmid=%d\n"
 msgstr ""
+"\n"
+"Segmento memoria condivisa shmid=%d\n"
 
-#: sys-utils/ipcs.c:540
+#: sys-utils/ipcs.c:566
 #, c-format
 msgid "uid=%d\tgid=%d\tcuid=%d\tcgid=%d\n"
-msgstr ""
+msgstr "uid=%d\tgid=%d\tcuid=%d\tcgid=%d\n"
 
-#: sys-utils/ipcs.c:542
+#: sys-utils/ipcs.c:568
 #, c-format
 msgid "mode=%#o\taccess_perms=%#o\n"
-msgstr ""
+msgstr "mode=%#o\taccess_perms=%#o\n"
 
-#: sys-utils/ipcs.c:543
+#: sys-utils/ipcs.c:569
 #, c-format
 msgid "bytes=%d\tlpid=%d\tcpid=%d\tnattch=%d\n"
-msgstr ""
+msgstr "byte=%d\tlpid=%d\tcpid=%d\tnattch=%d\n"
 
-#: sys-utils/ipcs.c:546
+#: sys-utils/ipcs.c:572
 #, c-format
 msgid "att_time=%s"
-msgstr ""
+msgstr "att_time=%s"
 
-#: sys-utils/ipcs.c:547 sys-utils/ipcs.c:549 sys-utils/ipcs.c:598
+#: sys-utils/ipcs.c:573 sys-utils/ipcs.c:575 sys-utils/ipcs.c:624
 msgid "Not set\n"
-msgstr ""
+msgstr "Non impostato\n"
 
-#: sys-utils/ipcs.c:548
+#: sys-utils/ipcs.c:574
 #, c-format
 msgid "det_time=%s"
-msgstr ""
+msgstr "det_time=%s"
 
-#: sys-utils/ipcs.c:550
+#: sys-utils/ipcs.c:576
 #, c-format
 msgid "change_time=%s"
-msgstr ""
+msgstr "change_time=%s"
 
-#: sys-utils/ipcs.c:566
+#: sys-utils/ipcs.c:592
 #, c-format
 msgid ""
 "\n"
 "Message Queue msqid=%d\n"
 msgstr ""
+"\n"
+"Coda di messaggi msqid=%d\n"
 
-#: sys-utils/ipcs.c:567
+#: sys-utils/ipcs.c:593
 #, c-format
 msgid "uid=%d\tgid=%d\tcuid=%d\tcgid=%d\tmode=%#o\n"
-msgstr ""
+msgstr "uid=%d\tgid=%d\tcuid=%d\tcgid=%d\tmode=%#o\n"
 
-#: sys-utils/ipcs.c:569
+#: sys-utils/ipcs.c:595
 #, c-format
 msgid "cbytes=%d\tqbytes=%d\tqnum=%d\tlspid=%d\tlrpid=%d\n"
-msgstr ""
+msgstr "cbytes=%d\tqbytes=%d\tqnum=%d\tlspid=%d\tlrpid=%d\n"
 
-#: sys-utils/ipcs.c:572
+#: sys-utils/ipcs.c:598
 #, c-format
 msgid "send_time=%srcv_time=%schange_time=%s"
-msgstr ""
+msgstr "send_time=%srcv_time=%schange_time=%s"
 
-#: sys-utils/ipcs.c:573 sys-utils/ipcs.c:574 sys-utils/ipcs.c:575
+#: sys-utils/ipcs.c:599 sys-utils/ipcs.c:600 sys-utils/ipcs.c:601
 msgid "Not Set\n"
-msgstr ""
+msgstr "Non impostato\n"
 
-#: sys-utils/ipcs.c:592
+#: sys-utils/ipcs.c:618
 #, c-format
 msgid ""
 "\n"
 "Semaphore Array semid=%d\n"
 msgstr ""
+"\n"
+"matrice semafori semid=%d\n"
 
-#: sys-utils/ipcs.c:593
+#: sys-utils/ipcs.c:619
 #, c-format
 msgid "uid=%d\t gid=%d\t cuid=%d\t cgid=%d\n"
-msgstr ""
+msgstr "uid=%d\t gid=%d\t cuid=%d\t cgid=%d\n"
 
-#: sys-utils/ipcs.c:595
+#: sys-utils/ipcs.c:621
 #, c-format
 msgid "mode=%#o, access_perms=%#o\n"
-msgstr ""
+msgstr "modalità=%#o, access_perms=%#o\n"
 
-#: sys-utils/ipcs.c:596
+#: sys-utils/ipcs.c:622
 #, c-format
 msgid "nsems = %d\n"
-msgstr ""
+msgstr "nsems = %d\n"
 
-#: sys-utils/ipcs.c:597
+#: sys-utils/ipcs.c:623
 #, c-format
 msgid "otime = %s"
-msgstr ""
+msgstr "otime = %s"
 
-#: sys-utils/ipcs.c:599
+#: sys-utils/ipcs.c:625
 #, c-format
 msgid "ctime = %s"
-msgstr ""
+msgstr "ctime = %s"
 
-#: sys-utils/ipcs.c:601
+#: sys-utils/ipcs.c:627
 #, c-format
 msgid "%-10s%-10s%-10s%-10s%-10s\n"
-msgstr ""
+msgstr "%-10s%-10s%-10s%-10s%-10s\n"
 
-#: sys-utils/ipcs.c:601
+#: sys-utils/ipcs.c:627
 msgid "semnum"
-msgstr ""
+msgstr "semnum"
 
-#: sys-utils/ipcs.c:601
-#, fuzzy
+#: sys-utils/ipcs.c:627
 msgid "value"
-msgstr "Tabella"
+msgstr "valore"
 
-#: sys-utils/ipcs.c:601
+#: sys-utils/ipcs.c:627
 msgid "ncount"
-msgstr ""
+msgstr "ncount"
 
-#: sys-utils/ipcs.c:602
+#: sys-utils/ipcs.c:628
 msgid "zcount"
-msgstr ""
+msgstr "zcount"
 
-#: sys-utils/ipcs.c:602
+#: sys-utils/ipcs.c:628
 msgid "pid"
-msgstr ""
+msgstr "pid"
 
 #: sys-utils/rdev.c:68
 msgid "usage: rdev [ -rsv ] [ -o OFFSET ] [ IMAGE [ VALUE [ OFFSET ] ] ]"
 msgstr ""
+"utilizzo: rdev [ -rsv ] [ -o OFFSET ] [ IMMAGINE [ VALORE [ OFFSET ] ] ]"
 
 #: sys-utils/rdev.c:69
 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:70
 msgid "  rdev /dev/fd0 /dev/hda2         sets ROOT to /dev/hda2"
-msgstr ""
+msgstr "  rdev /dev/fd0 /dev/hda2         imposta ROOT su /dev/hda2"
 
 #: sys-utils/rdev.c:71
 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:72
 msgid "  rdev -s /dev/fd0 /dev/hda2      set the SWAP device"
-msgstr ""
+msgstr "  rdev -s /dev/fd0 /dev/hda2      imposta SWAP device"
 
 #: sys-utils/rdev.c:73
 msgid "  rdev -r /dev/fd0 627            set the RAMDISK size"
-msgstr ""
+msgstr "  rdev -r /dev/fd0 627            imposta la dimensione del RAMDISK"
 
 #: sys-utils/rdev.c:74
 msgid "  rdev -v /dev/fd0 1              set the bootup VIDEOMODE"
-msgstr ""
+msgstr "  rdev -v /dev/fd0 1             imposta VIDEOMODE all'avvio"
 
 #: sys-utils/rdev.c:75
 msgid "  rdev -o N ...                   use the byte offset N"
-msgstr ""
+msgstr "  rdev -o N ...                   utilizza byte offset N"
 
 #: sys-utils/rdev.c:76
 msgid "  rootflags ...                   same as rdev -R"
-msgstr ""
+msgstr " rootflags ...                   come rdev -R"
 
 #: sys-utils/rdev.c:77
 msgid "  swapdev ...                     same as rdev -s"
-msgstr ""
+msgstr "  swapdev ...                     same as rdev -s"
 
 #: sys-utils/rdev.c:78
 msgid "  ramsize ...                     same as rdev -r"
-msgstr ""
+msgstr " ramsize ...                     come rdev -r"
 
 #: sys-utils/rdev.c:79
 msgid "  vidmode ...                     same as rdev -v"
-msgstr ""
+msgstr " vidmode ...                     come rdev -v"
 
 #: sys-utils/rdev.c:80
 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:81
 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/readprofile.c:52
 #, c-format
@@ -7887,185 +8497,199 @@ msgid ""
 "\t -r            reset all the counters (root only)\n"
 "\t -V            print version and exit\n"
 msgstr ""
+"%s: Utilizzo: \"%s [opzioni]\n"
+"\t -m <mapfile>  (predefinito = \"%s\")\n"
+"\t -p <nome file> (predefinito = \"%s\")\n"
+"\t -i            stampa solamente le informazioni relative alla fase di "
+"campionamento\n"
+"\t -v            stampa i dati in elenco\n"
+"\t -a            stampa tutti i simboli, anche se il conteggio è 0\n"
+"\t -r            reimposta tutti i counter (solamente utente root)\n"
+"\t -V            stampa versione ed esci\n"
 
 #: sys-utils/readprofile.c:116
 #, c-format
 msgid "%s Version %s\n"
-msgstr ""
+msgstr "%s Versione %s\n"
 
 #: sys-utils/readprofile.c:128
 msgid "anything\n"
-msgstr ""
+msgstr "qualsiasi\n"
 
 #: sys-utils/readprofile.c:157
 #, c-format
 msgid "Sampling_step: %i\n"
-msgstr ""
+msgstr "Sampling_step: %i\n"
 
 #: sys-utils/readprofile.c:170 sys-utils/readprofile.c:196
 #, c-format
 msgid "%s: %s(%i): wrong map line\n"
-msgstr ""
+msgstr "%s: %s(%i): linea mappa errata\n"
 
 #: sys-utils/readprofile.c:183
 #, c-format
 msgid "%s: can't find \"_stext\" in %s\n"
-msgstr ""
+msgstr "%s: impossibile trovare \"_stext\" in %s\n"
 
 #: sys-utils/readprofile.c:226
-#, fuzzy
 msgid "total"
-msgstr "Bootable"
+msgstr "totale"
 
 #: sys-utils/renice.c:67
 msgid ""
 "usage: renice priority [ [ -p ] pids ] [ [ -g ] pgrps ] [ [ -u ] users ]\n"
 msgstr ""
+"utilizzo: renice priorità [ [ -p ] pids ] [ [ -g ] pgrps ] [ [ -u ] users ]\n"
 
 #: sys-utils/renice.c:94
 #, c-format
 msgid "renice: %s: unknown user\n"
-msgstr ""
+msgstr "renice: %s: utente sconosciuto\n"
 
 #: sys-utils/renice.c:102
 #, c-format
 msgid "renice: %s: bad value\n"
-msgstr ""
+msgstr "renice: %s: valore non valido\n"
 
 #: sys-utils/renice.c:121
 msgid "getpriority"
-msgstr ""
+msgstr "getpriority"
 
 #: sys-utils/renice.c:126
 msgid "setpriority"
-msgstr ""
+msgstr " setpriority"
 
 #: sys-utils/renice.c:129
 #, c-format
 msgid "%d: old priority %d, new priority %d\n"
-msgstr ""
+msgstr "%d: vecchia priorità %d, nuova priorità %d\n"
 
 #: sys-utils/setsid.c:23
 #, c-format
 msgid "usage: %s program [arg ...]\n"
-msgstr ""
+msgstr "utilizzo: %s programma [arg ...]\n"
 
-#: sys-utils/tunelp.c:74
+#: sys-utils/tunelp.c:73
 #, 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 ""
+"Utilizzo: %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:90
+#: sys-utils/tunelp.c:89
 msgid "malloc error"
-msgstr ""
+msgstr "errore di malloc"
 
-#: sys-utils/tunelp.c:101
-msgid "sscanf error"
-msgstr ""
+#: sys-utils/tunelp.c:100
+#, c-format
+msgid "%s: bad value\n"
+msgstr "%s: valore non valido\n"
 
-#: sys-utils/tunelp.c:239
-#, fuzzy, c-format
+#: sys-utils/tunelp.c:237
+#, c-format
 msgid "%s: %s not an lp device.\n"
-msgstr "\t%s [opzioni] dispositivo\n"
+msgstr "%s: %s no è un lp device.\n"
 
-#: sys-utils/tunelp.c:260
+#: sys-utils/tunelp.c:258
 #, c-format
 msgid "%s status is %d"
-msgstr ""
+msgstr "lo stato di %s è %d"
 
-#: sys-utils/tunelp.c:261
+#: sys-utils/tunelp.c:259
 msgid ", busy"
-msgstr ""
+msgstr ", occupato"
 
-#: sys-utils/tunelp.c:262
+#: sys-utils/tunelp.c:260
 msgid ", ready"
-msgstr ""
+msgstr ", pronto"
 
-#: sys-utils/tunelp.c:263
+#: sys-utils/tunelp.c:261
 msgid ", out of paper"
-msgstr ""
+msgstr ", carta esaurita"
 
-#: sys-utils/tunelp.c:264
+#: sys-utils/tunelp.c:262
 msgid ", on-line"
-msgstr ""
+msgstr ", on-line"
 
-#: sys-utils/tunelp.c:265
+#: sys-utils/tunelp.c:263
 msgid ", error"
-msgstr ""
+msgstr ", errore"
 
-#: sys-utils/tunelp.c:282
+#: sys-utils/tunelp.c:280
 msgid "LPGETIRQ error"
-msgstr ""
+msgstr "errore LPGETIRQ"
 
-#: sys-utils/tunelp.c:288
+#: sys-utils/tunelp.c:286
 #, c-format
 msgid "%s using IRQ %d\n"
-msgstr ""
+msgstr "%s utilizzo di IRQ %d in corso\n"
 
-#: sys-utils/tunelp.c:290
+#: sys-utils/tunelp.c:288
 #, c-format
 msgid "%s using polling\n"
-msgstr ""
+msgstr "%s utilizzo del polling in corso\n"
 
 #: text-utils/col.c:153
 #, c-format
 msgid "col: bad -l argument %s.\n"
-msgstr ""
+msgstr "col: argomento -l invalido per %s.\n"
 
 #: text-utils/col.c:516
 msgid "usage: col [-bfx] [-l nline]\n"
-msgstr ""
+msgstr "utilizzo: col [-bfx] [-l nline]\n"
 
 #: text-utils/col.c:522
 msgid "col: write error.\n"
-msgstr ""
+msgstr "col: errore in scrittura.\n"
 
 #: text-utils/col.c:529
 #, c-format
 msgid "col: warning: can't back up %s.\n"
-msgstr ""
+msgstr "col: attenzione: impossibile eseguire il backup di %s.\n"
 
 #: text-utils/col.c:530
 msgid "past first line"
-msgstr ""
+msgstr "dopo la prima linea"
 
 #: text-utils/col.c:530
 msgid "-- line already flushed"
-msgstr ""
+msgstr "-- linea già svuotata"
 
 #: text-utils/colcrt.c:98
 #, c-format
 msgid "usage: %s [ - ] [ -2 ] [ file ... ]\n"
-msgstr ""
+msgstr "utilizzo: %s [ - ] [ -2 ] [ file ... ]\n"
 
 #: text-utils/column.c:302
 msgid "line too long"
-msgstr ""
+msgstr "linea troppo lunga"
 
 #: text-utils/column.c:379
 msgid "usage: column [-tx] [-c columns] [file ...]\n"
-msgstr ""
+msgstr "utilizzo: column [-tx] [-c columns] [file ...]\n"
 
 #: text-utils/hexsyntax.c:80
 msgid "hexdump: bad length value.\n"
-msgstr ""
+msgstr "hexdump: valore lunghezza non valido.\n"
 
 #: text-utils/hexsyntax.c:91
 msgid "hexdump: bad skip value.\n"
-msgstr ""
+msgstr "hexdump: valore skip non valido.\n"
 
 #: text-utils/hexsyntax.c:129
 msgid ""
 "hexdump: [-bcdovx] [-e fmt] [-f fmt_file] [-n length] [-s skip] [file ...]\n"
 msgstr ""
+"hexdump: [-bcdovx] [-e fmt] [-f fmt_file] [-n length] [-s skip] [file ...]\n"
 
 #: text-utils/more.c:329
 #, c-format
 msgid "usage: %s [-dfln] [+linenum | +/pattern] name1 name2 ...\n"
-msgstr ""
+msgstr " usage: %s [-dfln] [+linenum | +/pattern] name1 name2 ...\n"
 
 #: text-utils/more.c:504
 #, c-format
@@ -8074,6 +8698,9 @@ msgid ""
 "*** %s: directory ***\n"
 "\n"
 msgstr ""
+"\n"
+"*** %s: directory ***\n"
+"\n"
 
 #. simple ELF detection
 #: text-utils/more.c:543
@@ -8083,34 +8710,36 @@ msgid ""
 "******** %s: Not a text file ********\n"
 "\n"
 msgstr ""
+"\n"
+"******** %s: non è un file di testo********\n"
+"\n"
 
 #: text-utils/more.c:647
 msgid "[Use q or Q to quit]"
-msgstr ""
+msgstr "[Utilizzare q o Q per uscire]"
 
 #: text-utils/more.c:833
 msgid "--More--"
-msgstr ""
+msgstr "--Ancora--"
 
 #: text-utils/more.c:835
 #, c-format
 msgid "(Next file: %s)"
-msgstr ""
+msgstr "(File successivo: %s)"
 
 #: text-utils/more.c:841
-#, fuzzy
 msgid "[Press space to continue, 'q' to quit.]"
-msgstr "Premere un tasto per continuare"
+msgstr "[Premere spazio per continuare, 'q' per uscire.]"
 
 #: text-utils/more.c:1139
 #, c-format
 msgid "...back %d page"
-msgstr ""
+msgstr "...indietro %d pagine"
 
 #: text-utils/more.c:1185
 #, c-format
 msgid "...skipping %d line"
-msgstr ""
+msgstr "...sto saltando %d righe"
 
 #: text-utils/more.c:1226
 msgid ""
@@ -8118,196 +8747,172 @@ msgid ""
 "***Back***\n"
 "\n"
 msgstr ""
+"\n"
+"***Indietro***\n"
+"\n"
 
 #: text-utils/more.c:1264
 msgid "Can't open help file"
-msgstr ""
+msgstr "Impossibile aprire il file guida"
 
 #: text-utils/more.c:1285 text-utils/more.c:1289
 msgid "[Press 'h' for instructions.]"
-msgstr ""
+msgstr "[Premere 'h' per visualizzare le istruzioni.]"
 
 #: text-utils/more.c:1324
 #, c-format
 msgid "\"%s\" line %d"
-msgstr ""
+msgstr "\"%s\" linea %d"
 
 #: text-utils/more.c:1326
 #, c-format
 msgid "[Not a file] line %d"
-msgstr ""
+msgstr "[Non un file] linea %d"
 
 #: text-utils/more.c:1410
 msgid "  Overflow\n"
-msgstr ""
+msgstr "  Overflow\n"
 
 #: text-utils/more.c:1457
 msgid "...skipping\n"
-msgstr ""
+msgstr "...ignora\n"
 
 #: text-utils/more.c:1487
 msgid "Regular expression botch"
-msgstr ""
+msgstr "Errore nell'espressione regolare"
 
 #: text-utils/more.c:1499
 msgid ""
 "\n"
 "Pattern not found\n"
 msgstr ""
+"\n"
+"Pattern non trovato\n"
 
 #: text-utils/more.c:1502
 msgid "Pattern not found"
-msgstr ""
+msgstr "Pattern non trovato"
 
 #: text-utils/more.c:1563
 msgid "can't fork\n"
-msgstr ""
+msgstr "impossibile effettuare fork\n"
 
 #: text-utils/more.c:1602
 msgid ""
 "\n"
 "...Skipping "
 msgstr ""
+"\n"
+"...sto ignorando"
 
 #: text-utils/more.c:1606
 msgid "...Skipping "
-msgstr ""
+msgstr "...Sto ignorando"
 
 #: text-utils/more.c:1607
 msgid "to file "
-msgstr ""
+msgstr "al file"
 
 #: text-utils/more.c:1607
 msgid "back to file "
-msgstr ""
+msgstr "ritorna al file"
 
 #: text-utils/more.c:1846
 msgid "Line too long"
-msgstr ""
+msgstr "Linea troppo lunga"
 
 #: text-utils/more.c:1890
 msgid "No previous command to substitute for"
-msgstr ""
+msgstr "Nessun comando precedente da sostituire"
 
 #: text-utils/odsyntax.c:133
 msgid "od: od(1) has been deprecated for hexdump(1).\n"
-msgstr ""
+msgstr "od: od(1) è stata sostituito da hexdump(1).\n"
 
 #: text-utils/odsyntax.c:136
 #, c-format
 msgid "od: hexdump(1) compatibility doesn't support the -%c option%s\n"
-msgstr ""
+msgstr "od: la compatibilità hexdump(1) non supporta l'opzione -%c %s\n"
 
 #: text-utils/odsyntax.c:137
 msgid "; see strings(1)."
-msgstr ""
+msgstr "; consultare strings(1)."
 
 #: text-utils/parse.c:63
 #, c-format
 msgid "hexdump: can't read %s.\n"
-msgstr ""
+msgstr "hexdump: impossibile leggere %s.\n"
 
 #: text-utils/parse.c:68
 msgid "hexdump: line too long.\n"
-msgstr ""
+msgstr "hexdump: linea troppo lunga.\n"
 
 #: text-utils/parse.c:406
 msgid "hexdump: byte count with multiple conversion characters.\n"
-msgstr ""
+msgstr "hexdump: conteggio byte con i caratteri di conversione multipla.\n"
 
 #: text-utils/parse.c:490
 #, c-format
 msgid "hexdump: bad byte count for conversion character %s.\n"
-msgstr ""
+msgstr "hexdump: conteggio byte errato per il carattere di conversione %s.\n"
 
 #: text-utils/parse.c:497
 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:503
 #, c-format
 msgid "hexdump: bad format {%s}\n"
-msgstr ""
+msgstr "hexdump: formato non valido {%s}\n"
 
 #: text-utils/parse.c:509
 msgid "hexdump: bad conversion character %%%s.\n"
-msgstr ""
+msgstr "hexdump: carattere di conversione non valido %%%s.\n"
 
 #: text-utils/rev.c:114
 msgid "Unable to allocate bufferspace\n"
-msgstr ""
+msgstr "Impossibile allocare lo spazio buffer\n"
 
 #: text-utils/rev.c:173
 msgid "usage: rev [file ...]\n"
-msgstr ""
+msgstr "utilizzo: rev [file ...]\n"
 
 #: text-utils/ul.c:141
 #, c-format
 msgid "usage: %s [ -i ] [ -tTerm ] file...\n"
-msgstr ""
+msgstr "utilizzo: %s [ -i ] [ -tTerm ] file...\n"
 
 #: text-utils/ul.c:152
 msgid "trouble reading terminfo"
-msgstr ""
+msgstr "problemi leggendo terminfo"
 
 #: text-utils/ul.c:241
 #, c-format
 msgid "Unknown escape sequence in input: %o, %o\n"
-msgstr ""
+msgstr "Sequenza di escape sconosciuta in input: %o, %o\n"
 
 #: text-utils/ul.c:398
 msgid "Unable to allocate buffer.\n"
-msgstr ""
+msgstr "Impossibile allocare il buffer.\n"
 
 #: text-utils/ul.c:555
 msgid "Input line too long.\n"
-msgstr ""
+msgstr "Linea di input troppo lunga.\n"
 
 #: text-utils/ul.c:568
 msgid "Out of memory when growing buffer.\n"
-msgstr ""
+msgstr "Memoria insufficiente quando si amplia il buffer.\n"
 
-#: kbd/kbdrate.c:139 kbd/kbdrate.c:271
+#: kbd/kbdrate.c:138 kbd/kbdrate.c:276
 #, c-format
 msgid "Typematic Rate set to %.1f cps (delay = %d ms)\n"
-msgstr ""
-
-#: kbd/kbdrate.c:247
-msgid "Cannot open /dev/port"
-msgstr ""
-
-#~ msgid "Linux/MINIX"
-#~ msgstr "Linux/MINIX"
-
-#~ msgid "DOS FAT16 (big)"
-#~ msgstr "DOS FAT16 (big)"
+msgstr "Velocità di ripetizione impostata su %.1f cps (ritardo = %d ms)\n"
 
-#~ msgid "Hidden DOS FAT16 (big)"
-#~ msgstr "DOS FAT16 (big) nascosta"
+#: kbd/kbdrate.c:222
+msgid "Usage: kbdrate [-V] [-s] [-r rate] [-d delay]\n"
+msgstr " Utilizzo: kbdrate [-V] [-s] [-r rate] [-d delay]\n"
 
-#~ msgid "Microport"
-#~ msgstr "Microport"
-
-#~ msgid "Old MINIX"
-#~ msgstr "Vecchio MINIX"
-
-#~ msgid "[%*s%-*s]"
-#~ msgstr "[%*s%-*s]"
-
-#~ msgid "%*s%-*s"
-#~ msgstr "%*s%-*s"
-
-#~ msgid "%.2f"
-#~ msgstr "%.2f"
-
-#~ msgid "\n"
-#~ msgstr "\n"
-
-#~ msgid "\t%s -v\n"
-#~ msgstr "\t%s -v\n"
-
-#~ msgid "\t%s -P {r|s|t} [options] device\n"
-#~ msgstr "\t%s -P {r|s|t} [opzioni] dispositivo\n"
-
-#~ msgid "Interactive use:\n"
-#~ msgstr "Uso interattivo:\n"
+#: kbd/kbdrate.c:252
+msgid "Cannot open /dev/port"
+msgstr "Impossibile aprire /dev/port"
index 514363ad519f065b580354fd3b1d3d8f7f2c328c..5bbee86ef3b0a6026cefef4d0ea004045ceedb5c 100644 (file)
@@ -1,72 +1,98 @@
-# util-linux 2.9h translation to brazilian portuguese (pt_BR)
-# Copyright (C) 1999 Free Software Foundation, Inc.
-# Arnaldo Carvalho de Melo <acme@conectiva.com.br>, 1999.
-# Ricardo Stefani <ricardos@francanet.com.br>, 1999
-# Marcus Moreira <marcusms@frb.br>
-# Paulo Henrique R Pinheiro <nulo@sul.com.br>
-#
-# Free redistribution is permitted.
-#
-msgid ""
-msgstr ""
-"Project-Id-Version: util-linux 2.9h\n"
-"POT-Creation-Date: 1999-09-25 13:07+0200\n"
-"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
-"Last-Translator: Arnaldo Carvalho de Melo <acme@conectiva.com.br>\n"
-"Language-Team: pt_BR <pt@li.org>\n"
+# Portuguese translation of the util-linux messages.
+# Copyright (C) 2000 Free Software Foundation, Inc.
+# <support@turbolinux.com>, 2000.
+msgid ""
+msgstr ""
+"Project-Id-Version: util-linux 2.10f\n"
+"POT-Creation-Date: 2000-03-21 14:47-0800\n"
+"PO-Revision-Date: 2000-03-30 18:00-0300\n"
+"Last-Translator: Alvaro Antunes <alvaro@netpar.com.br>\n"
+"Language-Team: <support@turbolinux.com>\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=ISO-8859-1\n"
-"Content-Transfer-Encoding: mime\n"
+"Content-Transfer-Encoding: 8bit\n"
 
 #: clock/cmos.c:146
 msgid "booted from MILO\n"
-msgstr ""
+msgstr "boot executado do MILO\n"
 
-#: clock/cmos.c:154
+#: clock/cmos.c:155
 msgid "Ruffian BCD clock\n"
-msgstr ""
+msgstr "Relógio BCD Ruffian\n"
 
-#: clock/cmos.c:170
+#: clock/cmos.c:171
 #, c-format
 msgid "clockport adjusted to 0x%x\n"
-msgstr ""
+msgstr "porta do relógio ajustada para 0x%x\n"
 
-#: clock/cmos.c:180
+#: clock/cmos.c:181
 msgid "funky TOY!\n"
-msgstr ""
+msgstr "funky TOY!\n"
 
-#: clock/cmos.c:234
+#: clock/cmos.c:235
 #, c-format
 msgid "%s: atomic %s failed for 1000 iterations!"
-msgstr ""
+msgstr "%s: %s atômico falhou por 1000 iterações!"
 
-#: clock/cmos.c:558
-#, fuzzy, c-format
+#: clock/cmos.c:559
+#, c-format
 msgid "Cannot open /dev/port: %s"
-msgstr "Não foi possível abrir /dev/port"
+msgstr "Não é possível abrir /dev/port: %s"
 
-#: clock/cmos.c:565
+#: clock/cmos.c:566
 msgid "I failed to get permission because I didnt try.\n"
-msgstr ""
+msgstr "Não consegui obter permissão porque não tentei.\n"
 
-#: clock/cmos.c:568
+#: clock/cmos.c:569
 #, 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"
 
-#: clock/cmos.c:571
+#: clock/cmos.c:572
 msgid "Probably you need root privileges.\n"
-msgstr ""
+msgstr "Provavelmente são necessários privilégios de root.\n"
+
+#: clock/hwclock.c:213
+#, 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"
+
+#: clock/hwclock.c:214 clock/hwclock.c:303
+msgid "UTC"
+msgstr "UTC"
 
-#: clock/hwclock.c:253
+#: clock/hwclock.c:214 clock/hwclock.c:302
+msgid "local"
+msgstr "local"
+
+#: clock/hwclock.c:286
+#, 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"
+
+#: clock/hwclock.c:288
+msgid "(Expected: `UTC' or `LOCAL' or nothing.)\n"
+msgstr "(Esperado: `UTC', `LOCAL'  ou nada.)\n"
+
+#: clock/hwclock.c:297
 #, c-format
 msgid "Last drift adjustment done at %d seconds after 1969\n"
-msgstr ""
+msgstr "Último ajuste de variação feito %d segundos após 1969\n"
 
-#: clock/hwclock.c:255
+#: clock/hwclock.c:299
 #, c-format
 msgid "Last calibration done at %d seconds after 1969\n"
-msgstr ""
+msgstr "Última calibração feita %d segundos após 1969\n"
+
+#: clock/hwclock.c:301
+#, c-format
+msgid "Hardware clock is on %s time\n"
+msgstr "O relógio de hardware está na hora %s\n"
+
+#: clock/hwclock.c:303
+msgid "unknown"
+msgstr "desconhecida"
 
 #. -----------------------------------------------------------------------------
 #. Wait until the falling edge of the Hardware Clock's update flag so
@@ -82,50 +108,60 @@ msgstr ""
 #. Return *retcode_p == 0 if it worked, nonzero if it didn't.
 #.
 #. -----------------------------------------------------------------------------
-#: clock/hwclock.c:278
+#: clock/hwclock.c:325
 msgid "Waiting for clock tick...\n"
-msgstr ""
+msgstr "Aguardando tique do relógio...\n"
 
-#: clock/hwclock.c:282
+#: clock/hwclock.c:329
 msgid "...got clock tick\n"
-msgstr ""
+msgstr "... tique do relógio obtido\n"
 
-#: clock/hwclock.c:334
+#: clock/hwclock.c:380
 #, c-format
 msgid "Invalid values in hardware clock: %2d/%.2d/%.2d %.2d:%.2d:%.2d\n"
 msgstr ""
+"Valores inválidos no relógio de hardware: %2d/%.2d/%.2d %.2d:%.2d:%.2d\n"
 
-#: clock/hwclock.c:343
+#: clock/hwclock.c:389
 #, c-format
-msgid "Hw clock time : %.2d:%.2d:%.2d = %d seconds since 1969\n"
+msgid "Hw clock time : %2d/%.2d/%.2d %.2d:%.2d:%.2d = %d seconds since 1969\n"
 msgstr ""
+"Hora do relógio de hardware: %2d/%.2d/%.2d %.2d:%.2d:%.2d = %d segundos "
+"desde 1969\n"
 
-#: clock/hwclock.c:369
+#: clock/hwclock.c:417
 #, c-format
 msgid "Time read from Hardware Clock: %02d:%02d:%02d\n"
-msgstr ""
+msgstr "Hora lida do relógio de hardware: %02d:%02d:%02d\n"
 
-#: clock/hwclock.c:395
+#: clock/hwclock.c:443
 #, c-format
 msgid "Setting Hardware Clock to %.2d:%.2d:%.2d = %d seconds since 1969\n"
 msgstr ""
+"Configurando o relógio de hardware para %.2d:%.2d:%.2d = %d segundos desde "
+"1969\n"
 
-#: clock/hwclock.c:401
+#: clock/hwclock.c:449
 msgid "Clock not changed - testing only.\n"
-msgstr ""
+msgstr "Relógio não alterado - apenas testando.\n"
 
-#: clock/hwclock.c:449
+#: clock/hwclock.c:497
 #, c-format
 msgid ""
 "Time elapsed since reference time has been %.6f seconds.\n"
 "Delaying further to reach the next full second.\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"
 
-#: clock/hwclock.c:473
+#: clock/hwclock.c:521
 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"
 
 #. Address of static storage containing time string
 #. For some strange reason, ctime() is designed to include a newline
@@ -133,39 +169,41 @@ msgstr ""
 #.
 #. Compute display value for time
 #. Cut off trailing newline
-#: clock/hwclock.c:485
+#: clock/hwclock.c:533
 #, c-format
 msgid "%s  %.6f seconds\n"
-msgstr ""
+msgstr "%s  %.6f segundos\n"
 
-#: clock/hwclock.c:519
-#, fuzzy
+#: clock/hwclock.c:567
 msgid "No --date option specified.\n"
-msgstr "Nenhuma partição definida\n"
+msgstr "Não. Opção --date especificada\n"
 
 #. Quotation marks in date_opt would ruin the date command we construct.
 #.
-#: clock/hwclock.c:524
+#: clock/hwclock.c:572
 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"
 
-#: clock/hwclock.c:530
+#: clock/hwclock.c:578
 #, c-format
 msgid "Issuing date command: %s\n"
-msgstr ""
+msgstr "Emitindo comando date: %s\n"
 
-#: clock/hwclock.c:534
+#: clock/hwclock.c:582
 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"
 
-#: clock/hwclock.c:540
+#: clock/hwclock.c:588
 #, c-format
 msgid "response from date command = %s\n"
-msgstr ""
+msgstr "resposta do comando date = %s\n"
 
-#: clock/hwclock.c:542
+#: clock/hwclock.c:590
 #, c-format
 msgid ""
 "The date command issued by %s returned unexpected results.\n"
@@ -174,8 +212,13 @@ msgid ""
 "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"
 
-#: clock/hwclock.c:551
+#: clock/hwclock.c:599
 #, c-format
 msgid ""
 "The date command issued by %s returnedsomething other than an integer where "
@@ -185,223 +228,334 @@ msgid ""
 "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"
 
-#: clock/hwclock.c:561
+#: clock/hwclock.c:609
 #, c-format
 msgid "date string %s equates to %d seconds since 1969.\n"
-msgstr ""
+msgstr "String de date %s equivale a %d segundos desde 1969.\n"
 
-#: clock/hwclock.c:596
+#: clock/hwclock.c:641
 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"
 
-#: clock/hwclock.c:612
+#: clock/hwclock.c:654
 msgid "Calling settimeofday:\n"
-msgstr ""
+msgstr "Chamando settimeofday:\n"
 
-#: clock/hwclock.c:613
+#: clock/hwclock.c:655
 #, c-format
 msgid "\ttv.tv_sec = %ld, tv.tv_usec = %ld\n"
-msgstr ""
+msgstr "\ttv.tv_sec = %ld, tv.tv_usec = %ld\n"
 
-#: clock/hwclock.c:615
+#: clock/hwclock.c:657
 #, c-format
 msgid "\ttz.tz_minuteswest = %ld\n"
-msgstr ""
+msgstr "\ttz.tz_minuteswest = %ld\n"
 
-#: clock/hwclock.c:618
+#: clock/hwclock.c:660
 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"
 
-#: clock/hwclock.c:630
+#: clock/hwclock.c:673
 msgid "Must be superuser to set system clock.\n"
-msgstr ""
+msgstr "É necessário ser superusuário para ajustar o relógio do sistema.\n"
 
-#: clock/hwclock.c:632
+#: clock/hwclock.c:675
 msgid "settimeofday() failed"
-msgstr ""
+msgstr "settimeofday() falhou"
 
-#: clock/hwclock.c:665
+#: clock/hwclock.c:708
 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"
 
-#: clock/hwclock.c:669
+#: clock/hwclock.c:712
 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"
 
-#: clock/hwclock.c:678
+#: clock/hwclock.c:721
 #, c-format
 msgid ""
 "Clock drifted %d 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"
 
-#: clock/hwclock.c:729
+#: clock/hwclock.c:772
 #, c-format
 msgid "Time since last adjustment is %d seconds\n"
-msgstr ""
+msgstr "O tempo desde o último ajuste é de %d segundos\n"
 
-#: clock/hwclock.c:731
+#: clock/hwclock.c:774
 #, 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"
 
-#: clock/hwclock.c:759
+#: clock/hwclock.c:803
 msgid "Not updating adjtime file because of testing mode.\n"
-msgstr ""
+msgstr "O arquivo adjtime não está sendo atualizado: modo de teste.\n"
 
-#: clock/hwclock.c:760
+#: clock/hwclock.c:804
 #, c-format
 msgid ""
 "Would have written the following to %s:\n"
 "%s"
 msgstr ""
+"Teria gravado o seguinte em %s:\n"
+"%s%s"
 
-#: clock/hwclock.c:784
+#: clock/hwclock.c:828
 msgid "Drift adjustment parameters not updated.\n"
-msgstr ""
+msgstr "Parâmetros de ajuste de variação não atualizados.\n"
 
-#: clock/hwclock.c:825
+#: clock/hwclock.c:869
 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"
 
-#: clock/hwclock.c:849
+#: clock/hwclock.c:893
 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"
 
-#: clock/hwclock.c:875
-#, fuzzy, c-format
+#: clock/hwclock.c:919
+#, c-format
 msgid "Using %s.\n"
-msgstr "%s em %s\n"
+msgstr "Usando %s.\n"
 
-#: clock/hwclock.c:877
+#: clock/hwclock.c:921
 msgid "No usable clock interface found.\n"
-msgstr ""
+msgstr "Não foi encontrada uma interface de relógio utilizável.\n"
 
-#: clock/hwclock.c:965
+#: clock/hwclock.c:1016
 msgid "Unable to set system clock.\n"
-msgstr ""
+msgstr "Não é possível ajustar o relógio do sistema.\n"
 
-#: clock/hwclock.c:994
+#: clock/hwclock.c:1045
 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"
 
-#: clock/hwclock.c:1003
+#: clock/hwclock.c:1054
 msgid "Unable to get the epoch value from the kernel.\n"
-msgstr ""
+msgstr "Não foi possível obter o valor de epoch do kernel.\n"
 
-#: clock/hwclock.c:1005
+#: clock/hwclock.c:1056
 #, c-format
 msgid "Kernel is assuming an epoch value of %lu\n"
-msgstr ""
+msgstr "O kernel está pressupondo um valor de epoch de %lu\n"
 
-#: clock/hwclock.c:1008
+#: clock/hwclock.c:1059
 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"
 
-#: clock/hwclock.c:1011
+#: clock/hwclock.c:1062
 #, c-format
 msgid "Not setting the epoch to %d - testing only.\n"
-msgstr ""
+msgstr "Epoch não configurado para %d; apenas testando.\n"
 
-#: clock/hwclock.c:1014
+#: clock/hwclock.c:1065
 msgid "Unable to set the epoch value in the kernel.\n"
+msgstr "Não é possível configurar o valor de epoch no kernel.\n"
+
+#: clock/hwclock.c:1088
+msgid ""
+"hwclock - query and set the hardware clock (RTC)\n"
+"\n"
+"Usage: hwclock [function] [options...]\n"
+"\n"
+"Functions:\n"
+"  --help        show this help\n"
+"  --show        read hardware clock and print result\n"
+"  --set         set the rtc to the time given with --date\n"
+"  --hctosys     set the system time from the hardware clock\n"
+"  --systohc     set the hardware clock to the current system time\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"
+"  --version     print out the version of hwclock to stdout\n"
+"\n"
+"Options: \n"
+"  --utc         the hardware clock is kept in coordinated universal time\n"
+"  --localtime   the hardware clock is kept in local time\n"
+"  --directisa   access the ISA bus directly instead of /dev/rtc\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"
+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 /dev/rtc.\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"
+
+#: clock/hwclock.c:1113
+msgid ""
+"  --jensen, --arc, --srm, --funky-toy\n"
+"                tell hwclock the type of alpha you have (see hwclock(8))\n"
 msgstr ""
+"  --jensen, --arc, --srm, --funky-toy\n"
+"                informa a hwclock o tipo de Alpha que você tem (consulte "
+"hwclock(8))\n"
 
-#: clock/hwclock.c:1094
+#: clock/hwclock.c:1209
 #, c-format
 msgid "%s takes no non-option arguments.  You supplied %d.\n"
-msgstr ""
+msgstr "%s não aceita argumentos que não sejam de opção. Você forneceu %d.\n"
 
-#: clock/hwclock.c:1102
+#: clock/hwclock.c:1219
 msgid ""
 "You have specified multiple function options.\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"
+
+#: clock/hwclock.c:1225
+#, 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"
 
-#: clock/hwclock.c:1115
+#: clock/hwclock.c:1238
 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"
 
-#: clock/hwclock.c:1130
+#: clock/hwclock.c:1253
 msgid "Sorry, only the superuser can change the Hardware Clock.\n"
-msgstr ""
+msgstr "Somente o superusuário pode alterar o relógio de hardware.\n"
 
-#: clock/hwclock.c:1134
+#: clock/hwclock.c:1257
 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"
 
-#: clock/hwclock.c:1150
+#: clock/hwclock.c:1275
 msgid ""
 "Cannot access the Hardware Clock via any known method.  Use --debug option "
 "to see the details of our search for an access method.\n"
 msgstr ""
-
-#: clock/hwclock.c:1164
-#, c-format
-msgid "%s: %s, errno=%d: %s.\n"
-msgstr ""
+"Não é possível acessar o relógio de hardware através de qualquer método "
+"conhecido.  Use a opção --debug para consultar os detalhes de nossa busca "
+"por um método de acesso.\n"
 
 #: clock/kd.c:41
 msgid "Waiting in loop for time from KDGHWCLK to change\n"
-msgstr ""
+msgstr "Aguardando em laço até que a hora de KDGHWCLK mude.\n"
 
 #: clock/kd.c:44
 msgid "KDGHWCLK ioctl to read time failed"
-msgstr ""
+msgstr "ioctl KDGHWCLK para ler a hora falhou"
 
 #: clock/kd.c:65 clock/rtc.c:144
 msgid "Timed out waiting for time change.\n"
-msgstr ""
+msgstr "Tempo esgotado enquanto aguardava a hora mudar.\n"
 
 #: clock/kd.c:69
 msgid "KDGHWCLK ioctl to read time failed in loop"
-msgstr ""
+msgstr "ioctl KDGHWCLK para ler a hora falhou no laço"
 
 #: clock/kd.c:91
 msgid "ioctl() failed to read time from  /dev/tty1"
-msgstr ""
+msgstr "ioctl() não conseguiu ler a hora de /dev/tty1"
 
 #: clock/kd.c:127
 msgid "ioctl() to open /dev/tty1 failed"
-msgstr ""
+msgstr "ioctl() para abrir /dev/tty1 falhou"
 
 #: clock/kd.c:157
 msgid "KDGHWCLK ioctl failed"
-msgstr ""
+msgstr "ioctl KDGHWCLK falhou"
 
 #: clock/kd.c:161
-#, fuzzy
 msgid "Can't open /dev/tty1"
-msgstr "Não foi possível abrir /dev/port"
+msgstr "Não foi possível abrir /dev/tty1"
 
 #: clock/rtc.c:98
 msgid "ioctl() to /dev/rtc to read the time failed.\n"
-msgstr ""
+msgstr "ioctl() para /dev/rtc para ler a hora falhou.\n"
 
 #: clock/rtc.c:129
 msgid "Waiting in loop for time from /dev/rtc to change\n"
-msgstr ""
+msgstr "Aguardando em laço até que a hora de /dev/rtc mude\n"
 
 #: clock/rtc.c:165 clock/rtc.c:222
 msgid "open() of /dev/rtc failed"
-msgstr ""
+msgstr "open() de /dev/rtc falhou"
 
 #. This rtc device doesn't have interrupt functions.  This is typical
 #. on an Alpha, where the Hardware Clock interrupts are used by the
@@ -409,37 +563,38 @@ msgstr ""
 #.
 #: clock/rtc.c:182
 msgid "/dev/rtc does not have interrupt functions. "
-msgstr ""
+msgstr "/dev/rtc não possui funções de interrupção. "
 
 #: clock/rtc.c:191
 msgid "read() to /dev/rtc to wait for clock tick failed"
-msgstr ""
+msgstr "read() para /dev/rtc para aguardar tique do relógio falhou"
 
 #: clock/rtc.c:199
 msgid "ioctl() to /dev/rtc to turn off update interrupts failed"
-msgstr ""
+msgstr "ioctl() para /dev/rtc para desligar interrupções de atualização falhou"
 
 #: clock/rtc.c:202
 msgid "ioctl() to /dev/rtc to turn on update interrupts failed unexpectedly"
 msgstr ""
+"ioctl() para /dev/rtc para ligar interrupções de atualização falhou "
+"inesperadamente"
 
 #: clock/rtc.c:245 clock/rtc.c:324 clock/rtc.c:369
-#, fuzzy
 msgid "Unable to open /dev/rtc"
-msgstr "Não foi possível abrir /dev/port"
+msgstr "Não foi possível abrir /dev/rtc"
 
 #: clock/rtc.c:268
 msgid "ioctl() to /dev/rtc to set the time failed.\n"
-msgstr ""
+msgstr "ioctl() para /dev/rtc para ajustar a hora falhou.\n"
 
 #: clock/rtc.c:272
 #, c-format
 msgid "ioctl(%s) was successful.\n"
-msgstr ""
+msgstr "ioctl(%s) teve êxito.\n"
 
 #: clock/rtc.c:302
 msgid "Open of /dev/rtc failed"
-msgstr ""
+msgstr "A abertura de /dev/rtc falhou"
 
 #: clock/rtc.c:320 clock/rtc.c:365
 msgid ""
@@ -447,15 +602,18 @@ msgid ""
 "device driver via the device special file /dev/rtc.  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 "
+"/dev/rtc.  No entanto, esse arquivo não existe neste sistema.\n"
 
 #: clock/rtc.c:331
 msgid "ioctl(RTC_EPOCH_READ) to /dev/rtc failed"
-msgstr ""
+msgstr "ioctl(RTC_EPOCH_READ) para /dev/rtc falhou"
 
 #: clock/rtc.c:337
 #, c-format
 msgid "we have read epoch %ld from /dev/rtc with RTC_EPOCH_READ ioctl.\n"
-msgstr ""
+msgstr "lemos epoch %ld de /dev/rtc com ioctl RTC_EPOCH_READ.\n"
 
 #. kernel would not accept this epoch value
 #. Hmm - bad habit, deciding not to do what the user asks
@@ -463,73 +621,130 @@ msgstr ""
 #: clock/rtc.c:357
 #, c-format
 msgid "The epoch value may not be less than 1900.  You requested %ld\n"
-msgstr ""
+msgstr "O valor de epoch não pode ser menor que 1900.  Você solicitou %ld.\n"
 
 #: clock/rtc.c:374
 #, c-format
 msgid "setting epoch to %ld with RTC_EPOCH_SET ioctl to /dev/rtc.\n"
-msgstr ""
+msgstr "Configurando epoch como %ld com ioctl RTC_EPOCH_SET para /dev/rtc.\n"
 
 #: clock/rtc.c:379
 msgid ""
 "The kernel device driver for /dev/rtc does not have the RTC_EPOCH_SET "
 "ioctl.\n"
 msgstr ""
+"O driver de dispositivo do kernel para /dev/rtc não possui o ioctl "
+"RTC_EPOCH_SET.\n"
 
 #: clock/rtc.c:382
 msgid "ioctl(RTC_EPOCH_SET) to /dev/rtc failed"
-msgstr ""
+msgstr "ioctl(RTC_EPOCH_SET) para /dev/rtc falhou"
 
 #: clock/shhopt.c:255 clock/shhopt.c:281
-#, fuzzy, c-format
+#, c-format
 msgid "invalid number `%s'\n"
-msgstr "Valor inválido: %s\n"
+msgstr "número `%s' inválido\n"
 
 #: clock/shhopt.c:258 clock/shhopt.c:284
 #, c-format
 msgid "number `%s' to `%s' out of range\n"
-msgstr ""
+msgstr "número `%s' a `%s' fora do intervalo\n"
 
 #: clock/shhopt.c:398
-#, fuzzy, c-format
+#, c-format
 msgid "unrecognized option `%s'\n"
-msgstr "Atenção: Opção desconhecida para proto=.\n"
+msgstr "opção `%s' não reconhecida\n"
 
 #: clock/shhopt.c:411 clock/shhopt.c:449
 #, c-format
 msgid "option `%s' requires an argument\n"
-msgstr ""
+msgstr "a opção `%s' exige um argumento\n"
 
 #: clock/shhopt.c:417
 #, c-format
 msgid "option `%s' doesn't allow an argument\n"
-msgstr ""
+msgstr "a opção `%s' não permite um argumento\n"
 
 #: clock/shhopt.c:439
-#, fuzzy, c-format
+#, c-format
 msgid "unrecognized option `-%c'\n"
-msgstr "Atenção: Opção desconhecida para proto=.\n"
+msgstr "opção `-%c' não reconhecida\n"
+
+#: disk-utils/blockdev.c:34
+msgid "set read-only"
+msgstr "configurar somente leitura"
+
+#: disk-utils/blockdev.c:35
+msgid "set read-write"
+msgstr "configurar leitura/gravação"
+
+#: disk-utils/blockdev.c:38
+msgid "get read-only"
+msgstr "obter somente leitura"
+
+#: disk-utils/blockdev.c:41
+msgid "get sectorsize"
+msgstr "obter tamanho de setor"
+
+#: disk-utils/blockdev.c:44
+msgid "get size"
+msgstr "obter tamanho"
+
+#: disk-utils/blockdev.c:47
+msgid "set readahead"
+msgstr "configurar readahead"
+
+#: disk-utils/blockdev.c:50
+msgid "get readahead"
+msgstr "obter readahead"
+
+#: disk-utils/blockdev.c:53
+msgid "flush buffers"
+msgstr "descarregar buffers"
+
+#: disk-utils/blockdev.c:57
+msgid "reread partition table"
+msgstr "ler novamente tabela de partições"
+
+#: disk-utils/blockdev.c:66
+#, c-format
+msgid "Usage: %s [-V] [-v|-q] commands devices\n"
+msgstr "Uso: %s [-V] [-v|-q] comandos dispositivos\n"
+
+#: disk-utils/blockdev.c:67
+msgid "Available commands:\n"
+msgstr "Comandos disponíveis:\n"
+
+#: disk-utils/blockdev.c:167
+#, c-format
+msgid "%s: Unknown command: %s\n"
+msgstr "%s: comando desconhecido: %s\n"
+
+#: disk-utils/blockdev.c:178
+#, c-format
+msgid "%s requires an argument\n"
+msgstr "%s exige um argumento\n"
 
 #: disk-utils/fdformat.c:33
 msgid "Formatting ... "
-msgstr "Formatando... "
+msgstr "Formatando..."
 
 #: disk-utils/fdformat.c:51 disk-utils/fdformat.c:86
 msgid "done\n"
-msgstr "feito\n"
+msgstr "concluído\n"
 
 #: disk-utils/fdformat.c:62
 msgid "Verifying ... "
-msgstr "Verificando... "
+msgstr "Verificando..."
 
 #: disk-utils/fdformat.c:73
 msgid "Read: "
-msgstr ""
+msgstr "Ler: "
 
 #: disk-utils/fdformat.c:75
 #, c-format
 msgid "Problem reading cylinder %d, expected %d, read %d\n"
-msgstr ""
+msgstr "Problema ao ler o cilindro %d: esperado %d, lido %d\n"
 
 #: disk-utils/fdformat.c:81
 #, c-format
@@ -537,367 +752,384 @@ 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"
+msgstr "Uso: %s [ -n ] dispositivo\n"
 
-#: disk-utils/fdformat.c:122
+#: disk-utils/fdformat.c:117 disk-utils/fsck.minix.c:1255 disk-utils/mkfs.c:55
+#: disk-utils/mkfs.minix.c:650 disk-utils/mkswap.c:351
+#: disk-utils/setfdprm.c:128 misc-utils/cal.c:175 misc-utils/ddate.c:172
+#: misc-utils/kill.c:191
+#, c-format
+msgid "%s from %s\n"
+msgstr "%s de %s\n"
+
+#: disk-utils/fdformat.c:131
 #, c-format
 msgid "%s: not a floppy device\n"
-msgstr "%s: não é um dispositivo de disco flexível\n"
+msgstr "%s: não é um dispositivo de disquetes\n"
 
-#: disk-utils/fdformat.c:128
+#: disk-utils/fdformat.c:137
 msgid "Could not determine current format type"
-msgstr "Não foi possível determinar o tipo corrente do formato"
+msgstr "Não foi possível determinar o tipo de formatação atual"
 
-#: disk-utils/fdformat.c:129
+#: disk-utils/fdformat.c:138
 #, c-format
 msgid "%s-sided, %d tracks, %d sec/track. Total capacity %d kB.\n"
-msgstr "%s, %d trilhas, %d setores/trilha. Capacidade total: %d Kb.\n"
+msgstr "%s faces, %d trilhas, %d setores/trilha. Capacidade total de %d Kb.\n"
 
-#: disk-utils/fdformat.c:130
+#: disk-utils/fdformat.c:139
 msgid "Double"
-msgstr "Dupla face"
+msgstr "Dupla"
 
-#: disk-utils/fdformat.c:130
+#: disk-utils/fdformat.c:139
 msgid "Single"
-msgstr "Face única"
+msgstr "Simples"
 
-#: disk-utils/fsck.minix.c:198
-#, fuzzy, c-format
+#: disk-utils/fsck.minix.c:196
+#, c-format
 msgid "Usage: %s [-larvsmf] /dev/name\n"
-msgstr "Uso: %s [ -] dispositivo\n"
+msgstr "Uso: %s [ -larvsmf] dispositivo\n"
 
-#: disk-utils/fsck.minix.c:296
+#: disk-utils/fsck.minix.c:294
 #, c-format
 msgid "%s is mounted.\t "
-msgstr "%s está montado.\t "
+msgstr "%s está montado.\t"
 
-#: disk-utils/fsck.minix.c:298
+#: disk-utils/fsck.minix.c:296
 msgid "Do you really want to continue"
-msgstr "Você quer realmente continuar"
+msgstr "Você realmente deseja continuar?"
 
-#: disk-utils/fsck.minix.c:302
+#: disk-utils/fsck.minix.c:300
 msgid "check aborted.\n"
-msgstr "verificação abortada.\n"
+msgstr "verificação anulada.\n"
 
-#: disk-utils/fsck.minix.c:319 disk-utils/fsck.minix.c:339
+#: disk-utils/fsck.minix.c:317 disk-utils/fsck.minix.c:337
 msgid "Zone nr < FIRSTZONE in file `"
-msgstr ""
+msgstr "Número de zona menor que FIRSTZONE no arquivo `"
 
-#: disk-utils/fsck.minix.c:321 disk-utils/fsck.minix.c:341
+#: disk-utils/fsck.minix.c:319 disk-utils/fsck.minix.c:339
 msgid "Zone nr >= ZONES in file `"
-msgstr ""
+msgstr "Número de zona maior ou igual a ZONES no arquivo `"
 
-#: disk-utils/fsck.minix.c:326 disk-utils/fsck.minix.c:346
+#: disk-utils/fsck.minix.c:324 disk-utils/fsck.minix.c:344
 msgid "Remove block"
-msgstr ""
+msgstr "Remover bloco"
 
-#: disk-utils/fsck.minix.c:364
+#: disk-utils/fsck.minix.c:362
 msgid "Read error: unable to seek to block in file '"
-msgstr ""
+msgstr "Erro de leitura: não foi possível buscar bloco no arquivo '"
 
-#: disk-utils/fsck.minix.c:370
+#: disk-utils/fsck.minix.c:368
 msgid "Read error: bad block in file '"
-msgstr ""
+msgstr "Erro de leitura: bloco defeituoso no arquivo '"
 
-#: disk-utils/fsck.minix.c:386
+#: disk-utils/fsck.minix.c:384
 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:392 disk-utils/mkfs.minix.c:290
+#: disk-utils/fsck.minix.c:390 disk-utils/mkfs.minix.c:289
 msgid "seek failed in write_block"
-msgstr ""
+msgstr "busca falhou em write_block"
 
-#: disk-utils/fsck.minix.c:394
+#: disk-utils/fsck.minix.c:392
 msgid "Write error: bad block in file '"
-msgstr ""
+msgstr "Erro de gravação: bloco defeituoso no arquivo '"
 
-#: disk-utils/fsck.minix.c:513
+#: disk-utils/fsck.minix.c:511
 msgid "seek failed in write_super_block"
-msgstr ""
+msgstr "busca falhou em write_super_block"
 
-#: disk-utils/fsck.minix.c:515 disk-utils/mkfs.minix.c:277
+#: disk-utils/fsck.minix.c:513 disk-utils/mkfs.minix.c:276
 msgid "unable to write super-block"
-msgstr ""
+msgstr "não foi possível gravar superbloco"
 
-#: disk-utils/fsck.minix.c:525
+#: disk-utils/fsck.minix.c:523
 msgid "Unable to write inode map"
-msgstr ""
+msgstr "Não foi possível gravar mapa de inode"
 
-#: disk-utils/fsck.minix.c:527
+#: disk-utils/fsck.minix.c:525
 msgid "Unable to write zone map"
-msgstr ""
+msgstr "Não foi possível gravar mapa de zona"
 
-#: disk-utils/fsck.minix.c:529
+#: disk-utils/fsck.minix.c:527
 msgid "Unable to write inodes"
-msgstr ""
+msgstr "Não foi possível gravar inodes"
 
-#: disk-utils/fsck.minix.c:558
+#: disk-utils/fsck.minix.c:556
 msgid "seek failed"
-msgstr ""
+msgstr "busca falhou"
 
-#: disk-utils/fsck.minix.c:560
+#: disk-utils/fsck.minix.c:558
 msgid "unable to read super block"
-msgstr ""
+msgstr "não foi possível ler superbloco"
 
-#: disk-utils/fsck.minix.c:580
+#: disk-utils/fsck.minix.c:578
 msgid "bad magic number in super-block"
-msgstr ""
+msgstr "número mágico inválido no superbloco"
 
-#: disk-utils/fsck.minix.c:582
+#: disk-utils/fsck.minix.c:580
 msgid "Only 1k blocks/zones supported"
-msgstr ""
+msgstr "Somente 1K blocos/zonas suportados"
 
-#: disk-utils/fsck.minix.c:584
+#: disk-utils/fsck.minix.c:582
 msgid "bad s_imap_blocks field in super-block"
-msgstr ""
+msgstr "campo s_imap_blocks inválido no superbloco"
 
-#: disk-utils/fsck.minix.c:586
+#: disk-utils/fsck.minix.c:584
 msgid "bad s_zmap_blocks field in super-block"
-msgstr ""
+msgstr "campo s_zmap_blocks inválido no superbloco"
 
-#: disk-utils/fsck.minix.c:593
+#: disk-utils/fsck.minix.c:591
 msgid "Unable to allocate buffer for inode map"
-msgstr ""
+msgstr "Não foi possível alocar buffer para mapa de inodes"
 
-#: disk-utils/fsck.minix.c:601
+#: disk-utils/fsck.minix.c:599
 msgid "Unable to allocate buffer for inodes"
-msgstr ""
+msgstr "Não foi possível alocar buffer para inodes"
 
-#: disk-utils/fsck.minix.c:604
+#: disk-utils/fsck.minix.c:602
 msgid "Unable to allocate buffer for inode count"
-msgstr ""
+msgstr "Não foi possível alocar buffer para contagem de inodes"
 
-#: disk-utils/fsck.minix.c:607
+#: disk-utils/fsck.minix.c:605
 msgid "Unable to allocate buffer for zone count"
-msgstr ""
+msgstr "Não foi possível alocar buffer para contagem de zonas"
 
-#: disk-utils/fsck.minix.c:609
+#: disk-utils/fsck.minix.c:607
 msgid "Unable to read inode map"
-msgstr ""
+msgstr "Não foi possível ler mapa de inodes"
 
-#: disk-utils/fsck.minix.c:611
+#: disk-utils/fsck.minix.c:609
 msgid "Unable to read zone map"
-msgstr ""
+msgstr "Não foi possível ler mapa de zonas"
 
-#: disk-utils/fsck.minix.c:613
+#: disk-utils/fsck.minix.c:611
 msgid "Unable to read inodes"
-msgstr ""
+msgstr "Não foi possível ler inodes"
 
-#: disk-utils/fsck.minix.c:615
+#: disk-utils/fsck.minix.c:613
 msgid "Warning: Firstzone != Norm_firstzone\n"
-msgstr ""
+msgstr "Aviso: Firstzone != Norm_firstzone\n"
 
-#: disk-utils/fsck.minix.c:620 disk-utils/mkfs.minix.c:528
+#: disk-utils/fsck.minix.c:618 disk-utils/mkfs.minix.c:532
 #, c-format
 msgid "%ld inodes\n"
-msgstr "%ld inodos\n"
+msgstr "%ld inodes\n"
 
-#: disk-utils/fsck.minix.c:621 disk-utils/mkfs.minix.c:529
+#: disk-utils/fsck.minix.c:619 disk-utils/mkfs.minix.c:533
 #, c-format
 msgid "%ld blocks\n"
 msgstr "%ld blocos\n"
 
-#: disk-utils/fsck.minix.c:622 disk-utils/mkfs.minix.c:530
+#: disk-utils/fsck.minix.c:620 disk-utils/mkfs.minix.c:534
 #, c-format
 msgid "Firstdatazone=%ld (%ld)\n"
-msgstr ""
+msgstr "Primeira zona de dados = %ld (%ld)\n"
 
-#: disk-utils/fsck.minix.c:623 disk-utils/mkfs.minix.c:531
+#: disk-utils/fsck.minix.c:621 disk-utils/mkfs.minix.c:535
 #, c-format
 msgid "Zonesize=%d\n"
-msgstr ""
+msgstr "Tamanho da zona = %d\n"
 
-#: disk-utils/fsck.minix.c:624
+#: disk-utils/fsck.minix.c:622
 #, c-format
 msgid "Maxsize=%ld\n"
-msgstr "TamMáximo=%ld\n"
+msgstr "Tamanho máximo = %ld\n"
 
-#: disk-utils/fsck.minix.c:625
+#: disk-utils/fsck.minix.c:623
 #, c-format
 msgid "Filesystem state=%d\n"
-msgstr "Estado do sistema de arquivos=%d\n"
+msgstr "Estado do sistema de arquivos = %d\n"
 
-#: disk-utils/fsck.minix.c:626
+#: disk-utils/fsck.minix.c:624
 #, c-format
 msgid ""
 "namelen=%d\n"
 "\n"
 msgstr ""
+"Comprimento do nome = %d\n"
+"\n"
 
-#: disk-utils/fsck.minix.c:640 disk-utils/fsck.minix.c:692
+#: disk-utils/fsck.minix.c:638 disk-utils/fsck.minix.c:690
 #, c-format
 msgid "Inode %d marked not used, but used for file '"
-msgstr ""
+msgstr "Inode %d marcado como não utilizado, mas usado pelo arquivo '"
 
-#: disk-utils/fsck.minix.c:645 disk-utils/fsck.minix.c:696
+#: disk-utils/fsck.minix.c:643 disk-utils/fsck.minix.c:694
 msgid "Mark in use"
-msgstr ""
+msgstr "Marca em uso"
 
-#: disk-utils/fsck.minix.c:667 disk-utils/fsck.minix.c:716
+#: disk-utils/fsck.minix.c:665 disk-utils/fsck.minix.c:714
 #, c-format
 msgid " has mode %05o\n"
-msgstr ""
+msgstr " tem modo %05o\n"
 
-#: disk-utils/fsck.minix.c:673 disk-utils/fsck.minix.c:721
+#: disk-utils/fsck.minix.c:671 disk-utils/fsck.minix.c:719
 msgid "Warning: inode count too big.\n"
-msgstr ""
+msgstr "Aviso: contagem de inodes grande demais.\n"
 
-#: disk-utils/fsck.minix.c:734
+#: disk-utils/fsck.minix.c:732
 msgid "root inode isn't a directory"
-msgstr ""
+msgstr "inode raiz não é um diretório"
 
-#: disk-utils/fsck.minix.c:757 disk-utils/fsck.minix.c:791
+#: disk-utils/fsck.minix.c:755 disk-utils/fsck.minix.c:789
 msgid "Block has been used before. Now in file `"
-msgstr ""
+msgstr "O bloco já foi usado. Agora no arquivo `"
 
-#: disk-utils/fsck.minix.c:760 disk-utils/fsck.minix.c:794
-#: disk-utils/fsck.minix.c:1122 disk-utils/fsck.minix.c:1131
-#: disk-utils/fsck.minix.c:1175 disk-utils/fsck.minix.c:1184
+#: disk-utils/fsck.minix.c:758 disk-utils/fsck.minix.c:792
+#: disk-utils/fsck.minix.c:1120 disk-utils/fsck.minix.c:1129
+#: disk-utils/fsck.minix.c:1173 disk-utils/fsck.minix.c:1182
 msgid "Clear"
-msgstr ""
+msgstr "Limpar"
 
-#: disk-utils/fsck.minix.c:769 disk-utils/fsck.minix.c:803
+#: disk-utils/fsck.minix.c:767 disk-utils/fsck.minix.c:801
 #, c-format
 msgid "Block %d in file `"
-msgstr ""
+msgstr "O bloco %d no arquivo `"
 
-#: disk-utils/fsck.minix.c:771 disk-utils/fsck.minix.c:805
+#: disk-utils/fsck.minix.c:769 disk-utils/fsck.minix.c:803
 msgid "' is marked not in use."
-msgstr ""
+msgstr "' está marcado como não utilizado."
 
-#: disk-utils/fsck.minix.c:772 disk-utils/fsck.minix.c:806
+#: disk-utils/fsck.minix.c:770 disk-utils/fsck.minix.c:804
 msgid "Correct"
-msgstr ""
+msgstr "Correto"
 
-#: disk-utils/fsck.minix.c:956 disk-utils/fsck.minix.c:1020
+#: disk-utils/fsck.minix.c:954 disk-utils/fsck.minix.c:1018
 msgid " contains a bad inode number for file '"
-msgstr ""
+msgstr " contém um número de inode inválido para o arquivo '"
 
-#: disk-utils/fsck.minix.c:958 disk-utils/fsck.minix.c:1022
+#: disk-utils/fsck.minix.c:956 disk-utils/fsck.minix.c:1020
 msgid " Remove"
-msgstr ""
+msgstr " Remover"
 
-#: disk-utils/fsck.minix.c:972 disk-utils/fsck.minix.c:1036
+#: disk-utils/fsck.minix.c:970 disk-utils/fsck.minix.c:1034
 msgid ": bad directory: '.' isn't first\n"
-msgstr ""
+msgstr ": diretório inválido: '.' não é o primeiro\n"
 
-#: disk-utils/fsck.minix.c:979 disk-utils/fsck.minix.c:1044
+#: disk-utils/fsck.minix.c:977 disk-utils/fsck.minix.c:1042
 msgid ": bad directory: '..' isn't second\n"
-msgstr ""
+msgstr ": diretório inválido: '..' não é o segundo\n"
 
-#: disk-utils/fsck.minix.c:1076
-#, fuzzy
+#: disk-utils/fsck.minix.c:1074
 msgid "internal error"
-msgstr "Erro interno\n"
+msgstr "erro interno"
 
-#: disk-utils/fsck.minix.c:1079
+#: disk-utils/fsck.minix.c:1077
 msgid ": bad directory: size<32"
-msgstr ""
+msgstr ": diretório inválido: tamanho < 32"
 
-#: disk-utils/fsck.minix.c:1098
+#: disk-utils/fsck.minix.c:1096
 msgid ": bad directory: size < 32"
-msgstr ""
+msgstr ": diretório inválido: tamanho < 32"
 
-#: disk-utils/fsck.minix.c:1111
+#: disk-utils/fsck.minix.c:1109
 msgid "seek failed in bad_zone"
-msgstr ""
+msgstr "busca falhou em bad_zone"
 
-#: disk-utils/fsck.minix.c:1121 disk-utils/fsck.minix.c:1174
+#: disk-utils/fsck.minix.c:1119 disk-utils/fsck.minix.c:1172
 #, c-format
 msgid "Inode %d mode not cleared."
-msgstr ""
+msgstr "O modo do inode %d não foi limpo."
 
-#: disk-utils/fsck.minix.c:1130 disk-utils/fsck.minix.c:1183
+#: disk-utils/fsck.minix.c:1128 disk-utils/fsck.minix.c:1181
 #, 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:1136 disk-utils/fsck.minix.c:1189
+#: disk-utils/fsck.minix.c:1134 disk-utils/fsck.minix.c:1187
 #, 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:1142 disk-utils/fsck.minix.c:1194
+#: disk-utils/fsck.minix.c:1140 disk-utils/fsck.minix.c:1192
 #, c-format
 msgid "Inode %d (mode = %07o), i_nlinks=%d, counted=%d."
-msgstr ""
+msgstr "Inode %d (modo = %07o), i_nlinks = %d, contados = %d."
 
-#: disk-utils/fsck.minix.c:1144 disk-utils/fsck.minix.c:1196
+#: disk-utils/fsck.minix.c:1142 disk-utils/fsck.minix.c:1194
 msgid "Set i_nlinks to count"
-msgstr ""
+msgstr "Configurar i_nlinks para contagem"
 
-#: disk-utils/fsck.minix.c:1156 disk-utils/fsck.minix.c:1208
+#: disk-utils/fsck.minix.c:1154 disk-utils/fsck.minix.c:1206
 #, c-format
 msgid "Zone %d: marked in use, no file uses it."
-msgstr ""
+msgstr "Zona %d marcada em uso, mas nenhum arquivo a usa."
 
-#: disk-utils/fsck.minix.c:1157 disk-utils/fsck.minix.c:1209
+#: disk-utils/fsck.minix.c:1155 disk-utils/fsck.minix.c:1207
 msgid "Unmark"
-msgstr ""
+msgstr "Desmarcar"
 
-#: disk-utils/fsck.minix.c:1161 disk-utils/fsck.minix.c:1213
+#: disk-utils/fsck.minix.c:1159 disk-utils/fsck.minix.c:1211
 #, c-format
 msgid "Zone %d: %sin use, counted=%d\n"
-msgstr ""
+msgstr "Zona %d: %s em uso, contados = %d\n"
 
-#: disk-utils/fsck.minix.c:1162 disk-utils/fsck.minix.c:1214
+#: disk-utils/fsck.minix.c:1160 disk-utils/fsck.minix.c:1212
 msgid "not "
-msgstr ""
+msgstr "não "
 
-#: disk-utils/fsck.minix.c:1190
+#: disk-utils/fsck.minix.c:1188
 msgid "Set"
-msgstr ""
+msgstr "Configurar"
 
-#: disk-utils/fsck.minix.c:1254 disk-utils/mkfs.minix.c:637
-#: disk-utils/mkfs.minix.c:640
+#: disk-utils/fsck.minix.c:1260 disk-utils/mkfs.minix.c:655
+#: disk-utils/mkfs.minix.c:658
 msgid "bad inode size"
-msgstr ""
+msgstr "tamanho de inode inválido"
 
-#: disk-utils/fsck.minix.c:1257
+#: disk-utils/fsck.minix.c:1263
 msgid "bad v2 inode size"
-msgstr ""
+msgstr "tamanho de inode v2 inválido"
 
-#: disk-utils/fsck.minix.c:1283
+#: disk-utils/fsck.minix.c:1289
 msgid "need terminal for interactive repairs"
-msgstr ""
+msgstr "é necessário um terminal para reparos interativos"
 
-#: disk-utils/fsck.minix.c:1287
+#: disk-utils/fsck.minix.c:1293
 #, c-format
 msgid "unable to open '%s'"
-msgstr ""
+msgstr "não foi possível abrir '%s'"
 
-#: disk-utils/fsck.minix.c:1304
+#: disk-utils/fsck.minix.c:1308
 #, c-format
 msgid "%s is clean, no check.\n"
-msgstr ""
+msgstr "%s está limpo; sem verificação.\n"
 
-#: disk-utils/fsck.minix.c:1308
+#: disk-utils/fsck.minix.c:1312
 #, c-format
 msgid "Forcing filesystem check on %s.\n"
-msgstr ""
+msgstr "Forçando verificação do sistema de arquivos em %s.\n"
 
-#: disk-utils/fsck.minix.c:1310
+#: disk-utils/fsck.minix.c:1314
 #, c-format
 msgid "Filesystem on %s is dirty, needs checking.\n"
-msgstr ""
+msgstr "O sistema de arquivos em %s está sujo: precisa de verificação\n"
 
-#: disk-utils/fsck.minix.c:1339
+#: disk-utils/fsck.minix.c:1343
 msgid ""
 "\n"
 "%6ld inodes used (%ld%%)\n"
 msgstr ""
+"\n"
+"%6ld inodes usados (%ld%%)\n"
 
-#: disk-utils/fsck.minix.c:1344
+#: disk-utils/fsck.minix.c:1348
 msgid "%6ld zones used (%ld%%)\n"
-msgstr ""
+msgstr "%6ld zonas usadas (%ld%%)\n"
 
-#: disk-utils/fsck.minix.c:1346
+#: disk-utils/fsck.minix.c:1350
 #, c-format
 msgid ""
 "\n"
@@ -910,211 +1142,237 @@ msgid ""
 "------\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:1359
+#: disk-utils/fsck.minix.c:1363
 msgid ""
 "----------------------------\n"
 "FILE SYSTEM HAS BEEN CHANGED\n"
 "----------------------------\n"
 msgstr ""
+"----------------------------------\n"
+"O SISTEMA DE ARQUIVOS FOI ALTERADO\n"
+"----------------------------------\n"
 
-#: disk-utils/mkfs.c:66
+#: disk-utils/mkfs.c:76
 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:80 fdisk/cfdisk.c:370 getopt-1.0.3b/getopt.c:85
-#: getopt-1.0.3b/getopt.c:95 login-utils/wall.c:218 mount/sundries.c:195
+#: disk-utils/mkfs.c:90 fdisk/cfdisk.c:369 getopt-1.0.3b/getopt.c:85
+#: getopt-1.0.3b/getopt.c:95 login-utils/wall.c:218 mount/sundries.c:196
 #, c-format
 msgid "%s: Out of memory!\n"
-msgstr "%s: faltou memória!\n"
+msgstr "%s: memória insuficiente!\n"
 
-#: disk-utils/mkfs.c:89
-#, fuzzy, c-format
+#: disk-utils/mkfs.c:99
+#, c-format
 msgid "mkfs version %s (%s)\n"
-msgstr "mkfs versão "
+msgstr "mkfs versão %s (%s)\n"
 
-#: disk-utils/mkfs.minix.c:186
+#: disk-utils/mkfs.minix.c:185
 #, c-format
 msgid "Usage: %s [-c | -l filename] [-nXX] [-iXX] /dev/name [blocks]\n"
-msgstr ""
+msgstr "Uso: %s [-c | -l NomeArquivo] [-nXX] [-iXX] dispositivo [blocos]\n"
 
-#: disk-utils/mkfs.minix.c:210
+#: disk-utils/mkfs.minix.c:209
 #, c-format
 msgid "%s is mounted; will not make a filesystem here!"
-msgstr ""
+msgstr "%s está montado; não criará um sistema de arquivos aqui!"
 
-#: disk-utils/mkfs.minix.c:271
+#: disk-utils/mkfs.minix.c:270
 msgid "seek to boot block failed in write_tables"
-msgstr ""
+msgstr "busca de bloco de boot falhou em write_tables"
 
-#: disk-utils/mkfs.minix.c:273
+#: disk-utils/mkfs.minix.c:272
 msgid "unable to clear boot sector"
-msgstr ""
+msgstr "não foi possível limpar o setor de boot"
 
-#: disk-utils/mkfs.minix.c:275
+#: disk-utils/mkfs.minix.c:274
 msgid "seek failed in write_tables"
-msgstr ""
+msgstr "busca falhou em write_tables"
 
-#: disk-utils/mkfs.minix.c:279
+#: disk-utils/mkfs.minix.c:278
 msgid "unable to write inode map"
-msgstr ""
+msgstr "não foi possível gravar mapa de inodes"
 
-#: disk-utils/mkfs.minix.c:281
+#: disk-utils/mkfs.minix.c:280
 msgid "unable to write zone map"
-msgstr ""
+msgstr "não foi possível gravar mapa de zonas"
 
-#: disk-utils/mkfs.minix.c:283
+#: disk-utils/mkfs.minix.c:282
 msgid "unable to write inodes"
-msgstr ""
+msgstr "não foi possível gravar inodes"
 
-#: disk-utils/mkfs.minix.c:292
+#: disk-utils/mkfs.minix.c:291
 msgid "write failed in write_block"
-msgstr ""
+msgstr "gravação falhou em write_block"
 
 #. Could make triple indirect block here
-#: disk-utils/mkfs.minix.c:300 disk-utils/mkfs.minix.c:374
-#: disk-utils/mkfs.minix.c:425
+#: disk-utils/mkfs.minix.c:299 disk-utils/mkfs.minix.c:373
+#: disk-utils/mkfs.minix.c:424
 msgid "too many bad blocks"
-msgstr "número excessivo de blocos ruins"
+msgstr "número excessivo de blocos defeituosos"
 
-#: disk-utils/mkfs.minix.c:308
+#: disk-utils/mkfs.minix.c:307
 msgid "not enough good blocks"
-msgstr ""
+msgstr "não há blocos sem problemas suficientes"
 
-#: disk-utils/mkfs.minix.c:517
+#: disk-utils/mkfs.minix.c:521
 msgid "unable to allocate buffers for maps"
-msgstr ""
+msgstr "não foi possível alocar buffers para mapas"
 
-#: disk-utils/mkfs.minix.c:526
+#: disk-utils/mkfs.minix.c:530
 msgid "unable to allocate buffer for inodes"
-msgstr ""
+msgstr "não foi possível alocar buffers para inodes"
 
-#: disk-utils/mkfs.minix.c:532
+#: disk-utils/mkfs.minix.c:536
 #, c-format
 msgid ""
 "Maxsize=%ld\n"
 "\n"
 msgstr ""
+"Tamanho máximo = %ld\n"
+"\n"
 
-#: disk-utils/mkfs.minix.c:546
+#: disk-utils/mkfs.minix.c:550
 msgid "seek failed during testing of blocks"
-msgstr ""
+msgstr "busca falhou durante teste de blocos"
 
-#: disk-utils/mkfs.minix.c:554
+#: disk-utils/mkfs.minix.c:558
 msgid "Weird values in do_check: probably bugs\n"
-msgstr ""
+msgstr "Valores estranhos em do_check: provavelmente erros\n"
 
-#: disk-utils/mkfs.minix.c:585 disk-utils/mkswap.c:231
+#: disk-utils/mkfs.minix.c:589 disk-utils/mkswap.c:261
 msgid "seek failed in check_blocks"
-msgstr ""
+msgstr "busca falhou em check_blocks"
 
-#: disk-utils/mkfs.minix.c:594
+#: disk-utils/mkfs.minix.c:598
 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:600 disk-utils/mkfs.minix.c:622
+#: disk-utils/mkfs.minix.c:604 disk-utils/mkfs.minix.c:626
 #, c-format
 msgid "%d bad blocks\n"
-msgstr ""
+msgstr "%d blocos defeituosos\n"
 
-#: disk-utils/mkfs.minix.c:602 disk-utils/mkfs.minix.c:624
+#: disk-utils/mkfs.minix.c:606 disk-utils/mkfs.minix.c:628
 msgid "one bad block\n"
-msgstr ""
+msgstr "um bloco defeituoso\n"
 
-#: disk-utils/mkfs.minix.c:614
+#: disk-utils/mkfs.minix.c:618
 msgid "can't open file of bad blocks"
-msgstr ""
+msgstr "não foi possível abrir arquivo de blocos defeituosos"
 
-#: disk-utils/mkfs.minix.c:669
+#: disk-utils/mkfs.minix.c:687
 #, c-format
 msgid "%s: not compiled with minix v2 support\n"
-msgstr ""
+msgstr "%s: não compilado com suporte a minix v2\n"
 
-#: disk-utils/mkfs.minix.c:685
+#: disk-utils/mkfs.minix.c:703
 msgid "strtol error: number of blocks not specified"
-msgstr ""
+msgstr "erro de strtol: número de blocos não especificado"
 
-#: disk-utils/mkfs.minix.c:717
+#: disk-utils/mkfs.minix.c:735
 #, c-format
 msgid "unable to open %s"
-msgstr ""
+msgstr "não foi possível abrir %s"
 
-#: disk-utils/mkfs.minix.c:719
+#: disk-utils/mkfs.minix.c:737
 #, c-format
 msgid "unable to stat %s"
-msgstr ""
+msgstr "não foi possível stat %s"
 
-#: disk-utils/mkfs.minix.c:723
+#: disk-utils/mkfs.minix.c:741
 #, c-format
 msgid "will not try to make filesystem on '%s'"
-msgstr ""
+msgstr "não será tentado criar sistema de arquivos em '%s'"
+
+#: disk-utils/mkswap.c:117
+#, 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:101
+#: disk-utils/mkswap.c:126
 #, c-format
-msgid "Assuming pages of size %d\n"
+msgid "Using user-specified page size %d, instead of the system values %d/%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:185
-#, fuzzy, c-format
-msgid "Usage: %s [-c] [-v0|-v1] /dev/name [blocks]\n"
-msgstr "Uso: %s [-c] [-n nível] [-s tam_buffer]\n"
+#: disk-utils/mkswap.c:130
+#, c-format
+msgid "Assuming pages of size %d (not %d)\n"
+msgstr "Assumindo páginas de tamanho %d (não %d)\n"
+
+#: disk-utils/mkswap.c:215
+#, c-format
+msgid "Usage: %s [-c] [-v0|-v1] [-pPAGESZ] /dev/name [blocks]\n"
+msgstr "Uso: %s [-c] [-v0|-v1] [-pTamPág] dispositivo [blocos]\n"
 
-#: disk-utils/mkswap.c:208
-#, fuzzy
+#: disk-utils/mkswap.c:238
 msgid "too many bad pages"
-msgstr "número excessivo de blocos ruins"
+msgstr "número excessivo de páginas inválidas"
 
-#: disk-utils/mkswap.c:222 misc-utils/look.c:170 misc-utils/setterm.c:1153
+#: disk-utils/mkswap.c:252 misc-utils/look.c:170 misc-utils/setterm.c:1100
 #: text-utils/more.c:1863 text-utils/more.c:1874
 msgid "Out of memory"
-msgstr "faltou memória"
+msgstr "Memória insuficiente"
 
-#: disk-utils/mkswap.c:239
-#, fuzzy
+#: disk-utils/mkswap.c:269
 msgid "one bad page\n"
-msgstr "%d páginas inválida%s\n"
+msgstr "uma página inválida\n"
 
-#: disk-utils/mkswap.c:241
-#, fuzzy, c-format
+#: disk-utils/mkswap.c:271
+#, c-format
 msgid "%d bad pages\n"
-msgstr "%d páginas inválida%s\n"
+msgstr "%d páginas inválidas\n"
 
-#: disk-utils/mkswap.c:345
+#: disk-utils/mkswap.c:391
 #, c-format
 msgid "%s: error: Nowhere to set up swap on?\n"
-msgstr ""
+msgstr "%s - erro: nenhum lugar para ativar permuta (swap)?\n"
 
-#: disk-utils/mkswap.c:354
+#: disk-utils/mkswap.c:409
 #, c-format
 msgid "%s: error: size %ld is larger than device size %d\n"
-msgstr ""
+msgstr "%s: erro - tamanho %ld é maior do que o tamanho do dispositivo %d\n"
 
-#: disk-utils/mkswap.c:372
+#: disk-utils/mkswap.c:427
 #, c-format
 msgid "%s: error: unknown version %d\n"
-msgstr ""
+msgstr "%s - erro: versão %d desconhecida\n"
 
-#: disk-utils/mkswap.c:378
+#: disk-utils/mkswap.c:433
 #, c-format
 msgid "%s: error: swap area needs to be at least %ldkB\n"
-msgstr ""
+msgstr "%s - erro: a área de permuta (swap) precisa ter pelo menos %ld kB\n"
 
-#: disk-utils/mkswap.c:397
+#: disk-utils/mkswap.c:452
 #, c-format
 msgid "%s: warning: truncating swap area to %ldkB\n"
-msgstr ""
+msgstr "%s -- aviso: reduzindo área de permuta (swap) para %ld kB\n"
 
-#: disk-utils/mkswap.c:409
+#: disk-utils/mkswap.c:464
 #, c-format
 msgid "Will not try to make swapdevice on '%s'"
-msgstr ""
+msgstr "Não será tentado criar dispositivo de permuta (swap) em '%s'"
 
-#: disk-utils/mkswap.c:418 disk-utils/mkswap.c:439
+#: disk-utils/mkswap.c:473 disk-utils/mkswap.c:494
 msgid "fatal: first page unreadable"
-msgstr ""
+msgstr "fatal: primeira página ilegível"
 
-#: disk-utils/mkswap.c:424
+#: disk-utils/mkswap.c:479
 #, c-format
 msgid ""
 "%s: Device '%s' contains a valid Sun disklabel.\n"
@@ -1122,42 +1380,48 @@ msgid ""
 "No swap created. If you really want to create swap v0 on that device, use\n"
 "the -f option to force it.\n"
 msgstr ""
+"%s: 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"
 
-#: disk-utils/mkswap.c:448
+#: disk-utils/mkswap.c:503
 msgid "Unable to set up swap-space: unreadable"
-msgstr ""
+msgstr "Não foi possível configurar espaço de permuta (swap): ilegível"
 
-#: disk-utils/mkswap.c:449
+#: disk-utils/mkswap.c:504
 #, c-format
 msgid "Setting up swapspace version %d, size = %ld bytes\n"
-msgstr ""
+msgstr "Configurando espaço de permuta (swap) versão %d, tamanho = %ld bytes\n"
 
-#: disk-utils/mkswap.c:455
+#: disk-utils/mkswap.c:510
 msgid "unable to rewind swap-device"
-msgstr ""
+msgstr "Não foi possível rebobinar o dispositivo de permuta (swap)"
 
-#: disk-utils/mkswap.c:458
+#: disk-utils/mkswap.c:513
 msgid "unable to write signature page"
-msgstr ""
+msgstr "Não foi possível gravar a página de assinatura"
 
-#: disk-utils/mkswap.c:465
+#: disk-utils/mkswap.c:520
 msgid "fsync failed"
-msgstr ""
+msgstr "fsync falhou"
 
 #: disk-utils/setfdprm.c:30
 #, c-format
 msgid "Invalid number: %s\n"
-msgstr ""
+msgstr "Número inválido: %s\n"
 
 #: disk-utils/setfdprm.c:80
 #, c-format
 msgid "Syntax error: '%s'\n"
-msgstr ""
+msgstr "Erro de sintaxe: '%s'\n"
 
 #: disk-utils/setfdprm.c:90
 #, c-format
 msgid "No such parameter set: '%s'\n"
-msgstr ""
+msgstr "Não há tal parâmetro definido: '%s'\n"
 
 #: disk-utils/setfdprm.c:100
 #, c-format
@@ -1169,807 +1433,825 @@ 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"
 
 #: disk-utils/setfdprm.c:104
 #, c-format
 msgid "       %s [ -c | -y | -n | -d ] dev\n"
-msgstr ""
+msgstr "       %s [ -c | -y | -n | -d ] disp\n"
 
 #: disk-utils/setfdprm.c:106
 #, c-format
 msgid "       %s [ -c | -y | -n ] dev\n"
-msgstr ""
+msgstr "       %s [ -c | -y | -n ] disp\n"
 
-#: fdisk/cfdisk.c:395 fdisk/cfdisk.c:1900
+#: fdisk/cfdisk.c:394 fdisk/cfdisk.c:1899
 msgid "Unusable"
-msgstr ""
+msgstr "Inutilizável"
 
-#: fdisk/cfdisk.c:397 fdisk/cfdisk.c:1902
+#: fdisk/cfdisk.c:396 fdisk/cfdisk.c:1901
 msgid "Free Space"
-msgstr "Espaço Livre"
+msgstr "Espaço livre"
 
-#: fdisk/cfdisk.c:400
+#: fdisk/cfdisk.c:399
 msgid "Linux ext2"
-msgstr ""
+msgstr "Linux ext2"
 
 #. also Solaris
-#: fdisk/cfdisk.c:402 fdisk/i386_sys_types.c:56
+#: fdisk/cfdisk.c:401 fdisk/i386_sys_types.c:56
 msgid "Linux"
-msgstr ""
+msgstr "Linux"
 
-#: fdisk/cfdisk.c:405
+#: fdisk/cfdisk.c:404
 msgid "OS/2 HPFS"
-msgstr ""
+msgstr "HPFS do OS/2"
 
-#: fdisk/cfdisk.c:407
+#: fdisk/cfdisk.c:406
 msgid "OS/2 IFS"
-msgstr ""
+msgstr "IFS do OS/2"
 
-#: fdisk/cfdisk.c:411
+#: fdisk/cfdisk.c:410
 msgid "NTFS"
-msgstr ""
+msgstr "NTFS"
 
-#: fdisk/cfdisk.c:422
+#: fdisk/cfdisk.c:421
 msgid "Disk has been changed.\n"
-msgstr ""
+msgstr "O disco foi alterado.\n"
 
-#: fdisk/cfdisk.c:423
+#: fdisk/cfdisk.c:422
 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:426
+#: fdisk/cfdisk.c:425
 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:521
+#: fdisk/cfdisk.c:520
 msgid "FATAL ERROR"
-msgstr ""
+msgstr "ERRO FATAL"
 
-#: fdisk/cfdisk.c:530
-#, fuzzy
+#: fdisk/cfdisk.c:529
 msgid "Press any key to exit cfdisk"
-msgstr "Pressione uma tecla para continuar"
+msgstr "Pressione qualquer tecla para sair do cfdisk"
 
-#: fdisk/cfdisk.c:566 fdisk/cfdisk.c:574
+#: fdisk/cfdisk.c:565 fdisk/cfdisk.c:573
 msgid "Cannot seek on disk drive"
-msgstr ""
+msgstr "Não foi possível realizar busca na unidade de disco"
 
-#: fdisk/cfdisk.c:568
+#: fdisk/cfdisk.c:567
 msgid "Cannot read disk drive"
-msgstr ""
+msgstr "Não foi possível ler a unidade de disco"
 
-#: fdisk/cfdisk.c:576
+#: fdisk/cfdisk.c:575
 msgid "Cannot write disk drive"
-msgstr ""
+msgstr "Não foi possível gravar na unidade de disco"
 
-#: fdisk/cfdisk.c:815
-#, fuzzy
+#: fdisk/cfdisk.c:814
 msgid "Too many partitions"
-msgstr "Número excessivo de partições\n"
+msgstr "Número excessivo de partições"
 
-#: fdisk/cfdisk.c:820
+#: fdisk/cfdisk.c:819
 msgid "Partition begins before sector 0"
-msgstr ""
+msgstr "A partição começa antes do setor 0"
 
-#: fdisk/cfdisk.c:825
+#: fdisk/cfdisk.c:824
 msgid "Partition ends before sector 0"
-msgstr ""
+msgstr "A partição termina antes do setor 0"
 
-#: fdisk/cfdisk.c:830
+#: fdisk/cfdisk.c:829
 msgid "Partition begins after end-of-disk"
 msgstr "A partição começa depois do fim do disco"
 
-#: fdisk/cfdisk.c:835
+#: fdisk/cfdisk.c:834
 msgid "Partition ends after end-of-disk"
 msgstr "A partição se estende até depois do fim do disco"
 
-#: fdisk/cfdisk.c:859
+#: fdisk/cfdisk.c:858
 msgid "logical partitions not in disk order"
-msgstr ""
+msgstr "partições lógicas fora da ordem do disco"
 
-#: fdisk/cfdisk.c:862
-#, fuzzy
+#: fdisk/cfdisk.c:861
 msgid "logical partitions overlap"
-msgstr "Partição lógica inválida"
+msgstr "partições lógicas sobrepostas"
 
-#: fdisk/cfdisk.c:864
-#, fuzzy
+#: fdisk/cfdisk.c:863
 msgid "enlarged logical partitions overlap"
-msgstr "Partição lógica inválida"
+msgstr "partições lógicas aumentadas sobrepostas"
 
-#: fdisk/cfdisk.c:894
+#: fdisk/cfdisk.c:893
 msgid ""
 "!!!! Internal error creating logical drive with no extended partition !!!!"
-msgstr ""
+msgstr "!!!! Erro interno ao criar unidade lógica sem partição estendida !!!!"
 
-#: fdisk/cfdisk.c:905 fdisk/cfdisk.c:917
+#: fdisk/cfdisk.c:904 fdisk/cfdisk.c:916
 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:1067
+#: fdisk/cfdisk.c:1066
 msgid "Menu item too long. Menu may look odd."
-msgstr ""
+msgstr "Item de menu longo demais. O menu pode ficar com aspecto estranho."
 
-#: fdisk/cfdisk.c:1123
+#: fdisk/cfdisk.c:1122
 msgid "Menu without direction. Defaulting horizontal."
-msgstr ""
+msgstr "Menu sem direção. Assumindo horizontal como padrão."
 
-#: fdisk/cfdisk.c:1253
+#: fdisk/cfdisk.c:1252
 msgid "Illegal key"
-msgstr ""
+msgstr "Tecla ilegal"
 
-#: fdisk/cfdisk.c:1276
+#: fdisk/cfdisk.c:1275
 msgid "Press a key to continue"
 msgstr "Pressione uma tecla para continuar"
 
-#: fdisk/cfdisk.c:1323 fdisk/cfdisk.c:1871 fdisk/cfdisk.c:2396
-#: fdisk/cfdisk.c:2398
+#: fdisk/cfdisk.c:1322 fdisk/cfdisk.c:1870 fdisk/cfdisk.c:2400
+#: fdisk/cfdisk.c:2402
 msgid "Primary"
 msgstr "Primária"
 
-#: fdisk/cfdisk.c:1323
+#: fdisk/cfdisk.c:1322
 msgid "Create a new primary partition"
 msgstr "Cria uma nova partição primária"
 
-#: fdisk/cfdisk.c:1324 fdisk/cfdisk.c:1871 fdisk/cfdisk.c:2395
-#: fdisk/cfdisk.c:2398
+#: fdisk/cfdisk.c:1323 fdisk/cfdisk.c:1870 fdisk/cfdisk.c:2399
+#: fdisk/cfdisk.c:2402
 msgid "Logical"
 msgstr "Lógica"
 
-#: fdisk/cfdisk.c:1324
+#: fdisk/cfdisk.c:1323
 msgid "Create a new logical partition"
 msgstr "Cria uma nova partição lógica"
 
-#: fdisk/cfdisk.c:1325 fdisk/cfdisk.c:1380 fdisk/cfdisk.c:2075
+#: fdisk/cfdisk.c:1324 fdisk/cfdisk.c:1379 fdisk/cfdisk.c:2074
 msgid "Cancel"
 msgstr "Cancelar"
 
-#: fdisk/cfdisk.c:1325 fdisk/cfdisk.c:1380
+#: fdisk/cfdisk.c:1324 fdisk/cfdisk.c:1379
 msgid "Don't create a partition"
-msgstr "Não cria partição"
+msgstr "Não criar uma partição"
 
-#: fdisk/cfdisk.c:1341
+#: fdisk/cfdisk.c:1340
 msgid "!!! Internal error !!!"
 msgstr "!!! Erro interno !!!"
 
-#: fdisk/cfdisk.c:1344
+#: fdisk/cfdisk.c:1343
 msgid "Size (in MB): "
 msgstr "Tamanho (em MB): "
 
-#: fdisk/cfdisk.c:1378
+#: fdisk/cfdisk.c:1377
 msgid "Beginning"
 msgstr "Início"
 
-#: fdisk/cfdisk.c:1378
+#: fdisk/cfdisk.c:1377
 msgid "Add partition at beginning of free space"
-msgstr "Adicionar uma partição no início do espaço livre"
+msgstr "Adicionar partição no início do espaço livre"
 
-#: fdisk/cfdisk.c:1379
+#: fdisk/cfdisk.c:1378
 msgid "End"
 msgstr "Fim"
 
-#: fdisk/cfdisk.c:1379
+#: fdisk/cfdisk.c:1378
 msgid "Add partition at end of free space"
-msgstr ""
+msgstr "Adicionar partição no final do espaço livre"
 
-#: fdisk/cfdisk.c:1397
+#: fdisk/cfdisk.c:1396
 msgid "No room to create the extended partition"
 msgstr "Espaço insuficiente para criação de partição estendida"
 
-#: fdisk/cfdisk.c:1436
-#, fuzzy
+#: fdisk/cfdisk.c:1435
 msgid "Bad signature on partition table"
-msgstr "   g   criar uma tabela de partições IRIX"
+msgstr "Assinatura inválida na tabela de partições"
 
-#: fdisk/cfdisk.c:1474
+#: fdisk/cfdisk.c:1473
 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:1504
+#: fdisk/cfdisk.c:1503
 msgid "Cannot open disk drive"
-msgstr ""
+msgstr "Não foi possível abrir a unidade de disco"
 
-#: fdisk/cfdisk.c:1506 fdisk/cfdisk.c:1687
+#: fdisk/cfdisk.c:1505 fdisk/cfdisk.c:1686
 msgid "Opened disk read-only - you have no permission to write"
-msgstr ""
+msgstr "Disco aberto somente para leitura - você não tem permissão para gravar"
 
-#: fdisk/cfdisk.c:1527
-#, fuzzy
+#: fdisk/cfdisk.c:1526
 msgid "Cannot get disk size"
-msgstr "Não foi possível ler a geometria do disco"
+msgstr "Não foi possível obter o tamanho do disco"
 
 #. avoid snprintf - it does not exist on ancient systems
-#: fdisk/cfdisk.c:1553
+#: fdisk/cfdisk.c:1552
 msgid "Bad primary partition"
 msgstr "Partição primária inválida"
 
 #. avoid snprintf
-#: fdisk/cfdisk.c:1584
+#: fdisk/cfdisk.c:1583
 msgid "Bad logical partition"
 msgstr "Partição lógica inválida"
 
-#: fdisk/cfdisk.c:1699
+#: fdisk/cfdisk.c:1698
 msgid "Warning!!  This may destroy data on your disk!"
-msgstr ""
+msgstr "Aviso!! Isto pode destruir dados existentes no disco!"
 
-#: fdisk/cfdisk.c:1703
+#: fdisk/cfdisk.c:1702
 msgid "Are you sure you want 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:1709
+#: fdisk/cfdisk.c:1708
 msgid "no"
-msgstr ""
+msgstr "nao"
 
-#: fdisk/cfdisk.c:1710
+#: fdisk/cfdisk.c:1709
 msgid "Did not write partition table to disk"
 msgstr "A tabela de partições NÃO foi gravada no disco"
 
-#: fdisk/cfdisk.c:1712
+#: fdisk/cfdisk.c:1711
 msgid "yes"
-msgstr ""
+msgstr "sim"
 
-#: fdisk/cfdisk.c:1715
+#: fdisk/cfdisk.c:1714
 msgid "Please enter `yes' or `no'"
-msgstr ""
+msgstr "Responda `sim' ou `nao'"
 
-#: fdisk/cfdisk.c:1719
+#: fdisk/cfdisk.c:1718
 msgid "Writing partition table to disk..."
 msgstr "Gravando tabela de partições no disco..."
 
-#: fdisk/cfdisk.c:1744 fdisk/cfdisk.c:1748
+#: fdisk/cfdisk.c:1743 fdisk/cfdisk.c:1747
 msgid "Wrote partition table to disk"
 msgstr "A tabela de partições foi gravada no disco"
 
-#: fdisk/cfdisk.c:1746
+#: fdisk/cfdisk.c:1745
 msgid ""
 "Wrote partition table, but re-read table failed.  Reboot to update table."
 msgstr ""
+"Tabela de partições gravada, mas a releitura da tabela falhou. Reinicialize "
+"para atualizar a tabela."
 
-#: fdisk/cfdisk.c:1756
+#: fdisk/cfdisk.c:1755
 msgid ""
 "Not precisely one primary partition is bootable. DOS MBR cannot boot this."
 msgstr ""
+"Não exatamente uma partição primária inicializável. O MBR do DOS não pode "
+"inicializar nesta situação."
 
-#: fdisk/cfdisk.c:1814 fdisk/cfdisk.c:1932 fdisk/cfdisk.c:2016
+#: fdisk/cfdisk.c:1813 fdisk/cfdisk.c:1931 fdisk/cfdisk.c:2015
 msgid "Enter filename or press RETURN to display on screen: "
-msgstr ""
+msgstr "Digite um nome de arquivo ou pressione ENTER para exibir na tela: "
 
-#: fdisk/cfdisk.c:1822 fdisk/cfdisk.c:1940 fdisk/cfdisk.c:2024
+#: fdisk/cfdisk.c:1821 fdisk/cfdisk.c:1939 fdisk/cfdisk.c:2023
 #, c-format
 msgid "Cannot open file '%s'"
-msgstr ""
+msgstr "Não foi possível abrir o arquivo '%s'"
 
-#: fdisk/cfdisk.c:1833
+#: fdisk/cfdisk.c:1832
 #, c-format
 msgid "Disk Drive: %s\n"
-msgstr "Disco: %s\n"
+msgstr "Unidade de disco: %s\n"
 
-#: fdisk/cfdisk.c:1835
+#: fdisk/cfdisk.c:1834
 msgid "Sector 0:\n"
-msgstr ""
+msgstr "Setor 0:\n"
 
-#: fdisk/cfdisk.c:1842
+#: fdisk/cfdisk.c:1841
 #, c-format
 msgid "Sector %d:\n"
-msgstr ""
+msgstr "Setor %d:\n"
 
-#: fdisk/cfdisk.c:1862
+#: fdisk/cfdisk.c:1861
 msgid "   None   "
-msgstr ""
+msgstr "  Nenhum  "
 
-#: fdisk/cfdisk.c:1864
+#: fdisk/cfdisk.c:1863
 msgid "   Pri/Log"
-msgstr ""
+msgstr "   Pri/lóg"
 
-#: fdisk/cfdisk.c:1866
+#: fdisk/cfdisk.c:1865
 msgid "   Primary"
-msgstr ""
+msgstr "   Primária"
 
-#: fdisk/cfdisk.c:1868
+#: fdisk/cfdisk.c:1867
 msgid "   Logical"
-msgstr ""
+msgstr "   Lógica"
 
 #. odd flag on end
 #. type id
 #. type name
-#: fdisk/cfdisk.c:1906 fdisk/fdisk.c:1072 fdisk/fdisk.c:1221
+#: fdisk/cfdisk.c:1905 fdisk/fdisk.c:1071 fdisk/fdisk.c:1220
 #: fdisk/fdisksgilabel.c:224 fdisk/fdisksunlabel.c:646 fdisk/sfdisk.c:559
 msgid "Unknown"
-msgstr ""
+msgstr "Desconhecido"
 
-#: fdisk/cfdisk.c:1912
+#: fdisk/cfdisk.c:1911
 #, c-format
 msgid "Boot (%02X)"
-msgstr ""
+msgstr "Boot (%02X)"
 
-#: fdisk/cfdisk.c:1914 fdisk/cfdisk.c:2404
+#: fdisk/cfdisk.c:1913 fdisk/cfdisk.c:2408
 #, c-format
 msgid "Unknown (%02X)"
-msgstr ""
+msgstr "Desconhecido (%02X)"
 
-#: fdisk/cfdisk.c:1916
+#: fdisk/cfdisk.c:1915
 #, c-format
 msgid "None (%02X)"
-msgstr ""
+msgstr "Nenhum (%02X)"
 
-#: fdisk/cfdisk.c:1951 fdisk/cfdisk.c:2035
+#: fdisk/cfdisk.c:1950 fdisk/cfdisk.c:2034
 #, c-format
 msgid "Partition Table for %s\n"
-msgstr ""
+msgstr "Tabela de partições de %s\n"
 
-#: fdisk/cfdisk.c:1953
+#: fdisk/cfdisk.c:1952
 msgid "            First    Last\n"
-msgstr ""
+msgstr "            Prim.    Últ.\n"
 
-#: fdisk/cfdisk.c:1954
+#: fdisk/cfdisk.c:1953
 msgid ""
 " # Type     Sector   Sector   Offset  Length   Filesystem Type (ID)   Flags\n"
 msgstr ""
+" # Tipo     Setor    Setor    Desloc. Compr.   Tipo sist. arqs. (ID)  "
+"Opções\n"
 
-#: fdisk/cfdisk.c:1955
+#: fdisk/cfdisk.c:1954
 msgid ""
 "-- ------- -------- --------- ------ --------- ---------------------- "
 "---------\n"
 msgstr ""
+"-- ------- -------- --------- ------ --------- ---------------------- "
+"---------\n"
 
-#: fdisk/cfdisk.c:2037
+#: fdisk/cfdisk.c:2036
 msgid "         ---Starting---      ----Ending----    Start Number of\n"
-msgstr ""
+msgstr "         --- Início ---       ---- Fim ----       Núm. inicial de\n"
 
-#: fdisk/cfdisk.c:2038
+#: fdisk/cfdisk.c:2037
 msgid " # Flags Head Sect Cyl   ID  Head Sect Cyl    Sector  Sectors\n"
-msgstr ""
+msgstr " # Ops.  Cab. Set. Cil.  ID  Cab. Set. Cil.   Setor   Setores\n"
 
-#: fdisk/cfdisk.c:2039
+#: fdisk/cfdisk.c:2038
 msgid "-- ----- ---- ---- ---- ---- ---- ---- ---- -------- ---------\n"
-msgstr ""
+msgstr "-- ----- ---- ---- ---- ---- ---- ---- ---- -------- ---------\n"
 
-#: fdisk/cfdisk.c:2072
+#: fdisk/cfdisk.c:2071
 msgid "Raw"
-msgstr ""
+msgstr "Brutos"
 
-#: fdisk/cfdisk.c:2072
+#: fdisk/cfdisk.c:2071
 msgid "Print the table using raw data format"
-msgstr ""
+msgstr "Mostrar a tabela usando formato de dados brutos"
 
-#: fdisk/cfdisk.c:2073 fdisk/cfdisk.c:2175
+#: fdisk/cfdisk.c:2072 fdisk/cfdisk.c:2174
 msgid "Sectors"
-msgstr ""
+msgstr "Setores"
 
-#: fdisk/cfdisk.c:2073
+#: fdisk/cfdisk.c:2072
 msgid "Print the table ordered by sectors"
-msgstr ""
+msgstr "Mostrar a tabela ordenada por setores"
 
-#: fdisk/cfdisk.c:2074
+#: fdisk/cfdisk.c:2073
 msgid "Table"
-msgstr ""
+msgstr "Tabela"
 
-#: fdisk/cfdisk.c:2074
+#: fdisk/cfdisk.c:2073
 msgid "Just print the partition table"
-msgstr ""
+msgstr "Mostrar somente a tabela de partições"
 
-#: fdisk/cfdisk.c:2075
+#: fdisk/cfdisk.c:2074
 msgid "Don't print the table"
-msgstr ""
+msgstr "Não mostrar a tabela"
 
-#: fdisk/cfdisk.c:2103
+#: fdisk/cfdisk.c:2102
 msgid "Help Screen for cfdisk"
-msgstr ""
+msgstr "Tela de ajuda do cfdisk"
 
-#: fdisk/cfdisk.c:2105
+#: fdisk/cfdisk.c:2104
 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:2106
+#: fdisk/cfdisk.c:2105
 msgid "allows you to create, delete and modify partitions on your hard"
-msgstr ""
+msgstr "curses, que permite criar, excluir e alterar partições na unidade"
 
-#: fdisk/cfdisk.c:2107
+#: fdisk/cfdisk.c:2106
 msgid "disk drive."
-msgstr ""
+msgstr "de disco rígido."
 
-#: fdisk/cfdisk.c:2109
-#, fuzzy
+#: fdisk/cfdisk.c:2108
 msgid "Copyright (C) 1994-1999 Kevin E. Martin & aeb"
-msgstr "Copyright (C) 1994-1999 Kevin E. Martin & aeb\n"
+msgstr "Copyright (C) 1994-1999 Kevin E. Martin & aeb"
 
-#: fdisk/cfdisk.c:2111
+#: fdisk/cfdisk.c:2110
 msgid "Command      Meaning"
-msgstr ""
+msgstr "Comando      Significado"
 
-#: fdisk/cfdisk.c:2112
+#: fdisk/cfdisk.c:2111
 msgid "-------      -------"
-msgstr ""
+msgstr "-------      -------"
 
-#: fdisk/cfdisk.c:2113
+#: fdisk/cfdisk.c:2112
 msgid "  b          Toggle bootable flag of the current partition"
-msgstr ""
+msgstr "  b          Alterna a opção da partição atual como inicializável."
 
-#: fdisk/cfdisk.c:2114
+#: fdisk/cfdisk.c:2113
 msgid "  d          Delete the current partition"
-msgstr ""
+msgstr "  d          Exclui a partição atual."
 
-#: fdisk/cfdisk.c:2115
+#: fdisk/cfdisk.c:2114
 msgid "  g          Change cylinders, heads, sectors-per-track parameters"
 msgstr ""
+"  g          Altera parâmetros de cilindros, cabeças, setores por trilha"
 
-#: fdisk/cfdisk.c:2116
+#: fdisk/cfdisk.c:2115
 msgid "             WARNING: This option should only be used by people who"
-msgstr ""
+msgstr "             AVISO: Esta opção só deve ser usada por pessoas que"
 
-#: fdisk/cfdisk.c:2117
+#: fdisk/cfdisk.c:2116
 msgid "             know what they are doing."
-msgstr ""
+msgstr "             saibam exatamente o que estão fazendo."
 
-#: fdisk/cfdisk.c:2118
+#: fdisk/cfdisk.c:2117
 msgid "  h          Print this screen"
-msgstr ""
+msgstr "  h          Mostra esta tela."
 
-#: fdisk/cfdisk.c:2119
+#: fdisk/cfdisk.c:2118
 msgid "  m          Maximize disk usage of the current partition"
-msgstr ""
+msgstr "  m          Maximiza o uso de disco da partição atual."
 
-#: fdisk/cfdisk.c:2120
+#: fdisk/cfdisk.c:2119
 msgid "             Note: This may make the partition incompatible with"
-msgstr ""
+msgstr "             Nota: Isto pode tornar a partição incompatível com"
 
-#: fdisk/cfdisk.c:2121
+#: fdisk/cfdisk.c:2120
 msgid "             DOS, OS/2, ..."
-msgstr ""
+msgstr "             DOS, OS/2 ..."
 
-#: fdisk/cfdisk.c:2122
+#: fdisk/cfdisk.c:2121
 msgid "  n          Create new partition from free space"
-msgstr ""
+msgstr "  n          Cria uma nova partição a partir do espaço livre."
 
-#: fdisk/cfdisk.c:2123
+#: fdisk/cfdisk.c:2122
 msgid "  p          Print partition table to the screen or to a file"
-msgstr ""
+msgstr "  p          Mostra a tabela de partições na tela ou em um arquivo."
 
-#: fdisk/cfdisk.c:2124
+#: fdisk/cfdisk.c:2123
 msgid "             There are several different formats for the partition"
-msgstr ""
+msgstr "             Pode-se selecionar diversos formatos diferentes para"
 
-#: fdisk/cfdisk.c:2125
+#: fdisk/cfdisk.c:2124
 msgid "             that you can choose from:"
-msgstr ""
+msgstr "             uma partição:"
 
-#: fdisk/cfdisk.c:2126
+#: fdisk/cfdisk.c:2125
 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:2127
+#: fdisk/cfdisk.c:2126
 msgid "                s - Table ordered by sectors"
-msgstr ""
+msgstr "                s - Tabela ordenada por setores."
 
-#: fdisk/cfdisk.c:2128
+#: fdisk/cfdisk.c:2127
 msgid "                t - Table in raw format"
-msgstr ""
+msgstr "                t - Tabela em formato bruto."
 
-#: fdisk/cfdisk.c:2129
+#: fdisk/cfdisk.c:2128
 msgid "  q          Quit program without writing partition table"
-msgstr ""
+msgstr "  q          Sai do programa sem gravar a tabela de partições."
 
-#: fdisk/cfdisk.c:2130
+#: fdisk/cfdisk.c:2129
 msgid "  t          Change the filesystem type"
-msgstr ""
+msgstr "  t          Altera o tipo de sistema de arquivos."
 
-#: fdisk/cfdisk.c:2131
+#: fdisk/cfdisk.c:2130
 msgid "  u          Change units of the partition size display"
-msgstr ""
+msgstr "  u          Altera unidades de exibição do tamanho das partições."
 
-#: fdisk/cfdisk.c:2132
+#: fdisk/cfdisk.c:2131
 msgid "             Rotates through MB, sectors and cylinders"
-msgstr ""
+msgstr "             Alterna entre MB, setores e cilindros."
 
-#: fdisk/cfdisk.c:2133
+#: fdisk/cfdisk.c:2132
 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:2134
+#: fdisk/cfdisk.c:2133
 msgid "             Since this might destroy data on the disk, you must"
-msgstr ""
+msgstr "             Como esta opção pode destruir dados no disco, você deve"
 
-#: fdisk/cfdisk.c:2135
+#: fdisk/cfdisk.c:2134
 msgid "             either confirm or deny the write by entering `yes' or"
-msgstr ""
+msgstr "             confirmar ou cancelar a gravação indicando `sim' ou"
 
-#: fdisk/cfdisk.c:2136
+#: fdisk/cfdisk.c:2135
 msgid "             `no'"
-msgstr ""
+msgstr "             `não'"
 
-#: fdisk/cfdisk.c:2137
+#: fdisk/cfdisk.c:2136
 msgid "Up Arrow     Move cursor to the previous partition"
-msgstr ""
+msgstr "Seta p/ cima  Move o cursor para a partição anterior."
 
-#: fdisk/cfdisk.c:2138
+#: fdisk/cfdisk.c:2137
 msgid "Down Arrow   Move cursor to the next partition"
-msgstr ""
+msgstr "Seta p/ baixo    Move o cursor para a próxima partição."
 
-#: fdisk/cfdisk.c:2139
+#: fdisk/cfdisk.c:2138
 msgid "CTRL-L       Redraws the screen"
-msgstr ""
+msgstr "CTRL-L       Redesenha a tela."
 
-#: fdisk/cfdisk.c:2140
+#: fdisk/cfdisk.c:2139
 msgid "  ?          Print this screen"
-msgstr ""
+msgstr "  ?          Mostra esta tela."
 
-#: fdisk/cfdisk.c:2142
+#: fdisk/cfdisk.c:2141
 msgid "Note: All of the commands can be entered with either upper or lower"
-msgstr ""
+msgstr "Nota: Todos os comandos podem ser digitados em letras maiúsculas ou"
 
-#: fdisk/cfdisk.c:2143
+#: fdisk/cfdisk.c:2142
 msgid "case letters (except for Writes)."
-msgstr ""
+msgstr "minúsculas (exceto W)."
 
-#: fdisk/cfdisk.c:2173 fdisk/cfdisk.c:2490 fdisk/fdisksunlabel.c:305
+#: fdisk/cfdisk.c:2172 fdisk/cfdisk.c:2494 fdisk/fdisksunlabel.c:305
 #: fdisk/fdisksunlabel.c:307
 msgid "Cylinders"
 msgstr "Cilindros"
 
-#: fdisk/cfdisk.c:2173
+#: fdisk/cfdisk.c:2172
 msgid "Change cylinder geometry"
-msgstr "Mudar geometria dos cilindros"
+msgstr "Alterar geometria dos cilindros"
 
-#: fdisk/cfdisk.c:2174 fdisk/fdisksunlabel.c:302
+#: fdisk/cfdisk.c:2173 fdisk/fdisksunlabel.c:302
 msgid "Heads"
 msgstr "Cabeças"
 
-#: fdisk/cfdisk.c:2174
+#: fdisk/cfdisk.c:2173
 msgid "Change head geometry"
-msgstr "Mudar geometria dos cilindros"
+msgstr "Alterar geometria das cabeças"
 
-#: fdisk/cfdisk.c:2175
+#: fdisk/cfdisk.c:2174
 msgid "Change sector geometry"
-msgstr "Mudar geometria dos setores"
+msgstr "Alterar geometria dos setores"
 
-#: fdisk/cfdisk.c:2176
+#: fdisk/cfdisk.c:2175
 msgid "Done"
-msgstr "Feito"
+msgstr "Concluído"
 
-#: fdisk/cfdisk.c:2176
+#: fdisk/cfdisk.c:2175
 msgid "Done with changing geometry"
-msgstr "A mudança da geometria foi feita"
+msgstr "A alteração da geometria foi concluída"
 
-#: fdisk/cfdisk.c:2189
+#: fdisk/cfdisk.c:2188
 msgid "Enter the number of cylinders: "
-msgstr "Informe o número de cilindros: "
+msgstr "Digite o número de cilindros: "
 
-#: fdisk/cfdisk.c:2201 fdisk/cfdisk.c:2758
+#: fdisk/cfdisk.c:2200 fdisk/cfdisk.c:2762
 msgid "Illegal cylinders value"
-msgstr ""
+msgstr "Valor de cilindros inválido"
 
-#: fdisk/cfdisk.c:2207
+#: fdisk/cfdisk.c:2206
 msgid "Enter the number of heads: "
-msgstr "Informe o número de cabeças: "
+msgstr "Digite o número de cabeças: "
 
-#: fdisk/cfdisk.c:2214 fdisk/cfdisk.c:2768
+#: fdisk/cfdisk.c:2213 fdisk/cfdisk.c:2772
 msgid "Illegal heads value"
-msgstr ""
+msgstr "Valor de cabeças inválido"
 
-#: fdisk/cfdisk.c:2220
+#: fdisk/cfdisk.c:2219
 msgid "Enter the number of sectors per track: "
-msgstr "Informe o número de setores por trilha: "
+msgstr "Digite o número de setores por trilha: "
 
-#: fdisk/cfdisk.c:2227 fdisk/cfdisk.c:2775
+#: fdisk/cfdisk.c:2226 fdisk/cfdisk.c:2779
 msgid "Illegal sectors value"
 msgstr "Valor de setores inválido"
 
-#: fdisk/cfdisk.c:2330
+#: fdisk/cfdisk.c:2329
 msgid "Enter filesystem type: "
-msgstr "Informe o tipo do sistema de arquivos: "
+msgstr "Digite o tipo do sistema de arquivos: "
 
-#: fdisk/cfdisk.c:2348
+#: fdisk/cfdisk.c:2347
 msgid "Cannot change FS Type to empty"
-msgstr "Não foi possível mudar o tipo de SA para vazio"
+msgstr "Não foi possível alterar o tipo de sistema de arquivos para vazio"
 
-#: fdisk/cfdisk.c:2350
+#: fdisk/cfdisk.c:2349
 msgid "Cannot change FS Type to extended"
-msgstr ""
+msgstr "Não foi possível alterar o tipo de sistema de arquivos para estendido"
 
-#: fdisk/cfdisk.c:2373 fdisk/fdisksunlabel.c:44
+#: fdisk/cfdisk.c:2377 fdisk/fdisksunlabel.c:44
 msgid "Boot"
-msgstr "Inicial."
+msgstr "Inicializar"
 
-#: fdisk/cfdisk.c:2375
+#: fdisk/cfdisk.c:2379
 #, c-format
 msgid "Unk(%02X)"
-msgstr "Desc(%02X)"
+msgstr "Desc (%02X)"
 
-#: fdisk/cfdisk.c:2378 fdisk/cfdisk.c:2381
+#: fdisk/cfdisk.c:2382 fdisk/cfdisk.c:2385
 msgid ", NC"
-msgstr ""
+msgstr ", NC"
 
-#: fdisk/cfdisk.c:2386 fdisk/cfdisk.c:2389
+#: fdisk/cfdisk.c:2390 fdisk/cfdisk.c:2393
 msgid "NC"
-msgstr ""
+msgstr "NC"
 
-#: fdisk/cfdisk.c:2397
+#: fdisk/cfdisk.c:2401
 msgid "Pri/Log"
-msgstr "Pri/Lóg"
+msgstr "Pri/lóg"
 
-#: fdisk/cfdisk.c:2473
+#: fdisk/cfdisk.c:2477
 #, c-format
 msgid "Disk Drive: %s"
 msgstr "Disco: %s"
 
-#: fdisk/cfdisk.c:2476
+#: fdisk/cfdisk.c:2480
 #, c-format
 msgid "Size: %lld bytes"
-msgstr ""
+msgstr "Tamanho: %lld bytes"
 
-#: fdisk/cfdisk.c:2478
+#: fdisk/cfdisk.c:2482
 #, c-format
 msgid "Heads: %d   Sectors per Track: %d   Cylinders: %d"
 msgstr "Cabeças: %d  Setores por Trilha: %d  Cilindros: %d"
 
-#: fdisk/cfdisk.c:2482
+#: fdisk/cfdisk.c:2486
 msgid "Name"
 msgstr "Nome"
 
-#: fdisk/cfdisk.c:2483
+#: fdisk/cfdisk.c:2487
 msgid "Flags"
 msgstr "Opções"
 
-#: fdisk/cfdisk.c:2484
+#: fdisk/cfdisk.c:2488
 msgid "Part Type"
 msgstr "Tipo Part."
 
-#: fdisk/cfdisk.c:2485
+#: fdisk/cfdisk.c:2489
 msgid "FS Type"
 msgstr "Tipo SA"
 
-#: fdisk/cfdisk.c:2486
+#: fdisk/cfdisk.c:2490
 msgid "[Label]"
 msgstr "[Rótulo]"
 
-#: fdisk/cfdisk.c:2488
+#: fdisk/cfdisk.c:2492
 msgid "  Sectors"
 msgstr "  Setores"
 
-#: fdisk/cfdisk.c:2492
+#: fdisk/cfdisk.c:2496
 msgid "Size (MB)"
-msgstr "Tam. (MB)"
+msgstr "Tam. (Mb)"
 
-#: fdisk/cfdisk.c:2494
-#, fuzzy
+#: fdisk/cfdisk.c:2498
 msgid "Size (GB)"
-msgstr "Tam. (MB)"
+msgstr "Tam. (Gb)"
 
-#: fdisk/cfdisk.c:2549
+#: fdisk/cfdisk.c:2553
 msgid "Bootable"
-msgstr "Inicial."
+msgstr "Iniciali."
 
-#: fdisk/cfdisk.c:2549
+#: fdisk/cfdisk.c:2553
 msgid "Toggle bootable flag of the current partition"
-msgstr "Configura a partição corrente como inicializável"
+msgstr "Alterna a opção da partição atual como inicializável"
 
-#: fdisk/cfdisk.c:2550
+#: fdisk/cfdisk.c:2554
 msgid "Delete"
-msgstr "Remova"
+msgstr "Excluir"
 
-#: fdisk/cfdisk.c:2550
+#: fdisk/cfdisk.c:2554
 msgid "Delete the current partition"
-msgstr "Remover partição corrente"
+msgstr "Excluir a partição atual"
 
-#: fdisk/cfdisk.c:2551
+#: fdisk/cfdisk.c:2555
 msgid "Geometry"
 msgstr "Geometria"
 
-#: fdisk/cfdisk.c:2551
+#: fdisk/cfdisk.c:2555
 msgid "Change disk geometry (experts only)"
-msgstr "Mudar geometria do disco (somente para experts)"
+msgstr "Alterar a geometria do disco (somente para usuários avançados)"
 
-#: fdisk/cfdisk.c:2552
+#: fdisk/cfdisk.c:2556
 msgid "Help"
 msgstr "Ajuda"
 
-#: fdisk/cfdisk.c:2552
+#: fdisk/cfdisk.c:2556
 msgid "Print help screen"
 msgstr "Mostrar tela de ajuda"
 
-#: fdisk/cfdisk.c:2553
+#: fdisk/cfdisk.c:2557
 msgid "Maximize"
 msgstr "Maximize"
 
-#: fdisk/cfdisk.c:2553
+#: fdisk/cfdisk.c:2557
 msgid "Maximize disk usage of the current partition (experts only)"
 msgstr ""
-"Maximizar o uso de disco para a partição corrente (somente para experts)"
+"Maximizar o uso de disco para a partição atual (somente para usuários "
+"avançados)"
 
-#: fdisk/cfdisk.c:2554
+#: fdisk/cfdisk.c:2558
 msgid "New"
 msgstr "Nova"
 
-#: fdisk/cfdisk.c:2554
+#: fdisk/cfdisk.c:2558
 msgid "Create new partition from free space"
 msgstr "Criar nova partição a partir do espaço livre"
 
-#: fdisk/cfdisk.c:2555
+#: fdisk/cfdisk.c:2559
 msgid "Print"
 msgstr "Mostre"
 
-#: fdisk/cfdisk.c:2555
+#: fdisk/cfdisk.c:2559
 msgid "Print partition table to the screen or to a file"
-msgstr "Mostrar tabela de particões na tela ou para um arquivo"
+msgstr "Mostrar tabela de partições na tela ou imprimir em um arquivo"
 
-#: fdisk/cfdisk.c:2556
+#: fdisk/cfdisk.c:2560
 msgid "Quit"
-msgstr "Saia"
+msgstr "Sair"
 
-#: fdisk/cfdisk.c:2556
+#: fdisk/cfdisk.c:2560
 msgid "Quit program without writing partition table"
 msgstr "Sair do programa sem gravar a tabela de partições"
 
-#: fdisk/cfdisk.c:2557
+#: fdisk/cfdisk.c:2561
 msgid "Type"
 msgstr "Tipo"
 
-#: fdisk/cfdisk.c:2557
+#: fdisk/cfdisk.c:2561
 msgid "Change the filesystem type (DOS, Linux, OS/2 and so on)"
-msgstr "Mudar o tipo do sistema de arquivos (DOS, Linux, OS/2 e outros)"
+msgstr "Alterar o tipo do sistema de arquivos (DOS, Linux, OS/2 e outros)"
 
-#: fdisk/cfdisk.c:2558
+#: fdisk/cfdisk.c:2562
 msgid "Units"
 msgstr "Unidades"
 
-#: fdisk/cfdisk.c:2558
+#: fdisk/cfdisk.c:2562
 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:2559
+#: fdisk/cfdisk.c:2563
 msgid "Write"
-msgstr "Grave"
+msgstr "Gravar"
 
-#: fdisk/cfdisk.c:2559
+#: fdisk/cfdisk.c:2563
 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:2605
+#: fdisk/cfdisk.c:2609
 msgid "Cannot make this partition bootable"
-msgstr ""
+msgstr "Não foi possível tornar esta partição inicializável."
 
-#: fdisk/cfdisk.c:2615
+#: fdisk/cfdisk.c:2619
 msgid "Cannot delete an empty partition"
-msgstr "Não foi possível remover uma partição vazia"
+msgstr "Não foi possível excluir uma partição vazia"
 
-#: fdisk/cfdisk.c:2635 fdisk/cfdisk.c:2637
+#: fdisk/cfdisk.c:2639 fdisk/cfdisk.c:2641
 msgid "Cannot maximize this partition"
 msgstr "Não foi possível maximizar esta partição"
 
-#: fdisk/cfdisk.c:2645
+#: fdisk/cfdisk.c:2649
 msgid "This partition is unusable"
-msgstr ""
+msgstr "Esta partição é inutilizável"
 
-#: fdisk/cfdisk.c:2647
+#: fdisk/cfdisk.c:2651
 msgid "This partition is already in use"
-msgstr ""
+msgstr "Esta partição já está sendo usada"
 
-#: fdisk/cfdisk.c:2664
+#: fdisk/cfdisk.c:2668
 msgid "Cannot change the type of an empty partition"
-msgstr ""
+msgstr "Não foi possível alterar o tipo de uma partição vazia"
 
-#: fdisk/cfdisk.c:2691 fdisk/cfdisk.c:2697
+#: fdisk/cfdisk.c:2695 fdisk/cfdisk.c:2701
 msgid "No more partitions"
 msgstr "Sem mais partições"
 
-#: fdisk/cfdisk.c:2704
+#: fdisk/cfdisk.c:2708
 msgid "Illegal command"
 msgstr "Comando inválido"
 
-#: fdisk/cfdisk.c:2714
+#: fdisk/cfdisk.c:2718
 msgid "Copyright (C) 1994-1999 Kevin E. Martin & aeb\n"
 msgstr "Copyright (C) 1994-1999 Kevin E. Martin & aeb\n"
 
 #. Unfortunately, xgettext does not handle multi-line strings
 #. so, let's use explicit \n's instead
-#: fdisk/cfdisk.c:2721
+#: fdisk/cfdisk.c:2725
 #, c-format
 msgid ""
 "\n"
@@ -1988,8 +2270,25 @@ msgid ""
 "                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/fdisk.c:247
+#: fdisk/fdisk.c:246
 msgid ""
 "Usage: fdisk [-b SSZ] [-u] DISK     Change partition table\n"
 "       fdisk -l [-b SSZ] [-u] DISK  List partition table(s)\n"
@@ -2000,8 +2299,17 @@ msgid ""
 "-u: give Start and End in sector (instead of cylinder) units\n"
 "-b 2048: (for certain MO drives) 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:259
+#: fdisk/fdisk.c:258
 msgid ""
 "Usage: fdisk [-l] [-b SSZ] [-u] device\n"
 "E.g.: fdisk /dev/hda  (for the first IDE disk)\n"
@@ -2010,423 +2318,451 @@ msgid ""
 "  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:267
+#: fdisk/fdisk.c:266
 #, c-format
 msgid "Unable to open %s\n"
-msgstr ""
+msgstr "Não foi possível abrir %s\n"
 
-#: fdisk/fdisk.c:270
+#: fdisk/fdisk.c:269
 #, c-format
 msgid "Unable to read %s\n"
-msgstr ""
+msgstr "Não foi possível ler %s\n"
 
-#: fdisk/fdisk.c:273
+#: fdisk/fdisk.c:272
 #, c-format
 msgid "Unable to seek on %s\n"
-msgstr ""
+msgstr "Não foi possível realizar busca em %s\n"
 
-#: fdisk/fdisk.c:276
+#: fdisk/fdisk.c:275
 #, c-format
 msgid "Unable to write %s\n"
-msgstr ""
+msgstr "Não foi possível gravar em %s\n"
 
-#: fdisk/fdisk.c:279
+#: fdisk/fdisk.c:278
 #, c-format
 msgid "BLKGETSIZE ioctl failed on %s\n"
-msgstr ""
+msgstr "ioctl BLKGETSIZE  falhou em %s\n"
 
-#: fdisk/fdisk.c:283
+#: fdisk/fdisk.c:282
 msgid "Unable to allocate any more memory\n"
-msgstr ""
+msgstr "Não foi possível alocar mais qualquer memória\n"
 
-#: fdisk/fdisk.c:285
+#: fdisk/fdisk.c:284
 msgid "Fatal error\n"
-msgstr ""
+msgstr "Erro fatal\n"
 
-#: fdisk/fdisk.c:296 fdisk/fdisk.c:315 fdisk/fdisk.c:333 fdisk/fdisk.c:340
-#: fdisk/fdisk.c:363 fdisk/fdisk.c:381 fdisk/fdiskbsdlabel.c:105
+#: fdisk/fdisk.c:295 fdisk/fdisk.c:314 fdisk/fdisk.c:332 fdisk/fdisk.c:339
+#: fdisk/fdisk.c:362 fdisk/fdisk.c:380 fdisk/fdiskbsdlabel.c:105
 msgid "Command action"
 msgstr "Comando - ação"
 
-#: fdisk/fdisk.c:297
+#: fdisk/fdisk.c:296
 msgid "   a   toggle a read only flag"
-msgstr "   a   configura a opção de somente leitura"
+msgstr "   a   alterna uma opção de somente leitura"
 
 #. sun
-#: fdisk/fdisk.c:298 fdisk/fdisk.c:342
+#: fdisk/fdisk.c:297 fdisk/fdisk.c:341
 msgid "   b   edit bsd disklabel"
 msgstr "   b   edita rótulo BSD no disco"
 
-#: fdisk/fdisk.c:299
+#: fdisk/fdisk.c:298
 msgid "   c   toggle the mountable flag"
-msgstr "   c   configura a opção \"montável\""
+msgstr "   c   alterna a opção \"montável\""
 
 #. sun
-#: fdisk/fdisk.c:300 fdisk/fdisk.c:319 fdisk/fdisk.c:344
+#: fdisk/fdisk.c:299 fdisk/fdisk.c:318 fdisk/fdisk.c:343
 msgid "   d   delete a partition"
-msgstr "   d   remova uma partição"
+msgstr "   d   exclui uma partição"
 
-#: fdisk/fdisk.c:301 fdisk/fdisk.c:320 fdisk/fdisk.c:345
+#: fdisk/fdisk.c:300 fdisk/fdisk.c:319 fdisk/fdisk.c:344
 msgid "   l   list known partition types"
 msgstr "   l   lista os tipos de partição conhecidos"
 
 #. sun
-#: fdisk/fdisk.c:302 fdisk/fdisk.c:321 fdisk/fdisk.c:334 fdisk/fdisk.c:346
-#: fdisk/fdisk.c:371 fdisk/fdisk.c:388 fdisk/fdiskbsdlabel.c:110
+#: fdisk/fdisk.c:301 fdisk/fdisk.c:320 fdisk/fdisk.c:333 fdisk/fdisk.c:345
+#: fdisk/fdisk.c:370 fdisk/fdisk.c:387 fdisk/fdiskbsdlabel.c:110
 msgid "   m   print this menu"
 msgstr "   m   mostra este menu"
 
-#: fdisk/fdisk.c:303 fdisk/fdisk.c:322 fdisk/fdisk.c:347
+#: fdisk/fdisk.c:302 fdisk/fdisk.c:321 fdisk/fdisk.c:346
 msgid "   n   add a new partition"
 msgstr "   n   cria uma nova partição"
 
-#: fdisk/fdisk.c:304 fdisk/fdisk.c:323 fdisk/fdisk.c:335 fdisk/fdisk.c:348
+#: fdisk/fdisk.c:303 fdisk/fdisk.c:322 fdisk/fdisk.c:334 fdisk/fdisk.c:347
 msgid "   o   create a new empty DOS partition table"
 msgstr "   o   cria uma nova tabela de partições DOS vazia"
 
-#: fdisk/fdisk.c:305 fdisk/fdisk.c:324 fdisk/fdisk.c:349 fdisk/fdisk.c:372
-#: fdisk/fdisk.c:389
+#: fdisk/fdisk.c:304 fdisk/fdisk.c:323 fdisk/fdisk.c:348 fdisk/fdisk.c:371
+#: fdisk/fdisk.c:388
 msgid "   p   print the partition table"
 msgstr "   p   mostra a tabela de partições"
 
-#: fdisk/fdisk.c:306 fdisk/fdisk.c:325 fdisk/fdisk.c:336 fdisk/fdisk.c:350
-#: fdisk/fdisk.c:373 fdisk/fdisk.c:390 fdisk/fdiskbsdlabel.c:113
+#: fdisk/fdisk.c:305 fdisk/fdisk.c:324 fdisk/fdisk.c:335 fdisk/fdisk.c:349
+#: fdisk/fdisk.c:372 fdisk/fdisk.c:389 fdisk/fdiskbsdlabel.c:113
 msgid "   q   quit without saving changes"
-msgstr "   q   sai sem salvar as mudanças"
+msgstr "   q   sai sem salvar as alterações"
 
-#: fdisk/fdisk.c:307 fdisk/fdisk.c:326 fdisk/fdisk.c:337 fdisk/fdisk.c:351
+#: fdisk/fdisk.c:306 fdisk/fdisk.c:325 fdisk/fdisk.c:336 fdisk/fdisk.c:350
 msgid "   s   create a new empty Sun disklabel"
-msgstr "   s   cria um novo rotúlo de disco Sun vazio"
+msgstr "   s   cria um novo rótulo de disco Sun vazio"
 
 #. sun
-#: fdisk/fdisk.c:308 fdisk/fdisk.c:327 fdisk/fdisk.c:352
+#: fdisk/fdisk.c:307 fdisk/fdisk.c:326 fdisk/fdisk.c:351
 msgid "   t   change a partition's system id"
-msgstr "   t   muda a identificação da partição para o sistema"
+msgstr "   t   altera a identificação da partição para o sistema"
 
-#: fdisk/fdisk.c:309 fdisk/fdisk.c:328 fdisk/fdisk.c:353
+#: fdisk/fdisk.c:308 fdisk/fdisk.c:327 fdisk/fdisk.c:352
 msgid "   u   change display/entry units"
-msgstr "   u   muda as unidades das entradas mostradas"
+msgstr "   u   altera as unidades das entradas mostradas"
 
-#: fdisk/fdisk.c:310 fdisk/fdisk.c:329 fdisk/fdisk.c:354 fdisk/fdisk.c:376
-#: fdisk/fdisk.c:393
+#: fdisk/fdisk.c:309 fdisk/fdisk.c:328 fdisk/fdisk.c:353 fdisk/fdisk.c:375
+#: fdisk/fdisk.c:392
 msgid "   v   verify the partition table"
 msgstr "   v   verifica a tabela de partições"
 
-#: fdisk/fdisk.c:311 fdisk/fdisk.c:330 fdisk/fdisk.c:355 fdisk/fdisk.c:377
-#: fdisk/fdisk.c:394
+#: fdisk/fdisk.c:310 fdisk/fdisk.c:329 fdisk/fdisk.c:354 fdisk/fdisk.c:376
+#: fdisk/fdisk.c:393
 msgid "   w   write table to disk and exit"
-msgstr "   w   grava a tabela para o disco e sai"
+msgstr "   w   grava a tabela no disco e sai"
 
-#: fdisk/fdisk.c:312 fdisk/fdisk.c:356
+#: fdisk/fdisk.c:311 fdisk/fdisk.c:355
 msgid "   x   extra functionality (experts only)"
-msgstr "   x   funcionalidade adicional (somente para experts)"
+msgstr "   x   funcionalidade adicional (somente para usuários avançados)"
 
-#: fdisk/fdisk.c:316
+#: fdisk/fdisk.c:315
 msgid "   a   select bootable partition"
 msgstr "   a   torna a partição inicializável"
 
 #. sgi flavour
-#: fdisk/fdisk.c:317
+#: fdisk/fdisk.c:316
 msgid "   b   edit bootfile entry"
 msgstr "   b   edita uma entrada de arquivo de inicialização"
 
 #. sgi
-#: fdisk/fdisk.c:318
+#: fdisk/fdisk.c:317
 msgid "   c   select sgi swap partition"
-msgstr "   c   seleciona uma partição de troca sgi"
+msgstr "   c   seleciona uma partição de permuta (swap) sgi"
 
-#: fdisk/fdisk.c:341
+#: fdisk/fdisk.c:340
 msgid "   a   toggle a bootable flag"
-msgstr "   a   configura a opção \"inicializável\""
+msgstr "   a   alterna a opção \"inicializável\""
 
-#: fdisk/fdisk.c:343
+#: fdisk/fdisk.c:342
 msgid "   c   toggle the dos compatibility flag"
-msgstr ""
+msgstr "   c   alterna a opção \"compatibilidade\""
 
-# DÚVIDA!!!!
-#: fdisk/fdisk.c:364
+#: fdisk/fdisk.c:363
 msgid "   a   change number of alternate cylinders"
-msgstr "   a   mudar número de cilindros alternativos"
+msgstr "   a   alterar número de cilindros alternativos"
 
-#                                        ^^^^^^^^^^^^
 #. sun
-#: fdisk/fdisk.c:365 fdisk/fdisk.c:383
+#: fdisk/fdisk.c:364 fdisk/fdisk.c:382
 msgid "   c   change number of cylinders"
-msgstr "   c   mudar número de cilindros"
+msgstr "   c   alterar número de cilindros"
 
-#: fdisk/fdisk.c:366 fdisk/fdisk.c:384
+#: fdisk/fdisk.c:365 fdisk/fdisk.c:383
 msgid "   d   print the raw data in the partition table"
-msgstr "   d   mostre os dados brutos (sem formatação) da tabela de partições"
+msgstr "   d   mostrar os dados sem formatação da tabela de partições"
 
-#: fdisk/fdisk.c:367
+#: fdisk/fdisk.c:366
 msgid "   e   change number of extra sectors per cylinder"
-msgstr "   e   mudar número de setores extras por cilindro"
+msgstr "   e   alterar número de setores extras por cilindro"
 
 #. sun
-#: fdisk/fdisk.c:368 fdisk/fdisk.c:387
+#: fdisk/fdisk.c:367 fdisk/fdisk.c:386
 msgid "   h   change number of heads"
-msgstr "   h   mudar número de cabeças"
+msgstr "   h   alterar número de cabeças"
 
-#: fdisk/fdisk.c:369
+#: fdisk/fdisk.c:368
 msgid "   i   change interleave factor"
-msgstr "   i   mudar fator de \"interleave\""
+msgstr "   i   alterar fator de \"interleave\""
 
 #. sun
-#: fdisk/fdisk.c:370
+#: fdisk/fdisk.c:369
 msgid "   o   change rotation speed (rpm)"
-msgstr "   o   mudar velocidade rotacional (rpm)"
+msgstr "   o   alterar velocidade de rotação (RPM)"
 
-#: fdisk/fdisk.c:374 fdisk/fdisk.c:391 fdisk/fdiskbsdlabel.c:115
+#: fdisk/fdisk.c:373 fdisk/fdisk.c:390 fdisk/fdiskbsdlabel.c:115
 msgid "   r   return to main menu"
 msgstr "   r   voltar ao menu principal"
 
-#: fdisk/fdisk.c:375 fdisk/fdisk.c:392
-#, fuzzy
+#: fdisk/fdisk.c:374 fdisk/fdisk.c:391
 msgid "   s   change number of sectors/track"
-msgstr "   s   mudar número de setores"
+msgstr "   s   alterar número de setores/trilha"
 
-#: fdisk/fdisk.c:378
+#: fdisk/fdisk.c:377
 msgid "   y   change number of physical cylinders"
-msgstr "   y   mudar número de cilindros físicos"
+msgstr "   y   alterar número de cilindros físicos"
 
-#: fdisk/fdisk.c:382
+#: fdisk/fdisk.c:381
 msgid "   b   move beginning of data in a partition"
-msgstr "   b   mover inicio dos dados em uma partição"
+msgstr "   b   mover início dos dados em uma partição"
 
-#: fdisk/fdisk.c:385
+#: fdisk/fdisk.c:384
 msgid "   e   list extended partitions"
 msgstr "   e   listar partições estendidas"
 
 #. !sun
-#: fdisk/fdisk.c:386
+#: fdisk/fdisk.c:385
 msgid "   g   create an IRIX partition table"
 msgstr "   g   criar uma tabela de partições IRIX"
 
-#: fdisk/fdisk.c:482
+#: fdisk/fdisk.c:481
 msgid "You must set"
-msgstr ""
+msgstr "Você precisa configurar"
 
-#: fdisk/fdisk.c:496
+#: fdisk/fdisk.c:495
 msgid "heads"
 msgstr "cabeças"
 
-#: fdisk/fdisk.c:498 fdisk/fdisk.c:906 fdisk/sfdisk.c:842
+#: fdisk/fdisk.c:497 fdisk/fdisk.c:905 fdisk/sfdisk.c:842
 msgid "sectors"
 msgstr "setores"
 
-#: fdisk/fdisk.c:500 fdisk/fdisk.c:906 fdisk/fdiskbsdlabel.c:441
+#: fdisk/fdisk.c:499 fdisk/fdisk.c:905 fdisk/fdiskbsdlabel.c:444
 #: fdisk/sfdisk.c:842
 msgid "cylinders"
 msgstr "cilindros"
 
-#: fdisk/fdisk.c:504
+#: fdisk/fdisk.c:503
 #, 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:505
+#: fdisk/fdisk.c:504
 msgid " and "
-msgstr ""
+msgstr " e "
 
-#: fdisk/fdisk.c:539
+#: fdisk/fdisk.c:538
 msgid "Bad offset in primary extended partition\n"
-msgstr "Deslocamento (offset) inválido em uma partição primária estendida\n"
+msgstr "Deslocamento inválido em uma partição primária estendida\n"
 
-#: fdisk/fdisk.c:546
+#: fdisk/fdisk.c:545
 #, c-format
 msgid "Warning: deleting partitions after %d\n"
-msgstr ""
+msgstr "Aviso: excluindo partições após %d\n"
 
-#: fdisk/fdisk.c:567
+#: fdisk/fdisk.c:566
 #, c-format
 msgid "Warning: extra link pointer in partition table %d\n"
-msgstr ""
+msgstr "Aviso: ponteiro de vínculo extra na tabela de partições %d\n"
 
-#: fdisk/fdisk.c:575
+#: fdisk/fdisk.c:574
 #, c-format
 msgid "Warning: ignoring extra data in partition table %d\n"
-msgstr ""
+msgstr "Aviso: ignorando dados extras na tabela de partições %d\n"
 
-#: fdisk/fdisk.c:601
+#: fdisk/fdisk.c:600
 msgid ""
 "Building a new DOS 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 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:637
+#: fdisk/fdisk.c:636
 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:646
+#: fdisk/fdisk.c:645
 #, c-format
 msgid "Note: sector size is %d (not %d)\n"
-msgstr ""
+msgstr "Nota: o tamanho do setor é %d (não %d)\n"
 
-#: fdisk/fdisk.c:694
+#: fdisk/fdisk.c:693
 msgid ""
 "Device contains neither a valid DOS partition table, nor Sun or SGI "
 "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 ou SGI\n"
 
-#: fdisk/fdisk.c:710
+#: fdisk/fdisk.c:709
 msgid "Internal error\n"
 msgstr "Erro interno\n"
 
-#: fdisk/fdisk.c:720
+#: fdisk/fdisk.c:719
 #, c-format
 msgid "Ignoring extra extended partition %d\n"
-msgstr ""
+msgstr "Ignorando partição estendida extra %d\n"
 
-#: fdisk/fdisk.c:727
+#: fdisk/fdisk.c:726
 #, 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:748
+#: fdisk/fdisk.c:747
 msgid ""
 "\n"
 "got EOF thrice - exiting..\n"
 msgstr ""
+"\n"
+"EOF (fim de arquivo) recebido três vezes - saindo...\n"
 
-#: fdisk/fdisk.c:785
+#: fdisk/fdisk.c:784
 msgid "Hex code (type L to list codes): "
-msgstr ""
+msgstr "Código hexadecimal (digite L para listar os códigos): "
 
-#: fdisk/fdisk.c:824
+#: fdisk/fdisk.c:823
 #, c-format
 msgid "%s (%d-%d, default %d): "
-msgstr ""
+msgstr "%s (%d-%d, padrão %d):"
 
-#: fdisk/fdisk.c:878
+#: fdisk/fdisk.c:877
 #, c-format
 msgid "Using default value %d\n"
-msgstr ""
+msgstr "Usando valor padrão %d\n"
 
-#: fdisk/fdisk.c:882
+#: fdisk/fdisk.c:881
 msgid "Value out of range.\n"
-msgstr ""
+msgstr "Valor fora do intervalo.\n"
 
-#: fdisk/fdisk.c:889
+#: fdisk/fdisk.c:888
 msgid "Partition number"
-msgstr ""
+msgstr "Número da partição"
 
-#: fdisk/fdisk.c:897
+#: fdisk/fdisk.c:896
 #, c-format
 msgid "Warning: partition %d has empty type\n"
-msgstr ""
+msgstr "Aviso: a partição %d possui tipo vazio\n"
 
-#: fdisk/fdisk.c:904
+#: fdisk/fdisk.c:903
 msgid "cylinder"
 msgstr "cilindro"
 
-#: fdisk/fdisk.c:904
+#: fdisk/fdisk.c:903
 msgid "sector"
 msgstr "setor"
 
-#: fdisk/fdisk.c:913
-#, fuzzy, c-format
+#: fdisk/fdisk.c:912
+#, c-format
 msgid "Changing display/entry units to %s\n"
-msgstr "   u   muda as unidades das entradas mostradas"
+msgstr "Mudando as unidades das entradas mostradas para %s\n"
 
-#: fdisk/fdisk.c:923
+#: fdisk/fdisk.c:922
 #, c-format
 msgid "WARNING: Partition %d is an extended partition\n"
-msgstr ""
+msgstr "AVISO: A partição %d é uma partição estendida\n"
 
-#: fdisk/fdisk.c:936
+#: fdisk/fdisk.c:935
 msgid "DOS Compatibility flag is set\n"
-msgstr ""
+msgstr "A opção de compatibilidade DOS está ativada\n"
 
-#: fdisk/fdisk.c:940
+#: fdisk/fdisk.c:939
 msgid "DOS Compatibility flag is not set\n"
-msgstr ""
+msgstr "A opção de compatibilidade DOS não está ativada\n"
 
-#: fdisk/fdisk.c:1026
+#: fdisk/fdisk.c:1025
 #, c-format
 msgid "Partition %d does not exist yet!\n"
-msgstr ""
+msgstr "A partição %d ainda não existe!\n"
 
-#: fdisk/fdisk.c:1031
+#: fdisk/fdisk.c:1030
 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:1040
+#: fdisk/fdisk.c:1039
 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:1049
+#: fdisk/fdisk.c:1048
 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:1055
+#: fdisk/fdisk.c:1054
 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:1069
+#: fdisk/fdisk.c:1068
 #, c-format
 msgid "Changed system type of partition %d to %x (%s)\n"
-msgstr ""
+msgstr "O tipo da partição %d foi alterado para %x (%s)\n"
 
-#: fdisk/fdisk.c:1122
+#: fdisk/fdisk.c:1121
 #, c-format
 msgid "Partition %d has different physical/logical beginnings (non-Linux?):\n"
-msgstr ""
+msgstr "A partição %d possui inícios físico/lógico diferentes (não Linux?):\n"
 
-#: fdisk/fdisk.c:1124 fdisk/fdisk.c:1132 fdisk/fdisk.c:1141 fdisk/fdisk.c:1150
+#: fdisk/fdisk.c:1123 fdisk/fdisk.c:1131 fdisk/fdisk.c:1140 fdisk/fdisk.c:1149
 #, c-format
 msgid "     phys=(%d, %d, %d) "
-msgstr ""
+msgstr "     fís. = (%d, %d, %d) "
 
-#: fdisk/fdisk.c:1125 fdisk/fdisk.c:1133
+#: fdisk/fdisk.c:1124 fdisk/fdisk.c:1132
 #, c-format
 msgid "logical=(%d, %d, %d)\n"
-msgstr ""
+msgstr "lógico = (%d, %d, %d)\n"
 
-#: fdisk/fdisk.c:1130
+#: fdisk/fdisk.c:1129
 #, c-format
 msgid "Partition %d has different physical/logical endings:\n"
-msgstr ""
+msgstr "A partição %d possui fins físico/lógico diferentes:\n"
 
-#: fdisk/fdisk.c:1139
+#: fdisk/fdisk.c:1138
 #, c-format
 msgid "Partition %i does not start on cylinder boundary:\n"
-msgstr ""
+msgstr "A partição %i não inicia em um limite de cilindro:\n"
 
-#: fdisk/fdisk.c:1142
+#: fdisk/fdisk.c:1141
 #, c-format
 msgid "should be (%d, %d, 1)\n"
-msgstr ""
+msgstr "deveria ser (%d, %d, 1)\n"
 
-#: fdisk/fdisk.c:1148
+#: fdisk/fdisk.c:1147
 #, c-format
 msgid "Partition %i does not end on cylinder boundary:\n"
-msgstr ""
+msgstr "A partição %i não termina em um limite de cilindro:\n"
 
-#: fdisk/fdisk.c:1151
+#: fdisk/fdisk.c:1150
 #, c-format
 msgid "should be (%d, %d, %d)\n"
-msgstr ""
+msgstr "deveria ser (%d, %d, %d)\n"
 
-#: fdisk/fdisk.c:1158
+#: fdisk/fdisk.c:1157
 #, c-format
 msgid ""
 "\n"
@@ -2434,157 +2770,170 @@ msgid ""
 "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"
 
 #. FIXME! let's see how this shows up with other languagues
 #. acme@conectiva.com.br
-#: fdisk/fdisk.c:1195
+#: fdisk/fdisk.c:1194
 #, c-format
 msgid "%*s Boot    Start       End    Blocks   Id  System\n"
-msgstr ""
+msgstr "%*s Boot    Início      Fim    Blocos   Id  Sistema\n"
 
-#: fdisk/fdisk.c:1196 fdisk/fdisksgilabel.c:207 fdisk/fdisksunlabel.c:631
+#: fdisk/fdisk.c:1195 fdisk/fdisksgilabel.c:207 fdisk/fdisksunlabel.c:631
 msgid "Device"
-msgstr ""
+msgstr "Dispositivo"
 
-#: fdisk/fdisk.c:1236
+#: fdisk/fdisk.c:1235
 #, c-format
 msgid ""
 "\n"
 "Disk %s: %d heads, %d sectors, %d cylinders\n"
 "\n"
 msgstr ""
+"\n"
+"Disco %s: %d cabeças, %d setores, %d cilindros\n"
+"\n"
 
-#: fdisk/fdisk.c:1238
-msgid "Nr AF  Hd Sec  Cyl  Hd Sec  Cyl   Start    Size ID\n"
-msgstr ""
+#: fdisk/fdisk.c:1237
+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:1277
+#: fdisk/fdisk.c:1276
 #, c-format
 msgid "Warning: partition %d contains sector 0\n"
-msgstr ""
+msgstr "Aviso: a partição %d contém o setor 0\n"
 
-#: fdisk/fdisk.c:1280
+#: fdisk/fdisk.c:1279
 #, c-format
 msgid "Partition %d: head %d greater than maximum %d\n"
-msgstr ""
+msgstr "Partição %d: a cabeça %d é maior do que o máximo: %d\n"
 
-#: fdisk/fdisk.c:1283
+#: fdisk/fdisk.c:1282
 #, c-format
 msgid "Partition %d: sector %d greater than maximum %d\n"
-msgstr ""
+msgstr "Partição %d: o setor %d é maior do que o máximo: %d\n"
 
-#: fdisk/fdisk.c:1286
+#: fdisk/fdisk.c:1285
 #, c-format
 msgid "Partitions %d: cylinder %d greater than maximum %d\n"
-msgstr ""
+msgstr "Partição %d: o cilindro %d é maior do que o máximo: %d\n"
 
-#: fdisk/fdisk.c:1290
+#: fdisk/fdisk.c:1289
 #, 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:1320
+#: fdisk/fdisk.c:1319
 #, c-format
 msgid "Warning: bad start-of-data in partition %d\n"
-msgstr ""
+msgstr "Aviso: início de dados inválido na partição %d\n"
 
-#: fdisk/fdisk.c:1328
+#: fdisk/fdisk.c:1327
 #, c-format
 msgid "Warning: partition %d overlaps partition %d.\n"
-msgstr ""
+msgstr "Aviso: a partição %d sobrepõe-se à partição %d.\n"
 
-#: fdisk/fdisk.c:1346
+#: fdisk/fdisk.c:1345
 #, c-format
 msgid "Warning: partition %d is empty\n"
-msgstr ""
+msgstr "Aviso: a partição %d está vazia\n"
 
-#: fdisk/fdisk.c:1351
+#: fdisk/fdisk.c:1350
 #, c-format
 msgid "Logical partition %d not entirely in partition %d\n"
-msgstr ""
+msgstr "A partição lógica %d não está completamente na partição %d\n"
 
-#: fdisk/fdisk.c:1357
+#: fdisk/fdisk.c:1356
 #, c-format
 msgid "Total allocated sectors %d greater than the maximum %d\n"
-msgstr ""
+msgstr "O total de setores alocados, %d, é maior do que o máximo: %d\n"
 
-#: fdisk/fdisk.c:1360
+#: fdisk/fdisk.c:1359
 #, c-format
 msgid "%d unallocated sectors\n"
-msgstr ""
+msgstr "%d setores não alocados\n"
 
-#: fdisk/fdisk.c:1372 fdisk/fdisksgilabel.c:684 fdisk/fdisksunlabel.c:479
+#: fdisk/fdisk.c:1371 fdisk/fdisksgilabel.c:684 fdisk/fdisksunlabel.c:479
 #, 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:1393 fdisk/fdiskbsdlabel.c:252 fdisk/fdisksgilabel.c:706
+#: fdisk/fdisk.c:1392 fdisk/fdiskbsdlabel.c:252 fdisk/fdisksgilabel.c:706
 #: fdisk/fdisksunlabel.c:494
 #, c-format
 msgid "First %s"
-msgstr ""
+msgstr "Primeiro %s"
 
-#: fdisk/fdisk.c:1408 fdisk/fdisksunlabel.c:519
+#: fdisk/fdisk.c:1407 fdisk/fdisksunlabel.c:519
 #, c-format
 msgid "Sector %d is already allocated\n"
-msgstr ""
+msgstr "O setor %d já está alocado\n"
 
-#: fdisk/fdisk.c:1440
+#: fdisk/fdisk.c:1439
 msgid "No free sectors available\n"
-msgstr ""
+msgstr "Não há setores livres disponíveis\n"
 
-#: fdisk/fdisk.c:1450 fdisk/fdiskbsdlabel.c:256 fdisk/fdisksunlabel.c:529
+#: fdisk/fdisk.c:1449 fdisk/fdiskbsdlabel.c:259 fdisk/fdisksunlabel.c:529
 #, c-format
 msgid "Last %s or +size or +sizeM or +sizeK"
-msgstr ""
+msgstr "Último %s ou +tamanho ou +tamanho M ou  +tamanho K"
 
-#: fdisk/fdisk.c:1480
+#: fdisk/fdisk.c:1479
 #, c-format
 msgid "Warning: partition %d has an odd number of sectors.\n"
-msgstr ""
+msgstr "Aviso: a partição %d possui um número ímpar de setores.\n"
 
-#: fdisk/fdisk.c:1517 fdisk/fdiskbsdlabel.c:590
+#: fdisk/fdisk.c:1516 fdisk/fdiskbsdlabel.c:593
 msgid "The maximum number of partitions has been created\n"
-msgstr ""
+msgstr "O número máximo de partições foi criado\n"
 
-#: fdisk/fdisk.c:1527
+#: fdisk/fdisk.c:1526
 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:1531
+#: fdisk/fdisk.c:1530
 #, 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:1533
+#: fdisk/fdisk.c:1532
 msgid "l   logical (5 or over)"
-msgstr ""
+msgstr "l   lógica (5 ou superior)"
 
-#: fdisk/fdisk.c:1533
+#: fdisk/fdisk.c:1532
 msgid "e   extended"
 msgstr "e   estendida"
 
-#: fdisk/fdisk.c:1550
+#: fdisk/fdisk.c:1549
 #, c-format
 msgid "Invalid partition number for type `%c'\n"
-msgstr ""
+msgstr "Número de partição inválido para o tipo `%c'\n"
 
-#: fdisk/fdisk.c:1582
+#: fdisk/fdisk.c:1581
 msgid ""
 "The partition table has been altered!\n"
 "\n"
 msgstr ""
+"A tabela de partições foi alterada!\n"
+"\n"
 
-#: fdisk/fdisk.c:1584
+#: fdisk/fdisk.c:1590
 msgid "Calling ioctl() to re-read partition table.\n"
-msgstr ""
-
-#: fdisk/fdisk.c:1601
-msgid "Syncing disks.\n"
-msgstr ""
+msgstr "Chamando ioctl() para reler tabela de partições.\n"
 
 #: fdisk/fdisk.c:1606
 #, c-format
@@ -2592,6 +2941,9 @@ 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"
 
 #: fdisk/fdisk.c:1612
 msgid ""
@@ -2600,86 +2952,110 @@ msgid ""
 "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:1619
+msgid "Syncing disks.\n"
+msgstr "Sincronizando discos.\n"
 
-#: fdisk/fdisk.c:1643
+#: fdisk/fdisk.c:1650
 #, c-format
 msgid "Device: %s\n"
 msgstr "Dispositivo: %s\n"
 
-#: fdisk/fdisk.c:1658
+#: fdisk/fdisk.c:1665
 #, c-format
 msgid "Partition %d has no data area\n"
-msgstr ""
+msgstr "A partição %d não possui área de dados\n"
 
-#: fdisk/fdisk.c:1664
+#: fdisk/fdisk.c:1671
 msgid "New beginning of data"
-msgstr ""
+msgstr "Novo início dos dados"
 
-#: fdisk/fdisk.c:1678
+#: fdisk/fdisk.c:1685
 msgid "Expert command (m for help): "
-msgstr ""
+msgstr "Comando avançado (m para ajuda): "
 
-#: fdisk/fdisk.c:1689
+#: fdisk/fdisk.c:1696
 msgid "Number of cylinders"
 msgstr "Número de cilindros"
 
-#: fdisk/fdisk.c:1710
+#: fdisk/fdisk.c:1717
 msgid "Number of heads"
 msgstr "Número de cabeças"
 
-#: fdisk/fdisk.c:1735
+#: fdisk/fdisk.c:1742
 msgid "Number of sectors"
 msgstr "Número de setores"
 
-#: fdisk/fdisk.c:1738
+#: fdisk/fdisk.c:1745
 msgid "Warning: setting sector offset for DOS compatiblity\n"
 msgstr ""
+"Aviso: configurando o deslocamento de setor para compatibilidade com DOS\n"
 
-#: fdisk/fdisk.c:1800
+#: fdisk/fdisk.c:1807
 #, c-format
 msgid "Disk %s doesn't contain a valid partition table\n"
-msgstr ""
+msgstr "O disco %s não contém uma tabela de partições válida\n"
 
-#: fdisk/fdisk.c:1814
+#: fdisk/fdisk.c:1821
 #, c-format
 msgid "Cannot open %s\n"
-msgstr ""
+msgstr "Não foi possível abrir %s\n"
 
-#: fdisk/fdisk.c:1879
+#: fdisk/fdisk.c:1838
+#, c-format
+msgid "cannot open %s\n"
+msgstr "não foi possível abrir %s\n"
+
+#: fdisk/fdisk.c:1911
 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:1882
+#: fdisk/fdisk.c:1914
 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:1940
+#: fdisk/fdisk.c:1973
 msgid "Command (m for help): "
-msgstr "Comando (tecle m para obter ajuda): "
+msgstr "Comando (m para ajuda): "
 
-#: fdisk/fdisk.c:1954
+#: fdisk/fdisk.c:1987
 #, c-format
 msgid ""
 "\n"
 "The current boot file is: %s\n"
 msgstr ""
+"\n"
+"O arquivo de boot atual é: %s\n"
 
-#: fdisk/fdisk.c:1956
+#: fdisk/fdisk.c:1989
 msgid "Please enter the name of the new boot file: "
-msgstr ""
+msgstr "Informe o nome do novo arquivo de boot: "
 
-#: fdisk/fdisk.c:1958
+#: fdisk/fdisk.c:1991
 msgid "Boot file unchanged\n"
-msgstr ""
+msgstr "Arquivo de boot inalterado\n"
 
-#: fdisk/fdisk.c:2018
+#: fdisk/fdisk.c:2051
 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/fdiskaixlabel.c:29
 msgid ""
@@ -2696,6 +3072,18 @@ msgid ""
 "\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:97
 #, c-format
@@ -2703,10 +3091,12 @@ msgid ""
 "\n"
 "BSD label for device: %s\n"
 msgstr ""
+"\n"
+"Rótulo BSD do dispositivo: %s\n"
 
 #: fdisk/fdiskbsdlabel.c:106
 msgid "   d   delete a BSD partition"
-msgstr "   d   remova uma partição BSD"
+msgstr "   d   exclui uma partição BSD"
 
 #: fdisk/fdiskbsdlabel.c:107
 msgid "   e   edit drive data"
@@ -2730,307 +3120,309 @@ msgstr "   p   mostra a tabela de parti
 
 #: fdisk/fdiskbsdlabel.c:117
 msgid "   s   show complete disklabel"
-msgstr "   s   mostra rótulo (disklabel) completo do disco"
+msgstr "   s   mostra o rótulo do disco completo"
 
 #: fdisk/fdiskbsdlabel.c:118
 msgid "   t   change a partition's filesystem id"
-msgstr "   t   muda a identificação do sistema de arquivos"
+msgstr "   t   altera a identificação do sistema de arquivos"
 
 #: fdisk/fdiskbsdlabel.c:119
 msgid "   w   write disklabel to disk"
-msgstr "   w   grava o rótulo do disco para o disco"
+msgstr "   w   grava o rótulo do disco no disco"
 
 #: fdisk/fdiskbsdlabel.c:121
 msgid "   x   link BSD partition to non-BSD partition"
-msgstr ""
+msgstr "   x   vincula partição BSD a partição não BSD"
 
 #: fdisk/fdiskbsdlabel.c:146
 #, c-format
 msgid "Partition %s%d has invalid starting sector 0.\n"
-msgstr ""
+msgstr "A partição %s%d possui setor inicial 0 inválido.\n"
 
 #: fdisk/fdiskbsdlabel.c:150
 #, c-format
 msgid "Reading disklabel of %s%d at sector %d.\n"
-msgstr ""
+msgstr "Lendo rótulo de disco de %s%d no setor %d.\n"
 
 #: fdisk/fdiskbsdlabel.c:159
 #, c-format
 msgid "There is no *BSD partition on %s.\n"
-msgstr ""
+msgstr "Não existe partição %BSD em %s.\n"
 
 #: fdisk/fdiskbsdlabel.c:174
 msgid "BSD disklabel command (m for help): "
 msgstr "Comando para rótulo de disco BSD (tecle m para obter ajuda): "
 
-#: fdisk/fdiskbsdlabel.c:286
+#: fdisk/fdiskbsdlabel.c:288
 #, c-format
 msgid "type: %s\n"
 msgstr "tipo: %s\n"
 
-#: fdisk/fdiskbsdlabel.c:288
+#: fdisk/fdiskbsdlabel.c:290
 #, c-format
 msgid "type: %d\n"
-msgstr ""
+msgstr "tipo: %d\n"
 
-#: fdisk/fdiskbsdlabel.c:289
+#: fdisk/fdiskbsdlabel.c:291
 #, c-format
 msgid "disk: %.*s\n"
 msgstr "disco: %.*s\n"
 
-#: fdisk/fdiskbsdlabel.c:290
+#: fdisk/fdiskbsdlabel.c:292
 #, c-format
 msgid "label: %.*s\n"
-msgstr ""
+msgstr "rótulo: %.*s\n"
 
-#: fdisk/fdiskbsdlabel.c:291
+#: fdisk/fdiskbsdlabel.c:293
 msgid "flags:"
 msgstr "opções:"
 
-#: fdisk/fdiskbsdlabel.c:293
+#: fdisk/fdiskbsdlabel.c:295
 msgid " removable"
-msgstr ""
+msgstr " removable"
 
-#: fdisk/fdiskbsdlabel.c:295
+#: fdisk/fdiskbsdlabel.c:297
 msgid " ecc"
-msgstr ""
+msgstr " ecc"
 
-#: fdisk/fdiskbsdlabel.c:297
+#: fdisk/fdiskbsdlabel.c:299
 msgid " badsect"
-msgstr ""
+msgstr " badsect"
 
 #. On various machines the fields of *lp are short/int/long
 #. In order to avoid problems, we cast them all to long.
-#: fdisk/fdiskbsdlabel.c:301
+#: fdisk/fdiskbsdlabel.c:303
 #, c-format
 msgid "bytes/sector: %ld\n"
-msgstr ""
+msgstr "bytes/setor: %ld\n"
 
-#: fdisk/fdiskbsdlabel.c:302
+#: fdisk/fdiskbsdlabel.c:304
 #, c-format
 msgid "sectors/track: %ld\n"
-msgstr ""
+msgstr "setores/trilha: %ld\n"
 
-#: fdisk/fdiskbsdlabel.c:303
+#: fdisk/fdiskbsdlabel.c:305
 #, c-format
 msgid "tracks/cylinder: %ld\n"
-msgstr ""
+msgstr "trilhas/cilindro: %ld\n"
 
-#: fdisk/fdiskbsdlabel.c:304
+#: fdisk/fdiskbsdlabel.c:306
 #, c-format
 msgid "sectors/cylinder: %ld\n"
-msgstr ""
+msgstr "setores/cilindro: %ld\n"
 
-#: fdisk/fdiskbsdlabel.c:305
+#: fdisk/fdiskbsdlabel.c:307
 #, c-format
 msgid "cylinders: %ld\n"
 msgstr "cilindros: %ld\n"
 
-#: fdisk/fdiskbsdlabel.c:306
+#: fdisk/fdiskbsdlabel.c:308
 #, c-format
 msgid "rpm: %d\n"
-msgstr ""
+msgstr "RPM: %d\n"
 
-#: fdisk/fdiskbsdlabel.c:307
+#: fdisk/fdiskbsdlabel.c:309
 #, c-format
 msgid "interleave: %d\n"
-msgstr ""
+msgstr "interleave: %d\n"
 
-#: fdisk/fdiskbsdlabel.c:308
+#: fdisk/fdiskbsdlabel.c:310
 #, c-format
 msgid "trackskew: %d\n"
-msgstr ""
+msgstr "trackskew: %d\n"
 
-#: fdisk/fdiskbsdlabel.c:309
+#: fdisk/fdiskbsdlabel.c:311
 #, c-format
 msgid "cylinderskew: %d\n"
 msgstr "cylinderskew: %d\n"
 
-#: fdisk/fdiskbsdlabel.c:310
+#: fdisk/fdiskbsdlabel.c:312
 #, c-format
 msgid "headswitch: %ld\t\t# milliseconds\n"
-msgstr ""
+msgstr "headswitch: %ld\t\t# milissegundos\n"
 
-#: fdisk/fdiskbsdlabel.c:311
+#: fdisk/fdiskbsdlabel.c:313
 #, c-format
 msgid "track-to-track seek: %ld\t# milliseconds\n"
-msgstr ""
+msgstr "busca trilha a trilha: %ld\t# milissegundos\n"
 
-#: fdisk/fdiskbsdlabel.c:312
+#: fdisk/fdiskbsdlabel.c:314
 msgid "drivedata: "
-msgstr ""
+msgstr "drivedata: "
 
-#: fdisk/fdiskbsdlabel.c:321
+#: fdisk/fdiskbsdlabel.c:323
 #, c-format
 msgid ""
 "\n"
 "%d partitions:\n"
 msgstr ""
 "\n"
-"%d partições:\n"
+"d partições:\n"
 
-#: fdisk/fdiskbsdlabel.c:322
+#: fdisk/fdiskbsdlabel.c:324
 msgid "#        size   offset    fstype   [fsize bsize   cpg]\n"
-msgstr ""
+msgstr "No.      tam    desloc    tipoSA   [fsize bsize   cpg]\n"
 
-#: fdisk/fdiskbsdlabel.c:378
+#: fdisk/fdiskbsdlabel.c:380
 #, c-format
 msgid "Writing disklabel to %s%d.\n"
-msgstr ""
+msgstr "Gravando rótulo de disco em %s%d.\n"
 
-#: fdisk/fdiskbsdlabel.c:381
+#: fdisk/fdiskbsdlabel.c:383
 #, c-format
 msgid "Writing disklabel to %s.\n"
-msgstr "Gravando rótulo de disco para %s.\n"
+msgstr "Gravando rótulo de disco em %s.\n"
 
-#: fdisk/fdiskbsdlabel.c:392
+#: fdisk/fdiskbsdlabel.c:395
 #, c-format
 msgid "%s%d contains no disklabel.\n"
-msgstr ""
+msgstr "%s%d não contém um rótulo de disco.\n"
 
-#: fdisk/fdiskbsdlabel.c:395
+#: fdisk/fdiskbsdlabel.c:398
 #, c-format
 msgid "%s contains no disklabel.\n"
-msgstr ""
+msgstr "%s não contém um rótulo de disco.\n"
 
-#: fdisk/fdiskbsdlabel.c:399
+#: fdisk/fdiskbsdlabel.c:402
 msgid "Do you want to create a disklabel? (y/n) "
-msgstr ""
+msgstr "Você deseja criar um rótulo de disco? (s/n) "
 
-#: fdisk/fdiskbsdlabel.c:438
+#: fdisk/fdiskbsdlabel.c:441
 msgid "bytes/sector"
 msgstr "bytes/setor"
 
-#: fdisk/fdiskbsdlabel.c:439
+#: fdisk/fdiskbsdlabel.c:442
 msgid "sectors/track"
 msgstr "setores/trilha"
 
-#: fdisk/fdiskbsdlabel.c:440
+#: fdisk/fdiskbsdlabel.c:443
 msgid "tracks/cylinder"
 msgstr "trilhas/cilindro"
 
-#: fdisk/fdiskbsdlabel.c:448
+#: fdisk/fdiskbsdlabel.c:451
 msgid "sectors/cylinder"
 msgstr "setores/cilindro"
 
-#: fdisk/fdiskbsdlabel.c:452
+#: fdisk/fdiskbsdlabel.c:455
 msgid "Must be <= sectors/track * tracks/cylinder (default).\n"
-msgstr ""
+msgstr "Precisa ser <= setores/trilha * trilhas/cilindro (padrão).\n"
 
-#: fdisk/fdiskbsdlabel.c:454
+#: fdisk/fdiskbsdlabel.c:457
 msgid "rpm"
-msgstr ""
+msgstr "RPM"
 
-#: fdisk/fdiskbsdlabel.c:455
+#: fdisk/fdiskbsdlabel.c:458
 msgid "interleave"
-msgstr ""
+msgstr "interleave"
 
-#: fdisk/fdiskbsdlabel.c:456
+#: fdisk/fdiskbsdlabel.c:459
 msgid "trackskew"
-msgstr ""
+msgstr "trackskew"
 
-#: fdisk/fdiskbsdlabel.c:457
+#: fdisk/fdiskbsdlabel.c:460
 msgid "cylinderskew"
 msgstr "cylinderskew"
 
-#: fdisk/fdiskbsdlabel.c:458
+#: fdisk/fdiskbsdlabel.c:461
 msgid "headswitch"
 msgstr "headswitch"
 
-#: fdisk/fdiskbsdlabel.c:459
+#: fdisk/fdiskbsdlabel.c:462
 msgid "track-to-track seek"
-msgstr ""
+msgstr "busca trilha a trilha"
 
-#: fdisk/fdiskbsdlabel.c:500
+#: fdisk/fdiskbsdlabel.c:503
 #, c-format
 msgid "Bootstrap: %sboot -> boot%s (%s): "
-msgstr ""
+msgstr "Bootstrap (código de inicialização): %sboot -> boot%s (%s): "
 
-#: fdisk/fdiskbsdlabel.c:526
+#: fdisk/fdiskbsdlabel.c:529
 msgid "Bootstrap overlaps with disk label!\n"
-msgstr ""
+msgstr "Bootstrap (código de inicialização) sobreposto ao rótulo do disco!\n"
 
-#: fdisk/fdiskbsdlabel.c:547
+#: fdisk/fdiskbsdlabel.c:550
 #, c-format
 msgid "Bootstrap installed on %s%d.\n"
-msgstr ""
+msgstr "Bootstrap (código de inicialização) instalado em %s%d.\n"
 
-#: fdisk/fdiskbsdlabel.c:549
+#: fdisk/fdiskbsdlabel.c:552
 #, c-format
 msgid "Bootstrap installed on %s.\n"
-msgstr ""
+msgstr "Bootstrap (código de inicialização) instalado em %s.\n"
 
-#: fdisk/fdiskbsdlabel.c:570
+#: fdisk/fdiskbsdlabel.c:573
 #, c-format
 msgid "Partition (a-%c): "
-msgstr ""
+msgstr "Partição (a-%c): "
 
-#: fdisk/fdiskbsdlabel.c:601
+#: fdisk/fdiskbsdlabel.c:604
 msgid "This partition already exists.\n"
-msgstr ""
+msgstr "Esta partição já existe.\n"
 
-#: fdisk/fdiskbsdlabel.c:723
+#: fdisk/fdiskbsdlabel.c:726
 #, c-format
 msgid "Warning: too many partitions (%d, maximum is %d).\n"
-msgstr ""
+msgstr "Aviso: número de partições excessivo (%d; o máximo  é %d).\n"
 
-#: fdisk/fdiskbsdlabel.c:769
+#: fdisk/fdiskbsdlabel.c:772
 msgid ""
 "\n"
 "Syncing disks.\n"
 msgstr ""
+"\n"
+"Sincronizando discos.\n"
 
 #: fdisk/fdisksgilabel.c:56
 msgid "SGI volhdr"
-msgstr ""
+msgstr "volhdr SGI"
 
 #: fdisk/fdisksgilabel.c:57
 msgid "SGI trkrepl"
-msgstr ""
+msgstr "trkrepl SGI"
 
 #: fdisk/fdisksgilabel.c:58
 msgid "SGI secrepl"
-msgstr ""
+msgstr "secrepl SGI"
 
 #: fdisk/fdisksgilabel.c:59
 msgid "SGI raw"
-msgstr ""
+msgstr "raw SGI"
 
 #: fdisk/fdisksgilabel.c:60
 msgid "SGI bsd"
-msgstr ""
+msgstr "bsd SGI"
 
 #: fdisk/fdisksgilabel.c:61
 msgid "SGI sysv"
-msgstr ""
+msgstr "sysv SGI"
 
 #: fdisk/fdisksgilabel.c:62
 msgid "SGI volume"
-msgstr ""
+msgstr "volume SGI"
 
 #: fdisk/fdisksgilabel.c:63
 msgid "SGI efs"
-msgstr ""
+msgstr "efs SGI"
 
 #: fdisk/fdisksgilabel.c:64
 msgid "SGI lvol"
-msgstr ""
+msgstr "lvol SGI"
 
 #: fdisk/fdisksgilabel.c:65
 msgid "SGI rlvol"
-msgstr ""
+msgstr "rlvol SGI"
 
 #: fdisk/fdisksgilabel.c:66
 msgid "SGI xfs"
-msgstr ""
+msgstr "xfs SGI"
 
 #: fdisk/fdisksgilabel.c:67
 msgid "SGI xlvol"
-msgstr ""
+msgstr "xlvol SGI"
 
 #: fdisk/fdisksgilabel.c:68
 msgid "SGI rxlvol"
-msgstr ""
+msgstr "rxlvol SGI"
 
 #. Minix 1.4b and later
 #: fdisk/fdisksgilabel.c:69 fdisk/fdisksunlabel.c:52 fdisk/i386_sys_types.c:55
@@ -3046,10 +3438,12 @@ 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:162
 msgid "Detected sgi disklabel with wrong checksum.\n"
-msgstr ""
+msgstr "Detectado rótulo de disco SGI com soma de verificação incorreta.\n"
 
 #: fdisk/fdisksgilabel.c:186
 #, c-format
@@ -3062,6 +3456,13 @@ msgid ""
 "Units = %s of %d * 512 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:199
 #, c-format
@@ -3071,6 +3472,10 @@ msgid ""
 "Units = %s of %d * 512 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:205
 #, c-format
@@ -3078,6 +3483,8 @@ msgid ""
 "----- partitions -----\n"
 "%*s  Info      Start       End   Sectors  Id  System\n"
 msgstr ""
+"----- partições -----\n"
+"%*s  Info      Início      Fim   Setores  Id  Sistema\n"
 
 #: fdisk/fdisksgilabel.c:227
 #, c-format
@@ -3086,11 +3493,14 @@ msgid ""
 "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:237
 #, c-format
 msgid "%2d: %-10s sector%5u size%8u\n"
-msgstr ""
+msgstr "%2d: %-10s setor %5u tamanho %8u\n"
 
 #: fdisk/fdisksgilabel.c:298
 msgid ""
@@ -3099,18 +3509,27 @@ msgid ""
 "\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:305
 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:310
 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:315
 msgid ""
@@ -3118,6 +3537,10 @@ msgid ""
 "\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:343
 #, c-format
@@ -3125,10 +3548,12 @@ msgid ""
 "\n"
 "\tBootfile is changed to \"%s\".\n"
 msgstr ""
+"\n"
+"\tArquivo de inicialização alterado para \"%s\".\n"
 
 #: fdisk/fdisksgilabel.c:448
 msgid "More than one entire disk entry present.\n"
-msgstr ""
+msgstr "Mais do que uma entrada de disco inteiro presente.\n"
 
 #: fdisk/fdisksgilabel.c:456 fdisk/fdisksunlabel.c:455
 msgid "No partitions defined\n"
@@ -3136,7 +3561,7 @@ msgstr "Nenhuma parti
 
 #: fdisk/fdisksgilabel.c:463
 msgid "IRIX likes when Partition 11 covers the entire disk.\n"
-msgstr ""
+msgstr "O IRIX gosta quando a partição 11 abrange todo o disco.\n"
 
 #: fdisk/fdisksgilabel.c:465
 #, c-format
@@ -3144,6 +3569,8 @@ 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:469
 #, c-format
@@ -3151,56 +3578,65 @@ 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:476
 msgid "One Partition (#11) should cover the entire disk.\n"
-msgstr ""
+msgstr "Uma partição (nº 11) deve abranger todo o disco.\n"
 
 #: fdisk/fdisksgilabel.c:488
 #, c-format
 msgid "Partition %d does not start on cylinder boundary.\n"
-msgstr ""
+msgstr "A partição %d não inicia em um limite de cilindro.\n"
 
 #: fdisk/fdisksgilabel.c:495
 #, c-format
 msgid "Partition %d does not end on cylinder boundary.\n"
-msgstr ""
+msgstr "A partição %d não termina em um limite de cilindro.\n"
 
 #: fdisk/fdisksgilabel.c:503
 #, c-format
 msgid "The Partition %d and %d overlap by %d sectors.\n"
-msgstr ""
+msgstr "As partições %d e %d se sobrepõem por %d setores.\n"
 
 #: fdisk/fdisksgilabel.c:512 fdisk/fdisksgilabel.c:532
 #, c-format
 msgid "Unused gap of %8d sectors - sectors %8d-%d\n"
-msgstr ""
+msgstr "Intervalo não utilizado de %8d setores - setores %8d - %d\n"
 
 #: fdisk/fdisksgilabel.c:545
 msgid ""
 "\n"
 "The boot partition does not exist.\n"
 msgstr ""
+"\n"
+"A partição de inicialização não existe.\n"
 
 #: fdisk/fdisksgilabel.c:549
 msgid ""
 "\n"
 "The swap partition does not exist.\n"
 msgstr ""
+"\n"
+"A partição de permuta não existe.\n"
 
 #: fdisk/fdisksgilabel.c:554
 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:558
 msgid "\tYou have chosen an unusual boot file name.\n"
-msgstr ""
+msgstr "\tVocê escolheu um nome de arquivo de inicialização incomum.\n"
 
 #: fdisk/fdisksgilabel.c:569
 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:576
 msgid ""
@@ -3210,38 +3646,46 @@ msgid ""
 "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"
 
 #. rebuild freelist
 #: fdisk/fdisksgilabel.c:621
 msgid "Do You know, You got a partition overlap on the disk?\n"
-msgstr ""
+msgstr "Você sabia que tem uma sobreposição de partições no disco?\n"
 
 #: fdisk/fdisksgilabel.c:691
 msgid "Attempting to generate entire disk entry automatically.\n"
-msgstr ""
+msgstr "Tentando gerar entrada de disco inteiro automaticamente.\n"
 
 #: fdisk/fdisksgilabel.c:698
 msgid "The entire disk is already covered with partitions.\n"
-msgstr ""
+msgstr "O disco inteiro já está coberto com partições.\n"
 
 #: fdisk/fdisksgilabel.c:703
 msgid "You got a partition overlap on the disk. Fix it first!\n"
-msgstr ""
+msgstr "Existe uma sobreposição de partições no disco. Corrija-a antes!\n"
 
 #: fdisk/fdisksgilabel.c:712 fdisk/fdisksgilabel.c:741
 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:728
 msgid "You will get a partition overlap on the disk. Fix it first!\n"
-msgstr ""
+msgstr "Haverá uma sobreposição de partições no disco. Corrija-a antes!\n"
 
 #: fdisk/fdisksgilabel.c:733
 #, c-format
 msgid " Last %s"
-msgstr ""
+msgstr " Último %s"
 
 #: fdisk/fdisksgilabel.c:756
 msgid ""
@@ -3250,16 +3694,20 @@ msgid ""
 "content will be unrecoverable 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:784
 #, c-format
 msgid "Trying to keep parameters of partition %d.\n"
-msgstr ""
+msgstr "Tentando manter os parâmetros da partição %d.\n"
 
 #: fdisk/fdisksgilabel.c:786
 #, c-format
 msgid "ID=%02x\tSTART=%d\tLENGTH=%d\n"
-msgstr ""
+msgstr "ID=%02x\tINÍCIO=%d\tCOMPRIMENTO=%d\n"
 
 #: fdisk/fdisksunlabel.c:43 fdisk/i386_sys_types.c:6
 msgid "Empty"
@@ -3267,15 +3715,15 @@ msgstr "Vazia"
 
 #: fdisk/fdisksunlabel.c:45
 msgid "SunOS root"
-msgstr ""
+msgstr "root SunOS"
 
 #: fdisk/fdisksunlabel.c:46
 msgid "SunOS swap"
-msgstr "SunOS swap"
+msgstr "permuta SunOS"
 
 #: fdisk/fdisksunlabel.c:47
 msgid "SunOS usr"
-msgstr ""
+msgstr "usr SunOS"
 
 #: fdisk/fdisksunlabel.c:48
 msgid "Whole disk"
@@ -3283,15 +3731,15 @@ msgstr "Disco inteiro"
 
 #: fdisk/fdisksunlabel.c:49
 msgid "SunOS stand"
-msgstr ""
+msgstr "stand SunOS"
 
 #: fdisk/fdisksunlabel.c:50
 msgid "SunOS var"
-msgstr ""
+msgstr "var SunOS"
 
 #: fdisk/fdisksunlabel.c:51
 msgid "SunOS home"
-msgstr ""
+msgstr "home SunOS"
 
 #: fdisk/fdisksunlabel.c:122
 msgid ""
@@ -3300,11 +3748,15 @@ msgid ""
 "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:215
 #, c-format
 msgid "Autoconfigure found a %s%s%s\n"
-msgstr ""
+msgstr "A configuração automática encontrou um(a) %s%s%s\n"
 
 #: fdisk/fdisksunlabel.c:242
 msgid ""
@@ -3313,6 +3765,10 @@ msgid ""
 "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:253
 msgid ""
@@ -3320,14 +3776,17 @@ msgid ""
 "   ?   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)"
 
 #: fdisk/fdisksunlabel.c:263
 msgid "Select type (? for auto, 0 for custom): "
-msgstr ""
+msgstr "Selecione o tipo (? para automática, 0 para personalizada): "
 
 #: fdisk/fdisksunlabel.c:275
 msgid "Autoconfigure failed.\n"
-msgstr ""
+msgstr "A configuração automática falhou.\n"
 
 #: fdisk/fdisksunlabel.c:303
 msgid "Sectors/track"
@@ -3343,7 +3802,7 @@ msgstr "Cilindros f
 
 #: fdisk/fdisksunlabel.c:316 fdisk/fdisksunlabel.c:681
 msgid "Rotation speed (rpm)"
-msgstr ""
+msgstr "Velocidade de rotação (RPM)"
 
 #: fdisk/fdisksunlabel.c:318 fdisk/fdisksunlabel.c:674
 msgid "Interleave factor"
@@ -3355,11 +3814,11 @@ msgstr "Setores extras por cilindro: "
 
 #: fdisk/fdisksunlabel.c:334
 msgid "You may change all the disk params from the x menu"
-msgstr ""
+msgstr "Você pode alterar todos os parâmetros do disco a partir do menu x"
 
 #: fdisk/fdisksunlabel.c:337
 msgid "3,5\" floppy"
-msgstr ""
+msgstr "Disquete de 3,5 pol."
 
 #: fdisk/fdisksunlabel.c:337
 msgid "Linux custom"
@@ -3368,28 +3827,30 @@ msgstr "Linux personalizado"
 #: fdisk/fdisksunlabel.c:418
 #, c-format
 msgid "Partition %d doesn't end on cylinder boundary\n"
-msgstr ""
+msgstr "A partição %d não termina em um limite de cilindro\n"
 
 #: fdisk/fdisksunlabel.c:438
 #, c-format
 msgid "Partition %d overlaps with others in sectors %d-%d\n"
-msgstr ""
+msgstr "A partição %d sobrepõe-se a outras nos setores %d - %d\n"
 
 #: fdisk/fdisksunlabel.c:460
 #, c-format
 msgid "Unused gap - sectors 0-%d\n"
-msgstr ""
+msgstr "Intervalo não utilizado - setores 0 - %d\n"
 
 #: fdisk/fdisksunlabel.c:462 fdisk/fdisksunlabel.c:466
 #, c-format
 msgid "Unused gap - sectors %d-%d\n"
-msgstr ""
+msgstr "Intervalo não utilizado - setores %d - %d\n"
 
 #: fdisk/fdisksunlabel.c:489
 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:547
 #, c-format
@@ -3398,6 +3859,9 @@ msgid ""
 "%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:567
 #, c-format
@@ -3405,6 +3869,8 @@ 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:580
 msgid ""
@@ -3414,6 +3880,12 @@ msgid ""
 "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:611
 #, c-format
@@ -3426,6 +3898,13 @@ msgid ""
 "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:625
 #, c-format
@@ -3435,15 +3914,19 @@ msgid ""
 "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:630
 #, c-format
 msgid "%*s Flag    Start       End    Blocks   Id  System\n"
-msgstr ""
+msgstr "%*s Opção   Início      Fim    Blocos   Id  Sistema\n"
 
 #: fdisk/fdisksunlabel.c:655
 msgid "Number of alternate cylinders"
-msgstr "Informe o número de cilindros alternativos: "
+msgstr "Número de cilindros alternativos"
 
 #: fdisk/fdisksunlabel.c:688
 msgid "Number of physical cylinders"
@@ -3463,7 +3946,7 @@ msgstr "usr XENIX"
 
 #: fdisk/i386_sys_types.c:10
 msgid "FAT16 <32M"
-msgstr ""
+msgstr "FAT16 < 32 M"
 
 #: fdisk/i386_sys_types.c:11
 msgid "Extended"
@@ -3487,12 +3970,12 @@ msgstr "AIX"
 #. AIX boot (AIX -- PS/2 port) or SplitDrive
 #: fdisk/i386_sys_types.c:15
 msgid "AIX bootable"
-msgstr "AIX Inicializável"
+msgstr "AIX inicializável"
 
 #. AIX data or Coherent
 #: fdisk/i386_sys_types.c:16
 msgid "OS/2 Boot Manager"
-msgstr "Gerenc.Inicializ.OS/2"
+msgstr "Gerenc. Inicializ. OS/2"
 
 #. OS/2 Boot Manager
 #: fdisk/i386_sys_types.c:17
@@ -3514,7 +3997,7 @@ msgstr "Estendida Win95 (LBA)"
 
 #: fdisk/i386_sys_types.c:21
 msgid "OPUS"
-msgstr ""
+msgstr "OPUS"
 
 #: fdisk/i386_sys_types.c:22
 msgid "Hidden FAT12"
@@ -3522,11 +4005,11 @@ msgstr "FAT12 Escondida"
 
 #: fdisk/i386_sys_types.c:23
 msgid "Compaq diagnostics"
-msgstr ""
+msgstr "Diagnóstico Compaq"
 
 #: fdisk/i386_sys_types.c:24
 msgid "Hidden FAT16 <32M"
-msgstr "FAT16 Escondida <32M"
+msgstr "FAT16 Escondida < 32 M"
 
 #: fdisk/i386_sys_types.c:25
 msgid "Hidden FAT16"
@@ -3534,132 +4017,129 @@ msgstr "FAT16 Escondida"
 
 #: fdisk/i386_sys_types.c:26
 msgid "Hidden HPFS/NTFS"
-msgstr ""
+msgstr "HPFS ou NTFS Escondida"
 
 #: fdisk/i386_sys_types.c:27
 msgid "AST Windows swapfile"
-msgstr ""
+msgstr "Arquivo de permuta Windows AST"
 
 #: fdisk/i386_sys_types.c:28
-#, fuzzy
 msgid "Hidden Win95 FAT32"
-msgstr "FAT32 Win95"
+msgstr "FAT32 Win 95 Escondida"
 
 #: fdisk/i386_sys_types.c:29
-#, fuzzy
 msgid "Hidden Win95 FAT32 (LBA)"
-msgstr "FAT32 Win95 (LBA)"
+msgstr "FAT32 Win95 Escondida (LBA)"
 
 #: fdisk/i386_sys_types.c:30
-#, fuzzy
 msgid "Hidden Win95 FAT16 (LBA)"
-msgstr "FAT16 Win95 (LBA)"
+msgstr "FAT16 Win95 Escondida (LBA)"
 
 #: fdisk/i386_sys_types.c:31
 msgid "NEC DOS"
-msgstr ""
+msgstr "DOS NEC"
 
 #: fdisk/i386_sys_types.c:32
 msgid "PartitionMagic recovery"
-msgstr ""
+msgstr "Recuperação do PartitionMagic"
 
 #: fdisk/i386_sys_types.c:33
 msgid "Venix 80286"
-msgstr ""
+msgstr "Venix 80286"
 
 #: fdisk/i386_sys_types.c:34
 msgid "PPC PReP Boot"
-msgstr ""
+msgstr "Boot PReP PPC"
 
 #: fdisk/i386_sys_types.c:35
 msgid "SFS"
-msgstr ""
+msgstr "SFS"
 
 #: fdisk/i386_sys_types.c:36
 msgid "QNX4.x"
-msgstr ""
+msgstr "QNX4.x"
 
 #: fdisk/i386_sys_types.c:37
 msgid "QNX4.x 2nd part"
-msgstr ""
+msgstr "QNX4.x 2ª parte"
 
 #: fdisk/i386_sys_types.c:38
 msgid "QNX4.x 3rd part"
-msgstr ""
+msgstr "QNX4.x 3ª parte"
 
 #: fdisk/i386_sys_types.c:39
 msgid "OnTrack DM"
-msgstr ""
+msgstr "DM OnTrack"
 
 #: fdisk/i386_sys_types.c:40
 msgid "OnTrack DM6 Aux1"
-msgstr ""
+msgstr "DM6 OnTrack Aux1"
 
 #. (or Novell)
 #: fdisk/i386_sys_types.c:41
 msgid "CP/M"
-msgstr ""
+msgstr "CP/M"
 
 #. CP/M or Microport SysV/AT
 #: fdisk/i386_sys_types.c:42
 msgid "OnTrack DM6 Aux3"
-msgstr ""
+msgstr "DM6 OnTrack Aux3"
 
 #: fdisk/i386_sys_types.c:43
 msgid "OnTrackDM6"
-msgstr ""
+msgstr "DM6 OnTrack"
 
 #: fdisk/i386_sys_types.c:44
 msgid "EZ-Drive"
-msgstr ""
+msgstr "EZ-Drive"
 
 #: fdisk/i386_sys_types.c:45
 msgid "Golden Bow"
-msgstr ""
+msgstr "Golden Bow"
 
 #: fdisk/i386_sys_types.c:46
 msgid "Priam Edisk"
-msgstr ""
+msgstr "Edisk Priam"
 
 #. DOS R/O or SpeedStor
 #: fdisk/i386_sys_types.c:47 fdisk/i386_sys_types.c:76
 #: fdisk/i386_sys_types.c:78 fdisk/i386_sys_types.c:79
 msgid "SpeedStor"
-msgstr ""
+msgstr "SpeedStor"
 
 #: fdisk/i386_sys_types.c:48
 msgid "GNU HURD or SysV"
-msgstr ""
+msgstr "GNU HURD ou SysV"
 
 #. GNU HURD or Mach or Sys V/386 (such as ISC UNIX)
 #: fdisk/i386_sys_types.c:49
 msgid "Novell Netware 286"
-msgstr ""
+msgstr "Novell Netware 286"
 
 #: fdisk/i386_sys_types.c:50
 msgid "Novell Netware 386"
-msgstr ""
+msgstr "Novell Netware 386"
 
 #: fdisk/i386_sys_types.c:51
 msgid "DiskSecure Multi-Boot"
-msgstr ""
+msgstr "Multi-Boot DiskSecure"
 
 #: fdisk/i386_sys_types.c:52
 msgid "PC/IX"
-msgstr ""
+msgstr "PC/IX"
 
 #: fdisk/i386_sys_types.c:53
 msgid "Old Minix"
-msgstr ""
+msgstr "Minix antigo"
 
 #. Minix 1.4a and earlier
 #: fdisk/i386_sys_types.c:54
 msgid "Minix / old Linux"
-msgstr ""
+msgstr "Linux antigo/Minix"
 
 #: fdisk/i386_sys_types.c:57
 msgid "OS/2 hidden C: drive"
-msgstr ""
+msgstr "Unidade C: OS/2 oculta"
 
 #: fdisk/i386_sys_types.c:58
 msgid "Linux extended"
@@ -3667,40 +4147,40 @@ msgstr "Estendida Linux"
 
 #: fdisk/i386_sys_types.c:59 fdisk/i386_sys_types.c:60
 msgid "NTFS volume set"
-msgstr ""
+msgstr "Conjunto de volumes NTFS"
 
 #: fdisk/i386_sys_types.c:61
 msgid "Amoeba"
-msgstr ""
+msgstr "Amoeba"
 
 #: fdisk/i386_sys_types.c:62
 msgid "Amoeba BBT"
-msgstr ""
+msgstr "Amoeba BBT"
 
 #. (bad block table)
 #: fdisk/i386_sys_types.c:63
 msgid "IBM Thinkpad hibernation"
-msgstr ""
+msgstr "Hibernação IBM Thinkpad"
 
 #: fdisk/i386_sys_types.c:64
 msgid "BSD/386"
-msgstr ""
+msgstr "BSD/386"
 
 #: fdisk/i386_sys_types.c:65
 msgid "OpenBSD"
-msgstr ""
+msgstr "OpenBSD"
 
 #: fdisk/i386_sys_types.c:66
 msgid "NeXTSTEP"
-msgstr ""
+msgstr "NeXTSTEP"
 
 #: fdisk/i386_sys_types.c:67
 msgid "BSDI fs"
-msgstr ""
+msgstr "sist. arq. BSDI"
 
 #: fdisk/i386_sys_types.c:68
 msgid "BSDI swap"
-msgstr ""
+msgstr "permuta BSDI"
 
 #: fdisk/i386_sys_types.c:69
 msgid "DRDOS/sec (FAT-12)"
@@ -3708,7 +4188,7 @@ msgstr "DRDOS/sec (FAT12)"
 
 #: fdisk/i386_sys_types.c:70
 msgid "DRDOS/sec (FAT-16 < 32M)"
-msgstr "DRDOS/sec (FAT16 < 32M)"
+msgstr "DRDOS/sec (FAT16 < 32 M)"
 
 #: fdisk/i386_sys_types.c:71
 msgid "DRDOS/sec (FAT-16)"
@@ -3716,119 +4196,122 @@ msgstr "DRDOS/sec (FAT16)"
 
 #: fdisk/i386_sys_types.c:72
 msgid "Syrinx"
-msgstr ""
+msgstr "Syrinx"
 
 #: fdisk/i386_sys_types.c:73
 msgid "CP/M / CTOS / ..."
-msgstr ""
+msgstr "CP/M / CTOS / ..."
 
 #. CP/M or Concurrent CP/M or Concurrent DOS or CTOS
 #: fdisk/i386_sys_types.c:74
 msgid "DOS access"
-msgstr ""
+msgstr "Acesso DOS"
 
 #. DOS access or SpeedStor 12-bit FAT extended partition
 #: fdisk/i386_sys_types.c:75
 msgid "DOS R/O"
-msgstr ""
+msgstr "DOS R/O"
 
 #. SpeedStor 16-bit FAT extended partition < 1024 cyl.
 #: fdisk/i386_sys_types.c:77
 msgid "BeOS fs"
-msgstr ""
+msgstr "sist. arq. BeOS"
 
 #. SpeedStor large partition
 #: fdisk/i386_sys_types.c:80
 msgid "DOS secondary"
-msgstr ""
+msgstr "DOS secundário"
 
 #. DOS 3.3+ secondary
 #: fdisk/i386_sys_types.c:81
 msgid "Linux raid autodetect"
-msgstr ""
+msgstr "Detecção automática de RAID Linux"
 
 #. New (2.2.x) raid partition with autodetect
 #. using persistent superblock
 #: fdisk/i386_sys_types.c:83
 msgid "LANstep"
-msgstr ""
+msgstr "LANstep"
 
 #. SpeedStor >1024 cyl. or LANstep
 #: fdisk/i386_sys_types.c:84
 msgid "BBT"
-msgstr ""
+msgstr "BBT"
 
 #: fdisk/sfdisk.c:147
 #, c-format
 msgid "seek error on %s - cannot seek to %lu\n"
-msgstr ""
+msgstr "erro de busca em %s - não foi possível buscar até %lu\n"
 
 #: fdisk/sfdisk.c:152
 #, c-format
 msgid "seek error: wanted 0x%08x%08x, got 0x%08x%08x\n"
-msgstr ""
+msgstr "erro de busca: desejado 0x%08x%08x, obtido 0x%08x%08x\n"
 
 #: fdisk/sfdisk.c:198
 msgid "out of memory - giving up\n"
-msgstr ""
+msgstr "memória insuficiente - desistindo\n"
 
 #: fdisk/sfdisk.c:202 fdisk/sfdisk.c:285
 #, c-format
 msgid "read error on %s - cannot read sector %lu\n"
-msgstr ""
+msgstr "erro de leitura em %s - não foi possível ler o setor %lu\n"
 
 #: fdisk/sfdisk.c:218
 #, c-format
 msgid "ERROR: sector %lu does not have an msdos signature\n"
-msgstr ""
+msgstr "ERRO: o setor %lu não possui uma assinatura MS-DOS\n"
 
 #: fdisk/sfdisk.c:235
 #, c-format
 msgid "write error on %s - cannot write sector %lu\n"
-msgstr ""
+msgstr "erro de gravação em %s - não foi possível gravar no setor %lu\n"
 
 #: fdisk/sfdisk.c:273
 #, 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:291
 #, c-format
 msgid "write error on %s\n"
-msgstr ""
+msgstr "erro de gravação em %s\n"
 
 #: fdisk/sfdisk.c:309
 #, c-format
 msgid "cannot stat partition restore file (%s)\n"
-msgstr ""
+msgstr "não foi possível stat arquivo de restauração de partição (%s)\n"
 
 #: fdisk/sfdisk.c:314
 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:318
 msgid "out of memory?\n"
-msgstr ""
+msgstr "memória insuficiente?\n"
 
 #: fdisk/sfdisk.c:324
 #, c-format
 msgid "cannot open partition restore file (%s)\n"
-msgstr ""
+msgstr "não foi possível abrir o arquivo de restauração de partição (%s)\n"
 
 #: fdisk/sfdisk.c:330
 #, c-format
 msgid "error reading %s\n"
-msgstr ""
+msgstr "erro na leitura de %s\n"
 
 #: fdisk/sfdisk.c:337
 #, c-format
 msgid "cannot open device %s for writing\n"
-msgstr ""
+msgstr "não foi possível abrir o dispositivo %s para gravação\n"
 
 #: fdisk/sfdisk.c:349
 #, c-format
 msgid "error writing sector %lu on %s\n"
-msgstr ""
+msgstr "erro na gravação do setor %lu em %s\n"
 
 #: fdisk/sfdisk.c:415
 #, c-format
@@ -3837,21 +4320,24 @@ msgid ""
 "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 =  %d - 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:421
 #, c-format
 msgid "Warning: HDIO_GETGEO says that there are %d heads\n"
-msgstr ""
+msgstr "Aviso: HDIO_GETGEO informa que há %d cabeças\n"
 
 #: fdisk/sfdisk.c:424
 #, c-format
 msgid "Warning: HDIO_GETGEO says that there are %d sectors\n"
-msgstr ""
+msgstr "Aviso: HDIO_GETGEO informa que há %d setores\n"
 
 #: fdisk/sfdisk.c:427
 #, c-format
 msgid "Warning: HDIO_GETGEO says that there are %d cylinders\n"
-msgstr ""
+msgstr "Aviso: HDIO_GETGEO informa que há %d cilindros\n"
 
 #: fdisk/sfdisk.c:431
 #, c-format
@@ -3864,6 +4350,9 @@ msgid ""
 "Warning: unlikely number of sectors (%d) - 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 (%d) - normalmente no máximo 63.\n"
+"Isto causará problemas a todo software que usar endereçamento "
+"Cil/Cab/Setor.\n"
 
 #: fdisk/sfdisk.c:437
 #, c-format
@@ -3871,18 +4360,24 @@ 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:517
 #, c-format
 msgid ""
 "%s of partition %s has impossible value for head: %d (should be in 0-%d)\n"
 msgstr ""
+"%s da partição %s possui valor impossível para cabeça: %d (deveria estar "
+"entre 0 e %d)\n"
 
 #: fdisk/sfdisk.c:522
 #, c-format
 msgid ""
 "%s of partition %s has impossible value for sector: %d (should be in 1-%d)\n"
 msgstr ""
+"%s da partição %s possui valor impossível para setor: %d (deveria estar "
+"entre 0 e %d)\n"
 
 #: fdisk/sfdisk.c:527
 #, c-format
@@ -3890,48 +4385,52 @@ msgid ""
 "%s of partition %s has impossible value for cylinders: %d (should be in "
 "0-%d)\n"
 msgstr ""
+"%s da partição %s possui valor impossível para o cilindro: %d (deveria estar "
+"entre 0 e %d)\n"
 
 #: fdisk/sfdisk.c:566
 msgid ""
 "Id  Name\n"
 "\n"
 msgstr ""
-"Id  Nome\n"
+"Nome Id\n"
 "\n"
 
 #: fdisk/sfdisk.c:719
 msgid "Re-reading the partition table ...\n"
-msgstr "Relendo tabela de partições...\n"
+msgstr "Relendo tabela de partições...\n"
 
 #: fdisk/sfdisk.c:725
 msgid ""
 "The command to re-read the partition table failed\n"
 "Reboot your system now, 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:730
 #, c-format
 msgid "Error closing %s\n"
-msgstr ""
+msgstr "Erro no fechamento de %s\n"
 
 #: fdisk/sfdisk.c:768
 #, c-format
 msgid "%s: no such partition\n"
-msgstr "%s: partição não existente\n"
+msgstr "%s: partição inexistente\n"
 
 #: fdisk/sfdisk.c:791
 msgid "unrecognized format - using sectors\n"
-msgstr ""
+msgstr "formato não reconhecido - usando setores\n"
 
 #: fdisk/sfdisk.c:830
 #, c-format
 msgid "# partition table of %s\n"
-msgstr "# tabela de partições de %s\n"
+msgstr "# tabela de partição de %s\n"
 
 #: fdisk/sfdisk.c:841
 #, c-format
 msgid "unimplemented format - using %s\n"
-msgstr ""
+msgstr "formato não implementado - usando %s\n"
 
 #: fdisk/sfdisk.c:845
 #, c-format
@@ -3939,10 +4438,13 @@ 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:848
 msgid "   Device Boot Start     End   #cyls   #blocks   Id  System\n"
-msgstr ""
+msgstr "   Disp   Boot Início    Fim   Cils    Blocos    Id  Sistema\n"
 
 #: fdisk/sfdisk.c:853
 #, c-format
@@ -3950,10 +4452,12 @@ 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:855
 msgid "   Device Boot    Start       End  #sectors  Id  System\n"
-msgstr ""
+msgstr "   Disp   Boot    Início      Fim  Setores   Id  Sistema\n"
 
 #: fdisk/sfdisk.c:858
 #, c-format
@@ -3961,10 +4465,12 @@ 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:860
 msgid "   Device Boot   Start       End   #blocks   Id  System\n"
-msgstr ""
+msgstr "   Disp   Boot   Início      Fim   Blocos    Id  Sistema\n"
 
 #: fdisk/sfdisk.c:863
 #, c-format
@@ -3972,29 +4478,34 @@ msgid ""
 "Units = megabytes 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:865
 msgid "   Device Boot Start   End     MB   #blocks   Id  System\n"
-msgstr ""
+msgstr "   Disp   Boot Início  Fim     MB   Blocos    Id  Sistema\n"
 
 #: fdisk/sfdisk.c:997
 #, 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:1004
 #, 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:1007
 #, c-format
 msgid "partition ends on cylinder %ld, beyond the end of the disk\n"
-msgstr ""
+msgstr "a partição termina no cilindro %ld, além do final do disco\n"
 
 #: fdisk/sfdisk.c:1018
 msgid "No partitions found\n"
-msgstr "Sem mais partições\n"
+msgstr "Nenhuma partição encontrada\n"
 
 #: fdisk/sfdisk.c:1025
 #, c-format
@@ -4003,6 +4514,9 @@ msgid ""
 "  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:1075
 msgid "no partition table present.\n"
@@ -4011,27 +4525,28 @@ msgstr "nenhuma tabela de parti
 #: fdisk/sfdisk.c:1077
 #, c-format
 msgid "strange, only %d partitions defined.\n"
-msgstr ""
+msgstr "estranho, somente %d partições estão definidas.\n"
 
 #: fdisk/sfdisk.c:1086
 #, 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:1089
 #, c-format
 msgid "Warning: partition %s has size 0 and is bootable\n"
-msgstr ""
+msgstr "Aviso: a partição %s possui tamanho 0 e é inicializável\n"
 
 #: fdisk/sfdisk.c:1092
 #, c-format
 msgid "Warning: partition %s has size 0 and nonzero start\n"
-msgstr ""
+msgstr "Aviso: a partição %s possui tamanho 0 e início diferente de zero\n"
 
 #: fdisk/sfdisk.c:1103
 #, c-format
 msgid "Warning: partition %s "
-msgstr "Atenção: partição %s "
+msgstr "Aviso: a partição %s "
 
 #: fdisk/sfdisk.c:1104
 #, c-format
@@ -4041,93 +4556,106 @@ msgstr "n
 #: fdisk/sfdisk.c:1115
 #, c-format
 msgid "Warning: partitions %s "
-msgstr ""
+msgstr "Aviso: as partições %s "
 
 #: fdisk/sfdisk.c:1116
 #, c-format
 msgid "and %s overlap\n"
-msgstr ""
+msgstr "e %s se sobrepõem\n"
 
 #: fdisk/sfdisk.c:1127
 #, c-format
 msgid "Warning: partition %s contains part of "
-msgstr "Atenção: a partição %s contém parte da "
+msgstr "Aviso: a partição %s contém parte da "
 
 #: fdisk/sfdisk.c:1128
 #, c-format
 msgid "the partition table (sector %lu),\n"
-msgstr "tabela de partições (setor %lu),\n"
+msgstr "tabela de partições (setor %lu) \n"
 
 #: fdisk/sfdisk.c:1129
 msgid "and will destroy it when filled\n"
-msgstr "e a destruirá quando preenchida\n"
+msgstr "e destruirá a tabela quando cheia\n"
 
 #: fdisk/sfdisk.c:1138
 #, c-format
 msgid "Warning: partition %s starts at sector 0\n"
-msgstr ""
+msgstr "Aviso: a partição %s começa no setor 0\n"
 
 #: fdisk/sfdisk.c:1142
 #, c-format
 msgid "Warning: partition %s extends past end of disk\n"
-msgstr "Atenção: a partição %s se estende até depois do fim do disco\n"
+msgstr "Aviso: a partição %s se estende além do fim do disco\n"
 
 #: fdisk/sfdisk.c:1156
 msgid "Among the primary partitions, at most one can be extended\n"
-msgstr ""
+msgstr "Dentre as partições primárias, pelo menos uma pode ser estendida\n"
 
 #: fdisk/sfdisk.c:1157
 msgid " (although this is not a problem under Linux)\n"
-msgstr ""
+msgstr " (embora isto não seja um problema no Linux)\n"
 
 #: fdisk/sfdisk.c:1174
 #, c-format
 msgid "Warning: partition %s does not start at a cylinder boundary\n"
-msgstr ""
+msgstr "Aviso: a partição %s não inicia em um limite de cilindro\n"
 
 #: fdisk/sfdisk.c:1180
 #, c-format
 msgid "Warning: partition %s does not end at a cylinder boundary\n"
-msgstr ""
+msgstr "Aviso: a partição %s não termina em um limite de cilindro\n"
 
 #: fdisk/sfdisk.c:1198
 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:1205
 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:1211
 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:1228
 #, 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:1237
 #, 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:1240
 #, c-format
 msgid "partition %s ends on cylinder %ld, beyond the end of the disk\n"
-msgstr ""
+msgstr "a partição %s termina no cilindro %ld, além do fim do disco\n"
 
 #: fdisk/sfdisk.c:1273 fdisk/sfdisk.c:1350
 #, c-format
 msgid "too many partitions - ignoring those past nr (%d)\n"
-msgstr ""
+msgstr "número excessivo de partições - ignorando aquelas além do nº %d\n"
 
 #: fdisk/sfdisk.c:1288
 msgid "tree of partitions?\n"
@@ -4135,64 +4663,64 @@ msgstr "
 
 #: fdisk/sfdisk.c:1392
 msgid "detected Disk Manager - unable to handle that\n"
-msgstr ""
+msgstr "Gerenciador de disco detectado - não é possível tratar\n"
 
 #: fdisk/sfdisk.c:1399
 msgid "DM6 signature found - giving up\n"
-msgstr ""
+msgstr "Assinatura DM6 encontrada - desistindo\n"
 
 #: fdisk/sfdisk.c:1419
 msgid "strange..., an extended partition of size 0?\n"
-msgstr ""
+msgstr "estranho... uma partição estendida de tamanho 0?\n"
 
 #: fdisk/sfdisk.c:1426
 msgid "strange..., a BSD partition of size 0?\n"
-msgstr ""
+msgstr "estranho... uma partição BSD de tamanho 0?\n"
 
 #: fdisk/sfdisk.c:1458
 #, c-format
 msgid " %s: unrecognized partition\n"
-msgstr ""
+msgstr " %s: partição não reconhecida\n"
 
 #: fdisk/sfdisk.c:1470
 msgid "-n flag was given: Nothing changed\n"
-msgstr ""
+msgstr "a opção -n foi fornecida: nada foi alterado\n"
 
 #: fdisk/sfdisk.c:1483
 msgid "Failed saving the old sectors - aborting\n"
-msgstr ""
+msgstr "Não foi possível salvar os setores antigos - abortando\n"
 
 #: fdisk/sfdisk.c:1488
 #, c-format
 msgid "Failed writing the partition on %s\n"
-msgstr "Falha na gravação da partição em %s\n"
+msgstr "Não foi possível gravar a partição em %s\n"
 
 #: fdisk/sfdisk.c:1565
 msgid "long or incomplete input line - quitting\n"
-msgstr "linha de entrada longa ou incompleta - terminando\n"
+msgstr "linha de entrada longa demais ou incompleta - encerrando\n"
 
 #: fdisk/sfdisk.c:1601
 #, c-format
 msgid "input error: `=' expected after %s field\n"
-msgstr ""
+msgstr "erro de entrada: `=' esperado após o campo %s\n"
 
 #: fdisk/sfdisk.c:1608
 #, c-format
 msgid "input error: unexpected character %c after %s field\n"
-msgstr ""
+msgstr "erro de entrada: caractere inesperado %c após o campo %s\n"
 
 #: fdisk/sfdisk.c:1614
 #, c-format
 msgid "unrecognized input: %s\n"
-msgstr ""
+msgstr "entrada não reconhecida: %s\n"
 
 #: fdisk/sfdisk.c:1646
 msgid "number too big\n"
-msgstr ""
+msgstr "número grande demais\n"
 
 #: fdisk/sfdisk.c:1650
 msgid "trailing junk after number\n"
-msgstr ""
+msgstr "lixo após o número\n"
 
 #: fdisk/sfdisk.c:1766
 msgid "no room for partition descriptor\n"
@@ -4204,21 +4732,21 @@ msgstr "n
 
 #: fdisk/sfdisk.c:1850
 msgid "too many input fields\n"
-msgstr ""
+msgstr "número excessivo de campos de entrada\n"
 
 #. no free blocks left - don't read any further
 #: fdisk/sfdisk.c:1884
 msgid "No room for more\n"
-msgstr ""
+msgstr "Não há espaço para mais\n"
 
 #: fdisk/sfdisk.c:1903
 msgid "Illegal type\n"
-msgstr ""
+msgstr "Tipo inválido\n"
 
 #: fdisk/sfdisk.c:1935
 #, c-format
 msgid "Warning: exceeds max allowable size (%lu)\n"
-msgstr ""
+msgstr "Aviso: excede o tamanho máximo permitido (%lu)\n"
 
 #: fdisk/sfdisk.c:1940
 msgid "Warning: empty partition\n"
@@ -4227,23 +4755,23 @@ msgstr "Aten
 #: fdisk/sfdisk.c:1954
 #, c-format
 msgid "Warning: bad partition start (earliest %lu)\n"
-msgstr ""
+msgstr "Aviso: início de partição inválido (mais adiantado %lu)\n"
 
 #: fdisk/sfdisk.c:1967
 msgid "unrecognized bootable flag - choose - or *\n"
-msgstr ""
+msgstr "opção de inicialização não reconhecida: selecione - ou *\n"
 
 #: fdisk/sfdisk.c:1984 fdisk/sfdisk.c:1997
 msgid "partial c,h,s specification?\n"
-msgstr ""
+msgstr "especificação cil,cab,set parcial?\n"
 
 #: fdisk/sfdisk.c:2008
 msgid "Extended partition not where expected\n"
-msgstr "Partição estentida não está no lugar esperado\n"
+msgstr "Partição estendida não está no lugar esperado\n"
 
 #: fdisk/sfdisk.c:2040
 msgid "bad input\n"
-msgstr ""
+msgstr "entrada inválida\n"
 
 #: fdisk/sfdisk.c:2062
 msgid "too many partitions\n"
@@ -4255,6 +4783,11 @@ msgid ""
 "<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:2115
 msgid "version"
@@ -4267,7 +4800,7 @@ msgstr "Uso: %s [op
 
 #: fdisk/sfdisk.c:2122
 msgid "device: something like /dev/hda or /dev/sda"
-msgstr ""
+msgstr "dispositivo: algo como /dev/hda ou /dev/sda"
 
 #: fdisk/sfdisk.c:2123
 msgid "useful options:"
@@ -4279,25 +4812,30 @@ msgstr "    -s [ou --show-size]: lista o tamanho de uma parti
 
 #: fdisk/sfdisk.c:2125
 msgid "    -c [or --id]:        print or change partition Id"
-msgstr ""
+msgstr "    -c [ou --id]:        mostra ou altera a ID da partição"
 
 #: fdisk/sfdisk.c:2126
 msgid "    -l [or --list]:      list partitions of each device"
-msgstr ""
+msgstr "    -l [ou --list]:      lista as partições de cada dispositivo"
 
 #: fdisk/sfdisk.c:2127
 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:2128
 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:2129
 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:2130
 msgid "    -T [or --list-types]:list the known partition types"
@@ -4306,6 +4844,8 @@ msgstr "    -T [ou --list-types]:lista os tipos de parti
 #: fdisk/sfdisk.c:2131
 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:2132
 msgid "    -R [or --re-read]:   make kernel reread partition table"
@@ -4313,78 +4853,80 @@ msgstr "    -R [ou --re-read]:   faz o kernel reler a tabela de parti
 
 #: fdisk/sfdisk.c:2133
 msgid "    -N# :                change only the partition with number #"
-msgstr ""
+msgstr "    -N# :                altera somente a partição de número #"
 
 #: fdisk/sfdisk.c:2134
 msgid "    -n :                 do not actually write to disk"
-msgstr ""
+msgstr "    -n :                 não grava no disco, realmente"
 
 #: fdisk/sfdisk.c:2135
 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:2136
 msgid "    -I file :            restore these sectors again"
-msgstr ""
+msgstr "    -I arquivo :         restaura os setores gravados em arquivo"
 
 #: fdisk/sfdisk.c:2137
 msgid "    -v [or --version]:   print version"
-msgstr ""
+msgstr "    -v [ou --version]:   mostra a versão"
 
 #: fdisk/sfdisk.c:2138
 msgid "    -? [or --help]:      print this message"
-msgstr ""
+msgstr "    -? [ou --help]:      mostra esta mensagem"
 
 #: fdisk/sfdisk.c:2139
 msgid "dangerous options:"
-msgstr ""
+msgstr "opções perigosas:"
 
 #: fdisk/sfdisk.c:2140
 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:2141
 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:2143
 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:2144
 msgid "    -q  [or --quiet]:      suppress warning messages"
-msgstr ""
+msgstr "    -q  [ou --quiet]:      suprime mensagens de aviso"
 
 #: fdisk/sfdisk.c:2145
 msgid "    You can override the detected geometry using:"
-msgstr ""
+msgstr "    Você pode anular a geometria detectada usando:"
 
 #: fdisk/sfdisk.c:2146
 msgid "    -C# [or --cylinders #]:set the number of cylinders to use"
-msgstr ""
-"    -C# [ou --cylinders #]:configura o número de cilindros a serem usados"
+msgstr "    -C# [ou --cylinders #]:define o número de cilindros a usar"
 
 #: fdisk/sfdisk.c:2147
 msgid "    -H# [or --heads #]:    set the number of heads to use"
-msgstr ""
-"    -H# [ou --heads #]:    configura o número de cabeças a serem usadas"
+msgstr "    -H# [ou --heads #]:    define o número de cabeças a usar"
 
 #: fdisk/sfdisk.c:2148
 msgid "    -S# [or --sectors #]:  set the number of sectors to use"
-msgstr ""
-"    -S# [ou --sectors #]:  configura o número de setores a serem usados"
+msgstr "    -S# [ou --sectors #]:  define o número de setores a usar"
 
 #: fdisk/sfdisk.c:2149
 msgid "You can disable all consistency checking with:"
-msgstr ""
+msgstr "Você pode desativar todas as verificações de consistência com:"
 
 #: fdisk/sfdisk.c:2150
 msgid "    -f  [or --force]:      do what I say, even if it is stupid"
-msgstr ""
+msgstr "    -f  [ou --force]:      faça o que eu mandar, mesmo que seja idiota"
 
 #: fdisk/sfdisk.c:2156
 msgid "Usage:"
@@ -4393,87 +4935,91 @@ msgstr "Uso:"
 #: fdisk/sfdisk.c:2157
 #, c-format
 msgid "%s device\t\t list active partitions on device\n"
-msgstr ""
+msgstr "%s dispositivo\t\tlista partições as ativas no dispositivo\n"
 
 #: fdisk/sfdisk.c:2158
 #, 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:2159
 #, 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:2278
 msgid "no command?\n"
-msgstr ""
+msgstr "nenhum comando?\n"
 
 #: fdisk/sfdisk.c:2401
 #, c-format
 msgid "total: %d blocks\n"
-msgstr ""
+msgstr "total: %d blocos\n"
 
 #: fdisk/sfdisk.c:2438
 msgid "usage: sfdisk --print-id device partition-number\n"
-msgstr ""
+msgstr "Uso: sfdisk --print-id dispositivo número-partição\n"
 
 #: fdisk/sfdisk.c:2440
 msgid "usage: sfdisk --change-id device partition-number Id\n"
-msgstr ""
+msgstr "Uso: sfdisk --change-id dispositivo número-partição ID\n"
 
 #: fdisk/sfdisk.c:2442
 msgid "usage: sfdisk --id device partition-number [Id]\n"
-msgstr ""
+msgstr "Uso: sfdisk --id dispositivo número-partição [ID]\n"
 
 #: fdisk/sfdisk.c:2449
 msgid "can specify only one device (except with -l or -s)\n"
-msgstr ""
+msgstr "pode especificar somente um dispositivo (exceto com -l ou -s)\n"
 
 #: fdisk/sfdisk.c:2474
 #, c-format
 msgid "cannot open %s %s\n"
-msgstr ""
+msgstr "não foi possível abrir %s %s\n"
 
 #: fdisk/sfdisk.c:2474
 msgid "read-write"
-msgstr ""
+msgstr "leitura/gravação"
 
 #: fdisk/sfdisk.c:2474
 msgid "for reading"
-msgstr ""
+msgstr "para leitura"
 
 #: fdisk/sfdisk.c:2499
 #, c-format
 msgid "%s: OK\n"
-msgstr ""
+msgstr "%s: OK\n"
 
 #: fdisk/sfdisk.c:2516
 #, c-format
 msgid "%s: %d cylinders, %d heads, %d sectors/track\n"
-msgstr ""
+msgstr "%s: %d cilindros, %d cabeças, %d setores/trilha\n"
 
 #: fdisk/sfdisk.c:2519
 #, c-format
 msgid "%s: unknown geometry\n"
-msgstr ""
+msgstr "%s: geometria desconhecida\n"
 
 #: fdisk/sfdisk.c:2535
 #, c-format
 msgid "BLKGETSIZE ioctl failed for %s\n"
-msgstr ""
+msgstr "ioctl BLKGETSIZE falhou para %s\n"
 
 #: fdisk/sfdisk.c:2612
 #, c-format
 msgid "bad active byte: 0x%x instead of 0x80\n"
-msgstr ""
+msgstr "byte ativo inválido: 0x%x em vez de 0x80\n"
 
 #: fdisk/sfdisk.c:2629 fdisk/sfdisk.c:2682 fdisk/sfdisk.c:2712
 msgid ""
 "Done\n"
 "\n"
 msgstr ""
-"Feito\n"
+"Concluído\n"
 "\n"
 
 #: fdisk/sfdisk.c:2638
@@ -4482,34 +5028,36 @@ 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:2652
 #, c-format
 msgid "partition %s has id %x and is not hidden\n"
-msgstr ""
+msgstr "a partição %s possui ID %x e não está escondida\n"
 
 #: fdisk/sfdisk.c:2708
 #, c-format
 msgid "Bad Id %x\n"
-msgstr ""
+msgstr "ID inválida: %x\n"
 
 #: fdisk/sfdisk.c:2723
 msgid "This disk is currently in use.\n"
-msgstr ""
+msgstr "Este disco está atualmente sendo usado.\n"
 
 #: fdisk/sfdisk.c:2740
 #, c-format
 msgid "Fatal error: cannot find %s\n"
-msgstr ""
+msgstr "Erro fatal: não foi possível encontrar %s\n"
 
 #: fdisk/sfdisk.c:2743
 #, c-format
 msgid "Warning: %s is not a block device\n"
-msgstr ""
+msgstr "Aviso: %s não é um dispositivo de blocos\n"
 
 #: fdisk/sfdisk.c:2749
 msgid "Checking that no-one is using this disk right now ...\n"
-msgstr ""
+msgstr "Verificando se ninguém está usando este disco no momento...\n"
 
 #: fdisk/sfdisk.c:2751
 msgid ""
@@ -4518,41 +5066,48 @@ msgid ""
 "all file systems, and swapoff all swap partitions on this disk.Use the "
 "--no-reread flag to suppress this check.\n"
 msgstr ""
+"\n"
+"Este disco está sendo usado no momento. Reparticioná-lo provavelmente "
+"causará problemas. 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:2755
 msgid "Use the --force flag to overrule all checks.\n"
-msgstr ""
+msgstr "Use a opção --force para cancelar todas as verificações.\n"
 
 #: fdisk/sfdisk.c:2759
 msgid "OK"
-msgstr ""
+msgstr "OK"
 
 #: fdisk/sfdisk.c:2768
 msgid "Old situation:\n"
-msgstr ""
+msgstr "Situação antiga:\n"
 
 #: fdisk/sfdisk.c:2772
 #, c-format
 msgid "Partition %d does not exist, cannot change it\n"
-msgstr ""
+msgstr "A partição %d não existe; não é possível alterá-la.\n"
 
 #: fdisk/sfdisk.c:2780
 msgid "New situation:\n"
-msgstr ""
+msgstr "Situação nova:\n"
 
 #: fdisk/sfdisk.c:2785
 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:2788
 msgid "I don't like this - probably you should answer No\n"
-msgstr ""
+msgstr "Eu não gosto disto - provavelmente você deveria responder Não\n"
 
 #: fdisk/sfdisk.c:2793
 msgid "Are you satisfied with this? [ynq] "
-msgstr ""
+msgstr "Você está satisfeito com isto? [ynq] "
 
 #: fdisk/sfdisk.c:2795
 msgid "Do you want to write this to disk? [ynq] "
@@ -4563,21 +5118,23 @@ msgid ""
 "\n"
 "sfdisk: premature end of input\n"
 msgstr ""
+"\n"
+"sfdisk: final de entrada prematuro\n"
 
 #: fdisk/sfdisk.c:2802
 msgid "Quitting - nothing changed\n"
-msgstr ""
+msgstr "Saindo - nada foi alterado\n"
 
 #: fdisk/sfdisk.c:2808
 msgid "Please answer one of y,n,q\n"
-msgstr ""
+msgstr "Responda y, n ou q\n"
 
 #: fdisk/sfdisk.c:2816
 msgid ""
 "Successfully wrote the new partition table\n"
 "\n"
 msgstr ""
-"Tabela de partições gravada com sucesso\n"
+"Nova tabela de partições gravada com sucesso\n"
 "\n"
 
 #: fdisk/sfdisk.c:2822
@@ -4586,10 +5143,15 @@ msgid ""
 "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"
 
 #: games/banner.c:1048
 msgid "usage: banner [-w width]\n"
-msgstr ""
+msgstr "Uso: banner [-w largura]\n"
 
 #: games/banner.c:1068
 msgid "Message: "
@@ -4598,12 +5160,12 @@ msgstr "Mensagem: "
 #: games/banner.c:1102
 #, c-format
 msgid "The character '%c' is not in my character set"
-msgstr ""
+msgstr "O caractere '%c' não faz parte do meu conjunto de caracteres"
 
 #: games/banner.c:1110
 #, c-format
 msgid "Message '%s' is OK\n"
-msgstr ""
+msgstr "A mensagem '%s' está OK\n"
 
 #: getopt-1.0.3b/getopt.c:229
 msgid "Try `getopt --help' for more information.\n"
@@ -4637,43 +5199,49 @@ msgstr "              par
 msgid ""
 "  -a, --alternative            Allow long options starting with single -\n"
 msgstr ""
+"  -a, --alternative            Permite opções longas iniciando com um único "
+"-\n"
 
 #: getopt-1.0.3b/getopt.c:325
 msgid "  -h, --help                   This small usage guide\n"
-msgstr ""
+msgstr "  -h, --help                   Mostra este pequeno guia de uso\n"
 
 #: getopt-1.0.3b/getopt.c:326
 msgid "  -l, --longoptions=longopts   Long options to be recognized\n"
-msgstr ""
+msgstr "  -l, --longoptions=ops_longas Opções longas a serem reconhecidas\n"
 
 #: getopt-1.0.3b/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-1.0.3b/getopt.c:328
 msgid "  -o, --options=optstring      Short options to be recognized\n"
-msgstr ""
+msgstr "  -o, --options=texto_opções     Opções curtas a serem reconhecidas\n"
 
 #: getopt-1.0.3b/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-1.0.3b/getopt.c:330
 msgid "  -Q, --quiet-output           No normal output\n"
-msgstr ""
+msgstr "  -Q, --quiet-output           Sem saída normal\n"
 
 #: getopt-1.0.3b/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-1.0.3b/getopt.c:332
 msgid "  -T, --test                   Test for getopt(1) version\n"
-msgstr ""
+msgstr "  -T, --test                   Teste de versão de getopt(1)\n"
 
 #: getopt-1.0.3b/getopt.c:333
 msgid "  -V, --version                Output version information\n"
-msgstr ""
+msgstr "  -V, --version                Mostra informações de versão\n"
 
 #: getopt-1.0.3b/getopt.c:387 getopt-1.0.3b/getopt.c:445
 msgid "missing optstring argument"
@@ -4685,155 +5253,159 @@ msgstr "getopt (melhorado) 1.0.3)\n"
 
 #: getopt-1.0.3b/getopt.c:439
 msgid "internal error, contact the author."
-msgstr "erro interno, contacte o autor."
+msgstr "erro interno, entre em contato com o autor."
 
-#: login-utils/agetty.c:303
+#: login-utils/agetty.c:306
 msgid "calling open_tty\n"
-msgstr ""
+msgstr "calling open_tty\n"
 
 #. Initialize the termio settings (raw mode, eight-bit, blocking i/o).
-#: login-utils/agetty.c:316
+#: login-utils/agetty.c:319
 msgid "calling termio_init\n"
-msgstr ""
+msgstr "calling termio_init\n"
 
-#: login-utils/agetty.c:321
+#: login-utils/agetty.c:324
 msgid "writing init string\n"
-msgstr ""
+msgstr "writing string init\n"
 
 #. Optionally detect the baud rate from the modem status message.
-#: login-utils/agetty.c:331
+#: login-utils/agetty.c:334
 msgid "before autobaud\n"
-msgstr ""
+msgstr "before autobaud\n"
 
-#: login-utils/agetty.c:343
+#: login-utils/agetty.c:346
 msgid "waiting for cr-lf\n"
-msgstr ""
+msgstr "waiting for cr-lf\n"
 
-#: login-utils/agetty.c:347
+#: login-utils/agetty.c:350
 #, c-format
 msgid "read %c\n"
-msgstr ""
+msgstr "read %c\n"
 
 #. Read the login name.
-#: login-utils/agetty.c:356
+#: login-utils/agetty.c:359
 msgid "reading login name\n"
-msgstr ""
+msgstr "reading login name\n"
 
-#: login-utils/agetty.c:377
+#: login-utils/agetty.c:380
 #, c-format
 msgid "%s: can't exec %s: %m"
-msgstr ""
+msgstr "%s: cant exec %s: %m"
 
-#: login-utils/agetty.c:397
+#: login-utils/agetty.c:400
 msgid "can't malloc initstring"
-msgstr ""
+msgstr "can't malloc initstring"
 
-#: login-utils/agetty.c:459
+#: login-utils/agetty.c:465
 #, c-format
 msgid "bad timeout value: %s"
-msgstr ""
+msgstr "bad timeout value: %s"
 
-#: login-utils/agetty.c:468
+#: login-utils/agetty.c:474
 msgid "after getopt loop\n"
-msgstr ""
+msgstr "after getopt loop\n"
 
-#: login-utils/agetty.c:486
+#: login-utils/agetty.c:492
 msgid "exiting parseargs\n"
-msgstr ""
+msgstr "exiting parseargs\n"
 
-#: login-utils/agetty.c:499
+#: login-utils/agetty.c:505
 msgid "entered parse_speeds\n"
-msgstr ""
+msgstr "entered parse_speeds\n"
 
-#: login-utils/agetty.c:502
+#: login-utils/agetty.c:508
 #, c-format
 msgid "bad speed: %s"
-msgstr ""
+msgstr "velocidade inválida: %s"
 
-#: login-utils/agetty.c:504
+#: login-utils/agetty.c:510
 msgid "too many alternate speeds"
-msgstr "Número excessivo de velocidades alternativas"
+msgstr "número excessivo de velocidades alternativas"
 
-#: login-utils/agetty.c:506
+#: login-utils/agetty.c:512
 msgid "exiting parsespeeds\n"
-msgstr ""
+msgstr "exiting parsespeeds\n"
 
-#: login-utils/agetty.c:579
+#: login-utils/agetty.c:587
 #, c-format
 msgid "%s: open for update: %m"
-msgstr ""
+msgstr "%s: aberto para atualização: %m"
 
-#: login-utils/agetty.c:595
+#: login-utils/agetty.c:605
 #, c-format
 msgid "%s: no utmp entry"
-msgstr ""
+msgstr "%s: entrada utmp inexistente"
 
-#: login-utils/agetty.c:624
+#: login-utils/agetty.c:634
 #, c-format
 msgid "/dev: chdir() failed: %m"
-msgstr ""
+msgstr "/dev: chdir() falhou: %m"
 
-#: login-utils/agetty.c:628
+#: login-utils/agetty.c:638
 #, c-format
 msgid "/dev/%s: not a character device"
-msgstr ""
+msgstr "/dev/%s não é um dispositivo de caracteres"
 
 #. ignore close(2) errors
-#: login-utils/agetty.c:635
+#: login-utils/agetty.c:645
 msgid "open(2)\n"
-msgstr ""
+msgstr "open(2)\n"
 
-#: login-utils/agetty.c:637
+#: login-utils/agetty.c:647
 #, c-format
 msgid "/dev/%s: cannot open as standard input: %m"
-msgstr ""
+msgstr "/dev/%s: não foi possível abrir como entrada padrão: %m"
 
-#: login-utils/agetty.c:647
+#: login-utils/agetty.c:657
 #, c-format
 msgid "%s: not open for read/write"
-msgstr ""
+msgstr "%s: não está aberto para leitura/gravação"
 
 #. Set up standard output and standard error file descriptors.
-#: login-utils/agetty.c:651
+#: login-utils/agetty.c:661
 msgid "duping\n"
-msgstr ""
+msgstr "duping\n"
 
 #. set up stdout and stderr
-#: login-utils/agetty.c:653
+#: login-utils/agetty.c:663
 #, c-format
 msgid "%s: dup problem: %m"
-msgstr ""
+msgstr "%s: problema de dup: %m"
 
-#: login-utils/agetty.c:723
+#: login-utils/agetty.c:733
 msgid "term_io 2\n"
-msgstr ""
+msgstr "term_io 2\n"
 
-#: login-utils/agetty.c:905
+#: login-utils/agetty.c:915
 msgid "user"
 msgstr "usuário"
 
-#: login-utils/agetty.c:905
+#: login-utils/agetty.c:915
 msgid "users"
 msgstr "usuários"
 
-#: login-utils/agetty.c:993
+#: login-utils/agetty.c:1003
 #, c-format
 msgid "%s: read: %m"
-msgstr ""
+msgstr "%s: leitura: %m"
 
-#: login-utils/agetty.c:1039
+#: login-utils/agetty.c:1049
 #, c-format
 msgid "%s: input overrun"
-msgstr ""
+msgstr "%s: entrada excedida"
 
-#: login-utils/agetty.c:1163
+#: login-utils/agetty.c:1173
 #, c-format
 msgid ""
-"Usage: %s [-hiLmw] [-l login_program] [-t timeout] [-I initstring] "
-"baud_rate,... line [termtype]\n"
-"or\t[-hiLmw] [-l login_program] [-t timeout] [-I initstring] line "
-"baud_rate,... [termtype]\n"
+"Usage: %s [-hiLmw] [-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:46
 #, c-format
@@ -4843,25 +5415,25 @@ msgstr "login inv
 #: login-utils/checktty.c:52
 #, c-format
 msgid "sleepexit %d\n"
-msgstr ""
+msgstr "sleepexit %d\n"
 
 #: login-utils/checktty.c:108 login-utils/checktty.c:130
 msgid "login: memory low, login may fail\n"
-msgstr ""
+msgstr "login: pouca memória; o login pode falhar\n"
 
 #: login-utils/checktty.c:109
 msgid "can't malloc for ttyclass"
-msgstr ""
+msgstr "não foi possível malloc para ttyclass"
 
 #: login-utils/checktty.c:131
 msgid "can't malloc for grplist"
-msgstr ""
+msgstr "não foi possível malloc para grplist"
 
 #. there was a default rule, but user didn't match, reject!
 #: login-utils/checktty.c:431
 #, c-format
 msgid "Login on %s from %s denied by default.\n"
-msgstr ""
+msgstr "Login em %s de %s negado como padrão.\n"
 
 #. if we get here, /etc/usertty exists, there's a line
 #. matching our username, but it doesn't contain the
@@ -4870,230 +5442,236 @@ msgstr ""
 #: login-utils/checktty.c:442
 #, c-format
 msgid "Login on %s from %s denied.\n"
-msgstr ""
+msgstr "Login em %s de %s negado.\n"
 
-#: login-utils/chfn.c:135 login-utils/chsh.c:118
+#: login-utils/chfn.c:134 login-utils/chsh.c:117
 #, c-format
 msgid "%s: you (user %d) don't exist.\n"
-msgstr ""
+msgstr "%s: você (usuário %d) não existe.\n"
 
-#: login-utils/chfn.c:142 login-utils/chsh.c:125
+#: login-utils/chfn.c:141 login-utils/chsh.c:124
 #, c-format
 msgid "%s: user \"%s\" does not exist.\n"
-msgstr ""
+msgstr "%s: usuário \"%s\" não existe.\n"
 
-#: login-utils/chfn.c:147 login-utils/chsh.c:130
+#: login-utils/chfn.c:146 login-utils/chsh.c:129
 #, c-format
 msgid "%s: can only change local entries; use yp%s instead.\n"
-msgstr ""
+msgstr "%s: só pode alterar entradas locais; use yp%s, em vez disso.\n"
 
-#: login-utils/chfn.c:159
+#: login-utils/chfn.c:158
 #, c-format
 msgid "Changing finger information for %s.\n"
-msgstr "Modificando informações finger para o usuário %s.\n"
+msgstr "Alterando informações de finger de %s.\n"
 
-#: login-utils/chfn.c:165 login-utils/chfn.c:169 login-utils/chfn.c:176
-#: login-utils/chfn.c:180 login-utils/chsh.c:154 login-utils/chsh.c:158
-#: login-utils/chsh.c:165 login-utils/chsh.c:169
+#: login-utils/chfn.c:164 login-utils/chfn.c:168 login-utils/chfn.c:175
+#: login-utils/chfn.c:179 login-utils/chsh.c:153 login-utils/chsh.c:157
+#: login-utils/chsh.c:164 login-utils/chsh.c:168
 msgid "Password error."
-msgstr "Erro na senha."
+msgstr "Erro de senha."
 
-#: login-utils/chfn.c:189 login-utils/chsh.c:178 login-utils/login.c:678
+#: login-utils/chfn.c:188 login-utils/chsh.c:177 login-utils/login.c:684
 #: login-utils/newgrp.c:47 login-utils/simpleinit.c:219 mount/lomount.c:200
-#: mount/lomount.c:206 mount/losetup.c:115 mount/losetup.c:121
+#: mount/lomount.c:206 mount/losetup.c:116 mount/losetup.c:122
 msgid "Password: "
-msgstr "Senha: "
+msgstr "Senha:"
 
-#: login-utils/chfn.c:192 login-utils/chsh.c:181
+#: login-utils/chfn.c:191 login-utils/chsh.c:180
 msgid "Incorrect password."
 msgstr "Senha incorreta."
 
-#: login-utils/chfn.c:203
+#: login-utils/chfn.c:202
 msgid "Finger information not changed.\n"
-msgstr ""
+msgstr "Informações de finger não alteradas.\n"
 
-#: login-utils/chfn.c:306
+#: login-utils/chfn.c:305
 #, c-format
 msgid "Usage: %s [ -f full-name ] [ -o office ] "
-msgstr "Uso: %s [ -f nome-completo ] [ -o local_de_trabalho ] "
+msgstr "Uso: %s [ -f nome_completo ] [ -o local_de_trabalho ] "
 
-#: login-utils/chfn.c:307
+#: login-utils/chfn.c:306
 msgid ""
 "[ -p office-phone ]\n"
 "\t[ -h home-phone ] "
 msgstr ""
+"[ -p telefone_comercial ]\n"
+"\t[ -h telefone_residencial ] "
 
-#: login-utils/chfn.c:308
+#: login-utils/chfn.c:307
 msgid "[ --help ] [ --version ]\n"
-msgstr ""
+msgstr "[ --help ] [ --version ]\n"
 
-#: login-utils/chfn.c:377 login-utils/chsh.c:294
+#: login-utils/chfn.c:376 login-utils/chsh.c:293
 msgid ""
 "\n"
 "Aborted.\n"
 msgstr ""
+"\n"
+"Abortado.\n"
 
-#: login-utils/chfn.c:410
+#: login-utils/chfn.c:409
 msgid "field is too long.\n"
-msgstr "Campo muito longo.\n"
+msgstr "campo longo demais.\n"
 
-#: login-utils/chfn.c:418
+#: login-utils/chfn.c:417
 #, c-format
 msgid "'%c' is not allowed.\n"
-msgstr ""
+msgstr "'%c' não é permitido.\n"
 
-#: login-utils/chfn.c:423
+#: login-utils/chfn.c:422
 msgid "Control characters are not allowed.\n"
-msgstr ""
+msgstr "Caracteres de controle não são permitidos.\n"
 
-#: login-utils/chfn.c:488
+#: login-utils/chfn.c:487
 msgid "Finger information *NOT* changed.  Try again later.\n"
 msgstr ""
-"As informações finger *NÃO* foram modificada. Tente novamente mais tarde.\n"
+"As informações de finger *NÃO* foram alteradas. Tente novamente mais tarde.\n"
 
-#: login-utils/chfn.c:491
+#: login-utils/chfn.c:490
 msgid "Finger information changed.\n"
-msgstr ""
+msgstr "As informações de finger foram alteradas.\n"
 
-#: login-utils/chfn.c:505 login-utils/chsh.c:412 sys-utils/cytune.c:324
+#: login-utils/chfn.c:504 login-utils/chsh.c:411 sys-utils/cytune.c:324
 msgid "malloc failed"
-msgstr ""
+msgstr "malloc falhou"
 
-#: login-utils/chsh.c:141
+#: login-utils/chsh.c:140
 #, 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:148
+#: login-utils/chsh.c:147
 #, c-format
 msgid "Changing shell for %s.\n"
-msgstr "Modificando o interpretador de comandos para o usuário %s.\n"
+msgstr "Alterando o interpretador de comandos para o usuário %s.\n"
 
-#: login-utils/chsh.c:189
+#: login-utils/chsh.c:188
 msgid "New shell"
-msgstr ""
+msgstr "Novo interpretador de comandos"
 
-#: login-utils/chsh.c:196
+#: login-utils/chsh.c:195
 msgid "Shell not changed.\n"
-msgstr "O interpretador de comandos NÃO foi modificado.\n"
+msgstr "O interpretador de comandos NÃO foi alterado.\n"
 
-#: login-utils/chsh.c:203
+#: login-utils/chsh.c:202
 msgid "Shell *NOT* changed.  Try again later.\n"
 msgstr ""
-"O interpretador de comandos *NÃO* foi modificado. Tente novamente mais "
-"tarde.\n"
+"O interpretador de comandos *NÃO* foi alterado. Tente novamente mais tarde.\n"
 
-#: login-utils/chsh.c:206
+#: login-utils/chsh.c:205
 msgid "Shell changed.\n"
-msgstr "Interpretador de comandos modificado.\n"
+msgstr "Interpretador de comandos alterado.\n"
 
-#: login-utils/chsh.c:274
+#: login-utils/chsh.c:273
 #, c-format
 msgid "Usage: %s [ -s shell ] "
 msgstr "Uso: %s [ -s interpretador_de_comandos ] "
 
-#: login-utils/chsh.c:275
+#: login-utils/chsh.c:274
 msgid "[ --list-shells ] [ --help ] [ --version ]\n"
-msgstr ""
+msgstr "[ --list-shells ] [ --help ] [ --version ]\n"
 
-#: login-utils/chsh.c:276
+#: login-utils/chsh.c:275
 msgid "       [ username ]\n"
-msgstr ""
+msgstr "       [ nome_usuário ]\n"
 
-#: login-utils/chsh.c:320
+#: login-utils/chsh.c:319
 #, 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:324
+#: login-utils/chsh.c:323
 #, c-format
 msgid "%s: \"%s\" does not exist.\n"
-msgstr ""
+msgstr "%s: \"%s\" não existe.\n"
 
-#: login-utils/chsh.c:328
+#: login-utils/chsh.c:327
 #, c-format
 msgid "%s: \"%s\" is not executable.\n"
-msgstr ""
+msgstr "%s: \"%s\" não é executável.\n"
 
-#: login-utils/chsh.c:335
+#: login-utils/chsh.c:334
 #, c-format
 msgid "%s: '%c' is not allowed.\n"
-msgstr ""
+msgstr "%s: '%c' não é permitido.\n"
 
-#: login-utils/chsh.c:339
+#: login-utils/chsh.c:338
 #, c-format
 msgid "%s: Control characters are not allowed.\n"
-msgstr ""
+msgstr "%s: caracteres de controle não são permitidos.\n"
 
-#: login-utils/chsh.c:346
+#: login-utils/chsh.c:345
 #, c-format
 msgid "Warning: \"%s\" is not listed in /etc/shells\n"
-msgstr ""
+msgstr "Aviso:  \"%s\" não está listado em /etc/shells\n"
 
-#: login-utils/chsh.c:348
+#: login-utils/chsh.c:347
 #, c-format
 msgid "%s: \"%s\" is not listed in /etc/shells.\n"
-msgstr ""
+msgstr "%s: \"%s\" não está listado em /etc/shells\n"
 
-#: login-utils/chsh.c:350
+#: login-utils/chsh.c:349
 #, c-format
 msgid "%s: use -l option to see list\n"
-msgstr ""
+msgstr "%s: use a opção -l para ver a lista\n"
 
-#: login-utils/chsh.c:356
+#: login-utils/chsh.c:355
 #, c-format
 msgid "Warning: \"%s\" is not listed in /etc/shells.\n"
-msgstr ""
+msgstr "Aviso:  \"%s\" não está listado em /etc/shells.\n"
 
-#: login-utils/chsh.c:357
+#: login-utils/chsh.c:356
 #, c-format
 msgid "Use %s -l to see list.\n"
-msgstr ""
+msgstr "Use %s -l para ver a lista.\n"
 
-#: login-utils/chsh.c:378
+#: login-utils/chsh.c:377
 msgid "No known shells.\n"
-msgstr ""
+msgstr "Nenhum interpretador de comandos conhecido.\n"
 
 #: login-utils/cryptocard.c:70
 msgid "couldn't open /dev/urandom"
-msgstr ""
+msgstr "não foi possível abrir /dev/urandom"
 
 #: login-utils/cryptocard.c:75
 msgid "couldn't read random data from /dev/urandom"
-msgstr ""
+msgstr "não foi possível ler dados aleatórios de /dev/urandom"
 
 #: login-utils/cryptocard.c:98
 #, c-format
 msgid "can't open %s for reading"
-msgstr ""
+msgstr "não foi possível abrir %s para leitura"
 
 #: login-utils/cryptocard.c:102
 #, c-format
 msgid "can't stat(%s)"
-msgstr ""
+msgstr "não foi possível stat(%s)"
 
 #: login-utils/cryptocard.c:108
 #, c-format
 msgid "%s doesn't have the correct filemodes"
-msgstr ""
+msgstr "%s não possui os modos de arquivo corretos"
 
 #: login-utils/cryptocard.c:113
 #, c-format
 msgid "can't read data from %s"
-msgstr ""
+msgstr "não foi possível ler dados de %s"
 
 #: login-utils/islocal.c:36
 #, c-format
 msgid "Can't read %s, exiting."
-msgstr ""
+msgstr "Não foi possível ler %s; saindo."
 
 #: login-utils/last.c:143
 msgid "usage: last [-#] [-f file] [-t tty] [-h hostname] [user ...]\n"
-msgstr ""
+msgstr "Uso: last [-#] [-f arquivo] [-t tty] [-h nome_host] [usuário ...]\n"
 
 #: login-utils/last.c:283
 msgid "  still logged in"
-msgstr ""
+msgstr "  ainda conectado"
 
 #: login-utils/last.c:305
 #, c-format
@@ -5101,14 +5679,16 @@ msgid ""
 "\n"
 "wtmp begins %s"
 msgstr ""
+"\n"
+"wtmp inicia %s"
 
 #: login-utils/last.c:367 login-utils/last.c:387 login-utils/last.c:442
 msgid "last: malloc failure.\n"
-msgstr ""
+msgstr "last: falha de malloc.\n"
 
 #: login-utils/last.c:416
 msgid "last: gethostname"
-msgstr ""
+msgstr "last: gethostname"
 
 #: login-utils/last.c:469
 #, c-format
@@ -5116,6 +5696,8 @@ msgid ""
 "\n"
 "interrupted %10.10s %5.5s \n"
 msgstr ""
+"\n"
+"interrompido %10.10s %5.5s \n"
 
 #: login-utils/login.c:377
 msgid "login: -h for super-user only.\n"
@@ -5123,24 +5705,31 @@ msgstr "login: -h somente pode ser especificado pelo superusu
 
 #: login-utils/login.c:402
 msgid "usage: login [-fp] [username]\n"
-msgstr ""
+msgstr "Uso: login [-fp] [nome_usuário]\n"
 
 #: login-utils/login.c:504
 #, c-format
 msgid "login: PAM Failure, aborting: %s\n"
-msgstr ""
+msgstr "login: falha de PAM; abortando: %s\n"
 
 #: login-utils/login.c:506
 #, c-format
 msgid "Couldn't initialize PAM: %s"
-msgstr ""
+msgstr "Não foi possível inicializar o PAM: %s"
 
-#: login-utils/login.c:546
+#. 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).
+#: login-utils/login.c:519
+msgid "login: "
+msgstr "login: "
+
+#: login-utils/login.c:552
 #, c-format
 msgid "FAILED LOGIN %d FROM %s FOR %s, %s"
-msgstr ""
+msgstr "LOGIN FALHOU: %d A PARTIR DE %s PARA %s, %s"
 
-#: login-utils/login.c:548
+#: login-utils/login.c:554
 msgid ""
 "Login incorrect\n"
 "\n"
@@ -5148,17 +5737,18 @@ msgstr ""
 "Login incorreto\n"
 "\n"
 
-#: login-utils/login.c:557
+#: login-utils/login.c:563
 #, 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:561
+#: login-utils/login.c:567
 #, c-format
 msgid "FAILED LOGIN SESSION FROM %s FOR %s, %s"
-msgstr ""
+msgstr "SESSÃO DE LOGIN FALHOU: A PARTIR DE %s PARA %s, %s"
 
-#: login-utils/login.c:564
+#: login-utils/login.c:570
 msgid ""
 "\n"
 "Login incorrect\n"
@@ -5166,129 +5756,132 @@ msgstr ""
 "\n"
 "Login incorreto\n"
 
-#: login-utils/login.c:613
+#: login-utils/login.c:619
 msgid "Illegal username"
 msgstr "Nome de usuário inválido"
 
-#: login-utils/login.c:656
+#: login-utils/login.c:662
 #, c-format
 msgid "%s login refused on this terminal.\n"
-msgstr ""
+msgstr "%s: login recusado neste terminal.\n"
 
-#: login-utils/login.c:661
+#: login-utils/login.c:667
 #, c-format
 msgid "LOGIN %s REFUSED FROM %s ON TTY %s"
-msgstr ""
+msgstr "%s: LOGIN RECUSADO A PARTIR DE %s NO TTY %s"
 
-#: login-utils/login.c:665
+#: login-utils/login.c:671
 #, c-format
 msgid "LOGIN %s REFUSED ON TTY %s"
-msgstr ""
+msgstr "%s: LOGIN RECUSADO NO TTY %s"
 
-#: login-utils/login.c:717
+#: login-utils/login.c:723
 msgid "Login incorrect\n"
 msgstr "Login incorreto\n"
 
-#: login-utils/login.c:739
+#: login-utils/login.c:745
 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"
 
-#: login-utils/login.c:743
+#: login-utils/login.c:749
 msgid "You have too many processes running.\n"
-msgstr ""
+msgstr "Número excessivo de processos em execução.\n"
 
-#: login-utils/login.c:789
+#: login-utils/login.c:795
 msgid "Warning: no Kerberos tickets issued\n"
-msgstr ""
+msgstr "Aviso: nenhum bilhete Kerberos emitido\n"
 
-#: login-utils/login.c:801
+#: login-utils/login.c:807
 msgid "Sorry -- your password has expired.\n"
-msgstr ""
+msgstr "Sua senha expirou.\n"
 
-#: login-utils/login.c:807
+#: login-utils/login.c:813
 #, c-format
 msgid "Warning: your password expires on %s %d, %d\n"
-msgstr ""
+msgstr "Aviso: sua senha irá expirar em %d de %s de %d\n"
 
-#: login-utils/login.c:815
+#: login-utils/login.c:821
 msgid "Sorry -- your account has expired.\n"
-msgstr ""
+msgstr "Sua conta expirou.\n"
 
-#: login-utils/login.c:821
+#: login-utils/login.c:827
 #, c-format
 msgid "Warning: your account expires on %s %d, %d\n"
-msgstr ""
+msgstr "Aviso: sua conta perderá a validade em %d de %s de %d\n"
 
-#: login-utils/login.c:1055
+#: login-utils/login.c:1061
 #, c-format
 msgid "DIALUP AT %s BY %s"
-msgstr ""
+msgstr "DISCAGEM EM %s POR %s"
 
-#: login-utils/login.c:1062
+#: login-utils/login.c:1068
 #, c-format
 msgid "ROOT LOGIN ON %s FROM %s"
-msgstr ""
+msgstr "LOGIN COMO ROOT EM %s A PARTIR DE %s"
 
-#: login-utils/login.c:1065
+#: login-utils/login.c:1071
 #, c-format
 msgid "ROOT LOGIN ON %s"
-msgstr ""
+msgstr "LOGIN COMO ROOT EM %s"
 
-#: login-utils/login.c:1068
+#: login-utils/login.c:1074
 #, c-format
 msgid "LOGIN ON %s BY %s FROM %s"
-msgstr ""
+msgstr "LOGIN EM %s POR %s A PARTIR DE %s"
 
-#: login-utils/login.c:1071
+#: login-utils/login.c:1077
 #, c-format
 msgid "LOGIN ON %s BY %s"
-msgstr ""
+msgstr "LOGIN EM %s POR %s"
 
-#: login-utils/login.c:1083
+#: login-utils/login.c:1089
 #, c-format
 msgid "You have %smail.\n"
 msgstr "Você tem mensagens %s na caixa de correio.\n"
 
-#: login-utils/login.c:1084
+#: login-utils/login.c:1090
 msgid "new "
-msgstr ""
+msgstr "novas "
 
 #. error in fork()
-#: login-utils/login.c:1102
+#: login-utils/login.c:1108
 #, c-format
 msgid "login: failure forking: %s"
-msgstr ""
+msgstr "login: falha em fork: %s"
 
-#: login-utils/login.c:1117
+#: login-utils/login.c:1123
 msgid "setuid() failed"
-msgstr ""
+msgstr "setuid() falhou"
 
-#: login-utils/login.c:1123
+#: login-utils/login.c:1129
 #, c-format
 msgid "No directory %s!\n"
-msgstr ""
+msgstr "O diretório %s não existe!\n"
 
-#: login-utils/login.c:1127
+#: login-utils/login.c:1133
 msgid "Logging in with home = \"/\".\n"
-msgstr ""
+msgstr "Fazendo login com home = \"/\".\n"
 
-#: login-utils/login.c:1135
+#: login-utils/login.c:1141
 msgid "login: no memory for shell script.\n"
-msgstr ""
+msgstr "login: não há memória para script de interpretador de comandos.\n"
 
-#: login-utils/login.c:1163
+#: login-utils/login.c:1169
 #, 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:1166
+#: login-utils/login.c:1172
 #, c-format
 msgid "login: no shell: %s.\n"
-msgstr ""
+msgstr "login: não existe interpretador de comandos: %s.\n"
 
-#: login-utils/login.c:1182
+#: login-utils/login.c:1188
 #, c-format
 msgid ""
 "\n"
@@ -5297,73 +5890,73 @@ msgstr ""
 "\n"
 "%s usuário: "
 
-#: login-utils/login.c:1193
+#: login-utils/login.c:1199
 msgid "login name much too long.\n"
-msgstr "nome de login muito longo.\n"
+msgstr "nome de login longo demais.\n"
 
-#: login-utils/login.c:1194
+#: login-utils/login.c:1200
 msgid "NAME too long"
-msgstr "NOME muito longo"
+msgstr "NOME longo demais"
 
-#: login-utils/login.c:1201
+#: login-utils/login.c:1207
 msgid "login names may not start with '-'.\n"
-msgstr ""
+msgstr "nomes de login não podem iniciar com '-'.\n"
 
-#: login-utils/login.c:1211
+#: login-utils/login.c:1217
 msgid "too many bare linefeeds.\n"
 msgstr "Número excessivo de saltos de linha.\n"
 
-#: login-utils/login.c:1212
+#: login-utils/login.c:1218
 msgid "EXCESSIVE linefeeds"
-msgstr ""
+msgstr "Saltos de linha EXCESSIVOS"
 
-#: login-utils/login.c:1223
+#: login-utils/login.c:1229
 #, c-format
 msgid "Login timed out after %d seconds\n"
 msgstr "Tempo de login esgotado após %d segundos\n"
 
-#: login-utils/login.c:1323
+#: login-utils/login.c:1329
 #, c-format
 msgid "Last login: %.*s "
 msgstr "Último login: %.*s "
 
-#: login-utils/login.c:1327
+#: login-utils/login.c:1333
 #, c-format
 msgid "from %.*s\n"
 msgstr "a partir de %.*s\n"
 
-#: login-utils/login.c:1330
+#: login-utils/login.c:1336
 #, c-format
 msgid "on %.*s\n"
 msgstr "em: %.*s\n"
 
-#: login-utils/login.c:1353
+#: login-utils/login.c:1359
 #, c-format
 msgid "LOGIN FAILURE FROM %s, %s"
-msgstr ""
+msgstr "FALHA DE LOGIN A PARTIR DE %s, %s"
 
-#: login-utils/login.c:1356
+#: login-utils/login.c:1362
 #, c-format
 msgid "LOGIN FAILURE ON %s, %s"
-msgstr ""
+msgstr "FALHA DE LOGIN EM %s, %s"
 
-#: login-utils/login.c:1360
+#: login-utils/login.c:1366
 #, c-format
 msgid "%d LOGIN FAILURES FROM %s, %s"
-msgstr ""
+msgstr "%d FALHAS DE LOGIN A PARTIR DE %s, %s"
 
-#: login-utils/login.c:1363
+#: login-utils/login.c:1369
 #, c-format
 msgid "%d LOGIN FAILURES ON %s, %s"
-msgstr ""
+msgstr "%d FALHAS DE LOGIN EM %s, %s"
 
 #: login-utils/mesg.c:89
 msgid "is y\n"
-msgstr ""
+msgstr "é y\n"
 
 #: login-utils/mesg.c:92
 msgid "is n\n"
-msgstr ""
+msgstr "é n\n"
 
 #: login-utils/mesg.c:112
 msgid "usage: mesg [y | n]\n"
@@ -5371,200 +5964,202 @@ msgstr "Uso: mesg [y | n]\n"
 
 #: login-utils/newgrp.c:67
 msgid "newgrp: Who are you?"
-msgstr ""
+msgstr "newgrp: Quem é você?"
 
 #: login-utils/newgrp.c:75 login-utils/newgrp.c:85
 msgid "newgrp: setgid"
-msgstr ""
+msgstr "newgrp: setgid"
 
 #: login-utils/newgrp.c:80
 msgid "newgrp: No such group."
-msgstr ""
+msgstr "newgrp: grupo inexistente."
 
 #: login-utils/newgrp.c:89
 msgid "newgrp: Permission denied"
-msgstr ""
+msgstr "newgrp: permissão negada"
 
 #: login-utils/newgrp.c:96
 msgid "newgrp: setuid"
-msgstr ""
+msgstr "newgrp: setuid"
 
 #: login-utils/newgrp.c:102
 msgid "No shell"
-msgstr ""
+msgstr "Interpretador de comandos inexistente"
 
-#: login-utils/passwd.c:163
+#: login-utils/passwd.c:161
 msgid "The password must have at least 6 characters, try again.\n"
-msgstr "A senha deve ter pelo menos 6 caracteres, tente novamente.\n"
+msgstr "A senha deve ter pelo menos 6 caracteres; tente novamente.\n"
 
-#: login-utils/passwd.c:176
+#: login-utils/passwd.c:174
 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"
 
-#: login-utils/passwd.c:177
+#: login-utils/passwd.c:175
 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"
 
-#: login-utils/passwd.c:178
+#: login-utils/passwd.c:176
 msgid "characters. See passwd(1) for more information.\n"
-msgstr "Veja passwd(1) para maiores informações.\n"
+msgstr "Consulte passwd(1) para maiores informações.\n"
 
-#: login-utils/passwd.c:183
+#: login-utils/passwd.c:181
 msgid "You cannot reuse the old password.\n"
 msgstr "Você não pode reutilizar a senha antiga.\n"
 
-#: login-utils/passwd.c:188
+#: login-utils/passwd.c:186
 msgid "Please don't use something like your username as password!\n"
-msgstr ""
+msgstr "Não use algo como seu nome de usuário como senha!\n"
 
-#: login-utils/passwd.c:199 login-utils/passwd.c:206
+#: login-utils/passwd.c:197 login-utils/passwd.c:204
 msgid "Please don't use something like your realname as password!\n"
-msgstr ""
+msgstr "Não use algo como seu nome real como senha!\n"
 
-#: login-utils/passwd.c:223
+#: login-utils/passwd.c:221
 msgid "Usage: passwd [username [password]]\n"
-msgstr ""
+msgstr "Uso: passwd [nome_usuário [senha]]\n"
 
-#: login-utils/passwd.c:224
+#: login-utils/passwd.c:222
 msgid "Only root may use the one and two argument forms.\n"
-msgstr ""
+msgstr "Somente root pode usar os formatos de um e dois argumentos.\n"
 
-#: login-utils/passwd.c:280
+#: login-utils/passwd.c:278
 msgid "Usage: passwd [-foqsvV] [user [password]]\n"
-msgstr ""
+msgstr "Uso: passwd [-foqsvV] [nome_usuário [senha]]\n"
 
-#: login-utils/passwd.c:301
+#: login-utils/passwd.c:299
 #, c-format
 msgid "Can't exec %s: %s\n"
-msgstr ""
+msgstr "Não foi possível exec %s: %s\n"
 
-#: login-utils/passwd.c:312
+#: login-utils/passwd.c:310
 msgid "Cannot find login name"
-msgstr ""
+msgstr "Não foi possível localizar o nome de login"
 
-#: login-utils/passwd.c:319 login-utils/passwd.c:326
+#: login-utils/passwd.c:317 login-utils/passwd.c:324
 msgid "Only root can change the password for others.\n"
-msgstr ""
+msgstr "Somente root pode alterar senhas de terceiros.\n"
 
-#: login-utils/passwd.c:334
+#: login-utils/passwd.c:332
 msgid "Too many arguments.\n"
 msgstr "Número excessivo de argumentos.\n"
 
-#: login-utils/passwd.c:339
+#: login-utils/passwd.c:337
 #, c-format
 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?"
 
-#: login-utils/passwd.c:343
+#: login-utils/passwd.c:341
 msgid "Sorry, I can only change local passwords. Use yppasswd instead."
-msgstr ""
+msgstr "Eu só posso alterar senhas locais. Use yppasswd."
 
-#: login-utils/passwd.c:349
+#: login-utils/passwd.c:347
 msgid "UID and username does not match, imposter!"
-msgstr ""
+msgstr "Nome de usuário e UID não correspondem, impostor!"
 
-#: login-utils/passwd.c:354
+#: login-utils/passwd.c:352
 #, c-format
 msgid "Changing password for %s\n"
-msgstr "Modificando a senha para o usuário %s\n"
+msgstr "Alterando a senha para o usuário %s\n"
 
-#: login-utils/passwd.c:358
+#: login-utils/passwd.c:356
 msgid "Enter old password: "
 msgstr "Informe a senha anterior: "
 
-#: login-utils/passwd.c:360
+#: login-utils/passwd.c:358
 msgid "Illegal password, imposter."
 msgstr "Senha incorreta, impostor."
 
-#: login-utils/passwd.c:372
+#: login-utils/passwd.c:370
 msgid "Enter new password: "
-msgstr "Informa a nova senha: "
+msgstr "Informe a nova senha: "
 
-#: login-utils/passwd.c:374
+#: login-utils/passwd.c:372
 msgid "Password not changed."
-msgstr "A senha NÃO foi modificada."
+msgstr "A senha NÃO foi alterada."
 
-#: login-utils/passwd.c:384
+#: login-utils/passwd.c:382
 msgid "Re-type new password: "
 msgstr "Redigite a nova senha: "
 
-#: login-utils/passwd.c:387
+#: login-utils/passwd.c:385
 msgid "You misspelled it. Password not changed."
-msgstr "Você não a informou corretamente. A senha NÃO foi modificada."
+msgstr "Você não a informou corretamente. A senha não foi alterada."
 
-#: login-utils/passwd.c:402
+#: login-utils/passwd.c:400
 #, c-format
 msgid "password changed, user %s"
-msgstr "senha modificada, usuário %s"
+msgstr "senha alterada, usuário %s"
 
-#: login-utils/passwd.c:405
+#: login-utils/passwd.c:403
 msgid "ROOT PASSWORD CHANGED"
-msgstr "A SENHA DO ROOT FOI MODIFICADA"
+msgstr "A SENHA DO ROOT FOI ALTERADA"
 
-#: login-utils/passwd.c:407
+#: login-utils/passwd.c:405
 #, c-format
 msgid "password changed by root, user %s"
-msgstr "senha modificada pelo root, usuário %s"
+msgstr "senha alterada pelo root, usuário %s"
 
-#: login-utils/passwd.c:414
+#: login-utils/passwd.c:412
 msgid "calling setpwnam to set password.\n"
-msgstr ""
+msgstr "chamando setpwnam para definir a senha.\n"
 
-#: login-utils/passwd.c:418
+#: login-utils/passwd.c:416
 msgid "Password *NOT* changed.  Try again later.\n"
-msgstr "A senha *NÃO* foi modificada. Tente novamente mais tarde.\n"
+msgstr "A senha *NÃO* foi alterada. Tente novamente mais tarde.\n"
 
-#: login-utils/passwd.c:424
+#: login-utils/passwd.c:422
 msgid "Password changed.\n"
-msgstr "Senha modificada.\n"
+msgstr "Senha alterada.\n"
 
 #: login-utils/shutdown.c:85
 msgid "Usage: shutdown [-h|-r] [-fqs] [now|hh:ss|+mins]\n"
-msgstr ""
+msgstr "Uso: shutdown [-h|-r] [-fqs] [now|hh:ss|+mins]\n"
 
 #: login-utils/shutdown.c:103
 msgid "Shutdown process aborted"
-msgstr ""
+msgstr "Processo de desligamento abortado"
 
 #: login-utils/shutdown.c:125
 #, c-format
 msgid "%s: Only root can shut a system down.\n"
-msgstr ""
+msgstr "%s: somente o root pode desligar um sistema.\n"
 
 #: login-utils/shutdown.c:219
 msgid "That must be tomorrow, can't you wait till then?\n"
-msgstr ""
+msgstr "Isto precisa ser amanhã. Você pode esperar?\n"
 
 #: login-utils/shutdown.c:271
 msgid "for maintenance; bounce, bounce"
-msgstr ""
+msgstr "para manutenção; bounce, bounce"
 
 #: login-utils/shutdown.c:275
 #, c-format
 msgid "timeout = %d, quiet = %d, reboot = %d\n"
-msgstr ""
+msgstr "timeout = %d, quiet = %d, reboot = %d\n"
 
 #: login-utils/shutdown.c:300
 msgid "The system is being shut down within 5 minutes"
-msgstr ""
+msgstr "O sistema será desligado dentro de 5 minutos"
 
 #: login-utils/shutdown.c:304
 msgid "Login is therefore prohibited."
-msgstr ""
+msgstr "Assim, logins estão proibidos."
 
 #: login-utils/shutdown.c:325
 #, c-format
 msgid "%s by %s: %s"
-msgstr ""
+msgstr "%s por %s: %s"
 
 #: login-utils/shutdown.c:326
 msgid "rebooted"
-msgstr ""
+msgstr "reinicializado"
 
 #: login-utils/shutdown.c:326
 msgid "halted"
-msgstr ""
+msgstr "parado"
 
 #. RB_AUTOBOOT
 #: login-utils/shutdown.c:377
@@ -5572,344 +6167,353 @@ 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:379
 msgid ""
 "\n"
 "Now you can turn off the power..."
 msgstr ""
+"\n"
+"Agora você pode desligar a energia..."
 
 #: login-utils/shutdown.c:394
 msgid "Calling kernel power-off facility...\n"
-msgstr ""
+msgstr "Chamando recurso de desligamento do kernel...\n"
 
 #: login-utils/shutdown.c:397
 #, c-format
 msgid "Error powering off\t%s\n"
-msgstr ""
+msgstr "Erro ao desligar\t%s\n"
 
 #: login-utils/shutdown.c:405
 #, c-format
 msgid "Executing the program \"%s\" ...\n"
-msgstr ""
+msgstr "Executando o programa \"%s\" ...\n"
 
 #: login-utils/shutdown.c:408
 #, c-format
 msgid "Error executing\t%s\n"
-msgstr ""
+msgstr "Erro ao executar\t%s\n"
 
 #: login-utils/shutdown.c:431
 #, c-format
 msgid "\aURGENT: broadcast message from %s:"
-msgstr ""
+msgstr "\aURGENTE: mensagem de broadcast de %s:"
 
 #: login-utils/shutdown.c:437
 msgid "System going down IMMEDIATELY!\n"
-msgstr ""
+msgstr "O sistema será desligado IMEDIATAMENTE!\n"
 
 #: login-utils/shutdown.c:440
 #, c-format
 msgid "System going down in %d hour%s %d minutes"
-msgstr ""
+msgstr "O sistema será desligado em %d hora%s e %d minuto(s)"
 
 #: login-utils/shutdown.c:441 login-utils/shutdown.c:444
 msgid "s"
-msgstr ""
+msgstr "s"
 
 #: login-utils/shutdown.c:443
 #, c-format
 msgid "System going down in %d minute%s\n"
-msgstr ""
+msgstr "O sistema será desligado em minuto%s\n"
 
 #: login-utils/shutdown.c:449
 #, c-format
 msgid "\t... %s ...\n"
-msgstr ""
+msgstr "\t... %s ...\n"
 
 #: login-utils/shutdown.c:506
 msgid "Cannot fork for swapoff. Shrug!"
-msgstr ""
+msgstr "Não é possível fazer fork para swapoff. Droga!"
 
 #: login-utils/shutdown.c:514
 msgid "Cannot exec swapoff, hoping umount will do the trick."
-msgstr ""
+msgstr "Não é possível exec swapoff. Esperando que umount resolva o problema."
 
 #: login-utils/shutdown.c:533
 msgid "Cannot fork for umount, trying manually."
-msgstr ""
+msgstr "Não é possível fazer fork para umount; tentando manualmente."
 
 #: login-utils/shutdown.c:542
 #, c-format
 msgid "Cannot exec %s, trying umount.\n"
-msgstr ""
+msgstr "Não é possível exec %s; tentando umount.\n"
 
 #: login-utils/shutdown.c:546
 msgid "Cannot exec umount, giving up on umount."
-msgstr ""
+msgstr "Não é possível exec umount; desistindo de umount."
 
 #: login-utils/shutdown.c:551
 msgid "Unmounting any remaining filesystems..."
-msgstr ""
+msgstr "Desmontando quaisquer sistemas de arquivos remanescentes..."
 
 #: login-utils/shutdown.c:587
 #, c-format
 msgid "shutdown: Couldn't umount %s\n"
-msgstr ""
+msgstr "shutdown: não foi possível desmontar %s.\n"
 
 #: login-utils/simpleinit.c:79
 msgid "Booting to single user mode.\n"
-msgstr ""
+msgstr "Inicializando em modo monousuário.\n"
 
 #: login-utils/simpleinit.c:83
 msgid "exec of single user shell failed\n"
-msgstr ""
+msgstr "exec de interpretador de comandos monousuário falhou\n"
 
 #: login-utils/simpleinit.c:87
 msgid "fork of single user shell failed\n"
-msgstr ""
+msgstr "fork de interpretador de comandos monousuário falhou\n"
 
 #: login-utils/simpleinit.c:226
 msgid ""
 "\n"
 "Wrong password.\n"
 msgstr ""
+"\n"
+"Senha incorreta.\n"
 
 #: login-utils/simpleinit.c:252
 msgid "exec rc failed\n"
-msgstr ""
+msgstr "exec rc falhou\n"
 
 #: login-utils/simpleinit.c:255
 msgid "open of rc file failed\n"
-msgstr ""
+msgstr "a abertura de arquivo de rc falhou\n"
 
 #: login-utils/simpleinit.c:261
 msgid "fork of rc shell failed\n"
-msgstr ""
+msgstr "o fork de interpretador de comandos de rc falhou\n"
 
 #: login-utils/simpleinit.c:273
 msgid "fork failed\n"
-msgstr ""
+msgstr "o fork falhou\n"
 
 #: login-utils/simpleinit.c:302 text-utils/more.c:1549
 msgid "exec failed\n"
-msgstr ""
+msgstr "exec falhou\n"
 
 #: login-utils/simpleinit.c:324
 msgid "cannot open inittab\n"
-msgstr ""
+msgstr "não foi possível abrir inittab\n"
 
 #: login-utils/simpleinit.c:362
 msgid "no TERM or cannot stat tty\n"
-msgstr ""
+msgstr "sem TERM ou não é possível stat tty\n"
 
 #: login-utils/ttymsg.c:81
 msgid "too many iov's (change code in wall/ttymsg.c)"
-msgstr ""
+msgstr "número excessivo de iovs (altere o código de wall/ttymsg.c)"
 
 #: login-utils/ttymsg.c:91
 msgid "excessively long line arg"
-msgstr ""
+msgstr "linha de argumentos longa demais"
 
 #: login-utils/ttymsg.c:145
 msgid "cannot fork"
-msgstr ""
+msgstr "não foi possível realizar fork"
 
 #: login-utils/ttymsg.c:149
 #, c-format
 msgid "fork: %s"
-msgstr ""
+msgstr "fork: %s"
 
 #: login-utils/ttymsg.c:177
 #, c-format
 msgid "%s: BAD ERROR"
-msgstr ""
+msgstr "%s: ERRO GRAVE"
 
 #: login-utils/vipw.c:149
 #, c-format
 msgid "%s: the %s file is busy.\n"
-msgstr ""
+msgstr "%s: o arquivo %s está ocupado.\n"
 
 #: login-utils/vipw.c:165
 #, c-format
 msgid "%s: the %s file is busy (%s present)\n"
-msgstr ""
+msgstr "%s: o arquivo %s está ocupado (%s presente).\n"
 
 #: login-utils/vipw.c:171
 #, c-format
 msgid "%s: can't link %s: %s\n"
-msgstr ""
+msgstr "%s: não foi possível vincular %s: %s\n"
 
 #: login-utils/vipw.c:193
 #, 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:217
 #, c-format
 msgid "%s: Cannot fork\n"
-msgstr ""
+msgstr "%s: não foi possível realizar fork\n"
 
 #: login-utils/vipw.c:257
 #, c-format
 msgid "%s: %s unchanged\n"
-msgstr "%s: %s não foi modificada\n"
+msgstr "%s: %s inalterado\n"
 
 #: login-utils/vipw.c:300
 #, c-format
 msgid "%s: no changes made\n"
-msgstr ""
+msgstr "%s: nenhuma alteração realizada\n"
 
 #: login-utils/wall.c:103
-#, fuzzy, c-format
+#, c-format
 msgid "usage: %s [file]\n"
-msgstr "Uso: script [-a] [arquivo]\n"
+msgstr "Uso: %s [arquivo]\n"
 
 #: login-utils/wall.c:151
 #, c-format
 msgid "%s: can't open temporary file.\n"
-msgstr ""
+msgstr "%s: não foi possível abrir arquivo temporário.\n"
 
 #: login-utils/wall.c:178
 #, c-format
 msgid "Broadcast Message from %s@%s"
-msgstr ""
+msgstr "Mensagem de broadcast de %s@%s"
 
 #: login-utils/wall.c:188
 #, c-format
 msgid "%s: can't read %s.\n"
-msgstr ""
+msgstr "%s: não foi possível ler %s.\n"
 
 #: login-utils/wall.c:213
 #, c-format
 msgid "%s: can't stat temporary file.\n"
-msgstr ""
+msgstr "%s: não foi possível stat arquivo temporário.\n"
 
 #: login-utils/wall.c:222
 #, c-format
 msgid "%s: can't read temporary file.\n"
-msgstr ""
+msgstr "%s: não foi possível ler arquivo temporário.\n"
 
-#: misc-utils/cal.c:184
+#: misc-utils/cal.c:189
 msgid "illegal month value: use 1-12"
-msgstr ""
+msgstr "valor de mês inválido: use 1-12"
 
-#: misc-utils/cal.c:188
+#: misc-utils/cal.c:193
 msgid "illegal year value: use 1-9999"
-msgstr ""
+msgstr "valor de ano inválido: use 1-9999"
 
-#: misc-utils/cal.c:484
-msgid "usage: cal [-mjy] [[month] year]\n"
-msgstr ""
+#: misc-utils/cal.c:489
+msgid "usage: cal [-mjyV] [[month] year]\n"
+msgstr "Uso: cal [-mjyV] [[mês] ano]\n"
 
-#: misc-utils/ddate.c:184
+#: misc-utils/ddate.c:192
 #, c-format
 msgid "usage: %s [+format] [day month year]\n"
-msgstr ""
+msgstr "Uso: %s [+formato] [dia mês ano]\n"
 
 #. handle St. Tib's Day
-#: misc-utils/ddate.c:230
+#: misc-utils/ddate.c:238
 msgid "St. Tib's Day"
-msgstr ""
+msgstr "Dia de São Tib"
 
-#: misc-utils/kill.c:199
+#: misc-utils/kill.c:209
 #, c-format
 msgid "%s: unknown signal %s\n"
-msgstr ""
+msgstr "%s: sinal desconhecido %s\n"
 
-#: misc-utils/kill.c:261
+#: misc-utils/kill.c:271
 #, c-format
 msgid "%s: can't find process \"%s\"\n"
-msgstr ""
+msgstr "%s: não foi possível localizar o processo \"%s\"\n"
 
-#: misc-utils/kill.c:303
+#: misc-utils/kill.c:315
 #, c-format
 msgid "%s: unknown signal %s; valid signals:\n"
-msgstr ""
+msgstr "%s: sinal desconhecido %s; sinais válidos:\n"
 
-#: misc-utils/kill.c:343
+#: misc-utils/kill.c:355
 #, c-format
 msgid "usage: %s [ -s signal | -p ] [ -a ] pid ...\n"
-msgstr ""
+msgstr "Uso: %s [ -s sinal | -p ] [ -a ] pid ...\n"
 
-#: misc-utils/kill.c:344
+#: misc-utils/kill.c:356
 #, c-format
 msgid "       %s -l [ signal ]\n"
-msgstr ""
+msgstr "       %s -l [ sinal ]\n"
 
 #: misc-utils/logger.c:144
 #, c-format
 msgid "logger: %s: %s.\n"
-msgstr ""
+msgstr "logger: %s: %s.\n"
 
-#: misc-utils/logger.c:241
+#: misc-utils/logger.c:248
 #, c-format
 msgid "logger: unknown facility name: %s.\n"
-msgstr ""
+msgstr "logger: nome de recurso desconhecido: %s.\n"
 
-#: misc-utils/logger.c:253
+#: misc-utils/logger.c:260
 #, c-format
 msgid "logger: unknown priority name: %s.\n"
-msgstr ""
+msgstr "logger: nome de prioridade desconhecido: %s.\n"
 
-#: misc-utils/logger.c:280
+#: misc-utils/logger.c:287
 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:340
+#: misc-utils/look.c:336
 msgid "usage: look [-dfa] [-t char] string [file]\n"
-msgstr ""
+msgstr "Uso: look [-dfa] [-t char] string [arquivo]\n"
 
 #: misc-utils/mcookie.c:122 misc-utils/mcookie.c:149
 #, c-format
 msgid "Could not open %s\n"
-msgstr ""
+msgstr "Não foi possível abrir %s\n"
 
 #: misc-utils/mcookie.c:126 misc-utils/mcookie.c:145
 #, c-format
 msgid "Got %d bytes from %s\n"
-msgstr ""
+msgstr "Obtidos %d bytes de %s\n"
 
 #: misc-utils/namei.c:107
 #, c-format
 msgid "namei: unable to get current directory - %s\n"
-msgstr ""
+msgstr "namei: não foi possível obter o diretório atual - %s\n"
 
 #: misc-utils/namei.c:118
 #, c-format
 msgid "namei: unable to chdir to %s - %s (%d)\n"
-msgstr ""
+msgstr "namei: não foi possível mudar para o diretório %s - %s (%d)\n"
 
 #: misc-utils/namei.c:128
 msgid "usage: namei [-mx] pathname [pathname ...]\n"
-msgstr ""
+msgstr "Uso: namei [-mx] nome_caminho [nome_caminho ...]\n"
 
 #: misc-utils/namei.c:157
 msgid "namei: could not chdir to root!\n"
-msgstr ""
+msgstr "namei: não foi possível mudar para o diretório raiz!\n"
 
 #: misc-utils/namei.c:164
 msgid "namei: could not stat root!\n"
-msgstr ""
+msgstr "namei: não foi possível stat raiz!\n"
 
 #: misc-utils/namei.c:219
 #, c-format
 msgid " ? could not chdir into %s - %s (%d)\n"
-msgstr ""
+msgstr " ? não foi possível mudar para o diretório %s - %s (%d)\n"
 
 #: misc-utils/namei.c:248
 #, c-format
 msgid " ? problems reading symlink %s - %s (%d)\n"
-msgstr ""
+msgstr " ? problemas ao ler link simbólico %s - %s (%d)\n"
 
 #: misc-utils/namei.c:258
-msgid "  *** EXCEEDED UNIX LIMIT OF SYMLINKS ***"
-msgstr ""
+msgid "  *** EXCEEDED UNIX LIMIT OF SYMLINKS ***\n"
+msgstr "  *** LIMITE DE LINKS SIMBÓLICOS DO UNIX EXCEDIDO ***\n"
 
-#: misc-utils/namei.c:294
+#: misc-utils/namei.c:295
 #, c-format
 msgid "namei: unknown file type 0%06o on file %s\n"
-msgstr ""
+msgstr "namei: tipo de arquivo desconhecido 0%06o no arquivo %s\n"
 
 #: misc-utils/script.c:109
 msgid "usage: script [-a] [file]\n"
@@ -5918,12 +6522,12 @@ msgstr "Uso: script [-a] [arquivo]\n"
 #: misc-utils/script.c:129
 #, c-format
 msgid "Script started, file is %s\n"
-msgstr ""
+msgstr "Script iniciado, o arquivo é %s\n"
 
 #: misc-utils/script.c:198
 #, c-format
-msgid "Script started on %s"
-msgstr ""
+msgid "Script started on %s\n"
+msgstr "Script iniciado em %s\n"
 
 #: misc-utils/script.c:264
 #, c-format
@@ -5931,327 +6535,309 @@ msgid ""
 "\n"
 "Script done on %s"
 msgstr ""
+"\n"
+"Script concluído em %s"
 
 #: misc-utils/script.c:269
 #, c-format
 msgid "Script done, file is %s\n"
-msgstr ""
+msgstr "Script concluído, o arquivo é %s\n"
 
 #: misc-utils/script.c:281
 msgid "openpty failed\n"
-msgstr ""
+msgstr "openpty falhou\n"
 
 #: misc-utils/script.c:315
 msgid "Out of pty's\n"
-msgstr ""
+msgstr "ptys esgotados\n"
 
 #. Print error message about arguments, and the command's syntax.
-#: misc-utils/setterm.c:745
+#: misc-utils/setterm.c:713
 #, c-format
 msgid "%s: Argument error, usage\n"
-msgstr ""
+msgstr "%s: erro de argumento; uso\n"
 
-#: misc-utils/setterm.c:748
+#: misc-utils/setterm.c:716
 msgid "  [ -term terminal_name ]\n"
-msgstr ""
+msgstr "  [ -term nome_terminal ]\n"
 
-#: misc-utils/setterm.c:749
+#: misc-utils/setterm.c:717
 msgid "  [ -reset ]\n"
-msgstr ""
+msgstr "  [ -reset ]\n"
 
-#: misc-utils/setterm.c:750
+#: misc-utils/setterm.c:718
 msgid "  [ -initialize ]\n"
-msgstr ""
+msgstr "  [ -initialize ]\n"
 
-#: misc-utils/setterm.c:751
+#: misc-utils/setterm.c:719
 msgid "  [ -cursor [on|off] ]\n"
-msgstr ""
+msgstr "  [ -cursor [on|off] ]\n"
 
-#: misc-utils/setterm.c:753
+#: misc-utils/setterm.c:721
 msgid "  [ -snow [on|off] ]\n"
-msgstr ""
+msgstr "  [ -snow [on|off] ]\n"
 
-#: misc-utils/setterm.c:754
+#: misc-utils/setterm.c:722
 msgid "  [ -softscroll [on|off] ]\n"
-msgstr ""
-
-#: misc-utils/setterm.c:755
-msgid "  [ -keyboard pc|olivetti|dutch|extended ]\n"
-msgstr ""
+msgstr "  [ -softscroll [on|off] ]\n"
 
-#: misc-utils/setterm.c:757
+#: misc-utils/setterm.c:724
 msgid "  [ -repeat [on|off] ]\n"
-msgstr ""
+msgstr "  [ -repeat [on|off] ]\n"
 
-#: misc-utils/setterm.c:758
+#: misc-utils/setterm.c:725
 msgid "  [ -appcursorkeys [on|off] ]\n"
-msgstr ""
+msgstr "  [ -appcursorkeys [on|off] ]\n"
 
-#: misc-utils/setterm.c:759
+#: misc-utils/setterm.c:726
 msgid "  [ -linewrap [on|off] ]\n"
-msgstr ""
+msgstr "  [ -linewrap [on|off] ]\n"
 
-#: misc-utils/setterm.c:760
+#: misc-utils/setterm.c:727
 msgid "  [ -default ]\n"
-msgstr ""
+msgstr "  [ -default ]\n"
 
-#: misc-utils/setterm.c:761
+#: misc-utils/setterm.c:728
 msgid "  [ -foreground black|blue|green|cyan"
-msgstr ""
+msgstr "  [ -foreground black|blue|green|cyan"
 
-#: misc-utils/setterm.c:762 misc-utils/setterm.c:764
+#: misc-utils/setterm.c:729 misc-utils/setterm.c:731
 msgid "|red|magenta|yellow|white|default ]\n"
-msgstr ""
+msgstr "|red|magenta|yellow|white|default ]\n"
 
-#: misc-utils/setterm.c:763
+#: misc-utils/setterm.c:730
 msgid "  [ -background black|blue|green|cyan"
-msgstr ""
+msgstr "  [ -background black|blue|green|cyan"
 
-#: misc-utils/setterm.c:765
+#: misc-utils/setterm.c:732
 msgid "  [ -ulcolor black|grey|blue|green|cyan"
-msgstr ""
+msgstr "  [ -ulcolor black|grey|blue|green|cyan"
 
-#: misc-utils/setterm.c:766 misc-utils/setterm.c:768 misc-utils/setterm.c:770
-#: misc-utils/setterm.c:772
+#: misc-utils/setterm.c:733 misc-utils/setterm.c:735 misc-utils/setterm.c:737
+#: misc-utils/setterm.c:739
 msgid "|red|magenta|yellow|white ]\n"
-msgstr ""
+msgstr "|red|magenta|yellow|white ]\n"
 
-#: misc-utils/setterm.c:767
+#: misc-utils/setterm.c:734
 msgid "  [ -ulcolor bright blue|green|cyan"
-msgstr ""
+msgstr "  [ -ulcolor bright blue|green|cyan"
 
-#: misc-utils/setterm.c:769
+#: misc-utils/setterm.c:736
 msgid "  [ -hbcolor black|grey|blue|green|cyan"
-msgstr ""
+msgstr "  [ -hbcolor black|grey|blue|green|cyan"
 
-#: misc-utils/setterm.c:771
+#: misc-utils/setterm.c:738
 msgid "  [ -hbcolor bright blue|green|cyan"
-msgstr ""
+msgstr "  [ -hbcolor bright blue|green|cyan"
 
-#: misc-utils/setterm.c:774
+#: misc-utils/setterm.c:741
 msgid "  [ -standout [ attr ] ]\n"
-msgstr ""
+msgstr "  [ -standout [ attr ] ]\n"
 
-#: misc-utils/setterm.c:776
+#: misc-utils/setterm.c:743
 msgid "  [ -inversescreen [on|off] ]\n"
-msgstr ""
+msgstr "  [ -inversescreen [on|off] ]\n"
 
-#: misc-utils/setterm.c:777
+#: misc-utils/setterm.c:744
 msgid "  [ -bold [on|off] ]\n"
-msgstr ""
+msgstr "  [ -bold [on|off] ]\n"
 
-#: misc-utils/setterm.c:778
+#: misc-utils/setterm.c:745
 msgid "  [ -half-bright [on|off] ]\n"
-msgstr ""
+msgstr "  [ -half-bright [on|off] ]\n"
 
-#: misc-utils/setterm.c:779
+#: misc-utils/setterm.c:746
 msgid "  [ -blink [on|off] ]\n"
-msgstr ""
+msgstr "  [ -blink [on|off] ]\n"
 
-#: misc-utils/setterm.c:780
+#: misc-utils/setterm.c:747
 msgid "  [ -reverse [on|off] ]\n"
-msgstr ""
+msgstr "  [ -reverse [on|off] ]\n"
 
-#: misc-utils/setterm.c:781
+#: misc-utils/setterm.c:748
 msgid "  [ -underline [on|off] ]\n"
-msgstr ""
+msgstr "  [ -underline [on|off] ]\n"
 
-#: misc-utils/setterm.c:782
+#: misc-utils/setterm.c:749
 msgid "  [ -store ]\n"
-msgstr ""
+msgstr "  [ -store ]\n"
 
-#: misc-utils/setterm.c:783
+#: misc-utils/setterm.c:750
 msgid "  [ -clear [all|rest] ]\n"
-msgstr ""
+msgstr "  [ -clear [all|rest] ]\n"
 
-#: misc-utils/setterm.c:784
+#: misc-utils/setterm.c:751
 msgid "  [ -tabs [ tab1 tab2 tab3 ... ] ]      (tabn = 1-160)\n"
-msgstr ""
+msgstr "  [ -tabs [ tab1 tab2 tab3 ... ] ]      (tabn = 1-160)\n"
 
-#: misc-utils/setterm.c:785
+#: misc-utils/setterm.c:752
 msgid "  [ -clrtabs [ tab1 tab2 tab3 ... ] ]   (tabn = 1-160)\n"
-msgstr ""
+msgstr "  [ -clrtabs [ tab1 tab2 tab3 ... ] ]   (tabn = 1-160)\n"
 
-#: misc-utils/setterm.c:786
+#: misc-utils/setterm.c:753
 msgid "  [ -regtabs [1-160] ]\n"
-msgstr ""
+msgstr "  [ -regtabs [1-160] ]\n"
 
-#: misc-utils/setterm.c:787
+#: misc-utils/setterm.c:754
 msgid "  [ -blank [0-60] ]\n"
-msgstr ""
+msgstr "  [ -blank [0-60] ]\n"
 
-#: misc-utils/setterm.c:788
+#: misc-utils/setterm.c:755
 msgid "  [ -dump   [1-NR_CONSOLES] ]\n"
-msgstr ""
+msgstr "  [ -dump   [1-NUM_CONSOLES] ]\n"
 
-#: misc-utils/setterm.c:789
+#: misc-utils/setterm.c:756
 msgid "  [ -append [1-NR_CONSOLES] ]\n"
-msgstr ""
+msgstr "  [ -append [1-NUM_CONSOLES] ]\n"
 
-#: misc-utils/setterm.c:790
+#: misc-utils/setterm.c:757
 msgid "  [ -file dumpfilename ]\n"
-msgstr ""
+msgstr "  [ -file arquivo_descarga ]\n"
 
-#: misc-utils/setterm.c:791
+#: misc-utils/setterm.c:758
 msgid "  [ -msg [on|off] ]\n"
-msgstr ""
+msgstr "  [ -msg [on|off] ]\n"
 
-#: misc-utils/setterm.c:792
+#: misc-utils/setterm.c:759
 msgid "  [ -msglevel [0-8] ]\n"
-msgstr ""
+msgstr "  [ -msglevel [0-8] ]\n"
 
-#: misc-utils/setterm.c:793
+#: misc-utils/setterm.c:760
 msgid "  [ -powersave [on|vsync|hsync|powerdown|off] ]\n"
-msgstr ""
+msgstr "  [ -powersave [on|vsync|hsync|powerdown|off] ]\n"
 
-#: misc-utils/setterm.c:794
+#: misc-utils/setterm.c:761
 msgid "  [ -powerdown [0-60] ]\n"
-msgstr ""
+msgstr "  [ -powerdown [0-60] ]\n"
 
-#: misc-utils/setterm.c:795
+#: misc-utils/setterm.c:762
 msgid "  [ -blength [0-2000] ]\n"
-msgstr ""
+msgstr "  [ -blength [0-2000] ]\n"
 
-#: misc-utils/setterm.c:796
+#: misc-utils/setterm.c:763
 msgid "  [ -bfreq freqnumber ]\n"
-msgstr ""
-
-#: misc-utils/setterm.c:841
-msgid "keyboard.pc"
-msgstr ""
-
-#: misc-utils/setterm.c:844
-msgid "keyboard.olivetti"
-msgstr ""
+msgstr "  [ -bfreq num_freq ]\n"
 
-#: misc-utils/setterm.c:847
-msgid "keyboard.dutch"
-msgstr ""
-
-#: misc-utils/setterm.c:850
-msgid "keyboard.extended"
-msgstr ""
-
-#: misc-utils/setterm.c:884
+#: misc-utils/setterm.c:831
 msgid "snow.on"
-msgstr ""
+msgstr "snow.on"
 
-#: misc-utils/setterm.c:886
+#: misc-utils/setterm.c:833
 msgid "snow.off"
-msgstr ""
+msgstr "snow.off"
 
-#: misc-utils/setterm.c:892
+#: misc-utils/setterm.c:839
 msgid "softscroll.on"
-msgstr ""
+msgstr "softscroll.on"
 
-#: misc-utils/setterm.c:894
+#: misc-utils/setterm.c:841
 msgid "softscroll.off"
-msgstr ""
+msgstr "softscroll.off"
 
-#: misc-utils/setterm.c:1069
+#: misc-utils/setterm.c:1016
 msgid "cannot (un)set powersave mode\n"
-msgstr ""
+msgstr "não é possível alterar o estado do modo de conservação de energia\n"
 
-#: misc-utils/setterm.c:1108 misc-utils/setterm.c:1116
+#: misc-utils/setterm.c:1055 misc-utils/setterm.c:1063
 #, c-format
 msgid "klogctl error: %s\n"
-msgstr ""
+msgstr "erro de klogctl: %s\n"
 
-#: misc-utils/setterm.c:1157
+#: misc-utils/setterm.c:1104
 #, c-format
 msgid "Error reading %s\n"
-msgstr ""
+msgstr "Erro ao ler %s\n"
 
-#: misc-utils/setterm.c:1172
+#: misc-utils/setterm.c:1119
 msgid "Error writing screendump\n"
-msgstr ""
+msgstr "Erro ao gravar descarga de tela\n"
 
-#: misc-utils/setterm.c:1186
+#: misc-utils/setterm.c:1133
 #, c-format
 msgid "couldn't read %s, and cannot ioctl dump\n"
-msgstr ""
+msgstr "não foi possível ler %s e não é possível realizar ioctl da descarga\n"
 
-#: misc-utils/setterm.c:1251
+#: misc-utils/setterm.c:1198
 #, c-format
 msgid "%s: $TERM is not defined.\n"
-msgstr ""
+msgstr "%s: $TERM indefinido.\n"
 
-#: misc-utils/tsort.c:119
+#: misc-utils/tsort.c:120
 msgid "usage: tsort [ inputfile ]\n"
-msgstr ""
+msgstr "Uso: tsort [ arquivo_entrada ]\n"
 
-#: misc-utils/tsort.c:156
+#: misc-utils/tsort.c:157
 msgid "tsort: odd data count.\n"
-msgstr ""
+msgstr "tsort: contagem de dados incomum.\n"
 
-#: misc-utils/tsort.c:321
+#: misc-utils/tsort.c:320
 msgid "tsort: cycle in data.\n"
-msgstr ""
+msgstr "tsort: ciclo nos dados.\n"
 
-#: misc-utils/tsort.c:334
+#: misc-utils/tsort.c:333
 msgid "tsort: internal error -- could not find cycle.\n"
-msgstr ""
+msgstr "tsort: erro interno -- não foi possível localizar o ciclo.\n"
 
 #: misc-utils/whereis.c:158
 msgid "whereis [ -sbmu ] [ -SBM dir ... -f ] name...\n"
-msgstr ""
+msgstr "whereis [ -sbmu ] [ -SBM dir ... -f ] nome...\n"
 
 #: misc-utils/write.c:99
 msgid "write: can't find your tty's name\n"
-msgstr ""
+msgstr "write: não foi possível localizar o nome do tty\n"
 
 #: misc-utils/write.c:110
 msgid "write: you have write permission turned off.\n"
-msgstr ""
+msgstr "write: sua permissão de gravação está desativada.\n"
 
 #: misc-utils/write.c:131
 #, c-format
 msgid "write: %s is not logged in on %s.\n"
-msgstr ""
+msgstr "write: %s não está conectado em %s.\n"
 
 #: misc-utils/write.c:139
 #, c-format
 msgid "write: %s has messages disabled on %s\n"
-msgstr ""
+msgstr "write: %s - mensagens desativadas em %s\n"
 
 #: misc-utils/write.c:146
 msgid "usage: write user [tty]\n"
-msgstr ""
+msgstr "Uso: write usuário [tty]\n"
 
 #: misc-utils/write.c:245
 #, c-format
 msgid "write: %s is not logged in\n"
-msgstr ""
+msgstr "write: %s não está conectado.\n"
 
 #: misc-utils/write.c:254
 #, c-format
 msgid "write: %s has messages disabled\n"
-msgstr ""
+msgstr "write: %s - mensagens desativadas\n"
 
 #: misc-utils/write.c:258
 #, c-format
 msgid "write: %s is logged in more than once; writing to %s\n"
-msgstr ""
+msgstr "write: %s está conectado mais de uma vez; escrevendo para %s\n"
 
 #: misc-utils/write.c:325
 #, c-format
 msgid "Message from %s@%s on %s at %s ..."
-msgstr ""
+msgstr "Mensagem de %s@%s em %s em %s ..."
 
 #: mount/fstab.c:116
 #, c-format
 msgid "warning: error reading %s: %s"
-msgstr ""
+msgstr "Aviso: erro ao ler %s: %s"
 
 #: mount/fstab.c:143 mount/fstab.c:166
 #, c-format
 msgid "warning: can't open %s: %s"
-msgstr "Atenção: não foi possível abrir %s: %s"
+msgstr "Aviso: não foi possível abrir %s: %s"
 
 #: mount/fstab.c:147
 #, c-format
 msgid "mount: could not open %s - using %s instead\n"
-msgstr ""
+msgstr "mount: não foi possível abrir %s - usando %s\n"
 
 #. linktargetfile does not exist (as a file)
 #. and we cannot create it. Read-only filesystem?
@@ -6260,83 +6846,104 @@ msgstr ""
 #, 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:387
 #, 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:399
 #, 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:414
 #, c-format
 msgid "Can't lock lock file %s: %s\n"
-msgstr ""
+msgstr "Não foi possível bloquear o arquivo de bloqueio %s: %s\n"
 
-#: mount/fstab.c:425
+#: mount/fstab.c:427
 #, c-format
-msgid "can't lock lock file %s: %s"
-msgstr ""
+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:427
+#: mount/fstab.c:429
 msgid "timed out"
+msgstr "tempo esgotado"
+
+#: mount/fstab.c:436
+#, 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:472 mount/fstab.c:480
+#: mount/fstab.c:482 mount/fstab.c:490
 #, c-format
 msgid "cannot open %s (%s) - mtab not updated"
-msgstr ""
+msgstr "Não foi possível abrir %s (%s) - mtab não atualizado"
 
-#: mount/fstab.c:505
+#: mount/fstab.c:515
 msgid "mount: warning: cannot change mounted device with a remount\n"
 msgstr ""
+"mount: aviso: não é possível alterar um dispositivo montado com uma "
+"remontagem\n"
 
-#: mount/fstab.c:510
+#: mount/fstab.c:520
 msgid "mount: warning: cannot change filesystem type with a remount\n"
 msgstr ""
+"mount: aviso: não é possível alterar um tipo de sistema de arquivos com uma "
+"remontagem\n"
 
-#: mount/fstab.c:518 mount/fstab.c:524
+#: mount/fstab.c:528 mount/fstab.c:534
 #, c-format
 msgid "error writing %s: %s"
-msgstr ""
+msgstr "erro ao gravar %s: %s"
 
-#: mount/fstab.c:531
+#: mount/fstab.c:541
 #, c-format
 msgid "error changing mode of %s: %s\n"
-msgstr ""
+msgstr "erro ao alterar o modo de %s: %s\n"
 
-#: mount/fstab.c:538
+#: mount/fstab.c:548
 #, c-format
 msgid "can't rename %s to %s: %s\n"
-msgstr ""
+msgstr "não foi possível renomear %s para %s: %s\n"
 
 #: mount/lomount.c:78
 #, c-format
 msgid "loop: can't open device %s: %s\n"
-msgstr ""
+msgstr "loop: não foi possível abrir o dispositivo %s: %s\n"
 
 #: mount/lomount.c:84
 #, c-format
 msgid "loop: can't get info on device %s: %s\n"
-msgstr ""
+msgstr "loop: não foi possível obter informações sobre o dispositivo %s: %s\n"
 
 #: mount/lomount.c:89 mount/losetup.c:74
 #, c-format
 msgid "%s: [%04x]:%ld (%s) offset %d, %s encryption\n"
-msgstr ""
+msgstr "%s: [%04x]:%ld (%s) deslocamento %d, criptografia %s\n"
 
 #: mount/lomount.c:143
 msgid "mount: could not find any device /dev/loop#"
-msgstr ""
+msgstr "mount: não foi possível localizar qualquer dispositivo /dev/loop#"
 
 #: mount/lomount.c:147
 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?"
 
 #: mount/lomount.c:151
 #, c-format
@@ -6345,6 +6952,10 @@ msgid ""
 "       this kernel does not know about the loop device.\n"
 "       (If so, then recompile or `insmod loop.o'.)"
 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:156
 msgid ""
@@ -6352,54 +6963,60 @@ msgid ""
 "       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?"
 
 #: mount/lomount.c:160
 msgid "mount: could not find any free loop device"
-msgstr ""
+msgstr "mount: não foi possível localizar nenhum dispositivo de laço livre"
 
 #: mount/lomount.c:191 mount/losetup.c:106
 #, c-format
 msgid "Unsupported encryption type %s\n"
-msgstr ""
+msgstr "Tipo de criptografia não suportado: %s\n"
 
-#: mount/lomount.c:210 mount/losetup.c:125
+#: mount/lomount.c:210 mount/losetup.c:126
 msgid "Init (up to 16 hex digits): "
-msgstr ""
+msgstr "Inicialização (até 16 dígitos hexadecimais):"
 
-#: mount/lomount.c:217 mount/losetup.c:132
+#: mount/lomount.c:217 mount/losetup.c:133
 #, c-format
 msgid "Non-hex digit '%c'.\n"
-msgstr ""
+msgstr "Digito não hexadecimal '%c'.\n"
 
-#: mount/lomount.c:223 mount/losetup.c:138
+#: mount/lomount.c:223 mount/losetup.c:140
 #, c-format
 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"
 
 #: mount/lomount.c:239
 #, c-format
 msgid "set_loop(%s,%s,%d): success\n"
-msgstr ""
+msgstr "set_loop(%s,%s,%d): sucesso\n"
 
 #: mount/lomount.c:250
 #, c-format
 msgid "loop: can't delete device %s: %s\n"
-msgstr ""
+msgstr "loop: não foi possível excluir o dispositivo %s: %s\n"
 
 #: mount/lomount.c:260
 #, c-format
 msgid "del_loop(%s): success\n"
-msgstr ""
+msgstr "del_loop(%s): sucesso\n"
 
 #: mount/lomount.c:268
 msgid "This mount was compiled without loop support. Please recompile.\n"
-msgstr ""
+msgstr "Este mount foi compilado sem suporte a laços. Recompile-o.\n"
 
 #: mount/losetup.c:70
 msgid "Cannot get loop info"
-msgstr ""
+msgstr "Não é possível obter informações de loop."
 
-#: mount/losetup.c:174
+#: mount/losetup.c:176
 #, c-format
 msgid ""
 "usage:\n"
@@ -6407,282 +7024,317 @@ msgid ""
 "  %s -d loop_device                                   # delete\n"
 "  %s [ -e encryption ] [ -o offset ] loop_device file # setup\n"
 msgstr ""
-
-#: mount/losetup.c:231
+"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/losetup.c:234
 msgid "No loop support was available at compile time. Please recompile.\n"
-msgstr ""
+msgstr "Não havia suporte a laço disponível quando da compilação. Recompile.\n"
 
 #: mount/mntent.c:165
 #, c-format
 msgid "[mntent]: warning: no final newline at the end of %s\n"
-msgstr ""
+msgstr "[mntent]: aviso: não há nova linha final no final de %s\n"
 
 #: mount/mntent.c:216
 #, c-format
 msgid "[mntent]: line %d in %s is bad%s\n"
-msgstr ""
+msgstr "[mntent]: linha %d em %s tem %s inválido(a)\n"
 
 #: mount/mntent.c:219
 msgid "; rest of file ignored"
-msgstr ""
+msgstr "; resto do arquivo ignorado"
 
 #: mount/mount.c:333
 #, c-format
 msgid "mount: according to mtab, %s is already mounted on %s"
-msgstr ""
+msgstr "mount: de acordo com mtab, %s já está montado em %s"
 
 #: mount/mount.c:336
 #, c-format
 msgid "mount: according to mtab, %s is mounted on %s"
-msgstr ""
+msgstr "mount: de acordo com mtab, %s está montado em %s"
 
 #: mount/mount.c:357
 #, c-format
 msgid "mount: can't open %s for writing: %s"
-msgstr ""
+msgstr "mount: não foi possível abrir %s para gravação: %s"
 
-#: mount/mount.c:372 mount/mount.c:644
+#: mount/mount.c:372 mount/mount.c:654
 #, c-format
 msgid "mount: error writing %s: %s"
-msgstr ""
+msgstr "mount: erro ao gravar %s: %s"
 
 #: mount/mount.c:379
 #, c-format
 msgid "mount: error changing mode of %s: %s"
-msgstr ""
+msgstr "mount: erro ao alterar modo de %s: %s"
+
+#: mount/mount.c:413
+#, c-format
+msgid "%s looks like swapspace - not mounted"
+msgstr "%s parece espaço de permuta - não montado"
 
-#: mount/mount.c:473
+#: mount/mount.c:481
 msgid "mount failed"
-msgstr ""
+msgstr "mount falhou"
 
-#: mount/mount.c:475
+#: mount/mount.c:483
 #, c-format
 msgid "mount: only root can mount %s on %s"
-msgstr ""
+msgstr "mount: somente o root pode montar %s em %s"
 
-#: mount/mount.c:503
+#: mount/mount.c:511
 msgid "mount: loop device specified twice"
-msgstr ""
+msgstr "mount: dispositivo de laço especificado duas vezes"
 
-#: mount/mount.c:509
+#: mount/mount.c:517
 msgid "mount: type specified twice"
-msgstr ""
+msgstr "mount: tipo especificado duas vezes"
 
-#: mount/mount.c:521
+#: mount/mount.c:529
 msgid "mount: skipping the setup of a loop device\n"
-msgstr ""
+msgstr "mount: ignorando a configuração de um dispositivo de laço\n"
 
-#: mount/mount.c:530
+#: mount/mount.c:538
 #, c-format
 msgid "mount: going to use the loop device %s\n"
-msgstr ""
+msgstr "mount: será usado o dispositivo de laço %s\n"
 
-#: mount/mount.c:534
+#: mount/mount.c:542
 msgid "mount: failed setting up loop device\n"
-msgstr ""
+msgstr "mount: falha ao configurar dispositivo de laço\n"
 
-#: mount/mount.c:538
+#: mount/mount.c:546
 msgid "mount: setup loop device successfully\n"
-msgstr ""
+msgstr "mount: configuração de dispositivo de laço realizada com sucesso\n"
 
-#: mount/mount.c:551
+#: mount/mount.c:559
 msgid "mount: this version was compiled without support for the type `nfs'"
-msgstr ""
+msgstr "mount: esta versão foi compilada sem suporte ao tipo `nfs'"
 
-#: mount/mount.c:601 mount/mount.c:1026
+#: mount/mount.c:610 mount/mount.c:1043
 #, c-format
 msgid "mount: cannot fork: %s"
-msgstr ""
+msgstr "mount: não foi possível realizar fork: %s"
 
-#: mount/mount.c:639
+#: mount/mount.c:649
 #, c-format
 msgid "mount: can't open %s: %s"
+msgstr "mount: não foi possível abrir %s: %s"
+
+#: mount/mount.c:678
+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:667
+#: mount/mount.c:681
 msgid "mount: you must specify the filesystem type"
-msgstr ""
+msgstr "mount: você precisa especificar o tipo do sistema de arquivos"
 
-#: mount/mount.c:674 mount/mount.c:709
+#. should not happen
+#: mount/mount.c:684
+msgid "mount: mount failed"
+msgstr "mount: a montagem falhou"
+
+#: mount/mount.c:690 mount/mount.c:725
 #, c-format
 msgid "mount: mount point %s is not a directory"
-msgstr ""
+msgstr "mount: o ponto de montagem %s não é um diretório"
 
-#: mount/mount.c:676
+#: mount/mount.c:692
 msgid "mount: permission denied"
 msgstr "mount: permissão negada"
 
-#: mount/mount.c:678
+#: mount/mount.c:694
 msgid "mount: must be superuser to use mount"
-msgstr ""
+msgstr "mount: é necessário ser superusuário para montar"
 
 #. heuristic: if /proc/version exists, then probably proc is mounted
 #. proc mounted?
-#: mount/mount.c:682 mount/mount.c:686
+#: mount/mount.c:698 mount/mount.c:702
 #, c-format
 msgid "mount: %s is busy"
-msgstr ""
+msgstr "mount: %s está ocupado"
 
 #. no
 #. yes, don't mention it
-#: mount/mount.c:688
+#: mount/mount.c:704
 msgid "mount: proc already mounted"
-msgstr ""
+msgstr "mount: proc já montado"
 
-#: mount/mount.c:690
+#: mount/mount.c:706
 #, c-format
 msgid "mount: %s already mounted or %s busy"
-msgstr ""
+msgstr "mount: %s já montado ou %s ocupado"
 
-#: mount/mount.c:696
+#: mount/mount.c:712
 #, c-format
 msgid "mount: mount point %s does not exist"
-msgstr ""
+msgstr "mount: o ponto de montagem %s não existe"
 
-#: mount/mount.c:698
+#: mount/mount.c:714
 #, c-format
 msgid "mount: mount point %s is a symbolic link to nowhere"
-msgstr ""
+msgstr "mount: o ponto de montagem %s é um vínculo simbólico para lugar algum"
 
-#: mount/mount.c:701
+#: mount/mount.c:717
 #, c-format
 msgid "mount: special device %s does not exist"
-msgstr ""
+msgstr "mount: o dispositivo especial %s não existe"
 
-#: mount/mount.c:711
+#: mount/mount.c:727
 #, 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:723
+#: mount/mount.c:739
 #, c-format
 msgid "mount: %s not mounted already, or bad option"
-msgstr ""
+msgstr "mount: %s já não está montado ou opção inválida"
 
-#: mount/mount.c:725
+#: mount/mount.c:741
 #, c-format
 msgid ""
 "mount: wrong fs type, bad option, bad superblock on %s,\n"
 "       or too many mounted file systems"
 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:740
+#: mount/mount.c:756
 msgid "mount table full"
-msgstr ""
+msgstr "tabela de montagem cheia"
 
-#: mount/mount.c:742
+#: mount/mount.c:758
 #, c-format
 msgid "mount: %s: can't read superblock"
-msgstr ""
+msgstr "mount: %s: não foi possível ler o superbloco"
 
-#: mount/mount.c:745
+#: mount/mount.c:761
 #, c-format
 msgid "mount: %s has wrong major or minor number"
-msgstr ""
+msgstr "mount: %s possui número principal ou secundário incorreto"
 
-#: mount/mount.c:750
+#: mount/mount.c:766
 #, c-format
 msgid "mount: fs type %s not supported by kernel"
-msgstr ""
+msgstr "mount: o tipo de sistema de arquivos %s não é suportado pelo kernel"
 
-#: mount/mount.c:762
+#: mount/mount.c:778
 #, c-format
 msgid "mount: probably you meant %s"
-msgstr ""
+msgstr "mount: provavelmente você queria dizer %s"
 
-#: mount/mount.c:764
+#: mount/mount.c:780
 msgid "mount: maybe you meant iso9660 ?"
-msgstr ""
+msgstr "mount: talvez você quisesse dizer iso9660?"
 
-#: mount/mount.c:767
+#: mount/mount.c:783
 #, 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"
 
 #. strange ...
-#: mount/mount.c:772
+#: mount/mount.c:788
 #, c-format
 msgid "mount: %s is not a block device, and stat fails?"
-msgstr ""
+msgstr "mount: %s não é um dispositivo de blocos e stat falha?"
 
-#: mount/mount.c:774
+#: mount/mount.c:790
 #, 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:777
+#: mount/mount.c:793
 #, c-format
 msgid "mount: %s is not a block device (maybe try `-o loop'?)"
-msgstr ""
+msgstr "mount: %s não é um dispositivo de blocos (talvez tentar `-o loop'?)"
 
-#: mount/mount.c:780
+#: mount/mount.c:796
 #, c-format
 msgid "mount: %s is not a block device"
-msgstr ""
+msgstr "mount: %s não é um dispositivo de blocos"
 
-#: mount/mount.c:783
+#: mount/mount.c:799
 #, c-format
 msgid "mount: %s is not a valid block device"
-msgstr ""
+msgstr "mount: %s não é um dispositivo de blocos válido"
 
-#: mount/mount.c:787
+#: mount/mount.c:803
 #, c-format
 msgid "mount: block device %s is not permitted on its filesystem"
 msgstr ""
+"mount: o dispositivo de blocos %s não é permitido neste sistema de arquivos"
 
-#: mount/mount.c:803
+#: mount/mount.c:819
 #, c-format
 msgid "mount: %s%s is write-protected, mounting read-only"
-msgstr ""
+msgstr "mount: %s%s é protegido contra gravação; montando somente para leitura"
 
-#: mount/mount.c:804
+#: mount/mount.c:820
 msgid "block device "
-msgstr ""
+msgstr "dispositivo de blocos "
 
-#: mount/mount.c:890
+#: mount/mount.c:907
 #, c-format
 msgid "mount: consider mounting %s by %s\n"
-msgstr ""
+msgstr "mount: considere montar %s por %s\n"
 
-#: mount/mount.c:891
+#: mount/mount.c:908
 msgid "UUID"
-msgstr ""
+msgstr "UUID"
 
-#: mount/mount.c:891
+#: mount/mount.c:908
 msgid "label"
 msgstr "rótulo"
 
-#: mount/mount.c:893 mount/mount.c:1209
+#: mount/mount.c:910 mount/mount.c:1226
 msgid "mount: no such partition found"
-msgstr "mount: a partição não foi encontrada"
+msgstr "mount: tal partição não foi encontrada"
 
-#: mount/mount.c:901
+#: mount/mount.c:918
 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"
 
 #.
 #. * Retry in the background.
 #.
-#: mount/mount.c:917
+#: mount/mount.c:934
 #, c-format
 msgid "mount: backgrounding \"%s\"\n"
-msgstr ""
+msgstr "mount: tentando montar em segundo plano \"%s\"\n"
 
-#: mount/mount.c:928
+#: mount/mount.c:945
 #, c-format
 msgid "mount: giving up \"%s\"\n"
-msgstr ""
+msgstr "mount: desistindo de \"%s\"\n"
 
-#: mount/mount.c:977
+#: mount/mount.c:994
 #, c-format
 msgid "mount: %s already mounted on %s\n"
-msgstr ""
+msgstr "mount: %s já montado em %s\n"
 
-#: mount/mount.c:1088
+#: mount/mount.c:1105
 msgid ""
 "Usage: mount [-hV]\n"
 "       mount -a [-nfFrsvw] [-t vfstypes]\n"
@@ -6690,147 +7342,162 @@ msgid ""
 "       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 tipos_sist_arq_virt]\n"
+"       mount [-nfrsvw] [-o opções ] especial | nó\n"
+"       mount [-nfrsvw] [-t vfstype] [-o opções ] especial nó\n"
+"       Um dispositivo especial pode ser indicado por  -L rótulo ou  -U uuid "
+".\n"
 
-#: mount/mount.c:1194
+#: mount/mount.c:1211
 msgid "mount: only root can do that"
-msgstr ""
+msgstr "mount: operação exclusiva de root"
 
-#: mount/mount.c:1199
+#: mount/mount.c:1216
 #, c-format
 msgid "mount: no %s found - creating it..\n"
-msgstr ""
+msgstr "mount: nenhum %s encontrado - criando-o...\n"
 
-#: mount/mount.c:1211
+#: mount/mount.c:1228
 #, c-format
 msgid "mount: mounting %s\n"
-msgstr ""
+msgstr "mount: montando %s\n"
 
-#: mount/mount.c:1220
+#: mount/mount.c:1237
 msgid "not mounted anything"
-msgstr ""
+msgstr "nada foi montado"
 
-#: mount/mount.c:1233
+#: mount/mount.c:1250
 #, c-format
 msgid "mount: cannot find %s in %s"
-msgstr ""
+msgstr "mount: não foi possível localizar %s em %s"
 
-#: mount/mount.c:1247
+#: mount/mount.c:1264
 #, c-format
 msgid "mount: can't find %s in %s or %s"
-msgstr ""
+msgstr "mount: não foi possível localizar %s em %s ou %s"
 
 #: mount/mount_by_label.c:141
 msgid "mount: bad UUID"
-msgstr ""
+msgstr "mount: UUID inválida"
 
-#: mount/mount_guess_fstype.c:195
+#: mount/mount_guess_fstype.c:251
 #, c-format
 msgid "mount: you didn't specify a filesystem type for %s\n"
-msgstr ""
+msgstr "mount: não foi especificado um tipo de sistema de arquivos para %s\n"
 
-#: mount/mount_guess_fstype.c:198
+#: mount/mount_guess_fstype.c:254
+#, 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_guess_fstype.c:257
+msgid "       and it looks like this is swapspace\n"
+msgstr "       e parece ser um espaço de permuta\n"
+
+#: mount/mount_guess_fstype.c:259
 #, c-format
 msgid "       I will try type %s\n"
-msgstr ""
+msgstr "       experimentarei o tipo %s\n"
 
-#: mount/mount_guess_fstype.c:200
+#: mount/mount_guess_fstype.c:321
 #, c-format
-msgid "       I will try all types mentioned in %s or %s\n"
-msgstr ""
+msgid "Trying %s\n"
+msgstr "Experimentando %s\n"
 
 #: mount/nfsmount.c:157
 msgid "mount: excessively long host:dir argument\n"
-msgstr ""
+msgstr "mount: argumento host:dir excessivamente longo\n"
 
 #: mount/nfsmount.c:170
 msgid "mount: warning: multiple hostnames not supported\n"
-msgstr ""
+msgstr "mount: aviso: nomes de host múltiplos não são suportados\n"
 
 #: mount/nfsmount.c:174
 msgid "mount: directory to mount not in host:dir format\n"
-msgstr ""
+msgstr "mount: diretório a montar não está no formato host:dir\n"
 
 #: mount/nfsmount.c:185 mount/nfsmount.c:420
 #, c-format
 msgid "mount: can't get address for %s\n"
-msgstr ""
+msgstr "mount: não é possível obter endereço para %s\n"
 
 #: mount/nfsmount.c:191
 msgid "mount: got bad hp->h_length\n"
-msgstr ""
+msgstr "mount: obtido hp->h_length inválido\n"
 
 #: mount/nfsmount.c:208
 msgid "mount: excessively long option argument\n"
-msgstr "mount: argumento para opção excessivamente longa\n"
+msgstr "mount: argumento de opção excessivamente longo\n"
 
 #: mount/nfsmount.c:299
 msgid "Warning: Unrecognized proto= option.\n"
-msgstr "Atenção: Opção desconhecida para proto=.\n"
+msgstr "Aviso: opção proto= não reconhecida.\n"
 
 #: mount/nfsmount.c:306
 msgid "Warning: Option namlen is not supported.\n"
-msgstr ""
+msgstr "Aviso: a opção namlen não é suportada.\n"
 
 #: mount/nfsmount.c:310
 #, c-format
 msgid "unknown nfs mount parameter: %s=%d\n"
-msgstr ""
+msgstr "parâmetro de montagem de nfs desconhecido: %s=%d\n"
 
 #: mount/nfsmount.c:345
 msgid "Warning: option nolock is not supported.\n"
-msgstr ""
+msgstr "Aviso: a opção nolock não é suportada.\n"
 
 #: mount/nfsmount.c:348
 #, c-format
 msgid "unknown nfs mount option: %s%s\n"
-msgstr ""
+msgstr "opção de montagem de nfs desconhecida: %s%s\n"
 
 #: mount/nfsmount.c:426
 msgid "mount: got bad hp->h_length?\n"
-msgstr ""
+msgstr "mount: obtido hp->h_length inválido?\n"
 
 #: mount/nfsmount.c:528
 #, c-format
 msgid "mount: %s:%s failed, reason given by server: %s\n"
-msgstr ""
+msgstr "mount: %s:%s falhou. Razão dada pelo servidor: %s.\n"
 
 #: mount/nfsmount.c:539
 msgid "NFS over TCP is not supported.\n"
-msgstr ""
+msgstr "NFS sobre TCP não é suportado.\n"
 
 #: mount/nfsmount.c:546
 msgid "nfs socket"
-msgstr ""
+msgstr "nfs socket"
 
 #: mount/nfsmount.c:550
 msgid "nfs bindresvport"
-msgstr ""
+msgstr "nfs bindresvport"
 
 #: mount/nfsmount.c:561
 msgid "used portmapper to find NFS port\n"
-msgstr ""
+msgstr "usado portmapper para localizar porta NFS\n"
 
 #: mount/nfsmount.c:565
 #, c-format
 msgid "using port %d for nfs deamon\n"
-msgstr ""
+msgstr "usando porta %d para o daemon do nfs\n"
 
 #: mount/nfsmount.c:576
 msgid "nfs connect"
-msgstr ""
+msgstr "nfs connect"
 
 #: mount/nfsmount.c:665
 #, c-format
 msgid "unknown nfs status return value: %d"
-msgstr ""
+msgstr "valor de retorno de status de nfs desconhecido: %d"
 
-#: mount/sundries.c:40 mount/sundries.c:55
+#: mount/sundries.c:41 mount/sundries.c:56
 msgid "not enough memory"
-msgstr ""
+msgstr "não há memória suficiente"
 
-#: mount/sundries.c:65
+#: mount/sundries.c:66
 msgid "bug in xstrndup call"
-msgstr ""
+msgstr "erro na chamada a xstrndup"
 
 #: mount/swapon.c:51
 #, c-format
@@ -6840,6 +7507,10 @@ msgid ""
 "       %s [-v] [-p priority] special ...\n"
 "       %s [-s]\n"
 msgstr ""
+"Uso: %s [-hV]\n"
+"       %s -a [-v]\n"
+"       %s [-v] [-p prioridade] especial ...\n"
+"       %s [-s]\n"
 
 #: mount/swapon.c:88
 #, c-format
@@ -6849,169 +7520,176 @@ msgstr "%s em %s\n"
 #: mount/swapon.c:93
 #, c-format
 msgid "swapon: cannot stat %s: %s\n"
-msgstr ""
+msgstr "swapon: não foi possível stat %s: %s\n"
 
 #: mount/swapon.c:100
 #, c-format
 msgid "swapon: warning: %s has insecure permissions %04o, 0600 suggested\n"
-msgstr ""
+msgstr "swapon: aviso: %s possui permissões inseguras %04o; sugere-se 0600\n"
 
 #: mount/swapon.c:108
 #, c-format
 msgid "swapon: Skipping file %s - it appears to have holes.\n"
-msgstr ""
+msgstr "swapon: ignorando arquivo %s - ele parece ter buracos.\n"
 
 #: mount/swapon.c:213
 #, c-format
 msgid "%s: cannot open %s: %s\n"
-msgstr ""
+msgstr "%s: não foi possível abrir %s: %s\n"
 
-#: mount/umount.c:65
+#: mount/umount.c:69
 msgid "umount: compiled without support for -f\n"
-msgstr ""
+msgstr "umount: compilado sem suporte a -f\n"
 
-#: mount/umount.c:115
+#: mount/umount.c:121
 #, c-format
 msgid "host: %s, directory: %s\n"
-msgstr ""
+msgstr "host: %s, diretório: %s\n"
 
-#: mount/umount.c:132
+#: mount/umount.c:138
 #, c-format
 msgid "umount: can't get address for %s\n"
-msgstr ""
+msgstr "umount: não foi possível obter endereço de %s\n"
 
-#: mount/umount.c:137
+#: mount/umount.c:143
 msgid "umount: got bad hostp->h_length\n"
-msgstr ""
+msgstr "umount: obtido hostp->h_length inválido\n"
 
-#: mount/umount.c:175
+#: mount/umount.c:181
 #, c-format
 msgid "umount: %s: invalid block device"
-msgstr ""
+msgstr "umount: %s: dispositivo de blocos inválido"
 
-#: mount/umount.c:177
+#: mount/umount.c:183
 #, c-format
 msgid "umount: %s: not mounted"
-msgstr ""
+msgstr "umount: %s: não montado"
 
-#: mount/umount.c:179
+#: mount/umount.c:185
 #, c-format
 msgid "umount: %s: can't write superblock"
-msgstr ""
+msgstr "umount: %s: não foi possível gravar superbloco"
 
 #. Let us hope fstab has a line "proc /proc ..."
 #. and not "none /proc ..."
-#: mount/umount.c:183
+#: mount/umount.c:189
 #, c-format
 msgid "umount: %s: device is busy"
-msgstr ""
+msgstr "umount: %s: o dispositivo está ocupado"
 
-#: mount/umount.c:185
+#: mount/umount.c:191
 #, c-format
 msgid "umount: %s: not found"
-msgstr ""
+msgstr "umount: %s: não encontrado"
 
-#: mount/umount.c:187
+#: mount/umount.c:193
 #, c-format
 msgid "umount: %s: must be superuser to umount"
-msgstr ""
+msgstr "umount: %s: precisa ser superusuário para desmontar"
 
-#: mount/umount.c:189
+#: mount/umount.c:195
 #, 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:191
+#: mount/umount.c:197
 #, c-format
 msgid "umount: %s: %s"
-msgstr ""
+msgstr "umount: %s: %s"
 
-#: mount/umount.c:235
+#: mount/umount.c:241
 msgid "no umount2, trying umount...\n"
-msgstr ""
+msgstr "não existe umount2, tentando umount...\n"
 
-#: mount/umount.c:248
+#: mount/umount.c:254
 #, c-format
 msgid "could not umount %s - trying %s instead\n"
-msgstr ""
+msgstr "não foi possível efetuar umount em %s - tentando %s em vez dele\n"
 
-#: mount/umount.c:264
+#: mount/umount.c:270
 #, c-format
 msgid "umount: %s busy - remounted read-only\n"
-msgstr ""
+msgstr "umount: %s está ocupado - remontado somente para leitura\n"
 
-#: mount/umount.c:272
+#: mount/umount.c:278
 #, c-format
 msgid "umount: could not remount %s read-only\n"
-msgstr ""
+msgstr "umount: não foi possível remontar %s somente para leitura\n"
 
-#: mount/umount.c:280
+#: mount/umount.c:286
 #, c-format
 msgid "%s umounted\n"
-msgstr ""
+msgstr "%s desmontado\n"
 
-#: mount/umount.c:363
+#: mount/umount.c:369
 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:392
+#: mount/umount.c:398
 msgid ""
 "Usage: umount [-hV]\n"
 "       umount -a [-f] [-r] [-n] [-v] [-t vfstypes]\n"
 "       umount [-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:453
+#: mount/umount.c:459
 msgid "umount: only root can do that"
-msgstr ""
+msgstr "umount: operação exclusiva de root"
 
-#: mount/umount.c:468
+#: mount/umount.c:474
 #, c-format
 msgid "Trying to umount %s\n"
-msgstr ""
+msgstr "Tentando desmontar %s\n"
 
-#: mount/umount.c:472
+#: mount/umount.c:478
 #, c-format
 msgid "Could not find %s in mtab\n"
-msgstr ""
+msgstr "Não foi possível localizar %s em mtab\n"
 
-#: mount/umount.c:476
+#: mount/umount.c:482
 #, c-format
 msgid "umount: %s is not mounted (according to mtab)"
-msgstr ""
+msgstr "umount: % não está montado (de acordo com mtab)"
 
-#: mount/umount.c:478
+#: mount/umount.c:484
 #, c-format
 msgid "umount: it seems %s is mounted multiple times"
-msgstr ""
+msgstr "umount: parece que % está montado múltiplas vezes"
 
-#: mount/umount.c:490
+#: mount/umount.c:496
 #, c-format
 msgid "umount: %s is not in the fstab (and you are not root)"
-msgstr ""
+msgstr "umount: % não está em fstab (e você não é root)"
 
-#: mount/umount.c:493
+#: mount/umount.c:499
 #, c-format
 msgid "umount: %s mount disagrees with the fstab"
-msgstr ""
+msgstr "umount: a montagem de % não está de acordo com fstab"
 
-#: mount/umount.c:514
+#: mount/umount.c:520
 #, c-format
 msgid "umount: only root can unmount %s from %s"
-msgstr ""
+msgstr "umount: somente root pode desmontar %s de %s"
 
-#: mount/umount.c:525
+#: mount/umount.c:531
 #, c-format
 msgid "umount: only %s can unmount %s from %s"
-msgstr ""
+msgstr "umount: somente %s pode desmontar %s de %s"
 
 #: sys-utils/ctrlaltdel.c:26
 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:41
 msgid "Usage: ctrlaltdel hard|soft\n"
-msgstr ""
+msgstr "Uso: ctrlaltdel hard|soft\n"
 
 #: sys-utils/cytune.c:118
 #, c-format
@@ -7019,6 +7697,9 @@ 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:129
 #, c-format
@@ -7027,31 +7708,34 @@ msgid ""
 "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:196
 #, c-format
 msgid "Invalid interval value: %s\n"
-msgstr ""
+msgstr "Valor de intervalo inválido: %s\n"
 
 #: sys-utils/cytune.c:204
 #, c-format
 msgid "Invalid set value: %s\n"
-msgstr "Valor inválido: %s\n"
+msgstr "Valor definido inválido: %s\n"
 
 #: sys-utils/cytune.c:212
 #, c-format
 msgid "Invalid default value: %s\n"
-msgstr ""
+msgstr "Valor padrão inválido: %s\n"
 
 #: sys-utils/cytune.c:220
 #, c-format
 msgid "Invalid set time value: %s\n"
-msgstr ""
+msgstr "Valor de definição de horário inválido: %s\n"
 
 #: sys-utils/cytune.c:228
 #, c-format
 msgid "Invalid default time value: %s\n"
-msgstr ""
+msgstr "Valor padrão de horário inválido: %s\n"
 
 #: sys-utils/cytune.c:245
 #, c-format
@@ -7059,94 +7743,98 @@ 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:257 sys-utils/cytune.c:275 sys-utils/cytune.c:294
 #: sys-utils/cytune.c:342
 #, c-format
 msgid "Can't open %s: %s\n"
-msgstr ""
+msgstr "Não foi possível abrir %s: %s\n"
 
 #: sys-utils/cytune.c:264
 #, c-format
 msgid "Can't set %s to threshold %d: %s\n"
-msgstr ""
+msgstr "Não foi possível configurar %s para o limiar %d: %s\n"
 
 #: sys-utils/cytune.c:282
 #, c-format
 msgid "Can't set %s to time threshold %d: %s\n"
-msgstr ""
+msgstr "Não foi possível definir %s para o limiar de horário %d: %s\n"
 
 #: sys-utils/cytune.c:299 sys-utils/cytune.c:354 sys-utils/cytune.c:385
 #, c-format
 msgid "Can't get threshold for %s: %s\n"
-msgstr ""
+msgstr "Não foi possível obter o limiar para %s: %s\n"
 
 #: sys-utils/cytune.c:305 sys-utils/cytune.c:360 sys-utils/cytune.c:391
 #, c-format
 msgid "Can't get timeout for %s: %s\n"
-msgstr ""
+msgstr "Não foi possível obter o tempo-limite para %s: %s\n"
 
 #: sys-utils/cytune.c:309
 #, c-format
 msgid "%s: %ld %s threshold and %ld %s timeout\n"
-msgstr ""
+msgstr "%s: limiar %s = %ld e tempo-limite %s = %ld\n"
 
 #: sys-utils/cytune.c:311 sys-utils/cytune.c:313
 msgid "current"
-msgstr ""
+msgstr "atual"
 
 #: sys-utils/cytune.c:311 sys-utils/cytune.c:313
 msgid "default"
-msgstr ""
+msgstr "padrão"
 
 #: sys-utils/cytune.c:330
 msgid "Can't set signal handler"
-msgstr ""
+msgstr "Não foi possível configurar manipulador de sinal"
 
 #: sys-utils/cytune.c:334 sys-utils/cytune.c:369
 msgid "gettimeofday failed"
-msgstr ""
+msgstr "gettimeofday falhou"
 
 #: sys-utils/cytune.c:347 sys-utils/cytune.c:379
 #, c-format
 msgid "Can't issue CYGETMON on %s: %s\n"
-msgstr ""
+msgstr "Não foi possível emitir CYGETMON em %s: %s\n"
 
 #: sys-utils/cytune.c:421
 #, c-format
 msgid "%s: %lu ints, %lu/%lu chars; "
-msgstr ""
+msgstr "%s: %lu ints, %lu/%lu chars; "
 
 #: sys-utils/cytune.c:422
 #, c-format
 msgid "fifo: %lu thresh, %lu tmout, "
-msgstr ""
+msgstr "fifo: %lu limiar, %lu tempo-limite, "
 
 #: sys-utils/cytune.c:423
 #, c-format
 msgid "%lu max, %lu now\n"
-msgstr ""
+msgstr "%lu máx, %lu agora\n"
 
 #: sys-utils/cytune.c:428
 #, c-format
 msgid "   %f int/sec; %f rec, %f send (char/sec)\n"
-msgstr ""
+msgstr "   %f int/s; %f recebidos, %f enviados (char/s)\n"
 
 #: sys-utils/cytune.c:433
 #, 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:438
 #, c-format
 msgid "   %f int/sec; %f rec (char/sec)\n"
-msgstr ""
+msgstr "   %f int/s; %f recebidos (char/s)\n"
 
 #: sys-utils/dmesg.c:38
 #, c-format
 msgid "Usage: %s [-c] [-n level] [-s bufsize]\n"
-msgstr "Uso: %s [-c] [-n nível] [-s tam_buffer]\n"
+msgstr "Uso: %s [-c] [-n nível] [-s tamanho_buffer]\n"
 
 #: sys-utils/ipcrm.c:46
 #, c-format
@@ -7160,601 +7848,629 @@ msgstr "Uso: %s [-shm | -msg | -sem] id\n"
 
 #: sys-utils/ipcrm.c:73
 msgid "resource deleted\n"
-msgstr ""
+msgstr "recurso excluído\n"
 
-#: sys-utils/ipcs.c:91
+#: sys-utils/ipcs.c:117
 #, c-format
 msgid "usage : %s -asmq -tclup \n"
-msgstr ""
+msgstr "Uso : %s -asmq -tclup \n"
 
-#: sys-utils/ipcs.c:92
+#: sys-utils/ipcs.c:118
 #, c-format
 msgid "\t%s [-s -m -q] -i id\n"
-msgstr ""
+msgstr "\t%s [-s -m -q] -i id\n"
 
-#: sys-utils/ipcs.c:93
+#: sys-utils/ipcs.c:119
 #, c-format
 msgid "\t%s -h for help.\n"
-msgstr ""
+msgstr "\t%s -h para ajuda.\n"
 
-#: sys-utils/ipcs.c:99
+#: sys-utils/ipcs.c:125
 #, c-format
 msgid "%s provides information on ipc facilities for"
-msgstr ""
+msgstr "%s fornece informações sobre recursos do ipc para"
 
-#: sys-utils/ipcs.c:100
+#: sys-utils/ipcs.c:126
 msgid " which you have read access.\n"
-msgstr ""
+msgstr " os quais você tem acesso de leitura.\n"
 
-#: sys-utils/ipcs.c:101
+#: sys-utils/ipcs.c:127
 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:102
+#: sys-utils/ipcs.c:128
 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:103
+#: sys-utils/ipcs.c:129
 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:104
+#: sys-utils/ipcs.c:130
 msgid ""
 "\t-l : limits\n"
 "\t-u : summary\n"
 msgstr ""
+"\t-l : limites\n"
+"\t-u : resumo\n"
 
-#: sys-utils/ipcs.c:105
+#: sys-utils/ipcs.c:131
 msgid "-i id [-s -q -m] : details on resource identified by id\n"
-msgstr ""
+msgstr "-i id [-s -q -m] : detalhes sobre o recurso identificado por id\n"
 
-#: sys-utils/ipcs.c:237 sys-utils/ipcs.c:439
+#: sys-utils/ipcs.c:263 sys-utils/ipcs.c:465
 msgid "kernel not configured for shared memory\n"
-msgstr ""
+msgstr "o kernel não está configurado para memória compartilhada\n"
 
-#: sys-utils/ipcs.c:243
+#: sys-utils/ipcs.c:269
 msgid "------ Shared Memory Limits --------\n"
-msgstr ""
+msgstr "- Limites da memória compartilhada -\n"
 
-#: sys-utils/ipcs.c:246
+#: sys-utils/ipcs.c:272
 #, c-format
 msgid "max number of segments = %d\n"
-msgstr ""
+msgstr "número máximo de segmentos: %d\n"
 
-#: sys-utils/ipcs.c:247
+#: sys-utils/ipcs.c:273
 #, c-format
 msgid "max seg size (kbytes) = %d\n"
-msgstr ""
+msgstr "tamanho máximo do segmento (Kb): %d\n"
 
-#: sys-utils/ipcs.c:248
+#: sys-utils/ipcs.c:274
 #, c-format
 msgid "max total shared memory (kbytes) = %d\n"
-msgstr ""
+msgstr "memória compartilhada total máxima (Kb): %d\n"
 
-#: sys-utils/ipcs.c:249
+#: sys-utils/ipcs.c:275
 #, c-format
 msgid "min seg size (bytes) = %d\n"
-msgstr ""
+msgstr "tamanho mínimo do segmento (bytes): %d\n"
 
-#: sys-utils/ipcs.c:253
+#: sys-utils/ipcs.c:279
 msgid "------ Shared Memory Status --------\n"
-msgstr ""
+msgstr "- Status da memória compartilhada -\n"
 
-#: sys-utils/ipcs.c:254
+#: sys-utils/ipcs.c:280
 #, c-format
 msgid "segments allocated %d\n"
-msgstr ""
+msgstr "segmentos alocados: %d\n"
 
-#: sys-utils/ipcs.c:255
+#: sys-utils/ipcs.c:281
 #, c-format
 msgid "pages allocated %ld\n"
-msgstr ""
+msgstr "páginas alocadas %ld\n"
 
-#: sys-utils/ipcs.c:256
+#: sys-utils/ipcs.c:282
 #, c-format
 msgid "pages resident  %ld\n"
-msgstr ""
+msgstr "páginas residentes: %ld\n"
 
-#: sys-utils/ipcs.c:257
+#: sys-utils/ipcs.c:283
 #, c-format
 msgid "pages swapped   %ld\n"
-msgstr ""
+msgstr "páginas permutadas: %ld\n"
 
-#: sys-utils/ipcs.c:258
+#: sys-utils/ipcs.c:284
 #, c-format
 msgid "Swap performance: %ld attempts\t %ld successes\n"
-msgstr ""
+msgstr "Desempenho de permuta: %ld tentativas\t %ld sucessos\n"
 
-#: sys-utils/ipcs.c:263
+#: sys-utils/ipcs.c:289
 msgid "------ Shared Memory Segment Creators/Owners --------\n"
-msgstr ""
+msgstr "Criadores/donos de segmentos de memória compartilhada\n"
 
-#: sys-utils/ipcs.c:264 sys-utils/ipcs.c:370 sys-utils/ipcs.c:462
+#: sys-utils/ipcs.c:290 sys-utils/ipcs.c:396 sys-utils/ipcs.c:488
 #, c-format
 msgid "%-10s%-10s%-10s%-10s%-10s%-10s\n"
-msgstr ""
+msgstr "%-10s%-10s%-10s%-10s%-10s%-10s\n"
 
-#: sys-utils/ipcs.c:265 sys-utils/ipcs.c:271 sys-utils/ipcs.c:276
-#: sys-utils/ipcs.c:281 sys-utils/ipcs.c:377
+#: sys-utils/ipcs.c:291 sys-utils/ipcs.c:297 sys-utils/ipcs.c:302
+#: sys-utils/ipcs.c:307 sys-utils/ipcs.c:403
 msgid "shmid"
-msgstr ""
+msgstr "shmid"
 
-#: sys-utils/ipcs.c:265 sys-utils/ipcs.c:282 sys-utils/ipcs.c:371
-#: sys-utils/ipcs.c:386 sys-utils/ipcs.c:463 sys-utils/ipcs.c:480
+#: sys-utils/ipcs.c:291 sys-utils/ipcs.c:308 sys-utils/ipcs.c:397
+#: sys-utils/ipcs.c:412 sys-utils/ipcs.c:489 sys-utils/ipcs.c:506
 msgid "perms"
-msgstr ""
+msgstr "perms"
 
-#: sys-utils/ipcs.c:265 sys-utils/ipcs.c:371 sys-utils/ipcs.c:463
+#: sys-utils/ipcs.c:291 sys-utils/ipcs.c:397 sys-utils/ipcs.c:489
 msgid "cuid"
-msgstr ""
+msgstr "cuid"
 
-#: sys-utils/ipcs.c:265 sys-utils/ipcs.c:371 sys-utils/ipcs.c:463
+#: sys-utils/ipcs.c:291 sys-utils/ipcs.c:397 sys-utils/ipcs.c:489
 msgid "cgid"
-msgstr ""
+msgstr "cgid"
 
-#: sys-utils/ipcs.c:265 sys-utils/ipcs.c:371 sys-utils/ipcs.c:463
+#: sys-utils/ipcs.c:291 sys-utils/ipcs.c:397 sys-utils/ipcs.c:489
 msgid "uid"
-msgstr ""
+msgstr "uid"
 
-#: sys-utils/ipcs.c:265 sys-utils/ipcs.c:463
+#: sys-utils/ipcs.c:291 sys-utils/ipcs.c:489
 msgid "gid"
-msgstr ""
+msgstr "gid"
 
-#: sys-utils/ipcs.c:269
+#: sys-utils/ipcs.c:295
 msgid "------ Shared Memory Attach/Detach/Change Times --------\n"
-msgstr ""
+msgstr "Horários de anexação/destacamento/alteração da memória compartilhada\n"
 
-#: sys-utils/ipcs.c:270
+#: sys-utils/ipcs.c:296
 #, c-format
 msgid "%-10s%-10s  %-20s%-20s%-20s\n"
-msgstr ""
+msgstr "%-10s%-10s  %-20s%-20s%-20s\n"
 
-#: sys-utils/ipcs.c:271 sys-utils/ipcs.c:276 sys-utils/ipcs.c:282
-#: sys-utils/ipcs.c:377 sys-utils/ipcs.c:386 sys-utils/ipcs.c:469
-#: sys-utils/ipcs.c:474 sys-utils/ipcs.c:480
+#: sys-utils/ipcs.c:297 sys-utils/ipcs.c:302 sys-utils/ipcs.c:308
+#: sys-utils/ipcs.c:403 sys-utils/ipcs.c:412 sys-utils/ipcs.c:495
+#: sys-utils/ipcs.c:500 sys-utils/ipcs.c:506
 msgid "owner"
-msgstr "dono"
+msgstr "proprietário"
 
-#: sys-utils/ipcs.c:271
+#: sys-utils/ipcs.c:297
 msgid "attached"
-msgstr ""
+msgstr "anexado"
 
-#: sys-utils/ipcs.c:271
+#: sys-utils/ipcs.c:297
 msgid "detached"
-msgstr ""
+msgstr "destacado"
 
-#: sys-utils/ipcs.c:271
+#: sys-utils/ipcs.c:297
 msgid "changed"
-msgstr ""
+msgstr "alterado"
 
-#: sys-utils/ipcs.c:275
+#: sys-utils/ipcs.c:301
 msgid "------ Shared Memory Creator/Last-op --------\n"
-msgstr ""
+msgstr "Criador/última op da memória compartilhada\n"
 
-#: sys-utils/ipcs.c:276 sys-utils/ipcs.c:474
+#: sys-utils/ipcs.c:302 sys-utils/ipcs.c:500
 #, c-format
 msgid "%-10s%-10s%-10s%-10s\n"
-msgstr ""
+msgstr "%-10s%-10s%-10s%-10s\n"
 
-#: sys-utils/ipcs.c:276
+#: sys-utils/ipcs.c:302
 msgid "cpid"
-msgstr ""
+msgstr "cpid"
 
-#: sys-utils/ipcs.c:276
+#: sys-utils/ipcs.c:302
 msgid "lpid"
-msgstr ""
+msgstr "lpid"
 
-#: sys-utils/ipcs.c:280
+#: sys-utils/ipcs.c:306
 msgid "------ Shared Memory Segments --------\n"
-msgstr ""
+msgstr "- Segmentos da memória compartilhada -\n"
 
-#: sys-utils/ipcs.c:281
+#: sys-utils/ipcs.c:307
 #, c-format
 msgid "%-10s%-10s%-10s%-10s%-10s%-10s%-12s\n"
-msgstr ""
+msgstr "%-10s%-10s%-10s%-10s%-10s%-10s%-12s\n"
 
-#: sys-utils/ipcs.c:281 sys-utils/ipcs.c:386 sys-utils/ipcs.c:479
+#: sys-utils/ipcs.c:307 sys-utils/ipcs.c:412 sys-utils/ipcs.c:505
 msgid "key"
-msgstr ""
+msgstr "chave"
 
-#: sys-utils/ipcs.c:282
+#: sys-utils/ipcs.c:308
 msgid "bytes"
-msgstr ""
+msgstr "bytes"
 
-#: sys-utils/ipcs.c:282
+#: sys-utils/ipcs.c:308
 msgid "nattch"
-msgstr ""
+msgstr "nattch"
 
-#: sys-utils/ipcs.c:282 sys-utils/ipcs.c:386
+#: sys-utils/ipcs.c:308 sys-utils/ipcs.c:412
 msgid "status"
-msgstr ""
+msgstr "status"
 
-#: sys-utils/ipcs.c:302 sys-utils/ipcs.c:303 sys-utils/ipcs.c:304
-#: sys-utils/ipcs.c:407 sys-utils/ipcs.c:408 sys-utils/ipcs.c:500
-#: sys-utils/ipcs.c:501 sys-utils/ipcs.c:502
+#: sys-utils/ipcs.c:328 sys-utils/ipcs.c:329 sys-utils/ipcs.c:330
+#: sys-utils/ipcs.c:433 sys-utils/ipcs.c:434 sys-utils/ipcs.c:526
+#: sys-utils/ipcs.c:527 sys-utils/ipcs.c:528
 msgid "Not set"
-msgstr ""
+msgstr "Não definido"
 
-#: sys-utils/ipcs.c:324
+#: sys-utils/ipcs.c:350
 msgid "dest"
-msgstr ""
+msgstr "dest"
 
-#: sys-utils/ipcs.c:325
+#: sys-utils/ipcs.c:351
 msgid "locked"
-msgstr ""
+msgstr "bloqueado"
 
-#: sys-utils/ipcs.c:345
+#: sys-utils/ipcs.c:371
 msgid "kernel not configured for semaphores\n"
-msgstr ""
+msgstr "o kernel não está configurado para semáforos\n"
 
-#: sys-utils/ipcs.c:351
+#: sys-utils/ipcs.c:377
 msgid "------ Semaphore Limits --------\n"
-msgstr ""
+msgstr "------ Limites de semáforo ------\n"
 
-#: sys-utils/ipcs.c:355
+#: sys-utils/ipcs.c:381
 #, c-format
 msgid "max number of arrays = %d\n"
-msgstr ""
+msgstr "número máximo de arrays: %d\n"
 
-#: sys-utils/ipcs.c:356
+#: sys-utils/ipcs.c:382
 #, c-format
 msgid "max semaphores per array = %d\n"
-msgstr ""
+msgstr "máximo de semáforos por array: %d\n"
 
-#: sys-utils/ipcs.c:357
+#: sys-utils/ipcs.c:383
 #, c-format
 msgid "max semaphores system wide = %d\n"
-msgstr ""
+msgstr "máximo geral de semáforos do sistema: %d\n"
 
-#: sys-utils/ipcs.c:358
+#: sys-utils/ipcs.c:384
 #, c-format
 msgid "max ops per semop call = %d\n"
-msgstr ""
+msgstr "máximo de ops por chamada semop: %d\n"
 
-#: sys-utils/ipcs.c:359
+#: sys-utils/ipcs.c:385
 #, c-format
 msgid "semaphore max value = %d\n"
-msgstr ""
+msgstr "valor máximo de semáforo: %d\n"
 
-#: sys-utils/ipcs.c:363
+#: sys-utils/ipcs.c:389
 msgid "------ Semaphore Status --------\n"
-msgstr ""
+msgstr "----- Status de semáforo -------\n"
 
-#: sys-utils/ipcs.c:364
+#: sys-utils/ipcs.c:390
 #, c-format
 msgid "used arrays = %d\n"
-msgstr ""
+msgstr "arrays usados: %d\n"
 
-#: sys-utils/ipcs.c:365
+#: sys-utils/ipcs.c:391
 #, c-format
 msgid "allocated semaphores = %d\n"
-msgstr ""
+msgstr "semáforos alocados: %d\n"
 
-#: sys-utils/ipcs.c:369
+#: sys-utils/ipcs.c:395
 msgid "------ Semaphore Arrays Creators/Owners --------\n"
-msgstr ""
+msgstr "----- Criadores/donos de arrays de semáforos -----\n"
 
-#: sys-utils/ipcs.c:371 sys-utils/ipcs.c:386
+#: sys-utils/ipcs.c:397 sys-utils/ipcs.c:412
 msgid "semid"
-msgstr ""
+msgstr "semid"
 
-#: sys-utils/ipcs.c:375
+#: sys-utils/ipcs.c:401
 msgid "------ Shared Memory Operation/Change Times --------\n"
-msgstr ""
+msgstr "Horários de operação/alteração de memória compartilhada\n"
 
-#: sys-utils/ipcs.c:376
+#: sys-utils/ipcs.c:402
 #, c-format
 msgid "%-8s%-10s  %-26.24s %-26.24s\n"
-msgstr ""
+msgstr "%-8s%-10s  %-26.24s %-26.24s\n"
 
-#: sys-utils/ipcs.c:377
+#: sys-utils/ipcs.c:403
 msgid "last-op"
-msgstr ""
+msgstr "última-op"
 
-#: sys-utils/ipcs.c:377
+#: sys-utils/ipcs.c:403
 msgid "last-changed"
-msgstr "última-modificação"
+msgstr "útima-alteração"
 
-#: sys-utils/ipcs.c:384
+#: sys-utils/ipcs.c:410
 msgid "------ Semaphore Arrays --------\n"
-msgstr ""
+msgstr "------ Arrays de semáforos ------\n"
 
-#: sys-utils/ipcs.c:385
+#: sys-utils/ipcs.c:411
 #, c-format
 msgid "%-10s%-10s%-10s%-10s%-10s%-12s\n"
-msgstr ""
+msgstr "%-10s%-10s%-10s%-10s%-10s%-12s\n"
 
-#: sys-utils/ipcs.c:386
+#: sys-utils/ipcs.c:412
 msgid "nsems"
-msgstr ""
+msgstr "nsems"
 
-#: sys-utils/ipcs.c:447
+#: sys-utils/ipcs.c:473
 msgid "------ Messages: Limits --------\n"
-msgstr ""
+msgstr "----- Mensagens: limites -------\n"
 
-#: sys-utils/ipcs.c:448
+#: sys-utils/ipcs.c:474
 #, c-format
 msgid "max queues system wide = %d\n"
-msgstr ""
+msgstr "número máximo geral de filas no sistema: %d\n"
 
-#: sys-utils/ipcs.c:449
+#: sys-utils/ipcs.c:475
 #, c-format
 msgid "max size of message (bytes) = %d\n"
-msgstr ""
+msgstr "tamanho máximo da mensagem (bytes): %d\n"
 
-#: sys-utils/ipcs.c:450
+#: sys-utils/ipcs.c:476
 #, c-format
 msgid "default max size of queue (bytes) = %d\n"
-msgstr ""
+msgstr "tamanho máximo padrão da fila (bytes): %d\n"
 
-#: sys-utils/ipcs.c:454
+#: sys-utils/ipcs.c:480
 msgid "------ Messages: Status --------\n"
-msgstr ""
+msgstr "----- Mensagens: status -------\n"
 
-#: sys-utils/ipcs.c:455
+#: sys-utils/ipcs.c:481
 #, c-format
 msgid "allocated queues = %d\n"
-msgstr ""
+msgstr "filas alocadas: %d\n"
 
-#: sys-utils/ipcs.c:456
+#: sys-utils/ipcs.c:482
 #, c-format
 msgid "used headers = %d\n"
-msgstr ""
+msgstr "cabeçalhos usados: %d\n"
 
-#: sys-utils/ipcs.c:457
+#: sys-utils/ipcs.c:483
 #, c-format
 msgid "used space = %d bytes\n"
-msgstr ""
+msgstr "espaço usado: %d bytes\n"
 
-#: sys-utils/ipcs.c:461
+#: sys-utils/ipcs.c:487
 msgid "------ Message Queues: Creators/Owners --------\n"
-msgstr ""
+msgstr "---- Filas de mensagens: criadores/donos ----\n"
 
-#: sys-utils/ipcs.c:463 sys-utils/ipcs.c:469 sys-utils/ipcs.c:474
-#: sys-utils/ipcs.c:479
+#: sys-utils/ipcs.c:489 sys-utils/ipcs.c:495 sys-utils/ipcs.c:500
+#: sys-utils/ipcs.c:505
 msgid "msqid"
-msgstr ""
+msgstr "msqid"
 
-#: sys-utils/ipcs.c:467
+#: sys-utils/ipcs.c:493
 msgid "------ Message Queues Send/Recv/Change Times --------\n"
-msgstr ""
+msgstr "Horários de envio/recepção/alteração de filas de mensagens\n"
 
-#: sys-utils/ipcs.c:468
+#: sys-utils/ipcs.c:494
 #, c-format
 msgid "%-8s%-10s  %-20s%-20s%-20s\n"
-msgstr ""
+msgstr "%-8s%-10s  %-20s%-20s%-20s\n"
 
-#: sys-utils/ipcs.c:469
+#: sys-utils/ipcs.c:495
 msgid "send"
-msgstr ""
+msgstr "envio"
 
-#: sys-utils/ipcs.c:469
+#: sys-utils/ipcs.c:495
 msgid "recv"
-msgstr ""
+msgstr "recebimento"
 
-#: sys-utils/ipcs.c:469
+#: sys-utils/ipcs.c:495
 msgid "change"
-msgstr ""
+msgstr "alteração"
 
-#: sys-utils/ipcs.c:473
+#: sys-utils/ipcs.c:499
 msgid "------ Message Queues PIDs --------\n"
-msgstr ""
+msgstr "--- PIDs de filas de mensagens ---\n"
 
-#: sys-utils/ipcs.c:474
+#: sys-utils/ipcs.c:500
 msgid "lspid"
-msgstr ""
+msgstr "lspid"
 
-#: sys-utils/ipcs.c:474
+#: sys-utils/ipcs.c:500
 msgid "lrpid"
-msgstr ""
+msgstr "lrpid"
 
-#: sys-utils/ipcs.c:478
+#: sys-utils/ipcs.c:504
 msgid "------ Message Queues --------\n"
-msgstr ""
+msgstr "----- Filas de mensagens ------\n"
 
-#: sys-utils/ipcs.c:479
+#: sys-utils/ipcs.c:505
 #, c-format
 msgid "%-10s%-10s%-10s%-10s%-12s%-12s\n"
-msgstr ""
+msgstr "%-10s%-10s%-10s%-10s%-12s%-12s\n"
 
-#: sys-utils/ipcs.c:480
+#: sys-utils/ipcs.c:506
 msgid "used-bytes"
-msgstr ""
+msgstr "bytes usados"
 
-#: sys-utils/ipcs.c:480
+#: sys-utils/ipcs.c:506
 msgid "messages"
-msgstr ""
+msgstr "mensagens"
 
-#: sys-utils/ipcs.c:539
+#: sys-utils/ipcs.c:565
 #, c-format
 msgid ""
 "\n"
 "Shared memory Segment shmid=%d\n"
 msgstr ""
+"\n"
+"Memória compartilhada: shmid de segmento = %d\n"
 
-#: sys-utils/ipcs.c:540
+#: sys-utils/ipcs.c:566
 #, c-format
 msgid "uid=%d\tgid=%d\tcuid=%d\tcgid=%d\n"
-msgstr ""
+msgstr "uid=%d\tgid=%d\tcuid=%d\tcgid=%d\n"
 
-#: sys-utils/ipcs.c:542
+#: sys-utils/ipcs.c:568
 #, c-format
 msgid "mode=%#o\taccess_perms=%#o\n"
-msgstr ""
+msgstr "mode=%#o\taccess_perms=%#o\n"
 
-#: sys-utils/ipcs.c:543
+#: sys-utils/ipcs.c:569
 #, c-format
 msgid "bytes=%d\tlpid=%d\tcpid=%d\tnattch=%d\n"
-msgstr ""
+msgstr "bytes=%d\tlpid=%d\tcpid=%d\tnattch=%d\n"
 
-#: sys-utils/ipcs.c:546
+#: sys-utils/ipcs.c:572
 #, c-format
 msgid "att_time=%s"
-msgstr ""
+msgstr "att_time=%s"
 
-#: sys-utils/ipcs.c:547 sys-utils/ipcs.c:549 sys-utils/ipcs.c:598
+#: sys-utils/ipcs.c:573 sys-utils/ipcs.c:575 sys-utils/ipcs.c:624
 msgid "Not set\n"
-msgstr ""
+msgstr "Não definido\n"
 
-#: sys-utils/ipcs.c:548
+#: sys-utils/ipcs.c:574
 #, c-format
 msgid "det_time=%s"
-msgstr ""
+msgstr "det_time=%s"
 
-#: sys-utils/ipcs.c:550
+#: sys-utils/ipcs.c:576
 #, c-format
 msgid "change_time=%s"
-msgstr ""
+msgstr "change_time=%s"
 
-#: sys-utils/ipcs.c:566
+#: sys-utils/ipcs.c:592
 #, c-format
 msgid ""
 "\n"
 "Message Queue msqid=%d\n"
 msgstr ""
+"\n"
+"msqid da fila de mensagens: %d\n"
 
-#: sys-utils/ipcs.c:567
+#: sys-utils/ipcs.c:593
 #, c-format
 msgid "uid=%d\tgid=%d\tcuid=%d\tcgid=%d\tmode=%#o\n"
-msgstr ""
+msgstr "uid=%d\tgid=%d\tcuid=%d\tcgid=%d\tmode=%#o\n"
 
-#: sys-utils/ipcs.c:569
+#: sys-utils/ipcs.c:595
 #, c-format
 msgid "cbytes=%d\tqbytes=%d\tqnum=%d\tlspid=%d\tlrpid=%d\n"
-msgstr ""
+msgstr "cbytes=%d\tqbytes=%d\tqnum=%d\tlspid=%d\tlrpid=%d\n"
 
-#: sys-utils/ipcs.c:572
+#: sys-utils/ipcs.c:598
 #, c-format
 msgid "send_time=%srcv_time=%schange_time=%s"
-msgstr ""
+msgstr "send_time=%srcv_time=%schange_time=%s"
 
-#: sys-utils/ipcs.c:573 sys-utils/ipcs.c:574 sys-utils/ipcs.c:575
+#: sys-utils/ipcs.c:599 sys-utils/ipcs.c:600 sys-utils/ipcs.c:601
 msgid "Not Set\n"
-msgstr ""
+msgstr "Não definido\n"
 
-#: sys-utils/ipcs.c:592
+#: sys-utils/ipcs.c:618
 #, c-format
 msgid ""
 "\n"
 "Semaphore Array semid=%d\n"
 msgstr ""
+"\n"
+"semid de array de semáforos: %d\n"
 
-#: sys-utils/ipcs.c:593
+#: sys-utils/ipcs.c:619
 #, c-format
 msgid "uid=%d\t gid=%d\t cuid=%d\t cgid=%d\n"
-msgstr ""
+msgstr "uid=%d\t gid=%d\t cuid=%d\t cgid=%d\n"
 
-#: sys-utils/ipcs.c:595
+#: sys-utils/ipcs.c:621
 #, c-format
 msgid "mode=%#o, access_perms=%#o\n"
-msgstr ""
+msgstr "mode=%#o, access_perms=%#o\n"
 
-#: sys-utils/ipcs.c:596
+#: sys-utils/ipcs.c:622
 #, c-format
 msgid "nsems = %d\n"
-msgstr ""
+msgstr "nsems = %d\n"
 
-#: sys-utils/ipcs.c:597
+#: sys-utils/ipcs.c:623
 #, c-format
 msgid "otime = %s"
-msgstr ""
+msgstr "otime = %s"
 
-#: sys-utils/ipcs.c:599
+#: sys-utils/ipcs.c:625
 #, c-format
 msgid "ctime = %s"
-msgstr ""
+msgstr "ctime = %s"
 
-#: sys-utils/ipcs.c:601
+#: sys-utils/ipcs.c:627
 #, c-format
 msgid "%-10s%-10s%-10s%-10s%-10s\n"
-msgstr ""
+msgstr "%-10s%-10s%-10s%-10s%-10s\n"
 
-#: sys-utils/ipcs.c:601
+#: sys-utils/ipcs.c:627
 msgid "semnum"
-msgstr ""
+msgstr "semnum"
 
-#: sys-utils/ipcs.c:601
+#: sys-utils/ipcs.c:627
 msgid "value"
-msgstr ""
+msgstr "valor"
 
-#: sys-utils/ipcs.c:601
+#: sys-utils/ipcs.c:627
 msgid "ncount"
-msgstr ""
+msgstr "ncount"
 
-#: sys-utils/ipcs.c:602
+#: sys-utils/ipcs.c:628
 msgid "zcount"
-msgstr ""
+msgstr "zcount"
 
-#: sys-utils/ipcs.c:602
+#: sys-utils/ipcs.c:628
 msgid "pid"
-msgstr ""
+msgstr "pid"
 
 #: sys-utils/rdev.c:68
 msgid "usage: rdev [ -rsv ] [ -o OFFSET ] [ IMAGE [ VALUE [ OFFSET ] ] ]"
 msgstr ""
+"Uso: rdev [ -rsv ] [ -o DESLOCAMENTO ] [ IMAGEM [ VALOR [ DESLOCAMENTO] ] ]"
 
 #: sys-utils/rdev.c:69
 msgid ""
 "  rdev /dev/fd0  (or rdev /linux, etc.) displays the current ROOT device"
-msgstr ""
+msgstr "  rdev /dev/fd0  (ou rdev /linux, etc.) exibe o dispositivo RAIZ atual"
 
 #: sys-utils/rdev.c:70
 msgid "  rdev /dev/fd0 /dev/hda2         sets ROOT to /dev/hda2"
-msgstr ""
+msgstr "  rdev /dev/fd0 /dev/hda2         define a RAIZ como /dev/hda2"
 
 #: sys-utils/rdev.c:71
 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:72
 msgid "  rdev -s /dev/fd0 /dev/hda2      set the SWAP device"
 msgstr ""
+"  rdev -s /dev/fd0 /dev/hda2      define o dispositivo de SWAP (permuta)"
 
 #: sys-utils/rdev.c:73
 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:74
 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:75
 msgid "  rdev -o N ...                   use the byte offset N"
-msgstr ""
+msgstr "  rdev -o N ...                   usa o deslocamento de bytes N"
 
 #: sys-utils/rdev.c:76
 msgid "  rootflags ...                   same as rdev -R"
-msgstr ""
+msgstr "  rootflags ...                   o mesmo que rdev -R"
 
 #: sys-utils/rdev.c:77
 msgid "  swapdev ...                     same as rdev -s"
-msgstr ""
+msgstr "  swapdev ...                     o mesmo que rdev -s"
 
 #: sys-utils/rdev.c:78
 msgid "  ramsize ...                     same as rdev -r"
-msgstr ""
+msgstr "  ramsize ...                     o mesmo que rdev -r"
 
 #: sys-utils/rdev.c:79
 msgid "  vidmode ...                     same as rdev -v"
-msgstr ""
+msgstr "  vidmode ...                     o mesmo que rdev -v"
 
 #: sys-utils/rdev.c:80
 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:81
 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/readprofile.c:52
 #, c-format
@@ -7768,30 +8484,38 @@ msgid ""
 "\t -r            reset all the counters (root only)\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 -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:116
 #, c-format
 msgid "%s Version %s\n"
-msgstr ""
+msgstr "%s versão %s\n"
 
 #: sys-utils/readprofile.c:128
 msgid "anything\n"
-msgstr ""
+msgstr "qualquer coisa\n"
 
 #: sys-utils/readprofile.c:157
 #, c-format
 msgid "Sampling_step: %i\n"
-msgstr ""
+msgstr "Passo de amostragem: %i\n"
 
 #: sys-utils/readprofile.c:170 sys-utils/readprofile.c:196
 #, c-format
 msgid "%s: %s(%i): wrong map line\n"
-msgstr ""
+msgstr "%s: %s(%i): linha de mapa incorreta\n"
 
 #: sys-utils/readprofile.c:183
 #, c-format
 msgid "%s: can't find \"_stext\" in %s\n"
-msgstr ""
+msgstr "%s: não foi possível localizar \"_stext\" em %s\n"
 
 #: sys-utils/readprofile.c:226
 msgid "total"
@@ -7801,94 +8525,99 @@ msgstr "total"
 msgid ""
 "usage: renice priority [ [ -p ] pids ] [ [ -g ] pgrps ] [ [ -u ] users ]\n"
 msgstr ""
+"renice prioridade [ [ -p ] pids ] [ [ -g ] pgrps ] [ [ -u ] usuários ]\n"
 
 #: sys-utils/renice.c:94
 #, c-format
 msgid "renice: %s: unknown user\n"
-msgstr ""
+msgstr "renice: %s: usuário desconhecido\n"
 
 #: sys-utils/renice.c:102
 #, c-format
 msgid "renice: %s: bad value\n"
-msgstr ""
+msgstr "renice: %s: valor inválido\n"
 
 #: sys-utils/renice.c:121
 msgid "getpriority"
-msgstr ""
+msgstr "getpriority"
 
 #: sys-utils/renice.c:126
 msgid "setpriority"
-msgstr ""
+msgstr "setpriority"
 
 #: sys-utils/renice.c:129
 #, c-format
 msgid "%d: old priority %d, new priority %d\n"
-msgstr ""
+msgstr "%d: prioridade antiga = %d; prioridade nova = %d\n"
 
 #: sys-utils/setsid.c:23
 #, c-format
 msgid "usage: %s program [arg ...]\n"
-msgstr ""
+msgstr "Uso: %s programa [arg ...]\n"
 
-#: sys-utils/tunelp.c:74
+#: sys-utils/tunelp.c:73
 #, 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:90
+#: sys-utils/tunelp.c:89
 msgid "malloc error"
-msgstr ""
+msgstr "erro de malloc"
 
-#: sys-utils/tunelp.c:101
-msgid "sscanf error"
-msgstr ""
+#: sys-utils/tunelp.c:100
+#, c-format
+msgid "%s: bad value\n"
+msgstr "%s: valor inválido\n"
 
-#: sys-utils/tunelp.c:239
+#: sys-utils/tunelp.c:237
 #, c-format
 msgid "%s: %s not an lp device.\n"
-msgstr "%s: %s não é um dispositivo lp\n"
+msgstr "%s: %s não é um dispositivo lp.\n"
 
-#: sys-utils/tunelp.c:260
+#: sys-utils/tunelp.c:258
 #, c-format
 msgid "%s status is %d"
-msgstr ""
+msgstr "o status de %s é %d"
 
-#: sys-utils/tunelp.c:261
+#: sys-utils/tunelp.c:259
 msgid ", busy"
-msgstr ""
+msgstr ", ocupado"
 
-#: sys-utils/tunelp.c:262
+#: sys-utils/tunelp.c:260
 msgid ", ready"
-msgstr ""
+msgstr ", pronto"
 
-#: sys-utils/tunelp.c:263
+#: sys-utils/tunelp.c:261
 msgid ", out of paper"
-msgstr ""
+msgstr ", sem papel"
 
-#: sys-utils/tunelp.c:264
+#: sys-utils/tunelp.c:262
 msgid ", on-line"
-msgstr ""
+msgstr ", on-line"
 
-#: sys-utils/tunelp.c:265
+#: sys-utils/tunelp.c:263
 msgid ", error"
-msgstr ""
+msgstr ", erro"
 
-#: sys-utils/tunelp.c:282
+#: sys-utils/tunelp.c:280
 msgid "LPGETIRQ error"
-msgstr ""
+msgstr "erro LPGETIRQ"
 
-#: sys-utils/tunelp.c:288
+#: sys-utils/tunelp.c:286
 #, c-format
 msgid "%s using IRQ %d\n"
-msgstr ""
+msgstr "%s usando IRQ %d\n"
 
-#: sys-utils/tunelp.c:290
+#: sys-utils/tunelp.c:288
 #, c-format
 msgid "%s using polling\n"
-msgstr ""
+msgstr "%s usando consulta (polling)\n"
 
 #: text-utils/col.c:153
 #, c-format
@@ -7897,24 +8626,24 @@ msgstr "col: argumento inv
 
 #: text-utils/col.c:516
 msgid "usage: col [-bfx] [-l nline]\n"
-msgstr ""
+msgstr "Uso: col [-bfx] [-l nlinha]\n"
 
 #: text-utils/col.c:522
 msgid "col: write error.\n"
-msgstr ""
+msgstr "col: erro de gravação.\n"
 
 #: text-utils/col.c:529
 #, c-format
 msgid "col: warning: can't back up %s.\n"
-msgstr ""
+msgstr "col: aviso: não é possível fazer backup de %s.\n"
 
 #: text-utils/col.c:530
 msgid "past first line"
-msgstr ""
+msgstr "além da primeira linha"
 
 #: text-utils/col.c:530
 msgid "-- line already flushed"
-msgstr ""
+msgstr "-- linha já descarregada"
 
 #: text-utils/colcrt.c:98
 #, c-format
@@ -7923,29 +8652,31 @@ msgstr "Uso: %s [ - ] [ -2 ] [ arquivo ... ]\n"
 
 #: text-utils/column.c:302
 msgid "line too long"
-msgstr "linha muito longa"
+msgstr "linha longa demais"
 
 #: text-utils/column.c:379
 msgid "usage: column [-tx] [-c columns] [file ...]\n"
-msgstr ""
+msgstr "Uso: column [-tx] [-c colunas] [arquivo ...]\n"
 
 #: text-utils/hexsyntax.c:80
 msgid "hexdump: bad length value.\n"
-msgstr ""
+msgstr "hexdump: valor de comprimento incorreto.\n"
 
 #: text-utils/hexsyntax.c:91
 msgid "hexdump: bad skip value.\n"
-msgstr ""
+msgstr "hexdump: valor para pular incorreto.\n"
 
 #: text-utils/hexsyntax.c:129
 msgid ""
 "hexdump: [-bcdovx] [-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:329
-#, fuzzy, c-format
+#, c-format
 msgid "usage: %s [-dfln] [+linenum | +/pattern] name1 name2 ...\n"
-msgstr " [-dfln] [+número_da_linha | +/padrão] nome1 nome2 ...\n"
+msgstr "Uso: %s [-dfln] [+número_da_linha | +/padrão] nome1 nome2 ...\n"
 
 #: text-utils/more.c:504
 #, c-format
@@ -7954,6 +8685,9 @@ msgid ""
 "*** %s: directory ***\n"
 "\n"
 msgstr ""
+"\n"
+"*** %s: diretório ***\n"
+"\n"
 
 #. simple ELF detection
 #: text-utils/more.c:543
@@ -7963,10 +8697,13 @@ msgid ""
 "******** %s: Not a text file ********\n"
 "\n"
 msgstr ""
+"\n"
+"******** %s: não é um arquivo de texto ********\n"
+"\n"
 
 #: text-utils/more.c:647
 msgid "[Use q or Q to quit]"
-msgstr ""
+msgstr "[Use q ou Q para sair]"
 
 #: text-utils/more.c:833
 msgid "--More--"
@@ -7984,12 +8721,12 @@ msgstr "[Pressione espa
 #: text-utils/more.c:1139
 #, c-format
 msgid "...back %d page"
-msgstr "...voltar %d páginas"
+msgstr "...voltar %d página(s)"
 
 #: text-utils/more.c:1185
 #, c-format
 msgid "...skipping %d line"
-msgstr ""
+msgstr "... pulando %d linha(s)"
 
 #: text-utils/more.c:1226
 msgid ""
@@ -7997,128 +8734,135 @@ msgid ""
 "***Back***\n"
 "\n"
 msgstr ""
+"\n"
+"***Voltar***\n"
+"\n"
 
 #: text-utils/more.c:1264
 msgid "Can't open help file"
-msgstr ""
+msgstr "Não foi possível abrir o arquivo de ajuda"
 
 #: text-utils/more.c:1285 text-utils/more.c:1289
 msgid "[Press 'h' for instructions.]"
-msgstr ""
+msgstr "[Pressione 'h' para obter instruções.]"
 
 #: text-utils/more.c:1324
 #, c-format
 msgid "\"%s\" line %d"
-msgstr ""
+msgstr "\"%s\" linha %d"
 
 #: text-utils/more.c:1326
 #, c-format
 msgid "[Not a file] line %d"
-msgstr ""
+msgstr "[Não é um arquivo] linha %d"
 
 #: text-utils/more.c:1410
 msgid "  Overflow\n"
-msgstr ""
+msgstr "  Estouro\n"
 
 #: text-utils/more.c:1457
 msgid "...skipping\n"
-msgstr ""
+msgstr "...pulando\n"
 
 #: text-utils/more.c:1487
 msgid "Regular expression botch"
-msgstr ""
+msgstr "Expressão regular malformada"
 
 #: text-utils/more.c:1499
 msgid ""
 "\n"
 "Pattern not found\n"
 msgstr ""
+"\n"
+"Padrão não encontrado\n"
 
 #: text-utils/more.c:1502
 msgid "Pattern not found"
-msgstr ""
+msgstr "Padrão não encontrado"
 
 #: text-utils/more.c:1563
 msgid "can't fork\n"
-msgstr ""
+msgstr "não foi possível realizar fork\n"
 
 #: text-utils/more.c:1602
 msgid ""
 "\n"
 "...Skipping "
 msgstr ""
+"\n"
+"...Pulando "
 
 #: text-utils/more.c:1606
 msgid "...Skipping "
-msgstr ""
+msgstr "...Pulando "
 
 #: text-utils/more.c:1607
 msgid "to file "
-msgstr ""
+msgstr "para o arquivo"
 
 #: text-utils/more.c:1607
 msgid "back to file "
-msgstr ""
+msgstr "de volta ao arquivo"
 
 #: text-utils/more.c:1846
 msgid "Line too long"
-msgstr "Linha muito longa"
+msgstr "Linha longa demais"
 
 #: text-utils/more.c:1890
 msgid "No previous command to substitute for"
-msgstr ""
+msgstr "Não há comando anterior para ser substituído"
 
 #: text-utils/odsyntax.c:133
 msgid "od: od(1) has been deprecated for hexdump(1).\n"
-msgstr ""
+msgstr "od: od(1) foi depreciado para hexdump(1).\n"
 
 #: text-utils/odsyntax.c:136
 #, c-format
 msgid "od: hexdump(1) compatibility doesn't support the -%c option%s\n"
-msgstr ""
+msgstr "od: a compatibilidade com hexdump(1) não suporta a(s) opção(ões) -%c\n"
 
 #: text-utils/odsyntax.c:137
 msgid "; see strings(1)."
-msgstr ""
+msgstr "; consulte strings(1)."
 
 #: text-utils/parse.c:63
 #, c-format
 msgid "hexdump: can't read %s.\n"
-msgstr ""
+msgstr "hexdump: não foi possível ler %s.\n"
 
 #: text-utils/parse.c:68
 msgid "hexdump: line too long.\n"
-msgstr "hexdump: linha muito longa.\n"
+msgstr "hexdump: linha longa demais.\n"
 
 #: text-utils/parse.c:406
 msgid "hexdump: byte count with multiple conversion characters.\n"
-msgstr ""
+msgstr "hexdump: contagem de bytes com múltiplos caracteres de conversão.\n"
 
 #: text-utils/parse.c:490
 #, c-format
 msgid "hexdump: bad byte count for conversion character %s.\n"
-msgstr ""
+msgstr "hexdump: contagem de bytes inválida para caractere de conversão %s.\n"
 
 #: text-utils/parse.c:497
 msgid "hexdump: %%s requires a precision or a byte count.\n"
-msgstr ""
+msgstr "hexdump: %% exige uma precisão ou uma contagem de bytes.\n"
 
 #: text-utils/parse.c:503
 #, c-format
 msgid "hexdump: bad format {%s}\n"
-msgstr ""
+msgstr "hexdump: formato inválido{%s}\n"
 
 #: text-utils/parse.c:509
 msgid "hexdump: bad conversion character %%%s.\n"
-msgstr ""
+msgstr "hexdump: caractere de conversão inválido %%%s.\n"
 
 #: text-utils/rev.c:114
 msgid "Unable to allocate bufferspace\n"
-msgstr ""
+msgstr "Não foi possível alocar espaço em buffer\n"
 
 #: text-utils/rev.c:173
 msgid "usage: rev [file ...]\n"
-msgstr ""
+msgstr "Uso: rev [arquivo ...]\n"
 
 #: text-utils/ul.c:141
 #, c-format
@@ -8127,49 +8871,34 @@ msgstr "Uso: %s [ -i ] [ -tTerm ] arquivo...\n"
 
 #: text-utils/ul.c:152
 msgid "trouble reading terminfo"
-msgstr ""
+msgstr "problemas na leitura de terminfo"
 
 #: text-utils/ul.c:241
 #, c-format
 msgid "Unknown escape sequence in input: %o, %o\n"
-msgstr ""
+msgstr "Seqüência de escape desconhecida na entrada: %o, %o\n"
 
 #: text-utils/ul.c:398
 msgid "Unable to allocate buffer.\n"
-msgstr ""
+msgstr "Não foi possível alocar buffer.\n"
 
 #: text-utils/ul.c:555
 msgid "Input line too long.\n"
-msgstr "Linha de entrada muito longa.\n"
+msgstr "Linha de entrada longa demais.\n"
 
 #: text-utils/ul.c:568
 msgid "Out of memory when growing buffer.\n"
-msgstr ""
+msgstr "Falta memória quando o buffer cresce.\n"
 
-#: kbd/kbdrate.c:139 kbd/kbdrate.c:271
-#, fuzzy, c-format
+#: kbd/kbdrate.c:138 kbd/kbdrate.c:276
+#, c-format
 msgid "Typematic Rate set to %.1f cps (delay = %d ms)\n"
-msgstr "Velocidade do teclado configurada para %.1f cps (intervalo = %d mS)\n"
+msgstr "Velocidade do teclado definida como %.1f cps (intervalo = %d ms)\n"
 
-#: kbd/kbdrate.c:247
+#: kbd/kbdrate.c:222
+msgid "Usage: kbdrate [-V] [-s] [-r rate] [-d delay]\n"
+msgstr "Uso: kbdrate [-V] [-s] [-r velocidade] [-d intervalo]\n"
+
+#: kbd/kbdrate.c:252
 msgid "Cannot open /dev/port"
 msgstr "Não foi possível abrir /dev/port"
-
-#~ msgid "Too many parts"
-#~ msgstr "Número excessivo de partições"
-
-#~ msgid ""
-#~ "unit: sectors\n"
-#~ "\n"
-#~ msgstr ""
-#~ "unidade: setores\n"
-#~ "\n"
-
-#~ msgid ", bootable"
-#~ msgstr ", inicializável"
-
-#~ msgid "usage: "
-#~ msgstr "uso: "
-
-#~ msgid "mount: out of memory"
-#~ msgstr "getopt: faltou memória!"
index 50114d13bf9848522ac28a9d0c379aec8062bf62..f7ce866db40d22d1cf62fdef51682192fd2cc154 100644 (file)
@@ -9,7 +9,7 @@ It is in the non-installed part of the e2progs distribution.
 (ii) rescuept is a utility that recognizes ext2 superblocks,
 FAT partitions, swap partitions, and extended partition tables;
 it may also recognize BSD disklabels and Unixware 7 partitions.
-It prints out information that can be used with fdisk or sfdisk
+It prints out information that is suitable as input to sfdisk
 to reconstruct the partition table.
 It is in the non-installed part of the util-linux distribution.
 
index 8be5353812acf4bb4a4810476abfa5cf4876a757..80c0a4698a5085cffced3f9d9a2006426ca9bd0a 100644 (file)
 #include <fcntl.h>
 #include <string.h>
 #include <unistd.h>
+#include <sys/stat.h>
 #include <sys/ioctl.h>
 
-#include <linux/fs.h>           /* for BLKGETSIZE */
-
+#ifndef BLKGETSIZE
+#define BLKGETSIZE _IO(0x12,96)
+#endif
 
 char *progname;
 char *device;
@@ -497,9 +499,14 @@ main(int argc, char **argv){
        }
 
        if (ioctl(fd, BLKGETSIZE, &size)) {
+               struct stat s;
                perror("BLKGETSIZE");
                fprintf(stderr, "%s: could not get device size\n", progname);
-               exit(1);
+               if (stat(device, &s)) {
+                       fprintf(stderr, "and also stat fails. Aborting.\n");
+                       exit(1);
+               }
+               size = s.st_size / 512;
        }
 
        pagesize = getpagesize();
index 85173658ac7cfefb4596b518d7ec4b5ae5bd51d2..837ecd30ebb4016e91409e78eb2962af0dcec0f8 100644 (file)
@@ -27,6 +27,8 @@ SBIN=                 ctrlaltdel
 
 NOTMADE=
 
+CWFLAGS := $(subst -Wmissing-prototypes,,$(CFLAGS))
+
 ifeq "$(HAVE_SLN)" "no"
 ifeq "$(CAN_DO_STATIC)" "no"
 NOTMADE=nosln
@@ -46,6 +48,16 @@ USRINFO=        ipc.info
 
 all: $(SBIN) $(BIN) $(USRBIN) $(USRSBIN) $(NOTMADE)
 
+# Sometimes indirectly include <asm/bitops.h>
+cytune.o: cytune.c
+       $(CC) $(CWFLAGS) -c $< -o $@
+
+ipcs.o: ipcs.c
+       $(CC) $(CWFLAGS) -c $< -o $@
+
+ipcrm.o: ipcrm.c
+       $(CC) $(CWFLAGS) -c $< -o $@
+
 sln: sln.c
        $(CC) -static $(CFLAGS) $(LDFLAGS) $< -o $@
 
@@ -57,6 +69,7 @@ nosln:
 arch: arch.o
 ctrlaltdel.o: ctrlaltdel.c $(LIB)/linux_reboot.h
 ctrlaltdel: ctrlaltdel.o $(LIB)/my_reboot.o
+cytune: cytune.o
 ipcrm: ipcrm.o
 ipcs: ipcs.o
 rdev: rdev.o
index a98b6a62550aad512e7a471673d496a837d10a56..0bc0c5cb194033e6a578818cdbd780aa0327fe51 100644 (file)
@@ -89,7 +89,8 @@ int cmon_index;
 #define mvtime(tvpto, tvpfrom)  (((tvpto)->tv_sec = (tvpfrom)->tv_sec),(tvpto)->tv_usec = (tvpfrom)->tv_usec)
 
 
-inline double dtime(struct timeval * tvpnew, struct timeval * tvpold) {
+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;
@@ -99,7 +100,8 @@ inline double dtime(struct timeval * tvpnew, struct timeval * tvpold) {
 static int global_argc, global_optind;
 static char ***global_argv;
 
-void summary(int signal) {
+static void
+summary(int signal) {
   struct cyclades_control *cc;
 
   int argc, optind;
index a1026af63179e6dae31f83cad0d0acffea1e45dc..5cf1817aa140ac112193fcab15c5a6507b68a933 100644 (file)
 
 static char *progname;
 
-void
-usage()
-{
+static void
+usage(void) {
    fprintf( stderr, _("Usage: %s [-c] [-n level] [-s bufsize]\n"), progname );
 }
 
-int main( int argc, char *argv[] )
-{
+int
+main( int argc, char *argv[] ) {
    char *buf;
-   int bufsize=8196;
+   int bufsize=16392;
    int  i;
    int  n;
    int  c;
index 4dcd081b45e23b288a2ea662737de9bc20775b81..2fc6ec47fb009f7a88f8fc8360c4db4d492869b4 100644 (file)
@@ -4,6 +4,9 @@
  * 1999-02-22 Arkadiusz Mi¶kiewicz <misiek@misiek.eu.org>
  * - added Native Language Support
  *
+ * 1999-04-02 frank zago
+ * - can now remove several id's in the same call
+ *
  */
 
 #include <stdio.h>
@@ -30,47 +33,99 @@ union semun {
 };
 #endif
 
+char *execname;
 
-int main(int argc, char **argv)
-{
+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 display_usage(void)
+{
+       printf (_("usage: %s {shm | msg | sem} id ...\n"), execname);
+}
+
+int main(int argc, char **argv)
+{
+       execname = argv[0];
+
        setlocale(LC_ALL, "");
        bindtextdomain(PACKAGE, LOCALEDIR);
        textdomain(PACKAGE);
 
-       if (argc != 3 || strlen(argv[1]) < 3) {
-               printf (_("usage: %s [shm | msg | sem] id\n"), argv[0]);
-               exit (1);
+       if (argc < 3) {
+               display_usage();
+               exit(1);
+       }
+       
+       if (!strcmp(argv[1], "shm")) {
+               if (remove_ids(SHM, argc-2, &argv[2])) {
+                       exit(1);
+               }
        }
-       id = atoi (argv[2]);
-       switch (argv[1][1])  {
-       case 'h':
-               if (!shmctl (id, IPC_RMID, NULL)) 
-               break;
-               perror ("shmctl "); 
-               exit (1);
-               
-       case 'e':
-               if (!semctl (id, 0, IPC_RMID, arg)) 
-               break;
-               perror ("semctl "); 
-               exit (1);
-
-       case 's':
-               if (!msgctl (id, IPC_RMID, NULL)) 
-               break;
-               perror ("msgctl "); 
-               exit (1);
-
-       default:
-               printf (_("usage: %s [-shm | -msg | -sem] id\n"), argv[0]);
-               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);
+               }
        }
-       printf (_("resource deleted\n"));
+       else {
+               display_usage();
+               printf (_("unknown resource type: %s\n"), argv[1]);
+               exit(1);
+       }
+
+       printf (_("resource(s) deleted\n"));
        return 0;
 }
                        
index 09dec45a0bf398b52014544b903d186ff2cd9e65..3990ad3fa1dc22e3a49c28986248c708b6222889 100644 (file)
@@ -69,6 +69,11 @@ struct shm_info {
 #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?
@@ -112,16 +117,16 @@ void print_sem (int id);
 
 static char *progname;
 
-void usage(void)
-{
+static void
+usage(void) {
        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); 
        return;
 }
 
-void help (void)
-{
+static void
+help (void) {
        printf (_("%s provides information on ipc facilities for"), progname);
         printf (_(" which you have read access.\n")); 
        printf (_("Resource Specification:\n\t-m : shared_mem\n\t-q : messages\n"));
@@ -133,8 +138,8 @@ void help (void)
        return;
 }
 
-int main (int argc, char **argv)
-{
+int
+main (int argc, char **argv) {
        int opt, msg = 0, sem = 0, shm = 0, id=0, print=0; 
        char format = 0;
        char options[] = "atcluphsmqi:";
@@ -222,8 +227,8 @@ int main (int argc, char **argv)
 }
 
 
-void print_perms (int id, struct ipc_perm *ipcp)
-{
+static void
+print_perms (int id, struct ipc_perm *ipcp) {
        struct passwd *pw;
        struct group *gr;
 
index 434784b8bd6dc94a4da72d156546c46c70612775..768d17c86cdcddd152d5ea2ce69b249dfb35423e 100644 (file)
@@ -61,9 +61,8 @@ Wed Jun 22 21:12:29 1994: Applied patches from Dave
 
 /* rdev.c  -  query/set root device. */
 
-void
-usage()
-{
+static void
+usage(void) {
 
     puts(_("usage: rdev [ -rsv ] [ -o OFFSET ] [ IMAGE [ VALUE [ OFFSET ] ] ]"));
     puts(_("  rdev /dev/fd0  (or rdev /linux, etc.) displays the current ROOT device"));
@@ -115,8 +114,10 @@ static char *find_dev(int number)
     strcpy(name,"/dev/");
     while ((dir = readdir(dp)) != NULL) {
        strcpy(name+5,dir->d_name);
-       if (stat(name,&s) < 0) die(name);
-       if ((s.st_mode & S_IFMT) == S_IFBLK && s.st_rdev == number) return name;
+       if (stat(name,&s) < 0)
+           continue;
+       if ((s.st_mode & S_IFMT) == S_IFBLK && s.st_rdev == number)
+           return name;
     }
     sprintf(name,"0x%04x",number);
     return name;
index 6a8d4d20f67fe0cd188b18d93020f890c630ff04..551b2cbf4e7a6529b7650d96f2387a0f1f8a75e5 100644 (file)
@@ -46,8 +46,8 @@ static char defaultmap[]="/usr/src/linux/System.map";
 static char defaultpro[]="/proc/profile";
 static char optstring[]="m:p:itvarV";
 
-void usage()
-{
+static void
+usage(void) {
   fprintf(stderr,
                  _("%s: Usage: \"%s [options]\n"
                  "\t -m <mapfile>  (default = \"%s\")\n"
@@ -61,9 +61,9 @@ void usage()
   exit(1);
 }
 
-FILE *myopen(char *name, char *mode, int *flag)
-{
-static char cmdline[S_LEN];
+static FILE *
+myopen(char *name, char *mode, int *flag) {
+  static char cmdline[S_LEN];
 
   if (!strcmp(name+strlen(name)-3,".gz"))
     {
@@ -75,23 +75,23 @@ static char cmdline[S_LEN];
   return fopen(name,mode);
 }
 
-int main (int argc, char **argv)
-{
-FILE *pro;
-FILE *map;
-int proFd;
-char *mapFile, *proFile;
-unsigned long len=0, add0=0, index=0;
-unsigned int step;
-unsigned int *buf, total, fn_len;
-unsigned 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;
-char mapline[S_LEN];
-int maplineno=1;
-int popenMap;   /* flag to tell if popen() has been used */
+int
+main (int argc, char **argv) {
+  FILE *pro;
+  FILE *map;
+  int proFd;
+  char *mapFile, *proFile;
+  unsigned long len=0, add0=0, index=0;
+  unsigned int step;
+  unsigned int *buf, total, fn_len;
+  unsigned 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;
+  char mapline[S_LEN];
+  int maplineno=1;
+  int popenMap;   /* flag to tell if popen() has been used */
 
 #define next (current^1)
 
index 257b4342e711bc979af492ba275c47c977fa95b2..8c70114a40eac8a0135c718ef5666243b541a511 100644 (file)
 #endif
 
 int
-main (argc, argv)
-     int argc;
-     char **argv;
-{
+main (int argc, char **argv) {
   struct stat stats;
 
   if (argc != 3) return 1;
index 7292a0cade2c1bb633bdf21d1463778f099a5c6d..b04d868b4c3ebfde57460b68d7d71fde07f98168 100644 (file)
@@ -69,7 +69,8 @@ struct command {
 };
 
 
-void print_usage(char *progname) {
+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"),
@@ -77,13 +78,13 @@ void print_usage(char *progname) {
   exit (1);
 }
 
-
-void print_version(char *progname) {
+static void
+print_version(char *progname) {
   printf("%s %s\n", progname, UTIL_LINUX_VERSION);
 }
 
-
-void *mylloc(long size) {
+static void *
+mylloc(long size) {
   void *ptr;
   if(!(ptr = (void*)malloc(size))) {
     perror(_("malloc error"));
@@ -94,7 +95,8 @@ void *mylloc(long size) {
 
 static char *progname;
 
-long get_val(char *val) {
+static long
+get_val(char *val) {
   long ret;
   if (!(sscanf(val, "%ld", &ret) == 1)) {
     fprintf(stderr, _("%s: bad value\n"), progname);
@@ -104,13 +106,15 @@ long get_val(char *val) {
 }
 
 
-long get_onoff(char *val) {
+static long
+get_onoff(char *val) {
   if (!strncasecmp("on", val, 2))
     return 1;
   return 0;
 }
 
-int main (int argc, char ** argv) {
+int
+main (int argc, char ** argv) {
   int c, fd, irq, status, show_irq, offset = 0, retval;
   char *filename, *p;
   struct stat statbuf;
index 1bf98527792c0e3f0fd3378cf15b38e60ee49018..141512111f4dab35385be6eabbe0ad9a0e1f7d5e 100644 (file)
@@ -42,7 +42,7 @@
 .Nd filter reverse line feeds from input
 .Sh SYNOPSIS
 .Nm col
-.Op Fl bfx
+.Op Fl bfpx
 .Op Fl l Ar num
 .Sh DESCRIPTION
 .Nm Col
@@ -66,6 +66,12 @@ written to each column position.
 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
@@ -119,6 +125,12 @@ will display a warning message.
 .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
index 81026bfd46dcb7d4eda5dc58966058e90857f0da..1f740f42572efa6a0ed0ea37c451864f15a3b8b6 100644 (file)
@@ -45,7 +45,6 @@
  */
 
 #include <stdlib.h>
-#include <malloc.h>
 #include <errno.h>
 #include <ctype.h>
 #include <string.h>
@@ -109,6 +108,7 @@ 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) \
@@ -136,7 +136,8 @@ int main(int argc, char **argv)
        
        max_bufd_lines = 128;
        compress_spaces = 1;            /* compress spaces into tabs */
-       while ((opt = getopt(argc, argv, "bfhl:x")) != EOF)
+       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;
@@ -154,6 +155,9 @@ int main(int argc, char **argv)
                                exit(1);
                        }
                        break;
+               case 'p':
+                       pass_unknown_seqs = 1;
+                       break;
                case 'x':               /* do not compress spaces into tabs */
                        compress_spaces = 0;
                        break;
@@ -221,7 +225,8 @@ int main(int argc, char **argv)
                                cur_line -= 2;
                                continue;
                        }
-                       continue;
+                       if (!pass_unknown_seqs)
+                               continue;
                }
 
                /* Must stuff ch in a line - are we at the right one? */
@@ -403,7 +408,7 @@ void flush_line(LINE *l)
                        count = (int *)xmalloc((void *)count,
                            (unsigned)sizeof(int) * count_size);
                }
-               bzero((char *)count, sizeof(int) * l->l_max_col + 1);
+               memset(count, 0, sizeof(int) * l->l_max_col + 1);
                for (i = nchars, c = l->l_line; --i >= 0; c++)
                        count[c->c_column]++;
 
@@ -491,7 +496,7 @@ alloc_line()
        l = line_freelist;
        line_freelist = l->l_next;
 
-       bzero(l, sizeof(LINE));
+       memset(l, 0, sizeof(LINE));
        return(l);
 }
 
@@ -513,7 +518,7 @@ xmalloc(void *p, size_t size)
 
 void usage()
 {
-       (void)fprintf(stderr, _("usage: col [-bfx] [-l nline]\n"));
+       (void)fprintf(stderr, _("usage: col [-bfpx] [-l nline]\n"));
        exit(1);
 }
 
index 1ad7b8dd41bec644f91704764e59676594b6dcdd..cfea89fb7b63f8d216d45c555db5f7c052c10c79 100644 (file)
@@ -80,9 +80,7 @@ wchar_t default_separator[] = { '\t', ' ', 0 };
 wchar_t *separator = default_separator;        /* field separator for table option */
 
 int
-main(argc, argv)
-       int argc;
-       char **argv;
+main(int argc, char **argv)
 {
        struct winsize win;
        FILE *fp;
index 27d4e7245d42d934c7ac9eb40f96297509d6dba8..481d2b1aebe1bbbc48cb5a9723043aacaff94a78 100644 (file)
@@ -42,6 +42,7 @@
 #include "hexdump.h"
 
 static void doskip(char *, int);
+static u_char *get(void);
 
 #ifndef MIN
 #define MIN(a,b) ((a)<(b)?(a):(b))
@@ -133,7 +134,7 @@ static off_t savaddress;            /* saved address/offset in stream */
        } \
 }
 
-void bpad(PR *pr)
+static void bpad(PR *pr)
 {
        static char *spec = " -0+#";
        register char *p1, *p2;
@@ -149,7 +150,7 @@ void bpad(PR *pr)
        while ((*p2++ = *p1++) != 0) ;
 }
 
-void display()
+void display(void)
 {
        extern FU *endfu;
        register FS *fs;
@@ -158,7 +159,7 @@ void display()
        register int cnt;
        register u_char *bp;
        off_t saveaddress;
-       u_char savech = 0, *savebp, *get();
+       u_char savech = 0, *savebp;
 
        while ((bp = get()) != NULL)
            for (fs = fshead, savebp = bp, saveaddress = address; fs;
@@ -205,8 +206,8 @@ void display()
 
 static char **_argv;
 
-u_char *
-get()
+static u_char *
+get(void)
 {
        extern enum _vflag vflag;
        extern int length;
@@ -276,7 +277,7 @@ get()
 
 int next(char **argv)
 {
-       extern int errno, exitval;
+       extern int exitval;
        static int done;
        int statok;
 
@@ -312,7 +313,6 @@ int next(char **argv)
 static void
 doskip(char *fname, int statok)
 {
-       extern int errno;
        struct stat sbuf;
 
        if (statok) {
@@ -353,7 +353,6 @@ emalloc(int size)
 
 void nomem()
 {
-       extern int errno;
 
        (void)fprintf(stderr, "hexdump: %s.\n", strerror(errno));
        exit(1);
index a2be190384b5475861ee95cf6022f52015b1ff43..c18c6150520f429fc9266fcdf8de87b5fdc40750 100644 (file)
@@ -37,6 +37,7 @@
 
 #include <sys/types.h>
 #include <stdio.h>
+#include <string.h>
 #include "hexdump.h"
 #include "nls.h"
 
@@ -45,18 +46,16 @@ int blocksize;                              /* data block size */
 int exitval;                           /* final exit value */
 int length = -1;                       /* max bytes to read */
 
-int main(argc, argv)
-       int argc;
-       char **argv;
+int main(int argc, char **argv)
 {
        register FS *tfs;
-       char *p, *rindex();
+       char *p;
 
        setlocale(LC_ALL, "");
        bindtextdomain(PACKAGE, LOCALEDIR);
        textdomain(PACKAGE);
 
-       if (!(p = rindex(argv[0], 'o')) || strcmp(p, "od"))
+       if (!(p = strrchr(argv[0], 'o')) || strcmp(p, "od"))
                newsyntax(argc, &argv);
        else
                oldsyntax(argc, &argv);
index 3ca46b910cc5a5e760ea3da568ab8c29fb5d9b28..4453122311524e89ce25a63e8892c4b5cc60b728 100644 (file)
@@ -77,7 +77,7 @@ extern int deprecated;
 extern off_t skip;                      /* bytes to skip */
 enum _vflag { ALL, DUP, FIRST, WAIT }; /* -v values */
 
-char *emalloc();
+char *emalloc(int);
 int size(FS *);
 void add(char *);
 void rewrite(FS *);
index 2f08b38a16bf9ea74960e1ee51b137c8a2be71e6..0853dcd90e2f3396f61c299d84270e9ee85f1222 100644 (file)
@@ -101,12 +101,13 @@ 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 preceeded by a decimal number, called k in the
+Some commands may be preceded by a decimal number, called k in the
 descriptions below.
 In the following descriptions, ^X means control-X.
 .Pp
index 771c8d2aeab3f14fe39287089650e91f24600e29..b7c9d76a21ce867b2fa49454031ca05bd783fcf9 100644 (file)
 #include <locale.h>
 #include "nls.h"
 
+#define _REGEX_RE_COMP
+#include <regex.h>
+#undef _REGEX_RE_COMP
+
 /* #define MOREHELPFILE "/usr/lib/more.help" */
 #define VI             "/usr/bin/vi"
 
@@ -102,6 +106,7 @@ int  xprintf (char *fmt, ...);
 void execute (char *filename, char *cmd, ...);
 void errwrite (char *txt);
 void errwrite1 (char *sym);
+FILE *checkf (char *, int *);
 
 #define TBUFSIZ        1024
 #define LINSIZ 256
@@ -114,7 +119,7 @@ struct termios      otty, savetty0;
 long           file_pos, file_size;
 int            fnum, no_intty, no_tty, slow_tty;
 int            dum_opt, dlines;
-void           onquit(), onsusp(), chgwinsz(), end_it();
+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 */
@@ -151,14 +156,12 @@ char              *Home;          /* go to home */
 char           *cursorm;       /* cursor movement */
 char           cursorhome[40]; /* contains cursor movement to home */
 char           *EodClr;        /* clear rest of screen */
-char           *tgetstr();
 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 */
-char           *getenv();
-static int     magic();
+static int     magic(FILE *, char *);
 struct {
     long chrctr, line;
 } context, screen_start;
@@ -177,32 +180,32 @@ extern char       PC;             /* pad character */
 #endif
 #include <term.h>                      /* include after <curses.h> */
 
-void
+static void
 my_putstring(char *s) {
      putp(s);
 }
 
-void
+static void
 my_setupterm(const char *term, int fildes, int *errret) {
      setupterm(term, fildes, errret);
 }
 
-int
+static int
 my_tgetnum(char *s, char *ss) {
      return tigetnum(ss);
 }
 
-int
+static int
 my_tgetflag(char *s, char *ss) {
      return tigetflag(ss);
 }
 
-char *
+static char *
 my_tgetstr(char *s, char *ss) {
      return tigetstr(ss);
 }
 
-char *
+static char *
 my_tgoto(const char *cap, int col, int row) {
      return tparm(cap, col, row);
 }
@@ -214,32 +217,32 @@ char termbuffer[4096];
 char tcbuffer[4096];
 char *strbuf = termbuffer;
 
-void
+static void
 my_putstring(char *s) {
      tputs (s, 1, putchar);
 }
 
-void
+static void
 my_setupterm(const char *term, int fildes, int *errret) {
      *errret = tgetent(tcbuffer, term);
 }
 
-int
+static int
 my_tgetnum(char *s, char *ss) {
      return tgetnum(s);
 }
 
-int
+static int
 my_tgetflag(char *s, char *ss) {
      return tgetflag(s);
 }
 
-char *
+static char *
 my_tgetstr(char *s, char *ss) {
      return tgetstr(s, &strbuf);
 }
 
-char *
+static char *
 my_tgoto(const char *cap, int col, int row) {
      return tgoto(cap, col, row);
 }
@@ -247,10 +250,10 @@ my_tgoto(const char *cap, int col, int row) {
 
 #endif /* USE_CURSES */
 
-void
+static void
 idummy(int *kk) {}
 
-void
+static void
 Fdummy(FILE **ff) {}
 
 int main(int argc, char **argv) {
@@ -265,7 +268,6 @@ int main(int argc, char **argv) {
     int                clearit = 0;
     int                initline = 0;
     char       initbuf[80];
-    FILE       *checkf();
 
     setlocale(LC_ALL, "");
     bindtextdomain(PACKAGE, LOCALEDIR);
@@ -631,8 +633,7 @@ void screen (register FILE *f, register int num_lines)
 ** Come here if a quit signal is received
 */
 
-void onquit()
-{
+void onquit(int dummy) {
     signal(SIGQUIT, SIG_IGN);
     if (!inwait) {
        putchar ('\n');
@@ -656,8 +657,7 @@ void onquit()
 */
 
 #ifdef SIGWINCH
-void chgwinsz()
-{
+void chgwinsz(int dummy) {
     struct winsize win;
 
     (void) signal(SIGWINCH, SIG_IGN);
@@ -680,9 +680,7 @@ void chgwinsz()
 ** Clean up terminal state and exit. Also come here if interrupt signal received
 */
 
-void end_it ()
-{
-
+void end_it (int dummy) {
     reset_tty ();
     if (clreol) {
        putchar ('\r');
@@ -764,7 +762,7 @@ int printd (int n)
 /* Put the print representation of an integer into a string */
 static char *sptr;
 
-void Sprintf (int n) {
+static void Sprintf (int n) {
     int a;
 
     if ((a = n/10) != 0)
@@ -772,7 +770,7 @@ void Sprintf (int n) {
     *sptr++ = n % 10 + '0';
 }
 
-void scanstr (int n, char *str)
+static void scanstr (int n, char *str)
 {
     sptr = str;
     Sprintf (n);
@@ -798,9 +796,7 @@ char *s;
 ** string "string"
 */
 
-int tailequ (path, string)
-char *path;
-register char *string;
+static int tailequ (char *path, register char *string)
 {
        register char *tail;
 
@@ -815,8 +811,7 @@ register char *string;
        return(0);
 }
 
-void prompt (filename)
-char *filename;
+static void prompt (char *filename)
 {
     if (clreol)
        cleareol ();
@@ -1171,7 +1166,7 @@ int command (char *filename, register FILE *f)
            ret (nscroll);
        case 'q':
        case 'Q':
-           end_it ();
+           end_it (0);
        case 's':
        case 'f':
            if (nlines == 0) nlines++;
@@ -1329,7 +1324,7 @@ int colon (char *filename, int cmd, int nlines)
        case 'n':
                if (nlines == 0) {
                        if (fnum >= nfiles - 1)
-                               end_it ();
+                               end_it (0);
                        nlines++;
                }
                putchar ('\r');
@@ -1352,7 +1347,7 @@ int colon (char *filename, int cmd, int nlines)
                return (-1);
        case 'q':
        case 'Q':
-               end_it ();
+               end_it (0);
        default:
                ringbell();
                return (-1);
@@ -1433,8 +1428,8 @@ void search(char buf[], FILE *file, register int n)
     register long line2 = startline;
     register long line3 = startline;
     register int lncount;
-    int saveln, rv, re_exec();
-    char *s, *re_comp();
+    int saveln, rv;
+    char *s;
 
     context.line = saveln = Currline;
     context.chrctr = startline;
@@ -1497,7 +1492,7 @@ void search(char buf[], FILE *file, register int n)
        }
        else {
            pr (_("\nPattern not found\n"));
-           end_it ();
+           end_it (0);
        }
        error (_("Pattern not found"));
     }
@@ -1746,12 +1741,11 @@ retry:
 int readch ()
 {
        char ch;
-       extern int errno;
 
        errno = 0;
        if (read (2, &ch, 1) <= 0) {
                if (errno != EINTR)
-                       end_it();
+                       end_it(0);
                else
                        ch = otty.c_cc[VKILL];
        }
@@ -1958,7 +1952,7 @@ void set_tty ()
        stty(fileno(stderr), &otty);
 }
 
-int ourputch(int ch) {
+static int ourputch(int ch) {
     return putc(ch, stdout);
 }
 
@@ -1992,8 +1986,7 @@ void rdline (register FILE *f)
 
 /* Come here when we get a suspend signal from the terminal */
 
-void onsusp ()
-{
+void onsusp (int dummy) {
     sigset_t signals, oldmask;
 
     /* ignore SIGTTOU so we don't get stopped if csh grabs the tty */
index c22e71d014804925d33581d9f2d8228d18ad52a3..74d724e198d491dd6825e40b4a08794a9a45fb0b 100644 (file)
@@ -44,6 +44,7 @@
 #include "nls.h"
 
 static void odoffset(int, char ***);
+static void odprecede(void);
 
 int deprecated;
 
@@ -55,7 +56,6 @@ oldsyntax(int argc, char ***argvp)
        extern int optind;
        int ch;
        char **argv;
-       static void odprecede();
 
        deprecated = 1;
        argv = *argvp;
@@ -244,7 +244,7 @@ odoffset(int argc, char ***argvp)
 }
 
 static void
-odprecede()
+odprecede(void)
 {
        static int first = 1;
 
index 1102e975db29c5532545cfe3ac4461dd3ceb1712..f96a68e812b04b9197fa5653e7ccdd48e0b63dc3 100644 (file)
@@ -84,7 +84,7 @@ void add(char *fmt)
        static FS **nextfs;
        FS *tfs;
        FU *tfu, **nextfu;
-       char *savep, *emalloc();
+       char *savep;
 
        /* start new linked list of format units */
        /* NOSTRICT */
@@ -491,7 +491,7 @@ static void badcnt(char *s)
        exit(1);
 }
 
-static void badsfmt()
+static void badsfmt(void)
 {
        (void)fprintf(stderr,
            _("hexdump: %%s requires a precision or a byte count.\n"));
index 82b674f2595bbbde2e8ac39a7676a10ea006f120..a5697b462e87e94e0749aa5632657f4e1d867dfc 100644 (file)
@@ -44,6 +44,7 @@
  *
  */
 
+#include <stdarg.h>
 #include <sys/types.h>
 #include <errno.h>
 #include <stdio.h>
 
 #include "widechar.h"
 
-void usage __P((void));
-void warn __P((const char *, ...));
+void usage(void);
+void warn(const char *, ...);
 
 int
-main(argc, argv)
-       int argc;
-       char *argv[];
+main(int argc, char *argv[])
 {
   register char *filename;
   register wchar_t *t;
@@ -140,27 +139,11 @@ main(argc, argv)
   exit(rval);
 }
 
-#if __STDC__
-#include <stdarg.h>
-#else
-#include <varargs.h>
-#endif
-
 void
-#if __STDC__
 warn(const char *fmt, ...)
-#else
-warn(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, "rev: ");
        (void)vfprintf(stderr, fmt, ap);
        va_end(ap);
@@ -168,7 +151,7 @@ warn(fmt, va_alist)
 }
 
 void
-usage()
+usage(void)
 {
        (void)fprintf(stderr, _("usage: rev [file ...]\n"));
        exit(1);
index 7745cce4d05fb8d44d73997afaaec3ea970f362f..419efc938a635ece0902adcdd66c278690794e90 100644 (file)
@@ -282,7 +282,7 @@ void filter(FILE *f)
                flushln();
 }
 
-void flushln()
+void flushln(void)
 {
        int lastmode;
        int i;
@@ -321,7 +321,7 @@ void flushln()
  * For terminals that can overstrike, overstrike underlines and bolds.
  * We don't do anything with halfline ups and downs, or Greek.
  */
-void overstrike()
+void overstrike(void)
 {
        register int i;
 #ifdef __GNUC__
@@ -362,7 +362,7 @@ void overstrike()
        }
 }
 
-void iattr()
+void iattr(void)
 {
        register int i;
 #ifdef __GNUC__
@@ -389,7 +389,7 @@ void iattr()
        putwchar('\n');
 }
 
-void initbuf()
+void initbuf(void)
 {
        if (obuf == NULL) {     /* First time. */
                obuflen = INITBUF;
@@ -401,13 +401,13 @@ void initbuf()
        }
 
        /* assumes NORMAL == 0 */
-       bzero((char *)obuf, sizeof(struct CHAR) * obuflen);
+       memset(obuf, 0, sizeof(struct CHAR) * obuflen);
        setcol(0);
        maxcol = 0;
        mode &= ALTSET;
 }
 
-void fwd()
+void fwd(void)
 {
        int oldcol, oldmax;
 
@@ -418,7 +418,7 @@ void fwd()
        maxcol = oldmax;
 }
 
-void reverse()
+void reverse(void)
 {
        upln++;
        fwd();
@@ -427,10 +427,8 @@ void reverse()
        upln++;
 }
 
-void initinfo()
+void initinfo(void)
 {
-       char *tigetstr();
-
        CURS_UP =               tigetstr("cuu1");
        CURS_RIGHT =            tigetstr("cuf1");
        CURS_LEFT =             tigetstr("cub1");