]> err.no Git - util-linux/commitdiff
Imported from util-linux-2.11q tarball.
authorKarel Zak <kzak@redhat.com>
Wed, 6 Dec 2006 23:25:54 +0000 (00:25 +0100)
committerKarel Zak <kzak@redhat.com>
Wed, 6 Dec 2006 23:25:54 +0000 (00:25 +0100)
42 files changed:
HISTORY
VERSION
configure
disk-utils/mkswap.c
fdisk/fdisk.c
login-utils/login.c
misc-utils/Makefile
mount/linux_fs.h
mount/mount.8
mount/mount.c
mount/mount_by_label.c
mount/mount_by_label.h
mount/nfsmount.c
mount/umount.c
partx/Makefile
partx/crc32.c [new file with mode: 0644]
partx/crc32.h [new file with mode: 0644]
partx/dos.c
partx/dos.h [new file with mode: 0644]
partx/efi.h [new file with mode: 0644]
partx/gpt.c [new file with mode: 0644]
partx/gpt.h [new file with mode: 0644]
partx/partx.c
partx/partx.h
partx/unixware.c
po/cat-id-tbl.c
po/cs.po
po/da.po
po/de.po
po/es.po
po/et.po
po/fr.po
po/it.po
po/ja.po
po/nl.po
po/pt_BR.po
po/sv.po
po/tr.po
sys-utils/ipcrm.8
sys-utils/ipcrm.c
sys-utils/readprofile.c
text-utils/more.c

diff --git a/HISTORY b/HISTORY
index 36fd0e38b37553c58fb62d1b1d3aa2890833b5bf..b07312dab10664ac46e9877c89e02ac00a70bf2a 100644 (file)
--- a/HISTORY
+++ b/HISTORY
@@ -1,7 +1,33 @@
+util-linux 2.11q
+
+* fdisk: geometry improvement
+* login: open tty fix (Denis Vlasenko)
+* more: wide character patches (Mitsuru Chinen)
+* mount: complain on mount-by-label when label is not unique (Matt Copping)
+* partx: add GUID Partition Tables (Matt Domsch)
+
+util-linux 2.11p
+
+* Danish messages (Claus Hindsgaul)
+* No French messages with permission to distribute (Michel Robitaille)
+* German messages (Karl Eichwalder)
+* Spanish messages (Santiago Vila Doncel)
+* Swedish messages (Christian Rose)
+* Turkish messages (Nilgün Belma Bugüner)
+* ipcrm: make POSIX compatible (Andre Corwin Mazzone)
+* ipcrm.8: idem
+* kill: fixed Makefile
+* login: setsid fixes(?)
+* mkswap: max size of swap space is very large (Peter Chubb)
+* mount: JFS support for mount-by-label (hch)
+* nfsmount: check for <rpcsvc/nfs_prot.h> (hch)
+* readprofile: keep track of line numbers (John Levon)
+* umount: fix for MNT_DETACH
+
 util-linux 2.11o
 
 * Estonian messages (Meelis Roos)
-* No new French messages yet (Michel Robitaille)
+* No French messages with permission to distribute (Michel Robitaille)
 * Japanese messages (Daisuke Yamashita)
 * Spanish messages (Santiago Vila Doncel)
 * cal: option -s: Sunday is first day of the week
@@ -10,6 +36,7 @@ util-linux 2.11o
 * colrm: wide character fix (Elliot Lee)
 * *fdisk: added Darwin types (Vincent Bourgonjen)
 * fstab.5: updated
+* hexdump: -C option
 * hwclock: cmos.c: do not include <asm/io.h> on alpha
 * mount: improved detection of ufs (and slowdown of detection of iso9660)
 * mount.8: added info on * in /etc/filesystems, shortname option of vfat,
@@ -27,7 +54,7 @@ util-linux 2.11o
 util-linux 2.11n
 
 * Danish messages (Claus Hindsgaul)
-* No new French messages yet (Michel Robitaille)
+* No French messages with permission to distribute (Michel Robitaille)
 * German messages (Karl Eichwalder)
 * Swedish messages (Christian Rose)
 * Turkish messages now in UTF-8 (Nilgün Belma Bugüner)
@@ -92,7 +119,7 @@ util-linux 2.11k
 
 util-linux 2.11j
 
-* No new French messages yet (Michel Robitaille)
+* No French messages with permission to distribute (Michel Robitaille)
 * fdisk: fix for AIX label (Olaf Hering)
 * fdisk: fix for creating DOS label when BSD label is present
 * mount.8: added remark about blocksize to ext2 sb= mount option description.
diff --git a/VERSION b/VERSION
index 4ce74c6ef3ad3721cd5ce03079610f924ae9c792..462c6ad9b85be2338a3e7fe90579edaddc0caf6a 100644 (file)
--- a/VERSION
+++ b/VERSION
@@ -1 +1 @@
-2.11o
+2.11q
index 4f7b50503c4be0cab9e969fe5142015f51b0b33d..45d567b691be79f91ebf413e5f2301f082208a03 100755 (executable)
--- a/configure
+++ b/configure
@@ -12,8 +12,9 @@
 # H4. For nls.h: do we have <locale.h>?
 # H5. For cal.c: do we have <langinfo.h>?
 # H6. For mkswap.c: do we have <sys/user.h> or <asm/page.h>?
-# H7. For nfsmount.h (nfsmount_xdr.c: int32_t): do we have <asm/types.h>?
-# H8. For raw.c: do we have <linux/raw.h>?
+# H7. For nfsmount.c: do we have <rpcsvc/nfs_prot.h>?
+# H8. For nfsmount.h (nfsmount_xdr.c: int32_t): do we have <asm/types.h>?
+# H9. For raw.c: do we have <linux/raw.h>?
 #
 # Existence of functions:
 # F1. For nfsmount.c: is inet_aton() available?
@@ -139,14 +140,21 @@ else if ./testincl "asm/page.h"; then
 fi fi
 
 #
-# H7. For nfsmount.h: do we have <asm/types.h>?
+# H7. For nfsmount.c: do we have <rpcsvc/nfs_prot.h>?
+#
+if ./testincl "rpcsvc/nfs_prot.h"; then
+       echo "#define HAVE_rpcsvc_nfs_prot_h" >> defines.h
+fi
+
+#
+# H8. For nfsmount.h: do we have <asm/types.h>?
 #
 if ./testincl "asm/types.h"; then
         echo "#define HAVE_asm_types_h" >> defines.h
 fi
 
 #
-# H8. For raw.c: do we have <linux/raw.h>?
+# H9. For raw.c: do we have <linux/raw.h>?
 #
 if ./testincl "linux/raw.h"; then
         echo "HAVE_RAW_H=yes" >> make_include
index ea2ec20dc98c579d06699a8bc00aade998d61370..b02e8ff9cfc5e524b92f3b191e40a38683a2269b 100644 (file)
@@ -238,6 +238,12 @@ write_signature(char *sig) {
 #define V1_MAX_PAGES           ((1 << 17) - 1)
 #elif defined(__sparc__)
 #define V1_MAX_PAGES           (is_sparc64() ? ((3 << 29) - 1) : ((1 << 18) - 1))
+#elif defined(__ia64__)
+/* 
+ * The actual size will depend on the amount of virtual address space
+ * available to vmalloc the swap map.
+ */
+#define V1_MAX_PAGES          ((1UL << 54) - 1)
 #else
 #define V1_MAX_PAGES           V1_OLD_MAX_PAGES
 #endif
@@ -373,7 +379,7 @@ check_blocks(void) {
 }
 
 static long
-valid_offset (int fd, int offset) {
+valid_offset (int fd, off_t offset) {
        char ch;
 
        if (lseek (fd, offset, 0) < 0)
@@ -383,16 +389,15 @@ valid_offset (int fd, int offset) {
        return 1;
 }
 
-static int
+static off_t
 find_size (int fd) {
-       unsigned int high, low;
+       off_t high, low;
 
        low = 0;
        for (high = 1; high > 0 && valid_offset (fd, high); high *= 2)
                low = high;
-       while (low < high - 1)
-       {
-               const int mid = (low + high) / 2;
+       while (low < high - 1) {
+               const off_t mid = (low + high) / 2;
 
                if (valid_offset (fd, mid))
                        low = mid;
@@ -432,9 +437,9 @@ int
 main(int argc, char ** argv) {
        struct stat statbuf;
        int i, sz;
-       int maxpages;
-       int goodpages;
-       int offset;
+       long maxpages;
+       long goodpages;
+       off_t offset;
        int force = 0;
        char *block_count = 0;
        char *pp;
@@ -603,8 +608,8 @@ the -f option to force it.\n"),
        goodpages = PAGES - badpages - 1;
        if (goodpages <= 0)
                die(_("Unable to set up swap-space: unreadable"));
-       printf(_("Setting up swapspace version %d, size = %ld bytes\n"),
-               version, (long)(goodpages*pagesize));
+       printf(_("Setting up swapspace version %d, size = %lu bytes\n"),
+               version, (unsigned long)goodpages * pagesize);
        write_signature((version == 0) ? "SWAP-SPACE" : "SWAPSPACE2");
 
        offset = ((version == 0) ? 0 : 1024);
index 6c07186d547008e825d0f71e9975e95b12520d27..ce0bdaba638e33e680003ba9e9ab47acd172ccf9 100644 (file)
@@ -161,6 +161,8 @@ int fd,                             /* the disk */
        partitions = 4;                 /* maximum partition + 1 */
 
 uint   user_cylinders, user_heads, user_sectors;
+uint   pt_heads, pt_sectors;
+uint   kern_heads, kern_sectors;
 
 uint   heads,
        sectors,
@@ -756,52 +758,84 @@ get_sectorsize(int fd) {
 #endif
 }
 
-/*
- * Ask kernel about geometry. Invent something reasonable
- * in case the kernel has no opinion.
- */
+static void
+get_kernel_geometry(int fd) {
+#ifdef HDIO_GETGEO
+       struct hd_geometry geometry;
+
+       if (!ioctl(fd, HDIO_GETGEO, &geometry)) {
+               kern_heads = geometry.heads;
+               kern_sectors = geometry.sectors;
+               /* never use geometry.cylinders - it is truncated */
+       }
+#endif
+}
+
+static void
+get_partition_table_geometry(void) {
+       unsigned char *bufp = MBRbuffer;
+       struct partition *p;
+       int i, h, s, hh, ss;
+       int first = 1;
+       int bad = 0;
+
+       if (!(valid_part_table_flag(bufp)))
+               return;
+
+       hh = ss = 0;
+       for (i=0; i<4; i++) {
+               p = pt_offset(bufp, i);
+               if (p->sys_ind != 0) {
+                       h = p->end_head + 1;
+                       s = (p->end_sector & 077);
+                       if (first) {
+                               hh = h;
+                               ss = s;
+                               first = 0;
+                       } else if (hh != h || ss != s)
+                               bad = 1;
+               }
+       }
+
+       if (!first && !bad) {
+               pt_heads = hh;
+               pt_sectors = ss;
+       }
+}
+
 void
 get_geometry(int fd, struct geom *g) {
        int sec_fac;
        long longsectors;
-       struct hd_geometry geometry;
-       int res1, res2;
 
        get_sectorsize(fd);
        sec_fac = sector_size / 512;
 
        guess_device_type(fd);
 
-       res1 = ioctl(fd, BLKGETSIZE, &longsectors);
-#ifdef HDIO_REQ
-       res2 = ioctl(fd, HDIO_REQ, &geometry);
-#else
-       res2 = ioctl(fd, HDIO_GETGEO, &geometry);
-#endif
-
-       /* never use geometry.cylinders - it is truncated */
        heads = cylinders = sectors = 0;
+       kern_heads = kern_sectors = 0;
+       pt_heads = pt_sectors = 0;
+
+       get_kernel_geometry(fd);
+       get_partition_table_geometry();
+
+       heads = user_heads ? user_heads :
+               pt_heads ? pt_heads :
+               kern_heads ? kern_heads : 255;
+       sectors = user_sectors ? user_sectors :
+               pt_sectors ? pt_sectors :
+               kern_sectors ? kern_sectors : 63;
+
+       if (ioctl(fd, BLKGETSIZE, &longsectors))
+               longsectors = 0;
+
        sector_offset = 1;
-       if (res2 == 0) {
-               heads = geometry.heads;
-               sectors = geometry.sectors;
-               if (heads * sectors == 0)
-                       res2 = -1;
-               else if (dos_compatible_flag)
-                       sector_offset = sectors;
-       }
-       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 (dos_compatible_flag)
+               sector_offset = sectors;
 
-       if (!sectors)
-               sectors = user_sectors;
-       if (!heads)
-               heads = user_heads;
+       cylinders = longsectors / (heads * sectors);
+       cylinders /= sec_fac;
        if (!cylinders)
                cylinders = user_cylinders;
 
@@ -838,16 +872,16 @@ get_boot(enum action what) {
                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)) {
+       if (512 != read(fd, MBRbuffer, 512)) {
                if (what == try_only)
                        return 1;
                fatal(unable_to_read);
        }
 
+       get_geometry(fd, NULL);
+
+       update_units();
+
 got_table:
 
        if (check_sun_label())
index 048316bcc2280fd5ee87638d4f51c3c116ca16fb..0d2b1123877d16c2c607297f2cc5acd72d72e305 100644 (file)
@@ -230,6 +230,7 @@ char        *hostname;              /* idem */
 static char    *username, *tty_name, *tty_number;
 static char    thishost[100];
 static int     failures = 1;
+static pid_t   pid;
 
 #ifndef __linux__
 struct sgttyb sgttyb;
@@ -256,19 +257,27 @@ const char *months[] = {
    belongs). */
 static void
 opentty(const char * tty) {
-    int i;
-    int fd = open(tty, O_RDWR | O_NONBLOCK);
-    int flags = fcntl(fd, F_GETFL);
+       int i, fd, flags;
+
+       fd = open(tty, O_RDWR | O_NONBLOCK);
+       if (fd == -1) {
+               syslog(LOG_ERR, _("FATAL: can't reopen tty: %s"),
+                      strerror(errno));
+               sleep(1);
+               exit(1);
+       }
 
-    flags &= ~O_NONBLOCK;
-    fcntl(fd, F_SETFL, flags);
+       flags = fcntl(fd, F_GETFL);
+       flags &= ~O_NONBLOCK;
+       fcntl(fd, F_SETFL, flags);
     
-    for (i = 0 ; i < fd ; i++)
-      close(i);
-    for (i = 0 ; i < 3 ; i++)
-      dup2(fd, i);
-    if (fd >= 3)
-      close(fd);
+       for (i = 0; i < fd; i++)
+               close(i);
+       for (i = 0; i < 3; i++)
+               if (fd != i)
+                       dup2(fd, i);
+       if (fd >= 3)
+               close(fd);
 }
 
 /* true if the filedescriptor fd is a console tty, very Linux specific */
@@ -316,7 +325,7 @@ logbtmp(const char *line, const char *username, const char *hostname) {
 #endif
 
        ut.ut_type = LOGIN_PROCESS; /* XXX doesn't matter */
-       ut.ut_pid = getpid();
+       ut.ut_pid = pid;
        if (hostname) {
                xstrncpy(ut.ut_host, hostname, sizeof(ut.ut_host));
                if (hostaddress[0])
@@ -359,6 +368,8 @@ main(int argc, char **argv)
     int ioctlval;
 #endif
 
+    pid = getpid();
+
     signal(SIGALRM, timedout);
     alarm((unsigned int)timeout);
     signal(SIGQUIT, SIG_IGN);
@@ -491,7 +502,9 @@ main(int argc, char **argv)
     snprintf(vcsan, sizeof(vcsan), "/dev/vcsa%s", tty_number);
 #endif
 
+    /* set pgid to pid */
     setpgrp();
+    /* this means that setsid() will fail */
     
     {
        struct termios tt, ttt;
@@ -509,12 +522,11 @@ main(int argc, char **argv)
        signal(SIGHUP, SIG_IGN); /* so vhangup() wont kill us */
        vhangup();
        signal(SIGHUP, SIG_DFL);
-       
-       setsid();
-       
-       /* re-open stdin,stdout,stderr after vhangup() closed them */
-       /* if it did, after 0.99.5 it doesn't! */
+
+       /* open stdin,stdout,stderr to the tty */
        opentty(ttyn);
+       
+       /* restore tty modes */
        tcsetattr(0,TCSAFLUSH,&tt);
     }
 
@@ -536,7 +548,7 @@ main(int argc, char **argv)
     retcode = pam_start("login",username, &conv, &pamh);
     if(retcode != PAM_SUCCESS) {
        fprintf(stderr, _("login: PAM Failure, aborting: %s\n"),
-       pam_strerror(pamh, retcode));
+               pam_strerror(pamh, retcode));
        syslog(LOG_ERR, _("Couldn't initialize PAM: %s"),
               pam_strerror(pamh, retcode));
        exit(99);
@@ -629,9 +641,10 @@ main(int argc, char **argv)
        PAM_FAIL_CHECK;
     }
 
-    /* Grab the user information out of the password file for future usage
-       First get the username that we are actually using, though.
-    */
+    /*
+     * Grab the user information out of the password file for future usage
+     * First get the username that we are actually using, though.
+     */
     retcode = pam_get_item(pamh, PAM_USER, (const void **) &username);
     PAM_FAIL_CHECK;
 
@@ -650,8 +663,10 @@ main(int argc, char **argv)
            exit(1);
     }
 
-    /* Create a copy of the pwd struct - otherwise it may get
-     * clobbered by PAM */
+    /*
+     * Create a copy of the pwd struct - otherwise it may get
+     * clobbered by PAM
+     */
     memcpy(&pwdcopy, pwd, sizeof(*pwd));
     pwd = &pwdcopy;
     pwd->pw_name   = strdup(pwd->pw_name);
@@ -885,12 +900,11 @@ main(int argc, char **argv)
     {
        struct utmp ut;
        struct utmp *utp;
-       pid_t mypid = getpid();
        
        utmpname(_PATH_UTMP);
        setutent();
 
-       /* Find mypid in utmp.
+       /* Find pid in utmp.
 login sometimes overwrites the runlevel entry in /var/run/utmp,
 confusing sysvinit. I added a test for the entry type, and the problem
 was gone. (In a runlevel entry, st_pid is not really a pid but some number
@@ -898,7 +912,7 @@ calculated from the previous and current runlevel).
 Michael Riepe <michael@stud.uni-hannover.de>
        */
        while ((utp = getutent()))
-               if (utp->ut_pid == mypid
+               if (utp->ut_pid == pid
                    && utp->ut_type >= INIT_PROCESS
                    && utp->ut_type <= DEAD_PROCESS)
                        break;
@@ -936,7 +950,7 @@ Michael Riepe <michael@stud.uni-hannover.de>
        }
 #endif
        ut.ut_type = USER_PROCESS;
-       ut.ut_pid = mypid;
+       ut.ut_pid = pid;
        if (hostname) {
                xstrncpy(ut.ut_host, hostname, sizeof(ut.ut_host));
                if (hostaddress[0])
@@ -1004,13 +1018,6 @@ Michael Riepe <michael@stud.uni-hannover.de>
     
     if (*pwd->pw_shell == '\0')
       pwd->pw_shell = _PATH_BSHELL;
-#ifndef __linux__
-    /* turn on new line discipline for the csh */
-    else if (!strcmp(pwd->pw_shell, _PATH_CSHELL)) {
-       ioctlval = NTTYDISC;
-       ioctl(0, TIOCSETD, &ioctlval);
-    }
-#endif
     
     /* preserve TERM even without -p flag */
     {
@@ -1113,37 +1120,50 @@ Michael Riepe <michael@stud.uni-hannover.de>
      * We must fork before setuid() because we need to call
      * pam_close_session() as root.
      */
-    /*
-     * Problem: if the user's shell is a shell like ash that doesnt do
-     * setsid() or setpgrp(), then a ctrl-\, sending SIGQUIT to every
-     * process in the pgrp, will kill us.
-     * Solution: use TIOCNOTTY and setsid().
-     */
-    signal(SIGINT, SIG_IGN);
-    signal(SIGHUP, SIG_IGN);   /* ignore signal from TIOCNOTTY below */
     
     childPid = fork();
     if (childPid < 0) {
        int errsv = errno;
        /* error in fork() */
-       fprintf(stderr,_("login: failure forking: %s"), strerror(errsv));
+       fprintf(stderr, _("login: failure forking: %s"), strerror(errsv));
        PAM_END;
        exit(0);
-    } else if (childPid) {
+    }
+
+    if (childPid) {
        /* parent - wait for child to finish, then cleanup session */
-       ioctl(0, TIOCNOTTY, NULL);
-       signal(SIGHUP, SIG_DFL);
+       signal(SIGHUP, SIG_IGN);
+       signal(SIGINT, SIG_IGN);
+       signal(SIGQUIT, SIG_IGN);
+       signal(SIGTSTP, SIG_IGN);
+       signal(SIGTTIN, SIG_IGN);
+       signal(SIGTTOU, SIG_IGN);
 
        wait(NULL);
        PAM_END;
        exit(0);
     }
+
     /* child */
+    /*
+     * Problem: if the user's shell is a shell like ash that doesnt do
+     * setsid() or setpgrp(), then a ctrl-\, sending SIGQUIT to every
+     * process in the pgrp, will kill us.
+     */
+
+    /* start new session */
     setsid();
-    /* reopen, as we need controlling tty in the child */
+
+    /* make sure we have a controlling tty */
     opentty(ttyn);
+    openlog("login", LOG_ODELAY, LOG_AUTHPRIV);        /* reopen */
+
+    /*
+     * TIOCSCTTY: steal tty from other process group.
+     */
+    if (ioctl(0, TIOCSCTTY, 1))
+           syslog(LOG_ERR, _("TIOCSCTTY failed: %m"));
 #endif
-    signal(SIGHUP, SIG_DFL);
     signal(SIGINT, SIG_DFL);
     
     /* discard permissions last so can't get killed and drop core */
index d61add412825bff0ac2fcc75b9c458953f7ce914..0f56cfea13e72b9e04a96e7a8afb3c678030e9e8 100644 (file)
@@ -97,7 +97,9 @@ endif
 
 install: all
        $(INSTALLDIR) $(BINDIR) $(USRBINDIR)
+ifneq "$(BIN)" ""
        $(INSTALLBIN) $(BIN) $(BINDIR)
+endif
        $(INSTALLBIN) $(USRBIN) $(USRBINDIR)
        $(INSTALLDIR) $(MAN1DIR)
        $(INSTALLMAN) $(MAN1) $(MAN1DIR)
index c6ef8105e34dd53c6712c3c8dc75cfe2ad6581b9..3885d724bbdf015a857c0f23acc0cb267a5edfe4 100644 (file)
@@ -193,7 +193,9 @@ struct vxfs_super_block {
 #define VXFS_SUPER_MAGIC 0xa501FCF5
 
 struct jfs_super_block {
-       char s_magic[4];
+       char    s_magic[4];
+       u_char  s_dummy1[97];
+       char    s_fpack[11];
 };
 #define JFS_SUPER1_OFF 0x8000
 #define JFS_MAGIC "JFS1"
index 01a722b7a7801712d9386d18e0fbd2a941144120..7f2f4d93284596c81f8a699087eb8b001578b8c4 100644 (file)
@@ -1375,6 +1375,7 @@ Possible values are:
 .TP
 .B old
 Old format of ufs, this is the default, read only.
+(Don't forget to give the \-r option.)
 .TP
 .B 44bsd
 For filesystems created by a BSD-like system (NetBSD,FreeBSD,OpenBSD).
index dc10e64bb65a3ecf4666fe55bd69ad8159d855c9..125cf1abf3d67f4610c1c8e595f08090f6f1e1ed 100644 (file)
@@ -1092,11 +1092,22 @@ mount_one (const char *spec, const char *node, char *types, const char *opts,
        opts = xstrconcat3(opts, ",", cmdlineopts);
 
   if (!strncmp(spec, "UUID=", 5)) {
-      nspec = get_spec_by_uuid(spec+5);
       specset = 1;
+      nspec = get_spec_by_uuid(spec+5);
   } else if (!strncmp(spec, "LABEL=", 6)) {
-      nspec = get_spec_by_volume_label(spec+6);
+      const char *nspec2;
       specset = 2;
+      nspec = get_spec_by_volume_label(spec+6);
+      nspec2 = second_occurrence_of_vol_label(spec+6);
+      if (nspec2) {
+             if (verbose)
+                     printf(_("mount: the label %s occurs on "
+                              "both %s and %s\n"),
+                            spec+6, nspec, nspec2);
+             die (EX_FAIL,
+                  _("mount: %s duplicate - not mounted"),
+                  spec, _PATH_FSTAB);
+      }
   } else
       nspec = 0;               /* just for gcc */
 
@@ -1496,8 +1507,16 @@ main (int argc, char *argv[]) {
        if (specseen) {
                if (uuid)
                        spec = get_spec_by_uuid(uuid);
-               else
+               else {
+                       const char *spec2;
                        spec = get_spec_by_volume_label(volumelabel);
+                       spec2 = second_occurrence_of_vol_label(volumelabel);
+                       if (spec2)
+                               die (EX_FAIL,
+                                    _("mount: the label %s occurs on "
+                                      "both %s and %s - not mounted\n"),
+                                    volumelabel, spec, spec2);
+               }
                if (!spec)
                        die (EX_USAGE, _("mount: no such partition found"));
                if (verbose)
index 988974f77c08c8cbf927479f5743fe0c5ec4afa7..ee3b1d52e80c6871bad603544ccee2457a2433b8 100644 (file)
@@ -11,6 +11,8 @@
  * - Added XFS support
  * 2001-11-22 Kirby Bohling <kbohling@birddog.com>
  * - Added support of labels on LVM
+ * 2002-03-21 Christoph Hellwig <hch@infradead.org>
+ * - Added JFS support
  */
 
 #include <stdio.h>
@@ -48,6 +50,7 @@ get_label_uuid(const char *device, char **label, char *uuid) {
        size_t namesize;
        struct ext2_super_block e2sb;
        struct xfs_super_block xfsb;
+       struct jfs_super_block jfssb;
 
        fd = open(device, O_RDONLY);
        if (fd < 0)
@@ -71,6 +74,16 @@ get_label_uuid(const char *device, char **label, char *uuid) {
                        memcpy(*label, xfsb.s_fname, namesize);
                rv = 0;
        }
+       else if (lseek(fd, JFS_SUPER1_OFF, SEEK_SET) == JFS_SUPER1_OFF
+           && read(fd, (char *) &jfssb, sizeof(jfssb)) == sizeof(jfssb)
+               && (strncmp(jfssb.s_magic, JFS_MAGIC, 4) == 0)) {
+               /* what to do with non-existant UUID?  --hch */
+               memset(uuid, 0, 16);
+               namesize = sizeof(jfssb.s_fpack);
+               if ((*label = calloc(namesize + 1, 1)) != NULL)
+                       memcpy(*label, jfssb.s_fpack, namesize);
+               rv = 0;
+       }
 
        close(fd);
        return rv;
@@ -83,7 +96,7 @@ uuidcache_addentry(char *device, char *label, char *uuid) {
        if (!uuidCache) {
                last = uuidCache = malloc(sizeof(*uuidCache));
        } else {
-               for (last = uuidCache; last->next; last = last->next) ;
+               for (last = uuidCache; last->next; last = last->next);
                last->next = malloc(sizeof(*uuidCache));
                last = last->next;
        }
@@ -142,6 +155,9 @@ uuidcache_init(void) {
        char device[110];
        int firstPass;
        int handleOnFirst;
+#if 0
+       char *iobuf = 0;
+#endif
 
        if (uuidCache)
                return;
@@ -155,6 +171,24 @@ uuidcache_init(void) {
                       PROC_PARTITIONS);
                return;
        }
+#if 0
+/* Ugly kludge - the contents of /proc/partitions change in time,
+   and this causes failures when the file is not read in one go.
+   In particular, one cannot use stdio on /proc/partitions.
+   Doing this ourselves is not easy either, since stat returns 0
+   so the size is unknown. We might try increasing buffer sizes
+   until a single read gets all. For now only pick a largish buffer size. */
+/* All these troubles are mainly caused by people who patch the kernel
+   to keep statistics in /proc/partitions. Of course, statistics belong
+   in some /proc/diskstats, not in some /proc file that happened to
+   exist already. */
+   {
+#define CBBUF  (16 * 1024)
+       iobuf = (char *) malloc(CBBUF);
+       if (iobuf)
+               setvbuf(procpt, iobuf, _IOFBF, CBBUF);
+   }
+#endif
 
        for (firstPass = 1; firstPass >= 0; firstPass--) {
            fseek(procpt, 0, SEEK_SET);
@@ -176,6 +210,7 @@ uuidcache_init(void) {
                /* skip entire disk (minor 0, 64, ... on ide;
                   0, 16, ... on sd) */
                /* heuristic: partition name ends in a digit */
+               /* devfs has .../disc and .../part1 etc. */
 
                for(s = ptname; *s; s++);
                if (isdigit(s[-1])) {
@@ -196,7 +231,10 @@ uuidcache_init(void) {
        }
 
        fclose(procpt);
-
+#if 0
+       if (iobuf)
+               free(iobuf);
+#endif
        uuidcache_init_lvm();
 }
 
@@ -273,7 +311,32 @@ get_volume_label_by_spec(const char *spec) {
        while(uc) {
                if (!strcmp(spec, uc->device))
                        return uc->label;
-               uc = uc->next;
+               uc = uc->next;
        }
        return NULL;
 }
+
+/*
+ * second_occurrence_of_vol_label()
+ * As labels are user defined they are not necessarily 
+ * system-wide unique. Make sure that they are.
+ */
+const char *
+second_occurrence_of_vol_label (const char *label) {
+       struct uuidCache_s *last;
+        int occurrences = 0;
+
+        uuidcache_init();
+
+        for (last = uuidCache; last->next; last = last->next) {
+               if (!strcmp(last->label, label)) {
+                       occurrences++;
+                       if (occurrences == 2)
+                               return last->device;
+               }
+        }
+        
+        return NULL;
+}
+
+          
index 64bbbfa7d5205358b8a5b8b11d2b5c4794cd2400..451d06854867881fc86efd71cf24dadaeb4dcb72 100644 (file)
@@ -1,3 +1,4 @@
 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);
+const char *second_occurrence_of_vol_label(const char *label);
index c0e27f0d411a9c1ef8bb292f90b5a0e324b94097..a7f5770c967150270fffabd4b89ad5f9ff2072e4 100644 (file)
@@ -32,6 +32,8 @@
  * nfsmount.c,v 1.1.1.1 1993/11/18 08:40:51 jrs Exp
  */
 
+#include "../defines.h"        /* for HAVE_rpcsvc_nfs_prot_h and HAVE_inet_aton */
+
 #include <unistd.h>
 #include <stdio.h>
 #include <string.h>
 #include "sundries.h"
 #include "nfsmount.h"
 
+#ifdef HAVE_rpcsvc_nfs_prot_h
+#include <rpcsvc/nfs_prot.h>
+#else
 #include <linux/nfs.h>
+#define nfsstat nfs_stat
+#endif
+
 #include "mount_constants.h"
 #include "nfs_mount4.h"
 
 #include "nls.h"
 
-#include "../defines.h"                /* for HAVE_inet_aton */
-
 #ifndef NFS_PORT
 #define NFS_PORT 2049
 #endif
@@ -802,7 +808,7 @@ int nfsmount(const char *spec, const char *node, int *flags,
 #endif
 
 static struct {
-       enum nfs_stat stat;
+       enum nfsstat stat;
        int errnum;
 } nfs_errtbl[] = {
        { NFS_OK,               0               },
index 4688495e28f4e703f713d3a43120fb695fa7dc16..0c1306a2d5be524889cf0e45c2f266d2d1549382 100644 (file)
@@ -270,12 +270,11 @@ umount_one (const char *spec, const char *node, const char *type,
        umnt_err = umnt_err2 = 0;
        if (lazy) {
                res = umount2 (node, MNT_DETACH);
-               if (res < 0) {
-                       complain(errno, node);
-                       return 1;
-               } else
-                       return 0;
+               if (res < 0)
+                       umnt_err = errno;
+               goto writemtab;
        }
+
        if (force) {            /* only supported for NFS */
                res = umount2 (node, MNT_FORCE);
                if (res == -1) {
@@ -373,6 +372,7 @@ umount_one (const char *spec, const char *node, const char *type,
        if (loopdev)
                del_loop(loopdev);
 
+ writemtab:
        if (!nomtab && mtab_is_writable() &&
            (umnt_err == 0 || umnt_err == EINVAL || umnt_err == ENOENT)) {
                update_mtab (node, NULL);
index 39237e0197d193d5b6831608065a7cb26927ce64..9f9a9dbe9ddc83a7034aaaaea3f012a5f8e4ae7d 100644 (file)
@@ -1,4 +1,5 @@
-OBJ = bsd.o dos.o partx.o solaris.o unixware.o
+OBJ = bsd.o dos.o partx.o solaris.o unixware.o gpt.o crc32.o
+CFLAGS += -Wall
 
 all: addpart delpart partx
 
diff --git a/partx/crc32.c b/partx/crc32.c
new file mode 100644 (file)
index 0000000..42d803d
--- /dev/null
@@ -0,0 +1,393 @@
+/* 
+ * crc32.c
+ * This code is in the public domain; copyright abandoned.
+ * Liability for non-performance of this code is limited to the amount
+ * you paid for it.  Since it is distributed for free, your refund will
+ * be very very small.  If it breaks, you get to keep both pieces.
+ */
+
+#include "crc32.h"
+
+#if __GNUC__ >= 3      /* 2.x has "attribute", but only 3.0 has "pure */
+#define attribute(x) __attribute__(x)
+#else
+#define attribute(x)
+#endif
+
+/*
+ * There are multiple 16-bit CRC polynomials in common use, but this is
+ * *the* standard CRC-32 polynomial, first popularized by Ethernet.
+ * x^32+x^26+x^23+x^22+x^16+x^12+x^11+x^10+x^8+x^7+x^5+x^4+x^2+x^1+x^0
+ */
+#define CRCPOLY_LE 0xedb88320
+#define CRCPOLY_BE 0x04c11db7
+
+/* How many bits at a time to use.  Requires a table of 4<<CRC_xx_BITS bytes. */
+/* For less performance-sensitive, use 4 */
+#define CRC_LE_BITS 8
+#define CRC_BE_BITS 8
+
+/*
+ * Little-endian CRC computation.  Used with serial bit streams sent
+ * lsbit-first.  Be sure to use cpu_to_le32() to append the computed CRC.
+ */
+#if CRC_LE_BITS > 8 || CRC_LE_BITS < 1 || CRC_LE_BITS & CRC_LE_BITS-1
+# error CRC_LE_BITS must be a power of 2 between 1 and 8
+#endif
+
+#if CRC_LE_BITS == 1
+/*
+ * In fact, the table-based code will work in this case, but it can be
+ * simplified by inlining the table in ?: form.
+ */
+#define crc32init_le()
+#define crc32cleanup_le()
+/**
+ * crc32_le() - Calculate bitwise little-endian Ethernet AUTODIN II CRC32
+ * @crc - seed value for computation.  ~0 for Ethernet, sometimes 0 for
+ *        other uses, or the previous crc32 value if computing incrementally.
+ * @p   - pointer to buffer over which CRC is run
+ * @len - length of buffer @p
+ * 
+ */
+uint32_t attribute((pure)) crc32_le(uint32_t crc, unsigned char const *p, size_t len)
+{
+       int i;
+       while (len--) {
+               crc ^= *p++;
+               for (i = 0; i < 8; i++)
+                       crc = (crc >> 1) ^ ((crc & 1) ? CRCPOLY_LE : 0);
+       }
+       return crc;
+}
+#else                          /* Table-based approach */
+
+static uint32_t *crc32table_le;
+/**
+ * crc32init_le() - allocate and initialize LE table data
+ *
+ * crc is the crc of the byte i; other entries are filled in based on the
+ * fact that crctable[i^j] = crctable[i] ^ crctable[j].
+ *
+ */
+static int
+crc32init_le(void)
+{
+       unsigned i, j;
+       uint32_t crc = 1;
+
+       crc32table_le =
+               malloc((1 << CRC_LE_BITS) * sizeof(uint32_t));
+       if (!crc32table_le)
+               return 1;
+       crc32table_le[0] = 0;
+
+       for (i = 1 << (CRC_LE_BITS - 1); i; i >>= 1) {
+               crc = (crc >> 1) ^ ((crc & 1) ? CRCPOLY_LE : 0);
+               for (j = 0; j < 1 << CRC_LE_BITS; j += 2 * i)
+                       crc32table_le[i + j] = crc ^ crc32table_le[j];
+       }
+       return 0;
+}
+
+/**
+ * crc32cleanup_le(): free LE table data
+ */
+static void
+crc32cleanup_le(void)
+{
+       if (crc32table_le) free(crc32table_le);
+       crc32table_le = NULL;
+}
+
+/**
+ * crc32_le() - Calculate bitwise little-endian Ethernet AUTODIN II CRC32
+ * @crc - seed value for computation.  ~0 for Ethernet, sometimes 0 for
+ *        other uses, or the previous crc32 value if computing incrementally.
+ * @p   - pointer to buffer over which CRC is run
+ * @len - length of buffer @p
+ * 
+ */
+uint32_t attribute((pure)) crc32_le(uint32_t crc, unsigned char const *p, size_t len)
+{
+       while (len--) {
+# if CRC_LE_BITS == 8
+               crc = (crc >> 8) ^ crc32table_le[(crc ^ *p++) & 255];
+# elif CRC_LE_BITS == 4
+               crc ^= *p++;
+               crc = (crc >> 4) ^ crc32table_le[crc & 15];
+               crc = (crc >> 4) ^ crc32table_le[crc & 15];
+# elif CRC_LE_BITS == 2
+               crc ^= *p++;
+               crc = (crc >> 2) ^ crc32table_le[crc & 3];
+               crc = (crc >> 2) ^ crc32table_le[crc & 3];
+               crc = (crc >> 2) ^ crc32table_le[crc & 3];
+               crc = (crc >> 2) ^ crc32table_le[crc & 3];
+# endif
+       }
+       return crc;
+}
+#endif
+
+/*
+ * Big-endian CRC computation.  Used with serial bit streams sent
+ * msbit-first.  Be sure to use cpu_to_be32() to append the computed CRC.
+ */
+#if CRC_BE_BITS > 8 || CRC_BE_BITS < 1 || CRC_BE_BITS & CRC_BE_BITS-1
+# error CRC_BE_BITS must be a power of 2 between 1 and 8
+#endif
+
+#if CRC_BE_BITS == 1
+/*
+ * In fact, the table-based code will work in this case, but it can be
+ * simplified by inlining the table in ?: form.
+ */
+#define crc32init_be()
+#define crc32cleanup_be()
+
+/**
+ * crc32_be() - Calculate bitwise big-endian Ethernet AUTODIN II CRC32
+ * @crc - seed value for computation.  ~0 for Ethernet, sometimes 0 for
+ *        other uses, or the previous crc32 value if computing incrementally.
+ * @p   - pointer to buffer over which CRC is run
+ * @len - length of buffer @p
+ * 
+ */
+uint32_t attribute((pure)) crc32_be(uint32_t crc, unsigned char const *p, size_t len)
+{
+       int i;
+       while (len--) {
+               crc ^= *p++ << 24;
+               for (i = 0; i < 8; i++)
+                       crc =
+                           (crc << 1) ^ ((crc & 0x80000000) ? CRCPOLY_BE :
+                                         0);
+       }
+       return crc;
+}
+
+#else                          /* Table-based approach */
+static uint32_t *crc32table_be;
+
+/**
+ * crc32init_be() - allocate and initialize BE table data
+ */
+static int
+crc32init_be(void)
+{
+       unsigned i, j;
+       uint32_t crc = 0x80000000;
+
+       crc32table_be =
+               malloc((1 << CRC_BE_BITS) * sizeof(uint32_t));
+       if (!crc32table_be)
+               return 1;
+       crc32table_be[0] = 0;
+
+       for (i = 1; i < 1 << CRC_BE_BITS; i <<= 1) {
+               crc = (crc << 1) ^ ((crc & 0x80000000) ? CRCPOLY_BE : 0);
+               for (j = 0; j < i; j++)
+                       crc32table_be[i + j] = crc ^ crc32table_be[j];
+       }
+       return 0;
+}
+
+/**
+ * crc32cleanup_be(): free BE table data
+ */
+static void
+crc32cleanup_be(void)
+{
+       if (crc32table_be) free(crc32table_be);
+       crc32table_be = NULL;
+}
+
+
+/**
+ * crc32_be() - Calculate bitwise big-endian Ethernet AUTODIN II CRC32
+ * @crc - seed value for computation.  ~0 for Ethernet, sometimes 0 for
+ *        other uses, or the previous crc32 value if computing incrementally.
+ * @p   - pointer to buffer over which CRC is run
+ * @len - length of buffer @p
+ * 
+ */
+uint32_t attribute((pure)) crc32_be(uint32_t crc, unsigned char const *p, size_t len)
+{
+       while (len--) {
+# if CRC_BE_BITS == 8
+               crc = (crc << 8) ^ crc32table_be[(crc >> 24) ^ *p++];
+# elif CRC_BE_BITS == 4
+               crc ^= *p++ << 24;
+               crc = (crc << 4) ^ crc32table_be[crc >> 28];
+               crc = (crc << 4) ^ crc32table_be[crc >> 28];
+# elif CRC_BE_BITS == 2
+               crc ^= *p++ << 24;
+               crc = (crc << 2) ^ crc32table_be[crc >> 30];
+               crc = (crc << 2) ^ crc32table_be[crc >> 30];
+               crc = (crc << 2) ^ crc32table_be[crc >> 30];
+               crc = (crc << 2) ^ crc32table_be[crc >> 30];
+# endif
+       }
+       return crc;
+}
+#endif
+
+/*
+ * A brief CRC tutorial.
+ *
+ * A CRC is a long-division remainder.  You add the CRC to the message,
+ * and the whole thing (message+CRC) is a multiple of the given
+ * CRC polynomial.  To check the CRC, you can either check that the
+ * CRC matches the recomputed value, *or* you can check that the
+ * remainder computed on the message+CRC is 0.  This latter approach
+ * is used by a lot of hardware implementations, and is why so many
+ * protocols put the end-of-frame flag after the CRC.
+ *
+ * It's actually the same long division you learned in school, except that
+ * - We're working in binary, so the digits are only 0 and 1, and
+ * - When dividing polynomials, there are no carries.  Rather than add and
+ *   subtract, we just xor.  Thus, we tend to get a bit sloppy about
+ *   the difference between adding and subtracting.
+ *
+ * A 32-bit CRC polynomial is actually 33 bits long.  But since it's
+ * 33 bits long, bit 32 is always going to be set, so usually the CRC
+ * is written in hex with the most significant bit omitted.  (If you're
+ * familiar with the IEEE 754 floating-point format, it's the same idea.)
+ *
+ * Note that a CRC is computed over a string of *bits*, so you have
+ * to decide on the endianness of the bits within each byte.  To get
+ * the best error-detecting properties, this should correspond to the
+ * order they're actually sent.  For example, standard RS-232 serial is
+ * little-endian; the most significant bit (sometimes used for parity)
+ * is sent last.  And when appending a CRC word to a message, you should
+ * do it in the right order, matching the endianness.
+ *
+ * Just like with ordinary division, the remainder is always smaller than
+ * the divisor (the CRC polynomial) you're dividing by.  Each step of the
+ * division, you take one more digit (bit) of the dividend and append it
+ * to the current remainder.  Then you figure out the appropriate multiple
+ * of the divisor to subtract to being the remainder back into range.
+ * In binary, it's easy - it has to be either 0 or 1, and to make the
+ * XOR cancel, it's just a copy of bit 32 of the remainder.
+ *
+ * When computing a CRC, we don't care about the quotient, so we can
+ * throw the quotient bit away, but subtract the appropriate multiple of
+ * the polynomial from the remainder and we're back to where we started,
+ * ready to process the next bit.
+ *
+ * A big-endian CRC written this way would be coded like:
+ * for (i = 0; i < input_bits; i++) {
+ *     multiple = remainder & 0x80000000 ? CRCPOLY : 0;
+ *     remainder = (remainder << 1 | next_input_bit()) ^ multiple;
+ * }
+ * Notice how, to get at bit 32 of the shifted remainder, we look
+ * at bit 31 of the remainder *before* shifting it.
+ *
+ * But also notice how the next_input_bit() bits we're shifting into
+ * the remainder don't actually affect any decision-making until
+ * 32 bits later.  Thus, the first 32 cycles of this are pretty boring.
+ * Also, to add the CRC to a message, we need a 32-bit-long hole for it at
+ * the end, so we have to add 32 extra cycles shifting in zeros at the
+ * end of every message,
+ *
+ * So the standard trick is to rearrage merging in the next_input_bit()
+ * until the moment it's needed.  Then the first 32 cycles can be precomputed,
+ * and merging in the final 32 zero bits to make room for the CRC can be
+ * skipped entirely.
+ * This changes the code to:
+ * for (i = 0; i < input_bits; i++) {
+ *      remainder ^= next_input_bit() << 31;
+ *     multiple = (remainder & 0x80000000) ? CRCPOLY : 0;
+ *     remainder = (remainder << 1) ^ multiple;
+ * }
+ * With this optimization, the little-endian code is simpler:
+ * for (i = 0; i < input_bits; i++) {
+ *      remainder ^= next_input_bit();
+ *     multiple = (remainder & 1) ? CRCPOLY : 0;
+ *     remainder = (remainder >> 1) ^ multiple;
+ * }
+ *
+ * Note that the other details of endianness have been hidden in CRCPOLY
+ * (which must be bit-reversed) and next_input_bit().
+ *
+ * However, as long as next_input_bit is returning the bits in a sensible
+ * order, we can actually do the merging 8 or more bits at a time rather
+ * than one bit at a time:
+ * for (i = 0; i < input_bytes; i++) {
+ *     remainder ^= next_input_byte() << 24;
+ *     for (j = 0; j < 8; j++) {
+ *             multiple = (remainder & 0x80000000) ? CRCPOLY : 0;
+ *             remainder = (remainder << 1) ^ multiple;
+ *     }
+ * }
+ * Or in little-endian:
+ * for (i = 0; i < input_bytes; i++) {
+ *     remainder ^= next_input_byte();
+ *     for (j = 0; j < 8; j++) {
+ *             multiple = (remainder & 1) ? CRCPOLY : 0;
+ *             remainder = (remainder << 1) ^ multiple;
+ *     }
+ * }
+ * If the input is a multiple of 32 bits, you can even XOR in a 32-bit
+ * word at a time and increase the inner loop count to 32.
+ *
+ * You can also mix and match the two loop styles, for example doing the
+ * bulk of a message byte-at-a-time and adding bit-at-a-time processing
+ * for any fractional bytes at the end.
+ *
+ * The only remaining optimization is to the byte-at-a-time table method.
+ * Here, rather than just shifting one bit of the remainder to decide
+ * in the correct multiple to subtract, we can shift a byte at a time.
+ * This produces a 40-bit (rather than a 33-bit) intermediate remainder,
+ * but again the multiple of the polynomial to subtract depends only on
+ * the high bits, the high 8 bits in this case.  
+ *
+ * The multile we need in that case is the low 32 bits of a 40-bit
+ * value whose high 8 bits are given, and which is a multiple of the
+ * generator polynomial.  This is simply the CRC-32 of the given
+ * one-byte message.
+ *
+ * Two more details: normally, appending zero bits to a message which
+ * is already a multiple of a polynomial produces a larger multiple of that
+ * polynomial.  To enable a CRC to detect this condition, it's common to
+ * invert the CRC before appending it.  This makes the remainder of the
+ * message+crc come out not as zero, but some fixed non-zero value.
+ *
+ * The same problem applies to zero bits prepended to the message, and
+ * a similar solution is used.  Instead of starting with a remainder of
+ * 0, an initial remainder of all ones is used.  As long as you start
+ * the same way on decoding, it doesn't make a difference.
+ */
+
+
+/**
+ * init_crc32(): generates CRC32 tables
+ * 
+ * On successful initialization, use count is increased.
+ * This guarantees that the library functions will stay resident
+ * in memory, and prevents someone from 'rmmod crc32' while
+ * a driver that needs it is still loaded.
+ * This also greatly simplifies drivers, as there's no need
+ * to call an initialization/cleanup function from each driver.
+ * Since crc32.o is a library module, there's no requirement
+ * that the user can unload it.
+ */
+int
+init_crc32(void)
+{
+       int rc1, rc2, rc;
+       rc1 = crc32init_le();
+       rc2 = crc32init_be();
+       rc = rc1 || rc2;
+       return rc;
+}
+
+/**
+ * cleanup_crc32(): frees crc32 data when no longer needed
+ */
+void
+cleanup_crc32(void)
+{
+       crc32cleanup_le();
+       crc32cleanup_be();
+}
diff --git a/partx/crc32.h b/partx/crc32.h
new file mode 100644 (file)
index 0000000..a4505b8
--- /dev/null
@@ -0,0 +1,19 @@
+/*
+ * crc32.h
+ */
+#ifndef _CRC32_H
+#define _CRC32_H
+
+#include <inttypes.h>
+#include <stdlib.h>
+
+extern int init_crc32(void);
+extern void cleanup_crc32(void);
+extern uint32_t  crc32_le(uint32_t crc, unsigned char const *p, size_t len);
+extern uint32_t  crc32_be(uint32_t crc, unsigned char const *p, size_t len);
+
+#define crc32(seed, data, length)  crc32_le(seed, (unsigned char const *)data, length)
+#define ether_crc_le(length, data) crc32_le(~0, data, length)
+#define ether_crc(length, data)    crc32_be(~0, data, length)
+
+#endif /* _CRC32_H */
index b32801e0b57f29c8ec06679afd9339af419d6cc8..7b61d0b05858ab3381a4bdeaa9a2be730116f017 100644 (file)
@@ -1,14 +1,6 @@
 #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;
-};
+#include "dos.h"
 
 static int
 is_extended(int type) {
@@ -17,9 +9,10 @@ is_extended(int type) {
 
 static int
 read_extended_partition(int fd, struct partition *ep,
-                       struct slice *sp, int ns) {
+                       struct slice *sp, int ns)
+{
        struct partition *p;
-       unsigned long start, here, next;
+       unsigned long start, here;
        unsigned char *bp;
        int loopct = 0;
        int moretodo = 1;
@@ -68,6 +61,11 @@ read_extended_partition(int fd, struct partition *ep,
        return n;
 }
 
+static int
+is_gpt(int type) {
+       return (type == 0xEE);
+}
+
 int
 read_dos_pt(int fd, struct slice all, struct slice *sp, int ns) {
        struct partition *p;
@@ -82,6 +80,13 @@ read_dos_pt(int fd, struct slice all, struct slice *sp, int ns) {
        if (bp[510] != 0x55 || bp[511] != 0xaa)
                return -1;
 
+       p = (struct partition *) (bp + 0x1be);
+       for (i=0; i<4; i++) {
+               if (is_gpt(p->sys_type)) {
+                       return 0;
+               }
+               p++;
+       }
        p = (struct partition *) (bp + 0x1be);
        for (i=0; i<4; i++) {
                /* always add, even if zero length */
diff --git a/partx/dos.h b/partx/dos.h
new file mode 100644 (file)
index 0000000..429f3d3
--- /dev/null
@@ -0,0 +1,13 @@
+#ifndef DOS_H_INCLUDED
+#define DOS_H_INCLUDED
+
+struct partition {
+       unsigned char boot_ind; /* 0x80 - active */
+       unsigned char bh, bs, bc;
+       unsigned char sys_type;
+       unsigned char eh, es, ec;
+       unsigned int start_sect;
+       unsigned int nr_sects;
+};
+
+#endif                         /* DOS_H_INCLUDED */
diff --git a/partx/efi.h b/partx/efi.h
new file mode 100644 (file)
index 0000000..fcf2740
--- /dev/null
@@ -0,0 +1,57 @@
+/*
+  efi.[ch] - Manipulates EFI variables as exported in /proc/efi/vars
+  Copyright (C) 2001 Dell Computer Corporation <Matt_Domsch@dell.com>
+    This program is free software; you can redistribute it and/or modify
+    it under the terms of the GNU General Public License as published by
+    the Free Software Foundation; either version 2 of the License, or
+    (at your option) any later version.
+
+    This program is distributed in the hope that it will be useful,
+    but WITHOUT ANY WARRANTY; without even the implied warranty of
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+    GNU General Public License for more details.
+
+    You should have received a copy of the GNU General Public License
+    along with this program; if not, write to the Free Software
+    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ */
+
+#ifndef EFI_H
+#define EFI_H
+
+/*
+ * Extensible Firmware Interface
+ * Based on 'Extensible Firmware Interface Specification'
+ *      version 1.02, 12 December, 2000
+ */
+#include <stdint.h>
+
+typedef struct {
+       uint8_t  b[16];
+} efi_guid_t;
+
+#define EFI_GUID(a,b,c,d0,d1,d2,d3,d4,d5,d6,d7) \
+((efi_guid_t) \
+{{ (a) & 0xff, ((a) >> 8) & 0xff, ((a) >> 16) & 0xff, ((a) >> 24) & 0xff, \
+  (b) & 0xff, ((b) >> 8) & 0xff, \
+  (c) & 0xff, ((c) >> 8) & 0xff, \
+  (d0), (d1), (d2), (d3), (d4), (d5), (d6), (d7) }})
+
+
+/******************************************************
+ * GUIDs
+ ******************************************************/
+#define NULL_GUID \
+EFI_GUID( 0x00000000, 0x0000, 0x0000, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00)
+
+static inline int
+efi_guidcmp(efi_guid_t left, efi_guid_t right)
+{
+       return memcmp(&left, &right, sizeof (efi_guid_t));
+}
+
+typedef uint16_t efi_char16_t;         /* UNICODE character */
+
+#endif /* EFI_H */
diff --git a/partx/gpt.c b/partx/gpt.c
new file mode 100644 (file)
index 0000000..bf90fde
--- /dev/null
@@ -0,0 +1,630 @@
+/*
+    gpt.[ch]
+
+    Copyright (C) 2000-2001 Dell Computer Corporation <Matt_Domsch@dell.com> 
+
+    EFI GUID Partition Table handling
+    Per Intel EFI Specification v1.02
+    http://developer.intel.com/technology/efi/efi.htm
+
+    This program is free software; you can redistribute it and/or modify
+    it under the terms of the GNU General Public License as published by
+    the Free Software Foundation; either version 2 of the License, or
+    (at your option) any later version.
+
+    This program is distributed in the hope that it will be useful,
+    but WITHOUT ANY WARRANTY; without even the implied warranty of
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+    GNU General Public License for more details.
+
+    You should have received a copy of the GNU General Public License
+    along with this program; if not, write to the Free Software
+    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+*/
+
+#define _FILE_OFFSET_BITS 64
+
+#include <stdio.h>
+#include <string.h>
+#include <stdlib.h>
+#include <inttypes.h>
+#include <sys/stat.h>
+#include <sys/ioctl.h>
+#include <fcntl.h>
+#include <unistd.h>
+#include <errno.h>
+#include <asm/byteorder.h>
+#include "crc32.h"
+#include "gpt.h"
+#include "partx.h"
+
+#define BLKGETLASTSECT  _IO(0x12,108) /* get last sector of block device */
+#define BLKGETSIZE _IO(0x12,96)        /* return device size */
+#define BLKSSZGET  _IO(0x12,104)       /* get block device sector size */
+#define BLKGETSIZE64 _IOR(0x12,114,sizeof(uint64_t))   /* return device size in bytes (u64 *arg) */
+
+struct blkdev_ioctl_param {
+        unsigned int block;
+        size_t content_length;
+        char * block_contents;
+};
+
+/**
+ * efi_crc32() - EFI version of crc32 function
+ * @buf: buffer to calculate crc32 of
+ * @len - length of buf
+ *
+ * Description: Returns EFI-style CRC32 value for @buf
+ * 
+ * This function uses the little endian Ethernet polynomial
+ * but seeds the function with ~0, and xor's with ~0 at the end.
+ * Note, the EFI Specification, v1.02, has a reference to
+ * Dr. Dobbs Journal, May 1994 (actually it's in May 1992).
+ */
+static inline uint32_t
+efi_crc32(const void *buf, unsigned long len)
+{
+       return (crc32(~0L, buf, len) ^ ~0L);
+}
+
+/**
+ * is_pmbr_valid(): test Protective MBR for validity
+ * @mbr: pointer to a legacy mbr structure
+ *
+ * Description: Returns 1 if PMBR is valid, 0 otherwise.
+ * Validity depends on two things:
+ *  1) MSDOS signature is in the last two bytes of the MBR
+ *  2) One partition of type 0xEE is found
+ */
+static int
+is_pmbr_valid(legacy_mbr *mbr)
+{
+       int i, found = 0, signature = 0;
+       if (!mbr)
+               return 0;
+       signature = (__le16_to_cpu(mbr->signature) == MSDOS_MBR_SIGNATURE);
+       for (i = 0; signature && i < 4; i++) {
+               if (mbr->partition[i].sys_type ==
+                    EFI_PMBR_OSTYPE_EFI_GPT) {
+                       found = 1;
+                       break;
+               }
+       }
+       return (signature && found);
+}
+
+
+/************************************************************
+ * get_sector_size
+ * Requires:
+ *  - filedes is an open file descriptor, suitable for reading
+ * Modifies: nothing
+ * Returns:
+ *  sector size, or 512.
+ ************************************************************/
+static int
+get_sector_size(int filedes)
+{
+       int rc, sector_size = 512;
+
+       rc = ioctl(filedes, BLKSSZGET, &sector_size);
+       if (rc)
+               sector_size = 512;
+       return sector_size;
+}
+
+/************************************************************
+ * _get_num_sectors
+ * Requires:
+ *  - filedes is an open file descriptor, suitable for reading
+ * Modifies: nothing
+ * Returns:
+ *  Last LBA value on success 
+ *  0 on error
+ *
+ * Try getting BLKGETSIZE64 and BLKSSZGET first,
+ * then BLKGETSIZE if necessary.
+ *  Kernels 2.4.15-2.4.18 and 2.5.0-2.5.3 have a broken BLKGETSIZE64
+ *  which returns the number of 512-byte sectors, not the size of
+ *  the disk in bytes. Fixed in kernels 2.4.18-pre8 and 2.5.4-pre3.
+ ************************************************************/
+static uint64_t
+_get_num_sectors(int filedes)
+{
+       unsigned long sectors=0;
+       int rc;
+#if 0
+        uint64_t bytes=0;
+
+       rc = ioctl(filedes, BLKGETSIZE64, &bytes);
+       if (!rc)
+               return bytes / get_sector_size(filedes);
+#endif
+        rc = ioctl(filedes, BLKGETSIZE, &sectors);
+        if (rc)
+                return 0;
+        
+       return sectors;
+}
+
+/************************************************************
+ * last_lba(): return number of last logical block of device
+ * 
+ * @fd
+ * 
+ * Description: returns Last LBA value on success, 0 on error.
+ * Notes: The value st_blocks gives the size of the file
+ *        in 512-byte blocks, which is OK if
+ *        EFI_BLOCK_SIZE_SHIFT == 9.
+ ************************************************************/
+
+static uint64_t
+last_lba(int filedes)
+{
+       int rc;
+       uint64_t sectors = 0;
+       struct stat s;
+       memset(&s, 0, sizeof (s));
+       rc = fstat(filedes, &s);
+       if (rc == -1) {
+               fprintf(stderr, "last_lba() could not stat: %s\n",
+                       strerror(errno));
+               return 0;
+       }
+
+       if (S_ISBLK(s.st_mode)) {
+               sectors = _get_num_sectors(filedes);
+       } else {
+               fprintf(stderr,
+                       "last_lba(): I don't know how to handle files with mode %x\n",
+                       s.st_mode);
+               sectors = 1;
+       }
+
+       return sectors - 1;
+}
+
+
+static ssize_t
+read_lastoddsector(int fd, uint64_t lba, void *buffer, size_t count)
+{
+        int rc;
+        struct blkdev_ioctl_param ioctl_param;
+
+        if (!buffer) return 0; 
+
+        ioctl_param.block = 0; /* read the last sector */
+        ioctl_param.content_length = count;
+        ioctl_param.block_contents = buffer;
+
+        rc = ioctl(fd, BLKGETLASTSECT, &ioctl_param);
+        if (rc == -1) perror("read failed");
+
+        return !rc;
+}
+
+static ssize_t
+read_lba(int fd, uint64_t lba, void *buffer, size_t bytes)
+{
+       int sector_size = get_sector_size(fd);
+       off_t offset = lba * sector_size;
+        ssize_t bytesread;
+
+       lseek(fd, offset, SEEK_SET);
+       bytesread = read(fd, buffer, bytes);
+
+        /* Kludge.  This is necessary to read/write the last
+           block of an odd-sized disk, until Linux 2.5.x kernel fixes.
+           This is only used by gpt.c, and only to read
+           one sector, so we don't have to be fancy.
+        */
+        if (!bytesread && !(last_lba(fd) & 1) && lba == last_lba(fd)) {
+                bytesread = read_lastoddsector(fd, lba, buffer, bytes);
+        }
+        return bytesread;
+}
+
+/**
+ * alloc_read_gpt_entries(): reads partition entries from disk
+ * @fd  is an open file descriptor to the whole disk
+ * @gpt is a buffer into which the GPT will be put  
+ * Description: Returns ptes on success,  NULL on error.
+ * Allocates space for PTEs based on information found in @gpt.
+ * Notes: remember to free pte when you're done!
+ */
+static gpt_entry *
+alloc_read_gpt_entries(int fd, gpt_header * gpt)
+{
+       gpt_entry *pte;
+        size_t count = __le32_to_cpu(gpt->num_partition_entries) *
+                __le32_to_cpu(gpt->sizeof_partition_entry);
+
+        if (!count) return NULL;
+
+       pte = (gpt_entry *)malloc(count);
+       if (!pte)
+               return NULL;
+       memset(pte, 0, count);
+
+       if (!read_lba(fd, __le64_to_cpu(gpt->partition_entry_lba), pte,
+                      count)) {
+               free(pte);
+               return NULL;
+       }
+       return pte;
+}
+
+/**
+ * alloc_read_gpt_header(): Allocates GPT header, reads into it from disk
+ * @fd  is an open file descriptor to the whole disk
+ * @lba is the Logical Block Address of the partition table
+ * 
+ * Description: returns GPT header on success, NULL on error.   Allocates
+ * and fills a GPT header starting at @ from @bdev.
+ * Note: remember to free gpt when finished with it.
+ */
+static gpt_header *
+alloc_read_gpt_header(int fd, uint64_t lba)
+{
+       gpt_header *gpt;
+       gpt = (gpt_header *)
+           malloc(sizeof (gpt_header));
+       if (!gpt)
+               return NULL;
+       memset(gpt, 0, sizeof (*gpt));
+       if (!read_lba(fd, lba, gpt, sizeof (gpt_header))) {
+               free(gpt);
+               return NULL;
+       }
+
+       return gpt;
+}
+
+/**
+ * is_gpt_valid() - tests one GPT header and PTEs for validity
+ * @fd  is an open file descriptor to the whole disk
+ * @lba is the logical block address of the GPT header to test
+ * @gpt is a GPT header ptr, filled on return.
+ * @ptes is a PTEs ptr, filled on return.
+ *
+ * Description: returns 1 if valid,  0 on error.
+ * If valid, returns pointers to newly allocated GPT header and PTEs.
+ */
+static int
+is_gpt_valid(int fd, uint64_t lba,
+             gpt_header ** gpt, gpt_entry ** ptes)
+{
+       int rc = 0;             /* default to not valid */
+       uint32_t crc, origcrc;
+
+       if (!gpt || !ptes)
+                return 0;
+       if (!(*gpt = alloc_read_gpt_header(fd, lba)))
+               return 0;
+
+       /* Check the GUID Partition Table signature */
+       if (__le64_to_cpu((*gpt)->signature) != GPT_HEADER_SIGNATURE) {
+               /* 
+                  printf("GUID Partition Table Header signature is wrong: %" PRIx64" != %" PRIx64 "\n",
+                  __le64_to_cpu((*gpt)->signature), GUID_PT_HEADER_SIGNATURE);
+                */
+               free(*gpt);
+               *gpt = NULL;
+               return rc;
+       }
+
+       /* Check the GUID Partition Table Header CRC */
+       origcrc = __le32_to_cpu((*gpt)->header_crc32);
+       (*gpt)->header_crc32 = 0;
+       crc = efi_crc32(*gpt, __le32_to_cpu((*gpt)->header_size));
+       if (crc != origcrc) {
+               // printf( "GPTH CRC check failed, %x != %x.\n", origcrc, crc);
+               (*gpt)->header_crc32 = __cpu_to_le32(origcrc);
+               free(*gpt);
+               *gpt = NULL;
+               return 0;
+       }
+       (*gpt)->header_crc32 = __cpu_to_le32(origcrc);
+
+       /* Check that the my_lba entry points to the LBA
+        * that contains the GPT we read */
+       if (__le64_to_cpu((*gpt)->my_lba) != lba) {
+               // printf( "my_lba % PRIx64 "x != lba %"PRIx64 "x.\n", __le64_to_cpu((*gpt)->my_lba), lba);
+               free(*gpt);
+               *gpt = NULL;
+               return 0;
+       }
+
+       if (!(*ptes = alloc_read_gpt_entries(fd, *gpt))) {
+               free(*gpt);
+               *gpt = NULL;
+               return 0;
+       }
+
+       /* Check the GUID Partition Entry Array CRC */
+       crc = efi_crc32(*ptes,
+                        __le32_to_cpu((*gpt)->num_partition_entries) *
+                       __le32_to_cpu((*gpt)->sizeof_partition_entry));
+       if (crc != __le32_to_cpu((*gpt)->partition_entry_array_crc32)) {
+               // printf("GUID Partitition Entry Array CRC check failed.\n");
+               free(*gpt);
+               *gpt = NULL;
+               free(*ptes);
+               *ptes = NULL;
+               return 0;
+       }
+
+       /* We're done, all's well */
+       return 1;
+}
+/**
+ * compare_gpts() - Search disk for valid GPT headers and PTEs
+ * @pgpt is the primary GPT header
+ * @agpt is the alternate GPT header
+ * @lastlba is the last LBA number
+ * Description: Returns nothing.  Sanity checks pgpt and agpt fields
+ * and prints warnings on discrepancies.
+ * 
+ */
+static void
+compare_gpts(gpt_header *pgpt, gpt_header *agpt, uint64_t lastlba)
+{
+       int error_found = 0;
+       if (!pgpt || !agpt)
+               return;
+       if (__le64_to_cpu(pgpt->my_lba) != __le64_to_cpu(agpt->alternate_lba)) {
+               fprintf(stderr, 
+                      "GPT:Primary header LBA != Alt. header alternate_lba\n");
+               fprintf(stderr,  "GPT:%" PRIx64 "x != %" PRIx64 "x\n",
+                      __le64_to_cpu(pgpt->my_lba),
+                       __le64_to_cpu(agpt->alternate_lba));
+               error_found++;
+       }
+       if (__le64_to_cpu(pgpt->alternate_lba) != __le64_to_cpu(agpt->my_lba)) {
+               fprintf(stderr, 
+                      "GPT:Primary header alternate_lba != Alt. header my_lba\n");
+               fprintf(stderr,  "GPT:%" PRIx64 " != %" PRIx64 "\n",
+                      __le64_to_cpu(pgpt->alternate_lba),
+                       __le64_to_cpu(agpt->my_lba));
+               error_found++;
+       }
+       if (__le64_to_cpu(pgpt->first_usable_lba) !=
+            __le64_to_cpu(agpt->first_usable_lba)) {
+               fprintf(stderr,  "GPT:first_usable_lbas don't match.\n");
+               fprintf(stderr,  "GPT:%" PRIx64 " != %" PRIx64 "\n",
+                      __le64_to_cpu(pgpt->first_usable_lba),
+                       __le64_to_cpu(agpt->first_usable_lba));
+               error_found++;
+       }
+       if (__le64_to_cpu(pgpt->last_usable_lba) !=
+            __le64_to_cpu(agpt->last_usable_lba)) {
+               fprintf(stderr,  "GPT:last_usable_lbas don't match.\n");
+               fprintf(stderr,  "GPT:%" PRIx64 " != %" PRIx64 "\n",
+                      __le64_to_cpu(pgpt->last_usable_lba),
+                       __le64_to_cpu(agpt->last_usable_lba));
+               error_found++;
+       }
+       if (efi_guidcmp(pgpt->disk_guid, agpt->disk_guid)) {
+               fprintf(stderr,  "GPT:disk_guids don't match.\n");
+               error_found++;
+       }
+       if (__le32_to_cpu(pgpt->num_partition_entries) !=
+            __le32_to_cpu(agpt->num_partition_entries)) {
+               fprintf(stderr,  "GPT:num_partition_entries don't match: "
+                      "0x%x != 0x%x\n",
+                      __le32_to_cpu(pgpt->num_partition_entries),
+                      __le32_to_cpu(agpt->num_partition_entries));
+               error_found++;
+       }
+       if (__le32_to_cpu(pgpt->sizeof_partition_entry) !=
+            __le32_to_cpu(agpt->sizeof_partition_entry)) {
+               fprintf(stderr, 
+                      "GPT:sizeof_partition_entry values don't match: "
+                      "0x%x != 0x%x\n",
+                       __le32_to_cpu(pgpt->sizeof_partition_entry),
+                      __le32_to_cpu(agpt->sizeof_partition_entry));
+               error_found++;
+       }
+       if (__le32_to_cpu(pgpt->partition_entry_array_crc32) !=
+            __le32_to_cpu(agpt->partition_entry_array_crc32)) {
+               fprintf(stderr, 
+                      "GPT:partition_entry_array_crc32 values don't match: "
+                      "0x%x != 0x%x\n",
+                       __le32_to_cpu(pgpt->partition_entry_array_crc32),
+                      __le32_to_cpu(agpt->partition_entry_array_crc32));
+               error_found++;
+       }
+       if (__le64_to_cpu(pgpt->alternate_lba) != lastlba) {
+               fprintf(stderr, 
+                      "GPT:Primary header thinks Alt. header is not at the end of the disk.\n");
+               fprintf(stderr,  "GPT:%" PRIx64 " != %" PRIx64 "\n",
+                      __le64_to_cpu(pgpt->alternate_lba), lastlba);
+               error_found++;
+       }
+
+       if (__le64_to_cpu(agpt->my_lba) != lastlba) {
+               fprintf(stderr, 
+                      "GPT:Alternate GPT header not at the end of the disk.\n");
+               fprintf(stderr,  "GPT:%" PRIx64 " != %" PRIx64 "\n",
+                      __le64_to_cpu(agpt->my_lba), lastlba);
+               error_found++;
+       }
+
+       if (error_found)
+               fprintf(stderr, 
+                      "GPT: Use GNU Parted to correct GPT errors.\n");
+       return;
+}
+
+/**
+ * find_valid_gpt() - Search disk for valid GPT headers and PTEs
+ * @fd  is an open file descriptor to the whole disk
+ * @gpt is a GPT header ptr, filled on return.
+ * @ptes is a PTEs ptr, filled on return.
+ * Description: Returns 1 if valid, 0 on error.
+ * If valid, returns pointers to newly allocated GPT header and PTEs.
+ * Validity depends on finding either the Primary GPT header and PTEs valid,
+ * or the Alternate GPT header and PTEs valid, and the PMBR valid.
+ */
+static int
+find_valid_gpt(int fd, gpt_header ** gpt, gpt_entry ** ptes)
+{
+        extern int force_gpt;
+       int good_pgpt = 0, good_agpt = 0, good_pmbr = 0;
+       gpt_header *pgpt = NULL, *agpt = NULL;
+       gpt_entry *pptes = NULL, *aptes = NULL;
+       legacy_mbr *legacymbr = NULL;
+       uint64_t lastlba;
+       if (!gpt || !ptes)
+               return 0;
+
+       lastlba = last_lba(fd);
+       good_pgpt = is_gpt_valid(fd, GPT_PRIMARY_PARTITION_TABLE_LBA,
+                                &pgpt, &pptes);
+        if (good_pgpt) {
+               good_agpt = is_gpt_valid(fd,
+                                         __le64_to_cpu(pgpt->alternate_lba),
+                                        &agpt, &aptes);
+                if (!good_agpt) {
+                        good_agpt = is_gpt_valid(fd, lastlba,
+                                                 &agpt, &aptes);
+                }
+        }
+        else {
+                good_agpt = is_gpt_valid(fd, lastlba,
+                                         &agpt, &aptes);
+        }
+
+        /* The obviously unsuccessful case */
+        if (!good_pgpt && !good_agpt) {
+                goto fail;
+        }
+
+       /* This will be added to the EFI Spec. per Intel after v1.02. */
+        legacymbr = malloc(sizeof (*legacymbr));
+        if (legacymbr) {
+                memset(legacymbr, 0, sizeof (*legacymbr));
+                read_lba(fd, 0, (uint8_t *) legacymbr,
+                         sizeof (*legacymbr));
+                good_pmbr = is_pmbr_valid(legacymbr);
+                free(legacymbr);
+                legacymbr=NULL;
+        }
+
+        /* Failure due to bad PMBR */
+        if ((good_pgpt || good_agpt) && !good_pmbr && !force_gpt) {
+                fprintf(stderr,
+                       "  Warning: Disk has a valid GPT signature "
+                       "but invalid PMBR.\n"
+                       "  Assuming this disk is *not* a GPT disk anymore.\n"
+                       "  Use gpt kernel option to override.  "
+                       "Use GNU Parted to correct disk.\n");
+                goto fail;
+        }
+
+        /* Would fail due to bad PMBR, but force GPT anyhow */
+        if ((good_pgpt || good_agpt) && !good_pmbr && force_gpt) {
+                fprintf(stderr, 
+                       "  Warning: Disk has a valid GPT signature but "
+                       "invalid PMBR.\n"
+                       "  Use GNU Parted to correct disk.\n"
+                       "  gpt option taken, disk treated as GPT.\n");
+        }
+
+        compare_gpts(pgpt, agpt, lastlba);
+
+        /* The good cases */
+        if (good_pgpt && (good_pmbr || force_gpt)) {
+                *gpt  = pgpt;
+                *ptes = pptes;
+                if (agpt)  { free(agpt);   agpt = NULL; }
+                if (aptes) { free(aptes); aptes = NULL; }
+                if (!good_agpt) {
+                        fprintf(stderr, 
+                              "Alternate GPT is invalid, "
+                               "using primary GPT.\n");
+                }
+                return 1;
+        }
+        else if (good_agpt && (good_pmbr || force_gpt)) {
+                *gpt  = agpt;
+                *ptes = aptes;
+                if (pgpt)  { free(pgpt);   pgpt = NULL; }
+                if (pptes) { free(pptes); pptes = NULL; }
+                fprintf(stderr, 
+                       "Primary GPT is invalid, using alternate GPT.\n");
+                return 1;
+        }
+
+ fail:
+        if (pgpt)  { free(pgpt);   pgpt=NULL; }
+        if (agpt)  { free(agpt);   agpt=NULL; }
+        if (pptes) { free(pptes); pptes=NULL; }
+        if (aptes) { free(aptes); aptes=NULL; }
+        *gpt = NULL;
+        *ptes = NULL;
+        return 0;
+}
+
+/**
+ * read_gpt_pt() 
+ * @fd
+ * @all - slice with start/size of whole disk
+ *
+ *  0 if this isn't our partition table
+ *  number of partitions if successful
+ *
+ */
+int
+read_gpt_pt (int fd, struct slice all, struct slice *sp, int ns)
+{
+       gpt_header *gpt = NULL;
+       gpt_entry *ptes = NULL;
+       uint32_t i;
+       int n = 0;
+        int last_used_index=-1;
+
+       if (!find_valid_gpt (fd, &gpt, &ptes) || !gpt || !ptes) {
+               if (gpt)
+                       free (gpt);
+               if (ptes)
+                       free (ptes);
+               return 0;
+       }
+
+       for (i = 0; i < __le32_to_cpu(gpt->num_partition_entries) && i < ns; i++) {
+               if (!efi_guidcmp (NULL_GUID, ptes[i].partition_type_guid)) {
+                       sp[n].start = 0;
+                       sp[n].size = 0;
+                       n++;
+               } else {
+                       sp[n].start = __le64_to_cpu(ptes[i].starting_lba);
+                       sp[n].size  = __le64_to_cpu(ptes[i].ending_lba);
+                        last_used_index=n;
+                       n++;
+               }
+       }
+       free (ptes);
+       free (gpt);
+       return last_used_index+1;
+}
+
+
+/*
+ * Overrides for Emacs so that we follow Linus's tabbing style.
+ * Emacs will notice this stuff at the end of the file and automatically
+ * adjust the settings for this buffer only.  This must remain at the end
+ * of the file.
+ * ---------------------------------------------------------------------------
+ * Local variables:
+ * c-indent-level: 4 
+ * c-brace-imaginary-offset: 0
+ * c-brace-offset: -4
+ * c-argdecl-indent: 4
+ * c-label-offset: -4
+ * c-continued-statement-offset: 4
+ * c-continued-brace-offset: 0
+ * indent-tabs-mode: nil
+ * tab-width: 8
+ * End:
+ */
diff --git a/partx/gpt.h b/partx/gpt.h
new file mode 100644 (file)
index 0000000..d0a81f5
--- /dev/null
@@ -0,0 +1,131 @@
+/*
+    gpt.[ch]
+
+    Copyright (C) 2000-2001 Dell Computer Corporation <Matt_Domsch@dell.com> 
+
+    EFI GUID Partition Table handling
+    Per Intel EFI Specification v1.02
+    http://developer.intel.com/technology/efi/efi.htm
+
+    This program is free software; you can redistribute it and/or modify
+    it under the terms of the GNU General Public License as published by
+    the Free Software Foundation; either version 2 of the License, or
+    (at your option) any later version.
+
+    This program is distributed in the hope that it will be useful,
+    but WITHOUT ANY WARRANTY; without even the implied warranty of
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+    GNU General Public License for more details.
+
+    You should have received a copy of the GNU General Public License
+    along with this program; if not, write to the Free Software
+    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+*/
+
+#ifndef _GPT_H
+#define _GPT_H
+
+
+#include <inttypes.h>
+#include "partx.h"
+#include "dos.h"
+#include "efi.h"
+
+#define EFI_PMBR_OSTYPE_EFI 0xEF
+#define EFI_PMBR_OSTYPE_EFI_GPT 0xEE
+#define MSDOS_MBR_SIGNATURE 0xaa55
+#define GPT_BLOCK_SIZE 512
+
+#define GPT_HEADER_SIGNATURE 0x5452415020494645
+#define GPT_HEADER_REVISION_V1_02 0x00010200
+#define GPT_HEADER_REVISION_V1_00 0x00010000
+#define GPT_HEADER_REVISION_V0_99 0x00009900
+#define GPT_PRIMARY_PARTITION_TABLE_LBA 1
+
+typedef struct _gpt_header {
+       uint64_t signature;
+       uint32_t revision;
+       uint32_t header_size;
+       uint32_t header_crc32;
+       uint32_t reserved1;
+       uint64_t my_lba;
+       uint64_t alternate_lba;
+       uint64_t first_usable_lba;
+       uint64_t last_usable_lba;
+       efi_guid_t disk_guid;
+       uint64_t partition_entry_lba;
+       uint32_t num_partition_entries;
+       uint32_t sizeof_partition_entry;
+       uint32_t partition_entry_array_crc32;
+       uint8_t reserved2[GPT_BLOCK_SIZE - 92];
+} __attribute__ ((packed)) gpt_header;
+
+typedef struct _gpt_entry_attributes {
+       uint64_t required_to_function:1;
+       uint64_t reserved:47;
+        uint64_t type_guid_specific:16;
+} __attribute__ ((packed)) gpt_entry_attributes;
+
+typedef struct _gpt_entry {
+       efi_guid_t partition_type_guid;
+       efi_guid_t unique_partition_guid;
+       uint64_t starting_lba;
+       uint64_t ending_lba;
+       gpt_entry_attributes attributes;
+       efi_char16_t partition_name[72 / sizeof(efi_char16_t)];
+} __attribute__ ((packed)) gpt_entry;
+
+
+/* 
+   These values are only defaults.  The actual on-disk structures
+   may define different sizes, so use those unless creating a new GPT disk!
+*/
+
+#define GPT_DEFAULT_RESERVED_PARTITION_ENTRY_ARRAY_SIZE 16384
+/* 
+   Number of actual partition entries should be calculated
+   as: 
+*/
+#define GPT_DEFAULT_RESERVED_PARTITION_ENTRIES \
+        (GPT_DEFAULT_RESERVED_PARTITION_ENTRY_ARRAY_SIZE / \
+         sizeof(gpt_entry))
+
+
+/* Protected Master Boot Record  & Legacy MBR share same structure */
+/* Needs to be packed because the u16s force misalignment. */
+
+typedef struct _legacy_mbr {
+       uint8_t bootcode[440];
+       uint32_t unique_mbr_signature;
+       uint16_t unknown;
+       struct partition partition[4];
+       uint16_t signature;
+} __attribute__ ((packed)) legacy_mbr;
+
+
+#define EFI_GPT_PRIMARY_PARTITION_TABLE_LBA 1
+
+/* Functions */
+int read_gpt_pt (int fd, struct slice all, struct slice *sp, int ns);
+
+
+#endif
+
+/*
+ * Overrides for Emacs so that we follow Linus's tabbing style.
+ * Emacs will notice this stuff at the end of the file and automatically
+ * adjust the settings for this buffer only.  This must remain at the end
+ * of the file.
+ * ---------------------------------------------------------------------------
+ * Local variables:
+ * c-indent-level: 4 
+ * c-brace-imaginary-offset: 0
+ * c-brace-offset: -4
+ * c-argdecl-indent: 4
+ * c-label-offset: -4
+ * c-continued-statement-offset: 4
+ * c-continued-brace-offset: 0
+ * indent-tabs-mode: nil
+ * tab-width: 8
+ * End:
+ */
index 212f651b6702fc31f13e7cfe66d01d77615623ec..f56c2d57ec8f4582aada12aa3e2ef12a86be83c5 100644 (file)
@@ -9,7 +9,7 @@
  *
  * Call:
  *     partx [-{l|a|d}] [--type TYPE] [--nr M-N] [partition] wholedisk
- * where TYPE is {dos|bsd|solaris|unixware}.
+ * where TYPE is {dos|bsd|solaris|unixware|gpt}.
  *
  * Read wholedisk and add all partitions:
  *     partx -a wholedisk
 #include <stdlib.h>
 #include <string.h>
 #include <getopt.h>
+#include <unistd.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"
+#include "crc32.h"
 static void errmerge(int err, int m, char *msg1, char *msg2);
 
 #define SIZE(a) (sizeof(a)/sizeof((a)[0]))
@@ -58,7 +60,9 @@ struct pt {
 } pts[MAXTYPES];
 int ptct;
 
-addpts(char *t, ptreader f) {
+static void
+addpts(char *t, ptreader f)
+{
        if (ptct >= MAXTYPES) {
                fprintf(stderr, "addpts: too many types\n");
                exit(1);
@@ -68,20 +72,27 @@ addpts(char *t, ptreader f) {
        ptct++;
 }
 
-initpts(){
+static void
+initpts(void)
+{
+       addpts("gpt", read_gpt_pt);
        addpts("dos", read_dos_pt);
        addpts("bsd", read_bsd_pt);
        addpts("solaris", read_solaris_pt);
        addpts("unixware", read_unixware_pt);
 }
 
-static char short_opts[] = "ladvn:t:";
+static char short_opts[] = "ladgvn:t:";
 static const struct option long_opts[] = {
+       { "gpt",        no_argument,            NULL,   'g' },
        { "type",       required_argument,      NULL,   't' },
        { "nr",         required_argument,      NULL,   'n' },
        { NULL, 0, NULL, 0 }
 };
 
+/* Used in gpt.c */
+int force_gpt=0;
+
 int
 main(int argc, char **argv){
         int fd, fd2, c, i, j, k, n;
@@ -98,6 +109,7 @@ main(int argc, char **argv){
        int ret = 0;
 
        initpts();
+       init_crc32();
 
        lower = upper = 0;
        type = device = diskdevice = NULL;
@@ -110,6 +122,8 @@ main(int argc, char **argv){
                what = ADD; break;
        case 'd':
                what = DELETE; break;
+       case 'g':
+               force_gpt=1; break;
        case 'n':
                p = optarg;
                lower = atoi(p);
@@ -256,8 +270,8 @@ main(int argc, char **argv){
                                       slices[j].start,
                                       slices[j].start+slices[j].size-1,
                                       slices[j].size,
-                                      ((512 * (long long) slices[j].size)
-                                              / 1000000));
+                                      (int)((512 * (long long) slices[j].size)
+                                       / 1000000));
                        }
                        if (n > 0 && what == ADD) {
                            /* test for overlap, as in the case of an
index b96588a59b03807d0199d509101ae25ee1486023..efaa0640a57b7aaa0a9ee26198601bc2f5336af5 100644 (file)
@@ -1,3 +1,6 @@
+#ifndef PARTX_H_INCLUDED
+#define PARTX_H_INCLUDED
+
 /*
  * For each partition type there is a routine that takes
  * a block device and a range, and returns the list of
@@ -16,7 +19,7 @@ struct slice {
 
 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;
+extern ptreader read_dos_pt, read_bsd_pt, read_solaris_pt, read_unixware_pt, read_gpt_pt;
 
 char *getblock(int fd, unsigned int secnr);
 
@@ -24,3 +27,5 @@ static inline int
 four2int(unsigned char *p) {
        return p[0] + (p[1]<<8) + (p[2]<<16) + (p[3]<<24);
 }
+
+#endif /* PARTX_H_INCLUDED */
index 3b3f21e165d369c99618124651a9271d722a2ddf..34cc226a7298040f05e7bc735b85e04fb42aedf4 100644 (file)
@@ -3,8 +3,8 @@
 
 #define UNIXWARE_FS_UNUSED     0
 #define UNIXWARE_NUMSLICE      16
-#define UNIXWARE_DISKMAGIC     (0xCA5E600DUL)
-#define UNIXWARE_DISKMAGIC2    (0x600DDEEEUL)
+#define UNIXWARE_DISKMAGIC     (0xCA5E600D)
+#define UNIXWARE_DISKMAGIC2    (0x600DDEEE)
 
 struct unixware_slice {
        unsigned short s_label;         /* label */
index 2171553c79cd7cb2ec2090ab2adcdc6bd4362969..f187b10a99500502febe822a2460f719ed7f7d77 100644 (file)
@@ -225,7 +225,7 @@ 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", 189},
   {"Unable to set up swap-space: unreadable", 190},
-  {"Setting up swapspace version %d, size = %ld bytes\n", 191},
+  {"Setting up swapspace version %d, size = %lu bytes\n", 191},
   {"unable to rewind swap-device", 192},
   {"unable to write signature page", 193},
   {"fsync failed", 194},
@@ -1566,399 +1566,401 @@ wtmp begins %s", 1153},
   {"\
 \n\
 interrupted %10.10s %5.5s \n", 1156},
-  {"login: -h for super-user only.\n", 1157},
-  {"usage: login [-fp] [username]\n", 1158},
-  {"login: PAM Failure, aborting: %s\n", 1159},
-  {"Couldn't initialize PAM: %s", 1160},
-  {"login: ", 1161},
-  {"FAILED LOGIN %d FROM %s FOR %s, %s", 1162},
+  {"FATAL: can't reopen tty: %s", 1157},
+  {"login: -h for super-user only.\n", 1158},
+  {"usage: login [-fp] [username]\n", 1159},
+  {"login: PAM Failure, aborting: %s\n", 1160},
+  {"Couldn't initialize PAM: %s", 1161},
+  {"login: ", 1162},
+  {"FAILED LOGIN %d FROM %s FOR %s, %s", 1163},
   {"\
 Login incorrect\n\
-\n", 1163},
-  {"TOO MANY LOGIN TRIES (%d) FROM %s FOR %s, %s", 1164},
-  {"FAILED LOGIN SESSION FROM %s FOR %s, %s", 1165},
+\n", 1164},
+  {"TOO MANY LOGIN TRIES (%d) FROM %s FOR %s, %s", 1165},
+  {"FAILED LOGIN SESSION FROM %s FOR %s, %s", 1166},
   {"\
 \n\
-Login incorrect\n", 1166},
+Login incorrect\n", 1167},
   {"\
 \n\
-Session setup problem, abort.\n", 1167},
-  {"NULL user name in %s:%d. Abort.", 1168},
-  {"Invalid user name \"%s\" in %s:%d. Abort.", 1169},
-  {"login: Out of memory\n", 1170},
-  {"Illegal username", 1171},
-  {"%s login refused on this terminal.\n", 1172},
-  {"LOGIN %s REFUSED FROM %s ON TTY %s", 1173},
-  {"LOGIN %s REFUSED ON TTY %s", 1174},
-  {"Login incorrect\n", 1175},
+Session setup problem, abort.\n", 1168},
+  {"NULL user name in %s:%d. Abort.", 1169},
+  {"Invalid user name \"%s\" in %s:%d. Abort.", 1170},
+  {"login: Out of memory\n", 1171},
+  {"Illegal username", 1172},
+  {"%s login refused on this terminal.\n", 1173},
+  {"LOGIN %s REFUSED FROM %s ON TTY %s", 1174},
+  {"LOGIN %s REFUSED ON TTY %s", 1175},
+  {"Login incorrect\n", 1176},
   {"\
 Too many users logged on already.\n\
-Try again later.\n", 1176},
-  {"You have too many processes running.\n", 1177},
-  {"DIALUP AT %s BY %s", 1178},
-  {"ROOT LOGIN ON %s FROM %s", 1179},
-  {"ROOT LOGIN ON %s", 1180},
-  {"LOGIN ON %s BY %s FROM %s", 1181},
-  {"LOGIN ON %s BY %s", 1182},
-  {"You have new mail.\n", 1183},
-  {"You have mail.\n", 1184},
-  {"login: failure forking: %s", 1185},
-  {"setuid() failed", 1186},
-  {"No directory %s!\n", 1187},
-  {"Logging in with home = \"/\".\n", 1188},
-  {"login: no memory for shell script.\n", 1189},
-  {"login: couldn't exec shell script: %s.\n", 1190},
-  {"login: no shell: %s.\n", 1191},
+Try again later.\n", 1177},
+  {"You have too many processes running.\n", 1178},
+  {"DIALUP AT %s BY %s", 1179},
+  {"ROOT LOGIN ON %s FROM %s", 1180},
+  {"ROOT LOGIN ON %s", 1181},
+  {"LOGIN ON %s BY %s FROM %s", 1182},
+  {"LOGIN ON %s BY %s", 1183},
+  {"You have new mail.\n", 1184},
+  {"You have mail.\n", 1185},
+  {"login: failure forking: %s", 1186},
+  {"TIOCSCTTY failed: %m", 1187},
+  {"setuid() failed", 1188},
+  {"No directory %s!\n", 1189},
+  {"Logging in with home = \"/\".\n", 1190},
+  {"login: no memory for shell script.\n", 1191},
+  {"login: couldn't exec shell script: %s.\n", 1192},
+  {"login: no shell: %s.\n", 1193},
   {"\
 \n\
-%s login: ", 1192},
-  {"login name much too long.\n", 1193},
-  {"NAME too long", 1194},
-  {"login names may not start with '-'.\n", 1195},
-  {"too many bare linefeeds.\n", 1196},
-  {"EXCESSIVE linefeeds", 1197},
-  {"Login timed out after %d seconds\n", 1198},
-  {"Last login: %.*s ", 1199},
-  {"from %.*s\n", 1200},
-  {"on %.*s\n", 1201},
-  {"LOGIN FAILURE FROM %s, %s", 1202},
-  {"LOGIN FAILURE ON %s, %s", 1203},
-  {"%d LOGIN FAILURES FROM %s, %s", 1204},
-  {"%d LOGIN FAILURES ON %s, %s", 1205},
-  {"is y\n", 1206},
-  {"is n\n", 1207},
-  {"usage: mesg [y | n]\n", 1208},
-  {"newgrp: Who are you?", 1209},
-  {"newgrp: setgid", 1210},
-  {"newgrp: No such group.", 1211},
-  {"newgrp: Permission denied", 1212},
-  {"newgrp: setuid", 1213},
-  {"No shell", 1214},
-  {"The password must have at least 6 characters, try again.\n", 1215},
+%s login: ", 1194},
+  {"login name much too long.\n", 1195},
+  {"NAME too long", 1196},
+  {"login names may not start with '-'.\n", 1197},
+  {"too many bare linefeeds.\n", 1198},
+  {"EXCESSIVE linefeeds", 1199},
+  {"Login timed out after %d seconds\n", 1200},
+  {"Last login: %.*s ", 1201},
+  {"from %.*s\n", 1202},
+  {"on %.*s\n", 1203},
+  {"LOGIN FAILURE FROM %s, %s", 1204},
+  {"LOGIN FAILURE ON %s, %s", 1205},
+  {"%d LOGIN FAILURES FROM %s, %s", 1206},
+  {"%d LOGIN FAILURES ON %s, %s", 1207},
+  {"is y\n", 1208},
+  {"is n\n", 1209},
+  {"usage: mesg [y | n]\n", 1210},
+  {"newgrp: Who are you?", 1211},
+  {"newgrp: setgid", 1212},
+  {"newgrp: No such group.", 1213},
+  {"newgrp: Permission denied", 1214},
+  {"newgrp: setuid", 1215},
+  {"No shell", 1216},
+  {"The password must have at least 6 characters, try again.\n", 1217},
   {"\
 The password must contain characters out of two of the following\n\
 classes:  upper and lower case letters, digits and non alphanumeric\n\
-characters. See passwd(1) for more information.\n", 1216},
-  {"You cannot reuse the old password.\n", 1217},
-  {"Please don't use something like your username as password!\n", 1218},
-  {"Please don't use something like your realname as password!\n", 1219},
-  {"Usage: passwd [username [password]]\n", 1220},
-  {"Only root may use the one and two argument forms.\n", 1221},
-  {"Usage: passwd [-foqsvV] [user [password]]\n", 1222},
-  {"Can't exec %s: %s\n", 1223},
-  {"Cannot find login name", 1224},
-  {"Only root can change the password for others.\n", 1225},
-  {"Too many arguments.\n", 1226},
-  {"Can't find username anywhere. Is `%s' really a user?", 1227},
-  {"Sorry, I can only change local passwords. Use yppasswd instead.", 1228},
-  {"UID and username does not match, imposter!", 1229},
-  {"Changing password for %s\n", 1230},
-  {"Enter old password: ", 1231},
-  {"Illegal password, imposter.", 1232},
-  {"Enter new password: ", 1233},
-  {"Password not changed.", 1234},
-  {"Re-type new password: ", 1235},
-  {"You misspelled it. Password not changed.", 1236},
-  {"password changed, user %s", 1237},
-  {"ROOT PASSWORD CHANGED", 1238},
-  {"password changed by root, user %s", 1239},
-  {"calling setpwnam to set password.\n", 1240},
-  {"Password *NOT* changed.  Try again later.\n", 1241},
-  {"Password changed.\n", 1242},
-  {"Usage: shutdown [-h|-r] [-fqs] [now|hh:ss|+mins]\n", 1243},
-  {"Shutdown process aborted", 1244},
-  {"%s: Only root can shut a system down.\n", 1245},
-  {"That must be tomorrow, can't you wait till then?\n", 1246},
-  {"for maintenance; bounce, bounce", 1247},
-  {"timeout = %d, quiet = %d, reboot = %d\n", 1248},
-  {"The system is being shut down within 5 minutes", 1249},
-  {"Login is therefore prohibited.", 1250},
-  {"rebooted by %s: %s", 1251},
-  {"halted by %s: %s", 1252},
+characters. See passwd(1) for more information.\n", 1218},
+  {"You cannot reuse the old password.\n", 1219},
+  {"Please don't use something like your username as password!\n", 1220},
+  {"Please don't use something like your realname as password!\n", 1221},
+  {"Usage: passwd [username [password]]\n", 1222},
+  {"Only root may use the one and two argument forms.\n", 1223},
+  {"Usage: passwd [-foqsvV] [user [password]]\n", 1224},
+  {"Can't exec %s: %s\n", 1225},
+  {"Cannot find login name", 1226},
+  {"Only root can change the password for others.\n", 1227},
+  {"Too many arguments.\n", 1228},
+  {"Can't find username anywhere. Is `%s' really a user?", 1229},
+  {"Sorry, I can only change local passwords. Use yppasswd instead.", 1230},
+  {"UID and username does not match, imposter!", 1231},
+  {"Changing password for %s\n", 1232},
+  {"Enter old password: ", 1233},
+  {"Illegal password, imposter.", 1234},
+  {"Enter new password: ", 1235},
+  {"Password not changed.", 1236},
+  {"Re-type new password: ", 1237},
+  {"You misspelled it. Password not changed.", 1238},
+  {"password changed, user %s", 1239},
+  {"ROOT PASSWORD CHANGED", 1240},
+  {"password changed by root, user %s", 1241},
+  {"calling setpwnam to set password.\n", 1242},
+  {"Password *NOT* changed.  Try again later.\n", 1243},
+  {"Password changed.\n", 1244},
+  {"Usage: shutdown [-h|-r] [-fqs] [now|hh:ss|+mins]\n", 1245},
+  {"Shutdown process aborted", 1246},
+  {"%s: Only root can shut a system down.\n", 1247},
+  {"That must be tomorrow, can't you wait till then?\n", 1248},
+  {"for maintenance; bounce, bounce", 1249},
+  {"timeout = %d, quiet = %d, reboot = %d\n", 1250},
+  {"The system is being shut down within 5 minutes", 1251},
+  {"Login is therefore prohibited.", 1252},
+  {"rebooted by %s: %s", 1253},
+  {"halted by %s: %s", 1254},
   {"\
 \n\
-Why am I still alive after reboot?", 1253},
+Why am I still alive after reboot?", 1255},
   {"\
 \n\
-Now you can turn off the power...", 1254},
-  {"Calling kernel power-off facility...\n", 1255},
-  {"Error powering off\t%s\n", 1256},
-  {"Executing the program \"%s\" ...\n", 1257},
-  {"Error executing\t%s\n", 1258},
-  {"URGENT: broadcast message from %s:", 1259},
-  {"System going down in %d hours %d minutes", 1260},
-  {"System going down in 1 hour %d minutes", 1261},
-  {"System going down in %d minutes\n", 1262},
-  {"System going down in 1 minute\n", 1263},
-  {"System going down IMMEDIATELY!\n", 1264},
-  {"\t... %s ...\n", 1265},
-  {"Cannot fork for swapoff. Shrug!", 1266},
-  {"Cannot exec swapoff, hoping umount will do the trick.", 1267},
-  {"Cannot fork for umount, trying manually.", 1268},
-  {"Cannot exec %s, trying umount.\n", 1269},
-  {"Cannot exec umount, giving up on umount.", 1270},
-  {"Unmounting any remaining filesystems...", 1271},
-  {"shutdown: Couldn't umount %s: %s\n", 1272},
-  {"Booting to single user mode.\n", 1273},
-  {"exec of single user shell failed\n", 1274},
-  {"fork of single user shell failed\n", 1275},
-  {"error opening fifo\n", 1276},
-  {"error running finalprog\n", 1277},
-  {"error forking finalprog\n", 1278},
+Now you can turn off the power...", 1256},
+  {"Calling kernel power-off facility...\n", 1257},
+  {"Error powering off\t%s\n", 1258},
+  {"Executing the program \"%s\" ...\n", 1259},
+  {"Error executing\t%s\n", 1260},
+  {"URGENT: broadcast message from %s:", 1261},
+  {"System going down in %d hours %d minutes", 1262},
+  {"System going down in 1 hour %d minutes", 1263},
+  {"System going down in %d minutes\n", 1264},
+  {"System going down in 1 minute\n", 1265},
+  {"System going down IMMEDIATELY!\n", 1266},
+  {"\t... %s ...\n", 1267},
+  {"Cannot fork for swapoff. Shrug!", 1268},
+  {"Cannot exec swapoff, hoping umount will do the trick.", 1269},
+  {"Cannot fork for umount, trying manually.", 1270},
+  {"Cannot exec %s, trying umount.\n", 1271},
+  {"Cannot exec umount, giving up on umount.", 1272},
+  {"Unmounting any remaining filesystems...", 1273},
+  {"shutdown: Couldn't umount %s: %s\n", 1274},
+  {"Booting to single user mode.\n", 1275},
+  {"exec of single user shell failed\n", 1276},
+  {"fork of single user shell failed\n", 1277},
+  {"error opening fifo\n", 1278},
+  {"error running finalprog\n", 1279},
+  {"error forking finalprog\n", 1280},
   {"\
 \n\
-Wrong password.\n", 1279},
-  {"lstat of path failed\n", 1280},
-  {"stat of path failed\n", 1281},
-  {"open of directory failed\n", 1282},
-  {"fork failed\n", 1283},
-  {"exec failed\n", 1284},
-  {"cannot open inittab\n", 1285},
-  {"no TERM or cannot stat tty\n", 1286},
-  {"error stopping service: \"%s\"", 1287},
-  {"too many iov's (change code in wall/ttymsg.c)", 1288},
-  {"excessively long line arg", 1289},
-  {"cannot fork", 1290},
-  {"fork: %s", 1291},
-  {"%s: BAD ERROR", 1292},
-  {"%s: the password file is busy.\n", 1293},
-  {"%s: the group file is busy.\n", 1294},
-  {"%s: the %s file is busy (%s present)\n", 1295},
-  {"%s: can't link %s: %s\n", 1296},
-  {"%s: can't unlock %s: %s (your changes are still in %s)\n", 1297},
-  {"%s: Cannot fork\n", 1298},
-  {"%s: %s unchanged\n", 1299},
-  {"%s: no changes made\n", 1300},
-  {"You are using shadow groups on this system.\n", 1301},
-  {"You are using shadow passwords on this system.\n", 1302},
-  {"Would you like to edit %s now [y/n]? ", 1303},
-  {"usage: %s [file]\n", 1304},
-  {"%s: can't open temporary file.\n", 1305},
-  {"Broadcast Message from %s@%s", 1306},
-  {"%s: will not read %s - use stdin.\n", 1307},
-  {"%s: can't read %s.\n", 1308},
-  {"%s: can't stat temporary file.\n", 1309},
-  {"%s: can't read temporary file.\n", 1310},
-  {"illegal month value: use 1-12", 1311},
-  {"illegal year value: use 1-9999", 1312},
-  {"%s %d", 1313},
-  {"usage: cal [-13smjyV] [[month] year]\n", 1314},
-  {"usage: %s [+format] [day month year]\n", 1315},
-  {"St. Tib's Day", 1316},
-  {"%s: unknown signal %s\n", 1317},
-  {"%s: can't find process \"%s\"\n", 1318},
-  {"%s: unknown signal %s; valid signals:\n", 1319},
-  {"usage: %s [ -s signal | -p ] [ -a ] pid ...\n", 1320},
-  {"       %s -l [ signal ]\n", 1321},
-  {"logger: %s: %s.\n", 1322},
-  {"logger: unknown facility name: %s.\n", 1323},
-  {"logger: unknown priority name: %s.\n", 1324},
-  {"\
-usage: logger [-is] [-f file] [-p pri] [-t tag] [-u socket] [ message ... ]\n", 1325},
-  {"usage: look [-dfa] [-t char] string [file]\n", 1326},
-  {"Could not open %s\n", 1327},
-  {"Got %d bytes from %s\n", 1328},
-  {"namei: unable to get current directory - %s\n", 1329},
-  {"namei: unable to chdir to %s - %s (%d)\n", 1330},
-  {"usage: namei [-mx] pathname [pathname ...]\n", 1331},
-  {"namei: could not chdir to root!\n", 1332},
-  {"namei: could not stat root!\n", 1333},
-  {"namei: buf overflow\n", 1334},
-  {" ? could not chdir into %s - %s (%d)\n", 1335},
-  {" ? problems reading symlink %s - %s (%d)\n", 1336},
-  {"  *** EXCEEDED UNIX LIMIT OF SYMLINKS ***\n", 1337},
-  {"namei: unknown file type 0%06o on file %s\n", 1338},
-  {"%s: out of memory\n", 1339},
-  {"%s: renaming %s to %s failed: %s\n", 1340},
-  {"call: %s from to files...\n", 1341},
+Wrong password.\n", 1281},
+  {"lstat of path failed\n", 1282},
+  {"stat of path failed\n", 1283},
+  {"open of directory failed\n", 1284},
+  {"fork failed\n", 1285},
+  {"exec failed\n", 1286},
+  {"cannot open inittab\n", 1287},
+  {"no TERM or cannot stat tty\n", 1288},
+  {"error stopping service: \"%s\"", 1289},
+  {"too many iov's (change code in wall/ttymsg.c)", 1290},
+  {"excessively long line arg", 1291},
+  {"cannot fork", 1292},
+  {"fork: %s", 1293},
+  {"%s: BAD ERROR", 1294},
+  {"%s: the password file is busy.\n", 1295},
+  {"%s: the group file is busy.\n", 1296},
+  {"%s: the %s file is busy (%s present)\n", 1297},
+  {"%s: can't link %s: %s\n", 1298},
+  {"%s: can't unlock %s: %s (your changes are still in %s)\n", 1299},
+  {"%s: Cannot fork\n", 1300},
+  {"%s: %s unchanged\n", 1301},
+  {"%s: no changes made\n", 1302},
+  {"You are using shadow groups on this system.\n", 1303},
+  {"You are using shadow passwords on this system.\n", 1304},
+  {"Would you like to edit %s now [y/n]? ", 1305},
+  {"usage: %s [file]\n", 1306},
+  {"%s: can't open temporary file.\n", 1307},
+  {"Broadcast Message from %s@%s", 1308},
+  {"%s: will not read %s - use stdin.\n", 1309},
+  {"%s: can't read %s.\n", 1310},
+  {"%s: can't stat temporary file.\n", 1311},
+  {"%s: can't read temporary file.\n", 1312},
+  {"illegal month value: use 1-12", 1313},
+  {"illegal year value: use 1-9999", 1314},
+  {"%s %d", 1315},
+  {"usage: cal [-13smjyV] [[month] year]\n", 1316},
+  {"usage: %s [+format] [day month year]\n", 1317},
+  {"St. Tib's Day", 1318},
+  {"%s: unknown signal %s\n", 1319},
+  {"%s: can't find process \"%s\"\n", 1320},
+  {"%s: unknown signal %s; valid signals:\n", 1321},
+  {"usage: %s [ -s signal | -p ] [ -a ] pid ...\n", 1322},
+  {"       %s -l [ signal ]\n", 1323},
+  {"logger: %s: %s.\n", 1324},
+  {"logger: unknown facility name: %s.\n", 1325},
+  {"logger: unknown priority name: %s.\n", 1326},
+  {"\
+usage: logger [-is] [-f file] [-p pri] [-t tag] [-u socket] [ message ... ]\n", 1327},
+  {"usage: look [-dfa] [-t char] string [file]\n", 1328},
+  {"Could not open %s\n", 1329},
+  {"Got %d bytes from %s\n", 1330},
+  {"namei: unable to get current directory - %s\n", 1331},
+  {"namei: unable to chdir to %s - %s (%d)\n", 1332},
+  {"usage: namei [-mx] pathname [pathname ...]\n", 1333},
+  {"namei: could not chdir to root!\n", 1334},
+  {"namei: could not stat root!\n", 1335},
+  {"namei: buf overflow\n", 1336},
+  {" ? could not chdir into %s - %s (%d)\n", 1337},
+  {" ? problems reading symlink %s - %s (%d)\n", 1338},
+  {"  *** EXCEEDED UNIX LIMIT OF SYMLINKS ***\n", 1339},
+  {"namei: unknown file type 0%06o on file %s\n", 1340},
+  {"%s: out of memory\n", 1341},
+  {"%s: renaming %s to %s failed: %s\n", 1342},
+  {"call: %s from to files...\n", 1343},
   {"\
 Warning: `%s' is a link.\n\
 Use `%s [options] %s' if you really want to use it.\n\
-Script not started.\n", 1342},
-  {"usage: script [-a] [-f] [-q] [-t] [file]\n", 1343},
-  {"Script started, file is %s\n", 1344},
-  {"Script started on %s", 1345},
+Script not started.\n", 1344},
+  {"usage: script [-a] [-f] [-q] [-t] [file]\n", 1345},
+  {"Script started, file is %s\n", 1346},
+  {"Script started on %s", 1347},
   {"\
 \n\
-Script done on %s", 1346},
-  {"Script done, file is %s\n", 1347},
-  {"openpty failed\n", 1348},
-  {"Out of pty's\n", 1349},
-  {"%s: Argument error, usage\n", 1350},
-  {"  [ -term terminal_name ]\n", 1351},
-  {"  [ -reset ]\n", 1352},
-  {"  [ -initialize ]\n", 1353},
-  {"  [ -cursor [on|off] ]\n", 1354},
-  {"  [ -snow [on|off] ]\n", 1355},
-  {"  [ -softscroll [on|off] ]\n", 1356},
-  {"  [ -repeat [on|off] ]\n", 1357},
-  {"  [ -appcursorkeys [on|off] ]\n", 1358},
-  {"  [ -linewrap [on|off] ]\n", 1359},
-  {"  [ -default ]\n", 1360},
-  {"  [ -foreground black|blue|green|cyan", 1361},
-  {"|red|magenta|yellow|white|default ]\n", 1362},
-  {"  [ -background black|blue|green|cyan", 1363},
-  {"  [ -ulcolor black|grey|blue|green|cyan", 1364},
-  {"|red|magenta|yellow|white ]\n", 1365},
-  {"  [ -ulcolor bright blue|green|cyan", 1366},
-  {"  [ -hbcolor black|grey|blue|green|cyan", 1367},
-  {"  [ -hbcolor bright blue|green|cyan", 1368},
-  {"  [ -standout [ attr ] ]\n", 1369},
-  {"  [ -inversescreen [on|off] ]\n", 1370},
-  {"  [ -bold [on|off] ]\n", 1371},
-  {"  [ -half-bright [on|off] ]\n", 1372},
-  {"  [ -blink [on|off] ]\n", 1373},
-  {"  [ -reverse [on|off] ]\n", 1374},
-  {"  [ -underline [on|off] ]\n", 1375},
-  {"  [ -store ]\n", 1376},
-  {"  [ -clear [all|rest] ]\n", 1377},
-  {"  [ -tabs [ tab1 tab2 tab3 ... ] ]      (tabn = 1-160)\n", 1378},
-  {"  [ -clrtabs [ tab1 tab2 tab3 ... ] ]   (tabn = 1-160)\n", 1379},
-  {"  [ -regtabs [1-160] ]\n", 1380},
-  {"  [ -blank [0-60] ]\n", 1381},
-  {"  [ -dump   [1-NR_CONSOLES] ]\n", 1382},
-  {"  [ -append [1-NR_CONSOLES] ]\n", 1383},
-  {"  [ -file dumpfilename ]\n", 1384},
-  {"  [ -msg [on|off] ]\n", 1385},
-  {"  [ -msglevel [0-8] ]\n", 1386},
-  {"  [ -powersave [on|vsync|hsync|powerdown|off] ]\n", 1387},
-  {"  [ -powerdown [0-60] ]\n", 1388},
-  {"  [ -blength [0-2000] ]\n", 1389},
-  {"  [ -bfreq freqnumber ]\n", 1390},
-  {"cannot (un)set powersave mode\n", 1391},
-  {"klogctl error: %s\n", 1392},
-  {"Error reading %s\n", 1393},
-  {"Error writing screendump\n", 1394},
-  {"couldn't read %s, and cannot ioctl dump\n", 1395},
-  {"%s: $TERM is not defined.\n", 1396},
-  {"whereis [ -sbmu ] [ -SBM dir ... -f ] name...\n", 1397},
-  {"write: can't find your tty's name\n", 1398},
-  {"write: you have write permission turned off.\n", 1399},
-  {"write: %s is not logged in on %s.\n", 1400},
-  {"write: %s has messages disabled on %s\n", 1401},
-  {"usage: write user [tty]\n", 1402},
-  {"write: %s is not logged in\n", 1403},
-  {"write: %s has messages disabled\n", 1404},
-  {"write: %s is logged in more than once; writing to %s\n", 1405},
-  {"Message from %s@%s (as %s) on %s at %s ...", 1406},
-  {"Message from %s@%s on %s at %s ...", 1407},
-  {"warning: error reading %s: %s", 1408},
-  {"warning: can't open %s: %s", 1409},
-  {"mount: could not open %s - using %s instead\n", 1410},
-  {"can't create lock file %s: %s (use -n flag to override)", 1411},
-  {"can't link lock file %s: %s (use -n flag to override)", 1412},
-  {"can't open lock file %s: %s (use -n flag to override)", 1413},
-  {"Can't lock lock file %s: %s\n", 1414},
-  {"can't lock lock file %s: %s", 1415},
-  {"timed out", 1416},
+Script done on %s", 1348},
+  {"Script done, file is %s\n", 1349},
+  {"openpty failed\n", 1350},
+  {"Out of pty's\n", 1351},
+  {"%s: Argument error, usage\n", 1352},
+  {"  [ -term terminal_name ]\n", 1353},
+  {"  [ -reset ]\n", 1354},
+  {"  [ -initialize ]\n", 1355},
+  {"  [ -cursor [on|off] ]\n", 1356},
+  {"  [ -snow [on|off] ]\n", 1357},
+  {"  [ -softscroll [on|off] ]\n", 1358},
+  {"  [ -repeat [on|off] ]\n", 1359},
+  {"  [ -appcursorkeys [on|off] ]\n", 1360},
+  {"  [ -linewrap [on|off] ]\n", 1361},
+  {"  [ -default ]\n", 1362},
+  {"  [ -foreground black|blue|green|cyan", 1363},
+  {"|red|magenta|yellow|white|default ]\n", 1364},
+  {"  [ -background black|blue|green|cyan", 1365},
+  {"  [ -ulcolor black|grey|blue|green|cyan", 1366},
+  {"|red|magenta|yellow|white ]\n", 1367},
+  {"  [ -ulcolor bright blue|green|cyan", 1368},
+  {"  [ -hbcolor black|grey|blue|green|cyan", 1369},
+  {"  [ -hbcolor bright blue|green|cyan", 1370},
+  {"  [ -standout [ attr ] ]\n", 1371},
+  {"  [ -inversescreen [on|off] ]\n", 1372},
+  {"  [ -bold [on|off] ]\n", 1373},
+  {"  [ -half-bright [on|off] ]\n", 1374},
+  {"  [ -blink [on|off] ]\n", 1375},
+  {"  [ -reverse [on|off] ]\n", 1376},
+  {"  [ -underline [on|off] ]\n", 1377},
+  {"  [ -store ]\n", 1378},
+  {"  [ -clear [all|rest] ]\n", 1379},
+  {"  [ -tabs [ tab1 tab2 tab3 ... ] ]      (tabn = 1-160)\n", 1380},
+  {"  [ -clrtabs [ tab1 tab2 tab3 ... ] ]   (tabn = 1-160)\n", 1381},
+  {"  [ -regtabs [1-160] ]\n", 1382},
+  {"  [ -blank [0-60] ]\n", 1383},
+  {"  [ -dump   [1-NR_CONSOLES] ]\n", 1384},
+  {"  [ -append [1-NR_CONSOLES] ]\n", 1385},
+  {"  [ -file dumpfilename ]\n", 1386},
+  {"  [ -msg [on|off] ]\n", 1387},
+  {"  [ -msglevel [0-8] ]\n", 1388},
+  {"  [ -powersave [on|vsync|hsync|powerdown|off] ]\n", 1389},
+  {"  [ -powerdown [0-60] ]\n", 1390},
+  {"  [ -blength [0-2000] ]\n", 1391},
+  {"  [ -bfreq freqnumber ]\n", 1392},
+  {"cannot (un)set powersave mode\n", 1393},
+  {"klogctl error: %s\n", 1394},
+  {"Error reading %s\n", 1395},
+  {"Error writing screendump\n", 1396},
+  {"couldn't read %s, and cannot ioctl dump\n", 1397},
+  {"%s: $TERM is not defined.\n", 1398},
+  {"whereis [ -sbmu ] [ -SBM dir ... -f ] name...\n", 1399},
+  {"write: can't find your tty's name\n", 1400},
+  {"write: you have write permission turned off.\n", 1401},
+  {"write: %s is not logged in on %s.\n", 1402},
+  {"write: %s has messages disabled on %s\n", 1403},
+  {"usage: write user [tty]\n", 1404},
+  {"write: %s is not logged in\n", 1405},
+  {"write: %s has messages disabled\n", 1406},
+  {"write: %s is logged in more than once; writing to %s\n", 1407},
+  {"Message from %s@%s (as %s) on %s at %s ...", 1408},
+  {"Message from %s@%s on %s at %s ...", 1409},
+  {"warning: error reading %s: %s", 1410},
+  {"warning: can't open %s: %s", 1411},
+  {"mount: could not open %s - using %s instead\n", 1412},
+  {"can't create lock file %s: %s (use -n flag to override)", 1413},
+  {"can't link lock file %s: %s (use -n flag to override)", 1414},
+  {"can't open lock file %s: %s (use -n flag to override)", 1415},
+  {"Can't lock lock file %s: %s\n", 1416},
+  {"can't lock lock file %s: %s", 1417},
+  {"timed out", 1418},
   {"\
 Cannot create link %s\n\
-Perhaps there is a stale lock file?\n", 1417},
-  {"cannot open %s (%s) - mtab not updated", 1418},
-  {"error writing %s: %s", 1419},
-  {"error changing mode of %s: %s\n", 1420},
-  {"can't rename %s to %s: %s\n", 1421},
-  {"loop: can't open device %s: %s\n", 1422},
-  {"loop: can't get info on device %s: %s\n", 1423},
-  {"%s: [%04x]:%ld (%s) offset %d, %s encryption\n", 1424},
-  {"mount: could not find any device /dev/loop#", 1425},
+Perhaps there is a stale lock file?\n", 1419},
+  {"cannot open %s (%s) - mtab not updated", 1420},
+  {"error writing %s: %s", 1421},
+  {"error changing mode of %s: %s\n", 1422},
+  {"can't rename %s to %s: %s\n", 1423},
+  {"loop: can't open device %s: %s\n", 1424},
+  {"loop: can't get info on device %s: %s\n", 1425},
+  {"%s: [%04x]:%ld (%s) offset %d, %s encryption\n", 1426},
+  {"mount: could not find any device /dev/loop#", 1427},
   {"\
 mount: Could not find any loop device.\n\
-       Maybe /dev/loop# has a wrong major number?", 1426},
+       Maybe /dev/loop# has a wrong major number?", 1428},
   {"\
 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'.)", 1427},
+       (If so, then recompile or `insmod loop.o'.)", 1429},
   {"\
 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?", 1428},
-  {"mount: could not find any free loop device", 1429},
-  {"Unsupported encryption type %s\n", 1430},
-  {"Couldn't lock into memory, exiting.\n", 1431},
-  {"Init (up to 16 hex digits): ", 1432},
-  {"Non-hex digit '%c'.\n", 1433},
-  {"Don't know how to get key for encryption system %d\n", 1434},
-  {"set_loop(%s,%s,%d): success\n", 1435},
-  {"loop: can't delete device %s: %s\n", 1436},
-  {"del_loop(%s): success\n", 1437},
-  {"This mount was compiled without loop support. Please recompile.\n", 1438},
+       maybe /dev/loop# has the wrong major number?", 1430},
+  {"mount: could not find any free loop device", 1431},
+  {"Unsupported encryption type %s\n", 1432},
+  {"Couldn't lock into memory, exiting.\n", 1433},
+  {"Init (up to 16 hex digits): ", 1434},
+  {"Non-hex digit '%c'.\n", 1435},
+  {"Don't know how to get key for encryption system %d\n", 1436},
+  {"set_loop(%s,%s,%d): success\n", 1437},
+  {"loop: can't delete device %s: %s\n", 1438},
+  {"del_loop(%s): success\n", 1439},
+  {"This mount was compiled without loop support. Please recompile.\n", 1440},
   {"\
 usage:\n\
   %s loop_device                                      # give info\n\
   %s -d loop_device                                   # delete\n\
-  %s [ -e encryption ] [ -o offset ] loop_device file # setup\n", 1439},
-  {"not enough memory", 1440},
-  {"No loop support was available at compile time. Please recompile.\n", 1441},
-  {"[mntent]: warning: no final newline at the end of %s\n", 1442},
-  {"[mntent]: line %d in %s is bad%s\n", 1443},
-  {"; rest of file ignored", 1444},
-  {"mount: according to mtab, %s is already mounted on %s", 1445},
-  {"mount: according to mtab, %s is mounted on %s", 1446},
-  {"mount: can't open %s for writing: %s", 1447},
-  {"mount: error writing %s: %s", 1448},
-  {"mount: error changing mode of %s: %s", 1449},
-  {"%s looks like swapspace - not mounted", 1450},
-  {"mount failed", 1451},
-  {"mount: only root can mount %s on %s", 1452},
-  {"mount: loop device specified twice", 1453},
-  {"mount: type specified twice", 1454},
-  {"mount: skipping the setup of a loop device\n", 1455},
-  {"mount: going to use the loop device %s\n", 1456},
-  {"mount: failed setting up loop device\n", 1457},
-  {"mount: setup loop device successfully\n", 1458},
-  {"mount: can't open %s: %s", 1459},
-  {"mount: cannot open %s for setting speed", 1460},
-  {"mount: cannot set speed: %s", 1461},
-  {"mount: cannot fork: %s", 1462},
-  {"mount: this version was compiled without support for the type `nfs'", 1463},
-  {"mount: failed with nfs mount version 4, trying 3..\n", 1464},
-  {"\
-mount: I could not determine the filesystem type, and none was specified", 1465},
-  {"mount: you must specify the filesystem type", 1466},
-  {"mount: mount failed", 1467},
-  {"mount: mount point %s is not a directory", 1468},
-  {"mount: permission denied", 1469},
-  {"mount: must be superuser to use mount", 1470},
-  {"mount: %s is busy", 1471},
-  {"mount: proc already mounted", 1472},
-  {"mount: %s already mounted or %s busy", 1473},
-  {"mount: mount point %s does not exist", 1474},
-  {"mount: mount point %s is a symbolic link to nowhere", 1475},
-  {"mount: special device %s does not exist", 1476},
+  %s [ -e encryption ] [ -o offset ] loop_device file # setup\n", 1441},
+  {"not enough memory", 1442},
+  {"No loop support was available at compile time. Please recompile.\n", 1443},
+  {"[mntent]: warning: no final newline at the end of %s\n", 1444},
+  {"[mntent]: line %d in %s is bad%s\n", 1445},
+  {"; rest of file ignored", 1446},
+  {"mount: according to mtab, %s is already mounted on %s", 1447},
+  {"mount: according to mtab, %s is mounted on %s", 1448},
+  {"mount: can't open %s for writing: %s", 1449},
+  {"mount: error writing %s: %s", 1450},
+  {"mount: error changing mode of %s: %s", 1451},
+  {"%s looks like swapspace - not mounted", 1452},
+  {"mount failed", 1453},
+  {"mount: only root can mount %s on %s", 1454},
+  {"mount: loop device specified twice", 1455},
+  {"mount: type specified twice", 1456},
+  {"mount: skipping the setup of a loop device\n", 1457},
+  {"mount: going to use the loop device %s\n", 1458},
+  {"mount: failed setting up loop device\n", 1459},
+  {"mount: setup loop device successfully\n", 1460},
+  {"mount: can't open %s: %s", 1461},
+  {"mount: cannot open %s for setting speed", 1462},
+  {"mount: cannot set speed: %s", 1463},
+  {"mount: cannot fork: %s", 1464},
+  {"mount: this version was compiled without support for the type `nfs'", 1465},
+  {"mount: failed with nfs mount version 4, trying 3..\n", 1466},
+  {"\
+mount: I could not determine the filesystem type, and none was specified", 1467},
+  {"mount: you must specify the filesystem type", 1468},
+  {"mount: mount failed", 1469},
+  {"mount: mount point %s is not a directory", 1470},
+  {"mount: permission denied", 1471},
+  {"mount: must be superuser to use mount", 1472},
+  {"mount: %s is busy", 1473},
+  {"mount: proc already mounted", 1474},
+  {"mount: %s already mounted or %s busy", 1475},
+  {"mount: mount point %s does not exist", 1476},
+  {"mount: mount point %s is a symbolic link to nowhere", 1477},
+  {"mount: special device %s does not exist", 1478},
   {"\
 mount: special device %s does not exist\n\
-       (a path prefix is not a directory)\n", 1477},
-  {"mount: %s not mounted already, or bad option", 1478},
+       (a path prefix is not a directory)\n", 1479},
+  {"mount: %s not mounted already, or bad option", 1480},
   {"\
 mount: wrong fs type, bad option, bad superblock on %s,\n\
-       or too many mounted file systems", 1479},
-  {"mount table full", 1480},
-  {"mount: %s: can't read superblock", 1481},
-  {"mount: %s: unknown device", 1482},
-  {"mount: fs type %s not supported by kernel", 1483},
-  {"mount: probably you meant %s", 1484},
-  {"mount: maybe you meant iso9660 ?", 1485},
-  {"mount: %s has wrong device number or fs type %s not supported", 1486},
-  {"mount: %s is not a block device, and stat fails?", 1487},
+       or too many mounted file systems", 1481},
+  {"mount table full", 1482},
+  {"mount: %s: can't read superblock", 1483},
+  {"mount: %s: unknown device", 1484},
+  {"mount: fs type %s not supported by kernel", 1485},
+  {"mount: probably you meant %s", 1486},
+  {"mount: maybe you meant iso9660 ?", 1487},
+  {"mount: %s has wrong device number or fs type %s not supported", 1488},
+  {"mount: %s is not a block device, and stat fails?", 1489},
   {"\
 mount: the kernel does not recognize %s as a block device\n\
-       (maybe `insmod driver'?)", 1488},
-  {"mount: %s is not a block device (maybe try `-o loop'?)", 1489},
-  {"mount: %s is not a block device", 1490},
-  {"mount: %s is not a valid block device", 1491},
-  {"block device ", 1492},
-  {"mount: cannot mount %s%s read-only", 1493},
-  {"mount: %s%s is write-protected but explicit `-w' flag given", 1494},
-  {"mount: %s%s is write-protected, mounting read-only", 1495},
-  {"mount: going to mount %s by %s\n", 1496},
-  {"UUID", 1497},
-  {"label", 1498},
-  {"mount: no such partition found", 1499},
-  {"mount: no type was given - I'll assume nfs because of the colon\n", 1500},
-  {"mount: backgrounding \"%s\"\n", 1501},
-  {"mount: giving up \"%s\"\n", 1502},
-  {"mount: %s already mounted on %s\n", 1503},
+       (maybe `insmod driver'?)", 1490},
+  {"mount: %s is not a block device (maybe try `-o loop'?)", 1491},
+  {"mount: %s is not a block device", 1492},
+  {"mount: %s is not a valid block device", 1493},
+  {"block device ", 1494},
+  {"mount: cannot mount %s%s read-only", 1495},
+  {"mount: %s%s is write-protected but explicit `-w' flag given", 1496},
+  {"mount: %s%s is write-protected, mounting read-only", 1497},
+  {"mount: going to mount %s by %s\n", 1498},
+  {"UUID", 1499},
+  {"label", 1500},
+  {"mount: no such partition found", 1501},
+  {"mount: no type was given - I'll assume nfs because of the colon\n", 1502},
+  {"mount: backgrounding \"%s\"\n", 1503},
+  {"mount: giving up \"%s\"\n", 1504},
+  {"mount: %s already mounted on %s\n", 1505},
   {"\
 Usage: mount -V                 : print version\n\
        mount -h                 : print this help\n\
@@ -1980,269 +1982,284 @@ or move a subtree:\n\
 A device can be given by name, say /dev/hda1 or /dev/cdrom,\n\
 or by label, using  -L label  or by uuid, using  -U uuid .\n\
 Other options: [-nfFrsvw] [-o options].\n\
-For many more details, say  man 8 mount .\n", 1504},
-  {"mount: only root can do that", 1505},
-  {"mount: no %s found - creating it..\n", 1506},
-  {"mount: mounting %s\n", 1507},
-  {"nothing was mounted", 1508},
-  {"mount: cannot find %s in %s", 1509},
-  {"mount: can't find %s in %s or %s", 1510},
-  {"\
-mount: could not open %s, so UUID and LABEL conversion cannot be done.\n", 1511},
-  {"mount: bad UUID", 1512},
-  {"mount: error while guessing filesystem type\n", 1513},
-  {"mount: you didn't specify a filesystem type for %s\n", 1514},
-  {"       I will try all types mentioned in %s or %s\n", 1515},
-  {"       and it looks like this is swapspace\n", 1516},
-  {"       I will try type %s\n", 1517},
-  {"Trying %s\n", 1518},
-  {"mount: excessively long host:dir argument\n", 1519},
-  {"mount: warning: multiple hostnames not supported\n", 1520},
-  {"mount: directory to mount not in host:dir format\n", 1521},
-  {"mount: can't get address for %s\n", 1522},
-  {"mount: got bad hp->h_length\n", 1523},
-  {"mount: excessively long option argument\n", 1524},
-  {"Warning: Unrecognized proto= option.\n", 1525},
-  {"Warning: Option namlen is not supported.\n", 1526},
-  {"unknown nfs mount parameter: %s=%d\n", 1527},
-  {"Warning: option nolock is not supported.\n", 1528},
-  {"unknown nfs mount option: %s%s\n", 1529},
-  {"mount: got bad hp->h_length?\n", 1530},
-  {"NFS over TCP is not supported.\n", 1531},
-  {"nfs socket", 1532},
-  {"nfs bindresvport", 1533},
-  {"nfs server reported service unavailable", 1534},
-  {"used portmapper to find NFS port\n", 1535},
-  {"using port %d for nfs deamon\n", 1536},
-  {"nfs connect", 1537},
-  {"unknown nfs status return value: %d", 1538},
-  {"bug in xstrndup call", 1539},
+For many more details, say  man 8 mount .\n", 1506},
+  {"mount: only root can do that", 1507},
+  {"mount: no %s found - creating it..\n", 1508},
+  {"mount: mounting %s\n", 1509},
+  {"nothing was mounted", 1510},
+  {"mount: cannot find %s in %s", 1511},
+  {"mount: can't find %s in %s or %s", 1512},
+  {"\
+mount: could not open %s, so UUID and LABEL conversion cannot be done.\n", 1513},
+  {"mount: bad UUID", 1514},
+  {"mount: error while guessing filesystem type\n", 1515},
+  {"mount: you didn't specify a filesystem type for %s\n", 1516},
+  {"       I will try all types mentioned in %s or %s\n", 1517},
+  {"       and it looks like this is swapspace\n", 1518},
+  {"       I will try type %s\n", 1519},
+  {"Trying %s\n", 1520},
+  {"mount: excessively long host:dir argument\n", 1521},
+  {"mount: warning: multiple hostnames not supported\n", 1522},
+  {"mount: directory to mount not in host:dir format\n", 1523},
+  {"mount: can't get address for %s\n", 1524},
+  {"mount: got bad hp->h_length\n", 1525},
+  {"mount: excessively long option argument\n", 1526},
+  {"Warning: Unrecognized proto= option.\n", 1527},
+  {"Warning: Option namlen is not supported.\n", 1528},
+  {"unknown nfs mount parameter: %s=%d\n", 1529},
+  {"Warning: option nolock is not supported.\n", 1530},
+  {"unknown nfs mount option: %s%s\n", 1531},
+  {"mount: got bad hp->h_length?\n", 1532},
+  {"NFS over TCP is not supported.\n", 1533},
+  {"nfs socket", 1534},
+  {"nfs bindresvport", 1535},
+  {"nfs server reported service unavailable", 1536},
+  {"used portmapper to find NFS port\n", 1537},
+  {"using port %d for nfs deamon\n", 1538},
+  {"nfs connect", 1539},
+  {"unknown nfs status return value: %d", 1540},
+  {"bug in xstrndup call", 1541},
   {"\
 usage: %s [-hV]\n\
        %s -a [-v]\n\
        %s [-v] [-p priority] special ...\n\
-       %s [-s]\n", 1540},
-  {"%s on %s\n", 1541},
-  {"swapon: cannot stat %s: %s\n", 1542},
-  {"swapon: warning: %s has insecure permissions %04o, %04o suggested\n", 1543},
-  {"swapon: Skipping file %s - it appears to have holes.\n", 1544},
-  {"%s: cannot open %s: %s\n", 1545},
-  {"umount: compiled without support for -f\n", 1546},
-  {"host: %s, directory: %s\n", 1547},
-  {"umount: can't get address for %s\n", 1548},
-  {"umount: got bad hostp->h_length\n", 1549},
-  {"umount: %s: invalid block device", 1550},
-  {"umount: %s: not mounted", 1551},
-  {"umount: %s: can't write superblock", 1552},
-  {"umount: %s: device is busy", 1553},
-  {"umount: %s: not found", 1554},
-  {"umount: %s: must be superuser to umount", 1555},
-  {"umount: %s: block devices not permitted on fs", 1556},
-  {"umount: %s: %s", 1557},
-  {"no umount2, trying umount...\n", 1558},
-  {"could not umount %s - trying %s instead\n", 1559},
-  {"umount: %s busy - remounted read-only\n", 1560},
-  {"umount: could not remount %s read-only\n", 1561},
-  {"%s umounted\n", 1562},
-  {"umount: cannot find list of filesystems to unmount", 1563},
+       %s [-s]\n", 1542},
+  {"%s on %s\n", 1543},
+  {"swapon: cannot stat %s: %s\n", 1544},
+  {"swapon: warning: %s has insecure permissions %04o, %04o suggested\n", 1545},
+  {"swapon: Skipping file %s - it appears to have holes.\n", 1546},
+  {"%s: cannot open %s: %s\n", 1547},
+  {"umount: compiled without support for -f\n", 1548},
+  {"host: %s, directory: %s\n", 1549},
+  {"umount: can't get address for %s\n", 1550},
+  {"umount: got bad hostp->h_length\n", 1551},
+  {"umount: %s: invalid block device", 1552},
+  {"umount: %s: not mounted", 1553},
+  {"umount: %s: can't write superblock", 1554},
+  {"umount: %s: device is busy", 1555},
+  {"umount: %s: not found", 1556},
+  {"umount: %s: must be superuser to umount", 1557},
+  {"umount: %s: block devices not permitted on fs", 1558},
+  {"umount: %s: %s", 1559},
+  {"no umount2, trying umount...\n", 1560},
+  {"could not umount %s - trying %s instead\n", 1561},
+  {"umount: %s busy - remounted read-only\n", 1562},
+  {"umount: could not remount %s read-only\n", 1563},
+  {"%s umounted\n", 1564},
+  {"umount: cannot find list of filesystems to unmount", 1565},
   {"\
 Usage: umount [-hV]\n\
        umount -a [-f] [-r] [-n] [-v] [-t vfstypes]\n\
-       umount [-f] [-r] [-n] [-v] special | node...\n", 1564},
-  {"Trying to umount %s\n", 1565},
-  {"Could not find %s in mtab\n", 1566},
-  {"umount: %s is not mounted (according to mtab)", 1567},
-  {"umount: it seems %s is mounted multiple times", 1568},
-  {"umount: %s is not in the fstab (and you are not root)", 1569},
-  {"umount: %s mount disagrees with the fstab", 1570},
-  {"umount: only root can unmount %s from %s", 1571},
-  {"umount: only root can do that", 1572},
-  {"You must be root to set the Ctrl-Alt-Del behaviour.\n", 1573},
-  {"Usage: ctrlaltdel hard|soft\n", 1574},
+       umount [-f] [-r] [-n] [-v] special | node...\n", 1566},
+  {"Trying to umount %s\n", 1567},
+  {"Could not find %s in mtab\n", 1568},
+  {"umount: %s is not mounted (according to mtab)", 1569},
+  {"umount: it seems %s is mounted multiple times", 1570},
+  {"umount: %s is not in the fstab (and you are not root)", 1571},
+  {"umount: %s mount disagrees with the fstab", 1572},
+  {"umount: only root can unmount %s from %s", 1573},
+  {"umount: only root can do that", 1574},
+  {"You must be root to set the Ctrl-Alt-Del behaviour.\n", 1575},
+  {"Usage: ctrlaltdel hard|soft\n", 1576},
   {"\
 File %s, For threshold value %lu, Maximum characters in fifo were %d,\n\
-and the maximum transfer rate in characters/second was %f\n", 1575},
+and the maximum transfer rate in characters/second was %f\n", 1577},
   {"\
 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", 1576},
-  {"Invalid interval value: %s\n", 1577},
-  {"Invalid set value: %s\n", 1578},
-  {"Invalid default value: %s\n", 1579},
-  {"Invalid set time value: %s\n", 1580},
-  {"Invalid default time value: %s\n", 1581},
+and the maximum transfer rate in characters/second was %f\n", 1578},
+  {"Invalid interval value: %s\n", 1579},
+  {"Invalid set value: %s\n", 1580},
+  {"Invalid default value: %s\n", 1581},
+  {"Invalid set time value: %s\n", 1582},
+  {"Invalid default time value: %s\n", 1583},
   {"\
 Usage: %s [-q [-i interval]] ([-s value]|[-S value]) ([-t value]|[-T value]) \
-[-g|-G] file [file...]\n", 1582},
-  {"Can't open %s: %s\n", 1583},
-  {"Can't set %s to threshold %d: %s\n", 1584},
-  {"Can't set %s to time threshold %d: %s\n", 1585},
-  {"Can't get threshold for %s: %s\n", 1586},
-  {"Can't get timeout for %s: %s\n", 1587},
-  {"%s: %ld current threshold and %ld current timeout\n", 1588},
-  {"%s: %ld default threshold and %ld default timeout\n", 1589},
-  {"Can't set signal handler", 1590},
-  {"gettimeofday failed", 1591},
-  {"Can't issue CYGETMON on %s: %s\n", 1592},
-  {"\
-%s: %lu ints, %lu/%lu chars; fifo: %lu thresh, %lu tmout, %lu max, %lu now\n", 1593},
-  {"   %f int/sec; %f rec, %f send (char/sec)\n", 1594},
-  {"\
-%s: %lu ints, %lu chars; fifo: %lu thresh, %lu tmout, %lu max, %lu now\n", 1595},
-  {"   %f int/sec; %f rec (char/sec)\n", 1596},
-  {"Usage: %s [-c] [-n level] [-s bufsize]\n", 1597},
-  {"invalid id: %s\n", 1598},
-  {"cannot remove id %s (%s)\n", 1599},
-  {"usage: %s {shm | msg | sem} id ...\n", 1600},
-  {"unknown resource type: %s\n", 1601},
-  {"resource(s) deleted\n", 1602},
-  {"usage : %s -asmq -tclup \n", 1603},
-  {"\t%s [-s -m -q] -i id\n", 1604},
-  {"\t%s -h for help.\n", 1605},
-  {"\
-%s provides information on ipc facilities for which you have read access.\n", 1606},
+[-g|-G] file [file...]\n", 1584},
+  {"Can't open %s: %s\n", 1585},
+  {"Can't set %s to threshold %d: %s\n", 1586},
+  {"Can't set %s to time threshold %d: %s\n", 1587},
+  {"Can't get threshold for %s: %s\n", 1588},
+  {"Can't get timeout for %s: %s\n", 1589},
+  {"%s: %ld current threshold and %ld current timeout\n", 1590},
+  {"%s: %ld default threshold and %ld default timeout\n", 1591},
+  {"Can't set signal handler", 1592},
+  {"gettimeofday failed", 1593},
+  {"Can't issue CYGETMON on %s: %s\n", 1594},
+  {"\
+%s: %lu ints, %lu/%lu chars; fifo: %lu thresh, %lu tmout, %lu max, %lu now\n", 1595},
+  {"   %f int/sec; %f rec, %f send (char/sec)\n", 1596},
+  {"\
+%s: %lu ints, %lu chars; fifo: %lu thresh, %lu tmout, %lu max, %lu now\n", 1597},
+  {"   %f int/sec; %f rec (char/sec)\n", 1598},
+  {"Usage: %s [-c] [-n level] [-s bufsize]\n", 1599},
+  {"invalid id: %s\n", 1600},
+  {"cannot remove id %s (%s)\n", 1601},
+  {"deprecated usage: %s {shm | msg | sem} id ...\n", 1602},
+  {"unknown resource type: %s\n", 1603},
+  {"resource(s) deleted\n", 1604},
+  {"\
+usage: %s [ [-q msqid] [-m shmid] [-s semid]\n\
+          [-Q msgkey] [-M shmkey] [-S semkey] ... ]\n", 1605},
+  {"%s: illegal option -- %c\n", 1606},
+  {"%s: illegal key (%s)\n", 1607},
+  {"permission denied for key", 1608},
+  {"already removed key", 1609},
+  {"invalid key", 1610},
+  {"unknown error in key", 1611},
+  {"permission denied for id", 1612},
+  {"invalid id", 1613},
+  {"already removed id", 1614},
+  {"unknown error in id", 1615},
+  {"%s: %s (%s)\n", 1616},
+  {"%s: unknown argument: %s\n", 1617},
+  {"usage : %s -asmq -tclup \n", 1618},
+  {"\t%s [-s -m -q] -i id\n", 1619},
+  {"\t%s -h for help.\n", 1620},
+  {"\
+%s provides information on ipc facilities for which you have read access.\n", 1621},
   {"\
 Resource Specification:\n\
 \t-m : shared_mem\n\
-\t-q : messages\n", 1607},
+\t-q : messages\n", 1622},
   {"\
 \t-s : semaphores\n\
-\t-a : all (default)\n", 1608},
+\t-a : all (default)\n", 1623},
   {"\
 Output Format:\n\
 \t-t : time\n\
 \t-p : pid\n\
-\t-c : creator\n", 1609},
+\t-c : creator\n", 1624},
   {"\
 \t-l : limits\n\
-\t-u : summary\n", 1610},
-  {"-i id [-s -q -m] : details on resource identified by id\n", 1611},
-  {"kernel not configured for shared memory\n", 1612},
-  {"------ Shared Memory Limits --------\n", 1613},
-  {"max number of segments = %ld\n", 1614},
-  {"max seg size (kbytes) = %ld\n", 1615},
-  {"max total shared memory (kbytes) = %ld\n", 1616},
-  {"min seg size (bytes) = %ld\n", 1617},
-  {"------ Shared Memory Status --------\n", 1618},
-  {"segments allocated %d\n", 1619},
-  {"pages allocated %ld\n", 1620},
-  {"pages resident  %ld\n", 1621},
-  {"pages swapped   %ld\n", 1622},
-  {"Swap performance: %ld attempts\t %ld successes\n", 1623},
-  {"------ Shared Memory Segment Creators/Owners --------\n", 1624},
-  {"%-10s %-10s %-10s %-10s %-10s %-10s\n", 1625},
-  {"shmid", 1626},
-  {"perms", 1627},
-  {"cuid", 1628},
-  {"cgid", 1629},
-  {"uid", 1630},
-  {"gid", 1631},
-  {"------ Shared Memory Attach/Detach/Change Times --------\n", 1632},
-  {"%-10s %-10s %-20s %-20s %-20s\n", 1633},
-  {"owner", 1634},
-  {"attached", 1635},
-  {"detached", 1636},
-  {"changed", 1637},
-  {"------ Shared Memory Creator/Last-op --------\n", 1638},
-  {"%-10s %-10s %-10s %-10s\n", 1639},
-  {"cpid", 1640},
-  {"lpid", 1641},
-  {"------ Shared Memory Segments --------\n", 1642},
-  {"%-10s %-10s %-10s %-10s %-10s %-10s %-12s\n", 1643},
-  {"key", 1644},
-  {"bytes", 1645},
-  {"nattch", 1646},
-  {"status", 1647},
-  {"Not set", 1648},
-  {"dest", 1649},
-  {"locked", 1650},
-  {"kernel not configured for semaphores\n", 1651},
-  {"------ Semaphore Limits --------\n", 1652},
-  {"max number of arrays = %d\n", 1653},
-  {"max semaphores per array = %d\n", 1654},
-  {"max semaphores system wide = %d\n", 1655},
-  {"max ops per semop call = %d\n", 1656},
-  {"semaphore max value = %d\n", 1657},
-  {"------ Semaphore Status --------\n", 1658},
-  {"used arrays = %d\n", 1659},
-  {"allocated semaphores = %d\n", 1660},
-  {"------ Semaphore Arrays Creators/Owners --------\n", 1661},
-  {"semid", 1662},
-  {"------ Shared Memory Operation/Change Times --------\n", 1663},
-  {"%-8s %-10s %-26.24s %-26.24s\n", 1664},
-  {"last-op", 1665},
-  {"last-changed", 1666},
-  {"------ Semaphore Arrays --------\n", 1667},
-  {"%-10s %-10s %-10s %-10s %-10s %-12s\n", 1668},
-  {"nsems", 1669},
-  {"kernel not configured for message queues\n", 1670},
-  {"------ Messages: Limits --------\n", 1671},
-  {"max queues system wide = %d\n", 1672},
-  {"max size of message (bytes) = %d\n", 1673},
-  {"default max size of queue (bytes) = %d\n", 1674},
-  {"------ Messages: Status --------\n", 1675},
-  {"allocated queues = %d\n", 1676},
-  {"used headers = %d\n", 1677},
-  {"used space = %d bytes\n", 1678},
-  {"------ Message Queues: Creators/Owners --------\n", 1679},
-  {"msqid", 1680},
-  {"------ Message Queues Send/Recv/Change Times --------\n", 1681},
-  {"%-8s %-10s %-20s %-20s %-20s\n", 1682},
-  {"send", 1683},
-  {"recv", 1684},
-  {"change", 1685},
-  {"------ Message Queues PIDs --------\n", 1686},
-  {"lspid", 1687},
-  {"lrpid", 1688},
-  {"------ Message Queues --------\n", 1689},
-  {"%-10s %-10s %-10s %-10s %-12s %-12s\n", 1690},
-  {"used-bytes", 1691},
-  {"messages", 1692},
+\t-u : summary\n", 1625},
+  {"-i id [-s -q -m] : details on resource identified by id\n", 1626},
+  {"kernel not configured for shared memory\n", 1627},
+  {"------ Shared Memory Limits --------\n", 1628},
+  {"max number of segments = %ld\n", 1629},
+  {"max seg size (kbytes) = %ld\n", 1630},
+  {"max total shared memory (kbytes) = %ld\n", 1631},
+  {"min seg size (bytes) = %ld\n", 1632},
+  {"------ Shared Memory Status --------\n", 1633},
+  {"segments allocated %d\n", 1634},
+  {"pages allocated %ld\n", 1635},
+  {"pages resident  %ld\n", 1636},
+  {"pages swapped   %ld\n", 1637},
+  {"Swap performance: %ld attempts\t %ld successes\n", 1638},
+  {"------ Shared Memory Segment Creators/Owners --------\n", 1639},
+  {"%-10s %-10s %-10s %-10s %-10s %-10s\n", 1640},
+  {"shmid", 1641},
+  {"perms", 1642},
+  {"cuid", 1643},
+  {"cgid", 1644},
+  {"uid", 1645},
+  {"gid", 1646},
+  {"------ Shared Memory Attach/Detach/Change Times --------\n", 1647},
+  {"%-10s %-10s %-20s %-20s %-20s\n", 1648},
+  {"owner", 1649},
+  {"attached", 1650},
+  {"detached", 1651},
+  {"changed", 1652},
+  {"------ Shared Memory Creator/Last-op --------\n", 1653},
+  {"%-10s %-10s %-10s %-10s\n", 1654},
+  {"cpid", 1655},
+  {"lpid", 1656},
+  {"------ Shared Memory Segments --------\n", 1657},
+  {"%-10s %-10s %-10s %-10s %-10s %-10s %-12s\n", 1658},
+  {"key", 1659},
+  {"bytes", 1660},
+  {"nattch", 1661},
+  {"status", 1662},
+  {"Not set", 1663},
+  {"dest", 1664},
+  {"locked", 1665},
+  {"kernel not configured for semaphores\n", 1666},
+  {"------ Semaphore Limits --------\n", 1667},
+  {"max number of arrays = %d\n", 1668},
+  {"max semaphores per array = %d\n", 1669},
+  {"max semaphores system wide = %d\n", 1670},
+  {"max ops per semop call = %d\n", 1671},
+  {"semaphore max value = %d\n", 1672},
+  {"------ Semaphore Status --------\n", 1673},
+  {"used arrays = %d\n", 1674},
+  {"allocated semaphores = %d\n", 1675},
+  {"------ Semaphore Arrays Creators/Owners --------\n", 1676},
+  {"semid", 1677},
+  {"------ Shared Memory Operation/Change Times --------\n", 1678},
+  {"%-8s %-10s %-26.24s %-26.24s\n", 1679},
+  {"last-op", 1680},
+  {"last-changed", 1681},
+  {"------ Semaphore Arrays --------\n", 1682},
+  {"%-10s %-10s %-10s %-10s %-10s %-12s\n", 1683},
+  {"nsems", 1684},
+  {"kernel not configured for message queues\n", 1685},
+  {"------ Messages: Limits --------\n", 1686},
+  {"max queues system wide = %d\n", 1687},
+  {"max size of message (bytes) = %d\n", 1688},
+  {"default max size of queue (bytes) = %d\n", 1689},
+  {"------ Messages: Status --------\n", 1690},
+  {"allocated queues = %d\n", 1691},
+  {"used headers = %d\n", 1692},
+  {"used space = %d bytes\n", 1693},
+  {"------ Message Queues: Creators/Owners --------\n", 1694},
+  {"msqid", 1695},
+  {"------ Message Queues Send/Recv/Change Times --------\n", 1696},
+  {"%-8s %-10s %-20s %-20s %-20s\n", 1697},
+  {"send", 1698},
+  {"recv", 1699},
+  {"change", 1700},
+  {"------ Message Queues PIDs --------\n", 1701},
+  {"lspid", 1702},
+  {"lrpid", 1703},
+  {"------ Message Queues --------\n", 1704},
+  {"%-10s %-10s %-10s %-10s %-12s %-12s\n", 1705},
+  {"used-bytes", 1706},
+  {"messages", 1707},
   {"\
 \n\
-Shared memory Segment shmid=%d\n", 1693},
-  {"uid=%d\tgid=%d\tcuid=%d\tcgid=%d\n", 1694},
-  {"mode=%#o\taccess_perms=%#o\n", 1695},
-  {"bytes=%d\tlpid=%d\tcpid=%d\tnattch=%ld\n", 1696},
-  {"att_time=%-26.24s\n", 1697},
-  {"det_time=%-26.24s\n", 1698},
-  {"change_time=%-26.24s\n", 1699},
+Shared memory Segment shmid=%d\n", 1708},
+  {"uid=%d\tgid=%d\tcuid=%d\tcgid=%d\n", 1709},
+  {"mode=%#o\taccess_perms=%#o\n", 1710},
+  {"bytes=%d\tlpid=%d\tcpid=%d\tnattch=%ld\n", 1711},
+  {"att_time=%-26.24s\n", 1712},
+  {"det_time=%-26.24s\n", 1713},
+  {"change_time=%-26.24s\n", 1714},
   {"\
 \n\
-Message Queue msqid=%d\n", 1700},
-  {"uid=%d\tgid=%d\tcuid=%d\tcgid=%d\tmode=%#o\n", 1701},
-  {"cbytes=%ld\tqbytes=%ld\tqnum=%ld\tlspid=%d\tlrpid=%d\n", 1702},
-  {"send_time=%-26.24s\n", 1703},
-  {"rcv_time=%-26.24s\n", 1704},
+Message Queue msqid=%d\n", 1715},
+  {"uid=%d\tgid=%d\tcuid=%d\tcgid=%d\tmode=%#o\n", 1716},
+  {"cbytes=%ld\tqbytes=%ld\tqnum=%ld\tlspid=%d\tlrpid=%d\n", 1717},
+  {"send_time=%-26.24s\n", 1718},
+  {"rcv_time=%-26.24s\n", 1719},
   {"\
 \n\
-Semaphore Array semid=%d\n", 1705},
-  {"uid=%d\t gid=%d\t cuid=%d\t cgid=%d\n", 1706},
-  {"mode=%#o, access_perms=%#o\n", 1707},
-  {"nsems = %ld\n", 1708},
-  {"otime = %-26.24s\n", 1709},
-  {"ctime = %-26.24s\n", 1710},
-  {"%-10s %-10s %-10s %-10s %-10s\n", 1711},
-  {"semnum", 1712},
-  {"value", 1713},
-  {"ncount", 1714},
-  {"zcount", 1715},
-  {"pid", 1716},
-  {"usage: rdev [ -rv ] [ -o OFFSET ] [ IMAGE [ VALUE [ OFFSET ] ] ]", 1717},
-  {"\
-  rdev /dev/fd0  (or rdev /linux, etc.) displays the current ROOT device", 1718},
-  {"  rdev /dev/fd0 /dev/hda2         sets ROOT to /dev/hda2", 1719},
-  {"  rdev -R /dev/fd0 1              set the ROOTFLAGS (readonly status)", 1720},
-  {"  rdev -r /dev/fd0 627            set the RAMDISK size", 1721},
-  {"  rdev -v /dev/fd0 1              set the bootup VIDEOMODE", 1722},
-  {"  rdev -o N ...                   use the byte offset N", 1723},
-  {"  rootflags ...                   same as rdev -R", 1724},
-  {"  ramsize ...                     same as rdev -r", 1725},
-  {"  vidmode ...                     same as rdev -v", 1726},
-  {"\
-Note: video modes are: -3=Ask, -2=Extended, -1=NormalVga, 1=key1, 2=key2,...", 1727},
-  {"      use -R 1 to mount root readonly, -R 0 for read/write.", 1728},
-  {"missing comma", 1729},
+Semaphore Array semid=%d\n", 1720},
+  {"uid=%d\t gid=%d\t cuid=%d\t cgid=%d\n", 1721},
+  {"mode=%#o, access_perms=%#o\n", 1722},
+  {"nsems = %ld\n", 1723},
+  {"otime = %-26.24s\n", 1724},
+  {"ctime = %-26.24s\n", 1725},
+  {"%-10s %-10s %-10s %-10s %-10s\n", 1726},
+  {"semnum", 1727},
+  {"value", 1728},
+  {"ncount", 1729},
+  {"zcount", 1730},
+  {"pid", 1731},
+  {"usage: rdev [ -rv ] [ -o OFFSET ] [ IMAGE [ VALUE [ OFFSET ] ] ]", 1732},
+  {"\
+  rdev /dev/fd0  (or rdev /linux, etc.) displays the current ROOT device", 1733},
+  {"  rdev /dev/fd0 /dev/hda2         sets ROOT to /dev/hda2", 1734},
+  {"  rdev -R /dev/fd0 1              set the ROOTFLAGS (readonly status)", 1735},
+  {"  rdev -r /dev/fd0 627            set the RAMDISK size", 1736},
+  {"  rdev -v /dev/fd0 1              set the bootup VIDEOMODE", 1737},
+  {"  rdev -o N ...                   use the byte offset N", 1738},
+  {"  rootflags ...                   same as rdev -R", 1739},
+  {"  ramsize ...                     same as rdev -r", 1740},
+  {"  vidmode ...                     same as rdev -v", 1741},
+  {"\
+Note: video modes are: -3=Ask, -2=Extended, -1=NormalVga, 1=key1, 2=key2,...", 1742},
+  {"      use -R 1 to mount root readonly, -R 0 for read/write.", 1743},
+  {"missing comma", 1744},
   {"\
 %s: Usage: \"%s [options]\n\
 \t -m <mapfile>  (default = \"%s\")\n\
@@ -2253,108 +2270,108 @@ Note: video modes are: -3=Ask, -2=Extended, -1=NormalVga, 1=key1, 2=key2,...", 1
 \t -a            print all symbols, even if count is 0\n\
 \t -r            reset all the counters (root only)\n\
 \t -n            disable byte order auto-detection\n\
-\t -V            print version and exit\n", 1730},
-  {"out of memory", 1731},
-  {"%s Version %s\n", 1732},
-  {"Sampling_step: %i\n", 1733},
-  {"%s: %s(%i): wrong map line\n", 1734},
-  {"%s: can't find \"_stext\" in %s\n", 1735},
-  {"%s: profile address out of range. Wrong map file?\n", 1736},
-  {"total", 1737},
-  {"\
-usage: renice priority [ [ -p ] pids ] [ [ -g ] pgrps ] [ [ -u ] users ]\n", 1738},
-  {"renice: %s: unknown user\n", 1739},
-  {"renice: %s: bad value\n", 1740},
-  {"getpriority", 1741},
-  {"setpriority", 1742},
-  {"%d: old priority %d, new priority %d\n", 1743},
-  {"usage: %s program [arg ...]\n", 1744},
+\t -V            print version and exit\n", 1745},
+  {"out of memory", 1746},
+  {"%s Version %s\n", 1747},
+  {"Sampling_step: %i\n", 1748},
+  {"%s: %s(%i): wrong map line\n", 1749},
+  {"%s: can't find \"_stext\" in %s\n", 1750},
+  {"%s: profile address out of range. Wrong map file?\n", 1751},
+  {"total", 1752},
+  {"\
+usage: renice priority [ [ -p ] pids ] [ [ -g ] pgrps ] [ [ -u ] users ]\n", 1753},
+  {"renice: %s: unknown user\n", 1754},
+  {"renice: %s: bad value\n", 1755},
+  {"getpriority", 1756},
+  {"setpriority", 1757},
+  {"%d: old priority %d, new priority %d\n", 1758},
+  {"usage: %s program [arg ...]\n", 1759},
   {"\
 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", 1745},
-  {"malloc error", 1746},
-  {"%s: bad value\n", 1747},
-  {"%s: %s not an lp device.\n", 1748},
-  {"%s status is %d", 1749},
-  {", busy", 1750},
-  {", ready", 1751},
-  {", out of paper", 1752},
-  {", on-line", 1753},
-  {", error", 1754},
-  {"LPGETIRQ error", 1755},
-  {"%s using IRQ %d\n", 1756},
-  {"%s using polling\n", 1757},
-  {"col: bad -l argument %s.\n", 1758},
-  {"usage: col [-bfpx] [-l nline]\n", 1759},
-  {"col: write error.\n", 1760},
-  {"col: warning: can't back up %s.\n", 1761},
-  {"past first line", 1762},
-  {"-- line already flushed", 1763},
-  {"usage: %s [ - ] [ -2 ] [ file ... ]\n", 1764},
-  {"line too long", 1765},
-  {"usage: column [-tx] [-c columns] [file ...]\n", 1766},
-  {"hexdump: bad length value.\n", 1767},
-  {"hexdump: bad skip value.\n", 1768},
-  {"\
-hexdump: [-bcdovx] [-e fmt] [-f fmt_file] [-n length] [-s skip] [file ...]\n", 1769},
-  {"usage: %s [-dflpcsu] [+linenum | +/pattern] name1 name2 ...\n", 1770},
+          -T [on|off] ]\n", 1760},
+  {"malloc error", 1761},
+  {"%s: bad value\n", 1762},
+  {"%s: %s not an lp device.\n", 1763},
+  {"%s status is %d", 1764},
+  {", busy", 1765},
+  {", ready", 1766},
+  {", out of paper", 1767},
+  {", on-line", 1768},
+  {", error", 1769},
+  {"LPGETIRQ error", 1770},
+  {"%s using IRQ %d\n", 1771},
+  {"%s using polling\n", 1772},
+  {"col: bad -l argument %s.\n", 1773},
+  {"usage: col [-bfpx] [-l nline]\n", 1774},
+  {"col: write error.\n", 1775},
+  {"col: warning: can't back up %s.\n", 1776},
+  {"past first line", 1777},
+  {"-- line already flushed", 1778},
+  {"usage: %s [ - ] [ -2 ] [ file ... ]\n", 1779},
+  {"line too long", 1780},
+  {"usage: column [-tx] [-c columns] [file ...]\n", 1781},
+  {"hexdump: bad length value.\n", 1782},
+  {"hexdump: bad skip value.\n", 1783},
+  {"\
+hexdump: [-bcCdovx] [-e fmt] [-f fmt_file] [-n length] [-s skip] [file ...]\n", 1784},
+  {"usage: %s [-dflpcsu] [+linenum | +/pattern] name1 name2 ...\n", 1785},
   {"\
 \n\
 *** %s: directory ***\n\
-\n", 1771},
+\n", 1786},
   {"\
 \n\
 ******** %s: Not a text file ********\n\
-\n", 1772},
-  {"[Use q or Q to quit]", 1773},
-  {"--More--", 1774},
-  {"(Next file: %s)", 1775},
-  {"[Press space to continue, 'q' to quit.]", 1776},
-  {"...back %d pages", 1777},
-  {"...back 1 page", 1778},
-  {"...skipping %d line", 1779},
+\n", 1787},
+  {"[Use q or Q to quit]", 1788},
+  {"--More--", 1789},
+  {"(Next file: %s)", 1790},
+  {"[Press space to continue, 'q' to quit.]", 1791},
+  {"...back %d pages", 1792},
+  {"...back 1 page", 1793},
+  {"...skipping %d line", 1794},
   {"\
 \n\
 ***Back***\n\
-\n", 1780},
-  {"Can't open help file", 1781},
-  {"[Press 'h' for instructions.]", 1782},
-  {"\"%s\" line %d", 1783},
-  {"[Not a file] line %d", 1784},
-  {"  Overflow\n", 1785},
-  {"...skipping\n", 1786},
-  {"Regular expression botch", 1787},
+\n", 1795},
+  {"Can't open help file", 1796},
+  {"[Press 'h' for instructions.]", 1797},
+  {"\"%s\" line %d", 1798},
+  {"[Not a file] line %d", 1799},
+  {"  Overflow\n", 1800},
+  {"...skipping\n", 1801},
+  {"Regular expression botch", 1802},
   {"\
 \n\
-Pattern not found\n", 1788},
-  {"Pattern not found", 1789},
-  {"can't fork\n", 1790},
+Pattern not found\n", 1803},
+  {"Pattern not found", 1804},
+  {"can't fork\n", 1805},
   {"\
 \n\
-...Skipping ", 1791},
-  {"...Skipping to file ", 1792},
-  {"...Skipping back to file ", 1793},
-  {"Line too long", 1794},
-  {"No previous command to substitute for", 1795},
-  {"od: od(1) has been deprecated for hexdump(1).\n", 1796},
-  {"od: hexdump(1) compatibility doesn't support the -%c option%s\n", 1797},
-  {"; see strings(1).", 1798},
-  {"hexdump: can't read %s.\n", 1799},
-  {"hexdump: line too long.\n", 1800},
-  {"hexdump: byte count with multiple conversion characters.\n", 1801},
-  {"hexdump: bad byte count for conversion character %s.\n", 1802},
-  {"hexdump: %%s requires a precision or a byte count.\n", 1803},
-  {"hexdump: bad format {%s}\n", 1804},
-  {"hexdump: bad conversion character %%%s.\n", 1805},
-  {"Unable to allocate bufferspace\n", 1806},
-  {"usage: rev [file ...]\n", 1807},
-  {"usage: %s [ -i ] [ -tTerm ] file...\n", 1808},
-  {"trouble reading terminfo", 1809},
-  {"Unknown escape sequence in input: %o, %o\n", 1810},
-  {"Unable to allocate buffer.\n", 1811},
-  {"Input line too long.\n", 1812},
-  {"Out of memory when growing buffer.\n", 1813},
+...Skipping ", 1806},
+  {"...Skipping to file ", 1807},
+  {"...Skipping back to file ", 1808},
+  {"Line too long", 1809},
+  {"No previous command to substitute for", 1810},
+  {"od: od(1) has been deprecated for hexdump(1).\n", 1811},
+  {"od: hexdump(1) compatibility doesn't support the -%c option%s\n", 1812},
+  {"; see strings(1).", 1813},
+  {"hexdump: can't read %s.\n", 1814},
+  {"hexdump: line too long.\n", 1815},
+  {"hexdump: byte count with multiple conversion characters.\n", 1816},
+  {"hexdump: bad byte count for conversion character %s.\n", 1817},
+  {"hexdump: %%s requires a precision or a byte count.\n", 1818},
+  {"hexdump: bad format {%s}\n", 1819},
+  {"hexdump: bad conversion character %%%s.\n", 1820},
+  {"Unable to allocate bufferspace\n", 1821},
+  {"usage: rev [file ...]\n", 1822},
+  {"usage: %s [ -i ] [ -tTerm ] file...\n", 1823},
+  {"trouble reading terminfo", 1824},
+  {"Unknown escape sequence in input: %o, %o\n", 1825},
+  {"Unable to allocate buffer.\n", 1826},
+  {"Input line too long.\n", 1827},
+  {"Out of memory when growing buffer.\n", 1828},
 };
 
-int _msg_tbl_length = 1813;
+int _msg_tbl_length = 1828;
index e68d390e3cf5cb89612dd9e64d3a1fa927b827c7..8cfe0780557edb45394fee37e9d483db402bd86d 100644 (file)
--- a/po/cs.po
+++ b/po/cs.po
@@ -4,7 +4,7 @@
 msgid ""
 msgstr ""
 "Project-Id-Version: util-linux-2.11d\n"
-"POT-Creation-Date: 2002-03-08 23:54+0100\n"
+"POT-Creation-Date: 2002-04-06 01:28+0200\n"
 "PO-Revision-Date: 2001-05-30 15:11+0200\n"
 "Last-Translator: Jiøí Pavlovský <pavlovsk@ff.cuni.cz>\n"
 "Language-Team: Czech <cs@li.org>\n"
@@ -147,7 +147,7 @@ msgstr "Pou
 
 #: disk-utils/fdformat.c:120 disk-utils/fsck.minix.c:1291
 #: disk-utils/isosize.c:179 disk-utils/mkfs.bfs.c:119 disk-utils/mkfs.c:55
-#: disk-utils/mkfs.minix.c:644 disk-utils/mkswap.c:452
+#: disk-utils/mkfs.minix.c:644 disk-utils/mkswap.c:457
 #: disk-utils/setfdprm.c:128 misc-utils/cal.c:246 misc-utils/ddate.c:181
 #: misc-utils/kill.c:188 misc-utils/rename.c:79 misc-utils/script.c:132
 #, c-format
@@ -797,7 +797,7 @@ msgstr "chyba p
 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:583 disk-utils/mkswap.c:362
+#: disk-utils/mkfs.minix.c:583 disk-utils/mkswap.c:368
 msgid "seek failed in check_blocks"
 msgstr "chyba pøi posunu ukazovátka v check_blocks"
 
@@ -858,64 +858,64 @@ msgstr ""
 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:316
+#: disk-utils/mkswap.c:322
 #, c-format
 msgid "Usage: %s [-c] [-v0|-v1] [-pPAGESZ] /dev/name [blocks]\n"
 msgstr "Pou¾ití: %s [-c] [-v0|-v1] [-pVELIKOST STRÁNKY] /dev/název [bloky]\n"
 
-#: disk-utils/mkswap.c:339
+#: disk-utils/mkswap.c:345
 msgid "too many bad pages"
 msgstr "pøíli¹ mnoho chybných stránek"
 
-#: disk-utils/mkswap.c:353 misc-utils/look.c:182 misc-utils/setterm.c:1130
+#: disk-utils/mkswap.c:359 misc-utils/look.c:182 misc-utils/setterm.c:1130
 #: text-utils/more.c:1934 text-utils/more.c:1945
 msgid "Out of memory"
 msgstr "Nedostatek pamìti"
 
-#: disk-utils/mkswap.c:370
+#: disk-utils/mkswap.c:376
 msgid "one bad page\n"
 msgstr "chybných stránek: 1\n"
 
-#: disk-utils/mkswap.c:372
+#: disk-utils/mkswap.c:378
 #, c-format
 msgid "%d bad pages\n"
 msgstr "chybných stránek: %d\n"
 
-#: disk-utils/mkswap.c:492
+#: disk-utils/mkswap.c:497
 #, 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:510
+#: disk-utils/mkswap.c:515
 #, 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:529
+#: disk-utils/mkswap.c:534
 #, c-format
 msgid "%s: error: unknown version %d\n"
 msgstr "%s: chyba: neznámá verze %d\n"
 
-#: disk-utils/mkswap.c:535
+#: disk-utils/mkswap.c:540
 #, 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:554
+#: disk-utils/mkswap.c:559
 #, 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:566
+#: disk-utils/mkswap.c:571
 #, 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:575 disk-utils/mkswap.c:596
+#: disk-utils/mkswap.c:580 disk-utils/mkswap.c:601
 msgid "fatal: first page unreadable"
 msgstr "osudová chyba: první stránka je neèitelná"
 
-#: disk-utils/mkswap.c:581
+#: disk-utils/mkswap.c:586
 #, c-format
 msgid ""
 "%s: Device '%s' contains a valid Sun disklabel.\n"
@@ -929,24 +929,24 @@ msgstr ""
 "opravdu\n"
 "chcete vytvoøit odkládací prostor v0, pou¾ijte pøepínaè -f pro vynucení.\n"
 
-#: disk-utils/mkswap.c:605
+#: disk-utils/mkswap.c:610
 msgid "Unable to set up swap-space: unreadable"
 msgstr "Odkládací prostor nelze nastavit: neèitelné"
 
-#: disk-utils/mkswap.c:606
-#, c-format
-msgid "Setting up swapspace version %d, size = %ld bytes\n"
+#: disk-utils/mkswap.c:611
+#, fuzzy, c-format
+msgid "Setting up swapspace version %d, size = %lu bytes\n"
 msgstr "Vytváøím odkládací prostor verze %d, velikost (v bajtech) = %ld\n"
 
-#: disk-utils/mkswap.c:612
+#: disk-utils/mkswap.c:617
 msgid "unable to rewind swap-device"
 msgstr "odkládací prostor nelze pøevinout"
 
-#: disk-utils/mkswap.c:615
+#: disk-utils/mkswap.c:620
 msgid "unable to write signature page"
 msgstr "stránku signatur nelze zapsat"
 
-#: disk-utils/mkswap.c:623
+#: disk-utils/mkswap.c:628
 msgid "fsync failed"
 msgstr "volání fsync selhalo"
 
@@ -5760,7 +5760,7 @@ msgstr "M
 msgid "Password error."
 msgstr "Chybné heslo."
 
-#: login-utils/chfn.c:176 login-utils/chsh.c:167 login-utils/login.c:775
+#: login-utils/chfn.c:176 login-utils/chsh.c:167 login-utils/login.c:787
 #: login-utils/newgrp.c:48 login-utils/simpleinit.c:320 mount/lomount.c:248
 #: mount/lomount.c:253
 msgid "Password: "
@@ -5982,20 +5982,25 @@ msgstr ""
 "\n"
 "pøeru¹en %10.10s %5.5s \n"
 
-#: login-utils/login.c:402
+#: login-utils/login.c:264
+#, fuzzy, c-format
+msgid "FATAL: can't reopen tty: %s"
+msgstr "mount: %s nelze otevøít: %s"
+
+#: login-utils/login.c:413
 msgid "login: -h for super-user only.\n"
 msgstr "login: pøepínaè -h mù¾e pou¾ít pouze superu¾ivatel\n"
 
-#: login-utils/login.c:429
+#: login-utils/login.c:440
 msgid "usage: login [-fp] [username]\n"
 msgstr "Pou¾ití: login [fp] [u¾ivatelské jméno]\n"
 
-#: login-utils/login.c:538
+#: login-utils/login.c:547
 #, c-format
 msgid "login: PAM Failure, aborting: %s\n"
 msgstr "login: chyba PAM, konèím: %s\n"
 
-#: login-utils/login.c:540
+#: login-utils/login.c:549
 #, c-format
 msgid "Couldn't initialize PAM: %s"
 msgstr "PAM nelze inicializovat: %s"
@@ -6006,16 +6011,16 @@ msgstr "PAM nelze inicializovat: %s"
 #. * PAM doesn't have an interface to specify the "Password: " string
 #. * (yet).
 #.
-#: login-utils/login.c:557
+#: login-utils/login.c:566
 msgid "login: "
 msgstr "Pøihla¹ovací jméno:"
 
-#: login-utils/login.c:597
+#: login-utils/login.c:606
 #, c-format
 msgid "FAILED LOGIN %d FROM %s FOR %s, %s"
 msgstr "%1$d. CHYBNÉ PØIHLÁ©ENÍ U®IVATELE %3$s Z %2$s, %4$s"
 
-#: login-utils/login.c:601
+#: login-utils/login.c:610
 msgid ""
 "Login incorrect\n"
 "\n"
@@ -6023,17 +6028,17 @@ msgstr ""
 "Chybné pøihlá¹ení\n"
 "\n"
 
-#: login-utils/login.c:610
+#: login-utils/login.c:619
 #, c-format
 msgid "TOO MANY LOGIN TRIES (%d) FROM %s FOR %s, %s"
 msgstr "PØÍLI© MNOHO (%1$d) POKUSÙ U®IVATELE %3$s O PØIHLÁ©ENÍ Z %2$s, %4$s"
 
-#: login-utils/login.c:614
+#: login-utils/login.c:623
 #, c-format
 msgid "FAILED LOGIN SESSION FROM %s FOR %s, %s"
 msgstr "NEÚSPÌ©NÉ PØIHLÁ©ENÍ U®IVATELE %2$s Z %1$s, %3$s"
 
-#: login-utils/login.c:618
+#: login-utils/login.c:627
 msgid ""
 "\n"
 "Login incorrect\n"
@@ -6041,51 +6046,51 @@ msgstr ""
 "\n"
 "Chybné pøihlá¹ení\n"
 
-#: login-utils/login.c:639 login-utils/login.c:646 login-utils/login.c:678
+#: login-utils/login.c:649 login-utils/login.c:656 login-utils/login.c:690
 msgid ""
 "\n"
 "Session setup problem, abort.\n"
 msgstr ""
 
-#: login-utils/login.c:640
+#: login-utils/login.c:650
 #, c-format
 msgid "NULL user name in %s:%d. Abort."
 msgstr ""
 
-#: login-utils/login.c:647
+#: login-utils/login.c:657
 #, c-format
 msgid "Invalid user name \"%s\" in %s:%d. Abort."
 msgstr ""
 
-#: login-utils/login.c:664
+#: login-utils/login.c:676
 #, fuzzy
 msgid "login: Out of memory\n"
 msgstr "%s: Nedostatek pamìti!\n"
 
-#: login-utils/login.c:710
+#: login-utils/login.c:722
 msgid "Illegal username"
 msgstr "Chybné u¾ivatelské jméno"
 
-#: login-utils/login.c:753
+#: login-utils/login.c:765
 #, c-format
 msgid "%s login refused on this terminal.\n"
 msgstr "pøihlá¹ení u¾ivatele %s na tomto terminálu odmítnuto\n"
 
-#: login-utils/login.c:758
+#: login-utils/login.c:770
 #, c-format
 msgid "LOGIN %s REFUSED FROM %s ON TTY %s"
 msgstr "PØIHLÁ©ENÍ U®IVATELE %s Z %s NA TTY %s ODMÍTNUTO"
 
-#: login-utils/login.c:762
+#: login-utils/login.c:774
 #, c-format
 msgid "LOGIN %s REFUSED ON TTY %s"
 msgstr "PØIHLÁ©ENÍ U®IVATELE %s NA TTY %s ODMÍTNUTO"
 
-#: login-utils/login.c:815
+#: login-utils/login.c:827
 msgid "Login incorrect\n"
 msgstr "Chybné pøihlá¹ení\n"
 
-#: login-utils/login.c:837
+#: login-utils/login.c:849
 msgid ""
 "Too many users logged on already.\n"
 "Try again later.\n"
@@ -6093,79 +6098,84 @@ msgstr ""
 "Ji¾ je pøihlá¹eno pøíli¹ mnoho u¾ivatelù.\n"
 "Zkuste to opìt pozdìji.\n"
 
-#: login-utils/login.c:841
+#: login-utils/login.c:853
 msgid "You have too many processes running.\n"
 msgstr "Máte spu¹tìno pøíli¹ mnoho procesù.\n"
 
-#: login-utils/login.c:1073
+#: login-utils/login.c:1077
 #, c-format
 msgid "DIALUP AT %s BY %s"
 msgstr "PØÍSTUP U®IVATELE %2$s VYTÁÈENOU LINKOU NA TTY %1$s"
 
-#: login-utils/login.c:1080
+#: login-utils/login.c:1084
 #, c-format
 msgid "ROOT LOGIN ON %s FROM %s"
 msgstr "PØIHLÁ©ENÍ U®IVATELE ROOT Z %2$s NA TTY %1$s"
 
-#: login-utils/login.c:1083
+#: login-utils/login.c:1087
 #, c-format
 msgid "ROOT LOGIN ON %s"
 msgstr "PØIHLÁ©ENÍ U®IVATELE ROOT NA TTY %s"
 
-#: login-utils/login.c:1086
+#: login-utils/login.c:1090
 #, c-format
 msgid "LOGIN ON %s BY %s FROM %s"
 msgstr "PØIHLÁ©ENÍ U®IVATELE %2$s Z %3$s NA TTY %1$s"
 
-#: login-utils/login.c:1089
+#: login-utils/login.c:1093
 #, c-format
 msgid "LOGIN ON %s BY %s"
 msgstr "PØIHLÁ©ENÍ U®IVATELE %2$s NA TTY %1$s"
 
-#: login-utils/login.c:1101
+#: login-utils/login.c:1105
 #, fuzzy
 msgid "You have new mail.\n"
 msgstr "Máte %spo¹tu.\n"
 
-#: login-utils/login.c:1103
+#: login-utils/login.c:1107
 #, fuzzy
 msgid "You have mail.\n"
 msgstr "Máte %spo¹tu.\n"
 
 #. error in fork()
-#: login-utils/login.c:1129
+#: login-utils/login.c:1125
 #, c-format
 msgid "login: failure forking: %s"
 msgstr "login: volání fork selhalo: %s"
 
-#: login-utils/login.c:1151
+#: login-utils/login.c:1162
+#, c-format
+msgid "TIOCSCTTY failed: %m"
+msgstr ""
+
+#: login-utils/login.c:1168
 msgid "setuid() failed"
 msgstr "volání setuid() selhalo"
 
-#: login-utils/login.c:1157
+#: login-utils/login.c:1174
 #, c-format
 msgid "No directory %s!\n"
 msgstr "Adresáø %s neexistuje!\n"
 
-#: login-utils/login.c:1161
+#: login-utils/login.c:1178
 msgid "Logging in with home = \"/\".\n"
 msgstr "Pøihla¹uji s domácím adresáøem nastaveným na \"/\".\n"
 
-#: login-utils/login.c:1169
+#: login-utils/login.c:1186
 msgid "login: no memory for shell script.\n"
 msgstr "login: nedostatek pamìti pro skript shellu.\n"
 
-#: login-utils/login.c:1196
+#: login-utils/login.c:1213
 #, c-format
 msgid "login: couldn't exec shell script: %s.\n"
 msgstr "login: skript shellu %s nelze spustit.\n"
 
-#: login-utils/login.c:1199
+#: login-utils/login.c:1216
 #, c-format
 msgid "login: no shell: %s.\n"
 msgstr "login: ¾ádný shell: %s.\n"
 
-#: login-utils/login.c:1214
+#: login-utils/login.c:1231
 #, c-format
 msgid ""
 "\n"
@@ -6174,62 +6184,62 @@ msgstr ""
 "\n"
 "Pøihla¹ovací jméno na %s: "
 
-#: login-utils/login.c:1225
+#: login-utils/login.c:1242
 msgid "login name much too long.\n"
 msgstr "pøihla¹ovací jméno je pøíli¹ dlouhé.\n"
 
-#: login-utils/login.c:1226
+#: login-utils/login.c:1243
 msgid "NAME too long"
 msgstr "JMÉNO je pøíli¹ dlouhé"
 
-#: login-utils/login.c:1233
+#: login-utils/login.c:1250
 msgid "login names may not start with '-'.\n"
 msgstr "pøihla¹ovací jméno nesmí zaèínat '-'.\n"
 
-#: login-utils/login.c:1243
+#: login-utils/login.c:1260
 msgid "too many bare linefeeds.\n"
 msgstr "pøíli¹ mnoho znakù LF\n"
 
-#: login-utils/login.c:1244
+#: login-utils/login.c:1261
 msgid "EXCESSIVE linefeeds"
 msgstr "PØÍLI© mnoho znakù LF"
 
-#: login-utils/login.c:1255
+#: login-utils/login.c:1272
 #, c-format
 msgid "Login timed out after %d seconds\n"
 msgstr "Vypr¹el èasový limit (%d sekund) pro pøihlá¹ení.\n"
 
-#: login-utils/login.c:1352
+#: login-utils/login.c:1369
 #, c-format
 msgid "Last login: %.*s "
 msgstr "Poslední pøihlá¹ení: %.*s "
 
-#: login-utils/login.c:1356
+#: login-utils/login.c:1373
 #, c-format
 msgid "from %.*s\n"
 msgstr "z %.*s\n"
 
-#: login-utils/login.c:1359
+#: login-utils/login.c:1376
 #, c-format
 msgid "on %.*s\n"
 msgstr "%.*s\n"
 
-#: login-utils/login.c:1379
+#: login-utils/login.c:1396
 #, c-format
 msgid "LOGIN FAILURE FROM %s, %s"
 msgstr "CHYBNÉ PØIHLÁ©ENÍ U®IVATELE %2$s Z %1$s"
 
-#: login-utils/login.c:1382
+#: login-utils/login.c:1399
 #, c-format
 msgid "LOGIN FAILURE ON %s, %s"
 msgstr "CHYBNÉ PØIHLÁ©ENÍ U®IVATELE %2$s NA TTY %1$s"
 
-#: login-utils/login.c:1386
+#: login-utils/login.c:1403
 #, c-format
 msgid "%d LOGIN FAILURES FROM %s, %s"
 msgstr "POÈET CHYBNÝCH PØIHLÁ©ENÍ U®IVATELE %3$s Z %2$s: %1$d"
 
-#: login-utils/login.c:1389
+#: login-utils/login.c:1406
 #, c-format
 msgid "%d LOGIN FAILURES ON %s, %s"
 msgstr "POÈET CHYBNÝCH PØIHLÁ©ENÍ U®IVATELE %3$s NA TTY %2$s: %1$d"
@@ -7752,14 +7762,14 @@ msgstr "mount: %s nelze v %s nal
 msgid "mount: can't find %s in %s or %s"
 msgstr "mount: %s nelze nalézt v %s ani %s"
 
-#: mount/mount_by_label.c:153
+#: mount/mount_by_label.c:169
 #, c-format
 msgid ""
 "mount: could not open %s, so UUID and LABEL conversion cannot be done.\n"
 msgstr ""
 "mount: %s nelze otevøít,tak¾e konverze UUID a LABEL nebude provedena.\n"
 
-#: mount/mount_by_label.c:257
+#: mount/mount_by_label.c:295
 msgid "mount: bad UUID"
 msgstr "mount: chybné UUID"
 
@@ -7792,87 +7802,87 @@ msgstr "       Vyzkou
 msgid "Trying %s\n"
 msgstr "Pou¾ívám %s.\n"
 
-#: mount/nfsmount.c:231
+#: mount/nfsmount.c:237
 msgid "mount: excessively long host:dir argument\n"
 msgstr "mount: pøíli¹ dlouhý argument pro poèítaè:adresáø\n"
 
-#: mount/nfsmount.c:245
+#: mount/nfsmount.c:251
 msgid "mount: warning: multiple hostnames not supported\n"
 msgstr "mount: varování: vícenásobné názvy poèítaèù nejsou podporovány\n"
 
-#: mount/nfsmount.c:250
+#: mount/nfsmount.c:256
 msgid "mount: directory to mount not in host:dir format\n"
 msgstr "mount: adresáø pro pøipojení není ve tvaru poèítaè:adresáø\n"
 
-#: mount/nfsmount.c:261 mount/nfsmount.c:516
+#: mount/nfsmount.c:267 mount/nfsmount.c:522
 #, c-format
 msgid "mount: can't get address for %s\n"
 msgstr "mount:  adresu %s nelze zjistit\n"
 
-#: mount/nfsmount.c:267
+#: mount/nfsmount.c:273
 msgid "mount: got bad hp->h_length\n"
 msgstr "mount: ¹patné hp->h_length\n"
 
-#: mount/nfsmount.c:284
+#: mount/nfsmount.c:290
 msgid "mount: excessively long option argument\n"
 msgstr "mount: pøíli¹ dlouhý argument pro volbu\n"
 
-#: mount/nfsmount.c:376
+#: mount/nfsmount.c:382
 msgid "Warning: Unrecognized proto= option.\n"
 msgstr "Varování: neznámá volba pro proto=.\n"
 
-#: mount/nfsmount.c:383
+#: mount/nfsmount.c:389
 msgid "Warning: Option namlen is not supported.\n"
 msgstr "Varování: volba namlen není podporována.\n"
 
-#: mount/nfsmount.c:387
+#: mount/nfsmount.c:393
 #, c-format
 msgid "unknown nfs mount parameter: %s=%d\n"
 msgstr "parametr %s=%d pro pøipojení nfs není znám\n"
 
-#: mount/nfsmount.c:421
+#: mount/nfsmount.c:427
 msgid "Warning: option nolock is not supported.\n"
 msgstr "Varování: volba nolock není podporována.\n"
 
-#: mount/nfsmount.c:426
+#: mount/nfsmount.c:432
 #, c-format
 msgid "unknown nfs mount option: %s%s\n"
 msgstr "volba %s%s pro pøipojení nfs je neznámá\n"
 
-#: mount/nfsmount.c:522
+#: mount/nfsmount.c:528
 msgid "mount: got bad hp->h_length?\n"
 msgstr "mount: ¹patné hp->h_length?\n"
 
-#: mount/nfsmount.c:710
+#: mount/nfsmount.c:716
 msgid "NFS over TCP is not supported.\n"
 msgstr "NFS pøes TCP není podporováno.\n"
 
-#: mount/nfsmount.c:717
+#: mount/nfsmount.c:723
 msgid "nfs socket"
 msgstr "nfs soket"
 
-#: mount/nfsmount.c:721
+#: mount/nfsmount.c:727
 msgid "nfs bindresvport"
 msgstr "nfs bindresvport"
 
-#: mount/nfsmount.c:735
+#: mount/nfsmount.c:741
 msgid "nfs server reported service unavailable"
 msgstr "tato slu¾ba je na tomto nfs serveru nedostupná"
 
-#: mount/nfsmount.c:744
+#: mount/nfsmount.c:750
 msgid "used portmapper to find NFS port\n"
 msgstr "pro nalezení NFS portu jsem pou¾il portmapper\n"
 
-#: mount/nfsmount.c:748
+#: mount/nfsmount.c:754
 #, c-format
 msgid "using port %d for nfs deamon\n"
 msgstr "pou¾ívám port %d pro nfs server\n"
 
-#: mount/nfsmount.c:759
+#: mount/nfsmount.c:765
 msgid "nfs connect"
 msgstr "nfs connect"
 
-#: mount/nfsmount.c:846
+#: mount/nfsmount.c:852
 #, c-format
 msgid "unknown nfs status return value: %d"
 msgstr "návratová hodnota nfs status %d je neznámá"
@@ -7981,27 +7991,27 @@ msgstr "umount: %s: blokov
 msgid "umount: %s: %s"
 msgstr "umount: %s: %s"
 
-#: mount/umount.c:285
+#: mount/umount.c:284
 msgid "no umount2, trying umount...\n"
 msgstr "nenalezl jsem umount2, zkou¹ím umount...\n"
 
-#: mount/umount.c:301
+#: mount/umount.c:300
 #, c-format
 msgid "could not umount %s - trying %s instead\n"
 msgstr "%s nelze odpojit - zkou¹ím %s\n"
 
-#: mount/umount.c:319
+#: mount/umount.c:318
 #, c-format
 msgid "umount: %s busy - remounted read-only\n"
 msgstr ""
 "umount: %s je ji¾ pou¾íváno - znovu pøipojeno v re¾imu pro pouze ètení\n"
 
-#: mount/umount.c:329
+#: mount/umount.c:328
 #, c-format
 msgid "umount: could not remount %s read-only\n"
 msgstr "umount: %s nelze znovu pøipojit v re¾imu pouze pro ètení\n"
 
-#: mount/umount.c:338
+#: mount/umount.c:337
 #, c-format
 msgid "%s umounted\n"
 msgstr "%s odpojeno\n"
@@ -8201,30 +8211,93 @@ msgstr "   %f p
 msgid "Usage: %s [-c] [-n level] [-s bufsize]\n"
 msgstr "Pou¾ití: %s [-c] [-n úroveò] [-s velikost bufferu]\n"
 
-#: sys-utils/ipcrm.c:59
+#: sys-utils/ipcrm.c:66
 #, c-format
 msgid "invalid id: %s\n"
 msgstr "Chybné id: %s\n"
 
-#: sys-utils/ipcrm.c:77
+#: sys-utils/ipcrm.c:84
 #, c-format
 msgid "cannot remove id %s (%s)\n"
 msgstr "id %s nelze odstranit (%s)\n"
 
-#: sys-utils/ipcrm.c:91
-#, c-format
-msgid "usage: %s {shm | msg | sem} id ...\n"
+#: sys-utils/ipcrm.c:99
+#, fuzzy, c-format
+msgid "deprecated usage: %s {shm | msg | sem} id ...\n"
 msgstr "Pou¾ití: %s [shm | msg | sem] id ...\n"
 
-#: sys-utils/ipcrm.c:124
+#: sys-utils/ipcrm.c:126
 #, c-format
 msgid "unknown resource type: %s\n"
 msgstr "typ zdroje %s není znám\n"
 
-#: sys-utils/ipcrm.c:128
+#: sys-utils/ipcrm.c:130
 msgid "resource(s) deleted\n"
 msgstr "prostøedky smazány\n"
 
+#: sys-utils/ipcrm.c:140
+#, c-format
+msgid ""
+"usage: %s [ [-q msqid] [-m shmid] [-s semid]\n"
+"          [-Q msgkey] [-M shmkey] [-S semkey] ... ]\n"
+msgstr ""
+
+#: sys-utils/ipcrm.c:181
+#, c-format
+msgid "%s: illegal option -- %c\n"
+msgstr ""
+
+#: sys-utils/ipcrm.c:192
+#, fuzzy, c-format
+msgid "%s: illegal key (%s)\n"
+msgstr "Chybná klávesa"
+
+#: sys-utils/ipcrm.c:207 sys-utils/ipcrm.c:239
+#, fuzzy
+msgid "permission denied for key"
+msgstr "mount: pøístup odmítnut"
+
+#: sys-utils/ipcrm.c:210 sys-utils/ipcrm.c:249
+msgid "already removed key"
+msgstr ""
+
+#: sys-utils/ipcrm.c:213 sys-utils/ipcrm.c:244
+#, fuzzy
+msgid "invalid key"
+msgstr "Chybné id: %s\n"
+
+#: sys-utils/ipcrm.c:216 sys-utils/ipcrm.c:254
+msgid "unknown error in key"
+msgstr ""
+
+#: sys-utils/ipcrm.c:240
+#, fuzzy
+msgid "permission denied for id"
+msgstr "mount: pøístup odmítnut"
+
+#: sys-utils/ipcrm.c:245
+#, fuzzy
+msgid "invalid id"
+msgstr "Chybné id: %s\n"
+
+#: sys-utils/ipcrm.c:250
+msgid "already removed id"
+msgstr ""
+
+#: sys-utils/ipcrm.c:255
+msgid "unknown error in id"
+msgstr ""
+
+#: sys-utils/ipcrm.c:258
+#, fuzzy, c-format
+msgid "%s: %s (%s)\n"
+msgstr "%s na %s\n"
+
+#: sys-utils/ipcrm.c:266
+#, fuzzy, c-format
+msgid "%s: unknown argument: %s\n"
+msgstr "%s: neznámý signál %s\n"
+
 #: sys-utils/ipcs.c:122
 #, c-format
 msgid "usage : %s -asmq -tclup \n"
@@ -8836,7 +8909,7 @@ msgstr "          Pomoc
 msgid "missing comma"
 msgstr "chybí èárka"
 
-#: sys-utils/readprofile.c:58
+#: sys-utils/readprofile.c:60
 #, fuzzy, c-format
 msgid ""
 "%s: Usage: \"%s [options]\n"
@@ -8860,37 +8933,37 @@ msgstr ""
 "\t -r            vynuluje ve¹keré èítaèe (pouze root)\n"
 "\t -V            vypí¹e informace o verzi a skonèí\n"
 
-#: sys-utils/readprofile.c:81
+#: sys-utils/readprofile.c:83
 #, fuzzy
 msgid "out of memory"
 msgstr "nedostatek pamìti?\n"
 
-#: sys-utils/readprofile.c:142
+#: sys-utils/readprofile.c:144
 #, c-format
 msgid "%s Version %s\n"
 msgstr "%s Verze %s\n"
 
-#: sys-utils/readprofile.c:226
+#: sys-utils/readprofile.c:228
 #, c-format
 msgid "Sampling_step: %i\n"
 msgstr "Profilovací_krok: %i\n"
 
-#: sys-utils/readprofile.c:239 sys-utils/readprofile.c:262
+#: sys-utils/readprofile.c:241 sys-utils/readprofile.c:265
 #, c-format
 msgid "%s: %s(%i): wrong map line\n"
 msgstr "%s: %s(%i): chybný map øádek\n"
 
-#: sys-utils/readprofile.c:250
+#: sys-utils/readprofile.c:253
 #, c-format
 msgid "%s: can't find \"_stext\" in %s\n"
 msgstr "%s: \"_stext\" nelze v %s nalézt\n"
 
-#: sys-utils/readprofile.c:273
+#: sys-utils/readprofile.c:276
 #, c-format
 msgid "%s: profile address out of range. Wrong map file?\n"
 msgstr "%s: adresa profilu je mimo rozsah. Chybný mapovací soubor?\n"
 
-#: sys-utils/readprofile.c:299
+#: sys-utils/readprofile.c:304
 msgid "total"
 msgstr "celkem"
 
index 6d8d58aae11f755caccddc05bf2ca2a01da94e05..821202916969b9b552a69e10de2ddf6a8c6c48c4 100644 (file)
--- a/po/da.po
+++ b/po/da.po
@@ -1,18 +1,14 @@
 # Danske beskeder for util-linux.
-# Copyright (C) 2001 Free Software Foundation, Inc.
-# Claus Hindsgaul <claus_h@image.dk>, 2001.
+# Copyright (C) 2002 Free Software Foundation, Inc.
+# Claus Hindsgaul <claus_h@image.dk>, 2001-2002.
 # Claus Sørensen <cs@klid.dk>, 2000.
 # Keld Jørn Simonsen <keld@dkuug.dk>, 2000.
 #
-# Permission is granted to freely copy and distribute
-# this file and modified versions, provided that this
-# header is not removed and modified versions are marked
-# as such.
 msgid ""
 msgstr ""
-"Project-Id-Version: util-linux 2.11m\n"
-"POT-Creation-Date: 2002-03-08 23:54+0100\n"
-"PO-Revision-Date: 2001-11-25 21:47GMT\n"
+"Project-Id-Version: util-linux 2.11o\n"
+"POT-Creation-Date: 2002-04-06 01:28+0200\n"
+"PO-Revision-Date: 2002-03-17 17:40GMT\n"
 "Last-Translator: Claus Hindsgaul <claus_h@image.dk>\n"
 "Language-Team: Danish <dansk@klid.dk>\n"
 "MIME-Version: 1.0\n"
@@ -65,19 +61,18 @@ msgid "reread partition table"
 msgstr "genlæs partitionstabellen"
 
 #: disk-utils/blockdev.c:98
-#, fuzzy
 msgid "Usage:\n"
-msgstr "Brug:"
+msgstr "Brug:\n"
 
 #: disk-utils/blockdev.c:100
 #, c-format
 msgid "  %s --report [devices]\n"
-msgstr ""
+msgstr "  %s --report [enheder]\n"
 
 #: disk-utils/blockdev.c:101
-#, fuzzy, c-format
+#, c-format
 msgid "  %s [-v|-q] commands devices\n"
-msgstr "Brug: %s [-V] [-v|-q] kommandoer enheder\n"
+msgstr "  %s [-v|-q] kommandoer enheder\n"
 
 #: disk-utils/blockdev.c:102
 msgid "Available commands:\n"
@@ -96,21 +91,21 @@ msgstr "%s kr
 #: disk-utils/blockdev.c:278
 #, c-format
 msgid "%s succeeded.\n"
-msgstr ""
+msgstr "%s lykkedes.\n"
 
 #: disk-utils/blockdev.c:296 disk-utils/blockdev.c:321
-#, fuzzy, c-format
+#, c-format
 msgid "%s: cannot open %s\n"
-msgstr "%s: kunne ikke åbne %s: %s\n"
+msgstr "%s: kunne ikke åbne %s\n"
 
 #: disk-utils/blockdev.c:338
-#, fuzzy, c-format
+#, c-format
 msgid "%s: ioctl error on %s\n"
-msgstr "%s: læsefejl på %s\n"
+msgstr "%s: ioctl-fejl på %s\n"
 
 #: disk-utils/blockdev.c:345
 msgid "RO    RA   SSZ   BSZ   StartSec     Size    Device\n"
-msgstr ""
+msgstr "RO    RA   SST   BST   StartSekt    Størr.  Enhed\n"
 
 #: disk-utils/elvtune.c:46 disk-utils/setfdprm.c:100
 msgid "usage:\n"
@@ -153,7 +148,7 @@ msgstr "brug: %s [ -n ] enhed\n"
 
 #: disk-utils/fdformat.c:120 disk-utils/fsck.minix.c:1291
 #: disk-utils/isosize.c:179 disk-utils/mkfs.bfs.c:119 disk-utils/mkfs.c:55
-#: disk-utils/mkfs.minix.c:644 disk-utils/mkswap.c:452
+#: disk-utils/mkfs.minix.c:644 disk-utils/mkswap.c:457
 #: disk-utils/setfdprm.c:128 misc-utils/cal.c:246 misc-utils/ddate.c:181
 #: misc-utils/kill.c:188 misc-utils/rename.c:79 misc-utils/script.c:132
 #, c-format
@@ -201,28 +196,28 @@ msgid "check aborted.\n"
 msgstr "tjek afbrudt.\n"
 
 #: disk-utils/fsck.minix.c:332 disk-utils/fsck.minix.c:356
-#, fuzzy, c-format
+#, c-format
 msgid "Zone nr < FIRSTZONE in file `%s'."
-msgstr "Zone nr < FIRSTZONE i filen '"
+msgstr "Zone nr < FIRSTZONE i filen '%s'."
 
 #: disk-utils/fsck.minix.c:336 disk-utils/fsck.minix.c:360
-#, fuzzy, c-format
+#, c-format
 msgid "Zone nr >= ZONES in file `%s'."
-msgstr "Zone nr >= ZONES i filen '"
+msgstr "Zone nr >= ZONES i filen '%s'."
 
 #: disk-utils/fsck.minix.c:341 disk-utils/fsck.minix.c:365
 msgid "Remove block"
 msgstr "Fjern blok"
 
 #: disk-utils/fsck.minix.c:384
-#, fuzzy, c-format
+#, c-format
 msgid "Read error: unable to seek to block in file '%s'\n"
-msgstr "Læsefejl: kunne ikke søge til blok i filen '"
+msgstr "Læsefejl: kunne ikke søge til blok i filen '%s'\n"
 
 #: disk-utils/fsck.minix.c:390
-#, fuzzy, c-format
+#, c-format
 msgid "Read error: bad block in file '%s'\n"
-msgstr "Læsefejl: ugyldig blok i filen '"
+msgstr "Læsefejl: ugyldig blok i filen '%s'\n"
 
 #: disk-utils/fsck.minix.c:405
 msgid ""
@@ -237,9 +232,9 @@ msgid "seek failed in write_block"
 msgstr "søgning mislykkedes i write_block"
 
 #: disk-utils/fsck.minix.c:414
-#, fuzzy, c-format
+#, c-format
 msgid "Write error: bad block in file '%s'\n"
-msgstr "Skrivefejl: ugyldig blok i fil '"
+msgstr "Skrivefejl: ugyldig blok i fil '%s'\n"
 
 #: disk-utils/fsck.minix.c:532
 msgid "seek failed in write_super_block"
@@ -357,18 +352,18 @@ msgstr ""
 "\n"
 
 #: disk-utils/fsck.minix.c:660 disk-utils/fsck.minix.c:712
-#, fuzzy, c-format
+#, c-format
 msgid "Inode %d marked unused, but used for file '%s'\n"
-msgstr "Inode %d er markeret som ubrugt, men bruges af filen '"
+msgstr "Inode %d er markeret som ubrugt, men bruges af filen '%s'\n"
 
 #: disk-utils/fsck.minix.c:664 disk-utils/fsck.minix.c:716
 msgid "Mark in use"
 msgstr "Markér i brug"
 
 #: disk-utils/fsck.minix.c:686 disk-utils/fsck.minix.c:736
-#, fuzzy, c-format
+#, c-format
 msgid "The file `%s' has mode %05o\n"
-msgstr " har modus %05o\n"
+msgstr "Filen '%s' har modus %05o\n"
 
 #: disk-utils/fsck.minix.c:693 disk-utils/fsck.minix.c:742
 msgid "Warning: inode count too big.\n"
@@ -379,9 +374,9 @@ msgid "root inode isn't a directory"
 msgstr "rod-inode er ikke et katalog"
 
 #: disk-utils/fsck.minix.c:779 disk-utils/fsck.minix.c:813
-#, fuzzy, c-format
+#, c-format
 msgid "Block has been used before. Now in file `%s'."
-msgstr "Blokke blev brugt tidligere. Nu i filen '"
+msgstr "Blokke blev brugt tidligere. Nu i filen '%s'."
 
 #: disk-utils/fsck.minix.c:781 disk-utils/fsck.minix.c:815
 #: disk-utils/fsck.minix.c:1149 disk-utils/fsck.minix.c:1158
@@ -390,51 +385,51 @@ msgid "Clear"
 msgstr "Slet"
 
 #: disk-utils/fsck.minix.c:791 disk-utils/fsck.minix.c:825
-#, fuzzy, c-format
+#, c-format
 msgid "Block %d in file `%s' is marked not in use."
-msgstr "' er markeret som ubrugt."
+msgstr "Blok %d i filen '%s' er markeret som ubrugt."
 
 #: disk-utils/fsck.minix.c:793 disk-utils/fsck.minix.c:827
 msgid "Correct"
 msgstr "Korrigér"
 
 #: disk-utils/fsck.minix.c:973 disk-utils/fsck.minix.c:1041
-#, fuzzy, c-format
+#, c-format
 msgid "The directory '%s' contains a bad inode number for file '%.*s'."
-msgstr "' indeholder forkert inode-antal for filen '%.*s'."
+msgstr "Kataloget '%s' indeholder forkert inode-antal for filen '%.*s'."
 
 #: disk-utils/fsck.minix.c:976 disk-utils/fsck.minix.c:1044
 msgid " Remove"
 msgstr " Fjern"
 
 #: disk-utils/fsck.minix.c:990
-#, fuzzy, c-format
+#, c-format
 msgid "`%s': bad directory: '.' isn't first\n"
-msgstr ": ugyldigt katalog: '.' er ikke først\n"
+msgstr "'%s': ugyldigt katalog: '.' er ikke først\n"
 
 #: disk-utils/fsck.minix.c:998
-#, fuzzy, c-format
+#, c-format
 msgid "`%s': bad directory: '..' isn't second\n"
-msgstr ": ugyldigt katalog: ',.' er ikke nummer to\n"
+msgstr "'%s': ugyldigt katalog: ',.' er ikke nummer to\n"
 
 #: disk-utils/fsck.minix.c:1058
-#, fuzzy, c-format
+#, c-format
 msgid "%s: bad directory: '.' isn't first\n"
-msgstr ": ugyldigt katalog: '.' er ikke først\n"
+msgstr "%s: ugyldigt katalog: '.' er ikke først\n"
 
 #: disk-utils/fsck.minix.c:1067
-#, fuzzy, c-format
+#, c-format
 msgid "%s: bad directory: '..' isn't second\n"
-msgstr ": ugyldigt katalog: ',.' er ikke nummer to\n"
+msgstr "%s: ugyldigt katalog: ',.' er ikke nummer to\n"
 
 #: disk-utils/fsck.minix.c:1102
 msgid "internal error"
 msgstr "intern fejl"
 
 #: disk-utils/fsck.minix.c:1105 disk-utils/fsck.minix.c:1124
-#, fuzzy, c-format
+#, c-format
 msgid "%s: bad directory: size < 32"
-msgstr ": ugyldigt katalog: størrelse < 32"
+msgstr "%s: ugyldigt katalog: størrelse < 32"
 
 #: disk-utils/fsck.minix.c:1138
 msgid "seek failed in bad_zone"
@@ -805,7 +800,7 @@ msgstr "s
 msgid "Weird values in do_check: probably bugs\n"
 msgstr "Mystiske værdier i do_check: sandsynligvis programfejl\n"
 
-#: disk-utils/mkfs.minix.c:583 disk-utils/mkswap.c:362
+#: disk-utils/mkfs.minix.c:583 disk-utils/mkswap.c:368
 msgid "seek failed in check_blocks"
 msgstr "søgning mislykkedes i check_blocks"
 
@@ -866,64 +861,64 @@ msgstr ""
 msgid "Assuming pages of size %d (not %d)\n"
 msgstr "Antager sider med størrelsen %d (ikke %d)\n"
 
-#: disk-utils/mkswap.c:316
+#: disk-utils/mkswap.c:322
 #, c-format
 msgid "Usage: %s [-c] [-v0|-v1] [-pPAGESZ] /dev/name [blocks]\n"
 msgstr "Brug: %s [-c] [-v0|-v1] [-pPAGESZ] /dev/navn [blokke]\n"
 
-#: disk-utils/mkswap.c:339
+#: disk-utils/mkswap.c:345
 msgid "too many bad pages"
 msgstr "for mange ugyldige sider"
 
-#: disk-utils/mkswap.c:353 misc-utils/look.c:182 misc-utils/setterm.c:1130
+#: disk-utils/mkswap.c:359 misc-utils/look.c:182 misc-utils/setterm.c:1130
 #: text-utils/more.c:1934 text-utils/more.c:1945
 msgid "Out of memory"
 msgstr "Hukommelse opbrugt"
 
-#: disk-utils/mkswap.c:370
+#: disk-utils/mkswap.c:376
 msgid "one bad page\n"
 msgstr "en ugyldig side\n"
 
-#: disk-utils/mkswap.c:372
+#: disk-utils/mkswap.c:378
 #, c-format
 msgid "%d bad pages\n"
 msgstr "%d ugyldige sider\n"
 
-#: disk-utils/mkswap.c:492
+#: disk-utils/mkswap.c:497
 #, c-format
 msgid "%s: error: Nowhere to set up swap on?\n"
 msgstr "%s: fejl: Ingen steder at opsætte swap?\n"
 
-#: disk-utils/mkswap.c:510
+#: disk-utils/mkswap.c:515
 #, c-format
 msgid "%s: error: size %ld is larger than device size %d\n"
 msgstr "%s: fejl: størrelsen %ld er større end enhedsstørrelsen %d\n"
 
-#: disk-utils/mkswap.c:529
+#: disk-utils/mkswap.c:534
 #, c-format
 msgid "%s: error: unknown version %d\n"
 msgstr "%s: fejl: ukendt version %d\n"
 
-#: disk-utils/mkswap.c:535
+#: disk-utils/mkswap.c:540
 #, c-format
 msgid "%s: error: swap area needs to be at least %ldkB\n"
 msgstr "%s: fejl: swap-område skal mindst være på %ldkB\n"
 
-#: disk-utils/mkswap.c:554
+#: disk-utils/mkswap.c:559
 #, c-format
 msgid "%s: warning: truncating swap area to %ldkB\n"
 msgstr "%s: fejl: afkorter swap-området til %ldkB\n"
 
-#: disk-utils/mkswap.c:566
+#: disk-utils/mkswap.c:571
 #, c-format
 msgid "Will not try to make swapdevice on '%s'"
 msgstr "Vil ikke forsøge at oprette swap-enhed på '%s'"
 
-#: disk-utils/mkswap.c:575 disk-utils/mkswap.c:596
+#: disk-utils/mkswap.c:580 disk-utils/mkswap.c:601
 msgid "fatal: first page unreadable"
 msgstr "fatalt: første side kan ikke læses"
 
-#: disk-utils/mkswap.c:581
+#: disk-utils/mkswap.c:586
 #, c-format
 msgid ""
 "%s: Device '%s' contains a valid Sun disklabel.\n"
@@ -936,24 +931,24 @@ msgstr ""
 "opretter en v0 swap. Ingen swap oprettet. Hvis du virkelig vil oprette en\n"
 "v0 swap på denne enhed, kan du gennemtvinge det med tilvalget -f.\n"
 
-#: disk-utils/mkswap.c:605
+#: disk-utils/mkswap.c:610
 msgid "Unable to set up swap-space: unreadable"
 msgstr "Kunne ikke klargøre swap-område: ulæseligt"
 
-#: disk-utils/mkswap.c:606
-#, c-format
-msgid "Setting up swapspace version %d, size = %ld bytes\n"
+#: disk-utils/mkswap.c:611
+#, fuzzy, c-format
+msgid "Setting up swapspace version %d, size = %lu bytes\n"
 msgstr "Klargører swap-område version %d, størrelse = %ld byte\n"
 
-#: disk-utils/mkswap.c:612
+#: disk-utils/mkswap.c:617
 msgid "unable to rewind swap-device"
 msgstr "kunne ikke spole tilbage på swap-enheden"
 
-#: disk-utils/mkswap.c:615
+#: disk-utils/mkswap.c:620
 msgid "unable to write signature page"
 msgstr "kunne ikke skrive signatur-side"
 
-#: disk-utils/mkswap.c:623
+#: disk-utils/mkswap.c:628
 msgid "fsync failed"
 msgstr "fsync mislykkedes"
 
@@ -1006,18 +1001,16 @@ msgid "Linux ext2"
 msgstr "Linux ext2"
 
 #: fdisk/cfdisk.c:405
-#, fuzzy
 msgid "Linux ext3"
-msgstr "Linux ext2"
+msgstr "Linux ext3"
 
 #: fdisk/cfdisk.c:407
 msgid "Linux XFS"
 msgstr "Linux XFS"
 
 #: fdisk/cfdisk.c:409
-#, fuzzy
 msgid "Linux ReiserFS"
-msgstr "Linux XFS"
+msgstr "Linux ReiserFS"
 
 #. also Solaris
 #: fdisk/cfdisk.c:411 fdisk/i386_sys_types.c:57
@@ -1642,14 +1635,14 @@ msgid "Disk Drive: %s"
 msgstr "Drev: %s"
 
 #: fdisk/cfdisk.c:2576
-#, fuzzy, c-format
+#, c-format
 msgid "Size: %lld bytes, %ld MB"
-msgstr "Størrelse: %lld byte"
+msgstr "Størrelse: %lld byte, %ld Mb"
 
 #: fdisk/cfdisk.c:2579
-#, fuzzy, c-format
+#, c-format
 msgid "Size: %lld bytes, %ld.%ld GB"
-msgstr "Størrelse: %lld byte"
+msgstr "Størrelse: %lld byte, %ld.%ld Gb"
 
 #: fdisk/cfdisk.c:2583
 #, c-format
@@ -3035,7 +3028,7 @@ msgstr "Linux swap"
 
 #: fdisk/fdisksgilabel.c:94 fdisk/fdisksunlabel.c:53
 msgid "Linux native"
-msgstr "Linux's egen"
+msgstr "Linux' egen"
 
 #: fdisk/fdisksgilabel.c:95 fdisk/fdisksunlabel.c:54 fdisk/i386_sys_types.c:62
 msgid "Linux LVM"
@@ -3149,7 +3142,7 @@ msgid ""
 msgstr ""
 "\n"
 "\tBemærk, at der ikke tjekkes for opstartsfilens eksistens.\n"
-"\tSGI's standard er \"/unix\" og som backup \"/unix.save\".\n"
+"\tSGIs standard er \"/unix\" og som backup \"/unix.save\".\n"
 
 #: fdisk/fdisksgilabel.c:350
 #, c-format
@@ -3439,7 +3432,7 @@ msgstr "3,5\" diskette"
 
 #: fdisk/fdisksunlabel.c:358
 msgid "Linux custom"
-msgstr "Linux's egen"
+msgstr "Linux' egen"
 
 #: fdisk/fdisksunlabel.c:445
 #, c-format
@@ -3802,7 +3795,7 @@ msgstr "NeXTSTEP"
 
 #: fdisk/i386_sys_types.c:70
 msgid "Darwin UFS"
-msgstr ""
+msgstr "Darwin UFS"
 
 #: fdisk/i386_sys_types.c:71
 msgid "NetBSD"
@@ -3810,7 +3803,7 @@ msgstr "NetBSD"
 
 #: fdisk/i386_sys_types.c:72
 msgid "Darwin boot"
-msgstr ""
+msgstr "Darwin opstart"
 
 #: fdisk/i386_sys_types.c:73
 msgid "BSDI fs"
@@ -3826,7 +3819,7 @@ msgstr "Boot Wizard skjult"
 
 #: fdisk/i386_sys_types.c:76
 msgid "Solaris boot"
-msgstr ""
+msgstr "Solaris opstart"
 
 #: fdisk/i386_sys_types.c:77
 msgid "DRDOS/sec (FAT-12)"
@@ -4115,7 +4108,6 @@ msgstr ""
 "\n"
 
 #: fdisk/sfdisk.c:871
-#, fuzzy
 msgid "   Device Boot Start     End   #cyls    #blocks   Id  System\n"
 msgstr "   Enhed  Opst Start     Slut  #cyldr. #blokke   Id  System\n"
 
@@ -4129,9 +4121,8 @@ msgstr ""
 "\n"
 
 #: fdisk/sfdisk.c:878
-#, fuzzy
 msgid "   Device Boot    Start       End   #sectors  Id  System\n"
-msgstr "   Enhed  Opstart Start       Slut #sektorer Id  System\n"
+msgstr "   Enhed  Opstart Start       Slut  #sektorer Id  System\n"
 
 #: fdisk/sfdisk.c:881
 #, c-format
@@ -4143,9 +4134,8 @@ msgstr ""
 "\n"
 
 #: fdisk/sfdisk.c:883
-#, fuzzy
 msgid "   Device Boot   Start       End    #blocks   Id  System\n"
-msgstr "   Enhed  Opstrt Start       Slut  #blokke   Id  System\n"
+msgstr "   Enhed  Opstrt Start       Slut   #blokke   Id  System\n"
 
 #: fdisk/sfdisk.c:886
 #, c-format
@@ -4157,9 +4147,8 @@ msgstr ""
 "\n"
 
 #: fdisk/sfdisk.c:888
-#, fuzzy
 msgid "   Device Boot Start   End     MB    #blocks   Id  System\n"
-msgstr "   Enhed  Opst Start   End     MB   #blokke   Id  System\n"
+msgstr "   Enhed  Opst Start   End     M   #blokke   Id  System\n"
 
 #: fdisk/sfdisk.c:1048
 #, c-format
@@ -4181,13 +4170,13 @@ msgid "No partitions found\n"
 msgstr "Fandt ingen partitioner\n"
 
 #: fdisk/sfdisk.c:1072
-#, fuzzy, c-format
+#, c-format
 msgid ""
 "Warning: The partition table looks like it was made\n"
 "  for C/H/S=*/%ld/%ld (instead of %ld/%ld/%ld).\n"
 "For this listing I'll assume that geometry.\n"
 msgstr ""
-"Advarsel: Den første partition ser ud som om den var lavet\n"
+"Advarsel: Partitionstabellen ser ud som om den var lavet\n"
 "   til C/H/S=*/%ld/%ld (i stedet for %ld/%ld/%ld).\n"
 "I denne visning vil jeg gå ud fra denne geometri.\n"
 
@@ -5493,7 +5482,7 @@ msgid ""
 "device driver via the device special file %s.  This file does not exist on "
 "this system.\n"
 msgstr ""
-"For at manipulere epokeværdien i kernen, skal vi have adgang til Linux's "
+"For at manipulere epokeværdien i kernen, skal vi have adgang til Linux' "
 "maskinursenhed via enhedsspecialfilen '%s'. Denne fil eksisterer ikke på "
 "dette system.\n"
 
@@ -5756,7 +5745,7 @@ msgstr "
 msgid "Password error."
 msgstr "Fejl i adgangskode."
 
-#: login-utils/chfn.c:176 login-utils/chsh.c:167 login-utils/login.c:775
+#: login-utils/chfn.c:176 login-utils/chsh.c:167 login-utils/login.c:787
 #: login-utils/newgrp.c:48 login-utils/simpleinit.c:320 mount/lomount.c:248
 #: mount/lomount.c:253
 msgid "Password: "
@@ -5976,20 +5965,25 @@ msgstr ""
 "\n"
 "afbrudt %10.10s %5.5s \n"
 
-#: login-utils/login.c:402
+#: login-utils/login.c:264
+#, fuzzy, c-format
+msgid "FATAL: can't reopen tty: %s"
+msgstr "mount: kunne ikke åbne %s: %s"
+
+#: login-utils/login.c:413
 msgid "login: -h for super-user only.\n"
 msgstr "login: -h er kun for superbrugeren.\n"
 
-#: login-utils/login.c:429
+#: login-utils/login.c:440
 msgid "usage: login [-fp] [username]\n"
 msgstr "brug: login [-fp] [brugernavn]\n"
 
-#: login-utils/login.c:538
+#: login-utils/login.c:547
 #, c-format
 msgid "login: PAM Failure, aborting: %s\n"
 msgstr "login: PAM-fejl, afbryder: %s\n"
 
-#: login-utils/login.c:540
+#: login-utils/login.c:549
 #, c-format
 msgid "Couldn't initialize PAM: %s"
 msgstr "Kunne ikke klargøre PAM: %s"
@@ -6000,16 +5994,16 @@ msgstr "Kunne ikke klarg
 #. * PAM doesn't have an interface to specify the "Password: " string
 #. * (yet).
 #.
-#: login-utils/login.c:557
+#: login-utils/login.c:566
 msgid "login: "
 msgstr "login: "
 
-#: login-utils/login.c:597
+#: login-utils/login.c:606
 #, c-format
 msgid "FAILED LOGIN %d FROM %s FOR %s, %s"
 msgstr "MISLYKKET LOGIN %d FRA %s FOR %s, %s"
 
-#: login-utils/login.c:601
+#: login-utils/login.c:610
 msgid ""
 "Login incorrect\n"
 "\n"
@@ -6017,17 +6011,17 @@ msgstr ""
 "Login ugyldigt\n"
 "\n"
 
-#: login-utils/login.c:610
+#: login-utils/login.c:619
 #, c-format
 msgid "TOO MANY LOGIN TRIES (%d) FROM %s FOR %s, %s"
 msgstr "FOR MANGE LOGINFORSØG (%d) FRA %s FOR %s, %s"
 
-#: login-utils/login.c:614
+#: login-utils/login.c:623
 #, c-format
 msgid "FAILED LOGIN SESSION FROM %s FOR %s, %s"
 msgstr "MISLYKKET LOGINSESSION FRA %s FOR %s, %s"
 
-#: login-utils/login.c:618
+#: login-utils/login.c:627
 msgid ""
 "\n"
 "Login incorrect\n"
@@ -6035,7 +6029,7 @@ msgstr ""
 "\n"
 "Login ugyldigt\n"
 
-#: login-utils/login.c:639 login-utils/login.c:646 login-utils/login.c:678
+#: login-utils/login.c:649 login-utils/login.c:656 login-utils/login.c:690
 msgid ""
 "\n"
 "Session setup problem, abort.\n"
@@ -6043,44 +6037,44 @@ msgstr ""
 "\n"
 "Problem med sessions-opsætning, afbryder.\n"
 
-#: login-utils/login.c:640
+#: login-utils/login.c:650
 #, c-format
 msgid "NULL user name in %s:%d. Abort."
 msgstr "TOMT brugernavn i %s: %d. Afbryder."
 
-#: login-utils/login.c:647
+#: login-utils/login.c:657
 #, c-format
 msgid "Invalid user name \"%s\" in %s:%d. Abort."
 msgstr "Ugyldigt brugernavn \"%s\" i %s:%d. Afbryder."
 
-#: login-utils/login.c:664
+#: login-utils/login.c:676
 msgid "login: Out of memory\n"
 msgstr "login: Hukommelse opbrugt\n"
 
-#: login-utils/login.c:710
+#: login-utils/login.c:722
 msgid "Illegal username"
 msgstr "Ugyldigt brugernavn"
 
-#: login-utils/login.c:753
+#: login-utils/login.c:765
 #, c-format
 msgid "%s login refused on this terminal.\n"
 msgstr "%s login afvist på denne terminal.\n"
 
-#: login-utils/login.c:758
+#: login-utils/login.c:770
 #, c-format
 msgid "LOGIN %s REFUSED FROM %s ON TTY %s"
 msgstr "LOGIN %s AFVIST FRA %s PÅ TTY %s"
 
-#: login-utils/login.c:762
+#: login-utils/login.c:774
 #, c-format
 msgid "LOGIN %s REFUSED ON TTY %s"
 msgstr "LOGIN %s AFVIST PÅ TTY %s"
 
-#: login-utils/login.c:815
+#: login-utils/login.c:827
 msgid "Login incorrect\n"
 msgstr "Login ugyldigt\n"
 
-#: login-utils/login.c:837
+#: login-utils/login.c:849
 msgid ""
 "Too many users logged on already.\n"
 "Try again later.\n"
@@ -6088,77 +6082,82 @@ msgstr ""
 "For mange brugere er allerede logget på.\n"
 "Prøv igen senere.\n"
 
-#: login-utils/login.c:841
+#: login-utils/login.c:853
 msgid "You have too many processes running.\n"
 msgstr "Du har for mange processer kørende.\n"
 
-#: login-utils/login.c:1073
+#: login-utils/login.c:1077
 #, c-format
 msgid "DIALUP AT %s BY %s"
 msgstr "OPRINGNING KLOKKEN %s AF %s"
 
-#: login-utils/login.c:1080
+#: login-utils/login.c:1084
 #, c-format
 msgid "ROOT LOGIN ON %s FROM %s"
 msgstr "ROOT LOGIN PÅ %s FRA %s"
 
-#: login-utils/login.c:1083
+#: login-utils/login.c:1087
 #, c-format
 msgid "ROOT LOGIN ON %s"
 msgstr "ROOT LOGIN PÅ %s"
 
-#: login-utils/login.c:1086
+#: login-utils/login.c:1090
 #, c-format
 msgid "LOGIN ON %s BY %s FROM %s"
 msgstr "LOGIN PÅ %s AF %s FRA %s"
 
-#: login-utils/login.c:1089
+#: login-utils/login.c:1093
 #, c-format
 msgid "LOGIN ON %s BY %s"
 msgstr "LOGIN PÅ %s AF %s"
 
-#: login-utils/login.c:1101
+#: login-utils/login.c:1105
 msgid "You have new mail.\n"
 msgstr "Du har ny post.\n"
 
-#: login-utils/login.c:1103
+#: login-utils/login.c:1107
 msgid "You have mail.\n"
 msgstr "Du har post.\n"
 
 #. error in fork()
-#: login-utils/login.c:1129
+#: login-utils/login.c:1125
 #, c-format
 msgid "login: failure forking: %s"
 msgstr "login: mislykket forgrening: %s"
 
-#: login-utils/login.c:1151
+#: login-utils/login.c:1162
+#, c-format
+msgid "TIOCSCTTY failed: %m"
+msgstr ""
+
+#: login-utils/login.c:1168
 msgid "setuid() failed"
 msgstr "setuid() mislykkedes"
 
-#: login-utils/login.c:1157
+#: login-utils/login.c:1174
 #, c-format
 msgid "No directory %s!\n"
 msgstr "Intet katalog %s!\n"
 
-#: login-utils/login.c:1161
+#: login-utils/login.c:1178
 msgid "Logging in with home = \"/\".\n"
 msgstr "Logger ind med hjemmekatalog = \"/\".\n"
 
-#: login-utils/login.c:1169
+#: login-utils/login.c:1186
 msgid "login: no memory for shell script.\n"
 msgstr "login: ingen hukommelse for skal-skript.\n"
 
-#: login-utils/login.c:1196
+#: login-utils/login.c:1213
 #, c-format
 msgid "login: couldn't exec shell script: %s.\n"
 msgstr "login: kunne ikke køre skal-skript: %s.\n"
 
-#: login-utils/login.c:1199
+#: login-utils/login.c:1216
 #, c-format
 msgid "login: no shell: %s.\n"
 msgstr "login: ingen skal: %s.\n"
 
-#: login-utils/login.c:1214
+#: login-utils/login.c:1231
 #, c-format
 msgid ""
 "\n"
@@ -6167,62 +6166,62 @@ msgstr ""
 "\n"
 "%s login: "
 
-#: login-utils/login.c:1225
+#: login-utils/login.c:1242
 msgid "login name much too long.\n"
 msgstr "loginnavn alt for langt.\n"
 
-#: login-utils/login.c:1226
+#: login-utils/login.c:1243
 msgid "NAME too long"
 msgstr "for langt NAVN"
 
-#: login-utils/login.c:1233
+#: login-utils/login.c:1250
 msgid "login names may not start with '-'.\n"
 msgstr "loginnavne må ikke starte med '-'.\n"
 
-#: login-utils/login.c:1243
+#: login-utils/login.c:1260
 msgid "too many bare linefeeds.\n"
 msgstr "for mange tomme linjeskift,\n"
 
-#: login-utils/login.c:1244
+#: login-utils/login.c:1261
 msgid "EXCESSIVE linefeeds"
 msgstr "VOLDSOMT MANGE linjeskift"
 
-#: login-utils/login.c:1255
+#: login-utils/login.c:1272
 #, c-format
 msgid "Login timed out after %d seconds\n"
 msgstr "Login udløb efter %d sekunder\n"
 
-#: login-utils/login.c:1352
+#: login-utils/login.c:1369
 #, c-format
 msgid "Last login: %.*s "
 msgstr "Sidste login: %.*s "
 
-#: login-utils/login.c:1356
+#: login-utils/login.c:1373
 #, c-format
 msgid "from %.*s\n"
 msgstr "fra %.*s\n"
 
-#: login-utils/login.c:1359
+#: login-utils/login.c:1376
 #, c-format
 msgid "on %.*s\n"
 msgstr "på %.*s\n"
 
-#: login-utils/login.c:1379
+#: login-utils/login.c:1396
 #, c-format
 msgid "LOGIN FAILURE FROM %s, %s"
 msgstr "LOGINFEJL FRA %s, %s"
 
-#: login-utils/login.c:1382
+#: login-utils/login.c:1399
 #, c-format
 msgid "LOGIN FAILURE ON %s, %s"
 msgstr "LOGINFEJL på %s, %s"
 
-#: login-utils/login.c:1386
+#: login-utils/login.c:1403
 #, c-format
 msgid "%d LOGIN FAILURES FROM %s, %s"
 msgstr "%d LOGINFEJL fra %s, %s"
 
-#: login-utils/login.c:1389
+#: login-utils/login.c:1406
 #, c-format
 msgid "%d LOGIN FAILURES ON %s, %s"
 msgstr "%d LOGINFEJL PÅ %s, %s"
@@ -6727,9 +6726,8 @@ msgid "%s %d"
 msgstr "%s %d"
 
 #: misc-utils/cal.c:674
-#, fuzzy
 msgid "usage: cal [-13smjyV] [[month] year]\n"
-msgstr "brug: cal [-mjyV] [[måned] år]\n"
+msgstr "brug: cal [-13smjyV] [[måned] år]\n"
 
 #: misc-utils/ddate.c:205
 #, c-format
@@ -6839,7 +6837,7 @@ msgstr " ? problem ved l
 
 #: misc-utils/namei.c:256
 msgid "  *** EXCEEDED UNIX LIMIT OF SYMLINKS ***\n"
-msgstr "  *** OVERSKRED UNIX'S GRÆNSE FOR ANTALLET AF SYMBOLSKE LÆNKER ***\n"
+msgstr "  *** OVERSKRED UNIX' GRÆNSE FOR ANTALLET AF SYMBOLSKE LÆNKER ***\n"
 
 #: misc-utils/namei.c:293
 #, c-format
@@ -6862,13 +6860,13 @@ msgid "call: %s from to files...\n"
 msgstr "kald: %s fra til filer...\n"
 
 #: misc-utils/script.c:106
-#, fuzzy, c-format
+#, c-format
 msgid ""
 "Warning: `%s' is a link.\n"
 "Use `%s [options] %s' if you really want to use it.\n"
 "Script not started.\n"
 msgstr ""
-"Advarsel: '%s' er en symbolsk lænke.\n"
+"Advarsel: '%s' er en lænke.\n"
 "Brug '%s [tilvalg] %s', hvis du virkelig vil bruge den.\n"
 "Skript blev ikke startet.\n"
 
@@ -6879,12 +6877,12 @@ msgstr "brug: script [-a] [-f] [-q] [-t] [fil]\n"
 #: misc-utils/script.c:178
 #, c-format
 msgid "Script started, file is %s\n"
-msgstr "'script' startet, filen er %s\n"
+msgstr "Skript påbegyndt, filen er %s\n"
 
 #: misc-utils/script.c:254
 #, c-format
 msgid "Script started on %s"
-msgstr "'script' startet %s"
+msgstr "Skript påbegyndt på %s"
 
 #: misc-utils/script.c:325
 #, c-format
@@ -6893,12 +6891,12 @@ msgid ""
 "Script done on %s"
 msgstr ""
 "\n"
-"'script' færdig %s"
+"Skript kørt på %s"
 
 #: misc-utils/script.c:333
 #, c-format
 msgid "Script done, file is %s\n"
-msgstr "'script' færdig, filen er %s\n"
+msgstr "Skript færdigt, filen er %s\n"
 
 #: misc-utils/script.c:344
 msgid "openpty failed\n"
@@ -7435,7 +7433,7 @@ msgid "mount: can't open %s: %s"
 msgstr "mount: kunne ikke åbne %s: %s"
 
 #: mount/mount.c:656
-#, fuzzy, c-format
+#, c-format
 msgid "mount: cannot open %s for setting speed"
 msgstr "mount: kunne ikke åbne %s for at sætte hastigheden"
 
@@ -7665,7 +7663,6 @@ msgid "mount: %s already mounted on %s\n"
 msgstr "mount: %s er allerede monteret som %s\n"
 
 #: mount/mount.c:1324
-#, fuzzy
 msgid ""
 "Usage: mount -V                 : print version\n"
 "       mount -h                 : print this help\n"
@@ -7693,7 +7690,7 @@ msgstr ""
 "       mount -h                 : vis denne hjælp\n"
 "       mount                    : vis monterede filsystemer\n"
 "       mount -l                 : det samme, incl. mærkater\n"
-"Tilvalgene ovenfor giver information. De næste vedrører montering.\n"
+"Tilvalgene ovenfor giver oplysninger. De næste vedrører montering.\n"
 "Kommandoen lyder 'mount [-t fstype] noget et-sted'.\n"
 "Detaljer, der står i /etc/fstab, kan udelades.\n"
 "       mount -a                 : montér alt, der beskrives i /etc/fstab\n"
@@ -7704,6 +7701,8 @@ msgstr ""
 "det filsystem (af en given type), som findes på enheden.\n"
 "Man kan godt montere et allerede synligt katalog et andet sted:\n"
 "       mount --bind glkat nytkat\n"
+"eller flyt et undertræ:\n"
+"       mount --move glkat nytkat\n"
 "En enhed kan angives ved navn, f.eks. /dev/hda1 eller /dev/cdrom,\n"
 "eller ved mærkat med -L mærkat, eller ved uuid med -U uuid .\n"
 "Andre tilvalg: [-nfFrsvw] [-o tilvalg].\n"
@@ -7737,7 +7736,7 @@ msgstr "mount: kunne ikke finde %s i %s"
 msgid "mount: can't find %s in %s or %s"
 msgstr "mount: kunne ikke finde %s i %s eller %s"
 
-#: mount/mount_by_label.c:153
+#: mount/mount_by_label.c:169
 #, c-format
 msgid ""
 "mount: could not open %s, so UUID and LABEL conversion cannot be done.\n"
@@ -7745,14 +7744,13 @@ msgstr ""
 "mount: kunne ikke åbne %s, så UUID- og MÆRKE­konvertering kan ikke "
 "gennemføres.\n"
 
-#: mount/mount_by_label.c:257
+#: mount/mount_by_label.c:295
 msgid "mount: bad UUID"
 msgstr "mount: ugyldig UUID"
 
 #: mount/mount_guess_fstype.c:487
-#, fuzzy
 msgid "mount: error while guessing filesystem type\n"
-msgstr "mount: du skal angive filsystemtypen"
+msgstr "mount: fejl ved gæt af filsystemtype\n"
 
 #: mount/mount_guess_fstype.c:496
 #, c-format
@@ -7778,87 +7776,87 @@ msgstr "       Jeg vil fors
 msgid "Trying %s\n"
 msgstr "Forsøger %s\n"
 
-#: mount/nfsmount.c:231
+#: mount/nfsmount.c:237
 msgid "mount: excessively long host:dir argument\n"
 msgstr "mount: voldsomt langt 'vært:katalog'-parameter\n"
 
-#: mount/nfsmount.c:245
+#: mount/nfsmount.c:251
 msgid "mount: warning: multiple hostnames not supported\n"
 msgstr "mount: advarsel: angivelse af flere værtsnavne understøttes ikke\n"
 
-#: mount/nfsmount.c:250
+#: mount/nfsmount.c:256
 msgid "mount: directory to mount not in host:dir format\n"
 msgstr "mount: katalog, der monteres er ikke i formatet 'vært:katalog'\n"
 
-#: mount/nfsmount.c:261 mount/nfsmount.c:516
+#: mount/nfsmount.c:267 mount/nfsmount.c:522
 #, c-format
 msgid "mount: can't get address for %s\n"
 msgstr "mount: kunne ikke få adressen på %s\n"
 
-#: mount/nfsmount.c:267
+#: mount/nfsmount.c:273
 msgid "mount: got bad hp->h_length\n"
 msgstr "mount: fik ugyldig hp->h_length\n"
 
-#: mount/nfsmount.c:284
+#: mount/nfsmount.c:290
 msgid "mount: excessively long option argument\n"
 msgstr "mount: voldsomt langt tilvalgsparameter\n"
 
-#: mount/nfsmount.c:376
+#: mount/nfsmount.c:382
 msgid "Warning: Unrecognized proto= option.\n"
 msgstr "Advarsel: Ukendt proto= tilvalg.\n"
 
-#: mount/nfsmount.c:383
+#: mount/nfsmount.c:389
 msgid "Warning: Option namlen is not supported.\n"
 msgstr "Advarsel: Tilvalget 'namlen' understøttes ikke.\n"
 
-#: mount/nfsmount.c:387
+#: mount/nfsmount.c:393
 #, c-format
 msgid "unknown nfs mount parameter: %s=%d\n"
 msgstr "ukendt NFS-montageparameter: %s=%d\n"
 
-#: mount/nfsmount.c:421
+#: mount/nfsmount.c:427
 msgid "Warning: option nolock is not supported.\n"
 msgstr "Advarsel: tilvalget 'nolock' understøttes ikke.\n"
 
-#: mount/nfsmount.c:426
+#: mount/nfsmount.c:432
 #, c-format
 msgid "unknown nfs mount option: %s%s\n"
 msgstr "ukendt NFS-montageparameter: %s%s\n"
 
-#: mount/nfsmount.c:522
+#: mount/nfsmount.c:528
 msgid "mount: got bad hp->h_length?\n"
 msgstr "mount: fik ugyldig hp->h_length?\n"
 
-#: mount/nfsmount.c:710
+#: mount/nfsmount.c:716
 msgid "NFS over TCP is not supported.\n"
 msgstr "NFS via TCP understøttes ikke.\n"
 
-#: mount/nfsmount.c:717
+#: mount/nfsmount.c:723
 msgid "nfs socket"
 msgstr "NFS-sokkel"
 
-#: mount/nfsmount.c:721
+#: mount/nfsmount.c:727
 msgid "nfs bindresvport"
 msgstr "nfs bindresvport"
 
-#: mount/nfsmount.c:735
+#: mount/nfsmount.c:741
 msgid "nfs server reported service unavailable"
 msgstr "NFS-tjener angav, at tjenesten ikke var tilgængelig"
 
-#: mount/nfsmount.c:744
+#: mount/nfsmount.c:750
 msgid "used portmapper to find NFS port\n"
 msgstr "benyttede portmapper til at finde NFS-port\n"
 
-#: mount/nfsmount.c:748
+#: mount/nfsmount.c:754
 #, c-format
 msgid "using port %d for nfs deamon\n"
 msgstr "bruger port %d til NFS-dæmonen\n"
 
-#: mount/nfsmount.c:759
+#: mount/nfsmount.c:765
 msgid "nfs connect"
 msgstr "NFS-forbindelse"
 
-#: mount/nfsmount.c:846
+#: mount/nfsmount.c:852
 #, c-format
 msgid "unknown nfs status return value: %d"
 msgstr "ukendt NFS-statusværdi: %d"
@@ -7965,26 +7963,26 @@ msgstr "umount: %s: blokenheder tillades ikke p
 msgid "umount: %s: %s"
 msgstr "umount: %s: %s"
 
-#: mount/umount.c:285
+#: mount/umount.c:284
 msgid "no umount2, trying umount...\n"
 msgstr "ingen umount2, forsøger umount...\n"
 
-#: mount/umount.c:301
+#: mount/umount.c:300
 #, c-format
 msgid "could not umount %s - trying %s instead\n"
 msgstr "kunne ikke afmontere %s med umount - forsøger %s i stedet\n"
 
-#: mount/umount.c:319
+#: mount/umount.c:318
 #, c-format
 msgid "umount: %s busy - remounted read-only\n"
 msgstr "umount: %s optaget - genmonteret skrivebeskyttet\n"
 
-#: mount/umount.c:329
+#: mount/umount.c:328
 #, c-format
 msgid "umount: could not remount %s read-only\n"
 msgstr "umount: kunne ikke montere %s skrivebeskyttet\n"
 
-#: mount/umount.c:338
+#: mount/umount.c:337
 #, c-format
 msgid "%s umounted\n"
 msgstr "%s afmonteret\n"
@@ -8183,30 +8181,93 @@ msgstr "   %f tal/sek; %f flt (tegn/sek)\n"
 msgid "Usage: %s [-c] [-n level] [-s bufsize]\n"
 msgstr "Brug: %s [-c] [-n level] [-s bufstr.]\n"
 
-#: sys-utils/ipcrm.c:59
+#: sys-utils/ipcrm.c:66
 #, c-format
 msgid "invalid id: %s\n"
 msgstr "ugyldigt id: %s\n"
 
-#: sys-utils/ipcrm.c:77
+#: sys-utils/ipcrm.c:84
 #, c-format
 msgid "cannot remove id %s (%s)\n"
 msgstr "kunne ikke fjerne id %s (%s)\n"
 
-#: sys-utils/ipcrm.c:91
-#, c-format
-msgid "usage: %s {shm | msg | sem} id ...\n"
+#: sys-utils/ipcrm.c:99
+#, fuzzy, c-format
+msgid "deprecated usage: %s {shm | msg | sem} id ...\n"
 msgstr "brug: %s {shm | msg | sem} id ...\n"
 
-#: sys-utils/ipcrm.c:124
+#: sys-utils/ipcrm.c:126
 #, c-format
 msgid "unknown resource type: %s\n"
 msgstr "ukendt ressourcetype %s\n"
 
-#: sys-utils/ipcrm.c:128
+#: sys-utils/ipcrm.c:130
 msgid "resource(s) deleted\n"
 msgstr "ressource(r) slettet\n"
 
+#: sys-utils/ipcrm.c:140
+#, c-format
+msgid ""
+"usage: %s [ [-q msqid] [-m shmid] [-s semid]\n"
+"          [-Q msgkey] [-M shmkey] [-S semkey] ... ]\n"
+msgstr ""
+
+#: sys-utils/ipcrm.c:181
+#, c-format
+msgid "%s: illegal option -- %c\n"
+msgstr ""
+
+#: sys-utils/ipcrm.c:192
+#, fuzzy, c-format
+msgid "%s: illegal key (%s)\n"
+msgstr "Ugyldig tast"
+
+#: sys-utils/ipcrm.c:207 sys-utils/ipcrm.c:239
+#, fuzzy
+msgid "permission denied for key"
+msgstr "mount: adgang nægtet"
+
+#: sys-utils/ipcrm.c:210 sys-utils/ipcrm.c:249
+msgid "already removed key"
+msgstr ""
+
+#: sys-utils/ipcrm.c:213 sys-utils/ipcrm.c:244
+#, fuzzy
+msgid "invalid key"
+msgstr "ugyldigt id: %s\n"
+
+#: sys-utils/ipcrm.c:216 sys-utils/ipcrm.c:254
+msgid "unknown error in key"
+msgstr ""
+
+#: sys-utils/ipcrm.c:240
+#, fuzzy
+msgid "permission denied for id"
+msgstr "mount: adgang nægtet"
+
+#: sys-utils/ipcrm.c:245
+#, fuzzy
+msgid "invalid id"
+msgstr "ugyldigt id: %s\n"
+
+#: sys-utils/ipcrm.c:250
+msgid "already removed id"
+msgstr ""
+
+#: sys-utils/ipcrm.c:255
+msgid "unknown error in id"
+msgstr ""
+
+#: sys-utils/ipcrm.c:258
+#, fuzzy, c-format
+msgid "%s: %s (%s)\n"
+msgstr "%s på %s\n"
+
+#: sys-utils/ipcrm.c:266
+#, fuzzy, c-format
+msgid "%s: unknown argument: %s\n"
+msgstr "%s: ukendt signal %s\n"
+
 #: sys-utils/ipcs.c:122
 #, c-format
 msgid "usage : %s -asmq -tclup \n"
@@ -8821,8 +8882,8 @@ msgstr "      brug -R 1 for at montere skrivebeskyttet, -R 0 for skriveadgang."
 msgid "missing comma"
 msgstr "manglende komma"
 
-#: sys-utils/readprofile.c:58
-#, fuzzy, c-format
+#: sys-utils/readprofile.c:60
+#, c-format
 msgid ""
 "%s: Usage: \"%s [options]\n"
 "\t -m <mapfile>  (default = \"%s\")\n"
@@ -8843,38 +8904,39 @@ msgstr ""
 "\t -v                medtag flere detaljer\n"
 "\t -a                vis alle symboler, selvom tælleren er 0\n"
 "\t -r                nulstil alle tællere (kun root)\n"
+"\t -n                deaktivér automatisk bestemmelse af byterækkefølge\n"
 "\t -V                vis version og afslut\n"
 
-#: sys-utils/readprofile.c:81
+#: sys-utils/readprofile.c:83
 msgid "out of memory"
 msgstr "løbet tør for hukommelse"
 
-#: sys-utils/readprofile.c:142
+#: sys-utils/readprofile.c:144
 #, c-format
 msgid "%s Version %s\n"
 msgstr "%s Version %s\n"
 
-#: sys-utils/readprofile.c:226
+#: sys-utils/readprofile.c:228
 #, c-format
 msgid "Sampling_step: %i\n"
 msgstr "Sampling_step: %i\n"
 
-#: sys-utils/readprofile.c:239 sys-utils/readprofile.c:262
+#: sys-utils/readprofile.c:241 sys-utils/readprofile.c:265
 #, c-format
 msgid "%s: %s(%i): wrong map line\n"
 msgstr "%s: %s(%i): forkert oversigtlinje\n"
 
-#: sys-utils/readprofile.c:250
+#: sys-utils/readprofile.c:253
 #, c-format
 msgid "%s: can't find \"_stext\" in %s\n"
 msgstr "%s: kunne ikke finde \"_stext\" i %s\n"
 
-#: sys-utils/readprofile.c:273
+#: sys-utils/readprofile.c:276
 #, c-format
 msgid "%s: profile address out of range. Wrong map file?\n"
 msgstr "%s: profiladresse udenfor området. Forkert map-fil?\n"
 
-#: sys-utils/readprofile.c:299
+#: sys-utils/readprofile.c:304
 msgid "total"
 msgstr "total"
 
@@ -9024,11 +9086,10 @@ msgid "hexdump: bad skip value.\n"
 msgstr "hexdump: ugyldig oversprings-værdi.\n"
 
 #: text-utils/hexsyntax.c:131
-#, fuzzy
 msgid ""
 "hexdump: [-bcCdovx] [-e fmt] [-f fmt_file] [-n length] [-s skip] [file ...]\n"
 msgstr ""
-"hexdump: [-bcdovx] [-e fmt] [-f fmt_fil] [-n længde] [-s overspring] "
+"hexdump: [-bcCdovx] [-e fmt] [-f fmt_fil] [-n længde] [-s overspring] "
 "[fil ...]\n"
 
 #: text-utils/more.c:263
@@ -9249,18 +9310,3 @@ msgstr "For lang inddatalinje.\n"
 #: text-utils/ul.c:599
 msgid "Out of memory when growing buffer.\n"
 msgstr "Løb tør for hukommelse under forstørring af buffer.\n"
-
-#~ msgid "umount: only %s can unmount %s from %s"
-#~ msgstr "umount: kun %s kan afmontere %s fra %s"
-
-#~ msgid "'."
-#~ msgstr "'."
-
-#~ msgid "'\n"
-#~ msgstr "'\n"
-
-#~ msgid "Block %d in file `"
-#~ msgstr "Blok %d i filen '"
-
-#~ msgid "The directory '"
-#~ msgstr "Kataloget '"
index ab98491e6c16b2c10984ae3437b90e4ddc2db0cf..5e663f6ed361896a9e503731b43f00e8e1d55504 100644 (file)
--- a/po/de.po
+++ b/po/de.po
@@ -1,6 +1,6 @@
 # German translation for util-linux.
-# Copyright (C) 1999, 2000, 2001 Elrond <Elrond@Wunder-Nett.org>; Copyright (C) 2001 Karl Eichwalder.
-# Karl Eichwalder <ke@suse.de>, 2001.
+# Copyright (C) 1999, 2000, 2001 Elrond <Elrond@Wunder-Nett.org>; Copyright (C) 2001, 2002 Karl Eichwalder.
+# Karl Eichwalder <ke@suse.de>, 2001-2002.
 # Elrond <Elrond@Wunder-Nett.org>, 1999-2001.
 #
 # Note:
@@ -41,9 +41,9 @@
 #
 msgid ""
 msgstr ""
-"Project-Id-Version: util-linux 2.11l\n"
-"POT-Creation-Date: 2002-03-08 23:54+0100\n"
-"PO-Revision-Date: 2001-11-24 21:54+0100\n"
+"Project-Id-Version: util-linux 2.11o\n"
+"POT-Creation-Date: 2002-04-06 01:28+0200\n"
+"PO-Revision-Date: 2002-03-16 17:48+0100\n"
 "Last-Translator: Karl Eichwalder <ke@suse.de>\n"
 "Language-Team: German <de@li.org>\n"
 "MIME-Version: 1.0\n"
@@ -95,19 +95,18 @@ msgid "reread partition table"
 msgstr ""
 
 #: disk-utils/blockdev.c:98
-#, fuzzy
 msgid "Usage:\n"
-msgstr "Aufruf:"
+msgstr "Aufruf:\n"
 
 #: disk-utils/blockdev.c:100
 #, c-format
 msgid "  %s --report [devices]\n"
-msgstr ""
+msgstr "  %s --report [Geräte]\n"
 
 #: disk-utils/blockdev.c:101
-#, fuzzy, c-format
+#, c-format
 msgid "  %s [-v|-q] commands devices\n"
-msgstr "Aufruf: %s [-V] [-v|-q] Befehle Geräte\n"
+msgstr " %s [-V] [-v|-q] Befehle Geräte\n"
 
 #: disk-utils/blockdev.c:102
 msgid "Available commands:\n"
@@ -126,12 +125,12 @@ msgstr "%s erwartet ein Argument\n"
 #: disk-utils/blockdev.c:278
 #, c-format
 msgid "%s succeeded.\n"
-msgstr ""
+msgstr "%s erfolgreich beendet.\n"
 
 #: disk-utils/blockdev.c:296 disk-utils/blockdev.c:321
-#, fuzzy, c-format
+#, c-format
 msgid "%s: cannot open %s\n"
-msgstr "%s: Konnte %s nicht öffnen: %s\n"
+msgstr "%s: Konnte %s nicht öffnen\n"
 
 #: disk-utils/blockdev.c:338
 #, fuzzy, c-format
@@ -188,7 +187,7 @@ msgstr "Aufruf: %s [ -n ] Ger
 # "mkfs von util-linux-2.10d"
 #: disk-utils/fdformat.c:120 disk-utils/fsck.minix.c:1291
 #: disk-utils/isosize.c:179 disk-utils/mkfs.bfs.c:119 disk-utils/mkfs.c:55
-#: disk-utils/mkfs.minix.c:644 disk-utils/mkswap.c:452
+#: disk-utils/mkfs.minix.c:644 disk-utils/mkswap.c:457
 #: disk-utils/setfdprm.c:128 misc-utils/cal.c:246 misc-utils/ddate.c:181
 #: misc-utils/kill.c:188 misc-utils/rename.c:79 misc-utils/script.c:132
 #, c-format
@@ -257,22 +256,24 @@ msgstr ""
 #: disk-utils/fsck.minix.c:390
 #, c-format
 msgid "Read error: bad block in file '%s'\n"
-msgstr ""
+msgstr "Fehler beim Lesen: beschädigter Block in Datei »%s«\n"
 
 #: disk-utils/fsck.minix.c:405
 msgid ""
 "Internal error: trying to write bad block\n"
 "Write request ignored\n"
 msgstr ""
+"Interner Fehler: beim Versuch einen beschädigten Block zu schrieben\n"
+"Schreibanweisung übergangen\n"
 
 #: disk-utils/fsck.minix.c:411 disk-utils/mkfs.minix.c:285
 msgid "seek failed in write_block"
 msgstr ""
 
 #: disk-utils/fsck.minix.c:414
-#, fuzzy, c-format
+#, c-format
 msgid "Write error: bad block in file '%s'\n"
-msgstr "Fehler beim Schreiben auf %s\n"
+msgstr "Fehler beim Schreiben: beschädigter Block in Datei »%s«\n"
 
 #: disk-utils/fsck.minix.c:532
 msgid "seek failed in write_super_block"
@@ -390,20 +391,19 @@ msgstr ""
 "\n"
 
 #: disk-utils/fsck.minix.c:660 disk-utils/fsck.minix.c:712
-#, fuzzy, c-format
+#, c-format
 msgid "Inode %d marked unused, but used for file '%s'\n"
 msgstr ""
-"Inode %d ist als unbenutzt gekennzeichnet, aber die folgende\n"
-"Datei benutzt sie: '"
+"Inode %d ist als unbenutzt gekennzeichnet, aber Datei »%s« benutzt sie\n"
 
 #: disk-utils/fsck.minix.c:664 disk-utils/fsck.minix.c:716
 msgid "Mark in use"
 msgstr "Inode als benutzt kennzeichnen"
 
 #: disk-utils/fsck.minix.c:686 disk-utils/fsck.minix.c:736
-#, fuzzy, c-format
+#, c-format
 msgid "The file `%s' has mode %05o\n"
-msgstr "hat Mode %05o\n"
+msgstr "Die Datei »%s« hat Mode %05o\n"
 
 #: disk-utils/fsck.minix.c:693 disk-utils/fsck.minix.c:742
 msgid "Warning: inode count too big.\n"
@@ -416,7 +416,7 @@ msgstr "
 #: disk-utils/fsck.minix.c:779 disk-utils/fsck.minix.c:813
 #, c-format
 msgid "Block has been used before. Now in file `%s'."
-msgstr ""
+msgstr "Block wurde zuvor benutzt. Nun in Datei »%s«."
 
 #: disk-utils/fsck.minix.c:781 disk-utils/fsck.minix.c:815
 #: disk-utils/fsck.minix.c:1149 disk-utils/fsck.minix.c:1158
@@ -427,7 +427,7 @@ msgstr ""
 #: disk-utils/fsck.minix.c:791 disk-utils/fsck.minix.c:825
 #, c-format
 msgid "Block %d in file `%s' is marked not in use."
-msgstr ""
+msgstr "Block %d in Datei »%s« ist als unbenutzt markiert."
 
 #: disk-utils/fsck.minix.c:793 disk-utils/fsck.minix.c:827
 msgid "Correct"
@@ -467,9 +467,9 @@ msgid "internal error"
 msgstr "interner Fehler"
 
 #: disk-utils/fsck.minix.c:1105 disk-utils/fsck.minix.c:1124
-#, fuzzy, c-format
+#, c-format
 msgid "%s: bad directory: size < 32"
-msgstr "Rechner: %s, Verzeichnis: %s\n"
+msgstr ""
 
 #: disk-utils/fsck.minix.c:1138
 msgid "seek failed in bad_zone"
@@ -538,22 +538,22 @@ msgstr ""
 #: disk-utils/fsck.minix.c:1329
 #, c-format
 msgid "unable to open '%s'"
-msgstr "Konnte %s nicht öffnen"
+msgstr "Konnte »%s« nicht öffnen"
 
 #: disk-utils/fsck.minix.c:1344
 #, c-format
 msgid "%s is clean, no check.\n"
-msgstr ""
+msgstr "%s ist in Ordnung, keine Überprüfung.\n"
 
 #: disk-utils/fsck.minix.c:1348
 #, c-format
 msgid "Forcing filesystem check on %s.\n"
-msgstr ""
+msgstr "Überprüfung des Dateisystem auf %s erzwungen.\n"
 
 #: disk-utils/fsck.minix.c:1350
 #, c-format
 msgid "Filesystem on %s is dirty, needs checking.\n"
-msgstr ""
+msgstr "Dateisystem auf %s ist gestört (dirty), Überprüfung erforderlich.\n"
 
 #: disk-utils/fsck.minix.c:1379
 #, c-format
@@ -587,6 +587,9 @@ msgid ""
 "FILE SYSTEM HAS BEEN CHANGED\n"
 "----------------------------\n"
 msgstr ""
+"--------------------------\n"
+"DATEISYSTEM WURDE GEÄNDERT\n"
+"--------------------------\n"
 
 #: disk-utils/isosize.c:129
 #, c-format
@@ -601,7 +604,7 @@ msgstr ""
 #: disk-utils/isosize.c:141
 #, c-format
 msgid "%s: read error on %s\n"
-msgstr ""
+msgstr "%s: Fehler beim Lesen auf %s\n"
 
 #: disk-utils/isosize.c:150
 #, c-format
@@ -616,7 +619,7 @@ msgstr ""
 #: disk-utils/isosize.c:206
 #, c-format
 msgid "Usage: %s [-x] [-d <num>] iso9660-image\n"
-msgstr ""
+msgstr "Aufruf: %s [-x] [-d <Zahl>] iso9660-Image\n"
 
 #: disk-utils/mkfs.bfs.c:88
 #, c-format
@@ -627,7 +630,7 @@ msgstr ""
 
 #: disk-utils/mkfs.bfs.c:135
 msgid "volume name too long"
-msgstr ""
+msgstr "Volume-Name ist zu lang"
 
 #: disk-utils/mkfs.bfs.c:142
 msgid "fsname name too long"
@@ -660,12 +663,12 @@ msgstr ""
 
 #: disk-utils/mkfs.bfs.c:207
 msgid "too many inodes - max is 512"
-msgstr ""
+msgstr "zu viele Inodes - Maximum ist 512"
 
 #: disk-utils/mkfs.bfs.c:216
 #, c-format
 msgid "not enough space, need at least %lu blocks"
-msgstr ""
+msgstr "nicht genügend Platz; es werden wenigstens %lu Blöcke benötigt"
 
 #: disk-utils/mkfs.bfs.c:228 fdisk/fdisk.c:2025
 #, c-format
@@ -675,7 +678,7 @@ msgstr "Ger
 #: disk-utils/mkfs.bfs.c:229
 #, c-format
 msgid "Volume: <%-6s>\n"
-msgstr ""
+msgstr "Volume: <%-6s>\n"
 
 #: disk-utils/mkfs.bfs.c:230
 #, c-format
@@ -690,17 +693,17 @@ msgstr ""
 #: disk-utils/mkfs.bfs.c:233
 #, c-format
 msgid "Inodes: %d (in 1 block)\n"
-msgstr ""
+msgstr "Inodes: %d (in 1 Block)\n"
 
 #: disk-utils/mkfs.bfs.c:236
 #, c-format
 msgid "Inodes: %d (in %ld blocks)\n"
-msgstr ""
+msgstr "Inodes: %d (in %ld Blöcken)\n"
 
 #: disk-utils/mkfs.bfs.c:238
 #, c-format
 msgid "Blocks: %ld\n"
-msgstr ""
+msgstr "Blöcke: %ld\n"
 
 #: disk-utils/mkfs.bfs.c:239
 #, c-format
@@ -783,7 +786,7 @@ msgstr ""
 
 #: disk-utils/mkfs.minix.c:278
 msgid "unable to write inodes"
-msgstr ""
+msgstr "Fehler beim Schreiben der Inodes"
 
 #: disk-utils/mkfs.minix.c:287
 msgid "write failed in write_block"
@@ -822,7 +825,7 @@ msgstr ""
 msgid "Weird values in do_check: probably bugs\n"
 msgstr ""
 
-#: disk-utils/mkfs.minix.c:583 disk-utils/mkswap.c:362
+#: disk-utils/mkfs.minix.c:583 disk-utils/mkswap.c:368
 msgid "seek failed in check_blocks"
 msgstr ""
 
@@ -882,66 +885,66 @@ msgstr ""
 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:316
+#: disk-utils/mkswap.c:322
 #, c-format
 msgid "Usage: %s [-c] [-v0|-v1] [-pPAGESZ] /dev/name [blocks]\n"
 msgstr "Aufruf: %s [-c] [-v0|-v1] [-pSEITENGRÖSSE] /dev/Name [Größe in kB]\n"
 
-#: disk-utils/mkswap.c:339
+#: disk-utils/mkswap.c:345
 msgid "too many bad pages"
 msgstr "Zu viele beschädigte »Seiten«"
 
-#: disk-utils/mkswap.c:353 misc-utils/look.c:182 misc-utils/setterm.c:1130
+#: disk-utils/mkswap.c:359 misc-utils/look.c:182 misc-utils/setterm.c:1130
 #: text-utils/more.c:1934 text-utils/more.c:1945
 msgid "Out of memory"
 msgstr "Speicher ist aufgebraucht"
 
-#: disk-utils/mkswap.c:370
+#: disk-utils/mkswap.c:376
 msgid "one bad page\n"
 msgstr "Eine beschädigte »Seite«\n"
 
-#: disk-utils/mkswap.c:372
+#: disk-utils/mkswap.c:378
 #, c-format
 msgid "%d bad pages\n"
 msgstr "%d beschädigte »Seiten«\n"
 
-#: disk-utils/mkswap.c:492
+#: disk-utils/mkswap.c:497
 #, c-format
 msgid "%s: error: Nowhere to set up swap on?\n"
 msgstr ""
 "%s: Es wurde nicht angegeben, wo der Swapbereich angelegt werden soll.\n"
 
-#: disk-utils/mkswap.c:510
+#: disk-utils/mkswap.c:515
 #, 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"
 
-#: disk-utils/mkswap.c:529
+#: disk-utils/mkswap.c:534
 #, c-format
 msgid "%s: error: unknown version %d\n"
 msgstr "%s: Fehler: unbekannte Version %d\n"
 
-#: disk-utils/mkswap.c:535
+#: disk-utils/mkswap.c:540
 #, c-format
 msgid "%s: error: swap area needs to be at least %ldkB\n"
 msgstr "%s: Fehler: Der Swapbereich muss mindestens %ldkB groß sein\n"
 
-#: disk-utils/mkswap.c:554
+#: disk-utils/mkswap.c:559
 #, 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"
 
-#: disk-utils/mkswap.c:566
+#: disk-utils/mkswap.c:571
 #, c-format
 msgid "Will not try to make swapdevice on '%s'"
 msgstr "Es wird nicht versucht, Swap auf '%s' anzulegen"
 
-#: disk-utils/mkswap.c:575 disk-utils/mkswap.c:596
+#: disk-utils/mkswap.c:580 disk-utils/mkswap.c:601
 msgid "fatal: first page unreadable"
 msgstr ""
 
-#: disk-utils/mkswap.c:581
+#: disk-utils/mkswap.c:586
 #, c-format
 msgid ""
 "%s: Device '%s' contains a valid Sun disklabel.\n"
@@ -955,24 +958,24 @@ msgstr ""
 "Es wird kein Swapbereich angelegt. Wenn Sie wirklich einen Swapbereich\n"
 "anlegen wollen, so benutzen Sie die -f Option.\n"
 
-#: disk-utils/mkswap.c:605
+#: disk-utils/mkswap.c:610
 msgid "Unable to set up swap-space: unreadable"
 msgstr ""
 
-#: disk-utils/mkswap.c:606
-#, c-format
-msgid "Setting up swapspace version %d, size = %ld bytes\n"
+#: disk-utils/mkswap.c:611
+#, fuzzy, c-format
+msgid "Setting up swapspace version %d, size = %lu bytes\n"
 msgstr "Swapbereich Version %d mit der Größe %ld Bytes wird angelegt\n"
 
-#: disk-utils/mkswap.c:612
+#: disk-utils/mkswap.c:617
 msgid "unable to rewind swap-device"
 msgstr ""
 
-#: disk-utils/mkswap.c:615
+#: disk-utils/mkswap.c:620
 msgid "unable to write signature page"
 msgstr ""
 
-#: disk-utils/mkswap.c:623
+#: disk-utils/mkswap.c:628
 msgid "fsync failed"
 msgstr ""
 
@@ -1026,18 +1029,16 @@ msgid "Linux ext2"
 msgstr "Linux ext2"
 
 #: fdisk/cfdisk.c:405
-#, fuzzy
 msgid "Linux ext3"
-msgstr "Linux ext2"
+msgstr "Linux ext3"
 
 #: fdisk/cfdisk.c:407
 msgid "Linux XFS"
 msgstr "Linux XFS"
 
 #: fdisk/cfdisk.c:409
-#, fuzzy
 msgid "Linux ReiserFS"
-msgstr "Linux XFS"
+msgstr "Linux ReiserFS"
 
 #. also Solaris
 #: fdisk/cfdisk.c:411 fdisk/i386_sys_types.c:57
@@ -1293,10 +1294,10 @@ msgstr ""
 
 # This one isn't realy correct.
 #: fdisk/cfdisk.c:1844
-#, fuzzy
 msgid "No primary partitions are marked bootable. DOS MBR cannot boot this."
 msgstr ""
-"Mehrere Partitionen sind als bootbar markiert, der DOS MBR kann nicht booten."
+"Keine primäre Partition ist als bootbar markiert; der DOS MBR kann so nicht "
+"booten."
 
 # This one isn't realy correct.
 #: fdisk/cfdisk.c:1846
@@ -1315,7 +1316,7 @@ msgstr "Dateiname oder Return um es auf dem Bildschirm anzuzeigen: "
 #: fdisk/cfdisk.c:1913 fdisk/cfdisk.c:2031 fdisk/cfdisk.c:2115
 #, c-format
 msgid "Cannot open file '%s'"
-msgstr "Konnte %s nicht öffnen"
+msgstr "Konnte »%s« nicht öffnen"
 
 #: fdisk/cfdisk.c:1924
 #, c-format
@@ -1407,12 +1408,10 @@ msgid "-- ----- ---- ---- ---- ---- ---- ---- ---- -------- ---------\n"
 msgstr "-- ----- ---- ---- ---- ---- ---- ---- ---- -------- ---------\n"
 
 #: fdisk/cfdisk.c:2164
-#, fuzzy
 msgid "Raw"
 msgstr "\"Roh\""
 
 #: fdisk/cfdisk.c:2164
-#, fuzzy
 msgid "Print the table using raw data format"
 msgstr "Die \"rohen\" Daten der Tabelle ausgeben"
 
@@ -1691,14 +1690,14 @@ msgid "Disk Drive: %s"
 msgstr "Festplatte: %s"
 
 #: fdisk/cfdisk.c:2576
-#, fuzzy, c-format
+#, c-format
 msgid "Size: %lld bytes, %ld MB"
-msgstr "Größe: %lld Bytes"
+msgstr "Größe: %lld Bytes, %ld MB"
 
 #: fdisk/cfdisk.c:2579
-#, fuzzy, c-format
+#, c-format
 msgid "Size: %lld bytes, %ld.%ld GB"
-msgstr "Größe: %lld Bytes"
+msgstr "Größe: %lld Bytes, %ld,%ld GB"
 
 #: fdisk/cfdisk.c:2583
 #, c-format
@@ -1813,7 +1812,7 @@ msgstr "Typ"
 
 #: fdisk/cfdisk.c:2662
 msgid "Change the filesystem type (DOS, Linux, OS/2 and so on)"
-msgstr "Den Dateisystemtyp (DOS, Linux, OS/2, etc.)"
+msgstr "Den Typ des Dateisystems (DOS, Linux, OS/2, etc.) ändern"
 
 # Maybe without the dot.
 #: fdisk/cfdisk.c:2663
@@ -1909,7 +1908,6 @@ msgstr ""
 "\n"
 
 #: fdisk/fdisk.c:193
-#, fuzzy
 msgid ""
 "Usage: fdisk [-b SSZ] [-u] DISK     Change partition table\n"
 "       fdisk -l [-b SSZ] [-u] DISK  List partition table(s)\n"
@@ -1920,16 +1918,16 @@ msgid ""
 "-u: give Start and End in sector (instead of cylinder) units\n"
 "-b 2048: (for certain MO disks) use 2048-byte sectors\n"
 msgstr ""
-"Aufruf: fdisk [-b SSZ] [-u] Festplatte     Partitionstabelle bearbeiten\n"
-"        fdisk -l [-b SSZ] [-u] Festplatte  Partitionstabelle ausgeben\n"
-"        fdisk -s Partition                 Größe einer Partition in Blöcken\n"
+"Aufruf: fdisk [-b SSZ] [-u] FESTPLATTE     Partitionstabelle bearbeiten\n"
+"        fdisk -l [-b SSZ] [-u] FESTPLATTE  Partitionstabelle(n) ausgeben\n"
+"        fdisk -s PARTITION                 Größe einer Partition in Blöcken\n"
 "        fdisk -v                           Version anzeigen\n"
 "\n"
-"Festplatte ist zum Beispiel /dev/hda oder /dev/sda\n"
-"Partition ist zum Beispiel /dev/hda7\n"
+"FESTPLATTE ist zum Beispiel /dev/hda oder /dev/sda\n"
+"PARTITION ist zum Beispiel /dev/hda7\n"
 "\n"
-"-u: Anfang und Ende werden in Sektoren statt in Zylindern angegeben\n"
-"-b 2048: (bestimmte MO-Geräte) benutze 2048 Byte Sektoren\n"
+"-u: \"Anfang\" und \"Ende\" werden in Sektoren statt in Zylindern angegeben\n"
+"-b 2048: (für bestimmte MO-Geräte) 2048-Byte-Sektoren benutzen\n"
 
 #: fdisk/fdisk.c:205
 msgid ""
@@ -2152,7 +2150,7 @@ msgstr ""
 
 #: fdisk/fdisk.c:558
 msgid "You must set"
-msgstr ""
+msgstr "Sie müssen angeben"
 
 #: fdisk/fdisk.c:572
 msgid "heads"
@@ -2230,13 +2228,12 @@ 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:871
-#, fuzzy
 msgid ""
 "Device contains neither a valid DOS partition table, nor Sun, SGI or OSF "
 "disklabel\n"
 msgstr ""
 "Das Gerät enthält weder eine gültige DOS-Partitionstabelle,\n"
-"noch einen Sun oder »SGI disklabel«\n"
+"noch einen »Sun«, »SGI« oder »OSF disklabel«\n"
 
 #: fdisk/fdisk.c:888
 msgid "Internal error\n"
@@ -2245,7 +2242,7 @@ msgstr "Interner Fehler\n"
 #: fdisk/fdisk.c:910
 #, 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 ignorieren\n"
 
 #: fdisk/fdisk.c:922
 #, c-format
@@ -2389,7 +2386,7 @@ msgstr "Partition %i endet nicht an einer Zylindergrenze:\n"
 #: fdisk/fdisk.c:1355
 #, c-format
 msgid "should be (%d, %d, %d)\n"
-msgstr ""
+msgstr "sollte sein (%d, %d, %d)\n"
 
 #: fdisk/fdisk.c:1362
 #, c-format
@@ -2977,7 +2974,7 @@ msgstr "Diese Partition existiert bereits.\n"
 #: fdisk/fdiskbsdlabel.c:746
 #, c-format
 msgid "Warning: too many partitions (%d, maximum is %d).\n"
-msgstr ""
+msgstr "Warnung: zu viele Partitionen (%d, Maximum ist %d).\n"
 
 #: fdisk/fdiskbsdlabel.c:793
 msgid ""
@@ -3458,7 +3455,7 @@ msgid ""
 msgstr ""
 
 #: fdisk/fdisksunlabel.c:670
-#, fuzzy, c-format
+#, c-format
 msgid ""
 "\n"
 "Disk %s (Sun disk label): %d heads, %d sectors, %d cylinders\n"
@@ -3796,9 +3793,8 @@ msgstr ""
 
 #. Dell PowerEdge Server utilities
 #: fdisk/i386_sys_types.c:85
-#, fuzzy
 msgid "BootIt"
-msgstr "Boot"
+msgstr "BootIt"
 
 #. BootIt EMBRM
 #: fdisk/i386_sys_types.c:86
@@ -3863,10 +3859,9 @@ msgid "out of memory - giving up\n"
 msgstr "Speicher ist aufgebraucht - Abbruch\n"
 
 #: fdisk/sfdisk.c:208 fdisk/sfdisk.c:291
-#, fuzzy, c-format
+#, c-format
 msgid "read error on %s - cannot read sector %lu\n"
-msgstr ""
-"Fehler beim Lesen von %s - der Sektor %lu konnte nicht gelesen werden\n"
+msgstr "Fehler beim Lesen von %s - Sektor %lu konnte nicht gelesen werden\n"
 
 #: fdisk/sfdisk.c:226
 #, c-format
@@ -3874,7 +3869,7 @@ msgid "ERROR: sector %lu does not have an msdos signature\n"
 msgstr ""
 
 #: fdisk/sfdisk.c:241
-#, fuzzy, c-format
+#, c-format
 msgid "write error on %s - cannot write sector %lu\n"
 msgstr ""
 "Fehler beim Schreiben auf %s - der Sektor %lu konnte nicht geschrieben "
@@ -3964,14 +3959,13 @@ msgid ""
 msgstr ""
 
 #: fdisk/sfdisk.c:457
-#, fuzzy, c-format
+#, c-format
 msgid ""
 "\n"
 "Disk %s: %lu cylinders, %lu heads, %lu sectors/track\n"
 msgstr ""
 "\n"
 "Festplatte %s: %lu Zylinder, %lu Köpfe, %lu Sektoren/Spur\n"
-"\n"
 
 #: fdisk/sfdisk.c:539
 #, c-format
@@ -4190,15 +4184,15 @@ msgid "Warning: partition %s does not end at a cylinder boundary\n"
 msgstr "Warnung: Partition %s endet nicht an einer Zylindergrenze\n"
 
 #: fdisk/sfdisk.c:1246
-#, 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"
+"Dies spielt bei LILO keine Rolle, aber der DOS MBR wird diese Festplatte "
+"nicht\n"
+"booten.\n"
 
 #: fdisk/sfdisk.c:1253
 msgid ""
@@ -4311,7 +4305,7 @@ msgstr ""
 
 #: fdisk/sfdisk.c:1751
 msgid "number too big\n"
-msgstr ""
+msgstr "Zahl zu groß\n"
 
 #: fdisk/sfdisk.c:1755
 msgid "trailing junk after number\n"
@@ -4332,7 +4326,7 @@ msgstr ""
 #. no free blocks left - don't read any further
 #: fdisk/sfdisk.c:1994
 msgid "No room for more\n"
-msgstr ""
+msgstr "Für mehr kein Platz\n"
 
 #: fdisk/sfdisk.c:2013
 msgid "Illegal type\n"
@@ -4567,9 +4561,9 @@ msgstr "%s: OK\n"
 
 # And again one for show_geometry()...
 #: fdisk/sfdisk.c:2658
-#, fuzzy, c-format
+#, c-format
 msgid "%s: %ld cylinders, %ld heads, %ld sectors/track\n"
-msgstr "%s: %d Zylinder, %d Köpfe, %d Sektoren/Spur\n"
+msgstr "%s: %ld Zylinder, %ld Köpfe, %ld Sektoren/Spur\n"
 
 #: fdisk/sfdisk.c:2675
 #, c-format
@@ -4710,7 +4704,6 @@ msgid "empty long option after -l or --long argument"
 msgstr ""
 
 #: getopt-1.1.2/getopt.c:319
-#, fuzzy
 msgid "unknown shell after -s or --shell argument"
 msgstr "Unbekannte Shell als Argument von -s oder --shell"
 
@@ -4719,7 +4712,6 @@ msgid "Usage: getopt optstring parameters\n"
 msgstr "Aufruf: getopt Optionszeichenkette Parameter\n"
 
 #: getopt-1.1.2/getopt.c:325
-#, fuzzy
 msgid "       getopt [options] [--] optstring parameters\n"
 msgstr "       getopt [Optionen] [--] Optionszeichenkette Parameter\n"
 
@@ -4782,9 +4774,8 @@ msgid "missing optstring argument"
 msgstr ""
 
 #: getopt-1.1.2/getopt.c:441
-#, fuzzy
 msgid "getopt (enhanced) 1.1.2\n"
-msgstr "getopt (enhanced) 1.0.3\n"
+msgstr "getopt (enhanced) 1.1.2\n"
 
 #: getopt-1.1.2/getopt.c:447
 msgid "internal error, contact the author."
@@ -4867,18 +4858,18 @@ msgstr "(Erwartet: 
 
 # XXX
 #: hwclock/hwclock.c:308
-#, fuzzy, c-format
+#, c-format
 msgid "Last drift adjustment done at %ld seconds after 1969\n"
-msgstr "Letzte Abweichungskorrektur vorgenommen bei %d Sekunden nach 1969\n"
+msgstr "Letzte Abweichungskorrektur vorgenommen bei %ld Sekunden nach 1969\n"
 
 # XXX
 #: hwclock/hwclock.c:310
-#, fuzzy, c-format
+#, c-format
 msgid "Last calibration done at %ld seconds after 1969\n"
-msgstr "Letzte Kalibrierung vorgenommen bei %d Sekunden nach 1969\n"
+msgstr "Letzte Kalibrierung vorgenommen bei %ld Sekunden nach 1969\n"
 
 #: hwclock/hwclock.c:312
-#, fuzzy, c-format
+#, c-format
 msgid "Hardware clock is on %s time\n"
 msgstr "Hardwareuhr geht nach %s Zeit\n"
 
@@ -4933,9 +4924,9 @@ msgid "Time read from Hardware Clock: %4d/%.2d/%.2d %02d:%02d:%02d\n"
 msgstr "Zeit gelesen aus Hardwareuhr: %4d/%.2d/%.2d %02d:%02d:%02d\n"
 
 #: hwclock/hwclock.c:454
-#, fuzzy, c-format
+#, c-format
 msgid "Setting Hardware Clock to %.2d:%.2d:%.2d = %ld seconds since 1969\n"
-msgstr "Stelle die Hardwareuhr auf %.2d:%.2d:%.2d = %d Sekunden seit 1969\n"
+msgstr "Stelle die Hardwareuhr auf %.2d:%.2d:%.2d = %ld Sekunden seit 1969\n"
 
 #: hwclock/hwclock.c:460
 msgid "Clock not changed - testing only.\n"
@@ -5033,9 +5024,9 @@ msgstr ""
 
 # Egger, fixed %s->%d
 #: hwclock/hwclock.c:634
-#, fuzzy, c-format
+#, c-format
 msgid "date string %s equates to %ld seconds since 1969.\n"
-msgstr "Die Zeichenkette %s entspricht %d Sekunden seit 1969.\n"
+msgstr "Die Zeichenkette %s entspricht %ld Sekunden seit 1969.\n"
 
 #: hwclock/hwclock.c:666
 msgid ""
@@ -5065,9 +5056,8 @@ msgid "\ttz.tz_minuteswest = %d\n"
 msgstr "\ttz.tz_minuteswest = %d\n"
 
 #: hwclock/hwclock.c:694
-#, fuzzy
 msgid "Not setting system clock because running in test mode.\n"
-msgstr "Keine Änderung an der Systemuhr vorgenommen - Testmodus \n"
+msgstr "Keine Änderung an der Systemuhr vorgenommen - Testmodus.\n"
 
 #: hwclock/hwclock.c:702
 #, fuzzy
@@ -5360,18 +5350,17 @@ msgstr ""
 "auszulesen."
 
 #: hwclock/kd.c:92
-#, fuzzy, c-format
+#, c-format
 msgid "ioctl() failed to read time from %s"
-msgstr "ioctl() konnte Zeit nicht von /dev/tty1 lesen."
+msgstr "ioctl() konnte Zeit nicht von %s lesen."
 
 #: hwclock/kd.c:128
 msgid "ioctl KDSHWCLK failed"
 msgstr ""
 
 #: hwclock/kd.c:165
-#, fuzzy
 msgid "Can't open /dev/tty1 or /dev/vc/1"
-msgstr "Konnte /dev/tty1 nicht öffnen"
+msgstr "Konnte /dev/tty1 oder /dev/vc/1 nicht öffnen"
 
 #: hwclock/kd.c:170
 msgid "KDGHWCLK ioctl failed"
@@ -5701,7 +5690,7 @@ msgstr ""
 msgid "Password error."
 msgstr ""
 
-#: login-utils/chfn.c:176 login-utils/chsh.c:167 login-utils/login.c:775
+#: login-utils/chfn.c:176 login-utils/chsh.c:167 login-utils/login.c:787
 #: login-utils/newgrp.c:48 login-utils/simpleinit.c:320 mount/lomount.c:248
 #: mount/lomount.c:253
 msgid "Password: "
@@ -5759,27 +5748,26 @@ msgid "Finger information changed.\n"
 msgstr ""
 
 #: login-utils/chfn.c:493 login-utils/chsh.c:393 sys-utils/cytune.c:327
-#, fuzzy
 msgid "malloc failed"
 msgstr "»malloc« schlug fehl"
 
 #: login-utils/chsh.c:130
 #, c-format
 msgid "%s: Your shell is not in /etc/shells, shell change denied\n"
-msgstr ""
+msgstr "%s: Ihre Shell fehlt in /etc/shells, Shell ändern ist fehlgeschlagen\n"
 
 #: login-utils/chsh.c:137
 #, c-format
 msgid "Changing shell for %s.\n"
-msgstr ""
+msgstr "Shell für %s ändern.\n"
 
 #: login-utils/chsh.c:178
 msgid "New shell"
-msgstr ""
+msgstr "Neue Shell"
 
 #: login-utils/chsh.c:185
 msgid "Shell not changed.\n"
-msgstr ""
+msgstr "Shell nicht geändert.\n"
 
 #: login-utils/chsh.c:192
 msgid "Shell *NOT* changed.  Try again later.\n"
@@ -5787,7 +5775,7 @@ msgstr ""
 
 #: login-utils/chsh.c:195
 msgid "Shell changed.\n"
-msgstr ""
+msgstr "Shell geändert.\n"
 
 #: login-utils/chsh.c:260
 #, c-format
@@ -5846,14 +5834,13 @@ msgstr ""
 #: login-utils/chsh.c:340
 #, c-format
 msgid "Use %s -l to see list.\n"
-msgstr ""
+msgstr "Rufen Sie »%s -l« auf, um die Liste zu sehen.\n"
 
 #: login-utils/chsh.c:360
 msgid "No known shells.\n"
 msgstr ""
 
 #: login-utils/cryptocard.c:68
-#, fuzzy
 msgid "couldn't open /dev/urandom"
 msgstr "Konnte /dev/urandom nicht öffnen"
 
@@ -5862,7 +5849,7 @@ msgid "couldn't read random data from /dev/urandom"
 msgstr ""
 
 #: login-utils/cryptocard.c:96
-#, fuzzy, c-format
+#, c-format
 msgid "can't open %s for reading"
 msgstr "Konnte %s nicht zum Lesen öffnen"
 
@@ -5916,20 +5903,25 @@ msgid ""
 "interrupted %10.10s %5.5s \n"
 msgstr ""
 
-#: login-utils/login.c:402
+#: login-utils/login.c:264
+#, fuzzy, c-format
+msgid "FATAL: can't reopen tty: %s"
+msgstr "mount: Konnte %s nicht öffnen: %s"
+
+#: login-utils/login.c:413
 msgid "login: -h for super-user only.\n"
 msgstr ""
 
-#: login-utils/login.c:429
+#: login-utils/login.c:440
 msgid "usage: login [-fp] [username]\n"
 msgstr "Aufruf: login [-fp] [Benutzername]\n"
 
-#: login-utils/login.c:538
+#: login-utils/login.c:547
 #, c-format
 msgid "login: PAM Failure, aborting: %s\n"
 msgstr ""
 
-#: login-utils/login.c:540
+#: login-utils/login.c:549
 #, c-format
 msgid "Couldn't initialize PAM: %s"
 msgstr ""
@@ -5940,160 +5932,162 @@ msgstr ""
 #. * PAM doesn't have an interface to specify the "Password: " string
 #. * (yet).
 #.
-#: login-utils/login.c:557
+#: login-utils/login.c:566
 msgid "login: "
 msgstr "Anmeldung: "
 
-#: login-utils/login.c:597
+#: login-utils/login.c:606
 #, c-format
 msgid "FAILED LOGIN %d FROM %s FOR %s, %s"
 msgstr ""
 
-#: login-utils/login.c:601
+#: login-utils/login.c:610
 msgid ""
 "Login incorrect\n"
 "\n"
 msgstr ""
 
-#: login-utils/login.c:610
+#: login-utils/login.c:619
 #, c-format
 msgid "TOO MANY LOGIN TRIES (%d) FROM %s FOR %s, %s"
 msgstr ""
 
-#: login-utils/login.c:614
+#: login-utils/login.c:623
 #, c-format
 msgid "FAILED LOGIN SESSION FROM %s FOR %s, %s"
 msgstr ""
 
-#: login-utils/login.c:618
+#: login-utils/login.c:627
 msgid ""
 "\n"
 "Login incorrect\n"
 msgstr ""
 
-#: login-utils/login.c:639 login-utils/login.c:646 login-utils/login.c:678
+#: login-utils/login.c:649 login-utils/login.c:656 login-utils/login.c:690
 msgid ""
 "\n"
 "Session setup problem, abort.\n"
 msgstr ""
 
-#: login-utils/login.c:640
+#: login-utils/login.c:650
 #, c-format
 msgid "NULL user name in %s:%d. Abort."
 msgstr ""
 
-#: login-utils/login.c:647
+#: login-utils/login.c:657
 #, c-format
 msgid "Invalid user name \"%s\" in %s:%d. Abort."
 msgstr ""
 
-#: login-utils/login.c:664
-#, fuzzy
+#: login-utils/login.c:676
 msgid "login: Out of memory\n"
-msgstr "%s: Speicher ist alle!\n"
+msgstr "login: Speicher ist alle!\n"
 
-#: login-utils/login.c:710
+#: login-utils/login.c:722
 msgid "Illegal username"
 msgstr ""
 
-#: login-utils/login.c:753
+#: login-utils/login.c:765
 #, c-format
 msgid "%s login refused on this terminal.\n"
 msgstr ""
 
-#: login-utils/login.c:758
+#: login-utils/login.c:770
 #, c-format
 msgid "LOGIN %s REFUSED FROM %s ON TTY %s"
 msgstr ""
 
-#: login-utils/login.c:762
+#: login-utils/login.c:774
 #, c-format
 msgid "LOGIN %s REFUSED ON TTY %s"
 msgstr ""
 
-#: login-utils/login.c:815
+#: login-utils/login.c:827
 msgid "Login incorrect\n"
 msgstr ""
 
-#: login-utils/login.c:837
+#: login-utils/login.c:849
 msgid ""
 "Too many users logged on already.\n"
 "Try again later.\n"
 msgstr ""
 
-#: login-utils/login.c:841
+#: login-utils/login.c:853
 msgid "You have too many processes running.\n"
 msgstr ""
 
-#: login-utils/login.c:1073
+#: login-utils/login.c:1077
 #, c-format
 msgid "DIALUP AT %s BY %s"
 msgstr ""
 
-#: login-utils/login.c:1080
+#: login-utils/login.c:1084
 #, c-format
 msgid "ROOT LOGIN ON %s FROM %s"
 msgstr ""
 
-#: login-utils/login.c:1083
+#: login-utils/login.c:1087
 #, c-format
 msgid "ROOT LOGIN ON %s"
 msgstr ""
 
-#: login-utils/login.c:1086
+#: login-utils/login.c:1090
 #, c-format
 msgid "LOGIN ON %s BY %s FROM %s"
 msgstr ""
 
-#: login-utils/login.c:1089
+#: login-utils/login.c:1093
 #, c-format
 msgid "LOGIN ON %s BY %s"
 msgstr ""
 
-#: login-utils/login.c:1101
-#, fuzzy
+#: login-utils/login.c:1105
 msgid "You have new mail.\n"
-msgstr "Sie haben %sE-Mail.\n"
+msgstr "Sie haben neue E-Mail.\n"
 
-#: login-utils/login.c:1103
-#, fuzzy
+#: login-utils/login.c:1107
 msgid "You have mail.\n"
-msgstr "Sie haben %sE-Mail.\n"
+msgstr "Sie haben E-Mail.\n"
 
 #. error in fork()
-#: login-utils/login.c:1129
+#: login-utils/login.c:1125
 #, c-format
 msgid "login: failure forking: %s"
 msgstr "login: Kann keinen neuen Prozess erzeugen: %s"
 
-#: login-utils/login.c:1151
+#: login-utils/login.c:1162
+#, c-format
+msgid "TIOCSCTTY failed: %m"
+msgstr ""
+
+#: login-utils/login.c:1168
 msgid "setuid() failed"
 msgstr ""
 
-#: login-utils/login.c:1157
+#: login-utils/login.c:1174
 #, c-format
 msgid "No directory %s!\n"
 msgstr "Konnte nicht in das Verzeichnis %s wechseln!\n"
 
-#: login-utils/login.c:1161
+#: login-utils/login.c:1178
 msgid "Logging in with home = \"/\".\n"
 msgstr ""
 
-#: login-utils/login.c:1169
+#: login-utils/login.c:1186
 msgid "login: no memory for shell script.\n"
 msgstr ""
 
-#: login-utils/login.c:1196
+#: login-utils/login.c:1213
 #, c-format
 msgid "login: couldn't exec shell script: %s.\n"
 msgstr ""
 
-#: login-utils/login.c:1199
+#: login-utils/login.c:1216
 #, c-format
 msgid "login: no shell: %s.\n"
 msgstr ""
 
-#: login-utils/login.c:1214
+#: login-utils/login.c:1231
 #, c-format
 msgid ""
 "\n"
@@ -6102,66 +6096,66 @@ msgstr ""
 "\n"
 "%s Anmeldung: "
 
-#: login-utils/login.c:1225
+#: login-utils/login.c:1242
 msgid "login name much too long.\n"
 msgstr ""
 
-#: login-utils/login.c:1226
+#: login-utils/login.c:1243
 msgid "NAME too long"
 msgstr ""
 
-#: login-utils/login.c:1233
+#: login-utils/login.c:1250
 msgid "login names may not start with '-'.\n"
 msgstr "Benutzernamen dürfen nicht mit einem »-« anfangen.\n"
 
-#: login-utils/login.c:1243
+#: login-utils/login.c:1260
 msgid "too many bare linefeeds.\n"
 msgstr ""
 
-#: login-utils/login.c:1244
+#: login-utils/login.c:1261
 msgid "EXCESSIVE linefeeds"
 msgstr ""
 
-#: login-utils/login.c:1255
+#: login-utils/login.c:1272
 #, c-format
 msgid "Login timed out after %d seconds\n"
 msgstr ""
 
-#: login-utils/login.c:1352
+#: login-utils/login.c:1369
 #, c-format
 msgid "Last login: %.*s "
 msgstr "Letzte Anmeldung: %.*s "
 
-#: login-utils/login.c:1356
+#: login-utils/login.c:1373
 #, c-format
 msgid "from %.*s\n"
 msgstr "von %.*s\n"
 
-#: login-utils/login.c:1359
+#: login-utils/login.c:1376
 #, c-format
 msgid "on %.*s\n"
 msgstr "auf %.*s\n"
 
 # This ends up in the syslog. Translate it?
-#: login-utils/login.c:1379
+#: login-utils/login.c:1396
 #, c-format
 msgid "LOGIN FAILURE FROM %s, %s"
 msgstr ""
 
 # This ends up in the syslog. Translate it?
-#: login-utils/login.c:1382
+#: login-utils/login.c:1399
 #, c-format
 msgid "LOGIN FAILURE ON %s, %s"
 msgstr ""
 
 # This ends up in the syslog. Translate it?
-#: login-utils/login.c:1386
+#: login-utils/login.c:1403
 #, c-format
 msgid "%d LOGIN FAILURES FROM %s, %s"
 msgstr ""
 
 # This ends up in the syslog. Translate it?
-#: login-utils/login.c:1389
+#: login-utils/login.c:1406
 #, c-format
 msgid "%d LOGIN FAILURES ON %s, %s"
 msgstr ""
@@ -6463,7 +6457,7 @@ msgid "Unmounting any remaining filesystems..."
 msgstr ""
 
 #: login-utils/shutdown.c:648
-#, fuzzy, c-format
+#, c-format
 msgid "shutdown: Couldn't umount %s: %s\n"
 msgstr "shutdown: konnte %s nicht umounten: %s\n"
 
@@ -7707,13 +7701,13 @@ msgstr "mount: Konnte %s nicht in %s finden"
 msgid "mount: can't find %s in %s or %s"
 msgstr "mount: Konnte %s nicht in %s oder %s finden"
 
-#: mount/mount_by_label.c:153
+#: mount/mount_by_label.c:169
 #, c-format
 msgid ""
 "mount: could not open %s, so UUID and LABEL conversion cannot be done.\n"
 msgstr ""
 
-#: mount/mount_by_label.c:257
+#: mount/mount_by_label.c:295
 msgid "mount: bad UUID"
 msgstr "mount: ungültige UUID"
 
@@ -7753,87 +7747,87 @@ msgstr "       Werde den Typ %s probieren\n"
 msgid "Trying %s\n"
 msgstr "Versuche %s\n"
 
-#: mount/nfsmount.c:231
+#: mount/nfsmount.c:237
 msgid "mount: excessively long host:dir argument\n"
 msgstr ""
 
-#: mount/nfsmount.c:245
+#: mount/nfsmount.c:251
 msgid "mount: warning: multiple hostnames not supported\n"
 msgstr "mount: Mehrere Rechnernamen werden nicht unterstützt\n"
 
-#: mount/nfsmount.c:250
+#: mount/nfsmount.c:256
 msgid "mount: directory to mount not in host:dir format\n"
 msgstr ""
 
-#: mount/nfsmount.c:261 mount/nfsmount.c:516
+#: mount/nfsmount.c:267 mount/nfsmount.c:522
 #, c-format
 msgid "mount: can't get address for %s\n"
 msgstr "mount: Konnte die Adresse von %s nicht herausfinden\n"
 
-#: mount/nfsmount.c:267
+#: mount/nfsmount.c:273
 msgid "mount: got bad hp->h_length\n"
 msgstr ""
 
-#: mount/nfsmount.c:284
+#: mount/nfsmount.c:290
 msgid "mount: excessively long option argument\n"
 msgstr ""
 
-#: mount/nfsmount.c:376
+#: mount/nfsmount.c:382
 msgid "Warning: Unrecognized proto= option.\n"
 msgstr "Warnung: unbekannte »proto=« Option.\n"
 
-#: mount/nfsmount.c:383
+#: mount/nfsmount.c:389
 msgid "Warning: Option namlen is not supported.\n"
 msgstr "Warnung: Die Option »namlen« wird nicht unterstützt.\n"
 
-#: mount/nfsmount.c:387
+#: mount/nfsmount.c:393
 #, c-format
 msgid "unknown nfs mount parameter: %s=%d\n"
 msgstr "Unbekannter nfs-Mount-Parameter: %s=%d\n"
 
-#: mount/nfsmount.c:421
+#: mount/nfsmount.c:427
 msgid "Warning: option nolock is not supported.\n"
 msgstr "Warnung: Die Option »nolock« wird nicht unterstützt.\n"
 
-#: mount/nfsmount.c:426
+#: mount/nfsmount.c:432
 #, c-format
 msgid "unknown nfs mount option: %s%s\n"
 msgstr "unbekannte nfs-Mount-Option: %s%s\n"
 
-#: mount/nfsmount.c:522
+#: mount/nfsmount.c:528
 msgid "mount: got bad hp->h_length?\n"
 msgstr ""
 
-#: mount/nfsmount.c:710
+#: mount/nfsmount.c:716
 msgid "NFS over TCP is not supported.\n"
 msgstr "NFS über TCP wird nicht unterstützt.\n"
 
-#: mount/nfsmount.c:717
+#: mount/nfsmount.c:723
 msgid "nfs socket"
 msgstr ""
 
-#: mount/nfsmount.c:721
+#: mount/nfsmount.c:727
 msgid "nfs bindresvport"
 msgstr ""
 
-#: mount/nfsmount.c:735
+#: mount/nfsmount.c:741
 msgid "nfs server reported service unavailable"
 msgstr ""
 
-#: mount/nfsmount.c:744
+#: mount/nfsmount.c:750
 msgid "used portmapper to find NFS port\n"
 msgstr ""
 
-#: mount/nfsmount.c:748
+#: mount/nfsmount.c:754
 #, c-format
 msgid "using port %d for nfs deamon\n"
 msgstr ""
 
-#: mount/nfsmount.c:759
+#: mount/nfsmount.c:765
 msgid "nfs connect"
 msgstr ""
 
-#: mount/nfsmount.c:846
+#: mount/nfsmount.c:852
 #, c-format
 msgid "unknown nfs status return value: %d"
 msgstr ""
@@ -7951,28 +7945,28 @@ msgstr ""
 msgid "umount: %s: %s"
 msgstr "umount: %s: %s"
 
-#: mount/umount.c:285
+#: mount/umount.c:284
 #, fuzzy
 msgid "no umount2, trying umount...\n"
 msgstr "kein umount2, versuche umount...\n"
 
-#: mount/umount.c:301
+#: mount/umount.c:300
 #, fuzzy, c-format
 msgid "could not umount %s - trying %s instead\n"
 msgstr "konnte %s nicht umounten - versuche %s stattdessen\n"
 
 # XXX
-#: mount/umount.c:319
+#: mount/umount.c:318
 #, fuzzy, c-format
 msgid "umount: %s busy - remounted read-only\n"
 msgstr "umount: %s wird momentan noch benutzt - remounted read-only\n"
 
-#: mount/umount.c:329
+#: mount/umount.c:328
 #, c-format
 msgid "umount: could not remount %s read-only\n"
 msgstr ""
 
-#: mount/umount.c:338
+#: mount/umount.c:337
 #, c-format
 msgid "%s umounted\n"
 msgstr ""
@@ -8162,30 +8156,94 @@ msgstr ""
 msgid "Usage: %s [-c] [-n level] [-s bufsize]\n"
 msgstr "Aufruf: %s [-c] [-n Level] [-s Puffergröße]\n"
 
-#: sys-utils/ipcrm.c:59
+#: sys-utils/ipcrm.c:66
 #, c-format
 msgid "invalid id: %s\n"
 msgstr ""
 
-#: sys-utils/ipcrm.c:77
+#: sys-utils/ipcrm.c:84
 #, c-format
 msgid "cannot remove id %s (%s)\n"
 msgstr ""
 
-#: sys-utils/ipcrm.c:91
+#: sys-utils/ipcrm.c:99
 #, fuzzy, c-format
-msgid "usage: %s {shm | msg | sem} id ...\n"
+msgid "deprecated usage: %s {shm | msg | sem} id ...\n"
 msgstr "Aufruf: %s {shm | msg | sem} Id ...\n"
 
-#: sys-utils/ipcrm.c:124
+#: sys-utils/ipcrm.c:126
 #, c-format
 msgid "unknown resource type: %s\n"
 msgstr ""
 
-#: sys-utils/ipcrm.c:128
+#: sys-utils/ipcrm.c:130
 msgid "resource(s) deleted\n"
 msgstr ""
 
+#: sys-utils/ipcrm.c:140
+#, c-format
+msgid ""
+"usage: %s [ [-q msqid] [-m shmid] [-s semid]\n"
+"          [-Q msgkey] [-M shmkey] [-S semkey] ... ]\n"
+msgstr ""
+
+#: sys-utils/ipcrm.c:181
+#, fuzzy, c-format
+msgid "%s: illegal option -- %c\n"
+msgstr "%s: unbekannte Option »--%s«\n"
+
+#: sys-utils/ipcrm.c:192
+#, fuzzy, c-format
+msgid "%s: illegal key (%s)\n"
+msgstr "Diese Taste ist hier nicht verwendbar"
+
+# libc.po: "Keine Berechtigung"
+#: sys-utils/ipcrm.c:207 sys-utils/ipcrm.c:239
+#, fuzzy
+msgid "permission denied for key"
+msgstr "mount: Zugriff verweigert"
+
+#: sys-utils/ipcrm.c:210 sys-utils/ipcrm.c:249
+msgid "already removed key"
+msgstr ""
+
+#: sys-utils/ipcrm.c:213 sys-utils/ipcrm.c:244
+msgid "invalid key"
+msgstr ""
+
+#: sys-utils/ipcrm.c:216 sys-utils/ipcrm.c:254
+msgid "unknown error in key"
+msgstr ""
+
+# libc.po: "Keine Berechtigung"
+#: sys-utils/ipcrm.c:240
+#, fuzzy
+msgid "permission denied for id"
+msgstr "mount: Zugriff verweigert"
+
+#: sys-utils/ipcrm.c:245
+msgid "invalid id"
+msgstr ""
+
+#: sys-utils/ipcrm.c:250
+msgid "already removed id"
+msgstr ""
+
+#: sys-utils/ipcrm.c:255
+msgid "unknown error in id"
+msgstr ""
+
+# The first %s is swapon/swapoff
+#: sys-utils/ipcrm.c:258
+#, fuzzy, c-format
+msgid "%s: %s (%s)\n"
+msgstr "%s für %s\n"
+
+#: sys-utils/ipcrm.c:266
+#, fuzzy, c-format
+msgid "%s: unknown argument: %s\n"
+msgstr "%s: Unbekanntes Signal %s\n"
+
 #: sys-utils/ipcs.c:122
 #, c-format
 msgid "usage : %s -asmq -tclup \n"
@@ -8313,7 +8371,6 @@ msgstr ""
 
 #: sys-utils/ipcs.c:302 sys-utils/ipcs.c:321 sys-utils/ipcs.c:419
 #: sys-utils/ipcs.c:434 sys-utils/ipcs.c:519 sys-utils/ipcs.c:537
-#, fuzzy
 msgid "perms"
 msgstr "Rechte"
 
@@ -8735,11 +8792,10 @@ msgstr ""
 
 # Oh well, "ROOT-Gerät" sounds sooo stupid
 #: sys-utils/rdev.c:70
-#, 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 etc.) zeigt das aktuelle ROOT-Gerät an"
 
 #: sys-utils/rdev.c:71
 msgid "  rdev /dev/fd0 /dev/hda2         sets ROOT to /dev/hda2"
@@ -8762,17 +8818,14 @@ msgid "  rdev -o N ...                   use the byte offset N"
 msgstr ""
 
 #: sys-utils/rdev.c:76
-#, fuzzy
 msgid "  rootflags ...                   same as rdev -R"
 msgstr "  rootflags ...                   Das gleiche wie rdev -R"
 
 #: sys-utils/rdev.c:77
-#, fuzzy
 msgid "  ramsize ...                     same as rdev -r"
 msgstr "  ramsize ...                     Das gleiche wie rdev -r"
 
 #: sys-utils/rdev.c:78
-#, fuzzy
 msgid "  vidmode ...                     same as rdev -v"
 msgstr "  vidmode ...                     Das gleiche wie rdev -v"
 
@@ -8787,9 +8840,9 @@ msgstr ""
 
 #: sys-utils/rdev.c:247
 msgid "missing comma"
-msgstr ""
+msgstr "fehlendes Komma"
 
-#: sys-utils/readprofile.c:58
+#: sys-utils/readprofile.c:60
 #, c-format
 msgid ""
 "%s: Usage: \"%s [options]\n"
@@ -8804,39 +8857,38 @@ msgid ""
 "\t -V            print version and exit\n"
 msgstr ""
 
-#: sys-utils/readprofile.c:81
-#, fuzzy
+#: sys-utils/readprofile.c:83
 msgid "out of memory"
-msgstr "Speicher ist alle\n"
+msgstr "Speicher ist alle"
 
-#: sys-utils/readprofile.c:142
+#: sys-utils/readprofile.c:144
 #, c-format
 msgid "%s Version %s\n"
 msgstr "%s Version %s\n"
 
-#: sys-utils/readprofile.c:226
+#: sys-utils/readprofile.c:228
 #, c-format
 msgid "Sampling_step: %i\n"
 msgstr ""
 
-#: sys-utils/readprofile.c:239 sys-utils/readprofile.c:262
+#: sys-utils/readprofile.c:241 sys-utils/readprofile.c:265
 #, c-format
 msgid "%s: %s(%i): wrong map line\n"
 msgstr ""
 
-#: sys-utils/readprofile.c:250
+#: sys-utils/readprofile.c:253
 #, c-format
 msgid "%s: can't find \"_stext\" in %s\n"
 msgstr "%s: Konnte \"_stext\" nicht in %s finden\n"
 
-#: sys-utils/readprofile.c:273
+#: sys-utils/readprofile.c:276
 #, c-format
 msgid "%s: profile address out of range. Wrong map file?\n"
 msgstr ""
 
-#: sys-utils/readprofile.c:299
+#: sys-utils/readprofile.c:304
 msgid "total"
-msgstr ""
+msgstr "total"
 
 #: sys-utils/renice.c:68
 msgid ""
@@ -8932,12 +8984,12 @@ msgstr "%s benutzt IRQ %d\n"
 #: sys-utils/tunelp.c:293
 #, c-format
 msgid "%s using polling\n"
-msgstr ""
+msgstr "%s benutzt Polling\n"
 
 #: text-utils/col.c:153
-#, fuzzy, c-format
+#, c-format
 msgid "col: bad -l argument %s.\n"
-msgstr "col: Ungültiges Argument für »-l«-Option: %s.\n"
+msgstr "col: Ungültiges Argument %s für die Option »-l«.\n"
 
 #: text-utils/col.c:535
 msgid "usage: col [-bfpx] [-l nline]\n"
@@ -9132,7 +9184,7 @@ msgstr "Kein vorheriger Befehl, der eingef
 
 #: text-utils/odsyntax.c:130
 msgid "od: od(1) has been deprecated for hexdump(1).\n"
-msgstr ""
+msgstr "od: von od(1) wird zugunsten von hexdump(1) abgeraten.\n"
 
 #: text-utils/odsyntax.c:133
 #, c-format
@@ -9141,7 +9193,7 @@ msgstr ""
 
 #: text-utils/odsyntax.c:134
 msgid "; see strings(1)."
-msgstr ""
+msgstr "; siehe strings(1)."
 
 #: text-utils/parse.c:63
 #, c-format
@@ -9210,19 +9262,12 @@ msgstr "Eingabezeile ist zu lang.\n"
 msgid "Out of memory when growing buffer.\n"
 msgstr "Speicher ist alle beim Vergrößern eines Puffers.\n"
 
+#~ msgid "od: od(1) has been depreciated for hexdump(1).\n"
+#~ msgstr "od: von od(1) wird zugunsten von hexdump(1) abgeraten.\n"
+
 #~ msgid "umount: only %s can unmount %s from %s"
 #~ msgstr "umount: Nur %s kann %s von %s unmounten"
 
-#, fuzzy
-#~ msgid "The directory '"
-#~ msgstr "Konnte nicht in das Verzeichnis %s wechseln!\n"
-
-#~ msgid "BSD/386"
-#~ msgstr "BSD/386"
-
-#~ msgid "new "
-#~ msgstr "neue "
-
 #~ msgid "to file "
 #~ msgstr "zur Datei "
 
@@ -9244,10 +9289,6 @@ msgstr "Speicher ist alle beim Vergr
 #~ msgid "usage: banner [-w width]\n"
 #~ msgstr "Aufruf: banner [-w Breite]\n"
 
-# "Meldung"
-#~ msgid "Message: "
-#~ msgstr "Meldung: "
-
 #~ msgid "The character '%c' is not in my character set"
 #~ msgstr "Das Zeichen »%c« ist nicht im Zeichensatz vorhanden"
 
@@ -9294,9 +9335,6 @@ msgstr "Speicher ist alle beim Vergr
 #~ msgid "Usage: %s [-c] [-v0|-v1] /dev/name [blocks]\n"
 #~ msgstr "Aufruf: %s [-c] [-v0|-v1] /dev/Name [Größe in kB]\n"
 
-#~ msgid "SGI rxlvol"
-#~ msgstr "SGI rxlvol"
-
 #~ msgid "%s: open for update: %m"
 #~ msgstr "Konnte %s nicht zum Aktualisieren öffnen: %m"
 
@@ -9349,10 +9387,6 @@ msgstr "Speicher ist alle beim Vergr
 #~ msgid "send_time=%srcv_time=%schange_time=%s"
 #~ msgstr "Sendezeit = %sEmpfangszeit = %sÄnderungszeit = %s"
 
-#, fuzzy
-#~ msgid "Not Set\n"
-#~ msgstr "Nicht gesetzt\n"
-
 #~ msgid "usage: %s [-dfln] [+linenum | +/pattern] name1 name2 ...\n"
 #~ msgstr ""
 #~ "Aufruf: %s [-dfln] [+Zeilennummer | +/Muster] Dateiname1 Dateiname2 ...\n"
@@ -9392,8 +9426,5 @@ msgstr "Speicher ist alle beim Vergr
 #~ msgid "Cannot derive a geometry from the partition table"
 #~ msgstr "Konnte die Geometrie nicht aus der Partitionstabelle ableiten"
 
-#~ msgid "%s: unrecognized option `--%s'\n"
-#~ msgstr "%s: unbekannte Option »--%s«\n"
-
 #~ msgid "'/' in \"%s\""
 #~ msgstr "»%s« enthält einen »/«"
index 8104d4234f6aa1740328347cc3b45fb6aec8c2cd..08b1a81fcf299df322a8d74b4059ce4dbfe2cfbb 100644 (file)
--- a/po/es.po
+++ b/po/es.po
@@ -1,13 +1,19 @@
 # Mensajes en español para util-linux.
-# Copyright (C) 2000, 2001 Free Software Foundation, Inc.
+# Copyright (C) 2000 Beth Powell <bpowell@turbolinux.com>.
+# Copyright (C) 2001 Santiago Vila Doncel <sanvila@unex.es>.
 # Beth Powell <bpowell@turbolinux.com>, 2000.
 # Santiago Vila Doncel <sanvila@unex.es>, 2001.
 #
+# Permission is granted to freely copy and distribute
+# this file and modified versions, provided that this
+# header is not removed and modified versions are marked
+# as such.
+#
 msgid ""
 msgstr ""
-"Project-Id-Version: util-linux 2.11m\n"
-"POT-Creation-Date: 2002-03-08 23:54+0100\n"
-"PO-Revision-Date: 2001-12-10 02:30+0100\n"
+"Project-Id-Version: util-linux 2.11o\n"
+"POT-Creation-Date: 2002-04-06 01:28+0200\n"
+"PO-Revision-Date: 2002-03-18 23:14+0100\n"
 "Last-Translator: Santiago Vila Doncel <sanvila@unex.es>\n"
 "Language-Team: Spanish <es@li.org>\n"
 "MIME-Version: 1.0\n"
@@ -59,19 +65,18 @@ msgid "reread partition table"
 msgstr "vuelve a leer la tabla de particiones"
 
 #: disk-utils/blockdev.c:98
-#, fuzzy
 msgid "Usage:\n"
-msgstr "Uso:"
+msgstr "Uso:\n"
 
 #: disk-utils/blockdev.c:100
 #, c-format
 msgid "  %s --report [devices]\n"
-msgstr ""
+msgstr "  %s --report [dispositivos]\n"
 
 #: disk-utils/blockdev.c:101
-#, fuzzy, c-format
+#, c-format
 msgid "  %s [-v|-q] commands devices\n"
-msgstr "Uso: %s [-V] [-v|-q] órdenes dispositivos\n"
+msgstr "  %s [-v|-q] órdenes dispositivos\n"
 
 #: disk-utils/blockdev.c:102
 msgid "Available commands:\n"
@@ -90,21 +95,21 @@ msgstr "%s necesita un argumento\n"
 #: disk-utils/blockdev.c:278
 #, c-format
 msgid "%s succeeded.\n"
-msgstr ""
+msgstr "%s ha tenido éxito.\n"
 
 #: disk-utils/blockdev.c:296 disk-utils/blockdev.c:321
-#, fuzzy, c-format
+#, c-format
 msgid "%s: cannot open %s\n"
-msgstr "%s: no se puede abrir %s: %s\n"
+msgstr "%s: no se puede abrir %s\n"
 
 #: disk-utils/blockdev.c:338
-#, fuzzy, c-format
+#, c-format
 msgid "%s: ioctl error on %s\n"
-msgstr "%s: error de lectura en %s\n"
+msgstr "%s: error de ioctl en %s\n"
 
 #: disk-utils/blockdev.c:345
 msgid "RO    RA   SSZ   BSZ   StartSec     Size    Device\n"
-msgstr ""
+msgstr "RO    RA   SSZ   BSZ   StartSec     Size    Device\n"
 
 #: disk-utils/elvtune.c:46 disk-utils/setfdprm.c:100
 msgid "usage:\n"
@@ -148,7 +153,7 @@ msgstr "uso: %s [ -n ] dispositivo\n"
 
 #: disk-utils/fdformat.c:120 disk-utils/fsck.minix.c:1291
 #: disk-utils/isosize.c:179 disk-utils/mkfs.bfs.c:119 disk-utils/mkfs.c:55
-#: disk-utils/mkfs.minix.c:644 disk-utils/mkswap.c:452
+#: disk-utils/mkfs.minix.c:644 disk-utils/mkswap.c:457
 #: disk-utils/setfdprm.c:128 misc-utils/cal.c:246 misc-utils/ddate.c:181
 #: misc-utils/kill.c:188 misc-utils/rename.c:79 misc-utils/script.c:132
 #, c-format
@@ -196,28 +201,28 @@ msgid "check aborted.\n"
 msgstr "comprobación anulada.\n"
 
 #: disk-utils/fsck.minix.c:332 disk-utils/fsck.minix.c:356
-#, fuzzy, c-format
+#, c-format
 msgid "Zone nr < FIRSTZONE in file `%s'."
-msgstr "Número de zona < FIRSTZONE en el fichero `"
+msgstr "Número de zona < FIRSTZONE en el fichero `%s'."
 
 #: disk-utils/fsck.minix.c:336 disk-utils/fsck.minix.c:360
-#, fuzzy, c-format
+#, c-format
 msgid "Zone nr >= ZONES in file `%s'."
-msgstr "Número de zona >= ZONES en el fichero `"
+msgstr "Número de zona >= ZONES en el fichero `%s'."
 
 #: disk-utils/fsck.minix.c:341 disk-utils/fsck.minix.c:365
 msgid "Remove block"
 msgstr "Eliminar bloque"
 
 #: disk-utils/fsck.minix.c:384
-#, fuzzy, c-format
+#, c-format
 msgid "Read error: unable to seek to block in file '%s'\n"
-msgstr "Error de lectura: no se puede buscar en bloque de fichero '"
+msgstr "Error de lectura: no se puede buscar en un bloque en el fichero '%s'\n"
 
 #: disk-utils/fsck.minix.c:390
-#, fuzzy, c-format
+#, c-format
 msgid "Read error: bad block in file '%s'\n"
-msgstr "Error de lectura: bloque incorrecto en el fichero '"
+msgstr "Error de lectura: bloque incorrecto en el fichero '%s'\n"
 
 #: disk-utils/fsck.minix.c:405
 msgid ""
@@ -232,9 +237,9 @@ msgid "seek failed in write_block"
 msgstr "Error de búsqueda en write_block"
 
 #: disk-utils/fsck.minix.c:414
-#, fuzzy, c-format
+#, c-format
 msgid "Write error: bad block in file '%s'\n"
-msgstr "Error de escritura: bloque incorrecto en el fichero '"
+msgstr "Error de escritura: bloque incorrecto en el fichero '%s'\n"
 
 #: disk-utils/fsck.minix.c:532
 msgid "seek failed in write_super_block"
@@ -352,20 +357,20 @@ msgstr ""
 "\n"
 
 #: disk-utils/fsck.minix.c:660 disk-utils/fsck.minix.c:712
-#, fuzzy, c-format
+#, c-format
 msgid "Inode %d marked unused, but used for file '%s'\n"
 msgstr ""
-"El nodo-i %d se ha marcado como no utilizado, pero se utiliza para el "
-"fichero '"
+"El nodo-i %d se ha marcado como no utilizado, pero se utiliza para\n"
+"el fichero '%s'\n"
 
 #: disk-utils/fsck.minix.c:664 disk-utils/fsck.minix.c:716
 msgid "Mark in use"
 msgstr "Marcar en uso"
 
 #: disk-utils/fsck.minix.c:686 disk-utils/fsck.minix.c:736
-#, fuzzy, c-format
+#, c-format
 msgid "The file `%s' has mode %05o\n"
-msgstr " tiene el modo %05o\n"
+msgstr "El fichero `%s' tiene el modo %05o\n"
 
 #: disk-utils/fsck.minix.c:693 disk-utils/fsck.minix.c:742
 msgid "Warning: inode count too big.\n"
@@ -376,9 +381,11 @@ msgid "root inode isn't a directory"
 msgstr "El nodo-i raíz no es un directorio"
 
 #: disk-utils/fsck.minix.c:779 disk-utils/fsck.minix.c:813
-#, fuzzy, c-format
+#, c-format
 msgid "Block has been used before. Now in file `%s'."
-msgstr "El bloque ya se ha utilizado anteriormente. Ahora en fichero `"
+msgstr ""
+"El bloque ya se ha utilizado anteriormente.\n"
+"Ahora está en el fichero `%s'."
 
 #: disk-utils/fsck.minix.c:781 disk-utils/fsck.minix.c:815
 #: disk-utils/fsck.minix.c:1149 disk-utils/fsck.minix.c:1158
@@ -387,51 +394,53 @@ msgid "Clear"
 msgstr "Borrar"
 
 #: disk-utils/fsck.minix.c:791 disk-utils/fsck.minix.c:825
-#, fuzzy, c-format
+#, c-format
 msgid "Block %d in file `%s' is marked not in use."
-msgstr "' marcado como no utilizado."
+msgstr "El bloque %d en el fichero `%s' está marcado como no utilizado."
 
 #: disk-utils/fsck.minix.c:793 disk-utils/fsck.minix.c:827
 msgid "Correct"
 msgstr "Correcto"
 
 #: disk-utils/fsck.minix.c:973 disk-utils/fsck.minix.c:1041
-#, fuzzy, c-format
+#, c-format
 msgid "The directory '%s' contains a bad inode number for file '%.*s'."
-msgstr " contiene un número de nodo-i incorrecto para el fichero '%.*s'."
+msgstr ""
+"El directorio `%s' contiene un número de nodo-i incorrecto\n"
+"para el fichero '%.*s'."
 
 #: disk-utils/fsck.minix.c:976 disk-utils/fsck.minix.c:1044
 msgid " Remove"
 msgstr " Eliminar"
 
 #: disk-utils/fsck.minix.c:990
-#, fuzzy, c-format
+#, c-format
 msgid "`%s': bad directory: '.' isn't first\n"
-msgstr ": directorio incorrecto: '.' no es el primero\n"
+msgstr "`%s': directorio incorrecto: '.' no es el primero\n"
 
 #: disk-utils/fsck.minix.c:998
-#, fuzzy, c-format
+#, c-format
 msgid "`%s': bad directory: '..' isn't second\n"
-msgstr ": directorio incorrecto: '..' no es el segundo\n"
+msgstr "`%s': directorio incorrecto: '..' no es el segundo\n"
 
 #: disk-utils/fsck.minix.c:1058
-#, fuzzy, c-format
+#, c-format
 msgid "%s: bad directory: '.' isn't first\n"
-msgstr ": directorio incorrecto: '.' no es el primero\n"
+msgstr "%s: directorio incorrecto: '.' no es el primero\n"
 
 #: disk-utils/fsck.minix.c:1067
-#, fuzzy, c-format
+#, c-format
 msgid "%s: bad directory: '..' isn't second\n"
-msgstr ": directorio incorrecto: '..' no es el segundo\n"
+msgstr "%s: directorio incorrecto: '..' no es el segundo\n"
 
 #: disk-utils/fsck.minix.c:1102
 msgid "internal error"
 msgstr "Error interno"
 
 #: disk-utils/fsck.minix.c:1105 disk-utils/fsck.minix.c:1124
-#, fuzzy, c-format
+#, c-format
 msgid "%s: bad directory: size < 32"
-msgstr ": directorio incorrecto: tamaño < 32"
+msgstr "%s: directorio incorrecto: tamaño < 32"
 
 #: disk-utils/fsck.minix.c:1138
 msgid "seek failed in bad_zone"
@@ -804,7 +813,7 @@ msgstr "Error de b
 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:583 disk-utils/mkswap.c:362
+#: disk-utils/mkfs.minix.c:583 disk-utils/mkswap.c:368
 msgid "seek failed in check_blocks"
 msgstr "Error de búsqueda en check_blocks"
 
@@ -868,65 +877,65 @@ msgstr ""
 msgid "Assuming pages of size %d (not %d)\n"
 msgstr "Presuponiendo páginas de tamaño %d (no %d)\n"
 
-#: disk-utils/mkswap.c:316
+#: disk-utils/mkswap.c:322
 #, c-format
 msgid "Usage: %s [-c] [-v0|-v1] [-pPAGESZ] /dev/name [blocks]\n"
 msgstr "Uso: %s [-c] [-v0|-v1] [-pTAMPÁG] /dev/nombre [bloques]\n"
 
-#: disk-utils/mkswap.c:339
+#: disk-utils/mkswap.c:345
 msgid "too many bad pages"
 msgstr "Hay demasiadas páginas incorrectas"
 
-#: disk-utils/mkswap.c:353 misc-utils/look.c:182 misc-utils/setterm.c:1130
+#: disk-utils/mkswap.c:359 misc-utils/look.c:182 misc-utils/setterm.c:1130
 #: text-utils/more.c:1934 text-utils/more.c:1945
 msgid "Out of memory"
 msgstr "No queda memoria"
 
-#: disk-utils/mkswap.c:370
+#: disk-utils/mkswap.c:376
 msgid "one bad page\n"
 msgstr "Una página incorrecta\n"
 
-#: disk-utils/mkswap.c:372
+#: disk-utils/mkswap.c:378
 #, c-format
 msgid "%d bad pages\n"
 msgstr "%d páginas incorrectas\n"
 
-#: disk-utils/mkswap.c:492
+#: disk-utils/mkswap.c:497
 #, 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:510
+#: disk-utils/mkswap.c:515
 #, 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 del dispositivo %d\n"
 
-#: disk-utils/mkswap.c:529
+#: disk-utils/mkswap.c:534
 #, c-format
 msgid "%s: error: unknown version %d\n"
 msgstr "%s: error: versión desconocida %d\n"
 
-#: disk-utils/mkswap.c:535
+#: disk-utils/mkswap.c:540
 #, 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:554
+#: disk-utils/mkswap.c:559
 #, c-format
 msgid "%s: warning: truncating swap area to %ldkB\n"
 msgstr "%s: atención: el área de intercambio se trunca a %ldkB\n"
 
-#: disk-utils/mkswap.c:566
+#: disk-utils/mkswap.c:571
 #, 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:575 disk-utils/mkswap.c:596
+#: disk-utils/mkswap.c:580 disk-utils/mkswap.c:601
 msgid "fatal: first page unreadable"
 msgstr "muy grave: no se puede leer la primera página"
 
-#: disk-utils/mkswap.c:581
+#: disk-utils/mkswap.c:586
 #, c-format
 msgid ""
 "%s: Device '%s' contains a valid Sun disklabel.\n"
@@ -941,24 +950,24 @@ msgstr ""
 "Si realmente desea crear el espacio de intercambio swap v0 en dicho\n"
 "dispositivo, utilice la opción -f para forzar la operación.\n"
 
-#: disk-utils/mkswap.c:605
+#: disk-utils/mkswap.c:610
 msgid "Unable to set up swap-space: unreadable"
 msgstr "No se puede configurar el espacio de intercambio: no se puede leer"
 
-#: disk-utils/mkswap.c:606
-#, c-format
-msgid "Setting up swapspace version %d, size = %ld bytes\n"
+#: disk-utils/mkswap.c:611
+#, fuzzy, c-format
+msgid "Setting up swapspace version %d, size = %lu bytes\n"
 msgstr "Configurando espacio de intercambio versión %d, tamaño = %ld bytes\n"
 
-#: disk-utils/mkswap.c:612
+#: disk-utils/mkswap.c:617
 msgid "unable to rewind swap-device"
 msgstr "No se puede rebobinar el dispositivo de intercambio"
 
-#: disk-utils/mkswap.c:615
+#: disk-utils/mkswap.c:620
 msgid "unable to write signature page"
 msgstr "No se puede escribir la página de firma"
 
-#: disk-utils/mkswap.c:623
+#: disk-utils/mkswap.c:628
 msgid "fsync failed"
 msgstr "fsync ha fallado"
 
@@ -1013,18 +1022,16 @@ msgid "Linux ext2"
 msgstr "Linux ext2"
 
 #: fdisk/cfdisk.c:405
-#, fuzzy
 msgid "Linux ext3"
-msgstr "Linux ext2"
+msgstr "Linux ext3"
 
 #: fdisk/cfdisk.c:407
 msgid "Linux XFS"
 msgstr "Linux XFS"
 
 #: fdisk/cfdisk.c:409
-#, fuzzy
 msgid "Linux ReiserFS"
-msgstr "Linux XFS"
+msgstr "Linux ReiserFS"
 
 #. also Solaris
 #: fdisk/cfdisk.c:411 fdisk/i386_sys_types.c:57
@@ -1664,14 +1671,14 @@ msgid "Disk Drive: %s"
 msgstr "Unidad de disco: %s"
 
 #: fdisk/cfdisk.c:2576
-#, fuzzy, c-format
+#, c-format
 msgid "Size: %lld bytes, %ld MB"
-msgstr "Tamaño: %lld bytes"
+msgstr "Tamaño: %lld bytes, %ld MB"
 
 #: fdisk/cfdisk.c:2579
-#, fuzzy, c-format
+#, c-format
 msgid "Size: %lld bytes, %ld.%ld GB"
-msgstr "Tamaño: %lld bytes"
+msgstr "Tamaño: %lld bytes, %ld.%ld GB"
 
 #: fdisk/cfdisk.c:2583
 #, c-format
@@ -3853,7 +3860,7 @@ msgstr "NeXTSTEP"
 
 #: fdisk/i386_sys_types.c:70
 msgid "Darwin UFS"
-msgstr ""
+msgstr "UFS de Darwin"
 
 #: fdisk/i386_sys_types.c:71
 msgid "NetBSD"
@@ -3861,7 +3868,7 @@ msgstr "NetBSD"
 
 #: fdisk/i386_sys_types.c:72
 msgid "Darwin boot"
-msgstr ""
+msgstr "arranque de Darwin"
 
 #: fdisk/i386_sys_types.c:73
 msgid "BSDI fs"
@@ -3877,7 +3884,7 @@ msgstr "Boot Wizard hidden"
 
 #: fdisk/i386_sys_types.c:76
 msgid "Solaris boot"
-msgstr ""
+msgstr "arranque de Solaris"
 
 #: fdisk/i386_sys_types.c:77
 msgid "DRDOS/sec (FAT-12)"
@@ -4096,7 +4103,7 @@ msgid ""
 "%s of partition %s has impossible value for head: %lu (should be in 0-%lu)\n"
 msgstr ""
 "%s de partición %s tiene un valor imposible para cabeza: %lu\n"
-"(debe estar entre 0 y %ld)\n"
+"(debe estar entre 0 y %lu)\n"
 
 #: fdisk/sfdisk.c:544
 #, c-format
@@ -4104,8 +4111,8 @@ msgid ""
 "%s of partition %s has impossible value for sector: %lu (should be in 1-%"
 "lu)\n"
 msgstr ""
-"%s de partición %s tiene un valor imposible para sector: %ld\n"
-"(debe estar entre 1 y %ld)\n"
+"%s de partición %s tiene un valor imposible para sector: %lu\n"
+"(debe estar entre 1 y %lu)\n"
 
 #: fdisk/sfdisk.c:549
 #, c-format
@@ -4113,8 +4120,8 @@ msgid ""
 "%s of partition %s has impossible value for cylinders: %lu (should be in 0-%"
 "lu)\n"
 msgstr ""
-"%s de partición %s tiene un valor imposible para cilindros: %ld\n"
-"(debe estar entre 0 y %ld)\n"
+"%s de partición %s tiene un valor imposible para cilindros: %lu\n"
+"(debe estar entre 0 y %lu)\n"
 
 #: fdisk/sfdisk.c:589
 msgid ""
@@ -4170,9 +4177,8 @@ msgstr ""
 "\n"
 
 #: fdisk/sfdisk.c:871
-#, fuzzy
 msgid "   Device Boot Start     End   #cyls    #blocks   Id  System\n"
-msgstr "   Disp.  Inic. Princ.   Fin   Nºcil   Nºbloq.   Id  Sistema\n"
+msgstr "   Disp.  Inic. Princ.   Fin   Nºcil    Nºbloq.   Id  Sistema\n"
 
 #: fdisk/sfdisk.c:876
 #, c-format
@@ -4184,9 +4190,8 @@ msgstr ""
 "\n"
 
 #: fdisk/sfdisk.c:878
-#, fuzzy
 msgid "   Device Boot    Start       End   #sectors  Id  System\n"
-msgstr "   Disp.  Inicio  Principio   Fin  Nº sect.  Id  Sistema\n"
+msgstr "   Disp.  Inicio  Principio   Fin   Nº sect.  Id  Sistema\n"
 
 #: fdisk/sfdisk.c:881
 #, c-format
@@ -4198,9 +4203,8 @@ msgstr ""
 "\n"
 
 #: fdisk/sfdisk.c:883
-#, fuzzy
 msgid "   Device Boot   Start       End    #blocks   Id  System\n"
-msgstr "   Disp.  Inic.  Principio   Fin   Nºbloques Id  Sistema\n"
+msgstr "   Disp.  Inic.  Principio   Fin    Nºbloques Id  Sistema\n"
 
 #: fdisk/sfdisk.c:886
 #, c-format
@@ -4212,9 +4216,8 @@ msgstr ""
 "\n"
 
 #: fdisk/sfdisk.c:888
-#, fuzzy
 msgid "   Device Boot Start   End     MB    #blocks   Id  System\n"
-msgstr "   Disp.  Inic Princ.  Fin     MB   Nºbloques Id  Sistema\n"
+msgstr "   Disp.  Inic Princ.  Fin     MB    Nºbloques Id  Sistema\n"
 
 #: fdisk/sfdisk.c:1048
 #, c-format
@@ -4240,13 +4243,13 @@ msgid "No partitions found\n"
 msgstr "No se ha encontrado ninguna partición\n"
 
 #: fdisk/sfdisk.c:1072
-#, fuzzy, c-format
+#, c-format
 msgid ""
 "Warning: The partition table looks like it was made\n"
 "  for C/H/S=*/%ld/%ld (instead of %ld/%ld/%ld).\n"
 "For this listing I'll assume that geometry.\n"
 msgstr ""
-"Atención: la primera partición parece haberse creado\n"
+"Atención: La tabla de particiones parece haberse creado\n"
 "  para Cil./Cab./Sect.=*/%ld/%ld (en lugar de %ld/%ld/%ld).\n"
 "Para este listado se presupondrá esta geometría.\n"
 
@@ -5884,7 +5887,7 @@ msgstr "Cambiando informaci
 msgid "Password error."
 msgstr "Error de contraseña."
 
-#: login-utils/chfn.c:176 login-utils/chsh.c:167 login-utils/login.c:775
+#: login-utils/chfn.c:176 login-utils/chsh.c:167 login-utils/login.c:787
 #: login-utils/newgrp.c:48 login-utils/simpleinit.c:320 mount/lomount.c:248
 #: mount/lomount.c:253
 msgid "Password: "
@@ -6110,20 +6113,25 @@ msgstr ""
 "\n"
 "interrumpido %10.10s %5.5s \n"
 
-#: login-utils/login.c:402
+#: login-utils/login.c:264
+#, fuzzy, c-format
+msgid "FATAL: can't reopen tty: %s"
+msgstr "mount: no se puede abrir %s: %s"
+
+#: login-utils/login.c:413
 msgid "login: -h for super-user only.\n"
 msgstr "login: -h sólo para superusuario.\n"
 
-#: login-utils/login.c:429
+#: login-utils/login.c:440
 msgid "usage: login [-fp] [username]\n"
 msgstr "uso: login [-fp] [nombreusuario]\n"
 
-#: login-utils/login.c:538
+#: login-utils/login.c:547
 #, c-format
 msgid "login: PAM Failure, aborting: %s\n"
 msgstr "login: error de PAM; anulando: %s\n"
 
-#: login-utils/login.c:540
+#: login-utils/login.c:549
 #, c-format
 msgid "Couldn't initialize PAM: %s"
 msgstr "No se ha podido inicializar PAM: %s"
@@ -6134,16 +6142,16 @@ msgstr "No se ha podido inicializar PAM: %s"
 #. * PAM doesn't have an interface to specify the "Password: " string
 #. * (yet).
 #.
-#: login-utils/login.c:557
+#: login-utils/login.c:566
 msgid "login: "
 msgstr "Inicio de sesión: "
 
-#: login-utils/login.c:597
+#: login-utils/login.c:606
 #, 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:601
+#: login-utils/login.c:610
 msgid ""
 "Login incorrect\n"
 "\n"
@@ -6151,17 +6159,17 @@ msgstr ""
 "Inicio de sesión incorrecto\n"
 "\n"
 
-#: login-utils/login.c:610
+#: login-utils/login.c:619
 #, 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:614
+#: login-utils/login.c:623
 #, 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:618
+#: login-utils/login.c:627
 msgid ""
 "\n"
 "Login incorrect\n"
@@ -6169,7 +6177,7 @@ msgstr ""
 "\n"
 "Inicio de sesión incorrecto\n"
 
-#: login-utils/login.c:639 login-utils/login.c:646 login-utils/login.c:678
+#: login-utils/login.c:649 login-utils/login.c:656 login-utils/login.c:690
 msgid ""
 "\n"
 "Session setup problem, abort.\n"
@@ -6177,44 +6185,44 @@ msgstr ""
 "\n"
 "Problema al iniciar la sesión, abortado.\n"
 
-#: login-utils/login.c:640
+#: login-utils/login.c:650
 #, c-format
 msgid "NULL user name in %s:%d. Abort."
 msgstr "nombre de usuario NULO en %s:%d. Abortado."
 
-#: login-utils/login.c:647
+#: login-utils/login.c:657
 #, c-format
 msgid "Invalid user name \"%s\" in %s:%d. Abort."
 msgstr "Nombre de usuario inválido \"%s\" en %s:%d. Abortado."
 
-#: login-utils/login.c:664
+#: login-utils/login.c:676
 msgid "login: Out of memory\n"
 msgstr "login: No queda memoria\n"
 
-#: login-utils/login.c:710
+#: login-utils/login.c:722
 msgid "Illegal username"
 msgstr "Nombre de usuario no permitido"
 
-#: login-utils/login.c:753
+#: login-utils/login.c:765
 #, 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:758
+#: login-utils/login.c:770
 #, 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:762
+#: login-utils/login.c:774
 #, c-format
 msgid "LOGIN %s REFUSED ON TTY %s"
 msgstr "Inicio de sesión %s rechazado en tty %s"
 
-#: login-utils/login.c:815
+#: login-utils/login.c:827
 msgid "Login incorrect\n"
 msgstr "Inicio de sesión incorrecto\n"
 
-#: login-utils/login.c:837
+#: login-utils/login.c:849
 msgid ""
 "Too many users logged on already.\n"
 "Try again later.\n"
@@ -6222,78 +6230,83 @@ msgstr ""
 "Ya hay demasiados usuarios con una sesión iniciada.\n"
 "Inténtelo de nuevo más adelante.\n"
 
-#: login-utils/login.c:841
+#: login-utils/login.c:853
 msgid "You have too many processes running.\n"
 msgstr "Tiene demasiados procesos en ejecución.\n"
 
-#: login-utils/login.c:1073
+#: login-utils/login.c:1077
 #, c-format
 msgid "DIALUP AT %s BY %s"
 msgstr "Conexión telefónica en %s por %s"
 
-#: login-utils/login.c:1080
+#: login-utils/login.c:1084
 #, c-format
 msgid "ROOT LOGIN ON %s FROM %s"
 msgstr "Inicio de sesión con root en %s desde %s"
 
-#: login-utils/login.c:1083
+#: login-utils/login.c:1087
 #, c-format
 msgid "ROOT LOGIN ON %s"
 msgstr "Inicio de sesión con root en %s"
 
-#: login-utils/login.c:1086
+#: login-utils/login.c:1090
 #, 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:1089
+#: login-utils/login.c:1093
 #, c-format
 msgid "LOGIN ON %s BY %s"
 msgstr "Inicio de sesión en %s por %s"
 
-#: login-utils/login.c:1101
+#: login-utils/login.c:1105
 msgid "You have new mail.\n"
 msgstr "Tiene correo nuevo.\n"
 
-#: login-utils/login.c:1103
+#: login-utils/login.c:1107
 msgid "You have mail.\n"
 msgstr "Tiene correo.\n"
 
 #. error in fork()
-#: login-utils/login.c:1129
+#: login-utils/login.c:1125
 #, c-format
 msgid "login: failure forking: %s"
 msgstr "login: error en fork: %s"
 
-#: login-utils/login.c:1151
+#: login-utils/login.c:1162
+#, c-format
+msgid "TIOCSCTTY failed: %m"
+msgstr ""
+
+#: login-utils/login.c:1168
 msgid "setuid() failed"
 msgstr "setuid() ha fallado"
 
-#: login-utils/login.c:1157
+#: login-utils/login.c:1174
 #, c-format
 msgid "No directory %s!\n"
 msgstr "No hay ningún directorio %s\n"
 
-#: login-utils/login.c:1161
+#: login-utils/login.c:1178
 msgid "Logging in with home = \"/\".\n"
 msgstr "Iniciando la sesión con directorio de inicio = \"/\".\n"
 
-#: login-utils/login.c:1169
+#: login-utils/login.c:1186
 msgid "login: no memory for shell script.\n"
 msgstr "login: no queda memoria para script de intérprete de órdenes.\n"
 
-#: login-utils/login.c:1196
+#: login-utils/login.c:1213
 #, c-format
 msgid "login: couldn't exec shell script: %s.\n"
 msgstr ""
 "login: no se ha podido ejecutar el script de intérprete de órdenes: %s.\n"
 
-#: login-utils/login.c:1199
+#: login-utils/login.c:1216
 #, c-format
 msgid "login: no shell: %s.\n"
 msgstr "login: no hay intérprete de órdenes: %s.\n"
 
-#: login-utils/login.c:1214
+#: login-utils/login.c:1231
 #, c-format
 msgid ""
 "\n"
@@ -6302,62 +6315,62 @@ msgstr ""
 "\n"
 "Inicio de sesión de %s: "
 
-#: login-utils/login.c:1225
+#: login-utils/login.c:1242
 msgid "login name much too long.\n"
 msgstr "Nombre de inicio de sesión demasiado largo.\n"
 
-#: login-utils/login.c:1226
+#: login-utils/login.c:1243
 msgid "NAME too long"
 msgstr "Nombre demasiado largo"
 
-#: login-utils/login.c:1233
+#: login-utils/login.c:1250
 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:1243
+#: login-utils/login.c:1260
 msgid "too many bare linefeeds.\n"
 msgstr "Demasiados avances de línea solos.\n"
 
-#: login-utils/login.c:1244
+#: login-utils/login.c:1261
 msgid "EXCESSIVE linefeeds"
 msgstr "Excesivos avances de línea"
 
-#: login-utils/login.c:1255
+#: login-utils/login.c:1272
 #, 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:1352
+#: login-utils/login.c:1369
 #, c-format
 msgid "Last login: %.*s "
 msgstr "Último inicio de sesión: %.*s "
 
-#: login-utils/login.c:1356
+#: login-utils/login.c:1373
 #, c-format
 msgid "from %.*s\n"
 msgstr "desde %.*s\n"
 
-#: login-utils/login.c:1359
+#: login-utils/login.c:1376
 #, c-format
 msgid "on %.*s\n"
 msgstr "en %.*s\n"
 
-#: login-utils/login.c:1379
+#: login-utils/login.c:1396
 #, c-format
 msgid "LOGIN FAILURE FROM %s, %s"
 msgstr "Error de inicio de sesión desde %s, %s"
 
-#: login-utils/login.c:1382
+#: login-utils/login.c:1399
 #, c-format
 msgid "LOGIN FAILURE ON %s, %s"
 msgstr "Error de inicio de sesión en %s, %s"
 
-#: login-utils/login.c:1386
+#: login-utils/login.c:1403
 #, c-format
 msgid "%d LOGIN FAILURES FROM %s, %s"
 msgstr "%d errores de inicio de sesión desde %s, %s"
 
-#: login-utils/login.c:1389
+#: login-utils/login.c:1406
 #, c-format
 msgid "%d LOGIN FAILURES ON %s, %s"
 msgstr "%d errores de inicio de sesión en %s, %s"
@@ -6874,9 +6887,8 @@ msgid "%s %d"
 msgstr "%s de %d"
 
 #: misc-utils/cal.c:674
-#, fuzzy
 msgid "usage: cal [-13smjyV] [[month] year]\n"
-msgstr "uso: cal [-mjyV] [[mes] año]\n"
+msgstr "uso: cal [-13smjyV] [[mes] año]\n"
 
 #: misc-utils/ddate.c:205
 #, c-format
@@ -7011,15 +7023,15 @@ msgid "call: %s from to files...\n"
 msgstr "llamada: %s de los ficheros...\n"
 
 #: misc-utils/script.c:106
-#, fuzzy, c-format
+#, c-format
 msgid ""
 "Warning: `%s' is a link.\n"
 "Use `%s [options] %s' if you really want to use it.\n"
 "Script not started.\n"
 msgstr ""
-"Atención: `%s' es un enlace simbólico.\n"
+"Atención: `%s' es un enlace.\n"
 "Utilice `%s [opciones] %s' si quiere utilizarlo de verdad.\n"
-"No se inicia el Script.\n"
+"No se inicia la transcripción.\n"
 
 #: misc-utils/script.c:155
 msgid "usage: script [-a] [-f] [-q] [-t] [file]\n"
@@ -7592,7 +7604,7 @@ msgid "mount: can't open %s: %s"
 msgstr "mount: no se puede abrir %s: %s"
 
 #: mount/mount.c:656
-#, fuzzy, c-format
+#, c-format
 msgid "mount: cannot open %s for setting speed"
 msgstr "mount: no se puede abrir %s para establecer la velocidad"
 
@@ -7832,7 +7844,6 @@ msgid "mount: %s already mounted on %s\n"
 msgstr "mount: %s ya está montado en %s\n"
 
 #: mount/mount.c:1324
-#, fuzzy
 msgid ""
 "Usage: mount -V                 : print version\n"
 "       mount -h                 : print this help\n"
@@ -7859,7 +7870,7 @@ msgstr ""
 "Uso: mount -V                 : muestra la versión\n"
 "     mount -h                 : muestra esta ayuda\n"
 "     mount                    : muestra los sistemas de ficheros  montados\n"
-"     mount                    : ídem, incluyendo etiquetas de volumen\n"
+"     mount -l                 : ídem, incluyendo etiquetas de volumen\n"
 "Hasta aquí la parte informativa. Vayamos al montaje.\n"
 "La orden es `mount [-t tiposf] cosa sitio.\n"
 "Los detalles que se encuentran en /etc/fstab se pueden omitir.\n"
@@ -7871,6 +7882,8 @@ msgstr ""
 "sistema de ficheros (del tipo dado) que se encuentra en el dispositivo.\n"
 "También se puede montar un árbol de directorios ya visible en otro sitio:\n"
 "     mount --bind dirantiguo dirnuevo\n"
+"o mover un subárbol:\n"
+"     mount --move dirantiguo dirnuevo\n"
 "Se puede dar un dispositivo mediante el nombre, digamos /dev/hda1 o /dev/"
 "cdrom,\n"
 "o mediante la etiqueta, utilizando -L etiqueta, o mediante uuid, mediante -U "
@@ -7906,7 +7919,7 @@ msgstr "mount: no se puede encontrar %s en %s"
 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:153
+#: mount/mount_by_label.c:169
 #, c-format
 msgid ""
 "mount: could not open %s, so UUID and LABEL conversion cannot be done.\n"
@@ -7914,14 +7927,13 @@ msgstr ""
 "mount: no se ha podido abrir %s; así que no se puede efectuar la conversión\n"
 "de UUID y ETIQUETA\n"
 
-#: mount/mount_by_label.c:257
+#: mount/mount_by_label.c:295
 msgid "mount: bad UUID"
 msgstr "mount: UUID incorrecto"
 
 #: mount/mount_guess_fstype.c:487
-#, fuzzy
 msgid "mount: error while guessing filesystem type\n"
-msgstr "mount: debe especificar el tipo de sistema de ficheros"
+msgstr "mount: error al intentar adivinar el tipo de sistema de ficheros\n"
 
 #: mount/mount_guess_fstype.c:496
 #, c-format
@@ -7947,87 +7959,87 @@ msgstr "       Se probar
 msgid "Trying %s\n"
 msgstr "Probando con %s\n"
 
-#: mount/nfsmount.c:231
+#: mount/nfsmount.c:237
 msgid "mount: excessively long host:dir argument\n"
 msgstr "mount: argumento host:dir demasiado largo\n"
 
-#: mount/nfsmount.c:245
+#: mount/nfsmount.c:251
 msgid "mount: warning: multiple hostnames not supported\n"
 msgstr "mount: atención: varios nombres de host no soportados\n"
 
-#: mount/nfsmount.c:250
+#: mount/nfsmount.c:256
 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:261 mount/nfsmount.c:516
+#: mount/nfsmount.c:267 mount/nfsmount.c:522
 #, 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:267
+#: mount/nfsmount.c:273
 msgid "mount: got bad hp->h_length\n"
 msgstr "mount: valor incorrecto para hp->h_length\n"
 
-#: mount/nfsmount.c:284
+#: mount/nfsmount.c:290
 msgid "mount: excessively long option argument\n"
 msgstr "mount: argumento de opción demasiado largo\n"
 
-#: mount/nfsmount.c:376
+#: mount/nfsmount.c:382
 msgid "Warning: Unrecognized proto= option.\n"
 msgstr "Atención: opción proto= no reconocida.\n"
 
-#: mount/nfsmount.c:383
+#: mount/nfsmount.c:389
 msgid "Warning: Option namlen is not supported.\n"
 msgstr "Atención: la opción namlen no está soportada.\n"
 
-#: mount/nfsmount.c:387
+#: mount/nfsmount.c:393
 #, c-format
 msgid "unknown nfs mount parameter: %s=%d\n"
 msgstr "Parámetro de montaje nfs desconocido: %s=%d\n"
 
-#: mount/nfsmount.c:421
+#: mount/nfsmount.c:427
 msgid "Warning: option nolock is not supported.\n"
 msgstr "Atención: la opción nolock no está soportada.\n"
 
-#: mount/nfsmount.c:426
+#: mount/nfsmount.c:432
 #, c-format
 msgid "unknown nfs mount option: %s%s\n"
 msgstr "Opción de montaje nfs desconocida: %s%s\n"
 
-#: mount/nfsmount.c:522
+#: mount/nfsmount.c:528
 msgid "mount: got bad hp->h_length?\n"
 msgstr "mount: ¿valor incorrecto para hp->h_length?\n"
 
-#: mount/nfsmount.c:710
+#: mount/nfsmount.c:716
 msgid "NFS over TCP is not supported.\n"
 msgstr "NFS sobre TCP no está soportado.\n"
 
-#: mount/nfsmount.c:717
+#: mount/nfsmount.c:723
 msgid "nfs socket"
 msgstr "nfs socket"
 
-#: mount/nfsmount.c:721
+#: mount/nfsmount.c:727
 msgid "nfs bindresvport"
 msgstr "nfs bindresvport"
 
-#: mount/nfsmount.c:735
+#: mount/nfsmount.c:741
 msgid "nfs server reported service unavailable"
 msgstr "el servidor nfs informa de que el servicio no está disponible"
 
-#: mount/nfsmount.c:744
+#: mount/nfsmount.c:750
 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:748
+#: mount/nfsmount.c:754
 #, c-format
 msgid "using port %d for nfs deamon\n"
 msgstr "Utilizando puerto %d para daemon de nfs\n"
 
-#: mount/nfsmount.c:759
+#: mount/nfsmount.c:765
 msgid "nfs connect"
 msgstr "nfs connect"
 
-#: mount/nfsmount.c:846
+#: mount/nfsmount.c:852
 #, c-format
 msgid "unknown nfs status return value: %d"
 msgstr "Valor de retorno de nfs status desconocido: %d"
@@ -8137,26 +8149,26 @@ msgstr ""
 msgid "umount: %s: %s"
 msgstr "umount: %s: %s"
 
-#: mount/umount.c:285
+#: mount/umount.c:284
 msgid "no umount2, trying umount...\n"
 msgstr "umount2 no existe; se está probando con umount...\n"
 
-#: mount/umount.c:301
+#: mount/umount.c:300
 #, 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:319
+#: mount/umount.c:318
 #, 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:329
+#: mount/umount.c:328
 #, 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:338
+#: mount/umount.c:337
 #, c-format
 msgid "%s umounted\n"
 msgstr "Se ha ejecutado umount en %s\n"
@@ -8358,30 +8370,93 @@ msgstr "   %f enteros/seg.; %f recepci
 msgid "Usage: %s [-c] [-n level] [-s bufsize]\n"
 msgstr "Uso: %s [-c] [-n nivel] [-s tamañobúfer]\n"
 
-#: sys-utils/ipcrm.c:59
+#: sys-utils/ipcrm.c:66
 #, c-format
 msgid "invalid id: %s\n"
 msgstr "identificador inválido: %s\n"
 
-#: sys-utils/ipcrm.c:77
+#: sys-utils/ipcrm.c:84
 #, c-format
 msgid "cannot remove id %s (%s)\n"
 msgstr "no se puede eliminar el identificador %s (%s)\n"
 
-#: sys-utils/ipcrm.c:91
-#, c-format
-msgid "usage: %s {shm | msg | sem} id ...\n"
+#: sys-utils/ipcrm.c:99
+#, fuzzy, c-format
+msgid "deprecated usage: %s {shm | msg | sem} id ...\n"
 msgstr "uso: %s [shm | msg | sem] id ...\n"
 
-#: sys-utils/ipcrm.c:124
+#: sys-utils/ipcrm.c:126
 #, c-format
 msgid "unknown resource type: %s\n"
 msgstr "tipo de recurso desconocido: %s\n"
 
-#: sys-utils/ipcrm.c:128
+#: sys-utils/ipcrm.c:130
 msgid "resource(s) deleted\n"
 msgstr "recurso(s) eliminado\n"
 
+#: sys-utils/ipcrm.c:140
+#, c-format
+msgid ""
+"usage: %s [ [-q msqid] [-m shmid] [-s semid]\n"
+"          [-Q msgkey] [-M shmkey] [-S semkey] ... ]\n"
+msgstr ""
+
+#: sys-utils/ipcrm.c:181
+#, c-format
+msgid "%s: illegal option -- %c\n"
+msgstr ""
+
+#: sys-utils/ipcrm.c:192
+#, fuzzy, c-format
+msgid "%s: illegal key (%s)\n"
+msgstr "Tecla no permitida"
+
+#: sys-utils/ipcrm.c:207 sys-utils/ipcrm.c:239
+#, fuzzy
+msgid "permission denied for key"
+msgstr "mount: permiso denegado"
+
+#: sys-utils/ipcrm.c:210 sys-utils/ipcrm.c:249
+msgid "already removed key"
+msgstr ""
+
+#: sys-utils/ipcrm.c:213 sys-utils/ipcrm.c:244
+#, fuzzy
+msgid "invalid key"
+msgstr "identificador inválido: %s\n"
+
+#: sys-utils/ipcrm.c:216 sys-utils/ipcrm.c:254
+msgid "unknown error in key"
+msgstr ""
+
+#: sys-utils/ipcrm.c:240
+#, fuzzy
+msgid "permission denied for id"
+msgstr "mount: permiso denegado"
+
+#: sys-utils/ipcrm.c:245
+#, fuzzy
+msgid "invalid id"
+msgstr "identificador inválido: %s\n"
+
+#: sys-utils/ipcrm.c:250
+msgid "already removed id"
+msgstr ""
+
+#: sys-utils/ipcrm.c:255
+msgid "unknown error in id"
+msgstr ""
+
+#: sys-utils/ipcrm.c:258
+#, fuzzy, c-format
+msgid "%s: %s (%s)\n"
+msgstr "%s en %s\n"
+
+#: sys-utils/ipcrm.c:266
+#, fuzzy, c-format
+msgid "%s: unknown argument: %s\n"
+msgstr "%s: señal desconocida %s\n"
+
 #: sys-utils/ipcs.c:122
 #, c-format
 msgid "usage : %s -asmq -tclup \n"
@@ -9004,8 +9079,8 @@ msgstr ""
 msgid "missing comma"
 msgstr "falta una coma"
 
-#: sys-utils/readprofile.c:58
-#, fuzzy, c-format
+#: sys-utils/readprofile.c:60
+#, c-format
 msgid ""
 "%s: Usage: \"%s [options]\n"
 "\t -m <mapfile>  (default = \"%s\")\n"
@@ -9027,38 +9102,40 @@ msgstr ""
 "         -a            Imprime todos los símbolos, incluso si número total "
 "es 0\n"
 "         -r            Restablece todos los contadores (sólo root)\n"
+"         -n            Desactiva la detección automática del orden de los "
+"bytes\n"
 "         -V            Imprime la versión y sale\n"
 
-#: sys-utils/readprofile.c:81
+#: sys-utils/readprofile.c:83
 msgid "out of memory"
 msgstr "no queda memoria"
 
-#: sys-utils/readprofile.c:142
+#: sys-utils/readprofile.c:144
 #, c-format
 msgid "%s Version %s\n"
 msgstr "%s Versión %s\n"
 
-#: sys-utils/readprofile.c:226
+#: sys-utils/readprofile.c:228
 #, c-format
 msgid "Sampling_step: %i\n"
 msgstr "Paso de sondeo: %i\n"
 
-#: sys-utils/readprofile.c:239 sys-utils/readprofile.c:262
+#: sys-utils/readprofile.c:241 sys-utils/readprofile.c:265
 #, c-format
 msgid "%s: %s(%i): wrong map line\n"
 msgstr "%s: %s(%i): línea de mapa incorrecta\n"
 
-#: sys-utils/readprofile.c:250
+#: sys-utils/readprofile.c:253
 #, 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:273
+#: sys-utils/readprofile.c:276
 #, c-format
 msgid "%s: profile address out of range. Wrong map file?\n"
 msgstr "%s dirección del perfil fuera de rango. ¿Fichero `map' incorrecto?\n"
 
-#: sys-utils/readprofile.c:299
+#: sys-utils/readprofile.c:304
 msgid "total"
 msgstr "total"
 
@@ -9208,11 +9285,10 @@ msgid "hexdump: bad skip value.\n"
 msgstr "hexdump: valor de salto incorrecto.\n"
 
 #: text-utils/hexsyntax.c:131
-#, fuzzy
 msgid ""
 "hexdump: [-bcCdovx] [-e fmt] [-f fmt_file] [-n length] [-s skip] [file ...]\n"
 msgstr ""
-"hexdump: [-bcdovx] [-e fmt] [-f fichero_fmt] [-n longitud] [-s omitir] "
+"hexdump: [-bcCdovx] [-e fmt] [-f fichero_fmt] [-n longitud] [-s omitir] "
 "[fichero ...]\n"
 
 #: text-utils/more.c:263
@@ -9436,24 +9512,9 @@ msgstr "L
 msgid "Out of memory when growing buffer.\n"
 msgstr "No queda memoria al aumentar el tamaño del búfer.\n"
 
-#~ msgid "'."
-#~ msgstr "'."
-
-#~ msgid "'\n"
-#~ msgstr "'\n"
-
-#~ msgid "Block %d in file `"
-#~ msgstr "Bloque %d de fichero `"
-
-#~ msgid "The directory '"
-#~ msgstr "El directorio '"
-
 #~ msgid "umount: only %s can unmount %s from %s"
 #~ msgstr "umount: sólo %s puede desmontar %s desde %s"
 
-#~ msgid "not "
-#~ msgstr "no "
-
 #~ msgid "cannot open %s %s\n"
 #~ msgstr "No se puede abrir %s %s\n"
 
@@ -9534,12 +9595,6 @@ msgstr "No queda memoria al aumentar el tama
 #~ "Reinicie el sistema para asegurarse de que la tabla de particiones se "
 #~ "actualice.\n"
 
-#~ msgid "SGI rxlvol"
-#~ msgstr "SGI rxlvol"
-
-#~ msgid "AST Windows swapfile"
-#~ msgstr "AST Windows swapfile"
-
 #~ msgid "Warning: partition %s contains part of "
 #~ msgstr "Atención: la partición %s contiene parte de "
 
@@ -9585,21 +9640,6 @@ msgstr "No queda memoria al aumentar el tama
 #~ msgid "Warning: your account expires on %d %s %d.\n"
 #~ msgstr "Atención: la cuenta caduca en %d %s del año %d.\n"
 
-#~ msgid "s"
-#~ msgstr "s"
-
-#~ msgid "snow.on"
-#~ msgstr "snow.on"
-
-#~ msgid "snow.off"
-#~ msgstr "snow.off"
-
-#~ msgid "softscroll.on"
-#~ msgstr "softscroll.on"
-
-#~ msgid "softscroll.off"
-#~ msgstr "softscroll.off"
-
 #~ msgid "mount: warning: cannot change mounted device with a remount\n"
 #~ msgstr ""
 #~ "mount: atención: no se puede cambiar el dispositivo montado con un nuevo "
index e2d34184d94a6e41696106969921efb140b7d099..b2a723b75a50aabb2349e47d1c1305dc261f434f 100644 (file)
--- a/po/et.po
+++ b/po/et.po
@@ -12,7 +12,7 @@
 msgid ""
 msgstr ""
 "Project-Id-Version: util-linux 2.11n\n"
-"POT-Creation-Date: 2002-03-08 23:54+0100\n"
+"POT-Creation-Date: 2002-04-06 01:28+0200\n"
 "PO-Revision-Date: 2001-12-20 22:30+0200\n"
 "Last-Translator: Meelis Roos <mroos@linux.ee>\n"
 "Language-Team: Estonian <et@li.org>\n"
@@ -152,7 +152,7 @@ msgstr "Kasutamine: %s [ -n ] seade\n"
 
 #: disk-utils/fdformat.c:120 disk-utils/fsck.minix.c:1291
 #: disk-utils/isosize.c:179 disk-utils/mkfs.bfs.c:119 disk-utils/mkfs.c:55
-#: disk-utils/mkfs.minix.c:644 disk-utils/mkswap.c:452
+#: disk-utils/mkfs.minix.c:644 disk-utils/mkswap.c:457
 #: disk-utils/setfdprm.c:128 misc-utils/cal.c:246 misc-utils/ddate.c:181
 #: misc-utils/kill.c:188 misc-utils/rename.c:79 misc-utils/script.c:132
 #, c-format
@@ -802,7 +802,7 @@ msgstr "seek ei 
 msgid "Weird values in do_check: probably bugs\n"
 msgstr "Imelikud väärtused funktsioonis do_check - ilmselt bugid\n"
 
-#: disk-utils/mkfs.minix.c:583 disk-utils/mkswap.c:362
+#: disk-utils/mkfs.minix.c:583 disk-utils/mkswap.c:368
 msgid "seek failed in check_blocks"
 msgstr "seek ei õnnestunud plokkide kontrollimisel"
 
@@ -863,64 +863,64 @@ msgstr "Kasutan etteantud lehek
 msgid "Assuming pages of size %d (not %d)\n"
 msgstr "Eeldan lehekülje suuruseks %d (mitte %d)\n"
 
-#: disk-utils/mkswap.c:316
+#: disk-utils/mkswap.c:322
 #, c-format
 msgid "Usage: %s [-c] [-v0|-v1] [-pPAGESZ] /dev/name [blocks]\n"
 msgstr "Kasutamine: %s [-c] [-v0|-v1] [-pLKSUURUS] /dev/nimi [plokke]\n"
 
-#: disk-utils/mkswap.c:339
+#: disk-utils/mkswap.c:345
 msgid "too many bad pages"
 msgstr "liiga palju vigaseid lehekülgi"
 
-#: disk-utils/mkswap.c:353 misc-utils/look.c:182 misc-utils/setterm.c:1130
+#: disk-utils/mkswap.c:359 misc-utils/look.c:182 misc-utils/setterm.c:1130
 #: text-utils/more.c:1934 text-utils/more.c:1945
 msgid "Out of memory"
 msgstr "Mälu sai otsa"
 
-#: disk-utils/mkswap.c:370
+#: disk-utils/mkswap.c:376
 msgid "one bad page\n"
 msgstr "üks vigane lehekülg\n"
 
-#: disk-utils/mkswap.c:372
+#: disk-utils/mkswap.c:378
 #, c-format
 msgid "%d bad pages\n"
 msgstr "%d vigast lehekülge\n"
 
-#: disk-utils/mkswap.c:492
+#: disk-utils/mkswap.c:497
 #, c-format
 msgid "%s: error: Nowhere to set up swap on?\n"
 msgstr "%s: Viga - ei ole öeldud, kuhu saalimisala tekitada\n"
 
-#: disk-utils/mkswap.c:510
+#: disk-utils/mkswap.c:515
 #, c-format
 msgid "%s: error: size %ld is larger than device size %d\n"
 msgstr "%s: Viga - suurus %ld on suurem kui seadme maht %d\n"
 
-#: disk-utils/mkswap.c:529
+#: disk-utils/mkswap.c:534
 #, c-format
 msgid "%s: error: unknown version %d\n"
 msgstr "%s: Viga - tundmatu versioon %d\n"
 
-#: disk-utils/mkswap.c:535
+#: disk-utils/mkswap.c:540
 #, c-format
 msgid "%s: error: swap area needs to be at least %ldkB\n"
 msgstr "%s: Viga - saalimisala peab olema vähemalt %ldkB\n"
 
-#: disk-utils/mkswap.c:554
+#: disk-utils/mkswap.c:559
 #, c-format
 msgid "%s: warning: truncating swap area to %ldkB\n"
 msgstr "%s: Hoiatus - piiran saalimisala %ld kB-ga\n"
 
-#: disk-utils/mkswap.c:566
+#: disk-utils/mkswap.c:571
 #, c-format
 msgid "Will not try to make swapdevice on '%s'"
 msgstr "ei ürita luua saalimisala seadmele `%s'"
 
-#: disk-utils/mkswap.c:575 disk-utils/mkswap.c:596
+#: disk-utils/mkswap.c:580 disk-utils/mkswap.c:601
 msgid "fatal: first page unreadable"
 msgstr "fataalne viga: esimene lehkülg pole kättesaadav"
 
-#: disk-utils/mkswap.c:581
+#: disk-utils/mkswap.c:586
 #, c-format
 msgid ""
 "%s: Device '%s' contains a valid Sun disklabel.\n"
@@ -934,24 +934,24 @@ msgstr ""
 "Saalimisala ei tekitataud. Kui Te tõesti soovite sellele seadmele\n"
 "v0 saalimisala tekitada, kasutage -f võtit selle sundimiseks.\n"
 
-#: disk-utils/mkswap.c:605
+#: disk-utils/mkswap.c:610
 msgid "Unable to set up swap-space: unreadable"
 msgstr "Ei suuda saalimisala tekitada: seade pole loetav"
 
-#: disk-utils/mkswap.c:606
-#, c-format
-msgid "Setting up swapspace version %d, size = %ld bytes\n"
+#: disk-utils/mkswap.c:611
+#, fuzzy, c-format
+msgid "Setting up swapspace version %d, size = %lu bytes\n"
 msgstr "Tekitan saalimisala versiooniga %d, suurus = %ld baiti\n"
 
-#: disk-utils/mkswap.c:612
+#: disk-utils/mkswap.c:617
 msgid "unable to rewind swap-device"
 msgstr "ei suuda tagasi kerida saalimisseadet"
 
-#: disk-utils/mkswap.c:615
+#: disk-utils/mkswap.c:620
 msgid "unable to write signature page"
 msgstr "ei suuda kirjutada signatuuriga lehekülge"
 
-#: disk-utils/mkswap.c:623
+#: disk-utils/mkswap.c:628
 msgid "fsync failed"
 msgstr "fsync ei õnnestunud"
 
@@ -5510,7 +5510,7 @@ msgstr "Muudan kasutaja %s kohta k
 msgid "Password error."
 msgstr "Miski ei klapi"
 
-#: login-utils/chfn.c:176 login-utils/chsh.c:167 login-utils/login.c:775
+#: login-utils/chfn.c:176 login-utils/chsh.c:167 login-utils/login.c:787
 #: login-utils/newgrp.c:48 login-utils/simpleinit.c:320 mount/lomount.c:248
 #: mount/lomount.c:253
 msgid "Password: "
@@ -5730,20 +5730,25 @@ msgstr ""
 "\n"
 "katkestatud %10.10s %5.5s \n"
 
-#: login-utils/login.c:402
+#: login-utils/login.c:264
+#, fuzzy, c-format
+msgid "FATAL: can't reopen tty: %s"
+msgstr "%s: Ei suuda avada faili %s\n"
+
+#: login-utils/login.c:413
 msgid "login: -h for super-user only.\n"
 msgstr "login: -h on ainult superkasutajale\n"
 
-#: login-utils/login.c:429
+#: login-utils/login.c:440
 msgid "usage: login [-fp] [username]\n"
 msgstr "Kasutamine: login [-fp] [kasutajanimi]\n"
 
-#: login-utils/login.c:538
+#: login-utils/login.c:547
 #, c-format
 msgid "login: PAM Failure, aborting: %s\n"
 msgstr "login: PAM viga, katkestan: %s\n"
 
-#: login-utils/login.c:540
+#: login-utils/login.c:549
 #, c-format
 msgid "Couldn't initialize PAM: %s"
 msgstr "Ei suutnud initsialiseerida PAM'i: %s"
@@ -5754,81 +5759,81 @@ msgstr "Ei suutnud initsialiseerida PAM'i: %s"
 #. * PAM doesn't have an interface to specify the "Password: " string
 #. * (yet).
 #.
-#: login-utils/login.c:557
+#: login-utils/login.c:566
 msgid "login: "
 msgstr ""
 
-#: login-utils/login.c:597
+#: login-utils/login.c:606
 #, c-format
 msgid "FAILED LOGIN %d FROM %s FOR %s, %s"
 msgstr ""
 
-#: login-utils/login.c:601
+#: login-utils/login.c:610
 msgid ""
 "Login incorrect\n"
 "\n"
 msgstr ""
 
-#: login-utils/login.c:610
+#: login-utils/login.c:619
 #, c-format
 msgid "TOO MANY LOGIN TRIES (%d) FROM %s FOR %s, %s"
 msgstr ""
 
-#: login-utils/login.c:614
+#: login-utils/login.c:623
 #, c-format
 msgid "FAILED LOGIN SESSION FROM %s FOR %s, %s"
 msgstr ""
 
-#: login-utils/login.c:618
+#: login-utils/login.c:627
 msgid ""
 "\n"
 "Login incorrect\n"
 msgstr ""
 
-#: login-utils/login.c:639 login-utils/login.c:646 login-utils/login.c:678
+#: login-utils/login.c:649 login-utils/login.c:656 login-utils/login.c:690
 msgid ""
 "\n"
 "Session setup problem, abort.\n"
 msgstr ""
 
-#: login-utils/login.c:640
+#: login-utils/login.c:650
 #, c-format
 msgid "NULL user name in %s:%d. Abort."
 msgstr ""
 
-#: login-utils/login.c:647
+#: login-utils/login.c:657
 #, c-format
 msgid "Invalid user name \"%s\" in %s:%d. Abort."
 msgstr ""
 
-#: login-utils/login.c:664
+#: login-utils/login.c:676
 msgid "login: Out of memory\n"
 msgstr "login: Mälu sai otsa\n"
 
-#: login-utils/login.c:710
+#: login-utils/login.c:722
 msgid "Illegal username"
 msgstr "Vigane kasutajanimi"
 
-#: login-utils/login.c:753
+#: login-utils/login.c:765
 #, c-format
 msgid "%s login refused on this terminal.\n"
 msgstr "Kasutaja %s ei tohi sellelt terminaliltsisse logida\n"
 
-#: login-utils/login.c:758
+#: login-utils/login.c:770
 #, c-format
 msgid "LOGIN %s REFUSED FROM %s ON TTY %s"
 msgstr ""
 
-#: login-utils/login.c:762
+#: login-utils/login.c:774
 #, c-format
 msgid "LOGIN %s REFUSED ON TTY %s"
 msgstr ""
 
-#: login-utils/login.c:815
+#: login-utils/login.c:827
 msgid "Login incorrect\n"
 msgstr ""
 
-#: login-utils/login.c:837
+#: login-utils/login.c:849
 msgid ""
 "Too many users logged on already.\n"
 "Try again later.\n"
@@ -5836,77 +5841,82 @@ msgstr ""
 "Liiga palju kasutajaid on juba sisse loginud.\n"
 "Proovige hiljem uuesti.\n"
 
-#: login-utils/login.c:841
+#: login-utils/login.c:853
 msgid "You have too many processes running.\n"
 msgstr "Teil on liiga palju protsesse töötamas\n"
 
-#: login-utils/login.c:1073
+#: login-utils/login.c:1077
 #, c-format
 msgid "DIALUP AT %s BY %s"
 msgstr ""
 
-#: login-utils/login.c:1080
+#: login-utils/login.c:1084
 #, c-format
 msgid "ROOT LOGIN ON %s FROM %s"
 msgstr ""
 
-#: login-utils/login.c:1083
+#: login-utils/login.c:1087
 #, c-format
 msgid "ROOT LOGIN ON %s"
 msgstr ""
 
-#: login-utils/login.c:1086
+#: login-utils/login.c:1090
 #, c-format
 msgid "LOGIN ON %s BY %s FROM %s"
 msgstr ""
 
-#: login-utils/login.c:1089
+#: login-utils/login.c:1093
 #, c-format
 msgid "LOGIN ON %s BY %s"
 msgstr ""
 
-#: login-utils/login.c:1101
+#: login-utils/login.c:1105
 msgid "You have new mail.\n"
 msgstr "Teile on uusi kirju\n"
 
-#: login-utils/login.c:1103
+#: login-utils/login.c:1107
 msgid "You have mail.\n"
 msgstr "Teile on kirju\n"
 
 #. error in fork()
-#: login-utils/login.c:1129
+#: login-utils/login.c:1125
 #, c-format
 msgid "login: failure forking: %s"
 msgstr "login: Viga fork'imisel: %s"
 
-#: login-utils/login.c:1151
+#: login-utils/login.c:1162
+#, c-format
+msgid "TIOCSCTTY failed: %m"
+msgstr ""
+
+#: login-utils/login.c:1168
 msgid "setuid() failed"
 msgstr "setuid() ei õnnestunud"
 
-#: login-utils/login.c:1157
+#: login-utils/login.c:1174
 #, c-format
 msgid "No directory %s!\n"
 msgstr "Kataloogi %s pole!\n"
 
-#: login-utils/login.c:1161
+#: login-utils/login.c:1178
 msgid "Logging in with home = \"/\".\n"
 msgstr "Login sisse kodukataloogiga \"/\"\n"
 
-#: login-utils/login.c:1169
+#: login-utils/login.c:1186
 msgid "login: no memory for shell script.\n"
 msgstr "login: Ei jätku mälu shell-skriptile\n"
 
-#: login-utils/login.c:1196
+#: login-utils/login.c:1213
 #, c-format
 msgid "login: couldn't exec shell script: %s.\n"
 msgstr "login: Ei suutnud käivitada shell skripti: %s\n"
 
-#: login-utils/login.c:1199
+#: login-utils/login.c:1216
 #, c-format
 msgid "login: no shell: %s.\n"
 msgstr "login: shelli pole: %s\n"
 
-#: login-utils/login.c:1214
+#: login-utils/login.c:1231
 #, c-format
 msgid ""
 "\n"
@@ -5915,62 +5925,62 @@ msgstr ""
 "\n"
 "%s login: "
 
-#: login-utils/login.c:1225
+#: login-utils/login.c:1242
 msgid "login name much too long.\n"
 msgstr "Kasutajanimi on liiga pikk\n"
 
-#: login-utils/login.c:1226
+#: login-utils/login.c:1243
 msgid "NAME too long"
 msgstr ""
 
-#: login-utils/login.c:1233
+#: login-utils/login.c:1250
 msgid "login names may not start with '-'.\n"
 msgstr "Kasutajanimed ei tohi alata miinusega\n"
 
-#: login-utils/login.c:1243
+#: login-utils/login.c:1260
 msgid "too many bare linefeeds.\n"
 msgstr "Liiga palju tühje ridu\n"
 
-#: login-utils/login.c:1244
+#: login-utils/login.c:1261
 msgid "EXCESSIVE linefeeds"
 msgstr ""
 
-#: login-utils/login.c:1255
+#: login-utils/login.c:1272
 #, c-format
 msgid "Login timed out after %d seconds\n"
 msgstr ""
 
-#: login-utils/login.c:1352
+#: login-utils/login.c:1369
 #, c-format
 msgid "Last login: %.*s "
 msgstr "Viimati loginud: %.*s "
 
-#: login-utils/login.c:1356
+#: login-utils/login.c:1373
 #, c-format
 msgid "from %.*s\n"
 msgstr "masinast %.*s\n"
 
-#: login-utils/login.c:1359
+#: login-utils/login.c:1376
 #, c-format
 msgid "on %.*s\n"
 msgstr "terminalil %.*s\n"
 
-#: login-utils/login.c:1379
+#: login-utils/login.c:1396
 #, c-format
 msgid "LOGIN FAILURE FROM %s, %s"
 msgstr ""
 
-#: login-utils/login.c:1382
+#: login-utils/login.c:1399
 #, c-format
 msgid "LOGIN FAILURE ON %s, %s"
 msgstr ""
 
-#: login-utils/login.c:1386
+#: login-utils/login.c:1403
 #, c-format
 msgid "%d LOGIN FAILURES FROM %s, %s"
 msgstr ""
 
-#: login-utils/login.c:1389
+#: login-utils/login.c:1406
 #, c-format
 msgid "%d LOGIN FAILURES ON %s, %s"
 msgstr ""
@@ -7431,13 +7441,13 @@ msgstr ""
 msgid "mount: can't find %s in %s or %s"
 msgstr ""
 
-#: mount/mount_by_label.c:153
+#: mount/mount_by_label.c:169
 #, c-format
 msgid ""
 "mount: could not open %s, so UUID and LABEL conversion cannot be done.\n"
 msgstr ""
 
-#: mount/mount_by_label.c:257
+#: mount/mount_by_label.c:295
 msgid "mount: bad UUID"
 msgstr ""
 
@@ -7469,87 +7479,87 @@ msgstr ""
 msgid "Trying %s\n"
 msgstr ""
 
-#: mount/nfsmount.c:231
+#: mount/nfsmount.c:237
 msgid "mount: excessively long host:dir argument\n"
 msgstr ""
 
-#: mount/nfsmount.c:245
+#: mount/nfsmount.c:251
 msgid "mount: warning: multiple hostnames not supported\n"
 msgstr ""
 
-#: mount/nfsmount.c:250
+#: mount/nfsmount.c:256
 msgid "mount: directory to mount not in host:dir format\n"
 msgstr ""
 
-#: mount/nfsmount.c:261 mount/nfsmount.c:516
+#: mount/nfsmount.c:267 mount/nfsmount.c:522
 #, c-format
 msgid "mount: can't get address for %s\n"
 msgstr ""
 
-#: mount/nfsmount.c:267
+#: mount/nfsmount.c:273
 msgid "mount: got bad hp->h_length\n"
 msgstr ""
 
-#: mount/nfsmount.c:284
+#: mount/nfsmount.c:290
 msgid "mount: excessively long option argument\n"
 msgstr ""
 
-#: mount/nfsmount.c:376
+#: mount/nfsmount.c:382
 msgid "Warning: Unrecognized proto= option.\n"
 msgstr ""
 
-#: mount/nfsmount.c:383
+#: mount/nfsmount.c:389
 msgid "Warning: Option namlen is not supported.\n"
 msgstr ""
 
-#: mount/nfsmount.c:387
+#: mount/nfsmount.c:393
 #, c-format
 msgid "unknown nfs mount parameter: %s=%d\n"
 msgstr ""
 
-#: mount/nfsmount.c:421
+#: mount/nfsmount.c:427
 msgid "Warning: option nolock is not supported.\n"
 msgstr ""
 
-#: mount/nfsmount.c:426
+#: mount/nfsmount.c:432
 #, c-format
 msgid "unknown nfs mount option: %s%s\n"
 msgstr ""
 
-#: mount/nfsmount.c:522
+#: mount/nfsmount.c:528
 msgid "mount: got bad hp->h_length?\n"
 msgstr ""
 
-#: mount/nfsmount.c:710
+#: mount/nfsmount.c:716
 msgid "NFS over TCP is not supported.\n"
 msgstr ""
 
-#: mount/nfsmount.c:717
+#: mount/nfsmount.c:723
 msgid "nfs socket"
 msgstr ""
 
-#: mount/nfsmount.c:721
+#: mount/nfsmount.c:727
 msgid "nfs bindresvport"
 msgstr ""
 
-#: mount/nfsmount.c:735
+#: mount/nfsmount.c:741
 msgid "nfs server reported service unavailable"
 msgstr ""
 
-#: mount/nfsmount.c:744
+#: mount/nfsmount.c:750
 msgid "used portmapper to find NFS port\n"
 msgstr ""
 
-#: mount/nfsmount.c:748
+#: mount/nfsmount.c:754
 #, c-format
 msgid "using port %d for nfs deamon\n"
 msgstr ""
 
-#: mount/nfsmount.c:759
+#: mount/nfsmount.c:765
 msgid "nfs connect"
 msgstr ""
 
-#: mount/nfsmount.c:846
+#: mount/nfsmount.c:852
 #, c-format
 msgid "unknown nfs status return value: %d"
 msgstr ""
@@ -7652,26 +7662,26 @@ msgstr ""
 msgid "umount: %s: %s"
 msgstr ""
 
-#: mount/umount.c:285
+#: mount/umount.c:284
 msgid "no umount2, trying umount...\n"
 msgstr ""
 
-#: mount/umount.c:301
+#: mount/umount.c:300
 #, c-format
 msgid "could not umount %s - trying %s instead\n"
 msgstr ""
 
-#: mount/umount.c:319
+#: mount/umount.c:318
 #, c-format
 msgid "umount: %s busy - remounted read-only\n"
 msgstr ""
 
-#: mount/umount.c:329
+#: mount/umount.c:328
 #, c-format
 msgid "umount: could not remount %s read-only\n"
 msgstr ""
 
-#: mount/umount.c:338
+#: mount/umount.c:337
 #, c-format
 msgid "%s umounted\n"
 msgstr ""
@@ -7857,30 +7867,91 @@ msgstr ""
 msgid "Usage: %s [-c] [-n level] [-s bufsize]\n"
 msgstr ""
 
-#: sys-utils/ipcrm.c:59
+#: sys-utils/ipcrm.c:66
 #, c-format
 msgid "invalid id: %s\n"
 msgstr ""
 
-#: sys-utils/ipcrm.c:77
+#: sys-utils/ipcrm.c:84
 #, c-format
 msgid "cannot remove id %s (%s)\n"
 msgstr ""
 
-#: sys-utils/ipcrm.c:91
+#: sys-utils/ipcrm.c:99
 #, c-format
-msgid "usage: %s {shm | msg | sem} id ...\n"
+msgid "deprecated usage: %s {shm | msg | sem} id ...\n"
 msgstr ""
 
-#: sys-utils/ipcrm.c:124
+#: sys-utils/ipcrm.c:126
 #, c-format
 msgid "unknown resource type: %s\n"
 msgstr ""
 
-#: sys-utils/ipcrm.c:128
+#: sys-utils/ipcrm.c:130
 msgid "resource(s) deleted\n"
 msgstr ""
 
+#: sys-utils/ipcrm.c:140
+#, c-format
+msgid ""
+"usage: %s [ [-q msqid] [-m shmid] [-s semid]\n"
+"          [-Q msgkey] [-M shmkey] [-S semkey] ... ]\n"
+msgstr ""
+
+#: sys-utils/ipcrm.c:181
+#, c-format
+msgid "%s: illegal option -- %c\n"
+msgstr ""
+
+#: sys-utils/ipcrm.c:192
+#, fuzzy, c-format
+msgid "%s: illegal key (%s)\n"
+msgstr "Vale klahv"
+
+#: sys-utils/ipcrm.c:207 sys-utils/ipcrm.c:239
+#, fuzzy
+msgid "permission denied for key"
+msgstr "newgrp: Pole õigusi"
+
+#: sys-utils/ipcrm.c:210 sys-utils/ipcrm.c:249
+msgid "already removed key"
+msgstr ""
+
+#: sys-utils/ipcrm.c:213 sys-utils/ipcrm.c:244
+msgid "invalid key"
+msgstr ""
+
+#: sys-utils/ipcrm.c:216 sys-utils/ipcrm.c:254
+msgid "unknown error in key"
+msgstr ""
+
+#: sys-utils/ipcrm.c:240
+#, fuzzy
+msgid "permission denied for id"
+msgstr "newgrp: Pole õigusi"
+
+#: sys-utils/ipcrm.c:245
+msgid "invalid id"
+msgstr ""
+
+#: sys-utils/ipcrm.c:250
+msgid "already removed id"
+msgstr ""
+
+#: sys-utils/ipcrm.c:255
+msgid "unknown error in id"
+msgstr ""
+
+#: sys-utils/ipcrm.c:258
+#, fuzzy, c-format
+msgid "%s: %s (%s)\n"
+msgstr "%s paketist %s\n"
+
+#: sys-utils/ipcrm.c:266
+#, fuzzy, c-format
+msgid "%s: unknown argument: %s\n"
+msgstr "%s: Ei suuda avada faili %s\n"
+
 #: sys-utils/ipcs.c:122
 #, c-format
 msgid "usage : %s -asmq -tclup \n"
@@ -8473,7 +8544,7 @@ msgstr ""
 msgid "missing comma"
 msgstr ""
 
-#: sys-utils/readprofile.c:58
+#: sys-utils/readprofile.c:60
 #, c-format
 msgid ""
 "%s: Usage: \"%s [options]\n"
@@ -8488,36 +8559,36 @@ msgid ""
 "\t -V            print version and exit\n"
 msgstr ""
 
-#: sys-utils/readprofile.c:81
+#: sys-utils/readprofile.c:83
 msgid "out of memory"
 msgstr "Mälu sai otsa"
 
-#: sys-utils/readprofile.c:142
+#: sys-utils/readprofile.c:144
 #, c-format
 msgid "%s Version %s\n"
 msgstr ""
 
-#: sys-utils/readprofile.c:226
+#: sys-utils/readprofile.c:228
 #, c-format
 msgid "Sampling_step: %i\n"
 msgstr ""
 
-#: sys-utils/readprofile.c:239 sys-utils/readprofile.c:262
+#: sys-utils/readprofile.c:241 sys-utils/readprofile.c:265
 #, c-format
 msgid "%s: %s(%i): wrong map line\n"
 msgstr ""
 
-#: sys-utils/readprofile.c:250
+#: sys-utils/readprofile.c:253
 #, c-format
 msgid "%s: can't find \"_stext\" in %s\n"
 msgstr ""
 
-#: sys-utils/readprofile.c:273
+#: sys-utils/readprofile.c:276
 #, c-format
 msgid "%s: profile address out of range. Wrong map file?\n"
 msgstr ""
 
-#: sys-utils/readprofile.c:299
+#: sys-utils/readprofile.c:304
 msgid "total"
 msgstr ""
 
index 0825fb7532c679a4be9244fa01541f9db0245040..ec24be2c7b2094615db0e691ea2a313cba9983e2 100644 (file)
--- a/po/fr.po
+++ b/po/fr.po
@@ -11,7 +11,7 @@
 msgid ""
 msgstr ""
 "Project-Id-Version: util-linux 2.10o\n"
-"POT-Creation-Date: 2002-03-08 23:54+0100\n"
+"POT-Creation-Date: 2002-04-06 01:28+0200\n"
 "PO-Revision-Date: 2000-09-07 19:17+0100\n"
 "Last-Translator: Christophe Merlet (RedFox) <christophe@merlet.net>\n"
 "Language-Team: Vincent Renardias <vincent@ldsol.com>\n"
@@ -153,7 +153,7 @@ msgstr "Usage : %s [ -n ] p
 
 #: disk-utils/fdformat.c:120 disk-utils/fsck.minix.c:1291
 #: disk-utils/isosize.c:179 disk-utils/mkfs.bfs.c:119 disk-utils/mkfs.c:55
-#: disk-utils/mkfs.minix.c:644 disk-utils/mkswap.c:452
+#: disk-utils/mkfs.minix.c:644 disk-utils/mkswap.c:457
 #: disk-utils/setfdprm.c:128 misc-utils/cal.c:246 misc-utils/ddate.c:181
 #: misc-utils/kill.c:188 misc-utils/rename.c:79 misc-utils/script.c:132
 #, c-format
@@ -807,7 +807,7 @@ msgstr "La recherche lors du test des blocs a 
 msgid "Weird values in do_check: probably bugs\n"
 msgstr "Valeurs étranges dans do_check : sans doute des bogues.\n"
 
-#: disk-utils/mkfs.minix.c:583 disk-utils/mkswap.c:362
+#: disk-utils/mkfs.minix.c:583 disk-utils/mkswap.c:368
 msgid "seek failed in check_blocks"
 msgstr "La recherche dans check_blocks a échoué."
 
@@ -869,66 +869,66 @@ msgstr ""
 msgid "Assuming pages of size %d (not %d)\n"
 msgstr "Pages de format %d (pas %d) attendues.\n"
 
-#: disk-utils/mkswap.c:316
+#: disk-utils/mkswap.c:322
 #, 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:339
+#: disk-utils/mkswap.c:345
 msgid "too many bad pages"
 msgstr "Trop de mauvaises pages"
 
-#: disk-utils/mkswap.c:353 misc-utils/look.c:182 misc-utils/setterm.c:1130
+#: disk-utils/mkswap.c:359 misc-utils/look.c:182 misc-utils/setterm.c:1130
 #: text-utils/more.c:1934 text-utils/more.c:1945
 msgid "Out of memory"
 msgstr "A court de mémoire"
 
-#: disk-utils/mkswap.c:370
+#: disk-utils/mkswap.c:376
 msgid "one bad page\n"
 msgstr "une mauvaise page\n"
 
-#: disk-utils/mkswap.c:372
+#: disk-utils/mkswap.c:378
 #, c-format
 msgid "%d bad pages\n"
 msgstr "%d mauvaises pages\n"
 
-#: disk-utils/mkswap.c:492
+#: disk-utils/mkswap.c:497
 #, c-format
 msgid "%s: error: Nowhere to set up swap on?\n"
 msgstr "%s : erreur  : aucun endroit défini pour l'échange ?\n"
 
-#: disk-utils/mkswap.c:510
+#: disk-utils/mkswap.c:515
 #, c-format
 msgid "%s: error: size %ld is larger than device size %d\n"
 msgstr ""
 "%s : erreur : la taille %ld est plus grande que celle du périphérique : %d\n"
 
-#: disk-utils/mkswap.c:529
+#: disk-utils/mkswap.c:534
 #, c-format
 msgid "%s: error: unknown version %d\n"
 msgstr "%s : erreur : version inconnue %d\n"
 
-#: disk-utils/mkswap.c:535
+#: disk-utils/mkswap.c:540
 #, c-format
 msgid "%s: error: swap area needs to be at least %ldkB\n"
 msgstr ""
 "%s : erreur : la taille de la zone d'échange doit être d'au moins %ldKo\n"
 
-#: disk-utils/mkswap.c:554
+#: disk-utils/mkswap.c:559
 #, c-format
 msgid "%s: warning: truncating swap area to %ldkB\n"
 msgstr "%s : avertissement : troncature de la zone d'échange à %ldKo\n"
 
-#: disk-utils/mkswap.c:566
+#: disk-utils/mkswap.c:571
 #, c-format
 msgid "Will not try to make swapdevice on '%s'"
 msgstr "Pas d'essai de création de périphérique d'échange sur '%s'"
 
-#: disk-utils/mkswap.c:575 disk-utils/mkswap.c:596
+#: disk-utils/mkswap.c:580 disk-utils/mkswap.c:601
 msgid "fatal: first page unreadable"
 msgstr "Erreur bloquante : première page illisible."
 
-#: disk-utils/mkswap.c:581
+#: disk-utils/mkswap.c:586
 #, c-format
 msgid ""
 "%s: Device '%s' contains a valid Sun disklabel.\n"
@@ -943,24 +943,24 @@ msgstr ""
 "périphérique, utilisez\n"
 "l'option -f pour forcer celui-ci.\n"
 
-#: disk-utils/mkswap.c:605
+#: disk-utils/mkswap.c:610
 msgid "Unable to set up swap-space: unreadable"
 msgstr "Impossible de configurer l'espace d'échange : illisible."
 
-#: disk-utils/mkswap.c:606
-#, c-format
-msgid "Setting up swapspace version %d, size = %ld bytes\n"
+#: disk-utils/mkswap.c:611
+#, fuzzy, c-format
+msgid "Setting up swapspace version %d, size = %lu bytes\n"
 msgstr "Configuration de l'espace d'échange version %d, taille = %ld octets\n"
 
-#: disk-utils/mkswap.c:612
+#: disk-utils/mkswap.c:617
 msgid "unable to rewind swap-device"
 msgstr "Impossible de rembobiner le périphérique d'échange."
 
-#: disk-utils/mkswap.c:615
+#: disk-utils/mkswap.c:620
 msgid "unable to write signature page"
 msgstr "Impossible d'écrire la page de signature."
 
-#: disk-utils/mkswap.c:623
+#: disk-utils/mkswap.c:628
 msgid "fsync failed"
 msgstr "Échec de fsync."
 
@@ -5864,7 +5864,7 @@ msgstr "Changement des informations utilisateur pour %s.\n"
 msgid "Password error."
 msgstr "Erreur de mot de passe."
 
-#: login-utils/chfn.c:176 login-utils/chsh.c:167 login-utils/login.c:775
+#: login-utils/chfn.c:176 login-utils/chsh.c:167 login-utils/login.c:787
 #: login-utils/newgrp.c:48 login-utils/simpleinit.c:320 mount/lomount.c:248
 #: mount/lomount.c:253
 msgid "Password: "
@@ -6085,20 +6085,25 @@ msgstr ""
 "\n"
 "%10.10s %5.5s interrompu\n"
 
-#: login-utils/login.c:402
+#: login-utils/login.c:264
+#, fuzzy, c-format
+msgid "FATAL: can't reopen tty: %s"
+msgstr "mount : impossible d'ouvrir %s: %s"
+
+#: login-utils/login.c:413
 msgid "login: -h for super-user only.\n"
 msgstr "connexion : -h pour superutilisateur uniquement.\n"
 
-#: login-utils/login.c:429
+#: login-utils/login.c:440
 msgid "usage: login [-fp] [username]\n"
 msgstr "usage : connexion [-fp] [nom-utilisateur]\n"
 
-#: login-utils/login.c:538
+#: login-utils/login.c:547
 #, c-format
 msgid "login: PAM Failure, aborting: %s\n"
 msgstr "connexion : échec de PAM, abandon : %s\n"
 
-#: login-utils/login.c:540
+#: login-utils/login.c:549
 #, c-format
 msgid "Couldn't initialize PAM: %s"
 msgstr "Initialisation de PAM impossible : %s"
@@ -6109,16 +6114,16 @@ msgstr "Initialisation de PAM impossible : %s"
 #. * PAM doesn't have an interface to specify the "Password: " string
 #. * (yet).
 #.
-#: login-utils/login.c:557
+#: login-utils/login.c:566
 msgid "login: "
 msgstr "connexion : "
 
-#: login-utils/login.c:597
+#: login-utils/login.c:606
 #, c-format
 msgid "FAILED LOGIN %d FROM %s FOR %s, %s"
 msgstr "ECHEC DE LA CONNEXION %d DEPUIS %s POUR %s, %s"
 
-#: login-utils/login.c:601
+#: login-utils/login.c:610
 msgid ""
 "Login incorrect\n"
 "\n"
@@ -6126,17 +6131,17 @@ msgstr ""
 "Connexion incorrecte\n"
 "\n"
 
-#: login-utils/login.c:610
+#: login-utils/login.c:619
 #, c-format
 msgid "TOO MANY LOGIN TRIES (%d) FROM %s FOR %s, %s"
 msgstr "TENTATIVES DE CONNEXION TROP NOMBREUSES (%d) DEPUIS %s POUR %s, %s"
 
-#: login-utils/login.c:614
+#: login-utils/login.c:623
 #, c-format
 msgid "FAILED LOGIN SESSION FROM %s FOR %s, %s"
 msgstr "ÉCHEC DE LA SESSION DE CONNEXION DEPUIS %s POUR %s, %s"
 
-#: login-utils/login.c:618
+#: login-utils/login.c:627
 msgid ""
 "\n"
 "Login incorrect\n"
@@ -6144,51 +6149,51 @@ msgstr ""
 "\n"
 "Connexion incorrecte\n"
 
-#: login-utils/login.c:639 login-utils/login.c:646 login-utils/login.c:678
+#: login-utils/login.c:649 login-utils/login.c:656 login-utils/login.c:690
 msgid ""
 "\n"
 "Session setup problem, abort.\n"
 msgstr ""
 
-#: login-utils/login.c:640
+#: login-utils/login.c:650
 #, c-format
 msgid "NULL user name in %s:%d. Abort."
 msgstr ""
 
-#: login-utils/login.c:647
+#: login-utils/login.c:657
 #, c-format
 msgid "Invalid user name \"%s\" in %s:%d. Abort."
 msgstr ""
 
-#: login-utils/login.c:664
+#: login-utils/login.c:676
 #, fuzzy
 msgid "login: Out of memory\n"
 msgstr "%s : A court de mémoire !\n"
 
-#: login-utils/login.c:710
+#: login-utils/login.c:722
 msgid "Illegal username"
 msgstr "Nom utilisateur non valide"
 
-#: login-utils/login.c:753
+#: login-utils/login.c:765
 #, c-format
 msgid "%s login refused on this terminal.\n"
 msgstr "Connexion %s refusée sur ce terminal.\n"
 
-#: login-utils/login.c:758
+#: login-utils/login.c:770
 #, c-format
 msgid "LOGIN %s REFUSED FROM %s ON TTY %s"
 msgstr "CONNEXION %s REFUSÉE DEPUIS %s SUR TTY %s"
 
-#: login-utils/login.c:762
+#: login-utils/login.c:774
 #, c-format
 msgid "LOGIN %s REFUSED ON TTY %s"
 msgstr "CONNEXION %s REFUSÉE SUR TTY %s"
 
-#: login-utils/login.c:815
+#: login-utils/login.c:827
 msgid "Login incorrect\n"
 msgstr "Connexion incorrecte\n"
 
-#: login-utils/login.c:837
+#: login-utils/login.c:849
 msgid ""
 "Too many users logged on already.\n"
 "Try again later.\n"
@@ -6196,79 +6201,84 @@ msgstr ""
 "Trop d'utilisateurs déjà connectés.\n"
 "Essayez de nouveau plus tard.\n"
 
-#: login-utils/login.c:841
+#: login-utils/login.c:853
 msgid "You have too many processes running.\n"
 msgstr "Trop de processus en cours d'exécution.\n"
 
-#: login-utils/login.c:1073
+#: login-utils/login.c:1077
 #, c-format
 msgid "DIALUP AT %s BY %s"
 msgstr "ACCÈS DISTANT À %s PAR %s"
 
-#: login-utils/login.c:1080
+#: login-utils/login.c:1084
 #, c-format
 msgid "ROOT LOGIN ON %s FROM %s"
 msgstr "CONNEXION ROOT À %s DEPUIS %s"
 
-#: login-utils/login.c:1083
+#: login-utils/login.c:1087
 #, c-format
 msgid "ROOT LOGIN ON %s"
 msgstr "CONNEXION ROOT À %s"
 
-#: login-utils/login.c:1086
+#: login-utils/login.c:1090
 #, c-format
 msgid "LOGIN ON %s BY %s FROM %s"
 msgstr "CONNEXION À %s PAR %s DEPUIS %s"
 
-#: login-utils/login.c:1089
+#: login-utils/login.c:1093
 #, c-format
 msgid "LOGIN ON %s BY %s"
 msgstr "CONNEXION À %s PAR %s"
 
-#: login-utils/login.c:1101
+#: login-utils/login.c:1105
 #, fuzzy
 msgid "You have new mail.\n"
 msgstr "Vous avez %smail.\n"
 
-#: login-utils/login.c:1103
+#: login-utils/login.c:1107
 #, fuzzy
 msgid "You have mail.\n"
 msgstr "Vous avez %smail.\n"
 
 #. error in fork()
-#: login-utils/login.c:1129
+#: login-utils/login.c:1125
 #, c-format
 msgid "login: failure forking: %s"
 msgstr "Connexion : échec de fork : %s"
 
-#: login-utils/login.c:1151
+#: login-utils/login.c:1162
+#, c-format
+msgid "TIOCSCTTY failed: %m"
+msgstr ""
+
+#: login-utils/login.c:1168
 msgid "setuid() failed"
 msgstr "setuid() a échoué"
 
-#: login-utils/login.c:1157
+#: login-utils/login.c:1174
 #, c-format
 msgid "No directory %s!\n"
 msgstr "Aucun répertoire %s !\n"
 
-#: login-utils/login.c:1161
+#: login-utils/login.c:1178
 msgid "Logging in with home = \"/\".\n"
 msgstr "Connexion avec home = \"/\".\n"
 
-#: login-utils/login.c:1169
+#: login-utils/login.c:1186
 msgid "login: no memory for shell script.\n"
 msgstr "Connexion : mémoire insuffisante pour le script de shell.\n"
 
-#: login-utils/login.c:1196
+#: login-utils/login.c:1213
 #, c-format
 msgid "login: couldn't exec shell script: %s.\n"
 msgstr "Connexion : impossible d'exécuter le script de shell : %s.\n"
 
-#: login-utils/login.c:1199
+#: login-utils/login.c:1216
 #, c-format
 msgid "login: no shell: %s.\n"
 msgstr "Connexion : aucun shell : %s.\n"
 
-#: login-utils/login.c:1214
+#: login-utils/login.c:1231
 #, c-format
 msgid ""
 "\n"
@@ -6277,62 +6287,62 @@ msgstr ""
 "\n"
 "Connexion %s : "
 
-#: login-utils/login.c:1225
+#: login-utils/login.c:1242
 msgid "login name much too long.\n"
 msgstr "nom de connexion beaucoup trop long.\n"
 
-#: login-utils/login.c:1226
+#: login-utils/login.c:1243
 msgid "NAME too long"
 msgstr "NOM trop long"
 
-#: login-utils/login.c:1233
+#: login-utils/login.c:1250
 msgid "login names may not start with '-'.\n"
 msgstr "Les noms de connexion ne peuvent pas commencer par '-'.\n"
 
-#: login-utils/login.c:1243
+#: login-utils/login.c:1260
 msgid "too many bare linefeeds.\n"
 msgstr "Trop de sauts de ligne vides.\n"
 
-#: login-utils/login.c:1244
+#: login-utils/login.c:1261
 msgid "EXCESSIVE linefeeds"
 msgstr "Sauts de ligne EXCESSIFS"
 
-#: login-utils/login.c:1255
+#: login-utils/login.c:1272
 #, c-format
 msgid "Login timed out after %d seconds\n"
 msgstr "Temporisation de la connexion après %d secondes.\n"
 
-#: login-utils/login.c:1352
+#: login-utils/login.c:1369
 #, c-format
 msgid "Last login: %.*s "
 msgstr "Dernière connexion : %.*s "
 
-#: login-utils/login.c:1356
+#: login-utils/login.c:1373
 #, c-format
 msgid "from %.*s\n"
 msgstr "depuis %.*s\n"
 
-#: login-utils/login.c:1359
+#: login-utils/login.c:1376
 #, c-format
 msgid "on %.*s\n"
 msgstr "à %.*s\n"
 
-#: login-utils/login.c:1379
+#: login-utils/login.c:1396
 #, c-format
 msgid "LOGIN FAILURE FROM %s, %s"
 msgstr "ÉCHEC DE LA CONNEXION DEPUIS %s, %s"
 
-#: login-utils/login.c:1382
+#: login-utils/login.c:1399
 #, c-format
 msgid "LOGIN FAILURE ON %s, %s"
 msgstr "ÉCHEC DE LA CONNEXION À %s, %s"
 
-#: login-utils/login.c:1386
+#: login-utils/login.c:1403
 #, c-format
 msgid "%d LOGIN FAILURES FROM %s, %s"
 msgstr "%d ÉCHECS DE CONNEXION DEPUIS %s, %s"
 
-#: login-utils/login.c:1389
+#: login-utils/login.c:1406
 #, c-format
 msgid "%d LOGIN FAILURES ON %s, %s"
 msgstr "%d ÉCHECS DE CONNEXION À %s, %s"
@@ -7875,7 +7885,7 @@ msgstr "mount : impossible de trouver %s dans %s"
 msgid "mount: can't find %s in %s or %s"
 msgstr "mount : impossible de trouver %s dans %s ou %s"
 
-#: mount/mount_by_label.c:153
+#: mount/mount_by_label.c:169
 #, c-format
 msgid ""
 "mount: could not open %s, so UUID and LABEL conversion cannot be done.\n"
@@ -7883,7 +7893,7 @@ msgstr ""
 "mount : impossible d'ouvrir %s, tant que la conversion UUID et LABEL n'a pas "
 "été faite.\n"
 
-#: mount/mount_by_label.c:257
+#: mount/mount_by_label.c:295
 msgid "mount: bad UUID"
 msgstr "mount : UUID incorrect"
 
@@ -7916,87 +7926,87 @@ msgstr "      Essayer avec le type %s\n"
 msgid "Trying %s\n"
 msgstr "Essaye %s\n"
 
-#: mount/nfsmount.c:231
+#: mount/nfsmount.c:237
 msgid "mount: excessively long host:dir argument\n"
 msgstr "mount : argument hôte:dir beaucoup trop long\n"
 
-#: mount/nfsmount.c:245
+#: mount/nfsmount.c:251
 msgid "mount: warning: multiple hostnames not supported\n"
 msgstr "mount : avertissement: noms d'hôtes multiples non pris en charge\n"
 
-#: mount/nfsmount.c:250
+#: mount/nfsmount.c:256
 msgid "mount: directory to mount not in host:dir format\n"
 msgstr "mount : le répertoire à monter n'est pas au format hôte:dir.\n"
 
-#: mount/nfsmount.c:261 mount/nfsmount.c:516
+#: mount/nfsmount.c:267 mount/nfsmount.c:522
 #, c-format
 msgid "mount: can't get address for %s\n"
 msgstr "mount : impossible d'obtenir l'adresse pour %s\n"
 
-#: mount/nfsmount.c:267
+#: mount/nfsmount.c:273
 msgid "mount: got bad hp->h_length\n"
 msgstr "mount : hp->h_length incorrect reçu\n"
 
-#: mount/nfsmount.c:284
+#: mount/nfsmount.c:290
 msgid "mount: excessively long option argument\n"
 msgstr "mount : argument option beaucoup trop long\n"
 
-#: mount/nfsmount.c:376
+#: mount/nfsmount.c:382
 msgid "Warning: Unrecognized proto= option.\n"
 msgstr "Avertissement : option proto= non reconnue.\n"
 
-#: mount/nfsmount.c:383
+#: mount/nfsmount.c:389
 msgid "Warning: Option namlen is not supported.\n"
 msgstr "Avertissement : option namlen non prise en charge.\n"
 
-#: mount/nfsmount.c:387
+#: mount/nfsmount.c:393
 #, c-format
 msgid "unknown nfs mount parameter: %s=%d\n"
 msgstr "Paramètre de montage nfs inconnu : %s=%d\n"
 
-#: mount/nfsmount.c:421
+#: mount/nfsmount.c:427
 msgid "Warning: option nolock is not supported.\n"
 msgstr "Avertissement : option nolock non prise en charge.\n"
 
-#: mount/nfsmount.c:426
+#: mount/nfsmount.c:432
 #, c-format
 msgid "unknown nfs mount option: %s%s\n"
 msgstr "Option de montage nfs inconnue : %s%s\n"
 
-#: mount/nfsmount.c:522
+#: mount/nfsmount.c:528
 msgid "mount: got bad hp->h_length?\n"
 msgstr "mount : hp->h_length incorrect reçu ?\n"
 
-#: mount/nfsmount.c:710
+#: mount/nfsmount.c:716
 msgid "NFS over TCP is not supported.\n"
 msgstr "NFS sur TCP non pris en charge.\n"
 
-#: mount/nfsmount.c:717
+#: mount/nfsmount.c:723
 msgid "nfs socket"
 msgstr "nfs socket"
 
-#: mount/nfsmount.c:721
+#: mount/nfsmount.c:727
 msgid "nfs bindresvport"
 msgstr "nfs bindresvport"
 
-#: mount/nfsmount.c:735
+#: mount/nfsmount.c:741
 msgid "nfs server reported service unavailable"
 msgstr ""
 
-#: mount/nfsmount.c:744
+#: mount/nfsmount.c:750
 msgid "used portmapper to find NFS port\n"
 msgstr "Mappeur de port utilisé pour trouver le port NFS\n"
 
-#: mount/nfsmount.c:748
+#: mount/nfsmount.c:754
 #, c-format
 msgid "using port %d for nfs deamon\n"
 msgstr "Utilisation du port %d pour le daemon nfs\n"
 
-#: mount/nfsmount.c:759
+#: mount/nfsmount.c:765
 msgid "nfs connect"
 msgstr "nfs connect"
 
-#: mount/nfsmount.c:846
+#: mount/nfsmount.c:852
 #, c-format
 msgid "unknown nfs status return value: %d"
 msgstr "Valeur de l'état nfs renvoyée inconnue : %d"
@@ -8106,26 +8116,26 @@ msgstr "umount : %s : p
 msgid "umount: %s: %s"
 msgstr "umount : %s : %s"
 
-#: mount/umount.c:285
+#: mount/umount.c:284
 msgid "no umount2, trying umount...\n"
 msgstr "Aucun umount2, essai avec umount...\n"
 
-#: mount/umount.c:301
+#: mount/umount.c:300
 #, c-format
 msgid "could not umount %s - trying %s instead\n"
 msgstr "umount %s impossible - essai avec %s à la place\n"
 
-#: mount/umount.c:319
+#: mount/umount.c:318
 #, c-format
 msgid "umount: %s busy - remounted read-only\n"
 msgstr "umount : %s en cours d'utilisation - remonté en lecture seule\n"
 
-#: mount/umount.c:329
+#: mount/umount.c:328
 #, c-format
 msgid "umount: could not remount %s read-only\n"
 msgstr "umount : impossible de remonter %s en lecture seule\n"
 
-#: mount/umount.c:338
+#: mount/umount.c:337
 #, c-format
 msgid "%s umounted\n"
 msgstr "%s démonté\n"
@@ -8331,30 +8341,93 @@ msgstr "   %f int/sec ; %f re
 msgid "Usage: %s [-c] [-n level] [-s bufsize]\n"
 msgstr "Usage : %s [-c] [-n niveau] [-s taille-tampon]\n"
 
-#: sys-utils/ipcrm.c:59
+#: sys-utils/ipcrm.c:66
 #, c-format
 msgid "invalid id: %s\n"
 msgstr "id invalide : %s\n"
 
-#: sys-utils/ipcrm.c:77
+#: sys-utils/ipcrm.c:84
 #, c-format
 msgid "cannot remove id %s (%s)\n"
 msgstr "Impossible de supprimer l'id %s (%s)\n"
 
-#: sys-utils/ipcrm.c:91
-#, c-format
-msgid "usage: %s {shm | msg | sem} id ...\n"
+#: sys-utils/ipcrm.c:99
+#, fuzzy, c-format
+msgid "deprecated usage: %s {shm | msg | sem} id ...\n"
 msgstr "Usage : %s {shm | msg | sem} id...\n"
 
-#: sys-utils/ipcrm.c:124
+#: sys-utils/ipcrm.c:126
 #, c-format
 msgid "unknown resource type: %s\n"
 msgstr "Type de ressource inconnu : %s\n"
 
-#: sys-utils/ipcrm.c:128
+#: sys-utils/ipcrm.c:130
 msgid "resource(s) deleted\n"
 msgstr "Ressource(s) supprimée(s)\n"
 
+#: sys-utils/ipcrm.c:140
+#, c-format
+msgid ""
+"usage: %s [ [-q msqid] [-m shmid] [-s semid]\n"
+"          [-Q msgkey] [-M shmkey] [-S semkey] ... ]\n"
+msgstr ""
+
+#: sys-utils/ipcrm.c:181
+#, c-format
+msgid "%s: illegal option -- %c\n"
+msgstr ""
+
+#: sys-utils/ipcrm.c:192
+#, fuzzy, c-format
+msgid "%s: illegal key (%s)\n"
+msgstr "Touche non valide"
+
+#: sys-utils/ipcrm.c:207 sys-utils/ipcrm.c:239
+#, fuzzy
+msgid "permission denied for key"
+msgstr "mount : permission refusée."
+
+#: sys-utils/ipcrm.c:210 sys-utils/ipcrm.c:249
+msgid "already removed key"
+msgstr ""
+
+#: sys-utils/ipcrm.c:213 sys-utils/ipcrm.c:244
+#, fuzzy
+msgid "invalid key"
+msgstr "id invalide : %s\n"
+
+#: sys-utils/ipcrm.c:216 sys-utils/ipcrm.c:254
+msgid "unknown error in key"
+msgstr ""
+
+#: sys-utils/ipcrm.c:240
+#, fuzzy
+msgid "permission denied for id"
+msgstr "mount : permission refusée."
+
+#: sys-utils/ipcrm.c:245
+#, fuzzy
+msgid "invalid id"
+msgstr "id invalide : %s\n"
+
+#: sys-utils/ipcrm.c:250
+msgid "already removed id"
+msgstr ""
+
+#: sys-utils/ipcrm.c:255
+msgid "unknown error in id"
+msgstr ""
+
+#: sys-utils/ipcrm.c:258
+#, fuzzy, c-format
+msgid "%s: %s (%s)\n"
+msgstr "%s sur %s\n"
+
+#: sys-utils/ipcrm.c:266
+#, fuzzy, c-format
+msgid "%s: unknown argument: %s\n"
+msgstr "%s : signal %s inconnu\n"
+
 #: sys-utils/ipcs.c:122
 #, c-format
 msgid "usage : %s -asmq -tclup \n"
@@ -8980,7 +9053,7 @@ msgstr ""
 msgid "missing comma"
 msgstr ""
 
-#: sys-utils/readprofile.c:58
+#: sys-utils/readprofile.c:60
 #, fuzzy, c-format
 msgid ""
 "%s: Usage: \"%s [options]\n"
@@ -9004,37 +9077,37 @@ msgstr ""
 "\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:81
+#: sys-utils/readprofile.c:83
 #, fuzzy
 msgid "out of memory"
 msgstr "A court de mémoire ?\n"
 
-#: sys-utils/readprofile.c:142
+#: sys-utils/readprofile.c:144
 #, c-format
 msgid "%s Version %s\n"
 msgstr "%s Version %s\n"
 
-#: sys-utils/readprofile.c:226
+#: sys-utils/readprofile.c:228
 #, c-format
 msgid "Sampling_step: %i\n"
 msgstr "Phase_prélèv : %i\n"
 
-#: sys-utils/readprofile.c:239 sys-utils/readprofile.c:262
+#: sys-utils/readprofile.c:241 sys-utils/readprofile.c:265
 #, c-format
 msgid "%s: %s(%i): wrong map line\n"
 msgstr "%s: %s(%i) : ligne de mappe incorrecte\n"
 
-#: sys-utils/readprofile.c:250
+#: sys-utils/readprofile.c:253
 #, c-format
 msgid "%s: can't find \"_stext\" in %s\n"
 msgstr "%s : impossible de trouver \"_stext\" dans %s\n"
 
-#: sys-utils/readprofile.c:273
+#: sys-utils/readprofile.c:276
 #, c-format
 msgid "%s: profile address out of range. Wrong map file?\n"
 msgstr ""
 
-#: sys-utils/readprofile.c:299
+#: sys-utils/readprofile.c:304
 msgid "total"
 msgstr "total"
 
index 574ee1382f0aeefc9e54b9b56faef45b1a9531f7..e8fe909059f09b26338c68c0933e2a6c4e1a5a6c 100644 (file)
--- a/po/it.po
+++ b/po/it.po
@@ -4,7 +4,7 @@
 msgid ""
 msgstr ""
 "Project-Id-Version: util-linux 2.10f\n"
-"POT-Creation-Date: 2002-03-08 23:54+0100\n"
+"POT-Creation-Date: 2002-04-06 01:28+0200\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"
@@ -148,7 +148,7 @@ msgstr "utilizzo: dispositivo %s [ -n ]\n"
 
 #: disk-utils/fdformat.c:120 disk-utils/fsck.minix.c:1291
 #: disk-utils/isosize.c:179 disk-utils/mkfs.bfs.c:119 disk-utils/mkfs.c:55
-#: disk-utils/mkfs.minix.c:644 disk-utils/mkswap.c:452
+#: disk-utils/mkfs.minix.c:644 disk-utils/mkswap.c:457
 #: disk-utils/setfdprm.c:128 misc-utils/cal.c:246 misc-utils/ddate.c:181
 #: misc-utils/kill.c:188 misc-utils/rename.c:79 misc-utils/script.c:132
 #, c-format
@@ -808,7 +808,7 @@ msgstr "ricerca non riuscita durante il controllo dei blocchi"
 msgid "Weird values in do_check: probably bugs\n"
 msgstr "Valori strani in do_check: probabilmente sono presenti dei bug\n"
 
-#: disk-utils/mkfs.minix.c:583 disk-utils/mkswap.c:362
+#: disk-utils/mkfs.minix.c:583 disk-utils/mkswap.c:368
 msgid "seek failed in check_blocks"
 msgstr "ricerca in check_blocks non riuscita"
 
@@ -870,66 +870,66 @@ msgstr ""
 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:316
+#: disk-utils/mkswap.c:322
 #, 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:339
+#: disk-utils/mkswap.c:345
 msgid "too many bad pages"
 msgstr "troppe pagine danneggiate"
 
-#: disk-utils/mkswap.c:353 misc-utils/look.c:182 misc-utils/setterm.c:1130
+#: disk-utils/mkswap.c:359 misc-utils/look.c:182 misc-utils/setterm.c:1130
 #: text-utils/more.c:1934 text-utils/more.c:1945
 msgid "Out of memory"
 msgstr "Memoria esaurita"
 
-#: disk-utils/mkswap.c:370
+#: disk-utils/mkswap.c:376
 msgid "one bad page\n"
 msgstr "una pagina danneggiata\n"
 
-#: disk-utils/mkswap.c:372
+#: disk-utils/mkswap.c:378
 #, c-format
 msgid "%d bad pages\n"
 msgstr "%d pagine danneggiate\n"
 
-#: disk-utils/mkswap.c:492
+#: disk-utils/mkswap.c:497
 #, c-format
 msgid "%s: error: Nowhere to set up swap on?\n"
 msgstr "%s: errore: non è possibile impostare swap in nessuna posizione?\n"
 
-#: disk-utils/mkswap.c:510
+#: disk-utils/mkswap.c:515
 #, 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:529
+#: disk-utils/mkswap.c:534
 #, c-format
 msgid "%s: error: unknown version %d\n"
 msgstr "%s: errore: versione sconosciuta %d\n"
 
-#: disk-utils/mkswap.c:535
+#: disk-utils/mkswap.c:540
 #, c-format
 msgid "%s: error: swap area needs to be at least %ldkB\n"
 msgstr "%s: errore: l'area di swap deve equivalere almeno a %ldkB\n"
 
-#: disk-utils/mkswap.c:554
+#: disk-utils/mkswap.c:559
 #, c-format
 msgid "%s: warning: truncating swap area to %ldkB\n"
 msgstr "%s: attenzione: troncamento area swap a %ldkB\n"
 
-#: disk-utils/mkswap.c:566
+#: disk-utils/mkswap.c:571
 #, c-format
 msgid "Will not try to make swapdevice on '%s'"
 msgstr "Non si cercherà di creare uno swapdevice su '%s'"
 
-#: disk-utils/mkswap.c:575 disk-utils/mkswap.c:596
+#: disk-utils/mkswap.c:580 disk-utils/mkswap.c:601
 msgid "fatal: first page unreadable"
 msgstr "errore irreversibile: impossibile leggere la prima pagina"
 
-#: disk-utils/mkswap.c:581
+#: disk-utils/mkswap.c:586
 #, c-format
 msgid ""
 "%s: Device '%s' contains a valid Sun disklabel.\n"
@@ -943,24 +943,24 @@ msgstr ""
 "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:605
+#: disk-utils/mkswap.c:610
 msgid "Unable to set up swap-space: unreadable"
 msgstr "Impossibile impostare lo spazio-swap: non leggibile"
 
-#: disk-utils/mkswap.c:606
-#, c-format
-msgid "Setting up swapspace version %d, size = %ld bytes\n"
+#: disk-utils/mkswap.c:611
+#, fuzzy, c-format
+msgid "Setting up swapspace version %d, size = %lu bytes\n"
 msgstr "Impostazione spazio di swap versione %d, dimensione = %ld byte\n"
 
-#: disk-utils/mkswap.c:612
+#: disk-utils/mkswap.c:617
 msgid "unable to rewind swap-device"
 msgstr "impossibile riavvolgere il dispositivo swap"
 
-#: disk-utils/mkswap.c:615
+#: disk-utils/mkswap.c:620
 msgid "unable to write signature page"
 msgstr "impossibile scrivere sulla pagina di firma"
 
-#: disk-utils/mkswap.c:623
+#: disk-utils/mkswap.c:628
 msgid "fsync failed"
 msgstr "fsync non riuscito "
 
@@ -5875,7 +5875,7 @@ msgstr "Modifica delle informazioni finger per %s in corso.\n"
 msgid "Password error."
 msgstr "Errore password."
 
-#: login-utils/chfn.c:176 login-utils/chsh.c:167 login-utils/login.c:775
+#: login-utils/chfn.c:176 login-utils/chsh.c:167 login-utils/login.c:787
 #: login-utils/newgrp.c:48 login-utils/simpleinit.c:320 mount/lomount.c:248
 #: mount/lomount.c:253
 msgid "Password: "
@@ -6095,20 +6095,25 @@ msgstr ""
 "\n"
 "interrotto %10.10s %5.5s \n"
 
-#: login-utils/login.c:402
+#: login-utils/login.c:264
+#, fuzzy, c-format
+msgid "FATAL: can't reopen tty: %s"
+msgstr "mount: impossibile aprire %s: %s"
+
+#: login-utils/login.c:413
 msgid "login: -h for super-user only.\n"
 msgstr "login: -h solamente per super-user.\n"
 
-#: login-utils/login.c:429
+#: login-utils/login.c:440
 msgid "usage: login [-fp] [username]\n"
 msgstr "utilizzo: login [-fp] [nomeutente]\n"
 
-#: login-utils/login.c:538
+#: login-utils/login.c:547
 #, c-format
 msgid "login: PAM Failure, aborting: %s\n"
 msgstr "logine: errore PAM, interruzione in corso: %s\n"
 
-#: login-utils/login.c:540
+#: login-utils/login.c:549
 #, c-format
 msgid "Couldn't initialize PAM: %s"
 msgstr "Impossibile inizializzare PAM: %s"
@@ -6119,16 +6124,16 @@ msgstr "Impossibile inizializzare PAM: %s"
 #. * PAM doesn't have an interface to specify the "Password: " string
 #. * (yet).
 #.
-#: login-utils/login.c:557
+#: login-utils/login.c:566
 msgid "login: "
 msgstr "login: "
 
-#: login-utils/login.c:597
+#: login-utils/login.c:606
 #, c-format
 msgid "FAILED LOGIN %d FROM %s FOR %s, %s"
 msgstr "FALLITA LOGIN %d DA %s PER %s, %s"
 
-#: login-utils/login.c:601
+#: login-utils/login.c:610
 msgid ""
 "Login incorrect\n"
 "\n"
@@ -6136,17 +6141,17 @@ msgstr ""
 "Login non corretto\n"
 "\n"
 
-#: login-utils/login.c:610
+#: login-utils/login.c:619
 #, c-format
 msgid "TOO MANY LOGIN TRIES (%d) FROM %s FOR %s, %s"
 msgstr "TROPPI TENTATIVI DI LOGIN (%d) DA %s PER %s, %s"
 
-#: login-utils/login.c:614
+#: login-utils/login.c:623
 #, c-format
 msgid "FAILED LOGIN SESSION FROM %s FOR %s, %s"
 msgstr "FALLITA SESSIONE DI LOGIN DA %s PER %s, %s"
 
-#: login-utils/login.c:618
+#: login-utils/login.c:627
 msgid ""
 "\n"
 "Login incorrect\n"
@@ -6154,51 +6159,51 @@ msgstr ""
 "\n"
 "Login  non corretto\n"
 
-#: login-utils/login.c:639 login-utils/login.c:646 login-utils/login.c:678
+#: login-utils/login.c:649 login-utils/login.c:656 login-utils/login.c:690
 msgid ""
 "\n"
 "Session setup problem, abort.\n"
 msgstr ""
 
-#: login-utils/login.c:640
+#: login-utils/login.c:650
 #, c-format
 msgid "NULL user name in %s:%d. Abort."
 msgstr ""
 
-#: login-utils/login.c:647
+#: login-utils/login.c:657
 #, c-format
 msgid "Invalid user name \"%s\" in %s:%d. Abort."
 msgstr ""
 
-#: login-utils/login.c:664
+#: login-utils/login.c:676
 #, fuzzy
 msgid "login: Out of memory\n"
 msgstr "%s: memoria esaurita!\n"
 
-#: login-utils/login.c:710
+#: login-utils/login.c:722
 msgid "Illegal username"
 msgstr "Nome utente non valido"
 
-#: login-utils/login.c:753
+#: login-utils/login.c:765
 #, c-format
 msgid "%s login refused on this terminal.\n"
 msgstr "%s login rifiutato su questo terminale.\n"
 
-#: login-utils/login.c:758
+#: login-utils/login.c:770
 #, c-format
 msgid "LOGIN %s REFUSED FROM %s ON TTY %s"
 msgstr "LOGIN %s RIFIUTATO DA %s SU TTY %s"
 
-#: login-utils/login.c:762
+#: login-utils/login.c:774
 #, c-format
 msgid "LOGIN %s REFUSED ON TTY %s"
 msgstr "LOGIN %s RIFIUTATO SU TTY %s"
 
-#: login-utils/login.c:815
+#: login-utils/login.c:827
 msgid "Login incorrect\n"
 msgstr "Login non corretto\n"
 
-#: login-utils/login.c:837
+#: login-utils/login.c:849
 msgid ""
 "Too many users logged on already.\n"
 "Try again later.\n"
@@ -6206,79 +6211,84 @@ msgstr ""
 "Troppi utenti già collegati.\n"
 "Riprovare successivamente.\n"
 
-#: login-utils/login.c:841
+#: login-utils/login.c:853
 msgid "You have too many processes running.\n"
 msgstr "Ci sono troppi processi in esecuzione.\n"
 
-#: login-utils/login.c:1073
+#: login-utils/login.c:1077
 #, c-format
 msgid "DIALUP AT %s BY %s"
 msgstr " CONNESSIONE DI ACCESSO REMOTO A %s ATTRAVERSO %s"
 
-#: login-utils/login.c:1080
+#: login-utils/login.c:1084
 #, c-format
 msgid "ROOT LOGIN ON %s FROM %s"
 msgstr "LOGIN DI ROOT A %s DA %s"
 
-#: login-utils/login.c:1083
+#: login-utils/login.c:1087
 #, c-format
 msgid "ROOT LOGIN ON %s"
 msgstr "LOGIN DI ROOT A %s"
 
-#: login-utils/login.c:1086
+#: login-utils/login.c:1090
 #, c-format
 msgid "LOGIN ON %s BY %s FROM %s"
 msgstr "LOGIN A %s ATTRAVERSO %s DA %s"
 
-#: login-utils/login.c:1089
+#: login-utils/login.c:1093
 #, c-format
 msgid "LOGIN ON %s BY %s"
 msgstr "LOGIN A %s ATTRAVERSO %s"
 
-#: login-utils/login.c:1101
+#: login-utils/login.c:1105
 #, fuzzy
 msgid "You have new mail.\n"
 msgstr "C'è %sposta.\n"
 
-#: login-utils/login.c:1103
+#: login-utils/login.c:1107
 #, fuzzy
 msgid "You have mail.\n"
 msgstr "C'è %sposta.\n"
 
 #. error in fork()
-#: login-utils/login.c:1129
+#: login-utils/login.c:1125
 #, c-format
 msgid "login: failure forking: %s"
 msgstr "login: errore in esecuzione forking: %s"
 
-#: login-utils/login.c:1151
+#: login-utils/login.c:1162
+#, c-format
+msgid "TIOCSCTTY failed: %m"
+msgstr ""
+
+#: login-utils/login.c:1168
 msgid "setuid() failed"
 msgstr "setuid() non riuscito"
 
-#: login-utils/login.c:1157
+#: login-utils/login.c:1174
 #, c-format
 msgid "No directory %s!\n"
 msgstr "Nessuna directory %s!\n"
 
-#: login-utils/login.c:1161
+#: login-utils/login.c:1178
 msgid "Logging in with home = \"/\".\n"
 msgstr "Connessione con home = \"/\".\n"
 
-#: login-utils/login.c:1169
+#: login-utils/login.c:1186
 msgid "login: no memory for shell script.\n"
 msgstr "login: nessuna memoria per lo script shell.\n"
 
-#: login-utils/login.c:1196
+#: login-utils/login.c:1213
 #, c-format
 msgid "login: couldn't exec shell script: %s.\n"
 msgstr "login: exec dello script shell impossibile: %s.\n"
 
-#: login-utils/login.c:1199
+#: login-utils/login.c:1216
 #, c-format
 msgid "login: no shell: %s.\n"
 msgstr "login: nessuna shell: %s.\n"
 
-#: login-utils/login.c:1214
+#: login-utils/login.c:1231
 #, c-format
 msgid ""
 "\n"
@@ -6287,62 +6297,62 @@ msgstr ""
 "\n"
 "%s login: "
 
-#: login-utils/login.c:1225
+#: login-utils/login.c:1242
 msgid "login name much too long.\n"
 msgstr "il nome di login è troppo lungo.\n"
 
-#: login-utils/login.c:1226
+#: login-utils/login.c:1243
 msgid "NAME too long"
 msgstr "NOME troppo lungo"
 
-#: login-utils/login.c:1233
+#: login-utils/login.c:1250
 msgid "login names may not start with '-'.\n"
 msgstr "I nomi di login non possono iniziare con'-'.\n"
 
-#: login-utils/login.c:1243
+#: login-utils/login.c:1260
 msgid "too many bare linefeeds.\n"
 msgstr "troppi linefeed vuoti.\n"
 
-#: login-utils/login.c:1244
+#: login-utils/login.c:1261
 msgid "EXCESSIVE linefeeds"
 msgstr "Linefeed ECCESSIVI"
 
-#: login-utils/login.c:1255
+#: login-utils/login.c:1272
 #, c-format
 msgid "Login timed out after %d seconds\n"
 msgstr "Login scaduto dopo %d secondi\n"
 
-#: login-utils/login.c:1352
+#: login-utils/login.c:1369
 #, c-format
 msgid "Last login: %.*s "
 msgstr "Ultimo login: %.*s "
 
-#: login-utils/login.c:1356
+#: login-utils/login.c:1373
 #, c-format
 msgid "from %.*s\n"
 msgstr "da %.*s\n"
 
-#: login-utils/login.c:1359
+#: login-utils/login.c:1376
 #, c-format
 msgid "on %.*s\n"
 msgstr "su %.*s\n"
 
-#: login-utils/login.c:1379
+#: login-utils/login.c:1396
 #, c-format
 msgid "LOGIN FAILURE FROM %s, %s"
 msgstr "ERRORE DI LOGIN DA %s, %s"
 
-#: login-utils/login.c:1382
+#: login-utils/login.c:1399
 #, c-format
 msgid "LOGIN FAILURE ON %s, %s"
 msgstr "ERRORE DI LOGIN SU %s, %s"
 
-#: login-utils/login.c:1386
+#: login-utils/login.c:1403
 #, c-format
 msgid "%d LOGIN FAILURES FROM %s, %s"
 msgstr "%d ERRORI DI LOGIN DA %s, %s"
 
-#: login-utils/login.c:1389
+#: login-utils/login.c:1406
 #, c-format
 msgid "%d LOGIN FAILURES ON %s, %s"
 msgstr "%d ERRORI DI LOGIN SU %s, %s"
@@ -7854,13 +7864,13 @@ msgstr "mount: impossibile trovare %s in %s"
 msgid "mount: can't find %s in %s or %s"
 msgstr "mount: impossibile trovare %s in %s o %s"
 
-#: mount/mount_by_label.c:153
+#: mount/mount_by_label.c:169
 #, fuzzy, c-format
 msgid ""
 "mount: could not open %s, so UUID and LABEL conversion cannot be done.\n"
 msgstr "mount: impossibile aprire %s - si sta utilizzando al suo posto %s\n"
 
-#: mount/mount_by_label.c:257
+#: mount/mount_by_label.c:295
 msgid "mount: bad UUID"
 msgstr "mount: UUID non valido"
 
@@ -7893,87 +7903,87 @@ msgstr "      Prover
 msgid "Trying %s\n"
 msgstr "Prova di %s in corso\n"
 
-#: mount/nfsmount.c:231
+#: mount/nfsmount.c:237
 msgid "mount: excessively long host:dir argument\n"
 msgstr "mount: argomento host:dir eccessivamente lungo\n"
 
-#: mount/nfsmount.c:245
+#: mount/nfsmount.c:251
 msgid "mount: warning: multiple hostnames not supported\n"
 msgstr "mount: attenzione:nomi host multipli non supportati\n"
 
-#: mount/nfsmount.c:250
+#: mount/nfsmount.c:256
 msgid "mount: directory to mount not in host:dir format\n"
 msgstr "mount: la directory da montare non è nell'host: formato dir\n"
 
-#: mount/nfsmount.c:261 mount/nfsmount.c:516
+#: mount/nfsmount.c:267 mount/nfsmount.c:522
 #, c-format
 msgid "mount: can't get address for %s\n"
 msgstr "mount: impossibile ottenere l'indirizzo di %s\n"
 
-#: mount/nfsmount.c:267
+#: mount/nfsmount.c:273
 msgid "mount: got bad hp->h_length\n"
 msgstr "mount: ottenuto hp->h_length non valido\n"
 
-#: mount/nfsmount.c:284
+#: mount/nfsmount.c:290
 msgid "mount: excessively long option argument\n"
 msgstr "mount: argomento dell'opzione eccessivamente lungo\n"
 
-#: mount/nfsmount.c:376
+#: mount/nfsmount.c:382
 msgid "Warning: Unrecognized proto= option.\n"
 msgstr "Attenzione: opzione proto= non riconosciuta.\n"
 
-#: mount/nfsmount.c:383
+#: mount/nfsmount.c:389
 msgid "Warning: Option namlen is not supported.\n"
 msgstr "Attenzione: l'opzione namlen non è supportata.\n"
 
-#: mount/nfsmount.c:387
+#: mount/nfsmount.c:393
 #, c-format
 msgid "unknown nfs mount parameter: %s=%d\n"
 msgstr "parametro di nfs mount sconosciuto: %s=%d\n"
 
-#: mount/nfsmount.c:421
+#: mount/nfsmount.c:427
 msgid "Warning: option nolock is not supported.\n"
 msgstr "Attenzione: l'opzione nolock non è supportata.\n"
 
-#: mount/nfsmount.c:426
+#: mount/nfsmount.c:432
 #, c-format
 msgid "unknown nfs mount option: %s%s\n"
 msgstr "opzione di nfs mount sconosciuta: %s%s\n"
 
-#: mount/nfsmount.c:522
+#: mount/nfsmount.c:528
 msgid "mount: got bad hp->h_length?\n"
 msgstr "mount: ottenuto un hp->h_length non valido?\n"
 
-#: mount/nfsmount.c:710
+#: mount/nfsmount.c:716
 msgid "NFS over TCP is not supported.\n"
 msgstr "NFS attraverso TCP non supportato.\n"
 
-#: mount/nfsmount.c:717
+#: mount/nfsmount.c:723
 msgid "nfs socket"
 msgstr "nfs socket"
 
-#: mount/nfsmount.c:721
+#: mount/nfsmount.c:727
 msgid "nfs bindresvport"
 msgstr "nfs bindresvport"
 
-#: mount/nfsmount.c:735
+#: mount/nfsmount.c:741
 msgid "nfs server reported service unavailable"
 msgstr ""
 
-#: mount/nfsmount.c:744
+#: mount/nfsmount.c:750
 msgid "used portmapper to find NFS port\n"
 msgstr "utilizzato il portmapper(mappatore porte) per trovare la porta NFS\n"
 
-#: mount/nfsmount.c:748
+#: mount/nfsmount.c:754
 #, c-format
 msgid "using port %d for nfs deamon\n"
 msgstr "utilizzo della porta %d per il demone nfs\n"
 
-#: mount/nfsmount.c:759
+#: mount/nfsmount.c:765
 msgid "nfs connect"
 msgstr "nfs connect"
 
-#: mount/nfsmount.c:846
+#: mount/nfsmount.c:852
 #, c-format
 msgid "unknown nfs status return value: %d"
 msgstr "valore riportato di stato nfs sconosciuto: %d"
@@ -8082,28 +8092,28 @@ msgstr "umount: %s: i dispositivi di blocchi non sono permessi su fs"
 msgid "umount: %s: %s"
 msgstr "umount: %s: %s"
 
-#: mount/umount.c:285
+#: mount/umount.c:284
 msgid "no umount2, trying umount...\n"
 msgstr "nessun umount2, tentativo di umount in corso...\n"
 
-#: mount/umount.c:301
+#: mount/umount.c:300
 #, 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:319
+#: mount/umount.c:318
 #, c-format
 msgid "umount: %s busy - remounted read-only\n"
 msgstr "umount: %s occupato - rimontato sola lettura\n"
 
-#: mount/umount.c:329
+#: mount/umount.c:328
 #, c-format
 msgid "umount: could not remount %s read-only\n"
 msgstr "umount: impossibile rimontare %s di sola lettura\n"
 
-#: mount/umount.c:338
+#: mount/umount.c:337
 #, c-format
 msgid "%s umounted\n"
 msgstr "eseguito umount di %s\n"
@@ -8302,31 +8312,94 @@ msgstr "   %f int/sec; %f rec (car/sec)\n"
 msgid "Usage: %s [-c] [-n level] [-s bufsize]\n"
 msgstr " Utilizzo: %s [-c] [-n level] [-s bufsize]\n"
 
-#: sys-utils/ipcrm.c:59
+#: sys-utils/ipcrm.c:66
 #, fuzzy, c-format
 msgid "invalid id: %s\n"
 msgstr "Numero non valido: %s\n"
 
-#: sys-utils/ipcrm.c:77
+#: sys-utils/ipcrm.c:84
 #, fuzzy, c-format
 msgid "cannot remove id %s (%s)\n"
 msgstr "impossibile aprire %s %s\n"
 
-#: sys-utils/ipcrm.c:91
+#: sys-utils/ipcrm.c:99
 #, fuzzy, c-format
-msgid "usage: %s {shm | msg | sem} id ...\n"
+msgid "deprecated usage: %s {shm | msg | sem} id ...\n"
 msgstr "utilizzo: %s [shm | msg | sem] id\n"
 
-#: sys-utils/ipcrm.c:124
+#: sys-utils/ipcrm.c:126
 #, fuzzy, c-format
 msgid "unknown resource type: %s\n"
 msgstr "parametro di nfs mount sconosciuto: %s=%d\n"
 
-#: sys-utils/ipcrm.c:128
+#: sys-utils/ipcrm.c:130
 #, fuzzy
 msgid "resource(s) deleted\n"
 msgstr "risorsa eliminata\n"
 
+#: sys-utils/ipcrm.c:140
+#, c-format
+msgid ""
+"usage: %s [ [-q msqid] [-m shmid] [-s semid]\n"
+"          [-Q msgkey] [-M shmkey] [-S semkey] ... ]\n"
+msgstr ""
+
+#: sys-utils/ipcrm.c:181
+#, c-format
+msgid "%s: illegal option -- %c\n"
+msgstr ""
+
+#: sys-utils/ipcrm.c:192
+#, fuzzy, c-format
+msgid "%s: illegal key (%s)\n"
+msgstr "Tasto non valido"
+
+#: sys-utils/ipcrm.c:207 sys-utils/ipcrm.c:239
+#, fuzzy
+msgid "permission denied for key"
+msgstr "mount: autorizzazione negata"
+
+#: sys-utils/ipcrm.c:210 sys-utils/ipcrm.c:249
+msgid "already removed key"
+msgstr ""
+
+#: sys-utils/ipcrm.c:213 sys-utils/ipcrm.c:244
+#, fuzzy
+msgid "invalid key"
+msgstr "Numero non valido: %s\n"
+
+#: sys-utils/ipcrm.c:216 sys-utils/ipcrm.c:254
+msgid "unknown error in key"
+msgstr ""
+
+#: sys-utils/ipcrm.c:240
+#, fuzzy
+msgid "permission denied for id"
+msgstr "mount: autorizzazione negata"
+
+#: sys-utils/ipcrm.c:245
+#, fuzzy
+msgid "invalid id"
+msgstr "Numero non valido: %s\n"
+
+#: sys-utils/ipcrm.c:250
+msgid "already removed id"
+msgstr ""
+
+#: sys-utils/ipcrm.c:255
+msgid "unknown error in id"
+msgstr ""
+
+#: sys-utils/ipcrm.c:258
+#, fuzzy, c-format
+msgid "%s: %s (%s)\n"
+msgstr "%s su %s\n"
+
+#: sys-utils/ipcrm.c:266
+#, fuzzy, c-format
+msgid "%s: unknown argument: %s\n"
+msgstr "%s: segnale sconosciuto %s\n"
+
 #: sys-utils/ipcs.c:122
 #, c-format
 msgid "usage : %s -asmq -tclup \n"
@@ -8944,7 +9017,7 @@ msgstr ""
 msgid "missing comma"
 msgstr ""
 
-#: sys-utils/readprofile.c:58
+#: sys-utils/readprofile.c:60
 #, fuzzy, c-format
 msgid ""
 "%s: Usage: \"%s [options]\n"
@@ -8968,37 +9041,37 @@ msgstr ""
 "\t -r            reimposta tutti i counter (solamente utente root)\n"
 "\t -V            stampa versione ed esci\n"
 
-#: sys-utils/readprofile.c:81
+#: sys-utils/readprofile.c:83
 #, fuzzy
 msgid "out of memory"
 msgstr "memoria insufficiente?\n"
 
-#: sys-utils/readprofile.c:142
+#: sys-utils/readprofile.c:144
 #, c-format
 msgid "%s Version %s\n"
 msgstr "%s Versione %s\n"
 
-#: sys-utils/readprofile.c:226
+#: sys-utils/readprofile.c:228
 #, c-format
 msgid "Sampling_step: %i\n"
 msgstr "Sampling_step: %i\n"
 
-#: sys-utils/readprofile.c:239 sys-utils/readprofile.c:262
+#: sys-utils/readprofile.c:241 sys-utils/readprofile.c:265
 #, c-format
 msgid "%s: %s(%i): wrong map line\n"
 msgstr "%s: %s(%i): linea mappa errata\n"
 
-#: sys-utils/readprofile.c:250
+#: sys-utils/readprofile.c:253
 #, c-format
 msgid "%s: can't find \"_stext\" in %s\n"
 msgstr "%s: impossibile trovare \"_stext\" in %s\n"
 
-#: sys-utils/readprofile.c:273
+#: sys-utils/readprofile.c:276
 #, c-format
 msgid "%s: profile address out of range. Wrong map file?\n"
 msgstr ""
 
-#: sys-utils/readprofile.c:299
+#: sys-utils/readprofile.c:304
 msgid "total"
 msgstr "totale"
 
index 2fa2417ecd844bb4c904ae9b7bd2522d5d458c80..15a9a7fc1a32a17b902aeb296075e15ad1426749 100644 (file)
--- a/po/ja.po
+++ b/po/ja.po
@@ -7,7 +7,7 @@
 msgid ""
 msgstr ""
 "Project-Id-Version: util-linux 2.11n\n"
-"POT-Creation-Date: 2002-03-08 23:54+0100\n"
+"POT-Creation-Date: 2002-04-06 01:28+0200\n"
 "PO-Revision-Date: 2001-12-11 22:43+0900\n"
 "Last-Translator: Daisuke Yamashita <yamad@mb.infoweb.ne.jp>\n"
 "Language-Team: Japanese <ja@li.org>\n"
@@ -147,7 +147,7 @@ msgstr "
 
 #: disk-utils/fdformat.c:120 disk-utils/fsck.minix.c:1291
 #: disk-utils/isosize.c:179 disk-utils/mkfs.bfs.c:119 disk-utils/mkfs.c:55
-#: disk-utils/mkfs.minix.c:644 disk-utils/mkswap.c:452
+#: disk-utils/mkfs.minix.c:644 disk-utils/mkswap.c:457
 #: disk-utils/setfdprm.c:128 misc-utils/cal.c:246 misc-utils/ddate.c:181
 #: misc-utils/kill.c:188 misc-utils/rename.c:79 misc-utils/script.c:132
 #, c-format
@@ -801,7 +801,7 @@ msgstr "
 msgid "Weird values in do_check: probably bugs\n"
 msgstr "do_check ¤ËÊѤÊÃͤ¬¤¢¤ê¤Þ¤¹: Â¿Ê¬¥Ð¥°¤Ç¤·¤ç¤¦\n"
 
-#: disk-utils/mkfs.minix.c:583 disk-utils/mkswap.c:362
+#: disk-utils/mkfs.minix.c:583 disk-utils/mkswap.c:368
 msgid "seek failed in check_blocks"
 msgstr "check_blocks ¤Ç¤Î¥·¡¼¥¯¤Ë¼ºÇÔ¤·¤Þ¤·¤¿"
 
@@ -862,64 +862,64 @@ msgstr ""
 msgid "Assuming pages of size %d (not %d)\n"
 msgstr "¥µ¥¤¥º %d (%d ¤Ç¤Ï¤Ê¤¯) ¤Î¥Ú¡¼¥¸¤ò»î¤·¤Þ¤¹\n"
 
-#: disk-utils/mkswap.c:316
+#: disk-utils/mkswap.c:322
 #, c-format
 msgid "Usage: %s [-c] [-v0|-v1] [-pPAGESZ] /dev/name [blocks]\n"
 msgstr "»È¤¤Êý: %s [-c] [-v0|-v1] [-p¥Ú¡¼¥¸¥µ¥¤¥º] /dev/name [¥Ö¥í¥Ã¥¯¿ô]\n"
 
-#: disk-utils/mkswap.c:339
+#: disk-utils/mkswap.c:345
 msgid "too many bad pages"
 msgstr "ÉÔÀµ¥Ú¡¼¥¸¤¬Â¿¤¹¤®¤Þ¤¹"
 
-#: disk-utils/mkswap.c:353 misc-utils/look.c:182 misc-utils/setterm.c:1130
+#: disk-utils/mkswap.c:359 misc-utils/look.c:182 misc-utils/setterm.c:1130
 #: text-utils/more.c:1934 text-utils/more.c:1945
 msgid "Out of memory"
 msgstr "¥á¥â¥ê¤¬Â­¤ê¤Þ¤»¤ó"
 
-#: disk-utils/mkswap.c:370
+#: disk-utils/mkswap.c:376
 msgid "one bad page\n"
 msgstr "ÉÔÀµ¤Ê¥Ú¡¼¥¸¿ô\n"
 
-#: disk-utils/mkswap.c:372
+#: disk-utils/mkswap.c:378
 #, c-format
 msgid "%d bad pages\n"
 msgstr "ÉÔÀµ¤Ê¥Ú¡¼¥¸¿ô %d\n"
 
-#: disk-utils/mkswap.c:492
+#: disk-utils/mkswap.c:497
 #, c-format
 msgid "%s: error: Nowhere to set up swap on?\n"
 msgstr "%s: ¥¨¥é¡¼: ¥¹¥ï¥Ã¥×¤òÍ­¸ú¤ËÀßÄꤹ¤ë¤¿¤á¤Î¾ì½ê¤¬¤Ê¤¤¡©\n"
 
-#: disk-utils/mkswap.c:510
+#: disk-utils/mkswap.c:515
 #, c-format
 msgid "%s: error: size %ld is larger than device size %d\n"
 msgstr "%s: ¥¨¥é¡¼: ¥µ¥¤¥º %ld ¤¬¥Ç¥Ð¥¤¥¹¤Î¥µ¥¤¥º %d ¤è¤ê¤âÂ礭¤¤¤Ç¤¹\n"
 
-#: disk-utils/mkswap.c:529
+#: disk-utils/mkswap.c:534
 #, c-format
 msgid "%s: error: unknown version %d\n"
 msgstr "%s: ¥¨¥é¡¼: ÉÔÌÀ¤Ê¥Ð¡¼¥¸¥ç¥ó %d\n"
 
-#: disk-utils/mkswap.c:535
+#: disk-utils/mkswap.c:540
 #, c-format
 msgid "%s: error: swap area needs to be at least %ldkB\n"
 msgstr "%s: ¥¨¥é¡¼: ¥¹¥ï¥Ã¥×Îΰè¤Ï¾¯¤Ê¤¯¤È¤â %ldkB É¬ÍפǤ¹\n"
 
-#: disk-utils/mkswap.c:554
+#: disk-utils/mkswap.c:559
 #, c-format
 msgid "%s: warning: truncating swap area to %ldkB\n"
 msgstr "%s: ·Ù¹ð: ¥¹¥ï¥Ã¥×Îΰè¤ò %ldkB ¤ËÀÚ¤êµÍ¤á¤Þ¤·¤¿\n"
 
-#: disk-utils/mkswap.c:566
+#: disk-utils/mkswap.c:571
 #, c-format
 msgid "Will not try to make swapdevice on '%s'"
 msgstr "'%s' ¤Ë¤Ï¥¹¥ï¥Ã¥×¥Ç¥ô¥¡¥¤¥¹¤òºî¤é¤Ê¤¤¤è¤¦¤Ë¤·¤Þ¤¹"
 
-#: disk-utils/mkswap.c:575 disk-utils/mkswap.c:596
+#: disk-utils/mkswap.c:580 disk-utils/mkswap.c:601
 msgid "fatal: first page unreadable"
 msgstr "Ã×Ì¿¥¨¥é¡¼: ºÇ½é¤Î¥Ú¡¼¥¸¤òÆɹþ¤á¤Þ¤»¤ó"
 
-#: disk-utils/mkswap.c:581
+#: disk-utils/mkswap.c:586
 #, c-format
 msgid ""
 "%s: Device '%s' contains a valid Sun disklabel.\n"
@@ -932,24 +932,24 @@ msgstr ""
 "¤·¤Þ¤¦¤³¤È¤ò°ÕÌ£¤·¤Þ¤¹¡£¤â¤·¤¢¤Ê¤¿¤¬ËÜÅö¤Ë¤½¤Î¥Ç¥Ð¥¤¥¹¤Ë v0 ¥¹¥ï¥Ã¥×\n"
 "¤ò¤òºîÀ®¤·¤¿¤±¤ì¤Ð¡¢-f ¥ª¥×¥·¥ç¥ó¤Ç¶¯Íפ·¤Æ¤¯¤À¤µ¤¤¡£\n"
 
-#: disk-utils/mkswap.c:605
+#: disk-utils/mkswap.c:610
 msgid "Unable to set up swap-space: unreadable"
 msgstr "¥¹¥ï¥Ã¥×¶õ´Ö¤òÀßÄê¤Ç¤­¤Þ¤»¤ó: Æɹþ¤á¤Þ¤»¤ó"
 
-#: disk-utils/mkswap.c:606
-#, c-format
-msgid "Setting up swapspace version %d, size = %ld bytes\n"
+#: disk-utils/mkswap.c:611
+#, fuzzy, c-format
+msgid "Setting up swapspace version %d, size = %lu bytes\n"
 msgstr "¥¹¥ï¥Ã¥×¶õ´Ö¥Ð¡¼¥¸¥ç¥ó %d ¤òÀßÄꤷ¤Þ¤¹¡¢¥µ¥¤¥º = %ld ¥Ð¥¤¥È\n"
 
-#: disk-utils/mkswap.c:612
+#: disk-utils/mkswap.c:617
 msgid "unable to rewind swap-device"
 msgstr "¥¹¥ï¥Ã¥×¥Ç¥ô¥¡¥¤¥¹¤ò´¬¤­Ì᤻¤Þ¤»¤ó"
 
-#: disk-utils/mkswap.c:615
+#: disk-utils/mkswap.c:620
 msgid "unable to write signature page"
 msgstr "½ð̾¥Ú¡¼¥¸¤ò½ñ¤­¹þ¤á¤Þ¤»¤ó"
 
-#: disk-utils/mkswap.c:623
+#: disk-utils/mkswap.c:628
 msgid "fsync failed"
 msgstr "fsync ¤Ë¼ºÇÔ"
 
@@ -5757,7 +5757,7 @@ msgstr "%s 
 msgid "Password error."
 msgstr "¥Ñ¥¹¥ï¡¼¥É¥¨¥é¡¼¡£"
 
-#: login-utils/chfn.c:176 login-utils/chsh.c:167 login-utils/login.c:775
+#: login-utils/chfn.c:176 login-utils/chsh.c:167 login-utils/login.c:787
 #: login-utils/newgrp.c:48 login-utils/simpleinit.c:320 mount/lomount.c:248
 #: mount/lomount.c:253
 msgid "Password: "
@@ -5979,20 +5979,25 @@ msgstr ""
 "\n"
 "³ä¤ê¹þ¤ß¤¬Æþ¤ê¤Þ¤·¤¿ %10.10s %5.5s \n"
 
-#: login-utils/login.c:402
+#: login-utils/login.c:264
+#, fuzzy, c-format
+msgid "FATAL: can't reopen tty: %s"
+msgstr "mount: %s ¤¬¥ª¡¼¥×¥ó¤Ç¤­¤Þ¤»¤ó: %s"
+
+#: login-utils/login.c:413
 msgid "login: -h for super-user only.\n"
 msgstr "login: -h ¤Ï¥¹¡¼¥Ñ¡¼¥æ¡¼¥¶ÀìÍѤǤ¹¡£\n"
 
-#: login-utils/login.c:429
+#: login-utils/login.c:440
 msgid "usage: login [-fp] [username]\n"
 msgstr "»È¤¤Êý: login [-fp] [¥æ¡¼¥¶Ì¾]\n"
 
-#: login-utils/login.c:538
+#: login-utils/login.c:547
 #, c-format
 msgid "login: PAM Failure, aborting: %s\n"
 msgstr "login: PAM ¼ºÇÔ¡£ÃæÃǤ·¤Þ¤¹: %s\n"
 
-#: login-utils/login.c:540
+#: login-utils/login.c:549
 #, c-format
 msgid "Couldn't initialize PAM: %s"
 msgstr "PAM ¤Î½é´ü²½¤¬¤Ç¤­¤Þ¤»¤ó: %s"
@@ -6003,16 +6008,16 @@ msgstr "PAM 
 #. * PAM doesn't have an interface to specify the "Password: " string
 #. * (yet).
 #.
-#: login-utils/login.c:557
+#: login-utils/login.c:566
 msgid "login: "
 msgstr "¥í¥°¥¤¥ó: "
 
-#: login-utils/login.c:597
+#: login-utils/login.c:606
 #, c-format
 msgid "FAILED LOGIN %d FROM %s FOR %s, %s"
 msgstr "FAILED LOGIN %d FROM %s FOR %s, %s"
 
-#: login-utils/login.c:601
+#: login-utils/login.c:610
 msgid ""
 "Login incorrect\n"
 "\n"
@@ -6020,17 +6025,17 @@ msgstr ""
 "Login ¤¬´Ö°ã¤Ã¤Æ¤¤¤Þ¤¹\n"
 "\n"
 
-#: login-utils/login.c:610
+#: login-utils/login.c:619
 #, c-format
 msgid "TOO MANY LOGIN TRIES (%d) FROM %s FOR %s, %s"
 msgstr "*¥í¥°¥¤¥ó¥È¥é¥¤¤¬Â¿¤¹¤®¤Þ¤¹* (%d) %s ¤«¤é %s ¤Ø, %s"
 
-#: login-utils/login.c:614
+#: login-utils/login.c:623
 #, c-format
 msgid "FAILED LOGIN SESSION FROM %s FOR %s, %s"
 msgstr "¼ºÇÔ¤·¤¿¥í¥°¥¤¥ó¥»¥Ã¥·¥ç¥ó %s ¤«¤é %s ¤Ø, %s"
 
-#: login-utils/login.c:618
+#: login-utils/login.c:627
 msgid ""
 "\n"
 "Login incorrect\n"
@@ -6038,7 +6043,7 @@ msgstr ""
 "\n"
 "Login ¤¬´Ö°ã¤Ã¤Æ¤¤¤Þ¤¹\n"
 
-#: login-utils/login.c:639 login-utils/login.c:646 login-utils/login.c:678
+#: login-utils/login.c:649 login-utils/login.c:656 login-utils/login.c:690
 msgid ""
 "\n"
 "Session setup problem, abort.\n"
@@ -6046,44 +6051,44 @@ msgstr ""
 "\n"
 "¥»¥Ã¥·¥ç¥ó¥»¥Ã¥È¥¢¥Ã¥×¤ËÌäÂê¡£ÃæÃǤ·¤Þ¤¹¡£\n"
 
-#: login-utils/login.c:640
+#: login-utils/login.c:650
 #, c-format
 msgid "NULL user name in %s:%d. Abort."
 msgstr "NULL ¥æ¡¼¥¶Ì¾¤¬ %s:%d ¤Ë¤¢¤ê¤Þ¤¹¡£ÃæÃǤ·¤Þ¤¹¡£"
 
-#: login-utils/login.c:647
+#: login-utils/login.c:657
 #, c-format
 msgid "Invalid user name \"%s\" in %s:%d. Abort."
 msgstr "̵¸ú¤Ê¥æ¡¼¥¶Ì¾ \"%s\" ¤¬ %s:%d ¤Ë¤¢¤ê¤Þ¤¹¡£ÃæÃǤ·¤Þ¤¹"
 
-#: login-utils/login.c:664
+#: login-utils/login.c:676
 msgid "login: Out of memory\n"
 msgstr "login: ¥á¥â¥ê¤¬Â­¤ê¤Þ¤»¤ó\n"
 
-#: login-utils/login.c:710
+#: login-utils/login.c:722
 msgid "Illegal username"
 msgstr "ÉÔÀµ¤Ê¥æ¡¼¥¶Ì¾"
 
-#: login-utils/login.c:753
+#: login-utils/login.c:765
 #, c-format
 msgid "%s login refused on this terminal.\n"
 msgstr "%s ¤Î¥í¥°¥¤¥ó¤Ï¤³¤ÎüËö¤Ç¤ÏµñÈݤµ¤ì¤Þ¤·¤¿¡£\n"
 
-#: login-utils/login.c:758
+#: login-utils/login.c:770
 #, c-format
 msgid "LOGIN %s REFUSED FROM %s ON TTY %s"
 msgstr "¥í¥°¥¤¥ó %s ¤òµñÀä¡¢%s ¤«¤é TTY %s ¾å¤Ç"
 
-#: login-utils/login.c:762
+#: login-utils/login.c:774
 #, c-format
 msgid "LOGIN %s REFUSED ON TTY %s"
 msgstr "¥í¥°¥¤¥ó %s ¤òµñÀä¡¢TTY %s ¾å¤Ç"
 
-#: login-utils/login.c:815
+#: login-utils/login.c:827
 msgid "Login incorrect\n"
 msgstr "Login ¤¬´Ö°ã¤Ã¤Æ¤¤¤Þ¤¹\n"
 
-#: login-utils/login.c:837
+#: login-utils/login.c:849
 msgid ""
 "Too many users logged on already.\n"
 "Try again later.\n"
@@ -6091,77 +6096,82 @@ msgstr ""
 "´û¤Ë¥í¥°¥¤¥ó¤·¤Æ¤¤¤ë¥æ¡¼¥¶¡¼¿ô¤¬Â¿¤¹¤®¤Þ¤¹¡£\n"
 "¤Þ¤¿¸å¤Ç»î¤·¤Æ¤¯¤À¤µ¤¤¡£\n"
 
-#: login-utils/login.c:841
+#: login-utils/login.c:853
 msgid "You have too many processes running.\n"
 msgstr "¤¢¤Ê¤¿¤¬¼Â¹Ô¤·¤Æ¤¤¤ë¥×¥í¥»¥¹¤¬Â¿¤¹¤®¤Þ¤¹¡£\n"
 
-#: login-utils/login.c:1073
+#: login-utils/login.c:1077
 #, c-format
 msgid "DIALUP AT %s BY %s"
 msgstr "¥À¥¤¥¢¥ë¥¢¥Ã¥×¤Ç %s ¤Ë¡¢%s ¤Ë¤è¤ë"
 
-#: login-utils/login.c:1080
+#: login-utils/login.c:1084
 #, c-format
 msgid "ROOT LOGIN ON %s FROM %s"
 msgstr "%s ¤Ë ROOT ¤¬¥í¥°¥¤¥ó¡¢%s ¤«¤é"
 
-#: login-utils/login.c:1083
+#: login-utils/login.c:1087
 #, c-format
 msgid "ROOT LOGIN ON %s"
 msgstr "%s ¤Ë ROOT ¤¬¥í¥°¥¤¥ó"
 
-#: login-utils/login.c:1086
+#: login-utils/login.c:1090
 #, c-format
 msgid "LOGIN ON %s BY %s FROM %s"
 msgstr "%s ¤Ë %s ¤¬¥í¥°¥¤¥ó¡¢%s ¤«¤é"
 
-#: login-utils/login.c:1089
+#: login-utils/login.c:1093
 #, c-format
 msgid "LOGIN ON %s BY %s"
 msgstr "%s ¤Ë %s ¤¬¥í¥°¥¤¥ó"
 
-#: login-utils/login.c:1101
+#: login-utils/login.c:1105
 msgid "You have new mail.\n"
 msgstr "¿·¤·¤¤¥á¥¤¥ë¤¬ÆϤ¤¤Æ¤¤¤Þ¤¹¡£\n"
 
-#: login-utils/login.c:1103
+#: login-utils/login.c:1107
 msgid "You have mail.\n"
 msgstr "¥á¥¤¥ë¤¬ÆϤ¤¤Æ¤¤¤Þ¤¹¡£\n"
 
 #. error in fork()
-#: login-utils/login.c:1129
+#: login-utils/login.c:1125
 #, c-format
 msgid "login: failure forking: %s"
 msgstr "login: fork ¤Ë¼ºÇÔ: %s"
 
-#: login-utils/login.c:1151
+#: login-utils/login.c:1162
+#, c-format
+msgid "TIOCSCTTY failed: %m"
+msgstr ""
+
+#: login-utils/login.c:1168
 msgid "setuid() failed"
 msgstr "setuid() ¤Ë¼ºÇÔ"
 
-#: login-utils/login.c:1157
+#: login-utils/login.c:1174
 #, c-format
 msgid "No directory %s!\n"
 msgstr "¥Ç¥£¥ì¥¯¥È¥ê %s ¤¬¤¢¤ê¤Þ¤»¤ó¡ª\n"
 
-#: login-utils/login.c:1161
+#: login-utils/login.c:1178
 msgid "Logging in with home = \"/\".\n"
 msgstr "¥Û¡¼¥à¥Ç¥£¥ì¥¯¥È¥ê \"/\" ¤Ç¥í¥°¥¤¥ó¤·¤Þ¤¹¡£\n"
 
-#: login-utils/login.c:1169
+#: login-utils/login.c:1186
 msgid "login: no memory for shell script.\n"
 msgstr "login: ¥·¥§¥ë¥¹¥¯¥ê¥×¥ÈÍѤΥá¥â¥ê¤¬¤¢¤ê¤Þ¤»¤ó¡£\n"
 
-#: login-utils/login.c:1196
+#: login-utils/login.c:1213
 #, c-format
 msgid "login: couldn't exec shell script: %s.\n"
 msgstr "login: ¥·¥§¥ë¥¹¥¯¥ê¥×¥È¤ò¼Â¹Ô¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿: %s\n"
 
-#: login-utils/login.c:1199
+#: login-utils/login.c:1216
 #, c-format
 msgid "login: no shell: %s.\n"
 msgstr "login: ¥·¥§¥ë¤¬¤¢¤ê¤Þ¤»¤ó: %s.\n"
 
-#: login-utils/login.c:1214
+#: login-utils/login.c:1231
 #, c-format
 msgid ""
 "\n"
@@ -6170,62 +6180,62 @@ msgstr ""
 "\n"
 "%s ¥í¥°¥¤¥ó: "
 
-#: login-utils/login.c:1225
+#: login-utils/login.c:1242
 msgid "login name much too long.\n"
 msgstr "¥í¥°¥¤¥ó̾¤¬Ä¹¤¹¤®¤Þ¤¹¡£\n"
 
-#: login-utils/login.c:1226
+#: login-utils/login.c:1243
 msgid "NAME too long"
 msgstr "̾Á°¤¬Ä¹¤¹¤®¤Þ¤¹"
 
-#: login-utils/login.c:1233
+#: login-utils/login.c:1250
 msgid "login names may not start with '-'.\n"
 msgstr "¥í¥°¥¤¥ó̾¤Ï '-' ¤Ç»Ï¤Þ¤Ã¤Æ¤¤¤Æ¤Ï¤¤¤±¤Þ¤»¤ó¡£\n"
 
-#: login-utils/login.c:1243
+#: login-utils/login.c:1260
 msgid "too many bare linefeeds.\n"
 msgstr "¹ÔÁ÷¤ê(linefeed) ¤¬Â¿¤¹¤®¤Þ¤¹¡£\n"
 
-#: login-utils/login.c:1244
+#: login-utils/login.c:1261
 msgid "EXCESSIVE linefeeds"
 msgstr "²áÂç¤Ê¹ÔÁ÷¤ê(linefeed)"
 
-#: login-utils/login.c:1255
+#: login-utils/login.c:1272
 #, c-format
 msgid "Login timed out after %d seconds\n"
 msgstr "%d Éøå¤Ë¥í¥°¥¤¥ó¤Î»þ´ÖÀÚ¤ì\n"
 
-#: login-utils/login.c:1352
+#: login-utils/login.c:1369
 #, c-format
 msgid "Last login: %.*s "
 msgstr "ºÇ½ª¥í¥°¥¤¥ó: %.*s "
 
-#: login-utils/login.c:1356
+#: login-utils/login.c:1373
 #, c-format
 msgid "from %.*s\n"
 msgstr " %.*s ¤«¤é\n"
 
-#: login-utils/login.c:1359
+#: login-utils/login.c:1376
 #, c-format
 msgid "on %.*s\n"
 msgstr " %.*s ¾å\n"
 
-#: login-utils/login.c:1379
+#: login-utils/login.c:1396
 #, c-format
 msgid "LOGIN FAILURE FROM %s, %s"
 msgstr "%s ¤«¤é¤Î¥í¥°¥¤¥ó¤¬¼ºÇÔ, %s"
 
-#: login-utils/login.c:1382
+#: login-utils/login.c:1399
 #, c-format
 msgid "LOGIN FAILURE ON %s, %s"
 msgstr "%s ¤Ç¤Î¥í¥°¥¤¥ó¤¬¼ºÇÔ, %s"
 
-#: login-utils/login.c:1386
+#: login-utils/login.c:1403
 #, c-format
 msgid "%d LOGIN FAILURES FROM %s, %s"
 msgstr "%d ²ó %s ¤«¤é¤Î¥í¥°¥¤¥ó¤¬¼ºÇÔ, %s"
 
-#: login-utils/login.c:1389
+#: login-utils/login.c:1406
 #, c-format
 msgid "%d LOGIN FAILURES ON %s, %s"
 msgstr "%d ²ó %s ¤Ç¤Î¥í¥°¥¤¥ó¤¬¼ºÇÔ, %s"
@@ -7746,14 +7756,14 @@ msgstr "mount: %2$s 
 msgid "mount: can't find %s in %s or %s"
 msgstr "mount: %2$s ¤ä %3$s Æâ¤Ë %1$s ¤ò¸«¤Ä¤±¤é¤ì¤Þ¤»¤ó"
 
-#: mount/mount_by_label.c:153
+#: mount/mount_by_label.c:169
 #, c-format
 msgid ""
 "mount: could not open %s, so UUID and LABEL conversion cannot be done.\n"
 msgstr ""
 "mount: %s ¤ò¥ª¡¼¥×¥ó¤Ç¤­¤Ê¤«¤Ã¤¿¤Î¤Ç¡¢UUID ¤È LABEL ¤ÎÊÑ´¹¤â¹Ô¤¨¤Þ¤»¤ó¡£\n"
 
-#: mount/mount_by_label.c:257
+#: mount/mount_by_label.c:295
 msgid "mount: bad UUID"
 msgstr "mount: ÉÔÀµ¤Ê UUID"
 
@@ -7785,88 +7795,88 @@ msgstr "       
 msgid "Trying %s\n"
 msgstr "%s ¤ò»î¤·¤Þ¤¹\n"
 
-#: mount/nfsmount.c:231
+#: mount/nfsmount.c:237
 msgid "mount: excessively long host:dir argument\n"
 msgstr "mount: ¶Ëü¤ËŤ¤ ¥Û¥¹¥È:¥Ç¥£¥ì¥¯¥È¥ê °ú¿ô\n"
 
-#: mount/nfsmount.c:245
+#: mount/nfsmount.c:251
 msgid "mount: warning: multiple hostnames not supported\n"
 msgstr "mount: ·Ù¹ð: Ê£¿ô¤Î¥Û¥¹¥È̾¤Ï¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤¤¤Þ¤»¤ó\n"
 
-#: mount/nfsmount.c:250
+#: mount/nfsmount.c:256
 msgid "mount: directory to mount not in host:dir format\n"
 msgstr ""
 "mount: ¥Þ¥¦¥ó¥ÈÀè¥Ç¥£¥ì¥¯¥È¥ê¤¬ ¥Û¥¹¥È:¥Ç¥£¥ì¥¯¥È¥ê ·Á¼°¤Ë¤Ê¤Ã¤Æ¤¤¤Þ¤»¤ó\n"
 
-#: mount/nfsmount.c:261 mount/nfsmount.c:516
+#: mount/nfsmount.c:267 mount/nfsmount.c:522
 #, c-format
 msgid "mount: can't get address for %s\n"
 msgstr "mount: %s ¤Î¥¢¥É¥ì¥¹¤¬¼èÆÀ¤Ç¤­¤Þ¤»¤ó\n"
 
-#: mount/nfsmount.c:267
+#: mount/nfsmount.c:273
 msgid "mount: got bad hp->h_length\n"
 msgstr "mount: ÉÔÀµ¤Ê hp->h_length Ãͤò¼èÆÀ¤·¤Þ¤·¤¿\n"
 
-#: mount/nfsmount.c:284
+#: mount/nfsmount.c:290
 msgid "mount: excessively long option argument\n"
 msgstr "mount: ¥ª¥×¥·¥ç¥ó°ú¿ô¤¬Ä¹¤¹¤®¤Þ¤¹\n"
 
-#: mount/nfsmount.c:376
+#: mount/nfsmount.c:382
 msgid "Warning: Unrecognized proto= option.\n"
 msgstr "·Ù¹ð: proto= ¥ª¥×¥·¥ç¥ó¤¬Íý²ò¤Ç¤­¤Þ¤»¤ó¡£\n"
 
-#: mount/nfsmount.c:383
+#: mount/nfsmount.c:389
 msgid "Warning: Option namlen is not supported.\n"
 msgstr "·Ù¹ð: namlen ¥ª¥×¥·¥ç¥ó¤Ï¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤¤¤Þ¤»¤ó¡£\n"
 
-#: mount/nfsmount.c:387
+#: mount/nfsmount.c:393
 #, c-format
 msgid "unknown nfs mount parameter: %s=%d\n"
 msgstr "ÉÔÌÀ¤Ê nfs ¥Þ¥¦¥ó¥È¥Ñ¥é¥á¡¼¥¿: %s=%d\n"
 
-#: mount/nfsmount.c:421
+#: mount/nfsmount.c:427
 msgid "Warning: option nolock is not supported.\n"
 msgstr "·Ù¹ð: nolock ¥ª¥×¥·¥ç¥ó¤Ï¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤¤¤Þ¤»¤ó¡£\n"
 
-#: mount/nfsmount.c:426
+#: mount/nfsmount.c:432
 #, c-format
 msgid "unknown nfs mount option: %s%s\n"
 msgstr "ÉÔÌÀ¤Ê nfs ¥Þ¥¦¥ó¥È¥ª¥×¥·¥ç¥ó: %s%s\n"
 
-#: mount/nfsmount.c:522
+#: mount/nfsmount.c:528
 msgid "mount: got bad hp->h_length?\n"
 msgstr "mount: ÉÔÀµ¤Ê hp->h_length Ãͤò¼èÆÀ¡©\n"
 
-#: mount/nfsmount.c:710
+#: mount/nfsmount.c:716
 msgid "NFS over TCP is not supported.\n"
 msgstr "TCP ·Ðͳ¤Î NFS ¤Ï¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤¤¤Þ¤»¤ó¡£\n"
 
-#: mount/nfsmount.c:717
+#: mount/nfsmount.c:723
 msgid "nfs socket"
 msgstr "nfs ¥½¥±¥Ã¥È"
 
-#: mount/nfsmount.c:721
+#: mount/nfsmount.c:727
 msgid "nfs bindresvport"
 msgstr "nfs bindresvport"
 
-#: mount/nfsmount.c:735
+#: mount/nfsmount.c:741
 msgid "nfs server reported service unavailable"
 msgstr "nfs ¥µ¡¼¥Ð¤Ï¥µ¡¼¥Ó¥¹¤¬ÍøÍѤǤ­¤Ê¤¤¤ÈÊó¹ð¤·¤Þ¤·¤¿"
 
-#: mount/nfsmount.c:744
+#: mount/nfsmount.c:750
 msgid "used portmapper to find NFS port\n"
 msgstr "NFS ¥Ý¡¼¥È¤ò¸«¤Ä¤±¤ë¤¿¤á¤Ë portmapper ¤òÍøÍÑ\n"
 
-#: mount/nfsmount.c:748
+#: mount/nfsmount.c:754
 #, c-format
 msgid "using port %d for nfs deamon\n"
 msgstr "nfs ¥Ç¡¼¥â¥ó¤Î¤¿¤á¤Ë %d È֥ݡ¼¥È¤òÍøÍÑ\n"
 
-#: mount/nfsmount.c:759
+#: mount/nfsmount.c:765
 msgid "nfs connect"
 msgstr "nfs Àܳ"
 
-#: mount/nfsmount.c:846
+#: mount/nfsmount.c:852
 #, c-format
 msgid "unknown nfs status return value: %d"
 msgstr "ÉÔÌÀ¤Ê nfs ¥¹¥Æ¡¼¥¿¥¹ÃͤòÊÖ¤·¤Þ¤·¤¿: %d"
@@ -7974,26 +7984,26 @@ msgstr "umount: %s: 
 msgid "umount: %s: %s"
 msgstr "umount: %s: %s"
 
-#: mount/umount.c:285
+#: mount/umount.c:284
 msgid "no umount2, trying umount...\n"
 msgstr "umount2 ¤¬¤¢¤ê¤Þ¤»¤ó¡¢umount ¤·¤Æ¤ß¤Þ¤¹...\n"
 
-#: mount/umount.c:301
+#: mount/umount.c:300
 #, c-format
 msgid "could not umount %s - trying %s instead\n"
 msgstr "%s ¤ò¥¢¥ó¥Þ¥¦¥ó¥È¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿ -- Âå¤ê¤Ë %s ¤ò»È¤Ã¤Æ¤ß¤Þ¤¹\n"
 
-#: mount/umount.c:319
+#: mount/umount.c:318
 #, c-format
 msgid "umount: %s busy - remounted read-only\n"
 msgstr "umount: %s ¤Ï»ÈÍÑÃæ¤Ç¤¹ -- Æɹþ¤ßÀìÍѤȤ·¤ÆºÆ¥Þ¥¦¥ó¥È¤·¤Þ¤¹\n"
 
-#: mount/umount.c:329
+#: mount/umount.c:328
 #, c-format
 msgid "umount: could not remount %s read-only\n"
 msgstr "umount: %s ¤òÆɹþ¤ßÀìÍѤǺƥޥ¦¥ó¥È¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿\n"
 
-#: mount/umount.c:338
+#: mount/umount.c:337
 #, c-format
 msgid "%s umounted\n"
 msgstr "%s ¤Ï¥¢¥ó¥Þ¥¦¥ó¥È¤µ¤ì¤Þ¤·¤¿\n"
@@ -8194,30 +8204,93 @@ msgstr "   %f 
 msgid "Usage: %s [-c] [-n level] [-s bufsize]\n"
 msgstr "»È¤¤Êý: %s [-c] [-n ¥ì¥Ù¥ë] [-s ¥Ð¥Ã¥Õ¥¡¥µ¥¤¥º]\n"
 
-#: sys-utils/ipcrm.c:59
+#: sys-utils/ipcrm.c:66
 #, c-format
 msgid "invalid id: %s\n"
 msgstr "ÉÔÀµ¤Ê id: %s\n"
 
-#: sys-utils/ipcrm.c:77
+#: sys-utils/ipcrm.c:84
 #, c-format
 msgid "cannot remove id %s (%s)\n"
 msgstr "id %s (%s) ¤òºï½ü¤Ç¤­¤Þ¤»¤ó\n"
 
-#: sys-utils/ipcrm.c:91
-#, c-format
-msgid "usage: %s {shm | msg | sem} id ...\n"
+#: sys-utils/ipcrm.c:99
+#, fuzzy, c-format
+msgid "deprecated usage: %s {shm | msg | sem} id ...\n"
 msgstr "»È¤¤Êý: %s {shm | msg | sem} id ...\n"
 
-#: sys-utils/ipcrm.c:124
+#: sys-utils/ipcrm.c:126
 #, c-format
 msgid "unknown resource type: %s\n"
 msgstr "ÉÔÌÀ¤Ê¥ê¥½¡¼¥¹¥¿¥¤¥×: %s\n"
 
-#: sys-utils/ipcrm.c:128
+#: sys-utils/ipcrm.c:130
 msgid "resource(s) deleted\n"
 msgstr "¥ê¥½¡¼¥¹¤òºï½ü¤·¤Þ¤·¤¿\n"
 
+#: sys-utils/ipcrm.c:140
+#, c-format
+msgid ""
+"usage: %s [ [-q msqid] [-m shmid] [-s semid]\n"
+"          [-Q msgkey] [-M shmkey] [-S semkey] ... ]\n"
+msgstr ""
+
+#: sys-utils/ipcrm.c:181
+#, c-format
+msgid "%s: illegal option -- %c\n"
+msgstr ""
+
+#: sys-utils/ipcrm.c:192
+#, fuzzy, c-format
+msgid "%s: illegal key (%s)\n"
+msgstr "ÉÔÀµ¤Ê¥­¡¼"
+
+#: sys-utils/ipcrm.c:207 sys-utils/ipcrm.c:239
+#, fuzzy
+msgid "permission denied for key"
+msgstr "mount: µö²Ä¤¬¤¢¤ê¤Þ¤»¤ó"
+
+#: sys-utils/ipcrm.c:210 sys-utils/ipcrm.c:249
+msgid "already removed key"
+msgstr ""
+
+#: sys-utils/ipcrm.c:213 sys-utils/ipcrm.c:244
+#, fuzzy
+msgid "invalid key"
+msgstr "ÉÔÀµ¤Ê id: %s\n"
+
+#: sys-utils/ipcrm.c:216 sys-utils/ipcrm.c:254
+msgid "unknown error in key"
+msgstr ""
+
+#: sys-utils/ipcrm.c:240
+#, fuzzy
+msgid "permission denied for id"
+msgstr "mount: µö²Ä¤¬¤¢¤ê¤Þ¤»¤ó"
+
+#: sys-utils/ipcrm.c:245
+#, fuzzy
+msgid "invalid id"
+msgstr "ÉÔÀµ¤Ê id: %s\n"
+
+#: sys-utils/ipcrm.c:250
+msgid "already removed id"
+msgstr ""
+
+#: sys-utils/ipcrm.c:255
+msgid "unknown error in id"
+msgstr ""
+
+#: sys-utils/ipcrm.c:258
+#, fuzzy, c-format
+msgid "%s: %s (%s)\n"
+msgstr "%2$s ¤Ë %1$s\n"
+
+#: sys-utils/ipcrm.c:266
+#, fuzzy, c-format
+msgid "%s: unknown argument: %s\n"
+msgstr "%s: ÉÔÌÀ¤Ê¥·¥°¥Ê¥ë %s\n"
+
 #: sys-utils/ipcs.c:122
 #, c-format
 msgid "usage : %s -asmq -tclup \n"
@@ -8831,7 +8904,7 @@ msgstr ""
 msgid "missing comma"
 msgstr "¥«¥ó¥Þ¤ò·ç¤¤¤Æ¤¤¤Þ¤¹"
 
-#: sys-utils/readprofile.c:58
+#: sys-utils/readprofile.c:60
 #, c-format
 msgid ""
 "%s: Usage: \"%s [options]\n"
@@ -8856,36 +8929,36 @@ msgstr ""
 "\t -n                   ¥Ð¥¤¥È¥ª¡¼¥À¤Î¼«Æ°¸¡ÃΤò̵¸ú²½¤¹¤ë\n"
 "\t -V                   ¥Ð¡¼¥¸¥ç¥ó¾ðÊó¤òɽ¼¨¤·¤Æ½ªÎ»¤¹¤ë\n"
 
-#: sys-utils/readprofile.c:81
+#: sys-utils/readprofile.c:83
 msgid "out of memory"
 msgstr "¥á¥â¥ê¤¬Â­¤ê¤Þ¤»¤ó"
 
-#: sys-utils/readprofile.c:142
+#: sys-utils/readprofile.c:144
 #, c-format
 msgid "%s Version %s\n"
 msgstr "%s ¥Ð¡¼¥¸¥ç¥ó %s\n"
 
-#: sys-utils/readprofile.c:226
+#: sys-utils/readprofile.c:228
 #, c-format
 msgid "Sampling_step: %i\n"
 msgstr "¥µ¥ó¥×¥ê¥ó¥°¥¹¥Æ¥Ã¥×: %i\n"
 
-#: sys-utils/readprofile.c:239 sys-utils/readprofile.c:262
+#: sys-utils/readprofile.c:241 sys-utils/readprofile.c:265
 #, c-format
 msgid "%s: %s(%i): wrong map line\n"
 msgstr "%s: %s(%i): ´Ö°ã¤Ã¤¿¥Þ¥Ã¥×¹Ô\n"
 
-#: sys-utils/readprofile.c:250
+#: sys-utils/readprofile.c:253
 #, c-format
 msgid "%s: can't find \"_stext\" in %s\n"
 msgstr "%s: %s ¤Ë \"_stext\" ¤¬¸«¤Ä¤«¤ê¤Þ¤»¤ó\n"
 
-#: sys-utils/readprofile.c:273
+#: sys-utils/readprofile.c:276
 #, c-format
 msgid "%s: profile address out of range. Wrong map file?\n"
 msgstr "%s: ¥×¥í¥Õ¥¡¥¤¥ë¥¢¥É¥ì¥¹¤¬Èϰϳ°¤Ç¤¹¡£´Ö°ã¤Ã¤¿ map ¥Õ¥¡¥¤¥ë?\n"
 
-#: sys-utils/readprofile.c:299
+#: sys-utils/readprofile.c:304
 msgid "total"
 msgstr "¹ç·×"
 
index 8b6dc07bfde1c1158d46747085a4f13b69b42877..1fa01d19cdf47d26293994265a92434828356b1f 100644 (file)
--- a/po/nl.po
+++ b/po/nl.po
@@ -6,7 +6,7 @@
 msgid ""
 msgstr ""
 "Project-Id-Version: util-linux 2.9n\n"
-"POT-Creation-Date: 2002-03-08 23:54+0100\n"
+"POT-Creation-Date: 2002-04-06 01:28+0200\n"
 "PO-Revision-Date: 1999-02-25 20:46+0100\n"
 "Last-Translator: Andries Brouwer <aeb@cwi.nl>\n"
 "MIME-Version: 1.0\n"
@@ -148,7 +148,7 @@ msgstr "aanroep: %s [ -n ] apparaat\n"
 
 #: disk-utils/fdformat.c:120 disk-utils/fsck.minix.c:1291
 #: disk-utils/isosize.c:179 disk-utils/mkfs.bfs.c:119 disk-utils/mkfs.c:55
-#: disk-utils/mkfs.minix.c:644 disk-utils/mkswap.c:452
+#: disk-utils/mkfs.minix.c:644 disk-utils/mkswap.c:457
 #: disk-utils/setfdprm.c:128 misc-utils/cal.c:246 misc-utils/ddate.c:181
 #: misc-utils/kill.c:188 misc-utils/rename.c:79 misc-utils/script.c:132
 #, c-format
@@ -796,7 +796,7 @@ msgstr ""
 msgid "Weird values in do_check: probably bugs\n"
 msgstr ""
 
-#: disk-utils/mkfs.minix.c:583 disk-utils/mkswap.c:362
+#: disk-utils/mkfs.minix.c:583 disk-utils/mkswap.c:368
 msgid "seek failed in check_blocks"
 msgstr ""
 
@@ -856,67 +856,67 @@ msgstr ""
 msgid "Assuming pages of size %d (not %d)\n"
 msgstr ""
 
-#: disk-utils/mkswap.c:316
+#: disk-utils/mkswap.c:322
 #, fuzzy, c-format
 msgid "Usage: %s [-c] [-v0|-v1] [-pPAGESZ] /dev/name [blocks]\n"
 msgstr ""
 "Aanroep: %s [-c | -l bestand] [-nXX] [-iXX] /dev/naam [blokkenaantal]\n"
 
-#: disk-utils/mkswap.c:339
+#: disk-utils/mkswap.c:345
 #, fuzzy
 msgid "too many bad pages"
 msgstr "Slechte primaire partitie"
 
-#: disk-utils/mkswap.c:353 misc-utils/look.c:182 misc-utils/setterm.c:1130
+#: disk-utils/mkswap.c:359 misc-utils/look.c:182 misc-utils/setterm.c:1130
 #: text-utils/more.c:1934 text-utils/more.c:1945
 msgid "Out of memory"
 msgstr ""
 
-#: disk-utils/mkswap.c:370
+#: disk-utils/mkswap.c:376
 #, fuzzy
 msgid "one bad page\n"
 msgstr "1 slecht blok\n"
 
-#: disk-utils/mkswap.c:372
+#: disk-utils/mkswap.c:378
 #, fuzzy, c-format
 msgid "%d bad pages\n"
 msgstr "%ld slechte blokken\n"
 
-#: disk-utils/mkswap.c:492
+#: disk-utils/mkswap.c:497
 #, c-format
 msgid "%s: error: Nowhere to set up swap on?\n"
 msgstr ""
 
-#: disk-utils/mkswap.c:510
+#: disk-utils/mkswap.c:515
 #, c-format
 msgid "%s: error: size %ld is larger than device size %d\n"
 msgstr ""
 
-#: disk-utils/mkswap.c:529
+#: disk-utils/mkswap.c:534
 #, c-format
 msgid "%s: error: unknown version %d\n"
 msgstr ""
 
-#: disk-utils/mkswap.c:535
+#: disk-utils/mkswap.c:540
 #, c-format
 msgid "%s: error: swap area needs to be at least %ldkB\n"
 msgstr ""
 
-#: disk-utils/mkswap.c:554
+#: disk-utils/mkswap.c:559
 #, c-format
 msgid "%s: warning: truncating swap area to %ldkB\n"
 msgstr ""
 
-#: disk-utils/mkswap.c:566
+#: disk-utils/mkswap.c:571
 #, c-format
 msgid "Will not try to make swapdevice on '%s'"
 msgstr ""
 
-#: disk-utils/mkswap.c:575 disk-utils/mkswap.c:596
+#: disk-utils/mkswap.c:580 disk-utils/mkswap.c:601
 msgid "fatal: first page unreadable"
 msgstr ""
 
-#: disk-utils/mkswap.c:581
+#: disk-utils/mkswap.c:586
 #, c-format
 msgid ""
 "%s: Device '%s' contains a valid Sun disklabel.\n"
@@ -925,26 +925,26 @@ msgid ""
 "the -f option to force it.\n"
 msgstr ""
 
-#: disk-utils/mkswap.c:605
+#: disk-utils/mkswap.c:610
 msgid "Unable to set up swap-space: unreadable"
 msgstr ""
 
-#: disk-utils/mkswap.c:606
+#: disk-utils/mkswap.c:611
 #, c-format
-msgid "Setting up swapspace version %d, size = %ld bytes\n"
+msgid "Setting up swapspace version %d, size = %lu bytes\n"
 msgstr ""
 
-#: disk-utils/mkswap.c:612
+#: disk-utils/mkswap.c:617
 #, fuzzy
 msgid "unable to rewind swap-device"
 msgstr "kan het bestand '%s' niet openen"
 
-#: disk-utils/mkswap.c:615
+#: disk-utils/mkswap.c:620
 #, fuzzy
 msgid "unable to write signature page"
 msgstr "Kan het bestand '%s' niet schrijven\n"
 
-#: disk-utils/mkswap.c:623
+#: disk-utils/mkswap.c:628
 msgid "fsync failed"
 msgstr ""
 
@@ -5460,7 +5460,7 @@ msgstr ""
 msgid "Password error."
 msgstr ""
 
-#: login-utils/chfn.c:176 login-utils/chsh.c:167 login-utils/login.c:775
+#: login-utils/chfn.c:176 login-utils/chsh.c:167 login-utils/login.c:787
 #: login-utils/newgrp.c:48 login-utils/simpleinit.c:320 mount/lomount.c:248
 #: mount/lomount.c:253
 msgid "Password: "
@@ -5670,20 +5670,25 @@ msgid ""
 "interrupted %10.10s %5.5s \n"
 msgstr ""
 
-#: login-utils/login.c:402
+#: login-utils/login.c:264
+#, fuzzy, c-format
+msgid "FATAL: can't reopen tty: %s"
+msgstr "Kan het bestand '%s' niet openen"
+
+#: login-utils/login.c:413
 msgid "login: -h for super-user only.\n"
 msgstr ""
 
-#: login-utils/login.c:429
+#: login-utils/login.c:440
 msgid "usage: login [-fp] [username]\n"
 msgstr ""
 
-#: login-utils/login.c:538
+#: login-utils/login.c:547
 #, c-format
 msgid "login: PAM Failure, aborting: %s\n"
 msgstr ""
 
-#: login-utils/login.c:540
+#: login-utils/login.c:549
 #, c-format
 msgid "Couldn't initialize PAM: %s"
 msgstr ""
@@ -5694,220 +5699,225 @@ msgstr ""
 #. * PAM doesn't have an interface to specify the "Password: " string
 #. * (yet).
 #.
-#: login-utils/login.c:557
+#: login-utils/login.c:566
 msgid "login: "
 msgstr ""
 
-#: login-utils/login.c:597
+#: login-utils/login.c:606
 #, c-format
 msgid "FAILED LOGIN %d FROM %s FOR %s, %s"
 msgstr ""
 
-#: login-utils/login.c:601
+#: login-utils/login.c:610
 msgid ""
 "Login incorrect\n"
 "\n"
 msgstr ""
 
-#: login-utils/login.c:610
+#: login-utils/login.c:619
 #, c-format
 msgid "TOO MANY LOGIN TRIES (%d) FROM %s FOR %s, %s"
 msgstr ""
 
-#: login-utils/login.c:614
+#: login-utils/login.c:623
 #, c-format
 msgid "FAILED LOGIN SESSION FROM %s FOR %s, %s"
 msgstr ""
 
-#: login-utils/login.c:618
+#: login-utils/login.c:627
 msgid ""
 "\n"
 "Login incorrect\n"
 msgstr ""
 
-#: login-utils/login.c:639 login-utils/login.c:646 login-utils/login.c:678
+#: login-utils/login.c:649 login-utils/login.c:656 login-utils/login.c:690
 msgid ""
 "\n"
 "Session setup problem, abort.\n"
 msgstr ""
 
-#: login-utils/login.c:640
+#: login-utils/login.c:650
 #, c-format
 msgid "NULL user name in %s:%d. Abort."
 msgstr ""
 
-#: login-utils/login.c:647
+#: login-utils/login.c:657
 #, c-format
 msgid "Invalid user name \"%s\" in %s:%d. Abort."
 msgstr ""
 
-#: login-utils/login.c:664
+#: login-utils/login.c:676
 #, fuzzy
 msgid "login: Out of memory\n"
 msgstr "%s: Geheugen is vol!\n"
 
-#: login-utils/login.c:710
+#: login-utils/login.c:722
 msgid "Illegal username"
 msgstr "Niet-toegestane gebruikersnaam"
 
-#: login-utils/login.c:753
+#: login-utils/login.c:765
 #, c-format
 msgid "%s login refused on this terminal.\n"
 msgstr ""
 
-#: login-utils/login.c:758
+#: login-utils/login.c:770
 #, c-format
 msgid "LOGIN %s REFUSED FROM %s ON TTY %s"
 msgstr ""
 
-#: login-utils/login.c:762
+#: login-utils/login.c:774
 #, c-format
 msgid "LOGIN %s REFUSED ON TTY %s"
 msgstr ""
 
-#: login-utils/login.c:815
+#: login-utils/login.c:827
 msgid "Login incorrect\n"
 msgstr ""
 
-#: login-utils/login.c:837
+#: login-utils/login.c:849
 msgid ""
 "Too many users logged on already.\n"
 "Try again later.\n"
 msgstr ""
 
-#: login-utils/login.c:841
+#: login-utils/login.c:853
 msgid "You have too many processes running.\n"
 msgstr ""
 
-#: login-utils/login.c:1073
+#: login-utils/login.c:1077
 #, c-format
 msgid "DIALUP AT %s BY %s"
 msgstr ""
 
-#: login-utils/login.c:1080
+#: login-utils/login.c:1084
 #, c-format
 msgid "ROOT LOGIN ON %s FROM %s"
 msgstr ""
 
-#: login-utils/login.c:1083
+#: login-utils/login.c:1087
 #, c-format
 msgid "ROOT LOGIN ON %s"
 msgstr ""
 
-#: login-utils/login.c:1086
+#: login-utils/login.c:1090
 #, c-format
 msgid "LOGIN ON %s BY %s FROM %s"
 msgstr ""
 
-#: login-utils/login.c:1089
+#: login-utils/login.c:1093
 #, c-format
 msgid "LOGIN ON %s BY %s"
 msgstr ""
 
-#: login-utils/login.c:1101
+#: login-utils/login.c:1105
 msgid "You have new mail.\n"
 msgstr ""
 
-#: login-utils/login.c:1103
+#: login-utils/login.c:1107
 msgid "You have mail.\n"
 msgstr ""
 
 #. error in fork()
-#: login-utils/login.c:1129
+#: login-utils/login.c:1125
 #, c-format
 msgid "login: failure forking: %s"
 msgstr ""
 
-#: login-utils/login.c:1151
+#: login-utils/login.c:1162
+#, c-format
+msgid "TIOCSCTTY failed: %m"
+msgstr ""
+
+#: login-utils/login.c:1168
 msgid "setuid() failed"
 msgstr ""
 
-#: login-utils/login.c:1157
+#: login-utils/login.c:1174
 #, c-format
 msgid "No directory %s!\n"
 msgstr ""
 
-#: login-utils/login.c:1161
+#: login-utils/login.c:1178
 msgid "Logging in with home = \"/\".\n"
 msgstr ""
 
-#: login-utils/login.c:1169
+#: login-utils/login.c:1186
 msgid "login: no memory for shell script.\n"
 msgstr ""
 
-#: login-utils/login.c:1196
+#: login-utils/login.c:1213
 #, c-format
 msgid "login: couldn't exec shell script: %s.\n"
 msgstr ""
 
-#: login-utils/login.c:1199
+#: login-utils/login.c:1216
 #, c-format
 msgid "login: no shell: %s.\n"
 msgstr ""
 
-#: login-utils/login.c:1214
+#: login-utils/login.c:1231
 #, c-format
 msgid ""
 "\n"
 "%s login: "
 msgstr ""
 
-#: login-utils/login.c:1225
+#: login-utils/login.c:1242
 msgid "login name much too long.\n"
 msgstr ""
 
-#: login-utils/login.c:1226
+#: login-utils/login.c:1243
 msgid "NAME too long"
 msgstr ""
 
-#: login-utils/login.c:1233
+#: login-utils/login.c:1250
 msgid "login names may not start with '-'.\n"
 msgstr ""
 
-#: login-utils/login.c:1243
+#: login-utils/login.c:1260
 msgid "too many bare linefeeds.\n"
 msgstr ""
 
-#: login-utils/login.c:1244
+#: login-utils/login.c:1261
 msgid "EXCESSIVE linefeeds"
 msgstr ""
 
-#: login-utils/login.c:1255
+#: login-utils/login.c:1272
 #, c-format
 msgid "Login timed out after %d seconds\n"
 msgstr ""
 
-#: login-utils/login.c:1352
+#: login-utils/login.c:1369
 #, c-format
 msgid "Last login: %.*s "
 msgstr ""
 
-#: login-utils/login.c:1356
+#: login-utils/login.c:1373
 #, c-format
 msgid "from %.*s\n"
 msgstr ""
 
-#: login-utils/login.c:1359
+#: login-utils/login.c:1376
 #, c-format
 msgid "on %.*s\n"
 msgstr ""
 
-#: login-utils/login.c:1379
+#: login-utils/login.c:1396
 #, c-format
 msgid "LOGIN FAILURE FROM %s, %s"
 msgstr ""
 
-#: login-utils/login.c:1382
+#: login-utils/login.c:1399
 #, c-format
 msgid "LOGIN FAILURE ON %s, %s"
 msgstr ""
 
-#: login-utils/login.c:1386
+#: login-utils/login.c:1403
 #, c-format
 msgid "%d LOGIN FAILURES FROM %s, %s"
 msgstr ""
 
-#: login-utils/login.c:1389
+#: login-utils/login.c:1406
 #, c-format
 msgid "%d LOGIN FAILURES ON %s, %s"
 msgstr ""
@@ -7361,13 +7371,13 @@ msgstr ""
 msgid "mount: can't find %s in %s or %s"
 msgstr ""
 
-#: mount/mount_by_label.c:153
+#: mount/mount_by_label.c:169
 #, c-format
 msgid ""
 "mount: could not open %s, so UUID and LABEL conversion cannot be done.\n"
 msgstr ""
 
-#: mount/mount_by_label.c:257
+#: mount/mount_by_label.c:295
 msgid "mount: bad UUID"
 msgstr ""
 
@@ -7399,87 +7409,87 @@ msgstr ""
 msgid "Trying %s\n"
 msgstr ""
 
-#: mount/nfsmount.c:231
+#: mount/nfsmount.c:237
 msgid "mount: excessively long host:dir argument\n"
 msgstr ""
 
-#: mount/nfsmount.c:245
+#: mount/nfsmount.c:251
 msgid "mount: warning: multiple hostnames not supported\n"
 msgstr ""
 
-#: mount/nfsmount.c:250
+#: mount/nfsmount.c:256
 msgid "mount: directory to mount not in host:dir format\n"
 msgstr ""
 
-#: mount/nfsmount.c:261 mount/nfsmount.c:516
+#: mount/nfsmount.c:267 mount/nfsmount.c:522
 #, c-format
 msgid "mount: can't get address for %s\n"
 msgstr ""
 
-#: mount/nfsmount.c:267
+#: mount/nfsmount.c:273
 msgid "mount: got bad hp->h_length\n"
 msgstr ""
 
-#: mount/nfsmount.c:284
+#: mount/nfsmount.c:290
 msgid "mount: excessively long option argument\n"
 msgstr ""
 
-#: mount/nfsmount.c:376
+#: mount/nfsmount.c:382
 msgid "Warning: Unrecognized proto= option.\n"
 msgstr ""
 
-#: mount/nfsmount.c:383
+#: mount/nfsmount.c:389
 msgid "Warning: Option namlen is not supported.\n"
 msgstr ""
 
-#: mount/nfsmount.c:387
+#: mount/nfsmount.c:393
 #, c-format
 msgid "unknown nfs mount parameter: %s=%d\n"
 msgstr ""
 
-#: mount/nfsmount.c:421
+#: mount/nfsmount.c:427
 msgid "Warning: option nolock is not supported.\n"
 msgstr ""
 
-#: mount/nfsmount.c:426
+#: mount/nfsmount.c:432
 #, c-format
 msgid "unknown nfs mount option: %s%s\n"
 msgstr ""
 
-#: mount/nfsmount.c:522
+#: mount/nfsmount.c:528
 msgid "mount: got bad hp->h_length?\n"
 msgstr ""
 
-#: mount/nfsmount.c:710
+#: mount/nfsmount.c:716
 msgid "NFS over TCP is not supported.\n"
 msgstr ""
 
-#: mount/nfsmount.c:717
+#: mount/nfsmount.c:723
 msgid "nfs socket"
 msgstr ""
 
-#: mount/nfsmount.c:721
+#: mount/nfsmount.c:727
 msgid "nfs bindresvport"
 msgstr ""
 
-#: mount/nfsmount.c:735
+#: mount/nfsmount.c:741
 msgid "nfs server reported service unavailable"
 msgstr ""
 
-#: mount/nfsmount.c:744
+#: mount/nfsmount.c:750
 msgid "used portmapper to find NFS port\n"
 msgstr ""
 
-#: mount/nfsmount.c:748
+#: mount/nfsmount.c:754
 #, c-format
 msgid "using port %d for nfs deamon\n"
 msgstr ""
 
-#: mount/nfsmount.c:759
+#: mount/nfsmount.c:765
 msgid "nfs connect"
 msgstr ""
 
-#: mount/nfsmount.c:846
+#: mount/nfsmount.c:852
 #, c-format
 msgid "unknown nfs status return value: %d"
 msgstr ""
@@ -7582,26 +7592,26 @@ msgstr ""
 msgid "umount: %s: %s"
 msgstr ""
 
-#: mount/umount.c:285
+#: mount/umount.c:284
 msgid "no umount2, trying umount...\n"
 msgstr ""
 
-#: mount/umount.c:301
+#: mount/umount.c:300
 #, c-format
 msgid "could not umount %s - trying %s instead\n"
 msgstr ""
 
-#: mount/umount.c:319
+#: mount/umount.c:318
 #, c-format
 msgid "umount: %s busy - remounted read-only\n"
 msgstr ""
 
-#: mount/umount.c:329
+#: mount/umount.c:328
 #, c-format
 msgid "umount: could not remount %s read-only\n"
 msgstr ""
 
-#: mount/umount.c:338
+#: mount/umount.c:337
 #, c-format
 msgid "%s umounted\n"
 msgstr ""
@@ -7787,30 +7797,89 @@ msgstr ""
 msgid "Usage: %s [-c] [-n level] [-s bufsize]\n"
 msgstr ""
 
-#: sys-utils/ipcrm.c:59
+#: sys-utils/ipcrm.c:66
 #, c-format
 msgid "invalid id: %s\n"
 msgstr ""
 
-#: sys-utils/ipcrm.c:77
+#: sys-utils/ipcrm.c:84
 #, fuzzy, c-format
 msgid "cannot remove id %s (%s)\n"
 msgstr "Kan het bestand '%s' niet openen"
 
-#: sys-utils/ipcrm.c:91
+#: sys-utils/ipcrm.c:99
 #, c-format
-msgid "usage: %s {shm | msg | sem} id ...\n"
+msgid "deprecated usage: %s {shm | msg | sem} id ...\n"
 msgstr ""
 
-#: sys-utils/ipcrm.c:124
+#: sys-utils/ipcrm.c:126
 #, c-format
 msgid "unknown resource type: %s\n"
 msgstr ""
 
-#: sys-utils/ipcrm.c:128
+#: sys-utils/ipcrm.c:130
 msgid "resource(s) deleted\n"
 msgstr ""
 
+#: sys-utils/ipcrm.c:140
+#, c-format
+msgid ""
+"usage: %s [ [-q msqid] [-m shmid] [-s semid]\n"
+"          [-Q msgkey] [-M shmkey] [-S semkey] ... ]\n"
+msgstr ""
+
+#: sys-utils/ipcrm.c:181
+#, c-format
+msgid "%s: illegal option -- %c\n"
+msgstr ""
+
+#: sys-utils/ipcrm.c:192
+#, fuzzy, c-format
+msgid "%s: illegal key (%s)\n"
+msgstr "Niet herkende toets"
+
+#: sys-utils/ipcrm.c:207 sys-utils/ipcrm.c:239
+msgid "permission denied for key"
+msgstr ""
+
+#: sys-utils/ipcrm.c:210 sys-utils/ipcrm.c:249
+msgid "already removed key"
+msgstr ""
+
+#: sys-utils/ipcrm.c:213 sys-utils/ipcrm.c:244
+msgid "invalid key"
+msgstr ""
+
+#: sys-utils/ipcrm.c:216 sys-utils/ipcrm.c:254
+msgid "unknown error in key"
+msgstr ""
+
+#: sys-utils/ipcrm.c:240
+msgid "permission denied for id"
+msgstr ""
+
+#: sys-utils/ipcrm.c:245
+msgid "invalid id"
+msgstr ""
+
+#: sys-utils/ipcrm.c:250
+msgid "already removed id"
+msgstr ""
+
+#: sys-utils/ipcrm.c:255
+msgid "unknown error in id"
+msgstr ""
+
+#: sys-utils/ipcrm.c:258
+#, fuzzy, c-format
+msgid "%s: %s (%s)\n"
+msgstr "mkfs versie "
+
+#: sys-utils/ipcrm.c:266
+#, fuzzy, c-format
+msgid "%s: unknown argument: %s\n"
+msgstr "Kan het bestand '%s' niet openen"
+
 #: sys-utils/ipcs.c:122
 #, c-format
 msgid "usage : %s -asmq -tclup \n"
@@ -8404,7 +8473,7 @@ msgstr ""
 msgid "missing comma"
 msgstr ""
 
-#: sys-utils/readprofile.c:58
+#: sys-utils/readprofile.c:60
 #, c-format
 msgid ""
 "%s: Usage: \"%s [options]\n"
@@ -8419,37 +8488,37 @@ msgid ""
 "\t -V            print version and exit\n"
 msgstr ""
 
-#: sys-utils/readprofile.c:81
+#: sys-utils/readprofile.c:83
 #, fuzzy
 msgid "out of memory"
 msgstr "%s: Geheugen is vol!\n"
 
-#: sys-utils/readprofile.c:142
+#: sys-utils/readprofile.c:144
 #, c-format
 msgid "%s Version %s\n"
 msgstr ""
 
-#: sys-utils/readprofile.c:226
+#: sys-utils/readprofile.c:228
 #, c-format
 msgid "Sampling_step: %i\n"
 msgstr ""
 
-#: sys-utils/readprofile.c:239 sys-utils/readprofile.c:262
+#: sys-utils/readprofile.c:241 sys-utils/readprofile.c:265
 #, c-format
 msgid "%s: %s(%i): wrong map line\n"
 msgstr ""
 
-#: sys-utils/readprofile.c:250
+#: sys-utils/readprofile.c:253
 #, c-format
 msgid "%s: can't find \"_stext\" in %s\n"
 msgstr ""
 
-#: sys-utils/readprofile.c:273
+#: sys-utils/readprofile.c:276
 #, c-format
 msgid "%s: profile address out of range. Wrong map file?\n"
 msgstr ""
 
-#: sys-utils/readprofile.c:299
+#: sys-utils/readprofile.c:304
 #, fuzzy
 msgid "total"
 msgstr "Startbaar"
index f6696788d893e28b3e965e5a40cf06434b06f708..5dfed14d620f82a89d2cf3b228cc88a4c0f9d78d 100644 (file)
@@ -13,7 +13,7 @@
 msgid ""
 msgstr ""
 "Project-Id-Version: util-linux 2.11b\n"
-"POT-Creation-Date: 2002-03-08 23:54+0100\n"
+"POT-Creation-Date: 2002-04-06 01:28+0200\n"
 "PO-Revision-Date: 2001-05-24 16:03-03:00\n"
 "Last-Translator: Rodrigo Stulzer Lopes <rodrigo@conectiva.com.br>\n"
 "Language-Team: Brazilian Portuguese <ldp-br@bazar.conectiva.com.br>\n"
@@ -157,7 +157,7 @@ msgstr "Uso: %s [ -n ] dispositivo\n"
 
 #: disk-utils/fdformat.c:120 disk-utils/fsck.minix.c:1291
 #: disk-utils/isosize.c:179 disk-utils/mkfs.bfs.c:119 disk-utils/mkfs.c:55
-#: disk-utils/mkfs.minix.c:644 disk-utils/mkswap.c:452
+#: disk-utils/mkfs.minix.c:644 disk-utils/mkswap.c:457
 #: disk-utils/setfdprm.c:128 misc-utils/cal.c:246 misc-utils/ddate.c:181
 #: misc-utils/kill.c:188 misc-utils/rename.c:79 misc-utils/script.c:132
 #, c-format
@@ -812,7 +812,7 @@ msgstr "busca falhou durante teste de blocos"
 msgid "Weird values in do_check: probably bugs\n"
 msgstr "Valores estranhos em do_check: provavelmente erros\n"
 
-#: disk-utils/mkfs.minix.c:583 disk-utils/mkswap.c:362
+#: disk-utils/mkfs.minix.c:583 disk-utils/mkswap.c:368
 msgid "seek failed in check_blocks"
 msgstr "busca falhou em check_blocks"
 
@@ -876,64 +876,64 @@ msgstr ""
 msgid "Assuming pages of size %d (not %d)\n"
 msgstr "Assumindo páginas de tamanho %d (não %d)\n"
 
-#: disk-utils/mkswap.c:316
+#: disk-utils/mkswap.c:322
 #, 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:339
+#: disk-utils/mkswap.c:345
 msgid "too many bad pages"
 msgstr "número excessivo de páginas inválidas"
 
-#: disk-utils/mkswap.c:353 misc-utils/look.c:182 misc-utils/setterm.c:1130
+#: disk-utils/mkswap.c:359 misc-utils/look.c:182 misc-utils/setterm.c:1130
 #: text-utils/more.c:1934 text-utils/more.c:1945
 msgid "Out of memory"
 msgstr "Memória insuficiente"
 
-#: disk-utils/mkswap.c:370
+#: disk-utils/mkswap.c:376
 msgid "one bad page\n"
 msgstr "uma página inválida\n"
 
-#: disk-utils/mkswap.c:372
+#: disk-utils/mkswap.c:378
 #, c-format
 msgid "%d bad pages\n"
 msgstr "%d páginas inválidas\n"
 
-#: disk-utils/mkswap.c:492
+#: disk-utils/mkswap.c:497
 #, c-format
 msgid "%s: error: Nowhere to set up swap on?\n"
 msgstr "%s - erro: nenhum lugar para ativar permuta (swap)?\n"
 
-#: disk-utils/mkswap.c:510
+#: disk-utils/mkswap.c:515
 #, c-format
 msgid "%s: error: size %ld is larger than device size %d\n"
 msgstr "%s: erro - tamanho %ld é maior do que o tamanho do dispositivo %d\n"
 
-#: disk-utils/mkswap.c:529
+#: disk-utils/mkswap.c:534
 #, c-format
 msgid "%s: error: unknown version %d\n"
 msgstr "%s - erro: versão %d desconhecida\n"
 
-#: disk-utils/mkswap.c:535
+#: disk-utils/mkswap.c:540
 #, c-format
 msgid "%s: error: swap area needs to be at least %ldkB\n"
 msgstr "%s - erro: a área de permuta (swap) precisa ter pelo menos %ld kB\n"
 
-#: disk-utils/mkswap.c:554
+#: disk-utils/mkswap.c:559
 #, c-format
 msgid "%s: warning: truncating swap area to %ldkB\n"
 msgstr "%s -- aviso: reduzindo área de permuta (swap) para %ld kB\n"
 
-#: disk-utils/mkswap.c:566
+#: disk-utils/mkswap.c:571
 #, c-format
 msgid "Will not try to make swapdevice on '%s'"
 msgstr "Não será tentado criar dispositivo de permuta (swap) em '%s'"
 
-#: disk-utils/mkswap.c:575 disk-utils/mkswap.c:596
+#: disk-utils/mkswap.c:580 disk-utils/mkswap.c:601
 msgid "fatal: first page unreadable"
 msgstr "fatal: primeira página ilegível"
 
-#: disk-utils/mkswap.c:581
+#: disk-utils/mkswap.c:586
 #, c-format
 msgid ""
 "%s: Device '%s' contains a valid Sun disklabel.\n"
@@ -948,24 +948,24 @@ msgstr ""
 "dispositivo, use\n"
 "a opção -f para forçar a criação.\n"
 
-#: disk-utils/mkswap.c:605
+#: disk-utils/mkswap.c:610
 msgid "Unable to set up swap-space: unreadable"
 msgstr "Não foi possível configurar espaço de permuta (swap): ilegível"
 
-#: disk-utils/mkswap.c:606
-#, c-format
-msgid "Setting up swapspace version %d, size = %ld bytes\n"
+#: disk-utils/mkswap.c:611
+#, fuzzy, c-format
+msgid "Setting up swapspace version %d, size = %lu bytes\n"
 msgstr "Configurando espaço de permuta (swap) versão %d, tamanho = %ld bytes\n"
 
-#: disk-utils/mkswap.c:612
+#: disk-utils/mkswap.c:617
 msgid "unable to rewind swap-device"
 msgstr "Não foi possível rebobinar o dispositivo de permuta (swap)"
 
-#: disk-utils/mkswap.c:615
+#: disk-utils/mkswap.c:620
 msgid "unable to write signature page"
 msgstr "Não foi possível gravar a página de assinatura"
 
-#: disk-utils/mkswap.c:623
+#: disk-utils/mkswap.c:628
 msgid "fsync failed"
 msgstr "fsync falhou"
 
@@ -5850,7 +5850,7 @@ msgstr "Alterando informa
 msgid "Password error."
 msgstr "Erro de senha."
 
-#: login-utils/chfn.c:176 login-utils/chsh.c:167 login-utils/login.c:775
+#: login-utils/chfn.c:176 login-utils/chsh.c:167 login-utils/login.c:787
 #: login-utils/newgrp.c:48 login-utils/simpleinit.c:320 mount/lomount.c:248
 #: mount/lomount.c:253
 msgid "Password: "
@@ -6073,20 +6073,25 @@ msgstr ""
 "\n"
 "interrompido %10.10s %5.5s \n"
 
-#: login-utils/login.c:402
+#: login-utils/login.c:264
+#, fuzzy, c-format
+msgid "FATAL: can't reopen tty: %s"
+msgstr "mount: não foi possível abrir %s: %s"
+
+#: login-utils/login.c:413
 msgid "login: -h for super-user only.\n"
 msgstr "login: -h somente pode ser especificado pelo superusuário.\n"
 
-#: login-utils/login.c:429
+#: login-utils/login.c:440
 msgid "usage: login [-fp] [username]\n"
 msgstr "Uso: login [-fp] [nome_usuário]\n"
 
-#: login-utils/login.c:538
+#: login-utils/login.c:547
 #, c-format
 msgid "login: PAM Failure, aborting: %s\n"
 msgstr "login: falha de PAM; abortando: %s\n"
 
-#: login-utils/login.c:540
+#: login-utils/login.c:549
 #, c-format
 msgid "Couldn't initialize PAM: %s"
 msgstr "Não foi possível inicializar o PAM: %s"
@@ -6097,16 +6102,16 @@ msgstr "N
 #. * PAM doesn't have an interface to specify the "Password: " string
 #. * (yet).
 #.
-#: login-utils/login.c:557
+#: login-utils/login.c:566
 msgid "login: "
 msgstr "login: "
 
-#: login-utils/login.c:597
+#: login-utils/login.c:606
 #, c-format
 msgid "FAILED LOGIN %d FROM %s FOR %s, %s"
 msgstr "LOGIN FALHOU: %d A PARTIR DE %s PARA %s, %s"
 
-#: login-utils/login.c:601
+#: login-utils/login.c:610
 msgid ""
 "Login incorrect\n"
 "\n"
@@ -6114,18 +6119,18 @@ msgstr ""
 "Login incorreto\n"
 "\n"
 
-#: login-utils/login.c:610
+#: login-utils/login.c:619
 #, 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:614
+#: login-utils/login.c:623
 #, c-format
 msgid "FAILED LOGIN SESSION FROM %s FOR %s, %s"
 msgstr "SESSÃO DE LOGIN FALHOU: A PARTIR DE %s PARA %s, %s"
 
-#: login-utils/login.c:618
+#: login-utils/login.c:627
 msgid ""
 "\n"
 "Login incorrect\n"
@@ -6133,51 +6138,51 @@ msgstr ""
 "\n"
 "Login incorreto\n"
 
-#: login-utils/login.c:639 login-utils/login.c:646 login-utils/login.c:678
+#: login-utils/login.c:649 login-utils/login.c:656 login-utils/login.c:690
 msgid ""
 "\n"
 "Session setup problem, abort.\n"
 msgstr ""
 
-#: login-utils/login.c:640
+#: login-utils/login.c:650
 #, c-format
 msgid "NULL user name in %s:%d. Abort."
 msgstr ""
 
-#: login-utils/login.c:647
+#: login-utils/login.c:657
 #, c-format
 msgid "Invalid user name \"%s\" in %s:%d. Abort."
 msgstr ""
 
-#: login-utils/login.c:664
+#: login-utils/login.c:676
 #, fuzzy
 msgid "login: Out of memory\n"
 msgstr "%s: memória insuficiente!\n"
 
-#: login-utils/login.c:710
+#: login-utils/login.c:722
 msgid "Illegal username"
 msgstr "Nome de usuário inválido"
 
-#: login-utils/login.c:753
+#: login-utils/login.c:765
 #, c-format
 msgid "%s login refused on this terminal.\n"
 msgstr "%s: login recusado neste terminal.\n"
 
-#: login-utils/login.c:758
+#: login-utils/login.c:770
 #, c-format
 msgid "LOGIN %s REFUSED FROM %s ON TTY %s"
 msgstr "%s: LOGIN RECUSADO A PARTIR DE %s NO TTY %s"
 
-#: login-utils/login.c:762
+#: login-utils/login.c:774
 #, c-format
 msgid "LOGIN %s REFUSED ON TTY %s"
 msgstr "%s: LOGIN RECUSADO NO TTY %s"
 
-#: login-utils/login.c:815
+#: login-utils/login.c:827
 msgid "Login incorrect\n"
 msgstr "Login incorreto\n"
 
-#: login-utils/login.c:837
+#: login-utils/login.c:849
 msgid ""
 "Too many users logged on already.\n"
 "Try again later.\n"
@@ -6185,80 +6190,85 @@ msgstr ""
 "Número máximo de usuários já conectados.\n"
 "Tente novamente mais tarde.\n"
 
-#: login-utils/login.c:841
+#: login-utils/login.c:853
 msgid "You have too many processes running.\n"
 msgstr "Número excessivo de processos em execução.\n"
 
-#: login-utils/login.c:1073
+#: login-utils/login.c:1077
 #, c-format
 msgid "DIALUP AT %s BY %s"
 msgstr "DISCAGEM EM %s POR %s"
 
-#: login-utils/login.c:1080
+#: login-utils/login.c:1084
 #, c-format
 msgid "ROOT LOGIN ON %s FROM %s"
 msgstr "LOGIN COMO ROOT EM %s A PARTIR DE %s"
 
-#: login-utils/login.c:1083
+#: login-utils/login.c:1087
 #, c-format
 msgid "ROOT LOGIN ON %s"
 msgstr "LOGIN COMO ROOT EM %s"
 
-#: login-utils/login.c:1086
+#: login-utils/login.c:1090
 #, c-format
 msgid "LOGIN ON %s BY %s FROM %s"
 msgstr "LOGIN EM %s POR %s A PARTIR DE %s"
 
-#: login-utils/login.c:1089
+#: login-utils/login.c:1093
 #, c-format
 msgid "LOGIN ON %s BY %s"
 msgstr "LOGIN EM %s POR %s"
 
-#: login-utils/login.c:1101
+#: login-utils/login.c:1105
 #, fuzzy
 msgid "You have new mail.\n"
 msgstr "Você tem mensagens %s na caixa de correio.\n"
 
-#: login-utils/login.c:1103
+#: login-utils/login.c:1107
 #, fuzzy
 msgid "You have mail.\n"
 msgstr "Você tem mensagens %s na caixa de correio.\n"
 
 #. error in fork()
-#: login-utils/login.c:1129
+#: login-utils/login.c:1125
 #, c-format
 msgid "login: failure forking: %s"
 msgstr "login: falha em fork: %s"
 
-#: login-utils/login.c:1151
+#: login-utils/login.c:1162
+#, c-format
+msgid "TIOCSCTTY failed: %m"
+msgstr ""
+
+#: login-utils/login.c:1168
 msgid "setuid() failed"
 msgstr "setuid() falhou"
 
-#: login-utils/login.c:1157
+#: login-utils/login.c:1174
 #, c-format
 msgid "No directory %s!\n"
 msgstr "O diretório %s não existe!\n"
 
-#: login-utils/login.c:1161
+#: login-utils/login.c:1178
 msgid "Logging in with home = \"/\".\n"
 msgstr "Fazendo login com home = \"/\".\n"
 
-#: login-utils/login.c:1169
+#: login-utils/login.c:1186
 msgid "login: no memory for shell script.\n"
 msgstr "login: não há memória para script de interpretador de comandos.\n"
 
-#: login-utils/login.c:1196
+#: login-utils/login.c:1213
 #, 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:1199
+#: login-utils/login.c:1216
 #, c-format
 msgid "login: no shell: %s.\n"
 msgstr "login: não existe interpretador de comandos: %s.\n"
 
-#: login-utils/login.c:1214
+#: login-utils/login.c:1231
 #, c-format
 msgid ""
 "\n"
@@ -6267,62 +6277,62 @@ msgstr ""
 "\n"
 "%s usuário: "
 
-#: login-utils/login.c:1225
+#: login-utils/login.c:1242
 msgid "login name much too long.\n"
 msgstr "nome de login longo demais.\n"
 
-#: login-utils/login.c:1226
+#: login-utils/login.c:1243
 msgid "NAME too long"
 msgstr "NOME longo demais"
 
-#: login-utils/login.c:1233
+#: login-utils/login.c:1250
 msgid "login names may not start with '-'.\n"
 msgstr "nomes de login não podem iniciar com '-'.\n"
 
-#: login-utils/login.c:1243
+#: login-utils/login.c:1260
 msgid "too many bare linefeeds.\n"
 msgstr "Número excessivo de saltos de linha.\n"
 
-#: login-utils/login.c:1244
+#: login-utils/login.c:1261
 msgid "EXCESSIVE linefeeds"
 msgstr "Saltos de linha EXCESSIVOS"
 
-#: login-utils/login.c:1255
+#: login-utils/login.c:1272
 #, c-format
 msgid "Login timed out after %d seconds\n"
 msgstr "Tempo de login esgotado após %d segundos\n"
 
-#: login-utils/login.c:1352
+#: login-utils/login.c:1369
 #, c-format
 msgid "Last login: %.*s "
 msgstr "Último login: %.*s "
 
-#: login-utils/login.c:1356
+#: login-utils/login.c:1373
 #, c-format
 msgid "from %.*s\n"
 msgstr "a partir de %.*s\n"
 
-#: login-utils/login.c:1359
+#: login-utils/login.c:1376
 #, c-format
 msgid "on %.*s\n"
 msgstr "em: %.*s\n"
 
-#: login-utils/login.c:1379
+#: login-utils/login.c:1396
 #, c-format
 msgid "LOGIN FAILURE FROM %s, %s"
 msgstr "FALHA DE LOGIN A PARTIR DE %s, %s"
 
-#: login-utils/login.c:1382
+#: login-utils/login.c:1399
 #, c-format
 msgid "LOGIN FAILURE ON %s, %s"
 msgstr "FALHA DE LOGIN EM %s, %s"
 
-#: login-utils/login.c:1386
+#: login-utils/login.c:1403
 #, c-format
 msgid "%d LOGIN FAILURES FROM %s, %s"
 msgstr "%d FALHAS DE LOGIN A PARTIR DE %s, %s"
 
-#: login-utils/login.c:1389
+#: login-utils/login.c:1406
 #, c-format
 msgid "%d LOGIN FAILURES ON %s, %s"
 msgstr "%d FALHAS DE LOGIN EM %s, %s"
@@ -7855,7 +7865,7 @@ msgstr "mount: n
 msgid "mount: can't find %s in %s or %s"
 msgstr "mount: não foi possível localizar %s em %s ou %s"
 
-#: mount/mount_by_label.c:153
+#: mount/mount_by_label.c:169
 #, c-format
 msgid ""
 "mount: could not open %s, so UUID and LABEL conversion cannot be done.\n"
@@ -7863,7 +7873,7 @@ msgstr ""
 "mount: não foi possível abrir %s - conversões de UUID e LABEL não podem ser "
 "feitas\n"
 
-#: mount/mount_by_label.c:257
+#: mount/mount_by_label.c:295
 msgid "mount: bad UUID"
 msgstr "mount: UUID inválida"
 
@@ -7896,87 +7906,87 @@ msgstr "       experimentarei o tipo %s\n"
 msgid "Trying %s\n"
 msgstr "Experimentando %s\n"
 
-#: mount/nfsmount.c:231
+#: mount/nfsmount.c:237
 msgid "mount: excessively long host:dir argument\n"
 msgstr "mount: argumento host:dir excessivamente longo\n"
 
-#: mount/nfsmount.c:245
+#: mount/nfsmount.c:251
 msgid "mount: warning: multiple hostnames not supported\n"
 msgstr "mount: aviso: nomes de host múltiplos não são suportados\n"
 
-#: mount/nfsmount.c:250
+#: mount/nfsmount.c:256
 msgid "mount: directory to mount not in host:dir format\n"
 msgstr "mount: diretório a montar não está no formato host:dir\n"
 
-#: mount/nfsmount.c:261 mount/nfsmount.c:516
+#: mount/nfsmount.c:267 mount/nfsmount.c:522
 #, c-format
 msgid "mount: can't get address for %s\n"
 msgstr "mount: não é possível obter endereço para %s\n"
 
-#: mount/nfsmount.c:267
+#: mount/nfsmount.c:273
 msgid "mount: got bad hp->h_length\n"
 msgstr "mount: obtido hp->h_length inválido\n"
 
-#: mount/nfsmount.c:284
+#: mount/nfsmount.c:290
 msgid "mount: excessively long option argument\n"
 msgstr "mount: argumento de opção excessivamente longo\n"
 
-#: mount/nfsmount.c:376
+#: mount/nfsmount.c:382
 msgid "Warning: Unrecognized proto= option.\n"
 msgstr "Aviso: opção proto= não reconhecida.\n"
 
-#: mount/nfsmount.c:383
+#: mount/nfsmount.c:389
 msgid "Warning: Option namlen is not supported.\n"
 msgstr "Aviso: a opção namlen não é suportada.\n"
 
-#: mount/nfsmount.c:387
+#: mount/nfsmount.c:393
 #, c-format
 msgid "unknown nfs mount parameter: %s=%d\n"
 msgstr "parâmetro de montagem de nfs desconhecido: %s=%d\n"
 
-#: mount/nfsmount.c:421
+#: mount/nfsmount.c:427
 msgid "Warning: option nolock is not supported.\n"
 msgstr "Aviso: a opção nolock não é suportada.\n"
 
-#: mount/nfsmount.c:426
+#: mount/nfsmount.c:432
 #, c-format
 msgid "unknown nfs mount option: %s%s\n"
 msgstr "opção de montagem de nfs desconhecida: %s%s\n"
 
-#: mount/nfsmount.c:522
+#: mount/nfsmount.c:528
 msgid "mount: got bad hp->h_length?\n"
 msgstr "mount: obtido hp->h_length inválido?\n"
 
-#: mount/nfsmount.c:710
+#: mount/nfsmount.c:716
 msgid "NFS over TCP is not supported.\n"
 msgstr "NFS sobre TCP não é suportado.\n"
 
-#: mount/nfsmount.c:717
+#: mount/nfsmount.c:723
 msgid "nfs socket"
 msgstr "nfs socket"
 
-#: mount/nfsmount.c:721
+#: mount/nfsmount.c:727
 msgid "nfs bindresvport"
 msgstr "nfs bindresvport"
 
-#: mount/nfsmount.c:735
+#: mount/nfsmount.c:741
 msgid "nfs server reported service unavailable"
 msgstr ""
 
-#: mount/nfsmount.c:744
+#: mount/nfsmount.c:750
 msgid "used portmapper to find NFS port\n"
 msgstr "usado portmapper para localizar porta NFS\n"
 
-#: mount/nfsmount.c:748
+#: mount/nfsmount.c:754
 #, c-format
 msgid "using port %d for nfs deamon\n"
 msgstr "usando porta %d para o daemon do nfs\n"
 
-#: mount/nfsmount.c:759
+#: mount/nfsmount.c:765
 msgid "nfs connect"
 msgstr "nfs connect"
 
-#: mount/nfsmount.c:846
+#: mount/nfsmount.c:852
 #, c-format
 msgid "unknown nfs status return value: %d"
 msgstr "valor de retorno de status de nfs desconhecido: %d"
@@ -8084,26 +8094,26 @@ msgstr ""
 msgid "umount: %s: %s"
 msgstr "umount: %s: %s"
 
-#: mount/umount.c:285
+#: mount/umount.c:284
 msgid "no umount2, trying umount...\n"
 msgstr "não existe umount2, tentando umount...\n"
 
-#: mount/umount.c:301
+#: mount/umount.c:300
 #, c-format
 msgid "could not umount %s - trying %s instead\n"
 msgstr "não foi possível efetuar umount em %s - tentando %s em vez dele\n"
 
-#: mount/umount.c:319
+#: mount/umount.c:318
 #, c-format
 msgid "umount: %s busy - remounted read-only\n"
 msgstr "umount: %s está ocupado - remontado somente para leitura\n"
 
-#: mount/umount.c:329
+#: mount/umount.c:328
 #, c-format
 msgid "umount: could not remount %s read-only\n"
 msgstr "umount: não foi possível remontar %s somente para leitura\n"
 
-#: mount/umount.c:338
+#: mount/umount.c:337
 #, c-format
 msgid "%s umounted\n"
 msgstr "%s desmontado\n"
@@ -8307,30 +8317,93 @@ msgstr "   %f int/s; %f recebidos (char/s)\n"
 msgid "Usage: %s [-c] [-n level] [-s bufsize]\n"
 msgstr "Uso: %s [-c] [-n nível] [-s tamanho_buffer]\n"
 
-#: sys-utils/ipcrm.c:59
+#: sys-utils/ipcrm.c:66
 #, c-format
 msgid "invalid id: %s\n"
 msgstr "id inválido: %s\n"
 
-#: sys-utils/ipcrm.c:77
+#: sys-utils/ipcrm.c:84
 #, c-format
 msgid "cannot remove id %s (%s)\n"
 msgstr "não foi possível remover id %s (%s)\n"
 
-#: sys-utils/ipcrm.c:91
-#, c-format
-msgid "usage: %s {shm | msg | sem} id ...\n"
+#: sys-utils/ipcrm.c:99
+#, fuzzy, c-format
+msgid "deprecated usage: %s {shm | msg | sem} id ...\n"
 msgstr "Uso: %s [shm | msg | sem] id...\n"
 
-#: sys-utils/ipcrm.c:124
+#: sys-utils/ipcrm.c:126
 #, c-format
 msgid "unknown resource type: %s\n"
 msgstr "tipo de recurso desconhecido: %s\n"
 
-#: sys-utils/ipcrm.c:128
+#: sys-utils/ipcrm.c:130
 msgid "resource(s) deleted\n"
 msgstr "recurso(s) excluído\n"
 
+#: sys-utils/ipcrm.c:140
+#, c-format
+msgid ""
+"usage: %s [ [-q msqid] [-m shmid] [-s semid]\n"
+"          [-Q msgkey] [-M shmkey] [-S semkey] ... ]\n"
+msgstr ""
+
+#: sys-utils/ipcrm.c:181
+#, c-format
+msgid "%s: illegal option -- %c\n"
+msgstr ""
+
+#: sys-utils/ipcrm.c:192
+#, fuzzy, c-format
+msgid "%s: illegal key (%s)\n"
+msgstr "Tecla ilegal"
+
+#: sys-utils/ipcrm.c:207 sys-utils/ipcrm.c:239
+#, fuzzy
+msgid "permission denied for key"
+msgstr "mount: permissão negada"
+
+#: sys-utils/ipcrm.c:210 sys-utils/ipcrm.c:249
+msgid "already removed key"
+msgstr ""
+
+#: sys-utils/ipcrm.c:213 sys-utils/ipcrm.c:244
+#, fuzzy
+msgid "invalid key"
+msgstr "id inválido: %s\n"
+
+#: sys-utils/ipcrm.c:216 sys-utils/ipcrm.c:254
+msgid "unknown error in key"
+msgstr ""
+
+#: sys-utils/ipcrm.c:240
+#, fuzzy
+msgid "permission denied for id"
+msgstr "mount: permissão negada"
+
+#: sys-utils/ipcrm.c:245
+#, fuzzy
+msgid "invalid id"
+msgstr "id inválido: %s\n"
+
+#: sys-utils/ipcrm.c:250
+msgid "already removed id"
+msgstr ""
+
+#: sys-utils/ipcrm.c:255
+msgid "unknown error in id"
+msgstr ""
+
+#: sys-utils/ipcrm.c:258
+#, fuzzy, c-format
+msgid "%s: %s (%s)\n"
+msgstr "%s em %s\n"
+
+#: sys-utils/ipcrm.c:266
+#, fuzzy, c-format
+msgid "%s: unknown argument: %s\n"
+msgstr "%s: sinal desconhecido %s\n"
+
 #: sys-utils/ipcs.c:122
 #, c-format
 msgid "usage : %s -asmq -tclup \n"
@@ -8953,7 +9026,7 @@ msgstr ""
 msgid "missing comma"
 msgstr ""
 
-#: sys-utils/readprofile.c:58
+#: sys-utils/readprofile.c:60
 #, fuzzy, c-format
 msgid ""
 "%s: Usage: \"%s [options]\n"
@@ -8977,37 +9050,37 @@ msgstr ""
 "\t -r            reinicializa todos os contadores (somente root)\n"
 "\t -V            mostra a versão e sai\n"
 
-#: sys-utils/readprofile.c:81
+#: sys-utils/readprofile.c:83
 #, fuzzy
 msgid "out of memory"
 msgstr "memória insuficiente?\n"
 
-#: sys-utils/readprofile.c:142
+#: sys-utils/readprofile.c:144
 #, c-format
 msgid "%s Version %s\n"
 msgstr "%s versão %s\n"
 
-#: sys-utils/readprofile.c:226
+#: sys-utils/readprofile.c:228
 #, c-format
 msgid "Sampling_step: %i\n"
 msgstr "Passo de amostragem: %i\n"
 
-#: sys-utils/readprofile.c:239 sys-utils/readprofile.c:262
+#: sys-utils/readprofile.c:241 sys-utils/readprofile.c:265
 #, c-format
 msgid "%s: %s(%i): wrong map line\n"
 msgstr "%s: %s(%i): linha de mapa incorreta\n"
 
-#: sys-utils/readprofile.c:250
+#: sys-utils/readprofile.c:253
 #, c-format
 msgid "%s: can't find \"_stext\" in %s\n"
 msgstr "%s: não foi possível localizar \"_stext\" em %s\n"
 
-#: sys-utils/readprofile.c:273
+#: sys-utils/readprofile.c:276
 #, c-format
 msgid "%s: profile address out of range. Wrong map file?\n"
 msgstr ""
 
-#: sys-utils/readprofile.c:299
+#: sys-utils/readprofile.c:304
 msgid "total"
 msgstr "total"
 
index 0b0cf6b5c08f230869a3591cef54fbb7f59d0d2c..e457c86cd51ff5ac66de82819af51a24d9fd6591 100644 (file)
--- a/po/sv.po
+++ b/po/sv.po
@@ -1,6 +1,6 @@
 # Swedish messages for util-linux.
-# Copyright (C) 2001 Free Software Foundation, Inc.
-# Christian Rose <menthos@menthos.com>, 2001.
+# Copyright (C) 2001, 2002 Free Software Foundation, Inc.
+# Christian Rose <menthos@menthos.com>, 2001, 2002.
 #
 # Permission is granted to freely copy and distribute
 # this file and modified versions, provided that this
@@ -9,9 +9,9 @@
 #
 msgid ""
 msgstr ""
-"Project-Id-Version: util-linux 2.11m\n"
-"POT-Creation-Date: 2002-03-08 23:54+0100\n"
-"PO-Revision-Date: 2001-11-27 15:27+0100\n"
+"Project-Id-Version: util-linux 2.11o\n"
+"POT-Creation-Date: 2002-04-06 01:28+0200\n"
+"PO-Revision-Date: 2002-03-16 23:15+0100\n"
 "Last-Translator: Christian Rose <menthos@menthos.com>\n"
 "Language-Team: Swedish <sv@li.org>\n"
 "MIME-Version: 1.0\n"
@@ -63,19 +63,18 @@ msgid "reread partition table"
 msgstr "läs om partitionstabellen"
 
 #: disk-utils/blockdev.c:98
-#, fuzzy
 msgid "Usage:\n"
-msgstr "Användning:"
+msgstr "Användning:\n"
 
 #: disk-utils/blockdev.c:100
 #, c-format
 msgid "  %s --report [devices]\n"
-msgstr ""
+msgstr "  %s --report [enheter]\n"
 
 #: disk-utils/blockdev.c:101
-#, fuzzy, c-format
+#, c-format
 msgid "  %s [-v|-q] commands devices\n"
-msgstr "Användning: %s [-V] [-v|-q] kommandon enheter\n"
+msgstr "  %s [-v|-q] kommandon enheter\n"
 
 #: disk-utils/blockdev.c:102
 msgid "Available commands:\n"
@@ -94,21 +93,21 @@ msgstr "%s kr
 #: disk-utils/blockdev.c:278
 #, c-format
 msgid "%s succeeded.\n"
-msgstr ""
+msgstr "%s lyckades.\n"
 
 #: disk-utils/blockdev.c:296 disk-utils/blockdev.c:321
-#, fuzzy, c-format
+#, c-format
 msgid "%s: cannot open %s\n"
-msgstr "%s: kan inte öppna %s: %s\n"
+msgstr "%s: kan inte öppna %s\n"
 
 #: disk-utils/blockdev.c:338
-#, fuzzy, c-format
+#, c-format
 msgid "%s: ioctl error on %s\n"
-msgstr "%s: läsfel på %s\n"
+msgstr "%s: ioctl-fel på %s\n"
 
 #: disk-utils/blockdev.c:345
 msgid "RO    RA   SSZ   BSZ   StartSec     Size    Device\n"
-msgstr ""
+msgstr "RO    RA   SSZ   BSZ   Startsektor  Storlek Enhet\n"
 
 #: disk-utils/elvtune.c:46 disk-utils/setfdprm.c:100
 msgid "usage:\n"
@@ -151,7 +150,7 @@ msgstr "anv
 
 #: disk-utils/fdformat.c:120 disk-utils/fsck.minix.c:1291
 #: disk-utils/isosize.c:179 disk-utils/mkfs.bfs.c:119 disk-utils/mkfs.c:55
-#: disk-utils/mkfs.minix.c:644 disk-utils/mkswap.c:452
+#: disk-utils/mkfs.minix.c:644 disk-utils/mkswap.c:457
 #: disk-utils/setfdprm.c:128 misc-utils/cal.c:246 misc-utils/ddate.c:181
 #: misc-utils/kill.c:188 misc-utils/rename.c:79 misc-utils/script.c:132
 #, c-format
@@ -199,28 +198,28 @@ msgid "check aborted.\n"
 msgstr "kontroll avbruten.\n"
 
 #: disk-utils/fsck.minix.c:332 disk-utils/fsck.minix.c:356
-#, fuzzy, c-format
+#, c-format
 msgid "Zone nr < FIRSTZONE in file `%s'."
-msgstr "Zonnummer < \"FIRSTZONE\" i filen \""
+msgstr "Zonnummer < \"FIRSTZONE\" i filen \"%s\"."
 
 #: disk-utils/fsck.minix.c:336 disk-utils/fsck.minix.c:360
-#, fuzzy, c-format
+#, c-format
 msgid "Zone nr >= ZONES in file `%s'."
-msgstr "Zonnummer >= \"ZONES\" i filen \""
+msgstr "Zonnummer >= \"ZONES\" i filen \"%s\"."
 
 #: disk-utils/fsck.minix.c:341 disk-utils/fsck.minix.c:365
 msgid "Remove block"
 msgstr "Ta bort block"
 
 #: disk-utils/fsck.minix.c:384
-#, fuzzy, c-format
+#, c-format
 msgid "Read error: unable to seek to block in file '%s'\n"
-msgstr "Läsfel: kan inte söka till blocket i filen \""
+msgstr "Läsfel: kan inte söka till blocket i filen \"%s\"\n"
 
 #: disk-utils/fsck.minix.c:390
-#, fuzzy, c-format
+#, c-format
 msgid "Read error: bad block in file '%s'\n"
-msgstr "Läsfel: felaktigt block i filen \""
+msgstr "Läsfel: felaktigt block i filen \"%s\"\n"
 
 #: disk-utils/fsck.minix.c:405
 msgid ""
@@ -235,9 +234,9 @@ msgid "seek failed in write_block"
 msgstr "sökning misslyckades i \"write_block\""
 
 #: disk-utils/fsck.minix.c:414
-#, fuzzy, c-format
+#, c-format
 msgid "Write error: bad block in file '%s'\n"
-msgstr "Skrivfel: felaktigt block i filen \""
+msgstr "Skrivfel: felaktigt block i filen \"%s\"\n"
 
 #: disk-utils/fsck.minix.c:532
 msgid "seek failed in write_super_block"
@@ -355,18 +354,18 @@ msgstr ""
 "\n"
 
 #: disk-utils/fsck.minix.c:660 disk-utils/fsck.minix.c:712
-#, fuzzy, c-format
+#, c-format
 msgid "Inode %d marked unused, but used for file '%s'\n"
-msgstr "Inod %d är markerad som oanvänd, men används för filen \""
+msgstr "Inod %d är markerad som oanvänd, men används för filen \"%s\"\n"
 
 #: disk-utils/fsck.minix.c:664 disk-utils/fsck.minix.c:716
 msgid "Mark in use"
 msgstr "Märk som använd"
 
 #: disk-utils/fsck.minix.c:686 disk-utils/fsck.minix.c:736
-#, fuzzy, c-format
+#, c-format
 msgid "The file `%s' has mode %05o\n"
-msgstr " har rättigheterna %05o\n"
+msgstr "Filen \"%s\" har rättigheterna %05o\n"
 
 #: disk-utils/fsck.minix.c:693 disk-utils/fsck.minix.c:742
 msgid "Warning: inode count too big.\n"
@@ -377,9 +376,9 @@ msgid "root inode isn't a directory"
 msgstr "rotinoden är inte en katalog"
 
 #: disk-utils/fsck.minix.c:779 disk-utils/fsck.minix.c:813
-#, fuzzy, c-format
+#, c-format
 msgid "Block has been used before. Now in file `%s'."
-msgstr "Blocket har använts tidigare. Nu i filen \""
+msgstr "Blocket har använts tidigare. Nu i filen \"%s\"."
 
 #: disk-utils/fsck.minix.c:781 disk-utils/fsck.minix.c:815
 #: disk-utils/fsck.minix.c:1149 disk-utils/fsck.minix.c:1158
@@ -388,51 +387,52 @@ msgid "Clear"
 msgstr "Töm"
 
 #: disk-utils/fsck.minix.c:791 disk-utils/fsck.minix.c:825
-#, fuzzy, c-format
+#, c-format
 msgid "Block %d in file `%s' is marked not in use."
-msgstr "\" är markerat som oanvänt."
+msgstr "Block %d i filen \"%s\" är markerat som oanvänt."
 
 #: disk-utils/fsck.minix.c:793 disk-utils/fsck.minix.c:827
 msgid "Correct"
 msgstr "Korrigera"
 
 #: disk-utils/fsck.minix.c:973 disk-utils/fsck.minix.c:1041
-#, fuzzy, c-format
+#, c-format
 msgid "The directory '%s' contains a bad inode number for file '%.*s'."
-msgstr "\" innehåller ett felaktigt inodsnummer för filen \"%.*s\"."
+msgstr ""
+"Katalogen \"%s\" innehåller ett felaktigt inodsnummer för filen \"%.*s\"."
 
 #: disk-utils/fsck.minix.c:976 disk-utils/fsck.minix.c:1044
 msgid " Remove"
 msgstr " Ta bort"
 
 #: disk-utils/fsck.minix.c:990
-#, fuzzy, c-format
+#, c-format
 msgid "`%s': bad directory: '.' isn't first\n"
-msgstr ": felaktig katalog: \".\" är inte på första plats\n"
+msgstr "\"%s\": felaktig katalog: \".\" kommer inte först\n"
 
 #: disk-utils/fsck.minix.c:998
-#, fuzzy, c-format
+#, c-format
 msgid "`%s': bad directory: '..' isn't second\n"
-msgstr ": felaktig katalog: \"..\" är inte på andra plats\n"
+msgstr "\"%s\": felaktig katalog: \"..\" kommer inte på andra plats\n"
 
 #: disk-utils/fsck.minix.c:1058
-#, fuzzy, c-format
+#, c-format
 msgid "%s: bad directory: '.' isn't first\n"
-msgstr ": felaktig katalog: \".\" är inte på första plats\n"
+msgstr "%s: felaktig katalog: \".\" kommer inte först\n"
 
 #: disk-utils/fsck.minix.c:1067
-#, fuzzy, c-format
+#, c-format
 msgid "%s: bad directory: '..' isn't second\n"
-msgstr ": felaktig katalog: \"..\" är inte på andra plats\n"
+msgstr "%s: felaktig katalog: \"..\" kommer inte på andra plats\n"
 
 #: disk-utils/fsck.minix.c:1102
 msgid "internal error"
 msgstr "internt fel"
 
 #: disk-utils/fsck.minix.c:1105 disk-utils/fsck.minix.c:1124
-#, fuzzy, c-format
+#, c-format
 msgid "%s: bad directory: size < 32"
-msgstr ": felaktig katalog: storlek < 32"
+msgstr "%s: felaktig katalog: storlek < 32"
 
 #: disk-utils/fsck.minix.c:1138
 msgid "seek failed in bad_zone"
@@ -805,7 +805,7 @@ msgstr "s
 msgid "Weird values in do_check: probably bugs\n"
 msgstr "Konstiga värden i \"do_check\": troligtvis programfel\n"
 
-#: disk-utils/mkfs.minix.c:583 disk-utils/mkswap.c:362
+#: disk-utils/mkfs.minix.c:583 disk-utils/mkswap.c:368
 msgid "seek failed in check_blocks"
 msgstr "sökning misslyckades i \"check_blocks\""
 
@@ -867,64 +867,64 @@ msgstr ""
 msgid "Assuming pages of size %d (not %d)\n"
 msgstr "Antar sidstorleken %d (inte %d)\n"
 
-#: disk-utils/mkswap.c:316
+#: disk-utils/mkswap.c:322
 #, c-format
 msgid "Usage: %s [-c] [-v0|-v1] [-pPAGESZ] /dev/name [blocks]\n"
 msgstr "Användning: %s [-c] [-v0|-v1] [-pSIDSTORLEK] /dev/namn [block]\n"
 
-#: disk-utils/mkswap.c:339
+#: disk-utils/mkswap.c:345
 msgid "too many bad pages"
 msgstr "för många felaktiga sidor"
 
-#: disk-utils/mkswap.c:353 misc-utils/look.c:182 misc-utils/setterm.c:1130
+#: disk-utils/mkswap.c:359 misc-utils/look.c:182 misc-utils/setterm.c:1130
 #: text-utils/more.c:1934 text-utils/more.c:1945
 msgid "Out of memory"
 msgstr "Slut på minne"
 
-#: disk-utils/mkswap.c:370
+#: disk-utils/mkswap.c:376
 msgid "one bad page\n"
 msgstr "en felaktig sida\n"
 
-#: disk-utils/mkswap.c:372
+#: disk-utils/mkswap.c:378
 #, c-format
 msgid "%d bad pages\n"
 msgstr "%d felaktiga sidor\n"
 
-#: disk-utils/mkswap.c:492
+#: disk-utils/mkswap.c:497
 #, c-format
 msgid "%s: error: Nowhere to set up swap on?\n"
 msgstr "%s: fel: Ingenstans att skapa växlingsutrymme?\n"
 
-#: disk-utils/mkswap.c:510
+#: disk-utils/mkswap.c:515
 #, c-format
 msgid "%s: error: size %ld is larger than device size %d\n"
 msgstr "%s: fel: storleken %ld är större än enhetsstorleken %d\n"
 
-#: disk-utils/mkswap.c:529
+#: disk-utils/mkswap.c:534
 #, c-format
 msgid "%s: error: unknown version %d\n"
 msgstr "%s: fel: version %d är okänd\n"
 
-#: disk-utils/mkswap.c:535
+#: disk-utils/mkswap.c:540
 #, c-format
 msgid "%s: error: swap area needs to be at least %ldkB\n"
 msgstr "%s: fel: växlingsutrymmet måste vara minst %ld kB\n"
 
-#: disk-utils/mkswap.c:554
+#: disk-utils/mkswap.c:559
 #, c-format
 msgid "%s: warning: truncating swap area to %ldkB\n"
 msgstr "%s: varning: trunkerar växlingsutrymmet till %ld kB\n"
 
-#: disk-utils/mkswap.c:566
+#: disk-utils/mkswap.c:571
 #, c-format
 msgid "Will not try to make swapdevice on '%s'"
 msgstr "Kommer inte att försöka skapa växlingsenhet på \"%s\""
 
-#: disk-utils/mkswap.c:575 disk-utils/mkswap.c:596
+#: disk-utils/mkswap.c:580 disk-utils/mkswap.c:601
 msgid "fatal: first page unreadable"
 msgstr "ödesdigert: första sidan är oläsbar"
 
-#: disk-utils/mkswap.c:581
+#: disk-utils/mkswap.c:586
 #, c-format
 msgid ""
 "%s: Device '%s' contains a valid Sun disklabel.\n"
@@ -939,24 +939,24 @@ msgstr ""
 "växlingsutrymme på den enheten kan du använda flaggan -f för att tvinga\n"
 "fram det.\n"
 
-#: disk-utils/mkswap.c:605
+#: disk-utils/mkswap.c:610
 msgid "Unable to set up swap-space: unreadable"
 msgstr "Kan inte ställa in växlingsutrymme: oläsbart"
 
-#: disk-utils/mkswap.c:606
-#, c-format
-msgid "Setting up swapspace version %d, size = %ld bytes\n"
+#: disk-utils/mkswap.c:611
+#, fuzzy, c-format
+msgid "Setting up swapspace version %d, size = %lu bytes\n"
 msgstr "Ställer in växlingsutrymme version %d, storlek = %ld byte\n"
 
-#: disk-utils/mkswap.c:612
+#: disk-utils/mkswap.c:617
 msgid "unable to rewind swap-device"
 msgstr "kan inte spola tillbaka växlingsenheten"
 
-#: disk-utils/mkswap.c:615
+#: disk-utils/mkswap.c:620
 msgid "unable to write signature page"
 msgstr "kan inte skriva signatursida"
 
-#: disk-utils/mkswap.c:623
+#: disk-utils/mkswap.c:628
 msgid "fsync failed"
 msgstr "fsync misslyckades"
 
@@ -1011,18 +1011,16 @@ msgid "Linux ext2"
 msgstr "Linux ext2"
 
 #: fdisk/cfdisk.c:405
-#, fuzzy
 msgid "Linux ext3"
-msgstr "Linux ext2"
+msgstr "Linux ext3"
 
 #: fdisk/cfdisk.c:407
 msgid "Linux XFS"
 msgstr "Linux XFS"
 
 #: fdisk/cfdisk.c:409
-#, fuzzy
 msgid "Linux ReiserFS"
-msgstr "Linux XFS"
+msgstr "Linux ReiserFS"
 
 #. also Solaris
 #: fdisk/cfdisk.c:411 fdisk/i386_sys_types.c:57
@@ -1669,14 +1667,14 @@ msgid "Disk Drive: %s"
 msgstr "Diskenhet: %s"
 
 #: fdisk/cfdisk.c:2576
-#, fuzzy, c-format
+#, c-format
 msgid "Size: %lld bytes, %ld MB"
-msgstr "Storlek: %lld byte"
+msgstr "Storlek: %lld byte, %ld MB"
 
 #: fdisk/cfdisk.c:2579
-#, fuzzy, c-format
+#, c-format
 msgid "Size: %lld bytes, %ld.%ld GB"
-msgstr "Storlek: %lld byte"
+msgstr "Storlek: %lld byte, %ld,%ld GB"
 
 #: fdisk/cfdisk.c:2583
 #, c-format
@@ -3846,7 +3844,7 @@ msgstr "NeXTSTEP"
 
 #: fdisk/i386_sys_types.c:70
 msgid "Darwin UFS"
-msgstr ""
+msgstr "Darwin UFS"
 
 #: fdisk/i386_sys_types.c:71
 msgid "NetBSD"
@@ -3854,7 +3852,7 @@ msgstr "NetBSD"
 
 #: fdisk/i386_sys_types.c:72
 msgid "Darwin boot"
-msgstr ""
+msgstr "Darwin start"
 
 #: fdisk/i386_sys_types.c:73
 msgid "BSDI fs"
@@ -3870,7 +3868,7 @@ msgstr "Boot Wizard dold"
 
 #: fdisk/i386_sys_types.c:76
 msgid "Solaris boot"
-msgstr ""
+msgstr "Solaris start"
 
 #: fdisk/i386_sys_types.c:77
 msgid "DRDOS/sec (FAT-12)"
@@ -4162,9 +4160,8 @@ msgstr ""
 "\n"
 
 #: fdisk/sfdisk.c:871
-#, fuzzy
 msgid "   Device Boot Start     End   #cyls    #blocks   Id  System\n"
-msgstr "   Enhet  Start Början   Slut  Cyl.    Block     Id  System\n"
+msgstr "   Enhet  Start Början   Slut  Cyl.     Block     Id  System\n"
 
 #: fdisk/sfdisk.c:876
 #, c-format
@@ -4176,9 +4173,8 @@ msgstr ""
 "\n"
 
 #: fdisk/sfdisk.c:878
-#, fuzzy
 msgid "   Device Boot    Start       End   #sectors  Id  System\n"
-msgstr "   Enhet  Start   Början      Slut Sektorer  Id  System\n"
+msgstr "   Enhet  Start   Början      Slut  Sektorer  Id  System\n"
 
 #: fdisk/sfdisk.c:881
 #, c-format
@@ -4190,9 +4186,8 @@ msgstr ""
 "\n"
 
 #: fdisk/sfdisk.c:883
-#, fuzzy
 msgid "   Device Boot   Start       End    #blocks   Id  System\n"
-msgstr "   Enhet  Start  Början      Slut  Block     Id  System\n"
+msgstr "   Enhet  Start  Början      Slut   Block     Id  System\n"
 
 #: fdisk/sfdisk.c:886
 #, c-format
@@ -4204,9 +4199,8 @@ msgstr ""
 "\n"
 
 #: fdisk/sfdisk.c:888
-#, fuzzy
 msgid "   Device Boot Start   End     MB    #blocks   Id  System\n"
-msgstr "   Enhet  Start Början Slut    MB   Block     Id  System\n"
+msgstr "   Enhet  Start Början Slut    MB    Block     Id  System\n"
 
 #: fdisk/sfdisk.c:1048
 #, c-format
@@ -4228,15 +4222,15 @@ msgid "No partitions found\n"
 msgstr "Inga partitioner hittades\n"
 
 #: fdisk/sfdisk.c:1072
-#, fuzzy, c-format
+#, c-format
 msgid ""
 "Warning: The partition table looks like it was made\n"
 "  for C/H/S=*/%ld/%ld (instead of %ld/%ld/%ld).\n"
 "For this listing I'll assume that geometry.\n"
 msgstr ""
-"Varning: Den första partitionen ser ut som om den gjordes\n"
+"Varning: Partitionstabellen ser ut som om den gjordes\n"
 "  för C/H/S=*/%ld/%ld (istället för %ld/%ld/%ld).\n"
-"I denna visning kommer jag att anta den senare geometrin.\n"
+"I denna visning kommer jag att antaga den geometrin.\n"
 
 #: fdisk/sfdisk.c:1121
 msgid "no partition table present.\n"
@@ -5816,7 +5810,7 @@ msgstr "
 msgid "Password error."
 msgstr "Lösenordsfel."
 
-#: login-utils/chfn.c:176 login-utils/chsh.c:167 login-utils/login.c:775
+#: login-utils/chfn.c:176 login-utils/chsh.c:167 login-utils/login.c:787
 #: login-utils/newgrp.c:48 login-utils/simpleinit.c:320 mount/lomount.c:248
 #: mount/lomount.c:253
 msgid "Password: "
@@ -6037,20 +6031,25 @@ msgstr ""
 "\n"
 "avbruten %10.10s %5.5s \n"
 
-#: login-utils/login.c:402
+#: login-utils/login.c:264
+#, fuzzy, c-format
+msgid "FATAL: can't reopen tty: %s"
+msgstr "mount: kan inte öppna %s: %s"
+
+#: login-utils/login.c:413
 msgid "login: -h for super-user only.\n"
 msgstr "login: -h endast för superanvändaren.\n"
 
-#: login-utils/login.c:429
+#: login-utils/login.c:440
 msgid "usage: login [-fp] [username]\n"
 msgstr "användning: login [-fp] [användarnamn]\n"
 
-#: login-utils/login.c:538
+#: login-utils/login.c:547
 #, c-format
 msgid "login: PAM Failure, aborting: %s\n"
 msgstr "login: PAM-fel, avbryter: %s\n"
 
-#: login-utils/login.c:540
+#: login-utils/login.c:549
 #, c-format
 msgid "Couldn't initialize PAM: %s"
 msgstr "Kunde inte initiera PAM: %s"
@@ -6061,16 +6060,16 @@ msgstr "Kunde inte initiera PAM: %s"
 #. * PAM doesn't have an interface to specify the "Password: " string
 #. * (yet).
 #.
-#: login-utils/login.c:557
+#: login-utils/login.c:566
 msgid "login: "
 msgstr "användarnamn: "
 
-#: login-utils/login.c:597
+#: login-utils/login.c:606
 #, c-format
 msgid "FAILED LOGIN %d FROM %s FOR %s, %s"
 msgstr "MISSLYCKAD INLOGGNING %d FRÅN %s FÖR %s, %s"
 
-#: login-utils/login.c:601
+#: login-utils/login.c:610
 msgid ""
 "Login incorrect\n"
 "\n"
@@ -6078,17 +6077,17 @@ msgstr ""
 "Felaktig inloggning\n"
 "\n"
 
-#: login-utils/login.c:610
+#: login-utils/login.c:619
 #, c-format
 msgid "TOO MANY LOGIN TRIES (%d) FROM %s FOR %s, %s"
 msgstr "FÖR MÅNGA INLOGGNINGSFÖRSÖK (%d) FRÅN %s FÖR %s, %s"
 
-#: login-utils/login.c:614
+#: login-utils/login.c:623
 #, c-format
 msgid "FAILED LOGIN SESSION FROM %s FOR %s, %s"
 msgstr "MISSLYCKAD INLOGGNINGSSESSION FRÅN %s FÖR %s, %s"
 
-#: login-utils/login.c:618
+#: login-utils/login.c:627
 msgid ""
 "\n"
 "Login incorrect\n"
@@ -6096,7 +6095,7 @@ msgstr ""
 "\n"
 "Felaktig inloggning\n"
 
-#: login-utils/login.c:639 login-utils/login.c:646 login-utils/login.c:678
+#: login-utils/login.c:649 login-utils/login.c:656 login-utils/login.c:690
 msgid ""
 "\n"
 "Session setup problem, abort.\n"
@@ -6104,45 +6103,45 @@ msgstr ""
 "\n"
 "Problem med konfiguration av session, avbryter.\n"
 
-#: login-utils/login.c:640
+#: login-utils/login.c:650
 #, c-format
 msgid "NULL user name in %s:%d. Abort."
 msgstr "Användarnamnet är NULL i %s:%d. Avbryter."
 
-#: login-utils/login.c:647
+#: login-utils/login.c:657
 #, c-format
 msgid "Invalid user name \"%s\" in %s:%d. Abort."
 msgstr "Ogiltigt användarnamn \"%s\" i %s:%d. Avbryter."
 
-#: login-utils/login.c:664
+#: login-utils/login.c:676
 msgid "login: Out of memory\n"
 msgstr "login: Slut på minne\n"
 
-#: login-utils/login.c:710
+#: login-utils/login.c:722
 msgid "Illegal username"
 msgstr "Ogiltigt användarnamn"
 
 # %s blir här "root" i de flesta fall vad jag förstår
-#: login-utils/login.c:753
+#: login-utils/login.c:765
 #, c-format
 msgid "%s login refused on this terminal.\n"
 msgstr "%s-inloggning nekas på denna terminal.\n"
 
-#: login-utils/login.c:758
+#: login-utils/login.c:770
 #, c-format
 msgid "LOGIN %s REFUSED FROM %s ON TTY %s"
 msgstr "INLOGGNING AV %s NEKAS FRÅN %s PÅ TTY %s"
 
-#: login-utils/login.c:762
+#: login-utils/login.c:774
 #, c-format
 msgid "LOGIN %s REFUSED ON TTY %s"
 msgstr "INLOGGNING AV %s NEKAS PÅ TTY %s"
 
-#: login-utils/login.c:815
+#: login-utils/login.c:827
 msgid "Login incorrect\n"
 msgstr "Felaktig inloggning\n"
 
-#: login-utils/login.c:837
+#: login-utils/login.c:849
 msgid ""
 "Too many users logged on already.\n"
 "Try again later.\n"
@@ -6150,77 +6149,82 @@ msgstr ""
 "För många användare är redan inloggade.\n"
 "Försök igen senare.\n"
 
-#: login-utils/login.c:841
+#: login-utils/login.c:853
 msgid "You have too many processes running.\n"
 msgstr "Du har för många processer körande.\n"
 
-#: login-utils/login.c:1073
+#: login-utils/login.c:1077
 #, c-format
 msgid "DIALUP AT %s BY %s"
 msgstr "UPPRINGNING PÅ %s AV %s"
 
-#: login-utils/login.c:1080
+#: login-utils/login.c:1084
 #, c-format
 msgid "ROOT LOGIN ON %s FROM %s"
 msgstr "ROOT-INLOGGNING PÅ %s FRÅN %s"
 
-#: login-utils/login.c:1083
+#: login-utils/login.c:1087
 #, c-format
 msgid "ROOT LOGIN ON %s"
 msgstr "ROOT-INLOGGNING PÅ %s"
 
-#: login-utils/login.c:1086
+#: login-utils/login.c:1090
 #, c-format
 msgid "LOGIN ON %s BY %s FROM %s"
 msgstr "INLOGGNING PÅ %s AV %s FRÅN %s"
 
-#: login-utils/login.c:1089
+#: login-utils/login.c:1093
 #, c-format
 msgid "LOGIN ON %s BY %s"
 msgstr "INLOGGNING PÅ %s AV %s"
 
-#: login-utils/login.c:1101
+#: login-utils/login.c:1105
 msgid "You have new mail.\n"
 msgstr "Du har ny post.\n"
 
-#: login-utils/login.c:1103
+#: login-utils/login.c:1107
 msgid "You have mail.\n"
 msgstr "Du har post.\n"
 
 #. error in fork()
-#: login-utils/login.c:1129
+#: login-utils/login.c:1125
 #, c-format
 msgid "login: failure forking: %s"
 msgstr "login: grenande misslyckades: %s"
 
-#: login-utils/login.c:1151
+#: login-utils/login.c:1162
+#, c-format
+msgid "TIOCSCTTY failed: %m"
+msgstr ""
+
+#: login-utils/login.c:1168
 msgid "setuid() failed"
 msgstr "setuid() misslyckades"
 
-#: login-utils/login.c:1157
+#: login-utils/login.c:1174
 #, c-format
 msgid "No directory %s!\n"
 msgstr "Katalogen %s finns inte!\n"
 
-#: login-utils/login.c:1161
+#: login-utils/login.c:1178
 msgid "Logging in with home = \"/\".\n"
 msgstr "Loggar in med hemkatalog = \"/\".\n"
 
-#: login-utils/login.c:1169
+#: login-utils/login.c:1186
 msgid "login: no memory for shell script.\n"
 msgstr "login: inget minne för skalskript.\n"
 
-#: login-utils/login.c:1196
+#: login-utils/login.c:1213
 #, c-format
 msgid "login: couldn't exec shell script: %s.\n"
 msgstr "login: kunde inte köra skalskript: %s.\n"
 
-#: login-utils/login.c:1199
+#: login-utils/login.c:1216
 #, c-format
 msgid "login: no shell: %s.\n"
 msgstr "login: inget skal: %s.\n"
 
-#: login-utils/login.c:1214
+#: login-utils/login.c:1231
 #, c-format
 msgid ""
 "\n"
@@ -6229,62 +6233,62 @@ msgstr ""
 "\n"
 "%s användarnamn: "
 
-#: login-utils/login.c:1225
+#: login-utils/login.c:1242
 msgid "login name much too long.\n"
 msgstr "användarnamnet är alldeles för långt.\n"
 
-#: login-utils/login.c:1226
+#: login-utils/login.c:1243
 msgid "NAME too long"
 msgstr "NAMNET är för långt"
 
-#: login-utils/login.c:1233
+#: login-utils/login.c:1250
 msgid "login names may not start with '-'.\n"
 msgstr "användarnamn får inte börja med \"-\".\n"
 
-#: login-utils/login.c:1243
+#: login-utils/login.c:1260
 msgid "too many bare linefeeds.\n"
 msgstr "för många tomma nyrader.\n"
 
-#: login-utils/login.c:1244
+#: login-utils/login.c:1261
 msgid "EXCESSIVE linefeeds"
 msgstr "FÖR MÅNGA nyrader"
 
-#: login-utils/login.c:1255
+#: login-utils/login.c:1272
 #, c-format
 msgid "Login timed out after %d seconds\n"
 msgstr "Inloggning gjorde time-out efter %d sekunder\n"
 
-#: login-utils/login.c:1352
+#: login-utils/login.c:1369
 #, c-format
 msgid "Last login: %.*s "
 msgstr "Senaste inloggning: %.*s "
 
-#: login-utils/login.c:1356
+#: login-utils/login.c:1373
 #, c-format
 msgid "from %.*s\n"
 msgstr "från %.*s\n"
 
-#: login-utils/login.c:1359
+#: login-utils/login.c:1376
 #, c-format
 msgid "on %.*s\n"
 msgstr "på %.*s\n"
 
-#: login-utils/login.c:1379
+#: login-utils/login.c:1396
 #, c-format
 msgid "LOGIN FAILURE FROM %s, %s"
 msgstr "MISSLYCKAD INLOGGNING FRÅN %s, %s"
 
-#: login-utils/login.c:1382
+#: login-utils/login.c:1399
 #, c-format
 msgid "LOGIN FAILURE ON %s, %s"
 msgstr "MISSLYCKAD INLOGGNING PÅ %s, %s"
 
-#: login-utils/login.c:1386
+#: login-utils/login.c:1403
 #, c-format
 msgid "%d LOGIN FAILURES FROM %s, %s"
 msgstr "%d MISSLYCKADE INLOGGNINGAR FRÅN %s, %s"
 
-#: login-utils/login.c:1389
+#: login-utils/login.c:1406
 #, c-format
 msgid "%d LOGIN FAILURES ON %s, %s"
 msgstr "%d MISSLYCKADE INLOGGNINGAR PÅ %s, %s"
@@ -6801,9 +6805,8 @@ msgid "%s %d"
 msgstr "%s %d"
 
 #: misc-utils/cal.c:674
-#, fuzzy
 msgid "usage: cal [-13smjyV] [[month] year]\n"
-msgstr "användning: cal [-mjyV] [[månad] år]\n"
+msgstr "användning: cal [-13smjyV] [[månad] år]\n"
 
 #: misc-utils/ddate.c:205
 #, c-format
@@ -6937,14 +6940,14 @@ msgid "call: %s from to files...\n"
 msgstr "anropa: %s från till filer...\n"
 
 #: misc-utils/script.c:106
-#, fuzzy, c-format
+#, c-format
 msgid ""
 "Warning: `%s' is a link.\n"
 "Use `%s [options] %s' if you really want to use it.\n"
 "Script not started.\n"
 msgstr ""
-"Varning: \"%s\" är en symbolisk länk.\n"
-"Använd \"%s [flaggor] %s\" om du verkligen vill använda det.\n"
+"Varning: \"%s\" är en länk.\n"
+"Använd \"%s [flaggor] %s\" om du verkligen vill använda den.\n"
 "Skriptet startades inte.\n"
 
 #: misc-utils/script.c:155
@@ -7507,7 +7510,7 @@ msgid "mount: can't open %s: %s"
 msgstr "mount: kan inte öppna %s: %s"
 
 #: mount/mount.c:656
-#, fuzzy, c-format
+#, c-format
 msgid "mount: cannot open %s for setting speed"
 msgstr "mount: kan inte öppna %s för inställning av hastighet"
 
@@ -7738,7 +7741,6 @@ msgid "mount: %s already mounted on %s\n"
 msgstr "mount: %s är redan monterad på %s\n"
 
 #: mount/mount.c:1324
-#, fuzzy
 msgid ""
 "Usage: mount -V                 : print version\n"
 "       mount -h                 : print this help\n"
@@ -7777,6 +7779,8 @@ msgstr ""
 "filsystem (av angiven typ) som finns på enheten.\n"
 "Man kan också montera ett redan synligt katalogträd någon annanstans:\n"
 "       mount --bind gammalkatalog nykatalog\n"
+"eller flytta ett underträd:\n"
+"       mount --move gammalkatalog nykatalog\n"
 "En enhet kan anges med namn, exempelvis /dev/hda1 eller /dev/cdrom,\n"
 "eller med etikett, genom att använda  -L etikett  eller med uuid,\n"
 "genom att använda  -U uuid . Andra flaggor: [-nfFrsvw] [-o flaggor].\n"
@@ -7810,7 +7814,7 @@ msgstr "mount: kan inte hitta %s i %s"
 msgid "mount: can't find %s in %s or %s"
 msgstr "mount: kan inte hitta %s i %s eller %s"
 
-#: mount/mount_by_label.c:153
+#: mount/mount_by_label.c:169
 #, c-format
 msgid ""
 "mount: could not open %s, so UUID and LABEL conversion cannot be done.\n"
@@ -7818,14 +7822,13 @@ msgstr ""
 "mount: kunde inte öppna %s, så UUID och ETIKETT-konvertering kan inte "
 "utföras.\n"
 
-#: mount/mount_by_label.c:257
+#: mount/mount_by_label.c:295
 msgid "mount: bad UUID"
 msgstr "mount: felaktig UUID"
 
 #: mount/mount_guess_fstype.c:487
-#, fuzzy
 msgid "mount: error while guessing filesystem type\n"
-msgstr "mount: du måste ange filsystemstypen"
+msgstr "mount: fel vid gissning av filsystemstypen\n"
 
 #: mount/mount_guess_fstype.c:496
 #, c-format
@@ -7851,87 +7854,87 @@ msgstr "       Jag kommer att f
 msgid "Trying %s\n"
 msgstr "Försöker med %s\n"
 
-#: mount/nfsmount.c:231
+#: mount/nfsmount.c:237
 msgid "mount: excessively long host:dir argument\n"
 msgstr "mount: överdrivet långt värd:katalog-argument\n"
 
-#: mount/nfsmount.c:245
+#: mount/nfsmount.c:251
 msgid "mount: warning: multiple hostnames not supported\n"
 msgstr "mount: varning: flera samtidiga värdnamn stöds inte\n"
 
-#: mount/nfsmount.c:250
+#: mount/nfsmount.c:256
 msgid "mount: directory to mount not in host:dir format\n"
 msgstr "mount: katalog att montera är inte på formatet värd:katalog\n"
 
-#: mount/nfsmount.c:261 mount/nfsmount.c:516
+#: mount/nfsmount.c:267 mount/nfsmount.c:522
 #, c-format
 msgid "mount: can't get address for %s\n"
 msgstr "mount: kan inte få tag i adress för %s\n"
 
-#: mount/nfsmount.c:267
+#: mount/nfsmount.c:273
 msgid "mount: got bad hp->h_length\n"
 msgstr "mount: fick felaktig hp->h_length\n"
 
-#: mount/nfsmount.c:284
+#: mount/nfsmount.c:290
 msgid "mount: excessively long option argument\n"
 msgstr "mount: överdrivet långt flaggargument\n"
 
-#: mount/nfsmount.c:376
+#: mount/nfsmount.c:382
 msgid "Warning: Unrecognized proto= option.\n"
 msgstr "Varning: Okänd \"proto=\"-flagga.\n"
 
-#: mount/nfsmount.c:383
+#: mount/nfsmount.c:389
 msgid "Warning: Option namlen is not supported.\n"
 msgstr "Varning: Flaggan namlen stöds inte.\n"
 
-#: mount/nfsmount.c:387
+#: mount/nfsmount.c:393
 #, c-format
 msgid "unknown nfs mount parameter: %s=%d\n"
 msgstr "okänd nfs-monteringsparameter: %s=%d\n"
 
-#: mount/nfsmount.c:421
+#: mount/nfsmount.c:427
 msgid "Warning: option nolock is not supported.\n"
 msgstr "Varning: flaggan nolock stöds inte.\n"
 
-#: mount/nfsmount.c:426
+#: mount/nfsmount.c:432
 #, c-format
 msgid "unknown nfs mount option: %s%s\n"
 msgstr "okänd nfs-monteringsflagga: %s%s\n"
 
-#: mount/nfsmount.c:522
+#: mount/nfsmount.c:528
 msgid "mount: got bad hp->h_length?\n"
 msgstr "mount: fick felaktig hp->h_length?\n"
 
-#: mount/nfsmount.c:710
+#: mount/nfsmount.c:716
 msgid "NFS over TCP is not supported.\n"
 msgstr "NFS över TCP stöds inte.\n"
 
-#: mount/nfsmount.c:717
+#: mount/nfsmount.c:723
 msgid "nfs socket"
 msgstr "nfs-uttag"
 
-#: mount/nfsmount.c:721
+#: mount/nfsmount.c:727
 msgid "nfs bindresvport"
 msgstr "nfs-bindresvport"
 
-#: mount/nfsmount.c:735
+#: mount/nfsmount.c:741
 msgid "nfs server reported service unavailable"
 msgstr "nfs-servern rapporterade att tjänsten var otillgänglig"
 
-#: mount/nfsmount.c:744
+#: mount/nfsmount.c:750
 msgid "used portmapper to find NFS port\n"
 msgstr "använde portmapper för att hitta NFS-porten\n"
 
-#: mount/nfsmount.c:748
+#: mount/nfsmount.c:754
 #, c-format
 msgid "using port %d for nfs deamon\n"
 msgstr "använder port %d för nfs-demonen\n"
 
-#: mount/nfsmount.c:759
+#: mount/nfsmount.c:765
 msgid "nfs connect"
 msgstr "nfs-anslut"
 
-#: mount/nfsmount.c:846
+#: mount/nfsmount.c:852
 #, c-format
 msgid "unknown nfs status return value: %d"
 msgstr "okänt nfs-statusreturvärde: %d"
@@ -8038,26 +8041,26 @@ msgstr "umount: %s: blockenheter 
 msgid "umount: %s: %s"
 msgstr "umount: %s: %s"
 
-#: mount/umount.c:285
+#: mount/umount.c:284
 msgid "no umount2, trying umount...\n"
 msgstr "ingen umount2, försöker med umount...\n"
 
-#: mount/umount.c:301
+#: mount/umount.c:300
 #, c-format
 msgid "could not umount %s - trying %s instead\n"
 msgstr "kunde inte avmontera %s - försöker med %s istället\n"
 
-#: mount/umount.c:319
+#: mount/umount.c:318
 #, c-format
 msgid "umount: %s busy - remounted read-only\n"
 msgstr "umount: %s är upptagen - monterade om som endast läsbar\n"
 
-#: mount/umount.c:329
+#: mount/umount.c:328
 #, c-format
 msgid "umount: could not remount %s read-only\n"
 msgstr "umount: kunde inte montera om %s som endast läsbar\n"
 
-#: mount/umount.c:338
+#: mount/umount.c:337
 #, c-format
 msgid "%s umounted\n"
 msgstr "%s avmonterad\n"
@@ -8257,30 +8260,93 @@ msgstr "   %f avbrott/sek; %f mott. (tecken/s)\n"
 msgid "Usage: %s [-c] [-n level] [-s bufsize]\n"
 msgstr "Användning: %s [-c] [-n nivå] [-s buffertstorlek]\n"
 
-#: sys-utils/ipcrm.c:59
+#: sys-utils/ipcrm.c:66
 #, c-format
 msgid "invalid id: %s\n"
 msgstr "ogiltigt id: %s\n"
 
-#: sys-utils/ipcrm.c:77
+#: sys-utils/ipcrm.c:84
 #, c-format
 msgid "cannot remove id %s (%s)\n"
 msgstr "kan inte ta bort id %s (%s)\n"
 
-#: sys-utils/ipcrm.c:91
-#, c-format
-msgid "usage: %s {shm | msg | sem} id ...\n"
+#: sys-utils/ipcrm.c:99
+#, fuzzy, c-format
+msgid "deprecated usage: %s {shm | msg | sem} id ...\n"
 msgstr "användning: %s {shm | msg | sem} id ...\n"
 
-#: sys-utils/ipcrm.c:124
+#: sys-utils/ipcrm.c:126
 #, c-format
 msgid "unknown resource type: %s\n"
 msgstr "okänd typ av resurs: %s\n"
 
-#: sys-utils/ipcrm.c:128
+#: sys-utils/ipcrm.c:130
 msgid "resource(s) deleted\n"
 msgstr "resurser borttagna\n"
 
+#: sys-utils/ipcrm.c:140
+#, c-format
+msgid ""
+"usage: %s [ [-q msqid] [-m shmid] [-s semid]\n"
+"          [-Q msgkey] [-M shmkey] [-S semkey] ... ]\n"
+msgstr ""
+
+#: sys-utils/ipcrm.c:181
+#, c-format
+msgid "%s: illegal option -- %c\n"
+msgstr ""
+
+#: sys-utils/ipcrm.c:192
+#, fuzzy, c-format
+msgid "%s: illegal key (%s)\n"
+msgstr "Ogiltig tangent"
+
+#: sys-utils/ipcrm.c:207 sys-utils/ipcrm.c:239
+#, fuzzy
+msgid "permission denied for key"
+msgstr "mount: åtkomst nekas"
+
+#: sys-utils/ipcrm.c:210 sys-utils/ipcrm.c:249
+msgid "already removed key"
+msgstr ""
+
+#: sys-utils/ipcrm.c:213 sys-utils/ipcrm.c:244
+#, fuzzy
+msgid "invalid key"
+msgstr "ogiltigt id: %s\n"
+
+#: sys-utils/ipcrm.c:216 sys-utils/ipcrm.c:254
+msgid "unknown error in key"
+msgstr ""
+
+#: sys-utils/ipcrm.c:240
+#, fuzzy
+msgid "permission denied for id"
+msgstr "mount: åtkomst nekas"
+
+#: sys-utils/ipcrm.c:245
+#, fuzzy
+msgid "invalid id"
+msgstr "ogiltigt id: %s\n"
+
+#: sys-utils/ipcrm.c:250
+msgid "already removed id"
+msgstr ""
+
+#: sys-utils/ipcrm.c:255
+msgid "unknown error in id"
+msgstr ""
+
+#: sys-utils/ipcrm.c:258
+#, fuzzy, c-format
+msgid "%s: %s (%s)\n"
+msgstr "%s på %s\n"
+
+#: sys-utils/ipcrm.c:266
+#, fuzzy, c-format
+msgid "%s: unknown argument: %s\n"
+msgstr "%s: okänd signal %s\n"
+
 #: sys-utils/ipcs.c:122
 #, c-format
 msgid "usage : %s -asmq -tclup \n"
@@ -8898,8 +8964,8 @@ msgstr ""
 msgid "missing comma"
 msgstr "komma saknas"
 
-#: sys-utils/readprofile.c:58
-#, fuzzy, c-format
+#: sys-utils/readprofile.c:60
+#, c-format
 msgid ""
 "%s: Usage: \"%s [options]\n"
 "\t -m <mapfile>  (default = \"%s\")\n"
@@ -8920,38 +8986,39 @@ msgstr ""
 "\t -v              visa utförlig data\n"
 "\t -a              visa alla symboler, även om antalet är 0\n"
 "\t -r              nollställ alla räknare (endast root)\n"
+"\t -n              deaktivera automatisk detektering av byteordning\n"
 "\t -V              visa versionsinformation och avsluta\n"
 
-#: sys-utils/readprofile.c:81
+#: sys-utils/readprofile.c:83
 msgid "out of memory"
 msgstr "slut på minne"
 
-#: sys-utils/readprofile.c:142
+#: sys-utils/readprofile.c:144
 #, c-format
 msgid "%s Version %s\n"
 msgstr "%s version %s\n"
 
-#: sys-utils/readprofile.c:226
+#: sys-utils/readprofile.c:228
 #, c-format
 msgid "Sampling_step: %i\n"
 msgstr "Samplingssteg: %i\n"
 
-#: sys-utils/readprofile.c:239 sys-utils/readprofile.c:262
+#: sys-utils/readprofile.c:241 sys-utils/readprofile.c:265
 #, c-format
 msgid "%s: %s(%i): wrong map line\n"
 msgstr "%s: %s(%i): felaktig tabellrad\n"
 
-#: sys-utils/readprofile.c:250
+#: sys-utils/readprofile.c:253
 #, c-format
 msgid "%s: can't find \"_stext\" in %s\n"
 msgstr "%s: kan inte hitta \"_stext\" i %s\n"
 
-#: sys-utils/readprofile.c:273
+#: sys-utils/readprofile.c:276
 #, c-format
 msgid "%s: profile address out of range. Wrong map file?\n"
 msgstr "%s: profiladressen är utanför intervallet. Fel tabellfil?\n"
 
-#: sys-utils/readprofile.c:299
+#: sys-utils/readprofile.c:304
 msgid "total"
 msgstr "totalt"
 
@@ -9104,11 +9171,10 @@ msgid "hexdump: bad skip value.\n"
 msgstr "hexdump: felaktigt överhoppningsvärde.\n"
 
 #: text-utils/hexsyntax.c:131
-#, fuzzy
 msgid ""
 "hexdump: [-bcCdovx] [-e fmt] [-f fmt_file] [-n length] [-s skip] [file ...]\n"
 msgstr ""
-"hexdump: [-bcdovx] [-e fmt] [-f fmtfil] [-n längd] [-s överhopp] [fil ...]\n"
+"hexdump: [-bcCdovx] [-e fmt] [-f fmtfil] [-n längd] [-s överhopp] [fil ...]\n"
 
 #: text-utils/more.c:263
 #, c-format
index 7509b58b48b44930597b71f9af47ac98aa8f9b09..14305a8755d40ac5d99c5f0a5ef6bfd308e9c5ae 100644 (file)
--- a/po/tr.po
+++ b/po/tr.po
@@ -1,6 +1,6 @@
 # Turkish translations for util-linux messages.
-# Copyright (C) 2001 Nilgün Belma Bugüner.
-# Nilgün Belma Bugüner <nilgun@fide.org>, 2001.
+# Copyright (C) 2002 Nilgün Belma Bugüner.
+# Nilgün Belma Bugüner <nilgun@fide.org>, 2001, 2002.
 #
 # Permission is granted to freely copy and distribute
 # this file and modified versions, provided that this
@@ -9,9 +9,9 @@
 #
 msgid ""
 msgstr ""
-"Project-Id-Version: util-linux 2.11m\n"
-"POT-Creation-Date: 2002-03-08 23:54+0100\n"
-"PO-Revision-Date: 2001-11-27 18:06+0200\n"
+"Project-Id-Version: util-linux 2.11o\n"
+"POT-Creation-Date: 2002-04-06 01:28+0200\n"
+"PO-Revision-Date: 2002-03-19 12:54+0200\n"
 "Last-Translator: Nilgün Belma Bugüner <nilgun@fide.org>\n"
 "Language-Team: Turkish <gnu-tr-u12a@lists.sourceforge.net>\n"
 "MIME-Version: 1.0\n"
@@ -64,19 +64,18 @@ msgid "reread partition table"
 msgstr "bölümleme tablosu yeniden okunur"
 
 #: disk-utils/blockdev.c:98
-#, fuzzy
 msgid "Usage:\n"
-msgstr "Kullanımı:"
+msgstr "Kullanımı:\n"
 
 #: disk-utils/blockdev.c:100
 #, c-format
 msgid "  %s --report [devices]\n"
-msgstr ""
+msgstr "  %s --report [AYGITLAR]\n"
 
 #: disk-utils/blockdev.c:101
-#, fuzzy, c-format
+#, c-format
 msgid "  %s [-v|-q] commands devices\n"
-msgstr "Kullanımı: %s [-V] [-v|-q] KOMUTLAR AYGITLAR\n"
+msgstr "  %s [-v|-q] KOMUTLAR AYGITLAR\n"
 
 #: disk-utils/blockdev.c:102
 msgid "Available commands:\n"
@@ -95,21 +94,21 @@ msgstr "%s bir argümanla kullanılır\n"
 #: disk-utils/blockdev.c:278
 #, c-format
 msgid "%s succeeded.\n"
-msgstr ""
+msgstr "%s başarıldı.\n"
 
 #: disk-utils/blockdev.c:296 disk-utils/blockdev.c:321
-#, fuzzy, c-format
+#, c-format
 msgid "%s: cannot open %s\n"
-msgstr "%s: %s açılamıyor: %s\n"
+msgstr "%s: %s açılamıyor\n"
 
 #: disk-utils/blockdev.c:338
-#, fuzzy, c-format
+#, c-format
 msgid "%s: ioctl error on %s\n"
-msgstr "%s: %s üzerinde okuma hatası\n"
+msgstr "%s: %s üzerinde G/Ç hatası\n"
 
 #: disk-utils/blockdev.c:345
 msgid "RO    RA   SSZ   BSZ   StartSec     Size    Device\n"
-msgstr ""
+msgstr "RO    RA  Sboyu  Bboyu BaşlSkt      Boyut   Aygıt\n"
 
 #: disk-utils/elvtune.c:46 disk-utils/setfdprm.c:100
 msgid "usage:\n"
@@ -152,7 +151,7 @@ msgstr "kullanımı: %s [ -n ] AYGIT\n"
 
 #: disk-utils/fdformat.c:120 disk-utils/fsck.minix.c:1291
 #: disk-utils/isosize.c:179 disk-utils/mkfs.bfs.c:119 disk-utils/mkfs.c:55
-#: disk-utils/mkfs.minix.c:644 disk-utils/mkswap.c:452
+#: disk-utils/mkfs.minix.c:644 disk-utils/mkswap.c:457
 #: disk-utils/setfdprm.c:128 misc-utils/cal.c:246 misc-utils/ddate.c:181
 #: misc-utils/kill.c:188 misc-utils/rename.c:79 misc-utils/script.c:132
 #, c-format
@@ -200,28 +199,28 @@ msgid "check aborted.\n"
 msgstr "denetim durdu.\n"
 
 #: disk-utils/fsck.minix.c:332 disk-utils/fsck.minix.c:356
-#, fuzzy, c-format
+#, c-format
 msgid "Zone nr < FIRSTZONE in file `%s'."
-msgstr "Bölge No < İLKBÖLGE: `"
+msgstr "`%s' dosyasındaki bölge No < İLKBÖLGE."
 
 #: disk-utils/fsck.minix.c:336 disk-utils/fsck.minix.c:360
-#, fuzzy, c-format
+#, c-format
 msgid "Zone nr >= ZONES in file `%s'."
-msgstr "Bölge No >= BÖLGE sayısı: `"
+msgstr "`%s' dosyasındaki bölge No >= BÖLGE sayısı."
 
 #: disk-utils/fsck.minix.c:341 disk-utils/fsck.minix.c:365
 msgid "Remove block"
 msgstr "blok kaldırılsın mı?"
 
 #: disk-utils/fsck.minix.c:384
-#, fuzzy, c-format
+#, c-format
 msgid "Read error: unable to seek to block in file '%s'\n"
-msgstr "Okuma hatası: bu dosyanın içindeki bloğa erişilemiyor: '"
+msgstr "Okuma hatası: '%s' dosyasındaki bloğa erişilemiyor\n"
 
 #: disk-utils/fsck.minix.c:390
-#, fuzzy, c-format
+#, c-format
 msgid "Read error: bad block in file '%s'\n"
-msgstr "Okuma hatası: bu dosyanın bir bloğu bozuk: '"
+msgstr "Okuma hatası: '%s' dosyasındaki bir blok bozuk\n"
 
 #: disk-utils/fsck.minix.c:405
 msgid ""
@@ -236,9 +235,9 @@ msgid "seek failed in write_block"
 msgstr "write_block işleminde erişim sağlanamadı"
 
 #: disk-utils/fsck.minix.c:414
-#, fuzzy, c-format
+#, c-format
 msgid "Write error: bad block in file '%s'\n"
-msgstr "Yazma hatası: bu dosyada bir blok bozuk: '"
+msgstr "Yazma hatası: '%s' dosyasındaki bir blok bozuk\n"
 
 #: disk-utils/fsck.minix.c:532
 msgid "seek failed in write_super_block"
@@ -356,18 +355,18 @@ msgstr ""
 "\n"
 
 #: disk-utils/fsck.minix.c:660 disk-utils/fsck.minix.c:712
-#, fuzzy, c-format
+#, c-format
 msgid "Inode %d marked unused, but used for file '%s'\n"
-msgstr "%d. düğüm serbest olarak imli ama bu dosyada kullanılmış: '"
+msgstr "%d. düğüm serbest olarak imli ama '%s' dosyası için kullanılmış\n"
 
 #: disk-utils/fsck.minix.c:664 disk-utils/fsck.minix.c:716
 msgid "Mark in use"
 msgstr "Kullanımda olarak imlensin mi?"
 
 #: disk-utils/fsck.minix.c:686 disk-utils/fsck.minix.c:736
-#, fuzzy, c-format
+#, c-format
 msgid "The file `%s' has mode %05o\n"
-msgstr " %05o kipe sahip\n"
+msgstr "`%s' %05o kipe sahip\n"
 
 #: disk-utils/fsck.minix.c:693 disk-utils/fsck.minix.c:742
 msgid "Warning: inode count too big.\n"
@@ -378,9 +377,9 @@ msgid "root inode isn't a directory"
 msgstr "kök düğümü bir dizin değil"
 
 #: disk-utils/fsck.minix.c:779 disk-utils/fsck.minix.c:813
-#, fuzzy, c-format
+#, c-format
 msgid "Block has been used before. Now in file `%s'."
-msgstr "Blok evvelce kullanılmış. Şimdi bu dosyada: '"
+msgstr "Blok `%s' dosyası için kullanılıyor."
 
 #: disk-utils/fsck.minix.c:781 disk-utils/fsck.minix.c:815
 #: disk-utils/fsck.minix.c:1149 disk-utils/fsck.minix.c:1158
@@ -389,51 +388,51 @@ msgid "Clear"
 msgstr "Temizlensin mi?"
 
 #: disk-utils/fsck.minix.c:791 disk-utils/fsck.minix.c:825
-#, fuzzy, c-format
+#, c-format
 msgid "Block %d in file `%s' is marked not in use."
-msgstr "' kullanımda değil olarak imli."
+msgstr "`%2$s' dosyasının %1$d. bloğu kullanımda değil olarak imli."
 
 #: disk-utils/fsck.minix.c:793 disk-utils/fsck.minix.c:827
 msgid "Correct"
 msgstr "Doğru mu?"
 
 #: disk-utils/fsck.minix.c:973 disk-utils/fsck.minix.c:1041
-#, fuzzy, c-format
+#, c-format
 msgid "The directory '%s' contains a bad inode number for file '%.*s'."
-msgstr "' dizini '%.*s' dosyası için bir hatalı düğüm içeriyor."
+msgstr "'%s' dizini '%.*s' dosyası için bir hatalı düğüm numarası içeriyor."
 
 #: disk-utils/fsck.minix.c:976 disk-utils/fsck.minix.c:1044
 msgid " Remove"
 msgstr " Silinsin mi?"
 
 #: disk-utils/fsck.minix.c:990
-#, fuzzy, c-format
+#, c-format
 msgid "`%s': bad directory: '.' isn't first\n"
-msgstr ": dizin hatalı: '.' bir önceki değil\n"
+msgstr "`%s': dizin hatalı: '.' ilk değil\n"
 
 #: disk-utils/fsck.minix.c:998
-#, fuzzy, c-format
+#, c-format
 msgid "`%s': bad directory: '..' isn't second\n"
-msgstr ": dizin hatalı: '..' iki önceki değil\n"
+msgstr "`%s': dizin hatalı: '..' ikinci değil\n"
 
 #: disk-utils/fsck.minix.c:1058
-#, fuzzy, c-format
+#, c-format
 msgid "%s: bad directory: '.' isn't first\n"
-msgstr ": dizin hatalı: '.' bir önceki değil\n"
+msgstr "%s: dizin hatalı: '.' ilk değil\n"
 
 #: disk-utils/fsck.minix.c:1067
-#, fuzzy, c-format
+#, c-format
 msgid "%s: bad directory: '..' isn't second\n"
-msgstr ": dizin hatalı: '..' iki önceki değil\n"
+msgstr "%s: dizin hatalı: '..' ikinci değil\n"
 
 #: disk-utils/fsck.minix.c:1102
 msgid "internal error"
 msgstr "iç hata"
 
 #: disk-utils/fsck.minix.c:1105 disk-utils/fsck.minix.c:1124
-#, fuzzy, c-format
+#, c-format
 msgid "%s: bad directory: size < 32"
-msgstr ": dizin hatalı: uzunluk < 32"
+msgstr "%s: dizin hatalı: uzunluk < 32"
 
 #: disk-utils/fsck.minix.c:1138
 msgid "seek failed in bad_zone"
@@ -806,7 +805,7 @@ msgstr "bloklar denetlenirken erişim başarısız"
 msgid "Weird values in do_check: probably bugs\n"
 msgstr "do_check yapılırken tuhaf değerler: yazılım hatası olabilir\n"
 
-#: disk-utils/mkfs.minix.c:583 disk-utils/mkswap.c:362
+#: disk-utils/mkfs.minix.c:583 disk-utils/mkswap.c:368
 msgid "seek failed in check_blocks"
 msgstr "check_blocks işleminde erişim başarısız"
 
@@ -868,65 +867,65 @@ msgstr ""
 msgid "Assuming pages of size %d (not %d)\n"
 msgstr "Sayfa uzunluğu olarak %d kullanılıyor (%d değil)\n"
 
-#: disk-utils/mkswap.c:316
+#: disk-utils/mkswap.c:322
 #, c-format
 msgid "Usage: %s [-c] [-v0|-v1] [-pPAGESZ] /dev/name [blocks]\n"
 msgstr ""
 "Kullanımı: %s [-c] [-v0|-v1] [-pSayfaUzunluğu] /dev/isim [blokSayısı]\n"
 
-#: disk-utils/mkswap.c:339
+#: disk-utils/mkswap.c:345
 msgid "too many bad pages"
 msgstr "çok fazla bozuk sayfa var"
 
-#: disk-utils/mkswap.c:353 misc-utils/look.c:182 misc-utils/setterm.c:1130
+#: disk-utils/mkswap.c:359 misc-utils/look.c:182 misc-utils/setterm.c:1130
 #: text-utils/more.c:1934 text-utils/more.c:1945
 msgid "Out of memory"
 msgstr "Bellek yetersiz"
 
-#: disk-utils/mkswap.c:370
+#: disk-utils/mkswap.c:376
 msgid "one bad page\n"
 msgstr "1 bozuk sayfa\n"
 
-#: disk-utils/mkswap.c:372
+#: disk-utils/mkswap.c:378
 #, c-format
 msgid "%d bad pages\n"
 msgstr "%d bozuk sayfa\n"
 
-#: disk-utils/mkswap.c:492
+#: disk-utils/mkswap.c:497
 #, c-format
 msgid "%s: error: Nowhere to set up swap on?\n"
 msgstr "%s: hata: Takas alanını koyacak yer yok mu?\n"
 
-#: disk-utils/mkswap.c:510
+#: disk-utils/mkswap.c:515
 #, c-format
 msgid "%s: error: size %ld is larger than device size %d\n"
 msgstr "%s: hata: %ld aygıttaki yerden büyük (aygıtta: %d)\n"
 
-#: disk-utils/mkswap.c:529
+#: disk-utils/mkswap.c:534
 #, c-format
 msgid "%s: error: unknown version %d\n"
 msgstr "%s: hata: sürüm %d bilinmiyor\n"
 
-#: disk-utils/mkswap.c:535
+#: disk-utils/mkswap.c:540
 #, c-format
 msgid "%s: error: swap area needs to be at least %ldkB\n"
 msgstr "%s: hata: takas alanı için en az %ldkB gerekiyor\n"
 
-#: disk-utils/mkswap.c:554
+#: disk-utils/mkswap.c:559
 #, c-format
 msgid "%s: warning: truncating swap area to %ldkB\n"
 msgstr "%s: uyarı: takas alanı %ldkB ile sınırlanıyor\n"
 
-#: disk-utils/mkswap.c:566
+#: disk-utils/mkswap.c:571
 #, c-format
 msgid "Will not try to make swapdevice on '%s'"
 msgstr "'%s' üzerinde takas aygıtı oluşturulmayacak"
 
-#: disk-utils/mkswap.c:575 disk-utils/mkswap.c:596
+#: disk-utils/mkswap.c:580 disk-utils/mkswap.c:601
 msgid "fatal: first page unreadable"
 msgstr "ölümcül: ilk sayfa okunabilir değil"
 
-#: disk-utils/mkswap.c:581
+#: disk-utils/mkswap.c:586
 #, c-format
 msgid ""
 "%s: Device '%s' contains a valid Sun disklabel.\n"
@@ -939,24 +938,24 @@ msgstr ""
 "takas alanı oluşturulmadı. Burada mutlaka bir v0 takas alanı oluşturmak\n"
 "istiyorsanız -f seçeneği ile bunu yapabilirsiniz.\n"
 
-#: disk-utils/mkswap.c:605
+#: disk-utils/mkswap.c:610
 msgid "Unable to set up swap-space: unreadable"
 msgstr "Takas alanı oluşturulamıyor: okunabilir değil"
 
-#: disk-utils/mkswap.c:606
-#, c-format
-msgid "Setting up swapspace version %d, size = %ld bytes\n"
+#: disk-utils/mkswap.c:611
+#, fuzzy, c-format
+msgid "Setting up swapspace version %d, size = %lu bytes\n"
 msgstr "Takas alanı sürüm %d, uzunluk = %ld bayt olarak ayarlanıyor\n"
 
-#: disk-utils/mkswap.c:612
+#: disk-utils/mkswap.c:617
 msgid "unable to rewind swap-device"
 msgstr "takas alanında başa gidilemiyor"
 
-#: disk-utils/mkswap.c:615
+#: disk-utils/mkswap.c:620
 msgid "unable to write signature page"
 msgstr "imza sayfası yazılamıyor"
 
-#: disk-utils/mkswap.c:623
+#: disk-utils/mkswap.c:628
 msgid "fsync failed"
 msgstr "fsync hata verdi"
 
@@ -1011,18 +1010,16 @@ msgid "Linux ext2"
 msgstr "Linux ext2"
 
 #: fdisk/cfdisk.c:405
-#, fuzzy
 msgid "Linux ext3"
-msgstr "Linux ext2"
+msgstr "Linux ext3"
 
 #: fdisk/cfdisk.c:407
 msgid "Linux XFS"
 msgstr "Linux XFS"
 
 #: fdisk/cfdisk.c:409
-#, fuzzy
 msgid "Linux ReiserFS"
-msgstr "Linux XFS"
+msgstr "Linux ReiserFS"
 
 #. also Solaris
 #: fdisk/cfdisk.c:411 fdisk/i386_sys_types.c:57
@@ -1654,14 +1651,14 @@ msgid "Disk Drive: %s"
 msgstr "Sabit Disk: %s"
 
 #: fdisk/cfdisk.c:2576
-#, fuzzy, c-format
+#, c-format
 msgid "Size: %lld bytes, %ld MB"
-msgstr "Toplam: %lld bayt"
+msgstr "Toplam: %lld bayt, %ld MB"
 
 #: fdisk/cfdisk.c:2579
-#, fuzzy, c-format
+#, c-format
 msgid "Size: %lld bytes, %ld.%ld GB"
-msgstr "Toplam: %lld bayt"
+msgstr "Toplam: %lld bayt, %ld.%ld GB"
 
 #: fdisk/cfdisk.c:2583
 #, c-format
@@ -3832,7 +3829,7 @@ msgstr "NeXTSTEP"
 
 #: fdisk/i386_sys_types.c:70
 msgid "Darwin UFS"
-msgstr ""
+msgstr "Darwin UFS"
 
 #: fdisk/i386_sys_types.c:71
 msgid "NetBSD"
@@ -3840,7 +3837,7 @@ msgstr "NetBSD"
 
 #: fdisk/i386_sys_types.c:72
 msgid "Darwin boot"
-msgstr ""
+msgstr "Darwin boot"
 
 #: fdisk/i386_sys_types.c:73
 msgid "BSDI fs"
@@ -3856,7 +3853,7 @@ msgstr "Önyükleme sihirbazı gizli"
 
 #: fdisk/i386_sys_types.c:76
 msgid "Solaris boot"
-msgstr ""
+msgstr "Solaris boot"
 
 #: fdisk/i386_sys_types.c:77
 msgid "DRDOS/sec (FAT-12)"
@@ -3891,7 +3888,7 @@ msgstr "Dell Uygulaması"
 #. Dell PowerEdge Server utilities
 #: fdisk/i386_sys_types.c:85
 msgid "BootIt"
-msgstr "Önyükle"
+msgstr "BootIt"
 
 #. BootIt EMBRM
 #: fdisk/i386_sys_types.c:86
@@ -4150,11 +4147,10 @@ msgstr ""
 "\n"
 
 #: fdisk/sfdisk.c:871
-#, fuzzy
 msgid "   Device Boot Start     End   #cyls    #blocks   Id  System\n"
 msgstr ""
-"   Aygıt Önykl Başlangıç Bitiş silindir blok   Kiml Sistem\n"
-"                                sayısı sayısı\n"
+"                              silindir   blok\n"
+"   Aygıt Önykl Başlangıç Bitiş sayısı   sayısı\n"
 
 #: fdisk/sfdisk.c:876
 #, c-format
@@ -4166,11 +4162,10 @@ msgstr ""
 "\n"
 
 #: fdisk/sfdisk.c:878
-#, fuzzy
 msgid "   Device Boot    Start       End   #sectors  Id  System\n"
 msgstr ""
-"    Aygıt Önyükl Başlangıç   Bitiş  sektör  Kiml Sistem\n"
-"                                    sayısı\n"
+"    Aygıt Önyükl Başlangıç   Bitiş   sektör  Kiml Sistem\n"
+"                                     sayısı\n"
 
 #: fdisk/sfdisk.c:881
 #, c-format
@@ -4182,10 +4177,9 @@ msgstr ""
 "\n"
 
 #: fdisk/sfdisk.c:883
-#, fuzzy
 msgid "   Device Boot   Start       End    #blocks   Id  System\n"
 msgstr ""
-"   Aygıt Önyükl Başlangıç   Bitiş    blok   Kiml Sistem\n"
+"   Aygıt Önyükl Başlangıç   Bitiş    blok    Kiml Sistem\n"
 "                                    sayısı\n"
 
 #: fdisk/sfdisk.c:886
@@ -4198,11 +4192,10 @@ msgstr ""
 "\n"
 
 #: fdisk/sfdisk.c:888
-#, fuzzy
 msgid "   Device Boot Start   End     MB    #blocks   Id  System\n"
 msgstr ""
-"   Aygıt Önyük Başl   Bitiş    MB    blok    Kiml Sistem\n"
-"                                    sayısı\n"
+"   Aygıt Önyük Başl   Bitiş    MB     blok    Kiml Sistem\n"
+"                                     sayısı\n"
 
 #: fdisk/sfdisk.c:1048
 #, c-format
@@ -4227,13 +4220,13 @@ msgid "No partitions found\n"
 msgstr "Disk bölümü bulunamadı\n"
 
 #: fdisk/sfdisk.c:1072
-#, fuzzy, c-format
+#, c-format
 msgid ""
 "Warning: The partition table looks like it was made\n"
 "  for C/H/S=*/%ld/%ld (instead of %ld/%ld/%ld).\n"
 "For this listing I'll assume that geometry.\n"
 msgstr ""
-"Uyarı: İlk disk bölümü sld/kafa/sekt sıralaması */%ld/%ld\n"
+"Uyarı: Disk bölümünün sld/kafa/sekt sıralaması */%ld/%ld\n"
 "(%ld/%ld/%ld yerine) yapılmış görünüyor.\n"
 "Bu listeleme bu geometriyle kabul ediliyor.\n"
 
@@ -5819,7 +5812,7 @@ msgstr "%s için kullanıcı bilgileri değiştiriliyor.\n"
 msgid "Password error."
 msgstr "Parola hatası."
 
-#: login-utils/chfn.c:176 login-utils/chsh.c:167 login-utils/login.c:775
+#: login-utils/chfn.c:176 login-utils/chsh.c:167 login-utils/login.c:787
 #: login-utils/newgrp.c:48 login-utils/simpleinit.c:320 mount/lomount.c:248
 #: mount/lomount.c:253
 msgid "Password: "
@@ -6040,20 +6033,25 @@ msgstr ""
 "\n"
 "durduruldu: %10.10s %5.5s \n"
 
-#: login-utils/login.c:402
+#: login-utils/login.c:264
+#, fuzzy, c-format
+msgid "FATAL: can't reopen tty: %s"
+msgstr "mount: %s açılamıyor: %s"
+
+#: login-utils/login.c:413
 msgid "login: -h for super-user only.\n"
 msgstr "login: -h sadece root tarafından kullanılabilir.\n"
 
-#: login-utils/login.c:429
+#: login-utils/login.c:440
 msgid "usage: login [-fp] [username]\n"
 msgstr "Kullanımı: login [-fp] [kullanıcı]\n"
 
-#: login-utils/login.c:538
+#: login-utils/login.c:547
 #, c-format
 msgid "login: PAM Failure, aborting: %s\n"
 msgstr "login: PAM hatası, çıkılıyor: %s\n"
 
-#: login-utils/login.c:540
+#: login-utils/login.c:549
 #, c-format
 msgid "Couldn't initialize PAM: %s"
 msgstr "PAM başlatılamadı: %s"
@@ -6064,16 +6062,16 @@ msgstr "PAM başlatılamadı: %s"
 #. * PAM doesn't have an interface to specify the "Password: " string
 #. * (yet).
 #.
-#: login-utils/login.c:557
+#: login-utils/login.c:566
 msgid "login: "
 msgstr "Kullanıcı ismi: "
 
-#: login-utils/login.c:597
+#: login-utils/login.c:606
 #, c-format
 msgid "FAILED LOGIN %d FROM %s FOR %s, %s"
 msgstr "%3$s %2$s ÜZERİNDEN %1$d DEFA GİREMEDİ, %4$s"
 
-#: login-utils/login.c:601
+#: login-utils/login.c:610
 msgid ""
 "Login incorrect\n"
 "\n"
@@ -6081,17 +6079,17 @@ msgstr ""
 "Giriş başarısız\n"
 "\n"
 
-#: login-utils/login.c:610
+#: login-utils/login.c:619
 #, c-format
 msgid "TOO MANY LOGIN TRIES (%d) FROM %s FOR %s, %s"
 msgstr "%3$s %2$s ÜZERİNDEN ÇOK FAZLA GİRİŞ DENEDİ (%1$d), %4$s"
 
-#: login-utils/login.c:614
+#: login-utils/login.c:623
 #, c-format
 msgid "FAILED LOGIN SESSION FROM %s FOR %s, %s"
 msgstr "%s MAKİNASINA %s İÇİN GİRİŞ OTURUMU KAPANDI, %s"
 
-#: login-utils/login.c:618
+#: login-utils/login.c:627
 msgid ""
 "\n"
 "Login incorrect\n"
@@ -6099,7 +6097,7 @@ msgstr ""
 "\n"
 "Giriş başarısız\n"
 
-#: login-utils/login.c:639 login-utils/login.c:646 login-utils/login.c:678
+#: login-utils/login.c:649 login-utils/login.c:656 login-utils/login.c:690
 msgid ""
 "\n"
 "Session setup problem, abort.\n"
@@ -6107,45 +6105,45 @@ msgstr ""
 "\n"
 "Oturum ayarları sorunu, çıkılıyor.\n"
 
-#: login-utils/login.c:640
+#: login-utils/login.c:650
 #, c-format
 msgid "NULL user name in %s:%d. Abort."
 msgstr "%s işlevinin %d. satırında kullanıcı ismi yok (NULL)."
 
-#: login-utils/login.c:647
+#: login-utils/login.c:657
 #, c-format
 msgid "Invalid user name \"%s\" in %s:%d. Abort."
 msgstr ""
 "%2$s işlevinin %3$d. satırında kullanıcı ismi \"%1$s\" geçersiz. Çıkılıyor."
 
-#: login-utils/login.c:664
+#: login-utils/login.c:676
 msgid "login: Out of memory\n"
 msgstr "login: Bellek yetersiz\n"
 
-#: login-utils/login.c:710
+#: login-utils/login.c:722
 msgid "Illegal username"
 msgstr "Kullanıcı ismi kuraldışı"
 
-#: login-utils/login.c:753
+#: login-utils/login.c:765
 #, c-format
 msgid "%s login refused on this terminal.\n"
 msgstr "%s için bu terminalden giriş reddedildi.\n"
 
-#: login-utils/login.c:758
+#: login-utils/login.c:770
 #, c-format
 msgid "LOGIN %s REFUSED FROM %s ON TTY %s"
 msgstr "%s İÇİN %s MAKİNASINDAN %s TERMİNALİNE GİRİŞ REDDEDİLDİ"
 
-#: login-utils/login.c:762
+#: login-utils/login.c:774
 #, c-format
 msgid "LOGIN %s REFUSED ON TTY %s"
 msgstr "%s İÇİN %s TERMİNALİNE GİRİŞ REDDEDİLDİ"
 
-#: login-utils/login.c:815
+#: login-utils/login.c:827
 msgid "Login incorrect\n"
 msgstr "Giriş başarısız\n"
 
-#: login-utils/login.c:837
+#: login-utils/login.c:849
 msgid ""
 "Too many users logged on already.\n"
 "Try again later.\n"
@@ -6153,77 +6151,82 @@ msgstr ""
 "Kullanıcı sayısı sınırı aşıldı.\n"
 "Daha sonra tekrar deneyin.\n"
 
-#: login-utils/login.c:841
+#: login-utils/login.c:853
 msgid "You have too many processes running.\n"
 msgstr "Çalıştırabileceğiniz uygulama sayısını aştınız.\n"
 
-#: login-utils/login.c:1073
+#: login-utils/login.c:1077
 #, c-format
 msgid "DIALUP AT %s BY %s"
 msgstr "%s ÜZERİNDEN %s İSMİYLE DIALUP"
 
-#: login-utils/login.c:1080
+#: login-utils/login.c:1084
 #, c-format
 msgid "ROOT LOGIN ON %s FROM %s"
 msgstr "%s ÜZERİNDEN %s MAKİNASINA ROOT GİRİŞİ"
 
-#: login-utils/login.c:1083
+#: login-utils/login.c:1087
 #, c-format
 msgid "ROOT LOGIN ON %s"
 msgstr "%s ÜZERİNDE ROOT GİRİŞİ"
 
-#: login-utils/login.c:1086
+#: login-utils/login.c:1090
 #, c-format
 msgid "LOGIN ON %s BY %s FROM %s"
 msgstr "%s ÜZERİNDEN %s, %s MAKİNASINA GİRDİ"
 
-#: login-utils/login.c:1089
+#: login-utils/login.c:1093
 #, c-format
 msgid "LOGIN ON %s BY %s"
 msgstr "%s ÜZERİNDEN %s SİSTEME GİRDİ"
 
-#: login-utils/login.c:1101
+#: login-utils/login.c:1105
 msgid "You have new mail.\n"
 msgstr "Yeni e-postanız var.\n"
 
-#: login-utils/login.c:1103
+#: login-utils/login.c:1107
 msgid "You have mail.\n"
 msgstr "E-postanız var.\n"
 
 #. error in fork()
-#: login-utils/login.c:1129
+#: login-utils/login.c:1125
 #, c-format
 msgid "login: failure forking: %s"
 msgstr "login: ast süreç oluşturma başarısız: %s"
 
-#: login-utils/login.c:1151
+#: login-utils/login.c:1162
+#, c-format
+msgid "TIOCSCTTY failed: %m"
+msgstr ""
+
+#: login-utils/login.c:1168
 msgid "setuid() failed"
 msgstr "setuid() başarısız"
 
-#: login-utils/login.c:1157
+#: login-utils/login.c:1174
 #, c-format
 msgid "No directory %s!\n"
 msgstr "%s dizini yok!\n"
 
-#: login-utils/login.c:1161
+#: login-utils/login.c:1178
 msgid "Logging in with home = \"/\".\n"
 msgstr "Ev dizini \"/\" ile giriş.\n"
 
-#: login-utils/login.c:1169
+#: login-utils/login.c:1186
 msgid "login: no memory for shell script.\n"
 msgstr "login: kabuk betiği için bellek yetersiz.\n"
 
-#: login-utils/login.c:1196
+#: login-utils/login.c:1213
 #, c-format
 msgid "login: couldn't exec shell script: %s.\n"
 msgstr "login: kabuk betiği çalıştırılamadı: %s.\n"
 
-#: login-utils/login.c:1199
+#: login-utils/login.c:1216
 #, c-format
 msgid "login: no shell: %s.\n"
 msgstr "login: kabuk yok: %s.\n"
 
-#: login-utils/login.c:1214
+#: login-utils/login.c:1231
 #, c-format
 msgid ""
 "\n"
@@ -6232,62 +6235,62 @@ msgstr ""
 "\n"
 "%s kullanıcı ismi: "
 
-#: login-utils/login.c:1225
+#: login-utils/login.c:1242
 msgid "login name much too long.\n"
 msgstr "Kullanıcı adınız çok uzun.\n"
 
-#: login-utils/login.c:1226
+#: login-utils/login.c:1243
 msgid "NAME too long"
 msgstr "İSİM çok uzun"
 
-#: login-utils/login.c:1233
+#: login-utils/login.c:1250
 msgid "login names may not start with '-'.\n"
 msgstr "kullanıcı isimleri bir '-' ile başlayamaz.\n"
 
-#: login-utils/login.c:1243
+#: login-utils/login.c:1260
 msgid "too many bare linefeeds.\n"
 msgstr "çok fazla boş geçildi.\n"
 
-#: login-utils/login.c:1244
+#: login-utils/login.c:1261
 msgid "EXCESSIVE linefeeds"
 msgstr "HADDİNDEN FAZLA boş giriş"
 
-#: login-utils/login.c:1255
+#: login-utils/login.c:1272
 #, c-format
 msgid "Login timed out after %d seconds\n"
 msgstr "Giriş %d saniye sonra zaman aşımına uğradı\n"
 
-#: login-utils/login.c:1352
+#: login-utils/login.c:1369
 #, c-format
 msgid "Last login: %.*s "
 msgstr "Son giriş: %.*s "
 
-#: login-utils/login.c:1356
+#: login-utils/login.c:1373
 #, c-format
 msgid "from %.*s\n"
 msgstr "sularında %.*s makinasına yapıldı\n"
 
-#: login-utils/login.c:1359
+#: login-utils/login.c:1376
 #, c-format
 msgid "on %.*s\n"
 msgstr "sularında %.*s konsoluna yapıldı\n"
 
-#: login-utils/login.c:1379
+#: login-utils/login.c:1396
 #, c-format
 msgid "LOGIN FAILURE FROM %s, %s"
 msgstr "%s MAKİNASINDAN %s GİRİŞİ BAŞARISIZ"
 
-#: login-utils/login.c:1382
+#: login-utils/login.c:1399
 #, c-format
 msgid "LOGIN FAILURE ON %s, %s"
 msgstr "%s ÜZERİNDEN %s GİRİŞİ BAŞARISIZ"
 
-#: login-utils/login.c:1386
+#: login-utils/login.c:1403
 #, c-format
 msgid "%d LOGIN FAILURES FROM %s, %s"
 msgstr "%3$s %2$s MAKİNASINDAN %1$d KERE GİREMEDİ"
 
-#: login-utils/login.c:1389
+#: login-utils/login.c:1406
 #, c-format
 msgid "%d LOGIN FAILURES ON %s, %s"
 msgstr "%3$s %2$s ÜZERİNDEN %1$d KERE GİREMEDİ"
@@ -6794,9 +6797,8 @@ msgid "%s %d"
 msgstr "%s %d"
 
 #: misc-utils/cal.c:674
-#, fuzzy
 msgid "usage: cal [-13smjyV] [[month] year]\n"
-msgstr "kullanımı: cal [-mjyV] [[ay] yıl]\n"
+msgstr "kullanımı: cal [-13smjyV] [[ay] yıl]\n"
 
 #: misc-utils/ddate.c:205
 #, c-format
@@ -6930,14 +6932,14 @@ msgid "call: %s from to files...\n"
 msgstr "çağrı: %s hangi dosyalarla çalışacak?\n"
 
 #: misc-utils/script.c:106
-#, fuzzy, c-format
+#, c-format
 msgid ""
 "Warning: `%s' is a link.\n"
 "Use `%s [options] %s' if you really want to use it.\n"
 "Script not started.\n"
 msgstr ""
 "Uyarı: `%s' bir sembolik bağ dosyası.\n"
-"Gerçekten istiyorsanız `%s [seçenekler] %s' kullanın.\n"
+"Gerçekten kullanmak istiyorsanız `%s [seçenekler] %s' ile kullanın.\n"
 "Betik başlatılmadı.\n"
 
 #: misc-utils/script.c:155
@@ -7504,7 +7506,7 @@ msgid "mount: can't open %s: %s"
 msgstr "mount: %s açılamıyor: %s"
 
 #: mount/mount.c:656
-#, fuzzy, c-format
+#, c-format
 msgid "mount: cannot open %s for setting speed"
 msgstr "mount: hızı ayarlamak için %s açılamıyor"
 
@@ -7738,7 +7740,6 @@ msgid "mount: %s already mounted on %s\n"
 msgstr "mount: %s zaten %s üzerinde bağlı\n"
 
 #: mount/mount.c:1324
-#, fuzzy
 msgid ""
 "Usage: mount -V                 : print version\n"
 "       mount -h                 : print this help\n"
@@ -7762,30 +7763,28 @@ msgid ""
 "Other options: [-nfFrsvw] [-o options].\n"
 "For many more details, say  man 8 mount .\n"
 msgstr ""
-"Kullanımı: mount -V           sürüm bilgilerini gösterir\n"
-"           mount -h           bu yardım iletisini gösterir\n"
-"           mount              bağlı dosya sistemlerini listeler\n"
-"           mount -l           üsttekine ek olarak bölüm etiketlerini "
-"gösterir\n"
-"Bilgi alma seçenekleri bu kadar, sonrakiler bağlamak içindir.\n"
-"Komut `mount [-t dosyaSistemiTürü] birşeyler biryerlere' şeklindedir.\n"
-"Tüm ayrıntılar /etc/fstab dosyasında varsa verilmeyebilir.\n"
-"           mount -a           /etc/fstab'da bulunanların tamamını bağlar\n"
-"           mount aygıt        bu aygıt için dosyada belirtilmiş dizine "
-"bağlar\n"
-"           mount dizin        bu dizin için dosyada belirtilmiş aygıtı "
-"bağlar\n"
-"   mount -t tür aygıt dizin   bilinen mount komutu\n"
-"Linux 2.4.0 dan beri dosya hiyerarşisinin bir bölümü başka bir yerde "
-"yeniden\n"
-"bağlanabilmektedir. Komut:\n"
-"           mount --bind eskiDizin yeniDizin\n"
-"Bir aygıt /dev/hda1 ya da /dev/cdrom gibi ismiyle verilebileceği gibi,\n"
-"'-L etiket' ile ya da '-U uuid' ile belirtilebilir.\n"
-"Birleşik ya da yığın bağlantıları aşağıdakilerden biri kullanılarak\n"
-"belirtilebilir:\n"
-"       --replace, --after, --before, --over\n"
+"Kullanımı: mount [seçenekler] [aygıt] [dizin]\n"
+"Seçeneksiz kullanıldığında bağlı dosya sistemlerini gösterir.\n"
+"  mount -l       üsttekine ek olarak bölüm etiketlerini gösterir\n"
+"  mount -V       sürüm bilgilerini gösterir\n"
+"  mount -h       bu yardım iletisini gösterir\n"
+"  mount -a       /etc/fstab'da bulunanların tamamını bağlar\n"
+"  mount aygıt    bu aygıtı /etc/fstab'da belirtilmiş dizine bağlar\n"
+"  mount dizin    bu dizine /etc/fstab'da belirtilmiş aygıtı bağlar\n"
+"  mount -L etiket    dosya sistemi etiketi belirtilen aygıtı bağlar\n"
+"  mount -U uuid      evrende tek kimliği(uuid) verilen aygıtı bağlar\n"
+"  mount -t TÜR AYGIT DİZİN          AYGITı TÜR türünde DİZİNe bağlar\n"
+"  mount --bind ESKİDİZİN YENİDİZİN\n"
+"                 ESKİDİZİNde bağlı olan aygıtı YENİDİZİNe yeniden bağlar\n"
+"  mount --move ESKİDİZİN YENİDİZİN\n"
+"                 ESKİDİZİNde bağlı olan aygıtın dosya sistemindeki yerini\n"
+"                 YENİDİZİN olarak değiştirir.\n"
+"\n"
 "Diğer seçenekler: [-nfFrsvw] [-o seçenekler].\n"
+"  mount -o remount,ro DİZİN     DİZİNi salt-okunur olarak yeniden bağlar.\n"
+"  mount -o remount,rw DİZİN     DİZİNi oku-yaz olarak yeniden bağlar.\n"
+"\n"
+"Çeviri hatalarını <gnu-tr-u12a@lists.sourceforge.net> adresine bildiriniz.\n"
 "Daha fazla bilgi edinmek için 'man 8 mount' yazabilirsiniz.\n"
 
 #: mount/mount.c:1486
@@ -7816,20 +7815,19 @@ msgstr "mount: %s  %s içinde bulunamıyor"
 msgid "mount: can't find %s in %s or %s"
 msgstr "mount: %s  %s ya da %s içinde bulunamıyor"
 
-#: mount/mount_by_label.c:153
+#: mount/mount_by_label.c:169
 #, c-format
 msgid ""
 "mount: could not open %s, so UUID and LABEL conversion cannot be done.\n"
 msgstr "mount: %s açılamadı, UUID ve ETİKET dönüşümü yapılmış olmayabilir.\n"
 
-#: mount/mount_by_label.c:257
+#: mount/mount_by_label.c:295
 msgid "mount: bad UUID"
 msgstr "mount: UUID hatalı"
 
 #: mount/mount_guess_fstype.c:487
-#, fuzzy
 msgid "mount: error while guessing filesystem type\n"
-msgstr "mount: dosya sistemi türünü belirtmelisiniz"
+msgstr "mount: dosya sistemi türü belirlenirken hata\n"
 
 #: mount/mount_guess_fstype.c:496
 #, c-format
@@ -7855,87 +7853,87 @@ msgstr "       %s türü denenecek\n"
 msgid "Trying %s\n"
 msgstr "%s deneniyor\n"
 
-#: mount/nfsmount.c:231
+#: mount/nfsmount.c:237
 msgid "mount: excessively long host:dir argument\n"
 msgstr "mount: makina:dizin argümanı gereğinden uzun\n"
 
-#: mount/nfsmount.c:245
+#: mount/nfsmount.c:251
 msgid "mount: warning: multiple hostnames not supported\n"
 msgstr "mount: uyarı: çoklu makina isimleri desteklenmiyor\n"
 
-#: mount/nfsmount.c:250
+#: mount/nfsmount.c:256
 msgid "mount: directory to mount not in host:dir format\n"
 msgstr "mount: bağlanılacak dizin makina:dizin biçeminde değil\n"
 
-#: mount/nfsmount.c:261 mount/nfsmount.c:516
+#: mount/nfsmount.c:267 mount/nfsmount.c:522
 #, c-format
 msgid "mount: can't get address for %s\n"
 msgstr "mount: %s için adres alınamıyor\n"
 
-#: mount/nfsmount.c:267
+#: mount/nfsmount.c:273
 msgid "mount: got bad hp->h_length\n"
 msgstr "mount: yanlış hp->h_length alındı\n"
 
-#: mount/nfsmount.c:284
+#: mount/nfsmount.c:290
 msgid "mount: excessively long option argument\n"
 msgstr "mount: seçenek argümanı gereğinden uzun\n"
 
-#: mount/nfsmount.c:376
+#: mount/nfsmount.c:382
 msgid "Warning: Unrecognized proto= option.\n"
 msgstr "Uyarı: proto= seçeneği bilinmiyor.\n"
 
-#: mount/nfsmount.c:383
+#: mount/nfsmount.c:389
 msgid "Warning: Option namlen is not supported.\n"
 msgstr "Uyarı: namlen seçeneği desteklenmiyor.\n"
 
-#: mount/nfsmount.c:387
+#: mount/nfsmount.c:393
 #, c-format
 msgid "unknown nfs mount parameter: %s=%d\n"
 msgstr "bilinmeyen nfs bağ parametresi: %s=%d\n"
 
-#: mount/nfsmount.c:421
+#: mount/nfsmount.c:427
 msgid "Warning: option nolock is not supported.\n"
 msgstr "Uyarı: nolock seçeneği desteklenmiyor.\n"
 
-#: mount/nfsmount.c:426
+#: mount/nfsmount.c:432
 #, c-format
 msgid "unknown nfs mount option: %s%s\n"
 msgstr "bilinmeyen nfs bağ seçeneği: %s%s\n"
 
-#: mount/nfsmount.c:522
+#: mount/nfsmount.c:528
 msgid "mount: got bad hp->h_length?\n"
 msgstr "mount: yanlış hp->h_length alındı?\n"
 
-#: mount/nfsmount.c:710
+#: mount/nfsmount.c:716
 msgid "NFS over TCP is not supported.\n"
 msgstr "TCP üzerinden NFS desteklenmiyor.\n"
 
-#: mount/nfsmount.c:717
+#: mount/nfsmount.c:723
 msgid "nfs socket"
 msgstr "nfs soketi"
 
-#: mount/nfsmount.c:721
+#: mount/nfsmount.c:727
 msgid "nfs bindresvport"
 msgstr "nfs bindresvport"
 
-#: mount/nfsmount.c:735
+#: mount/nfsmount.c:741
 msgid "nfs server reported service unavailable"
 msgstr "nfs sunucu servisi kullanımdışı olarak raporladı"
 
-#: mount/nfsmount.c:744
+#: mount/nfsmount.c:750
 msgid "used portmapper to find NFS port\n"
 msgstr "NFS portunu bulmak için portmapper kullanıldı\n"
 
-#: mount/nfsmount.c:748
+#: mount/nfsmount.c:754
 #, c-format
 msgid "using port %d for nfs deamon\n"
 msgstr "nfs artalan süreci için %d portu kullanılıyor\n"
 
-#: mount/nfsmount.c:759
+#: mount/nfsmount.c:765
 msgid "nfs connect"
 msgstr "nfs bağlantısı"
 
-#: mount/nfsmount.c:846
+#: mount/nfsmount.c:852
 #, c-format
 msgid "unknown nfs status return value: %d"
 msgstr "bilinmeyen nfs durum sonuç değeri: %d"
@@ -8042,26 +8040,26 @@ msgstr "umount: %s: dosya sisteminde blok aygıtlara izin yok"
 msgid "umount: %s: %s"
 msgstr "umount: %s: %s"
 
-#: mount/umount.c:285
+#: mount/umount.c:284
 msgid "no umount2, trying umount...\n"
 msgstr "umount2 yok, umount deneniyor...\n"
 
-#: mount/umount.c:301
+#: mount/umount.c:300
 #, c-format
 msgid "could not umount %s - trying %s instead\n"
 msgstr "umount %s gerçekleştirilemedi- yerine %s deneniyor\n"
 
-#: mount/umount.c:319
+#: mount/umount.c:318
 #, c-format
 msgid "umount: %s busy - remounted read-only\n"
 msgstr "umount: %s meşgul- salt-okunur olarak yeniden bağlandı\n"
 
-#: mount/umount.c:329
+#: mount/umount.c:328
 #, c-format
 msgid "umount: could not remount %s read-only\n"
 msgstr "umount: %s salt okunur olarak yeniden bağlanamıyor\n"
 
-#: mount/umount.c:338
+#: mount/umount.c:337
 #, c-format
 msgid "%s umounted\n"
 msgstr "%s sistemden ayrıldı\n"
@@ -8077,8 +8075,23 @@ msgid ""
 "       umount [-f] [-r] [-n] [-v] special | node...\n"
 msgstr ""
 "Kullanımı: umount [-hV]\n"
-"       umount -a [-f] [-r] [-n] [-v] [-t vfs-türü]\n"
-"       umount [-f] [-r] [-n] [-v] özel | düğüm...\n"
+"       umount -a [-f] [-l] [-r] [-n] [-v] [-t ds-türü]\n"
+"       umount [-f] [-l] [-r] [-n] [-v] dizin | aygıt...\n"
+"Bağlı dosya sistemlerini ayırmak için kullanılır.\n"
+"  -h          bu yardım iletisini gösterir ve çıkar\n"
+"  -V          sürüm bilgilerini gösterir ve çıkar\n"
+"  -a          /etc/mtab'da kayıtlı tüm dosya sistemlerini ayırır\n"
+"  -v          çıktı ayrıntı içerir\n"
+"  -n          /etc/mtab dosyasına yazmaz\n"
+"  -r          ayırma başarısız olursa salt-okunur olarak bağlamayı dener\n"
+"  -f          dosya sistemi erişilebilir değilse bile dosya sistemini "
+"ayırır\n"
+"  -l          dosya sistemini mutlaka ayırır. (en az linux-2.4.11 gerekir)\n"
+"  -t ds-türü  -a seçeneği ile kullanıldığında sadece türü belirtilen dosya\n"
+"              sistemlerini ayırır\n"
+"\n"
+"Çeviri hatalarını <gnu-tr-u12a@lists.sourceforge.net> adresine bildiriniz\n"
+"Daha fazla bilgi edinmek için 'man 8 umount' yazınız.\n"
 
 #: mount/umount.c:536
 #, c-format
@@ -8262,32 +8275,95 @@ msgstr "   %f kesme/sec; %f kayıt (karkt/s)\n"
 msgid "Usage: %s [-c] [-n level] [-s bufsize]\n"
 msgstr "Kullanımı: %s [-c] [-n seviye] [-s tamponBoyu]\n"
 
-#: sys-utils/ipcrm.c:59
+#: sys-utils/ipcrm.c:66
 #, c-format
 msgid "invalid id: %s\n"
 msgstr "kimlik geçersiz: %s\n"
 
-#: sys-utils/ipcrm.c:77
+#: sys-utils/ipcrm.c:84
 #, c-format
 msgid "cannot remove id %s (%s)\n"
 msgstr "kimlik %s kaldırılamıyor (%s)\n"
 
-#: sys-utils/ipcrm.c:91
-#, c-format
-msgid "usage: %s {shm | msg | sem} id ...\n"
+#: sys-utils/ipcrm.c:99
+#, fuzzy, c-format
+msgid "deprecated usage: %s {shm | msg | sem} id ...\n"
 msgstr ""
 "kullanımı: %s {shm | msg | sem} kimlik ...\n"
 "Kimlik ile belirtilen özkaynağı kaldırır\n"
 
-#: sys-utils/ipcrm.c:124
+#: sys-utils/ipcrm.c:126
 #, c-format
 msgid "unknown resource type: %s\n"
 msgstr "özkaynak türü bilinmiyor: %s\n"
 
-#: sys-utils/ipcrm.c:128
+#: sys-utils/ipcrm.c:130
 msgid "resource(s) deleted\n"
 msgstr "özkaynak(lar) silindi\n"
 
+#: sys-utils/ipcrm.c:140
+#, c-format
+msgid ""
+"usage: %s [ [-q msqid] [-m shmid] [-s semid]\n"
+"          [-Q msgkey] [-M shmkey] [-S semkey] ... ]\n"
+msgstr ""
+
+#: sys-utils/ipcrm.c:181
+#, c-format
+msgid "%s: illegal option -- %c\n"
+msgstr ""
+
+#: sys-utils/ipcrm.c:192
+#, fuzzy, c-format
+msgid "%s: illegal key (%s)\n"
+msgstr "Kuraldışı tuş"
+
+#: sys-utils/ipcrm.c:207 sys-utils/ipcrm.c:239
+#, fuzzy
+msgid "permission denied for key"
+msgstr "mount: erişim engellendi"
+
+#: sys-utils/ipcrm.c:210 sys-utils/ipcrm.c:249
+msgid "already removed key"
+msgstr ""
+
+#: sys-utils/ipcrm.c:213 sys-utils/ipcrm.c:244
+#, fuzzy
+msgid "invalid key"
+msgstr "kimlik geçersiz: %s\n"
+
+#: sys-utils/ipcrm.c:216 sys-utils/ipcrm.c:254
+msgid "unknown error in key"
+msgstr ""
+
+#: sys-utils/ipcrm.c:240
+#, fuzzy
+msgid "permission denied for id"
+msgstr "mount: erişim engellendi"
+
+#: sys-utils/ipcrm.c:245
+#, fuzzy
+msgid "invalid id"
+msgstr "kimlik geçersiz: %s\n"
+
+#: sys-utils/ipcrm.c:250
+msgid "already removed id"
+msgstr ""
+
+#: sys-utils/ipcrm.c:255
+msgid "unknown error in id"
+msgstr ""
+
+#: sys-utils/ipcrm.c:258
+#, fuzzy, c-format
+msgid "%s: %s (%s)\n"
+msgstr "%s %s üzerinde\n"
+
+#: sys-utils/ipcrm.c:266
+#, fuzzy, c-format
+msgid "%s: unknown argument: %s\n"
+msgstr "%s: bilinmeyen sinyal: %s\n"
+
 #: sys-utils/ipcs.c:122
 #, c-format
 msgid "usage : %s -asmq -tclup \n"
@@ -8901,8 +8977,8 @@ msgstr "      kökü salt-okunur bağlamak için -R 1, oku-yaz için -R 0 kullan
 msgid "missing comma"
 msgstr "virgül eksik"
 
-#: sys-utils/readprofile.c:58
-#, fuzzy, c-format
+#: sys-utils/readprofile.c:60
+#, c-format
 msgid ""
 "%s: Usage: \"%s [options]\n"
 "\t -m <mapfile>  (default = \"%s\")\n"
@@ -8918,44 +8994,46 @@ msgstr ""
 "%s: Kullanımı: \"%s [seçenekler]\n"
 "\t -m <eşlemdosyası>  (öntanımlı = \"%s\")\n"
 "\t -p <prodosyası>    (öntanımlı = \"%s\")\n"
+"\t -M <çarpan>        profil çoğullayıcı belirtilir\n"
 "\t -i                 örnekleme adımı hakkında bilgi verilir\n"
 "\t -v                 ayrıntılı bilgi verilir\n"
 "\t -a                 sayısı 0 bile olsa tüm sembolleri gösterir\n"
 "\t -r                 tüm sayaçlar sıfırlanır (sadece root)\n"
+"\t -n                 bayt sıralamasının saptanmasını önler\n"
 "\t -V                 sürüm bilgilerini gösterir ve çıkar\n"
 
-#: sys-utils/readprofile.c:81
+#: sys-utils/readprofile.c:83
 msgid "out of memory"
 msgstr "bellek yetersiz"
 
-#: sys-utils/readprofile.c:142
+#: sys-utils/readprofile.c:144
 #, c-format
 msgid "%s Version %s\n"
 msgstr ""
 "%s Sürüm %s\n"
 "Çeviri hatalarını <gnu-tr-u12a@listssourceforge.net> adresine bildiriniz\n"
 
-#: sys-utils/readprofile.c:226
+#: sys-utils/readprofile.c:228
 #, c-format
 msgid "Sampling_step: %i\n"
 msgstr "Örnekleme_adımı: %i\n"
 
-#: sys-utils/readprofile.c:239 sys-utils/readprofile.c:262
+#: sys-utils/readprofile.c:241 sys-utils/readprofile.c:265
 #, c-format
 msgid "%s: %s(%i): wrong map line\n"
 msgstr "%s: %s(%i): eşlem satırı yanlış\n"
 
-#: sys-utils/readprofile.c:250
+#: sys-utils/readprofile.c:253
 #, c-format
 msgid "%s: can't find \"_stext\" in %s\n"
 msgstr "%s: \"_stext\" %s içinde bulunamıyor\n"
 
-#: sys-utils/readprofile.c:273
+#: sys-utils/readprofile.c:276
 #, c-format
 msgid "%s: profile address out of range. Wrong map file?\n"
 msgstr "%s: profil adresi kapsamdışı. Eşlem dosyası yanlış olabilir mi?\n"
 
-#: sys-utils/readprofile.c:299
+#: sys-utils/readprofile.c:304
 msgid "total"
 msgstr "toplam"
 
@@ -9107,11 +9185,10 @@ msgid "hexdump: bad skip value.\n"
 msgstr "hexdump: atlama değeri hatalı.\n"
 
 #: text-utils/hexsyntax.c:131
-#, fuzzy
 msgid ""
 "hexdump: [-bcCdovx] [-e fmt] [-f fmt_file] [-n length] [-s skip] [file ...]\n"
 msgstr ""
-"hexdump: [-bcdovx] [-e biçem] [-f biçemDosyası] [-n uzunluk] [-s atlanan] "
+"hexdump: [-bcCdovx] [-e biçem] [-f biçemDosyası] [-n uzunluk] [-s atlanan] "
 "[dosya ...]\n"
 
 #: text-utils/more.c:263
@@ -9332,18 +9409,3 @@ msgstr "Girdi satırı çok uzun.\n"
 #: text-utils/ul.c:599
 msgid "Out of memory when growing buffer.\n"
 msgstr "Tampon büyütülürken bellek yetmedi.\n"
-
-#~ msgid "umount: only %s can unmount %s from %s"
-#~ msgstr "umount: sadece %s %s aygıtını %s dizininden ayırabilir"
-
-#~ msgid "'."
-#~ msgstr "'."
-
-#~ msgid "'\n"
-#~ msgstr "'\n"
-
-#~ msgid "Block %d in file `"
-#~ msgstr "%d bloku bu dosya içinde: '"
-
-#~ msgid "The directory '"
-#~ msgstr "'"
index 1a0107d7c2d8ad2037b224185d438b4c455a4bdd..f8281d377478dc00cde9dfe288fd88bdf45736e0 100644 (file)
@@ -1,15 +1,89 @@
-.\" Copyright 1993 Rickard E. Faith (faith@cs.unc.edu)
+.\" Copyright 2002 Andre C. Mazzone (linuxdev@karagee.com)
 .\" May be distributed under the GNU General Public License
-.TH IPCRM 8 "9 October 1993" "Linux 0.99" "Linux Programmer's Manual"
+.TH IPCRM 8 "last change: 19 March 2002" "ipcrm" "Linux Programmer's Manual"
 .SH NAME
-ipcs \- provide information on ipc facilities
+ipcrm \- remove a message queue, semaphore set or shared memory id
 .SH SYNOPSIS
-.BI "ipcrm [ shm | msg | sem ] " id ...
-.SH DESCRIPTION
 .B ipcrm
-will remove the resource(s) specified by
-.IR id .
+[
+.I options
+]
+
+deprecated usage
+
+.BI ipcrm
+[
+.I shm
+|
+.I msg
+|
+.I sem
+]
+.IR id ...
+.SH DESCRIPTION
+.I ipcrm
+will remove messages, semphores or shared memory segments specified by
+.IR key " or" " id" .
+.SH OPTIONS
+The identifiers are specified thus:
+.TP
+.BI \-q " msgid"
+removes the message queue identified by
+.I msgid
+from the system along with its associated data structures.
+.TP
+.BI \-m " shmid"
+removes the shared memory segment identified by
+.I shmid
+from the system along with its associated data structures after the last
+detach is performed.
+.TP
+.BI \-s " semid"
+removes the semaphore identified by
+.IR semid
+from the system along with its associated data structures.
+.TP
+.BI \-Q " msgkey"
+removes the message queue created with
+.I msgkey
+from the system along with its associated data structures.
+.TP
+.BI \-M " shmkey"
+removes the shared memory segment created with
+.I shmkey
+from the system along with its associated data structures after the last
+detach is performed.
+.TP
+.BI \-S " semkey"
+removes the semaphore created with
+.IR semkey
+from the system along with its associated data structures.
+.LP
+The details of the removes are described in
+.IR msgctl (2),
+.IR shmctl (2),
+and
+.IR semctl (2).
+The identifiers and keys may be found by using
+.IR ipcs (8).
+.SH NOTES
+In its first implementation, ipcrm used the deprecated syntax shown in the
+.BR SYNOPSIS .
+Functionality present in other *nix implementations of ipcrm has since
+been added, namely the ability to delete resources by key (not just
+identifier), and to respect the same command-line syntax. For backward
+compatibility the previous syntax is still supported.
+.SH AUTHORS
+Andre C. Mazzone (linuxdev@karagee.com)
+.br
+Krishna Balasubramanian (balasub@cis.ohio-state.edu)
+.nh
 .SH SEE ALSO
-.BR ipcs (8)
-.SH AUTHOR
-krishna balasubramanian (balasub@cis.ohio-state.edu)
+.BR ipcs (8),
+.BR msgctl (2),
+.BR msgget (2),
+.BR semctl (2),
+.BR semget (2),
+.BR shmctl (2),
+.BR shmget (2)
+
index 3e3a9ba02a216824bf005795f761f12673968441..09ba144545e6f552d9929e1cd1d18fb2e981d66c 100644 (file)
 #include <sys/sem.h>
 #include "nls.h"
 
+/* for getopt */
+#include <unistd.h>
+/* for tolower and isupper */
+#include <ctype.h>
+
 #if defined (__GNU_LIBRARY__) && !defined(_SEM_SEMUN_UNDEFINED)
 /* union semun is defined by including <sys/sem.h> */
 #else
@@ -33,6 +38,8 @@ union semun {
 };
 #endif
 
+static void usage(char *);
+
 char *execname;
 
 typedef enum type_id {
@@ -86,41 +93,36 @@ remove_ids(type_id type, int argc, char **argv) {
        return(nb_errors);
 }
 
-static void display_usage(void)
+static void deprecate_display_usage(void)
 {
-       printf (_("usage: %s {shm | msg | sem} id ...\n"), execname);
+       usage(execname);
+       printf (_("deprecated usage: %s {shm | msg | sem} id ...\n"),
+               execname);
 }
 
-int main(int argc, char **argv)
+static int deprecated_main(int argc, char **argv)
 {
        execname = argv[0];
 
-       setlocale(LC_ALL, "");
-       bindtextdomain(PACKAGE, LOCALEDIR);
-       textdomain(PACKAGE);
-
        if (argc < 3) {
-               display_usage();
+               deprecate_display_usage();
                exit(1);
        }
        
        if (!strcmp(argv[1], "shm")) {
-               if (remove_ids(SHM, argc-2, &argv[2])) {
+               if (remove_ids(SHM, argc-2, &argv[2]))
                        exit(1);
-               }
        }
        else if (!strcmp(argv[1], "msg")) {
-               if (remove_ids(MSG, argc-2, &argv[2])) {
+               if (remove_ids(MSG, argc-2, &argv[2]))
                        exit(1);
-               }
        } 
        else if (!strcmp(argv[1], "sem")) {
-               if (remove_ids(SEM, argc-2, &argv[2])) {
+               if (remove_ids(SEM, argc-2, &argv[2]))
                        exit(1);
-               }
        }
        else {
-               display_usage();
+               deprecate_display_usage();
                printf (_("unknown resource type: %s\n"), argv[1]);
                exit(1);
        }
@@ -128,4 +130,144 @@ int main(int argc, char **argv)
        printf (_("resource(s) deleted\n"));
        return 0;
 }
-                       
+
+
+/* print the new usage */
+static void
+usage(char *progname)
+{
+       fprintf(stderr,
+               _("usage: %s [ [-q msqid] [-m shmid] [-s semid]\n"
+                 "          [-Q msgkey] [-M shmkey] [-S semkey] ... ]\n"),
+               progname);
+}
+
+int main(int argc, char **argv)
+{
+       int   c;
+       int   error = 0;
+       char *prog = argv[0];
+
+       /* if the command is executed without parameters, do nothing */
+       if (argc == 1)
+               return 0;
+
+       setlocale(LC_ALL, "");
+       bindtextdomain(PACKAGE, LOCALEDIR);
+       textdomain(PACKAGE);
+
+       /* check to see if the command is being invoked in the old way if so
+          then run the old code */
+       if (strcmp(argv[1], "shm") == 0 ||
+           strcmp(argv[1], "msg") == 0 ||
+           strcmp(argv[1], "sem") == 0)
+               return deprecated_main(argc, argv);
+
+       /* process new syntax to conform with SYSV ipcrm */
+       while ((c = getopt(argc, argv, "q:m:s:Q:M:S:")) != -1) {
+               int result;
+               int id = 0;
+               int iskey = isupper(c);
+
+               /* needed to delete semaphores */
+               union semun arg;
+               arg.val = 0;
+
+               /* we don't need case information any more */
+               c = tolower(c);
+
+               /* make sure the option is in range */
+               if (c != 'q' && c != 'm' && c != 's') {
+                       fprintf(stderr, _("%s: illegal option -- %c\n"),
+                               prog, c);
+                       usage(prog);
+                       error++;
+               }
+
+               if (iskey) {
+                       /* keys are in hex or decimal */
+                       key_t key = strtoul(optarg, NULL, 0);
+                       if (key == IPC_PRIVATE) {
+                               error++;
+                               fprintf(stderr, _("%s: illegal key (%s)\n"),
+                                       prog, optarg);
+                               continue;
+                       }
+
+                       /* convert key to id */
+                       id = ((c == 'q') ? msgget(key, 0) :
+                             (c == 'm') ? shmget(key, 0, 0) :
+                             semget(key, 0, 0));
+
+                       if (id < 0) {
+                               char *errmsg;
+                               error++;
+                               switch(errno) {
+                               case EACCES:
+                                       errmsg = _("permission denied for key");
+                                       break;
+                               case EIDRM:
+                                       errmsg = _("already removed key");
+                                       break;
+                               case ENOENT:
+                                       errmsg = _("invalid key");
+                                       break;
+                               default:
+                                       errmsg = _("unknown error in key");
+                                       break;
+                               }
+                               fprintf(stderr, "%s: %s (%s)\n",
+                                       prog, errmsg, optarg);
+                               continue;
+                       }
+               } else {
+                       /* ids are in decimal */
+                       id = strtoul(optarg, NULL, 10);
+               }
+
+               result = ((c == 'q') ? msgctl(id, IPC_RMID, NULL) :
+                         (c == 'm') ? shmctl(id, IPC_RMID, NULL) : 
+                         semctl(id, 0, IPC_RMID, arg));
+
+               if (result < 0) {
+                       char *errmsg;
+                       error++;
+                       switch(errno) {
+                       case EACCES:
+                       case EPERM:
+                               errmsg = iskey
+                                       ? _("permission denied for key")
+                                       : _("permission denied for id");
+                               break;
+                       case EINVAL:
+                               errmsg = iskey
+                                       ? _("invalid key")
+                                       : _("invalid id");
+                               break;
+                       case EIDRM:
+                               errmsg = iskey
+                                       ? _("already removed key")
+                                       : _("already removed id");
+                               break;
+                       default:
+                               errmsg = iskey
+                                       ? _("unknown error in key")
+                                       : _("unknown error in id");
+                               break;
+                       }
+                       fprintf(stderr, _("%s: %s (%s)\n"),
+                               prog, errmsg, optarg);
+                       continue;
+               }
+       }
+
+       /* print usage if we still have some arguments left over */
+       if (optind != argc) {
+               fprintf(stderr, _("%s: unknown argument: %s\n"),
+                       prog, argv[optind]);
+               usage(prog);
+       }
+
+       /* exit value reflects the number of errors encountered */
+       return error;
+}
index 398ebb4ce7ecde379ded9fbcb616692b738c35c4..052954f95fedaf863dcebd3d5bfc10514bdb08b1 100644 (file)
@@ -29,6 +29,8 @@
  * - byte order auto-detection and -n option
  * 2001-11-09 Werner Almesberger <wa@almesberger.net>
  * - skip step size (index 0)
+ * 2002-03-09 John Levon <moz@compsoc.man.ac.uk>
+ * - make maplineno do something
  */
 
 #include <errno.h>
@@ -234,16 +236,17 @@ main (int argc, char **argv) {
                exit(1);
        }
 
-       while(fgets(mapline,S_LEN,map)) {
-               if (sscanf(mapline,"%lx %s %s",&fn_add,mode,fn_name)!=3) {
+       while (fgets(mapline,S_LEN,map)) {
+               if (sscanf(mapline,"%lx %s %s",&fn_add,mode,fn_name) != 3) {
                        fprintf(stderr,_("%s: %s(%i): wrong map line\n"),
-                               prgname,mapFile, maplineno);
+                               prgname, mapFile, maplineno);
                        exit(1);
                }
                if (!strcmp(fn_name,"_stext")) /* only elf works like this */ {
-                       add0=fn_add;
+                       add0 = fn_add;
                        break;
                }
+               maplineno++;
        }
 
        if (!add0) {
@@ -255,7 +258,7 @@ main (int argc, char **argv) {
        /*
         * Main loop.
         */
-       while(fgets(mapline,S_LEN,map)) {
+       while (fgets(mapline,S_LEN,map)) {
                unsigned int this=0;
 
                if (sscanf(mapline,"%lx %s %s",&next_add,mode,next_name)!=3) {
@@ -289,6 +292,8 @@ main (int argc, char **argv) {
                                       this,fn_name,this/(double)fn_len);
                }
                fn_add=next_add; strcpy(fn_name,next_name);
+
+               maplineno++;
        }
        /* trailer */
        if (optVerbose)
index 62c44006ba7fa040b47fb17c1e4005b8607ba2ad..130f1020fba65c36873746e28bb4d169f65c04c7 100644 (file)
@@ -57,6 +57,7 @@
 #include <locale.h>
 #include "xstrncpy.h"
 #include "nls.h"
+#include "widechar.h"
 
 #define _REGEX_RE_COMP
 #include <regex.h>
@@ -98,7 +99,7 @@ int  pr(char *s1);
 int  printd (int n);
 void set_tty(void);
 void reset_tty(void);
-void ttyin (char buf[], register int nmax, char pchar);
+void ttyin (unsigned char buf[], register int nmax, char pchar);
 int  number(char *cmd);
 int  readch (void);
 int  get_line(register FILE *f, int *length);
@@ -866,15 +867,30 @@ static void prompt (char *filename)
 }
 
 /*
-** Get a logical line
-*/
+ * Get a logical line
+ */
 
 int get_line(register FILE *f, int *length)
 {
-    register int       c;
-    register char      *p;
-    register int       column;
-    static int         colflg;
+    int        c;
+    char *p;
+    int        column;
+    static int colflg;
+
+#ifdef ENABLE_WIDECHAR
+    int i;
+    wchar_t wc;
+    int wc_width;
+    mbstate_t state, state_bak;                /* Current status of the stream. */
+    unsigned char mbc[MB_LEN_MAX];     /* Buffer for one multibyte char. */
+    size_t mblength;                   /* Byte length of multibyte char. */
+    size_t mbc_pos = 0;                        /* Postion of the MBC. */
+    int use_mbc_buffer_flag = 0;       /* If 1, mbc has data. */
+    int break_flag = 0;                        /* If 1, exit while(). */
+    long file_pos_bak = Ftell (f);
+
+    memset (&state, '\0', sizeof (mbstate_t));
+#endif
 
     p = Line;
     column = 0;
@@ -884,6 +900,58 @@ int get_line(register FILE *f, int *length)
        c = Getc (f);
     }
     while (p < &Line[LINSIZ - 1]) {
+#ifdef ENABLE_WIDECHAR
+       if (fold_opt && use_mbc_buffer_flag && MB_CUR_MAX > 1) {
+           use_mbc_buffer_flag = 0;
+           state_bak = state;
+           mbc[mbc_pos++] = c;
+process_mbc:
+           mblength = mbrtowc (&wc, mbc, mbc_pos, &state);
+
+           switch (mblength) {
+             case (size_t)-2:    /* Incomplete multibyte character. */
+               use_mbc_buffer_flag = 1;
+               state = state_bak;
+               break;
+
+             case (size_t)-1:    /* Invalid as a multibyte character. */
+               *p++ = mbc[0];
+               state = state_bak;
+               column++;
+               file_pos_bak++;
+               
+               if (column >= Mcol) {
+                   Fseek (f, file_pos_bak);
+               } else {
+                   memmove (mbc, mbc + 1, --mbc_pos);
+                   if (mbc_pos > 0) {
+                       mbc[mbc_pos] = '\0';
+                       goto process_mbc;
+                   }
+               }
+               break;
+
+             default:
+               wc_width = wcwidth (wc);
+
+               if (column + wc_width > Mcol) {
+                   Fseek (f, file_pos_bak);
+                   break_flag = 1;
+               } else {
+                   for (i = 0; i < mbc_pos; i++)
+                     *p++ = mbc[i];
+                   if (wc_width > 0)
+                     column += wc_width;
+               }
+           }
+
+           if (break_flag || column >= Mcol)
+             break;
+
+           c = Getc (f);
+           continue;
+       }
+#endif 
        if (c == EOF) {
            if (p > Line) {
                *p = '\0';
@@ -897,6 +965,7 @@ int get_line(register FILE *f, int *length)
            Currline++;
            break;
        }
+
        *p++ = c;
 #if 0
        if (c == '\033') {      /* ESC */
@@ -927,8 +996,7 @@ int get_line(register FILE *f, int *length)
                    }
                    if (column >= promptlen) promptlen = 0;
                }
-           }
-           else
+           } else
                column = 1 + (column | 7);
        } else if (c == '\b' && column > 0) {
            column--;
@@ -949,30 +1017,43 @@ int get_line(register FILE *f, int *length)
        } else if (c == EOF) {
            *length = p - Line;
            return (column);
-       }
-#if 0
-       else {
-               char ch[2]; /* for mblen() */
-
-               ch[0] = c;
-               ch[1] = '\0';
-               if (mblen(ch, 1) <= 0) {    /* multibyte, maybe 2 columns */
-                       if (column == Mcol-1 && fold_opt) {
-                               p--;
-                               Ungetc(c, f);
-                               break;
-                       }
-                       *p++ = Getc(f);
-                       column += 2;
-               } else if (c & 0x80) {      /* maybe SJIS KANA, or utf-8 ? */
-                       column++;
-               } else if (isprint(c))
-                       column++;
-       }
-#else
-       else if (isprint(c))
-               column++;
+       } else {
+#ifdef ENABLE_WIDECHAR
+           if (fold_opt && MB_CUR_MAX > 1) {
+               memset (mbc, '\0', MB_LEN_MAX);
+               mbc_pos = 0;
+               mbc[mbc_pos++] = c;
+               state_bak = state;
+
+               mblength = mbrtowc (&wc, mbc, mbc_pos, &state);
+
+               /* The value of mblength is always less than 2 here. */
+               switch (mblength) {
+                 case (size_t)-2:
+                   p--;
+                   file_pos_bak = Ftell (f) - 1;
+                   state = state_bak;
+                   use_mbc_buffer_flag = 1;
+                   break;
+
+                 case (size_t)-1:
+                   state = state_bak;
+                   column++;
+                   break;
+
+                 default:
+                   wc_width = wcwidth (wc);
+                   if (wc_width > 0)
+                     column += wc_width;
+               }
+           } else
 #endif
+             {
+               if (isprint(c))
+                  column++;
+             }
+       }
+
        if (column >= Mcol && fold_opt)
                break;
        c = Getc (f);
@@ -1819,7 +1900,7 @@ retry:
 }
 
 int readch () {
-       char c;
+       unsigned char c;
 
        errno = 0;
        if (read (2, &c, 1) <= 0) {
@@ -1834,18 +1915,18 @@ int readch () {
 static char *BS = "\b";
 static char *BSB = "\b \b";
 static char *CARAT = "^";
-#define ERASEONECHAR \
+#define ERACEONECOLUMN \
     if (docrterase) \
        errwrite(BSB); \
     else \
        errwrite(BS);
 
-void ttyin (char buf[], register int nmax, char pchar) {
-    char *sp;
-    char c;
+void ttyin (unsigned char buf[], register int nmax, char pchar) {
+    unsigned char *sp;
+    int c;
     int slash = 0;
     int        maxlen;
-    char cbuf;
+    int cbuf;
 
     sp = buf;
     maxlen = 0;
@@ -1857,12 +1938,59 @@ void ttyin (char buf[], register int nmax, char pchar) {
        }
        else if (((cc_t) c == otty.c_cc[VERASE]) && !slash) {
            if (sp > buf) {
-               --promptlen;
-               ERASEONECHAR
-               --sp;
+#ifdef ENABLE_WIDECHAR
+               if (MB_CUR_MAX > 1)
+                 {
+                   wchar_t wc;
+                   size_t pos = 0, mblength;
+                   mbstate_t state, state_bak;
+
+                   memset (&state, '\0', sizeof (mbstate_t));
+
+                   while (1) {
+                        state_bak = state;
+                        mblength = mbrtowc (&wc, buf + pos, sp - buf, &state);
+
+                        state = (mblength == (size_t)-2
+                                || mblength == (size_t)-1) ? state_bak : state;
+                        mblength = (mblength == (size_t)-2
+                                    || mblength == (size_t)-1
+                                    || mblength == 0) ? 1 : mblength;
+
+                        if (buf + pos + mblength >= sp)
+                        break;
+
+                        pos += mblength;
+                   }
+
+                   if (mblength == 1) {
+                     ERACEONECOLUMN
+                   }
+                   else {
+                       int wc_width;
+                       wc_width = wcwidth (wc);
+                       wc_width = (wc_width < 1) ? 1 : wc_width;
+                       while (wc_width--) {
+                           ERACEONECOLUMN
+                       }
+                   }
+
+                   while (mblength--) {
+                       --promptlen;
+                       --sp;
+                   }
+                 }
+               else
+#endif
+                 {
+                   --promptlen;
+                   ERACEONECOLUMN
+                   --sp;
+                 }
+
                if ((*sp < ' ' && *sp != '\n') || *sp == RUBOUT) {
                    --promptlen;
-                   ERASEONECHAR
+                   ERACEONECOLUMN
                }
                continue;
            }
@@ -1893,7 +2021,7 @@ void ttyin (char buf[], register int nmax, char pchar) {
        }
        if (slash && ((cc_t) c == otty.c_cc[VKILL]
                   || (cc_t) c == otty.c_cc[VERASE])) {
-           ERASEONECHAR
+           ERACEONECOLUMN
            --sp;
        }
        if (c != '\\')
@@ -1906,7 +2034,7 @@ void ttyin (char buf[], register int nmax, char pchar) {
        }
        cbuf = c;
        if (c != '\n' && c != ESC) {
-           errwrite1(&cbuf);
+           errwrite1((char *)(&cbuf));
            promptlen++;
        }
        else