diff --git a/.github/workflows/cifuzz.yml b/.github/workflows/cifuzz.yml deleted file mode 100644 index a567bbe6daa..00000000000 --- a/.github/workflows/cifuzz.yml +++ /dev/null @@ -1,42 +0,0 @@ ---- -# vi: ts=2 sw=2 et: -# See: https://google.github.io/oss-fuzz/getting-started/continuous-integration/ - -name: CIFuzz -on: - push: - branches: - - master - pull_request: - paths: - - '**' -jobs: - Fuzzing: - runs-on: ubuntu-latest - if: github.repository == 'karelzak/util-linux' - strategy: - fail-fast: false - matrix: - sanitizer: [address, undefined] - steps: - - name: Build Fuzzers (${{ matrix.sanitizer }}) - id: build - uses: google/oss-fuzz/infra/cifuzz/actions/build_fuzzers@master - with: - oss-fuzz-project-name: 'util-linux' - dry-run: false - allowed-broken-targets-percentage: 0 - sanitizer: ${{ matrix.sanitizer }} - - name: Run Fuzzers (${{ matrix.sanitizer }}) - uses: google/oss-fuzz/infra/cifuzz/actions/run_fuzzers@master - with: - oss-fuzz-project-name: 'util-linux' - fuzz-seconds: 180 - dry-run: false - sanitizer: ${{ matrix.sanitizer }} - - name: Upload Crash - uses: actions/upload-artifact@v1 - if: failure() && steps.build.outcome == 'success' - with: - name: ${{ matrix.sanitizer }}-artifacts - path: ./out/artifacts diff --git a/AUTHORS b/AUTHORS index e3098a5c557..e3a70cb5ebc 100644 --- a/AUTHORS +++ b/AUTHORS @@ -88,6 +88,7 @@ CONTRIBUTORS: A. Bram Neijt A. Costa Adam Jackson + Adriaan de Groot Adrian Knoth Adrian Reber Ævar Arnfjörð Bjarmason @@ -246,6 +247,7 @@ CONTRIBUTORS: Dennis Jensen Diego Elio 'Flameeyes' Pettenò Dima Kogan + Dimitri John Ledkov Dirk Mueller Disconnect3d Dmitry V. Levin @@ -255,14 +257,20 @@ CONTRIBUTORS: Douglas E. Quale Doug Quale Dov Grobgeld + Dr. David Alan Gilbert + Dusty Mabe Ed Carp edupont + Egor Chelak Elan Ruusamäe Elliott Mitchell + Eric Biggers Eric Desrochers + Érico Rolim Eric Rannaud Eric Rasmussen Eric Sandeen + Eric Simpson Eric S. Raymond Eric W. Biederman Erik Troan @@ -309,6 +317,7 @@ CONTRIBUTORS: Georg Schiesser Gerald Schaefer Gerhard Schneider + Gero Treuner Gerrit Renker Giacomo Gilles Espinasse @@ -330,6 +339,7 @@ CONTRIBUTORS: Harry Mallon Hayden James Heiko Carstens + Heinrich Schuchardt Helge Deller Helmut Grohne Hendrik Lönngren @@ -350,6 +360,7 @@ CONTRIBUTORS: Imre Kaloz Ingo Brückl Isaac Dunham + Issam E. Maghni Ivan Delalande Jaakko Hyvätti Jakob Unterwurzacher @@ -384,6 +395,7 @@ CONTRIBUTORS: Jeremy Fitzhardinge Jeremy Huntwork Jeremy Katz + Jeremy Linton Jeremy Linton Jeroen Oortwijn Jesper Dahl Nyerup @@ -470,6 +482,7 @@ CONTRIBUTORS: Mamatha Inamdar Manatsu Takahashi Mantas Mikulėnas + Manuel Bentele Marc-Antoine Perennou Marcel Holtmann Marcel Waldvogel @@ -501,6 +514,7 @@ CONTRIBUTORS: Matthew Krupcale Matthias Gerstner Matthias König + Mattias Nissler Matti Niemenmaa Mauricio Faria de Oliveira Maurizio Lombardi @@ -610,6 +624,7 @@ CONTRIBUTORS: Pierre Hauweele Pierre Labastie Pietro Castelli + Pino Toscano Po-Yu Chuang Prarit Bhargava Quentin Rameau @@ -663,8 +678,11 @@ CONTRIBUTORS: Ruediger Meier Rui Zhao (renyuneyun) Rupesh Girase + Ryan Finnie + Samanta Navarro Sami Kerola Sami Liedes + Sami Loone Sam Morris Samuel Ortiz Samuel Thibault @@ -690,9 +708,11 @@ CONTRIBUTORS: Sevan Janiyan sgargel Shachar Shemesh + Shahid Laher Shaun Tancheff Shigeki Morishima Shin'ichiro Kawasaki + Shunsuke Nakamura Simon Mihevc sluidfoe Søren Holm @@ -729,6 +749,7 @@ CONTRIBUTORS: Theodore Ts'o Thierry Reding Thierry Vignaud + Thomas Abraham Thomas Bächler Thomas Deutschmann Thomas Fehr @@ -746,11 +767,13 @@ CONTRIBUTORS: Tobias Klauser Tobias Stoeckmann Todd Lewis + ToddRK Tomas Winkler Tom Gundersen Tomislav Krznar Tommi Kyntola Tommy Thorn + Tomoaki Teshima Tom Prince Toni Uhlig Tony Asleson @@ -765,6 +788,7 @@ CONTRIBUTORS: Victor Dodon Ville Skyttä Vincent Deffontaines + Vincent McIntyre Vinnie Magro Vitezslav Cizek Vladimir Brednikov @@ -810,3 +834,4 @@ CONTRIBUTORS: Zeeshan Ali (Khattak) zhenwei pi Zhi Li + Мирослав Николић diff --git a/Documentation/howto-compilation.txt b/Documentation/howto-compilation.txt index e106fcf205f..6a86b303cc5 100644 --- a/Documentation/howto-compilation.txt +++ b/Documentation/howto-compilation.txt @@ -2,8 +2,15 @@ The common case ./autogen.sh && ./configure && make - If something fails read the last lines. Typical reason to - fail is a missing dependency, such as libtool or gettext. + If something fails read the last lines. Typical reason to + fail is a missing dependency, such as libtool or gettext. + + make install-strip + + Note that on the production systems it is strongly recommended to use + "make install-strip" to install binaries and libraries. The result + from the standard "make install" may produce large binaries with + unnecessary symbols. Autotools diff --git a/Documentation/releases/v2.36-ReleaseNotes b/Documentation/releases/v2.36-ReleaseNotes index 37ab6221e7c..c231c1f9ca6 100644 --- a/Documentation/releases/v2.36-ReleaseNotes +++ b/Documentation/releases/v2.36-ReleaseNotes @@ -21,7 +21,7 @@ agetty(8) now supports multiple paths in the option --issue-file. The commands fdisk(8), sfdisk(8), cfdisk(8), mkswap(8) and wipefs(8) now support block devices locking by flock(2) to better behave with udevd or other -tools. Ffor more details see https://systemd.io/BLOCK_DEVICE_LOCKING/. This +tools. For more details see https://systemd.io/BLOCK_DEVICE_LOCKING/. This feature is controlled by a new command line option --lock and $LOCK_BLOCK_DEVICE environmental variable. diff --git a/Documentation/releases/v2.36.1-ReleaseNotes b/Documentation/releases/v2.36.1-ReleaseNotes new file mode 100644 index 00000000000..ece206f5718 --- /dev/null +++ b/Documentation/releases/v2.36.1-ReleaseNotes @@ -0,0 +1,111 @@ +util-linux 2.36.1 Release Notes +=============================== + +agetty: + - fix typo in manual page [Samanta Navarro] +blockdev: + - fix man page formatting [Jakub Wilk] +build-sys: + - exclude GPL from libcommon [Karel Zak] +build-system: + - stop looking for %ms and %as [Evgeny Vereshchagin] +chrt: + - use SCHED_FLAG_RESET_ON_FORK for sched_setattr() [Karel Zak] +docs: + - add hint about make install-strip and link to Documentation/ [Karel Zak] + - fix typo in v2.36-ReleaseNotes [Karel Zak] + - update AUTHORS file [Karel Zak] +fallocate: + - fix --dig-holes at end of files [Gero Treuner] +fdisk: + - always report fdisk_create_disklabel() errors [Karel Zak] + - fix expected test output on alpha [Chris Hofstaedtler] +flock: + - keep -E exit status more restrictive [Karel Zak] +fstrim: + - remove fstab condition from fstrim.timer [Dusty Mabe] +hardlink: + - fix hardlink pcre leak [Sami Kerola] +hexdump: + - automatically use -C when called as hd [Chris Hofstaedtler] +hwclock: + - add fallback if SYS_settimeofday does not exist [Karel Zak] + - fix SYS_settimeofday fallback [Rosen Penev] +lib: + - add missing headers to .c files [Karel Zak] +lib/pager: + - fix improper use of negative value [coverity scan] [Sami Kerola] +lib/procutils: + - use Public Domain for this file [Karel Zak] +lib/randutils: + - rename random_get_bytes() [Sami Kerola] +lib/sysfs: + - fix doble free [coverity scan] [Karel Zak] +libblkid: + - allow a lot of mac partitions [Samanta Navarro] + - fix Atari prober logic [Karel Zak] + - fix memory leak in config parser [Samanta Navarro] + - limit amount of parsed partitions [Samanta Navarro] + - make Atari more robust [Karel Zak] +libfdisk: + - (gpt) make sure device is large enough [Karel Zak] + - (script) don't use sector size if not specified [Karel Zak] + - (script) fix possible memory leaks [Karel Zak] + - (script) fix possible partno overflow [Karel Zak] + - (script) make sure buffer is initialized [Karel Zak] + - (script) make sure label is specified [Karel Zak] + - add "Linux /usr" and "Linux /usr verity" GPT partition types [nl6720] + - add systemd-homed user's home GPT partition type [nl6720] + - another parse_line_nameval() cleanup [Karel Zak] + - fix fdisk_reread_changes() for extended partitions [Karel Zak] + - fix last free sector detection if partition size specified [Karel Zak] + - fix typo from 255f5f4c770ebd46a38b58975bd33e33ae87ed24 [Karel Zak] + - reset context FD on error [yangzz-97] +libmount: + - Fix 0x%u usage [Dr. David Alan Gilbert] + - do not use pointer as an integer value [Sami Kerola] +libsmartcols: + - don't print empty output on empty table in JSON [Karel Zak] +login: + - close() only a file descriptor that is open [coverity scan] [Sami Kerola] + - ensure getutxid() does not use uninitialized variable [coverity scan] [Sami Kerola] +losetup: + - avoid infinite busy loop [Karel Zak] + - increase limit of setup attempts [Karel Zak] +lsblk: + - fix -T optional argument [Karel Zak] + - fix SCSI_IDENT_SERIAL [Karel Zak] + - print zero rather than empty SIZE [Karel Zak] + - read ID_SCSI_IDENT_SERIAL if available [Karel Zak] +lscpu: + - Add FUJITSU aarch64 A64FX cpupart [Shunsuke Nakamura] + - Even more Arm part numbers [Jeremy Linton] + - avoid segfault on PowerPC systems with valid hardware configurations [Thomas Abraham] +manpages: + - fix "The example command" in AVAILABILITY section [Chris Hofstaedtler] +mount: + - Add support for "nosymfollow" mount option. [Mattias Nissler] +pg: + - fix wcstombs() use [Karel Zak] +po: + - merge changes [Karel Zak] + - update cs.po (from translationproject.org) [Petr Písař] + - update es.po (from translationproject.org) [Antonio Ceballos Roa] +sfdisk: + - (docs) add more information about GPT attribute bits [Karel Zak] + - correct --json --dump false exclusive [Dimitri John Ledkov] + - do not free device name too soon [coverity scan] [Sami Kerola] + - fix backward --move-data [Karel Zak] +tests: + - an attempt to get around https //github.com/karelzak/util-linux/issues/1110 [Evgeny Vereshchagin] + - update atari blkid tests [Karel Zak] + - update atari partx tests [Karel Zak] +unshare: + - fix bad bit shift operation [coverity scan] [Sami Kerola] +vipw: + - fix short write handling in copyfile [Egor Chelak] +whereis: + - fix out of boundary read [Samanta Navarro] + - support zst compressed man pages [Samanta Navarro] +wipefs: + - (man) add hint to erase on partitions and disk [Karel Zak] diff --git a/Documentation/releases/v2.36.2-ReleaseNotes b/Documentation/releases/v2.36.2-ReleaseNotes new file mode 100644 index 00000000000..216b8a02af5 --- /dev/null +++ b/Documentation/releases/v2.36.2-ReleaseNotes @@ -0,0 +1,80 @@ +util-linux 2.36.2 Release Notes +=============================== + +agetty: + - tty eol defaults to REPRINT [Sami Loone] +blkdiscard: + - fix compiler warnings [-Wmaybe-uninitialized] [Karel Zak] +build-sys: + - do not build plymouth-ctrl.c w/ disabled plymouth [Pino Toscano] +configure: + - test -a|o is not POSIX [Issam E. Maghni] +docs: + - update AUTHORS file [Karel Zak] +fsck.cramfs: + - fix fsck.cramfs crashes on blocksizes > 4K [ToddRK] +fstab: + - fstab.5 NTFS and FAT volume IDs use upper case [Heinrich Schuchardt] +github: + - remove cifuzz from stable branch [Karel Zak] +hwclock: + - do not assume __NR_settimeofday_time32 [Pino Toscano] + - fix compiler warnings [-Wmaybe-uninitialized] [Karel Zak] +lib/caputils: + - add fall back for last cap using prctl. [Érico Rolim] +lib/loopdev: + - make is_loopdev() more robust [Karel Zak] +lib/procutils: + - add proc_is_procfs helper. [Érico Rolim] + - improve proc_is_procfs(), add test [Karel Zak] +lib/signames: + - change license to public domain [Karel Zak] +libblkid: + - drbdmanage use blkid_probe_strncpy_uuid instead of blkid_probe_set_id_label [Pali Rohár] + - make gfs2 prober more extendible [Karel Zak] +libfdisk: + - (dos) fix last possible sector calculation [Karel Zak] + - (script) ignore empty values for start and size [Gaël PORTAY] + - ignore 33553920 byte optimal I/O size [Ryan Finnie] +libmount: + - (py) do not use pointer as an integer value [Karel Zak] + - add vboxsf, virtiofs to pseudo filesystems [Shahid Laher] + - do not canonicalize ZFS source dataset [Karel Zak] + - don't use "symfollow" for helpers on user mounts [Karel Zak] + - fix /{etc,proc}/filesystems use [Karel Zak] +login: + - use full tty path for PAM_TTY [Karel Zak] +losetup: + - fix wrong printf() format specifier for ino_t data type [Manuel Bentele] +lsblk: + - read SCSI_IDENT_SERIAL also from udev [Karel Zak] +lslogins: + - call close() for usable FD [coverity scan] [Karel Zak] +po: + - add sr.po (from translationproject.org) [Мирослав Николић] + - merge changes [Karel Zak] + - update hr.po (from translationproject.org) [Božidar Putanec] + - update sv.po (from translationproject.org) [Sebastian Rasmussen] +rfkill: + - stop execution when rfkill device cannot be opened [Sami Kerola] +script: + - fix compiler warnings [-Wmaybe-uninitialized] [Karel Zak] +scriptlive: + - fix compiler warnings [-Wmaybe-uninitialized] [Karel Zak] +setpriv: + - allow using [-+]all for capabilities. [Érico Rolim] + - small clean-up. [Érico Rolim] +su: + - use full tty path for PAM_TTY [Karel Zak] +switch_root: + - check if mount point to move even exists [Thomas Deutschmann] +sys-utils: + - mount.8 fix a typo [Eric Biggers] +tests: + - add checksum for cramfs/mkfs for LE 16384 (ia64) [Anatoly Pugachev] + - be explicit with file permissions for cramfs [Karel Zak] + - don't rely on scsi_debug partitions [Karel Zak] +umount: + - ignore --no-canonicalize,-c for non-root users [Karel Zak] + +- Show the 'r' option in the help menu [Vincent McIntyre] diff --git a/NEWS b/NEWS index bce71e50a4f..7a90dd3cdca 100644 --- a/NEWS +++ b/NEWS @@ -1,3 +1,11 @@ +util-linux 2.36.2: Feb 12 2021 +* see Documentation/releases/v2.36.2-ReleaseNotes or the complete changelog at + https://www.kernel.org/pub/linux/utils/util-linux/v2.36/v2.36.2-ChangeLog + +util-linux 2.36.1: Nov 16 2020 +* see Documentation/releases/v2.36.1-ReleaseNotes or the complete changelog at + https://www.kernel.org/pub/linux/utils/util-linux/v2.36/v2.36.1-ChangeLog + util-linux 2.36: Jul 23 2020 * see Documentation/releases/v2.36-ReleaseNotes or the complete changelog at https://www.kernel.org/pub/linux/utils/util-linux/v2.36/v2.36-ChangeLog diff --git a/README b/README index 7f07d7d3ff2..f8ede7b843c 100644 --- a/README +++ b/README @@ -5,6 +5,10 @@ Note: for the years 2006-2010 this project was named "util-linux-ng". +COMPILE & INSTALL: + + See Documentation/howto-compilation.txt. + MAILING LIST: E-MAIL: util-linux@vger.kernel.org @@ -57,6 +61,11 @@ SOURCE CODE: Download archive: https://www.kernel.org/pub/linux/utils/util-linux/ + See also: + Documentation/howto-contribute.txt + Documentation/howto-build-sys.txt + Documentation/howto-pull-request.txt + SCM (Source Code Management) Repository: Primary repository: diff --git a/configure.ac b/configure.ac index f1659ae89ad..7c44b09be58 100644 --- a/configure.ac +++ b/configure.ac @@ -29,7 +29,7 @@ PACKAGE_VERSION_RELEASE=$(echo $PACKAGE_VERSION | awk -F. '{ dnl libblkid version LIBBLKID_VERSION="$PACKAGE_VERSION_MAJOR.$PACKAGE_VERSION_MINOR.$PACKAGE_VERSION_RELEASE" -LIBBLKID_DATE="23-Jul-2020" +LIBBLKID_DATE="12-Feb-2021" LIBBLKID_LT_MAJOR=1 LIBBLKID_LT_MINOR=1 LIBBLKID_LT_MICRO=0 @@ -625,7 +625,7 @@ AS_IF([test x"$have_dirfd" = xno], [ #include ]) ]) -AM_CONDITIONAL([HAVE_DIRFD], [test "x$have_dirfd" = xyes -o "x$have_ddfd" = xyes]) +AM_CONDITIONAL([HAVE_DIRFD], [test "x$have_dirfd" = xyes || test "x$have_ddfd" = xyes]) AC_MSG_CHECKING([whether program_invocation_short_name is defined]) @@ -690,69 +690,6 @@ AS_CASE([$enable_all_programs], AX_CHECK_TLS -AC_DEFUN([UL_SCANF_TYPE_MODIFIER], [dnl -# include -# include -int main() -{ - int i; - int rc = 1; - char *s; - i = sscanf("x", $1, &s); - if (i == 1 && *s == 'x') - rc = 0; - free(s); - return rc; -}]) - -AC_CACHE_VAL([scanf_cv_alloc_modifier], - AC_RUN_IFELSE([AC_LANG_SOURCE([UL_SCANF_TYPE_MODIFIER(["%ms"])])], - [scanf_cv_alloc_modifier=ms], - AC_RUN_IFELSE([AC_LANG_SOURCE([UL_SCANF_TYPE_MODIFIER(["%as"])])], - [scanf_cv_alloc_modifier=as], - [scanf_cv_alloc_modifier=no] - ) - , - - [AC_COMPILE_IFELSE([AC_LANG_SOURCE([ - #include - #include - - #if defined(__GLIBC__) && !defined(__UCLIBC__) - - #if !(__GLIBC_PREREQ(2, 7)) - #error %m is not available - #endif - - #elif defined(_POSIX_VERSION) - - #if _POSIX_VERSION < 200809L - #error %m is not available - #endif - - #else - #error Your C-library is not supported. - #endif - ])], - [scanf_cv_alloc_modifier=ms], - [scanf_cv_alloc_modifier=no])] - ) -) - -AC_MSG_CHECKING([scanf string alloc modifiers]) -AS_CASE([$scanf_cv_alloc_modifier], - [ms], - [AC_MSG_RESULT([(%ms) yes]) - AC_DEFINE([HAVE_SCANF_MS_MODIFIER], [1], [scanf %ms modifier]) - have_scanf_alloc_modifier=yes], - [as], - [AC_MSG_RESULT([(%as) yes]) - have_scanf_alloc_modifier=yes - AC_DEFINE([HAVE_SCANF_AS_MODIFIER], [1], [scanf %as modifier])], - [AC_MSG_RESULT([no]) - have_scanf_alloc_modifier=no] -) - have_pty=no AC_ARG_WITH([util], AS_HELP_STRING([--without-util], [compile without libutil]), [], [with_util=auto] @@ -764,7 +701,7 @@ AS_IF([test "x$with_util" = xno], [ UL_CHECK_LIB([util], [openpty]) ]) -AS_IF([test "x$have_pty_h" = xyes -a "x$have_sys_signalfd_h" = xyes -a "x$have_util" = xyes], [ +AS_IF([test "x$have_pty_h" = xyes && test "x$have_sys_signalfd_h" = xyes && test "x$have_util" = xyes], [ AM_CONDITIONAL([HAVE_PTY], [true]) AC_DEFINE([HAVE_PTY], [1], [have PTY support]) have_pty=yes @@ -956,7 +893,7 @@ have_ncurses_header=no AS_CASE([$with_ncurses:$build_widechar], [yes:yes], [AC_MSG_ERROR([wide-char support enabled, but non-wide ncurses selects])]) -AS_IF([test "x$have_ncursesw" = xno -a "x$with_ncurses" != xno ], [ +AS_IF([test "x$have_ncursesw" = xno && test "x$with_ncurses" != xno ], [ UL_NCURSES_CHECK([ncurses]) AS_IF([test "x$have_ncurses" = xyes], [ AC_CHECK_HEADERS([ncurses/ncurses.h], [have_ncurses_header=yes]) @@ -980,7 +917,7 @@ AS_CASE([$with_ncurses:$have_ncurses], AC_SUBST([NCURSES_CFLAGS]) AC_SUBST([NCURSES_LIBS]) -AM_CONDITIONAL([HAVE_NCURSES], [test "x$have_ncursesw" = xyes -o "x$have_ncurses" = xyes]) +AM_CONDITIONAL([HAVE_NCURSES], [test "x$have_ncursesw" = xyes || test "x$have_ncurses" = xyes]) AC_ARG_WITH([slang], @@ -1006,7 +943,7 @@ AS_IF([test "x$with_slang" = xyes], [ AM_CONDITIONAL([HAVE_SLANG], [test "x$have_slang" = xyes]) -AS_IF([test "x$have_slang" = xyes -o "x$have_ncursesw" = xyes -o "x$have_ncurses" = xyes], [ +AS_IF([test "x$have_slang" = xyes || test "x$have_ncursesw" = xyes || test "x$have_ncurses" = xyes], [ AC_CHECK_LIB([$CURSES_LIB_NAME], use_default_colors, [ AC_DEFINE(HAVE_USE_DEFAULT_COLORS, 1, [Define if curses library has the use_default_colors().]) @@ -1034,8 +971,8 @@ AS_IF([test "x$with_tinfo" != xno], [ AC_SUBST([TINFO_LIBS]) AC_SUBST([TINFO_LIBS_STATIC]) AC_SUBST([TINFO_CFLAGS]) -AM_CONDITIONAL([HAVE_TINFO], [test "x$have_tinfo" = xyes -o "x$have_tinfow" = xyes]) -AS_IF([test "x$have_tinfo" = xyes -o "x$have_tinfow" = xyes], [ +AM_CONDITIONAL([HAVE_TINFO], [test "x$have_tinfo" = xyes || test "x$have_tinfow" = xyes]) +AS_IF([test "x$have_tinfo" = xyes || test "x$have_tinfow" = xyes], [ AC_DEFINE(HAVE_LIBTINFO, 1, [Define if libtinfo or libtinfow available.]) ]) @@ -1116,7 +1053,7 @@ AS_IF([test "x$build_libblkid" = xyes], [ AC_DEFINE([HAVE_LIBBLKID], [1], [Define to 1 if you have the -lblkid.]) ]) AM_CONDITIONAL([BUILD_LIBBLKID], [test "x$build_libblkid" = xyes]) -AM_CONDITIONAL([BUILD_LIBBLKID_TESTS], [test "x$build_libblkid" = xyes -a "x$enable_static" = xyes]) +AM_CONDITIONAL([BUILD_LIBBLKID_TESTS], [test "x$build_libblkid" = xyes && test "x$enable_static" = xyes]) dnl dnl libmount @@ -1127,10 +1064,9 @@ AC_ARG_ENABLE([libmount], ) UL_BUILD_INIT([libmount]) UL_REQUIRES_BUILD([libmount], [libblkid]) -UL_REQUIRES_HAVE([libmount], [scanf_alloc_modifier], [scanf string alloc modifier]) UL_REQUIRES_HAVE([libmount], [dirfd,ddfd], [dirfd or ddfd function]) AM_CONDITIONAL([BUILD_LIBMOUNT], [test "x$build_libmount" = xyes]) -AM_CONDITIONAL([BUILD_LIBMOUNT_TESTS], [test "x$build_libmount" = xyes -a "x$enable_static" = xyes]) +AM_CONDITIONAL([BUILD_LIBMOUNT_TESTS], [test "x$build_libmount" = xyes && test "x$enable_static" = xyes]) AS_IF([test "x$build_libmount" = xyes], [ AC_DEFINE(HAVE_LIBMOUNT, 1, [Define if libmount available.]) AS_IF([test "x$have_setns_syscall" = "xyes"], [ @@ -1181,7 +1117,7 @@ AC_ARG_ENABLE([libfdisk], UL_BUILD_INIT([libfdisk]) UL_REQUIRES_BUILD([libfdisk], [libuuid]) AM_CONDITIONAL([BUILD_LIBFDISK], [test "x$build_libfdisk" = xyes]) -AM_CONDITIONAL([BUILD_LIBFDISK_TESTS], [test "x$build_libfdisk" = xyes -a "x$enable_static" = xyes]) +AM_CONDITIONAL([BUILD_LIBFDISK_TESTS], [test "x$build_libfdisk" = xyes && test "x$enable_static" = xyes]) AS_IF([test "x$build_libblkid" = xyes], [LIBFDISK_PC_REQUIRES="uuid blkid"],[LIBFDISK_PC_REQUIRES="uuid"]) @@ -1478,7 +1414,7 @@ UL_BUILD_INIT([agetty]) UL_REQUIRES_HAVE([agetty], [utmpx_h], [utmpx.h header]) UL_REQUIRES_HAVE([agetty], [gnu_utmpx], [GNU utmpx functions]) AM_CONDITIONAL([BUILD_AGETTY], [test "x$build_agetty" = xyes]) -AS_IF([test "x$have_futimens" = xyes -a "x$have_inotify_init1" = xyes ], [ +AS_IF([test "x$have_futimens" = xyes && test "x$have_inotify_init1" = xyes ], [ AC_DEFINE([AGETTY_RELOAD], [1], [Enable agetty --reload feature]) ],[ AC_MSG_WARN([futimens or inotify_init1 not found; agetty(8) will not provide ---reload functionality]) @@ -1663,7 +1599,7 @@ AM_CONDITIONAL([BUILD_SWAPLABEL], [test "x$build_swaplabel" = xyes]) UL_BUILD_INIT([mkswap], [yes]) AM_CONDITIONAL([BUILD_MKSWAP], [test "x$build_mkswap" = xyes]) -AS_IF([test "x$build_mkswap" = xyes -a "x$build_libuuid" != xyes], [ +AS_IF([test "x$build_mkswap" = xyes && test "x$build_libuuid" != xyes], [ AC_MSG_WARN([uuid library is not found; mkswap(8) will not generate UUIDs]) ]) @@ -2042,7 +1978,7 @@ UL_BUILD_INIT([chfn_chsh]) UL_REQUIRES_HAVE([chfn_chsh], [shadow_h], [shadow.h header]) UL_REQUIRES_HAVE([chfn_chsh], [getusershell], [getusershell function]) -AS_IF([test "x$enable_chfn_chsh_password" = xyes -o "x$have_user" = xyes], [ +AS_IF([test "x$enable_chfn_chsh_password" = xyes || test "x$have_user" = xyes], [ UL_REQUIRES_HAVE([chfn_chsh], [security_pam_appl_h], [PAM header file]) AC_DEFINE([CHFN_CHSH_PASSWORD], [1], [Should chfn and chsh require the user to enter the password?]) ]) @@ -2279,7 +2215,7 @@ AS_IF([test "x$with_systemd" != xno], [ [have_systemd_daemon=yes], [have_systemd_daemon=no]) PKG_CHECK_MODULES([SYSTEMD_JOURNAL], [libsystemd-journal], [have_systemd_journal=yes], [have_systemd_journal=no]) - AS_IF([test "x$have_systemd_daemon" = "xyes" -a "x$have_systemd_journal" = "xyes" ],[ + AS_IF([test "x$have_systemd_daemon" = "xyes" && test "x$have_systemd_journal" = "xyes" ],[ have_systemd=yes]) ]) AS_CASE([$with_systemd:$have_systemd], @@ -2375,7 +2311,7 @@ AS_IF([test "x$with_python" != xno], [ # (minimal version is 2) but if major version is explicitly specified by # --with-python=2 or --with-python=3 then we look for PKG module "python2" or # "python3". - AS_IF([test "x$withval" != xno -a "x$withval" != xyes -a "x$withval" != xcheck], + AS_IF([test "x$withval" != xno && test "x$withval" != xyes && test "x$withval" != xcheck], [pymajor="$withval"; PYTHON=python${pymajor}], [pymajor="2"]) # check for python interpreter diff --git a/disk-utils/Makemodule.am b/disk-utils/Makemodule.am index bea0ed6a6fc..b39aff804e9 100644 --- a/disk-utils/Makemodule.am +++ b/disk-utils/Makemodule.am @@ -4,14 +4,16 @@ sbin_PROGRAMS += fsck.minix dist_man_MANS += disk-utils/fsck.minix.8 fsck_minix_SOURCES = \ disk-utils/fsck.minix.c \ - disk-utils/minix_programs.h + disk-utils/minix_programs.h \ + lib/ismounted.c fsck_minix_LDADD = $(LDADD) libcommon.la sbin_PROGRAMS += mkfs.minix dist_man_MANS += disk-utils/mkfs.minix.8 mkfs_minix_SOURCES = \ disk-utils/minix_programs.h \ - disk-utils/mkfs.minix.c + disk-utils/mkfs.minix.c \ + lib/ismounted.c mkfs_minix_LDADD = $(LDADD) libcommon.la check_PROGRAMS += test_mkfs_minix @@ -49,7 +51,8 @@ if BUILD_MKSWAP sbin_PROGRAMS += mkswap dist_man_MANS += disk-utils/mkswap.8 mkswap_SOURCES = \ - disk-utils/mkswap.c + disk-utils/mkswap.c \ + lib/ismounted.c mkswap_LDADD = $(LDADD) libcommon.la mkswap_CFLAGS = $(AM_CFLAGS) diff --git a/disk-utils/blockdev.8 b/disk-utils/blockdev.8 index 361e6aad779..b38720fb1ee 100644 --- a/disk-utils/blockdev.8 +++ b/disk-utils/blockdev.8 @@ -19,7 +19,7 @@ blockdev \- call block device ioctls from the command line .RI [ device \&...\&] .br .B blockdev -.RB \-h | \-V +.BR \-h | \-V .SH DESCRIPTION The utility .B blockdev diff --git a/disk-utils/cfdisk.c b/disk-utils/cfdisk.c index c783f9daa31..11f8b9a95fd 100644 --- a/disk-utils/cfdisk.c +++ b/disk-utils/cfdisk.c @@ -747,6 +747,20 @@ static void ui_clean_warn(void) clrtoeol(); } +static int __attribute__((__noreturn__)) ui_err(int rc, const char *fmt, ...) + { + va_list ap; + ui_end(); + + va_start(ap, fmt); + fprintf(stderr, "%s: ", program_invocation_short_name); + vfprintf(stderr, fmt, ap); + fprintf(stderr, ": %s\n", strerror(errno)); + va_end(ap); + + exit(rc); +} + static int __attribute__((__noreturn__)) ui_errx(int rc, const char *fmt, ...) { va_list ap; @@ -2195,6 +2209,7 @@ static int ui_help(void) N_(" h Print this screen"), N_(" n Create new partition from free space"), N_(" q Quit program without writing partition table"), + N_(" r Reduce or enlarge the current partition"), N_(" s Fix partitions order (only when in disarray)"), N_(" t Change the partition type"), N_(" u Dump disk layout to sfdisk compatible script file"), @@ -2529,9 +2544,11 @@ static int ui_run(struct cfdisk *cf) if (!fdisk_has_label(cf->cxt) || cf->zero_start) { rc = ui_create_label(cf); - if (rc < 0) - ui_errx(EXIT_FAILURE, + if (rc < 0) { + errno = -rc; + ui_err(EXIT_FAILURE, _("failed to create a new disklabel")); + } if (rc) return rc; } diff --git a/disk-utils/fdisk-menu.c b/disk-utils/fdisk-menu.c index 51ae7b5e6e9..9f09eea83e8 100644 --- a/disk-utils/fdisk-menu.c +++ b/disk-utils/fdisk-menu.c @@ -487,7 +487,7 @@ static int script_read(struct fdisk_context *cxt) rc = fdisk_reassign_device(cxt); if (rc == 0 && !fdisk_has_label(cxt)) { fdisk_info(cxt, _("Device does not contain a recognized partition table.")); - fdisk_create_disklabel(cxt, NULL); + rc = fdisk_create_disklabel(cxt, NULL); } } else fdisk_info(cxt, _("Script successfully applied.")); @@ -1065,6 +1065,7 @@ static int createlabel_menu_cb(struct fdisk_context **cxt0, const struct menu_entry *ent) { struct fdisk_context *cxt = *cxt0; + const char *wanted = NULL; int rc = -EINVAL; DBG(MENU, ul_debug("enter Create label menu")); @@ -1077,26 +1078,33 @@ static int createlabel_menu_cb(struct fdisk_context **cxt0, case 'g': /* Deprecated, use 'G' in main menu, just for backward * compatibility only. */ - rc = fdisk_create_disklabel(cxt, "sgi"); + wanted = "sgi"; break; } } else { switch (ent->key) { case 'g': - rc = fdisk_create_disklabel(cxt, "gpt"); + wanted = "gpt"; break; case 'G': - rc = fdisk_create_disklabel(cxt, "sgi"); + wanted = "sgi"; break; case 'o': - rc = fdisk_create_disklabel(cxt, "dos"); + wanted = "dos"; break; case 's': - rc = fdisk_create_disklabel(cxt, "sun"); + wanted = "sun"; break; } } + if (wanted) { + rc = fdisk_create_disklabel(cxt, wanted); + if (rc) { + errno = -rc; + fdisk_warn(cxt, _("Failed to create '%s' disk label"), wanted); + } + } if (rc == 0 && fdisk_get_collision(cxt)) follow_wipe_mode(cxt); diff --git a/disk-utils/fsck.cramfs.8 b/disk-utils/fsck.cramfs.8 index 1beabd81bdf..90d7942053f 100644 --- a/disk-utils/fsck.cramfs.8 +++ b/disk-utils/fsck.cramfs.8 @@ -55,7 +55,7 @@ usage information was printed .BR mount (8), .BR mkfs.cramfs (8) .SH AVAILABILITY -The example command is part of the util-linux package and is available from +The fsck.cramfs command is part of the util-linux package and is available from .UR https://\:www.kernel.org\:/pub\:/linux\:/utils\:/util-linux/ Linux Kernel Archive .UE . diff --git a/disk-utils/fsck.cramfs.c b/disk-utils/fsck.cramfs.c index 5145bcfd7aa..8961685e17f 100644 --- a/disk-utils/fsck.cramfs.c +++ b/disk-utils/fsck.cramfs.c @@ -86,11 +86,17 @@ static unsigned long start_data = ~0UL; /* start of the data (256 MB = max) */ static unsigned long end_data = 0; /* end of the data */ -/* Guarantee access to at least 8kB at a time */ -#define ROMBUFFER_BITS 13 -#define ROMBUFFERSIZE (1 << ROMBUFFER_BITS) -#define ROMBUFFERMASK (ROMBUFFERSIZE - 1) -static char read_buffer[ROMBUFFERSIZE * 2]; +/* Guarantee access to at least 2 * blksize at a time */ +#define CRAMFS_ROMBUFFER_BITS 13 +#define CRAMFS_ROMBUFFERSIZE (1 << CRAMFS_ROMBUFFER_BITS) +#define CRAMFS_ROMBUFFERMASK (CRAMFS_ROMBUFFERSIZE - 1) + +/* Defaults, updated in main() according to block size */ +static size_t rombufbits = CRAMFS_ROMBUFFER_BITS; +static size_t rombufsize = CRAMFS_ROMBUFFERSIZE; +static size_t rombufmask = CRAMFS_ROMBUFFERMASK; + +static char *read_buffer; static unsigned long read_buffer_block = ~0UL; static z_stream stream; @@ -298,19 +304,19 @@ static void print_node(char type, struct cramfs_inode *i, char *name) */ static void *romfs_read(unsigned long offset) { - unsigned int block = offset >> ROMBUFFER_BITS; + unsigned int block = offset >> rombufbits; if (block != read_buffer_block) { ssize_t x; read_buffer_block = block; - if (lseek(fd, block << ROMBUFFER_BITS, SEEK_SET) == (off_t) -1) + if (lseek(fd, block << rombufbits, SEEK_SET) == (off_t) -1) warn(_("seek failed")); - x = read(fd, read_buffer, ROMBUFFERSIZE * 2); + x = read(fd, read_buffer, rombufsize * 2); if (x < 0) warn(_("read romfs failed")); } - return read_buffer + (offset & ROMBUFFERMASK); + return read_buffer + (offset & rombufmask); } static struct cramfs_inode *cramfs_iget(struct cramfs_inode *i) @@ -701,10 +707,21 @@ int main(int argc, char **argv) test_super(&start, &length); test_crc(start); - if(opt_extract) { + if (opt_extract) { + size_t bufsize = 0; + if (blksize == 0) blksize = getpagesize(); + + /* re-calculate according to blksize */ + bufsize = rombufsize = blksize * 2; + rombufbits = 0; + while (bufsize >>= 1) + rombufbits++; + rombufmask = rombufsize - 1; + outbuffer = xmalloc(blksize * 2); + read_buffer = xmalloc(rombufsize * 2); test_fs(start); } diff --git a/disk-utils/mkfs.cramfs.8 b/disk-utils/mkfs.cramfs.8 index 63158dd3498..f01229f8236 100644 --- a/disk-utils/mkfs.cramfs.8 +++ b/disk-utils/mkfs.cramfs.8 @@ -84,7 +84,7 @@ operation error, such as unable to allocate memory .BR fsck.cramfs (8), .BR mount (8) .SH AVAILABILITY -The example command is part of the util-linux package and is available from +The mkfs.cramfs command is part of the util-linux package and is available from .UR https://\:www.kernel.org\:/pub\:/linux\:/utils\:/util-linux/ Linux Kernel Archive .UE . diff --git a/disk-utils/sfdisk.8 b/disk-utils/sfdisk.8 index 6c3f62eddfa..12c94eb3311 100644 --- a/disk-utils/sfdisk.8 +++ b/disk-utils/sfdisk.8 @@ -127,13 +127,36 @@ List the free unpartitioned areas on all or the specified devices. .TP .BR "\-\-part\-attrs \fIdevice partition-number " [ \fIattributes ] Change the GPT partition attribute bits. If \fIattributes\fR is not specified, -then print the current partition settings. +then print the current partition settings. The \fIattributes\fR argument is a +comma- or space-delimited list of bits numbers or bit names. For example, the +string "RequiredPartition,50,51" sets three bits. The currently supported +attribute bits are: +.RS +.TP +.BR "Bit 0 (RequiredPartition)" +If this bit is set, the partition is required for the platform to function. The +creator of the partition indicates that deletion or modification of the contents +can result in loss of platform features or failure for the platform to boot or +operate. The system cannot function normally if this partition is removed, and it +should be considered part of the hardware of the system. +.TP +.BR "Bit 1 (NoBlockIOProtocol)" +EFI firmware should ignore the content of the partition and not try to read from it. +.TP +.BR "Bit 2 (LegacyBIOSBootable)" +The partition may be bootable by legacy BIOS firmware. +.TP +.BR "Bits 3-47" +Undefined and must be zero. Reserved for expansion by future versions of the +UEFI specification. +.TP +.BR "Bits 48-63" +Reserved for GUID specific use. The use of these bits will vary depending on +the partition type. For example Microsoft uses bit 60 to indicate read-only, +61 for shadow copy of another partition, 62 for hidden partitions and 63 to +disable automount. +.RE .sp -The \fIattributes\fR argument is a -comma- or space-delimited list of bits. The currently supported attribute -bits are: RequiredPartition, NoBlockIOProtocol, LegacyBIOSBootable -and GUID-specific bits in the range from 48 to 63. For example, the string -"RequiredPartition,50,51" sets three bits. .TP .BR "\-\-part\-label \fIdevice partition-number " [ \fIlabel ] Change the GPT partition name (label). If \fIlabel\fR is not specified, diff --git a/disk-utils/sfdisk.c b/disk-utils/sfdisk.c index 192e9f951e0..5f00bd36d60 100644 --- a/disk-utils/sfdisk.c +++ b/disk-utils/sfdisk.c @@ -527,18 +527,19 @@ static int move_partition_data(struct sfdisk *sf, size_t partno, struct fdisk_pa prev = 0; for (cc = 1, i = 0; i < nsectors && nbytes > 0; i += step, cc++) { - if (backward) - src -= step_bytes, dst -= step_bytes; - - DBG(MISC, ul_debug("#%05zu: src=%ju dst=%ju", cc, src, dst)); if (nbytes < step_bytes) { - DBG(MISC, ul_debug(" aligning step from %ju to %ju", - step_bytes, nbytes)); + DBG(MISC, ul_debug("aligning step #%05zu from %ju to %ju", + cc, step_bytes, nbytes)); step_bytes = nbytes; } nbytes -= step_bytes; + if (backward) + src -= step_bytes, dst -= step_bytes; + + DBG(MISC, ul_debug("#%05zu: src=%ju dst=%ju", cc, src, dst)); + if (!sf->noact) { /* read source */ if (lseek(fd, src, SEEK_SET) == (off_t) -1 || @@ -609,6 +610,12 @@ static int move_partition_data(struct sfdisk *sf, size_t partno, struct fdisk_pa fputc(' ', stdout); fflush(stdout); fputc('\r', stdout); + + if (i > nsectors) + /* see for() above; @i has to be greater than @nsectors + * on success due to i += step */ + i = nsectors; + fprintf(stdout, _("Moved %ju from %ju sectors (%.0f%%)."), i, nsectors, 100.0 / ((double) nsectors/(i+1))); @@ -619,7 +626,6 @@ static int move_partition_data(struct sfdisk *sf, size_t partno, struct fdisk_pa if (f) fclose(f); free(buf); - free(devname); free(typescript); if (sf->noact) @@ -630,6 +636,8 @@ static int move_partition_data(struct sfdisk *sf, size_t partno, struct fdisk_pa } else if (rc) warn(_("%s: failed to move data"), devname); + free(devname); + return rc; } @@ -1890,10 +1898,11 @@ static int command_fdisk(struct sfdisk *sf, int argc, char **argv) if (!created) { /* create a new disklabel */ rc = fdisk_apply_script_headers(sf->cxt, dp); created = !rc; - if (rc) - fdisk_warnx(sf->cxt, _( - "Failed to apply script headers, " - "disk label not created.")); + if (rc) { + errno = -rc; + fdisk_warn(sf->cxt, _( + "Failed to apply script headers, disk label not created")); + } if (rc == 0 && fdisk_get_collision(sf->cxt)) follow_wipe_mode(sf); @@ -2161,7 +2170,8 @@ int main(int argc, char *argv[]) { NULL, 0, NULL, 0 }, }; static const ul_excl_t excl[] = { /* rows and cols in ASCII order */ - { 'F','J','d'}, /* --list-free --json --dump */ + { 'F','d'}, /* --list-free --dump */ + { 'F','J'}, /* --list-free --json */ { 's','u'}, /* --show-size --unit */ { 0 } }; diff --git a/include/c.h b/include/c.h index 64cf5c3fb14..ae08131099a 100644 --- a/include/c.h +++ b/include/c.h @@ -377,15 +377,6 @@ static inline int xusleep(useconds_t usec) exit(eval); \ }) -/* - * scanf modifiers for "strings allocation" - */ -#ifdef HAVE_SCANF_MS_MODIFIER -#define UL_SCNsA "%ms" -#elif defined(HAVE_SCANF_AS_MODIFIER) -#define UL_SCNsA "%as" -#endif - /* * seek stuff */ diff --git a/include/procutils.h b/include/procutils.h index 9f8dd76ec1d..c9f5bb5528c 100644 --- a/include/procutils.h +++ b/include/procutils.h @@ -2,6 +2,7 @@ #define UTIL_LINUX_PROCUTILS #include +#include struct proc_tasks { DIR *dir; @@ -31,4 +32,6 @@ extern int proc_next_pid(struct proc_processes *ps, pid_t *pid); extern char *proc_get_command(pid_t pid); extern char *proc_get_command_name(pid_t pid); +extern int proc_is_procfs(int fd); + #endif /* UTIL_LINUX_PROCUTILS */ diff --git a/include/pt-gpt-partnames.h b/include/pt-gpt-partnames.h index 49374909108..6c54a71e3dc 100644 --- a/include/pt-gpt-partnames.h +++ b/include/pt-gpt-partnames.h @@ -50,8 +50,8 @@ DEF_GUID("0657FD6D-A4AB-43C4-84E5-0933C84B4F4F", N_("Linux swap")), DEF_GUID("0FC63DAF-8483-4772-8E79-3D69D8477DE4", N_("Linux filesystem")), DEF_GUID("3B8F8425-20E0-4F3B-907F-1A25A76F98E8", N_("Linux server data")), DEF_GUID("44479540-F297-41B2-9AF7-D131D5F0458A", N_("Linux root (x86)")), -DEF_GUID("69DAD710-2CE4-4E3C-B16C-21A1D49ABED3", N_("Linux root (ARM)")), DEF_GUID("4F68BCE3-E8CD-4DB1-96E7-FBCAF984B709", N_("Linux root (x86-64)")), +DEF_GUID("69DAD710-2CE4-4E3C-B16C-21A1D49ABED3", N_("Linux root (ARM)")), DEF_GUID("B921B045-1DF0-41C3-AF44-4C6F280D3FAE", N_("Linux root (ARM-64)")), DEF_GUID("993D8D3D-F80E-4225-855A-9DAF8ED7EA97", N_("Linux root (IA-64)")), DEF_GUID("8DA63339-0007-60C0-C436-083AC8230908", N_("Linux reserved")), @@ -60,18 +60,31 @@ DEF_GUID("A19D880F-05FC-4D3B-A006-743F0F84911E", N_("Linux RAID")), DEF_GUID("E6D6D379-F507-44C2-A23C-238F2A3DF928", N_("Linux LVM")), DEF_GUID("4D21B016-B534-45C2-A9FB-5C16E091FD2D", N_("Linux variable data")), DEF_GUID("7EC6F557-3BC5-4ACA-B293-16EF5DF639D1", N_("Linux temporary data")), +DEF_GUID("75250D76-8CC6-458E-BD66-BD47CC81A812", N_("Linux /usr (x86)")), +DEF_GUID("8484680C-9521-48C6-9C11-B0720656F69E", N_("Linux /usr (x86-64)")), +DEF_GUID("7D0359A3-02B3-4F0A-865C-654403E70625", N_("Linux /usr (ARM)")), +DEF_GUID("B0E01050-EE5F-4390-949A-9101B17104E9", N_("Linux /usr (ARM-64)")), +DEF_GUID("4301D2A6-4E3B-4B2A-BB94-9E0B2C4225EA", N_("Linux /usr (IA-64)")), DEF_GUID("D13C5D3B-B5D1-422A-B29F-9454FDC89D76", N_("Linux root verity (x86)")), -DEF_GUID("7386CDF2-203C-47A9-A498-F2ECCE45A2D6", N_("Linux root verity (ARM)")), DEF_GUID("2C7357ED-EBD2-46D9-AEC1-23D437EC2BF5", N_("Linux root verity (x86-64)")), +DEF_GUID("7386CDF2-203C-47A9-A498-F2ECCE45A2D6", N_("Linux root verity (ARM)")), DEF_GUID("DF3300CE-D69F-4C92-978C-9BFB0F38D820", N_("Linux root verity (ARM-64)")), DEF_GUID("86ED10D5-B607-45BB-8957-D350F23D0571", N_("Linux root verity (IA-64)")), +DEF_GUID("8F461B0D-14EE-4E81-9AA9-049B6FB97ABD", N_("Linux /usr verity (x86)")), +DEF_GUID("77FF5F63-E7B6-4633-ACF4-1565B864C0E6", N_("Linux /usr verity (x86-64)")), +DEF_GUID("C215D751-7BCD-4649-BE90-6627490A4C05", N_("Linux /usr verity (ARM)")), +DEF_GUID("6E11A4E7-FBCA-4DED-B9E9-E1A512BB664E", N_("Linux /usr verity (ARM-64)")), +DEF_GUID("6A491E03-3BE7-4545-8E38-83320E0EA880", N_("Linux /usr verity (IA-64)")), /* ... too crazy, ignore for now: DEF_GUID("7FFEC5C9-2D00-49B7-8941-3EA10A5586B7", N_("Linux plain dm-crypt")), DEF_GUID("CA7D7CCB-63ED-4C53-861C-1742536059CC", N_("Linux LUKS")), */ -/* Linux https://www.freedesktop.org/wiki/Specifications/BootLoaderSpec/ */ +/* Linux https://systemd.io/BOOT_LOADER_SPECIFICATION/ */ DEF_GUID("BC13C2FF-59E6-4262-A352-B275FD6F7172", N_("Linux extended boot")), +/* Linux https://systemd.io/HOME_DIRECTORY/ */ +DEF_GUID("773f91ef-66d4-49b5-bd83-d683bf40ad16", N_("Linux user's home")), + /* FreeBSD */ DEF_GUID("516E7CB4-6ECF-11D6-8FF8-00022D09712B", N_("FreeBSD data")), DEF_GUID("83BD6B9D-7F41-11DC-BE0B-001560B84F0F", N_("FreeBSD boot")), diff --git a/include/randutils.h b/include/randutils.h index 86e35f3f4b0..5b863d04ca6 100644 --- a/include/randutils.h +++ b/include/randutils.h @@ -11,7 +11,7 @@ extern int rand_get_number(int low_n, int high_n); /* /dev/urandom based with fallback to rand() */ extern int random_get_fd(void); -extern void random_get_bytes(void *buf, size_t nbytes); +extern void ul_random_get_bytes(void *buf, size_t nbytes); extern const char *random_tell_source(void); #endif diff --git a/include/ttyutils.h b/include/ttyutils.h index f164a580fb4..5f58460d6d8 100644 --- a/include/ttyutils.h +++ b/include/ttyutils.h @@ -73,7 +73,7 @@ struct chardata { #define INIT_CHARDATA(ptr) do { \ (ptr)->erase = DEF_ERASE; \ (ptr)->kill = DEF_KILL; \ - (ptr)->eol = CTRL('r'); \ + (ptr)->eol = CR; \ (ptr)->parity = 0; \ (ptr)->capslock = 0; \ } while (0) diff --git a/lib/Makemodule.am b/lib/Makemodule.am index cab44480d1b..d92ef039e58 100644 --- a/lib/Makemodule.am +++ b/lib/Makemodule.am @@ -1,4 +1,14 @@ - +# +# Use only LGPL or Public domain (preferred) code in libcommon, otherwise add +# your lib/file.c directly to the _SOURCES= of the target binary. +# +# THIS LIBRARY IS NOT DISTRIBUTED! +# +# It's just ar(1) archive used by build-system to keep things simple. +# +# Note that you need "make install-strip" (or proper rpm / Debian build) +# to generate binaries with only relevant stuff. +# noinst_LTLIBRARIES += libcommon.la libcommon_la_CFLAGS = $(AM_CFLAGS) libcommon_la_SOURCES = \ @@ -10,7 +20,6 @@ libcommon_la_SOURCES = \ lib/idcache.c \ lib/encode.c \ lib/fileutils.c \ - lib/ismounted.c \ lib/color-names.c \ lib/mangle.c \ lib/match.c \ @@ -18,28 +27,23 @@ libcommon_la_SOURCES = \ lib/mbsedit.c\ lib/md5.c \ lib/pager.c \ + lib/procutils.c \ lib/pwdutils.c \ lib/randutils.c \ lib/setproctitle.c \ lib/strutils.c \ lib/timeutils.c \ lib/ttyutils.c \ - lib/exec_shell.c \ lib/strv.c \ lib/sha1.c \ lib/signames.c if LINUX libcommon_la_SOURCES += \ - lib/caputils.c \ lib/linux_version.c \ lib/loopdev.c endif -if USE_PLYMOUTH_SUPPORT -libcommon_la_SOURCES += lib/plymouth-ctrl.c -endif - if !HAVE_LANGINFO_H libcommon_la_SOURCES += lib/langinfo.c endif @@ -51,7 +55,6 @@ endif if HAVE_OPENAT if HAVE_DIRFD libcommon_la_SOURCES += lib/path.c -libcommon_la_SOURCES += lib/procutils.c libcommon_la_SOURCES += lib/sysfs.c endif endif diff --git a/lib/caputils.c b/lib/caputils.c index 17e9c01bb01..669330c50bd 100644 --- a/lib/caputils.c +++ b/lib/caputils.c @@ -14,32 +14,59 @@ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ +#include #include +#include #include "caputils.h" +#include "procutils.h" #include "pathnames.h" +static int test_cap(unsigned int cap) +{ + /* prctl returns 0 or 1 for valid caps, -1 otherwise */ + return prctl(PR_CAPBSET_READ, cap, 0, 0, 0) >= 0; +} + int cap_last_cap(void) { - /* CAP_LAST_CAP is untrustworthy. */ - static int ret = -1; - int matched; + static int cap = -1; FILE *f; - if (ret != -1) - return ret; + if (cap != -1) + return cap; + /* try to read value from kernel, check that the path is + * indeed in a procfs mount */ f = fopen(_PATH_PROC_CAPLASTCAP, "r"); - if (!f) { - ret = CAP_LAST_CAP; /* guess */ - return ret; + if (f) { + int matched = 0; + + if (proc_is_procfs(fileno(f))) { + matched = fscanf(f, "%d", &cap); + } + fclose(f); + + /* we check if the cap after this one really isn't valid */ + if (matched == 1 && cap < INT_MAX && !test_cap(cap + 1)) + return cap; } - matched = fscanf(f, "%d", &ret); - fclose(f); + /* if it wasn't possible to read the file in /proc, + * fall back to binary search over capabilities */ - if (matched != 1) - ret = CAP_LAST_CAP; /* guess */ + /* starting with cap=INT_MAX means we always know + * that cap1 is invalid after the first iteration */ + unsigned int cap0 = 0, cap1 = INT_MAX; + cap = INT_MAX; + while ((int)cap0 < cap) { + if (test_cap(cap)) { + cap0 = cap; + } else { + cap1 = cap; + } + cap = (cap0 + cap1) / 2U; + } - return ret; + return cap; } diff --git a/lib/env.c b/lib/env.c index 301b332b473..91c935cf6ef 100644 --- a/lib/env.c +++ b/lib/env.c @@ -1,10 +1,9 @@ /* - * Security checks of environment - * Added from shadow-utils package - * by Arkadiusz Miśkiewicz + * environ[] array cleanup code and getenv() wappers * + * No copyright is claimed. This code is in the public domain; do with + * it what you wish. */ - #include #include #include diff --git a/lib/exec_shell.c b/lib/exec_shell.c index 18798ebe4e2..6fef6c7a326 100644 --- a/lib/exec_shell.c +++ b/lib/exec_shell.c @@ -46,6 +46,6 @@ void __attribute__((__noreturn__)) exec_shell(void) arg0[0] = '-'; strcpy(arg0 + 1, shell_basename); - execl(shell, arg0, NULL); + execl(shell, arg0, (char *)NULL); errexec(shell); } diff --git a/lib/fileutils.c b/lib/fileutils.c index 3ca43c1fb53..003f890f932 100644 --- a/lib/fileutils.c +++ b/lib/fileutils.c @@ -1,7 +1,9 @@ /* + * This code is in the public domain; do with it what you wish. + * * Copyright (C) 2012 Sami Kerola + * Copyright (C) 2012-2020 Karel Zak */ - #include #include #include diff --git a/lib/linux_version.c b/lib/linux_version.c index 137bbe77e25..119869e5ec9 100644 --- a/lib/linux_version.c +++ b/lib/linux_version.c @@ -1,3 +1,7 @@ +/* + * No copyright is claimed. This code is in the public domain; do with + * it what you wish. + */ #include #include diff --git a/lib/loopdev.c b/lib/loopdev.c index 1581f9cc252..7f299ebf357 100644 --- a/lib/loopdev.c +++ b/lib/loopdev.c @@ -41,6 +41,7 @@ #include "canonicalize.h" #include "blkdev.h" #include "debug.h" +#include "fileutils.h" /* * Debug stuff (based on include/debug.h) @@ -634,14 +635,30 @@ int loopcxt_next(struct loopdev_cxt *lc) int is_loopdev(const char *device) { struct stat st; + int rc = 0; - if (device && stat(device, &st) == 0 && - S_ISBLK(st.st_mode) && - major(st.st_rdev) == LOOPDEV_MAJOR) - return 1; + if (!device || stat(device, &st) != 0 || !S_ISBLK(st.st_mode)) + rc = 0; + else if (major(st.st_rdev) == LOOPDEV_MAJOR) + rc = 1; + else { + /* It's possible that kernel creates a device with a different + * major number ... check by /sys it's really loop device. + */ + char name[PATH_MAX], *cn, *p = NULL; + + snprintf(name, sizeof(name), _PATH_SYS_DEVBLOCK "/%d:%d", + major(st.st_rdev), minor(st.st_rdev)); + cn = canonicalize_path(name); + if (cn) + p = stripoff_last_component(cn); + rc = p && startswith(p, "loop"); + free(cn); + } - errno = ENODEV; - return 0; + if (rc == 0) + errno = ENODEV; + return rc; } /* diff --git a/lib/pager.c b/lib/pager.c index b3cf6ee79bf..747521e137d 100644 --- a/lib/pager.c +++ b/lib/pager.c @@ -88,14 +88,14 @@ static int start_command(struct child_process *cmd) if (cmd->pid < 0) { if (need_in) close_pair(fdin); - else if (cmd->in) + else if (0 <= cmd->in) close(cmd->in); return -1; } if (need_in) close(fdin[0]); - else if (cmd->in) + else if (0 <= cmd->in) close(cmd->in); return 0; } diff --git a/lib/procutils.c b/lib/procutils.c index 8fb5d5c00d7..bf689ab6394 100644 --- a/lib/procutils.c +++ b/lib/procutils.c @@ -1,17 +1,11 @@ /* * Copyright (C) 2011 Davidlohr Bueso + * Copyright (C) 2011-2020 Karel Zak * * procutils.c: General purpose procfs parsing utilities * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU Library Public License as published by - * the Free Software Foundation; either version 2, or (at your option) - * any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Library Public License for more details. + * No copyright is claimed. This code is in the public domain; do with + * it what you wish. */ #include @@ -19,11 +13,13 @@ #include #include #include +#include #include #include #include #include "procutils.h" +#include "statfs_magic.h" #include "fileutils.h" #include "all-io.h" #include "c.h" @@ -241,6 +237,27 @@ int proc_next_pid(struct proc_processes *ps, pid_t *pid) return 0; } +/* checks if fd is file in a procfs; + * returns 1 if true, 0 if false or couldn't determine */ +int proc_is_procfs(int fd) +{ + struct statfs st; + int ret; + + do { + errno = 0; + ret = fstatfs(fd, &st); + + if (ret < 0) { + if (errno != EINTR && errno != EAGAIN) + return 0; + xusleep(250000); + } + } while (ret != 0); + + return st.f_type == STATFS_PROC_MAGIC; +} + #ifdef TEST_PROGRAM_PROCUTILS static int test_tasks(int argc, char *argv[]) @@ -289,10 +306,28 @@ static int test_processes(int argc, char *argv[]) return EXIT_SUCCESS; } +static int test_isprocfs(int argc, char *argv[]) +{ + const char *name = argc > 1 ? argv[1] : "/proc"; + int fd = open(name, O_RDONLY); + int is = 0; + + if (fd >= 0) { + is = proc_is_procfs(fd); + close(fd); + } else + err(EXIT_FAILURE, "cannot open %s", name); + + printf("%s: %s procfs\n", name, is ? "is" : "is NOT"); + return is ? EXIT_SUCCESS : EXIT_FAILURE; +} + + int main(int argc, char *argv[]) { if (argc < 2) { fprintf(stderr, "usage: %1$s --tasks \n" + " %1$s --is-procfs []\n" " %1$s --processes [---name ] [--uid ]\n", program_invocation_short_name); return EXIT_FAILURE; @@ -302,6 +337,8 @@ int main(int argc, char *argv[]) return test_tasks(argc - 1, argv + 1); if (strcmp(argv[1], "--processes") == 0) return test_processes(argc - 1, argv + 1); + if (strcmp(argv[1], "--is-procfs") == 0) + return test_isprocfs(argc - 1, argv + 1); return EXIT_FAILURE; } diff --git a/lib/pty-session.c b/lib/pty-session.c index 68cd9e6c0a7..2d9741c43e2 100644 --- a/lib/pty-session.c +++ b/lib/pty-session.c @@ -688,9 +688,9 @@ int main(int argc, char *argv[]) shname = shname ? shname + 1 : shell; if (command) - execl(shell, shname, "-c", command, NULL); + execl(shell, shname, "-c", command, (char *)NULL); else - execl(shell, shname, "-i", NULL); + execl(shell, shname, "-i", (char *)NULL); err(EXIT_FAILURE, "failed to execute %s", shell); break; diff --git a/lib/pwdutils.c b/lib/pwdutils.c index d5f4d2e232d..d97020cb9cd 100644 --- a/lib/pwdutils.c +++ b/lib/pwdutils.c @@ -1,3 +1,7 @@ +/* + * No copyright is claimed. This code is in the public domain; do with + * it what you wish. + */ #include #include "c.h" diff --git a/lib/randutils.c b/lib/randutils.c index bd2a8f6bf3b..bf819333891 100644 --- a/lib/randutils.c +++ b/lib/randutils.c @@ -13,9 +13,9 @@ #include #include #include - +#ifdef __linux__ #include - +#endif #include "c.h" #include "randutils.h" #include "nls.h" @@ -102,7 +102,7 @@ int random_get_fd(void) #define UL_RAND_READ_ATTEMPTS 8 #define UL_RAND_READ_DELAY 125000 /* microseconds */ -void random_get_bytes(void *buf, size_t nbytes) +void ul_random_get_bytes(void *buf, size_t nbytes) { unsigned char *cp = (unsigned char *)buf; size_t i, n = nbytes; @@ -216,7 +216,7 @@ int main(int argc, char *argv[]) printf("Multiple random calls:\n"); for (i = 0; i < n; i++) { - random_get_bytes(&v, sizeof(v)); + ul_random_get_bytes(&v, sizeof(v)); printf("#%02zu: %25"PRIu64"\n", i, v); } @@ -227,7 +227,7 @@ int main(int argc, char *argv[]) if (!buf) err(EXIT_FAILURE, "failed to allocate buffer"); - random_get_bytes(buf, bufsz); + ul_random_get_bytes(buf, bufsz); for (i = 0; i < n; i++) { vp = (int64_t *) (buf + (i * sizeof(*vp))); printf("#%02zu: %25"PRIu64"\n", i, *vp); diff --git a/lib/signames.c b/lib/signames.c index 316eec52700..064776a4488 100644 --- a/lib/signames.c +++ b/lib/signames.c @@ -1,42 +1,11 @@ /* - * Copyright (c) 1988, 1993, 1994, 2017 - * The Regents of the University of California. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by the University of - * California, Berkeley and its contributors. - * 4. Neither the name of the University nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - */ -/* - * 2017-10-14 Niklas Hambüchen - * - Extracted signal names mapping from kill.c - * - * Copyright (C) 2014 Sami Kerola - * Copyright (C) 2014 Karel Zak - * Copyright (C) 2017 Niklas Hambüchen + * No copyright is claimed. This code is in the public domain; do with + * it what you wish. + + * Written by: + * Sami Kerola + * Karel Zak + * Niklas Hambüchen */ #include /* for isdigit() */ diff --git a/lib/swapprober.c b/lib/swapprober.c index aaf9ad0fa2a..594496f2529 100644 --- a/lib/swapprober.c +++ b/lib/swapprober.c @@ -1,4 +1,9 @@ - +/* + * No copyright is claimed. This code is in the public domain; do with + * it what you wish. + * + * Written by Karel Zak + */ #include "c.h" #include "nls.h" diff --git a/lib/sysfs.c b/lib/sysfs.c index 5b4de2cad9c..221b4908388 100644 --- a/lib/sysfs.c +++ b/lib/sysfs.c @@ -907,10 +907,8 @@ dev_t __sysfs_devname_to_devno(const char *prefix, const char *name, const char */ char *_parent = strdup(parent); - if (!_parent) { - free(_parent); + if (!_parent) goto done; - } sysfs_devname_dev_to_sys(_parent); len = snprintf(buf, sizeof(buf), "%s" _PATH_SYS_BLOCK "/%s/%s/dev", diff --git a/lib/timer.c b/lib/timer.c index c1ea54eb828..cfa18f6fde6 100644 --- a/lib/timer.c +++ b/lib/timer.c @@ -1,4 +1,7 @@ /* + * No copyright is claimed. This code is in the public domain; do with + * it what you wish. + * * Please, don't add this file to libcommon because timers requires * -lrt on systems with old libc (and probably also -lpthread for static * build). diff --git a/libblkid/src/config.c b/libblkid/src/config.c index 52f159d8706..f229b3e6324 100644 --- a/libblkid/src/config.c +++ b/libblkid/src/config.c @@ -95,8 +95,11 @@ static int parse_next(FILE *fd, struct blkid_config *conf) conf->uevent = FALSE; } else if (!strncmp(s, "CACHE_FILE=", 11)) { s += 11; + free(conf->cachefile); if (*s) conf->cachefile = strdup(s); + else + conf->cachefile = NULL; } else if (!strncmp(s, "EVALUATE=", 9)) { s += 9; if (*s && parse_evaluate(conf, s) == -1) diff --git a/libblkid/src/partitions/atari.c b/libblkid/src/partitions/atari.c index f8b6fb5b536..314f04763fa 100644 --- a/libblkid/src/partitions/atari.c +++ b/libblkid/src/partitions/atari.c @@ -74,16 +74,27 @@ static int linux_isalnum(unsigned char c) { #define IS_ACTIVE(partdef) ((partdef).flags & 1) -#define IS_PARTDEF_VALID(partdef, hdsize) \ - ( \ - (partdef).flags & 1 && \ - isalnum((partdef).id[0]) && \ - isalnum((partdef).id[1]) && \ - isalnum((partdef).id[2]) && \ - be32_to_cpu((partdef).start) <= (hdsize) && \ - be32_to_cpu((partdef).start) + \ - be32_to_cpu((partdef).size) <= (hdsize) \ - ) +static int is_valid_dimension(uint32_t start, uint32_t size, uint32_t maxoff) +{ + uint64_t end = start + size; + + return end >= start + && 0 < start && start <= maxoff + && 0 < size && size <= maxoff + && 0 < end && end <= maxoff; +} + +static int is_valid_partition(struct atari_part_def *part, uint32_t maxoff) +{ + uint32_t start = be32_to_cpu(part->start), + size = be32_to_cpu(part->size); + + return (part->flags & 1) + && isalnum(part->id[0]) + && isalnum(part->id[1]) + && isalnum(part->id[2]) + && is_valid_dimension(start, size, maxoff); +} static int is_id_common(char *id) { @@ -130,12 +141,16 @@ static int parse_extended(blkid_probe pr, blkid_partlist ls, blkid_parttable tab, struct atari_part_def *part) { uint32_t x0start, xstart; - unsigned i = 0; + unsigned ct = 0, i = 0; int rc; x0start = xstart = be32_to_cpu(part->start); while (1) { struct atari_rootsector *xrs; + + if (++ct > 100) + break; + xrs = (struct atari_rootsector *) blkid_probe_get_sector(pr, xstart); if (!xrs) { if (errno) @@ -184,12 +199,20 @@ static int probe_atari_pt(blkid_probe pr, unsigned i; int has_xgm = 0; int rc = 0; - off_t hdsize; + uint32_t rssize; /* size in sectors from root sector */ + uint64_t size; /* size in sectors from system */ /* Atari partition is not defined for other sector sizes */ if (blkid_probe_get_sectorsize(pr) != 512) goto nothing; + size = blkid_probe_get_size(pr) / 512; + + /* Atari is not well defined to support large disks */ + if (size > INT32_MAX) + goto nothing; + + /* read root sector */ rs = (struct atari_rootsector *) blkid_probe_get_sector(pr, 0); if (!rs) { if (errno) @@ -197,14 +220,24 @@ static int probe_atari_pt(blkid_probe pr, goto nothing; } - hdsize = blkid_probe_get_size(pr) / 512; + rssize = be32_to_cpu(rs->hd_size); - /* Look for validly looking primary partition */ - for (i = 0; ; i++) { - if (i >= ARRAY_SIZE(rs->part)) - goto nothing; + /* check number of sectors stored in the root sector */ + if (rssize < 2 || rssize > size) + goto nothing; + + /* check list of bad blocks */ + if ((rs->bsl_start || rs->bsl_len) + && !is_valid_dimension(be32_to_cpu(rs->bsl_start), + be32_to_cpu(rs->bsl_len), + rssize)) + goto nothing; - if (IS_PARTDEF_VALID(rs->part[i], hdsize)) { + /* + * At least one valid partition required + */ + for (i = 0; i < 4; i++) { + if (is_valid_partition(&rs->part[i], rssize)) { if (blkid_probe_set_magic(pr, offsetof(struct atari_rootsector, part[i]), sizeof(rs->part[i].flags) + sizeof(rs->part[i].id), @@ -214,6 +247,9 @@ static int probe_atari_pt(blkid_probe pr, } } + if (i == 4) + goto nothing; + if (blkid_partitions_need_typeonly(pr)) /* caller does not ask for details about partitions */ return BLKID_PROBE_OK; @@ -233,7 +269,6 @@ static int probe_atari_pt(blkid_probe pr, blkid_partlist_increment_partno(ls); continue; } - if (!memcmp(p->id, "XGM", 3)) { has_xgm = 1; rc = parse_extended(pr, ls, tab, p); diff --git a/libblkid/src/partitions/mac.c b/libblkid/src/partitions/mac.c index 4713d60427b..092d31d322f 100644 --- a/libblkid/src/partitions/mac.c +++ b/libblkid/src/partitions/mac.c @@ -79,7 +79,7 @@ static int probe_mac_pt(blkid_probe pr, blkid_partlist ls; uint16_t block_size; uint16_t ssf; /* sector size fragment */ - uint32_t nblks, i; + uint32_t nblks, nprts, i; /* The driver descriptor record is always located at physical block 0, @@ -122,13 +122,20 @@ static int probe_mac_pt(blkid_probe pr, ssf = block_size / 512; nblks = be32_to_cpu(p->map_count); - - for (i = 1; i <= nblks; ++i) { + if (nblks > 256) { + nprts = 256; + DBG(LOWPROBE, ul_debug( + "mac: map_count too large, entry[0]: %u, " + "enforcing limit of %u", nblks, nprts)); + } else + nprts = nblks; + + for (i = 0; i < nprts; ++i) { blkid_partition par; uint32_t start; uint32_t size; - p = (struct mac_partition *) get_mac_block(pr, block_size, i); + p = (struct mac_partition *) get_mac_block(pr, block_size, i + 1); if (!p) { if (errno) return -errno; @@ -140,8 +147,8 @@ static int probe_mac_pt(blkid_probe pr, if (be32_to_cpu(p->map_count) != nblks) { DBG(LOWPROBE, ul_debug( "mac: inconsistent map_count in partition map, " - "entry[0]: %d, entry[%d]: %d", - nblks, i - 1, + "entry[0]: %u, entry[%u]: %u", + nblks, i, be32_to_cpu(p->map_count))); } diff --git a/libblkid/src/superblocks/drbdmanage.c b/libblkid/src/superblocks/drbdmanage.c index b45f89bc8d9..d56c414c928 100644 --- a/libblkid/src/superblocks/drbdmanage.c +++ b/libblkid/src/superblocks/drbdmanage.c @@ -56,7 +56,7 @@ static int probe_drbdmanage(blkid_probe pr, if (hdr->lf != '\n') return 1; - if (blkid_probe_set_id_label(pr, "UUID", + if (blkid_probe_strncpy_uuid(pr, hdr->uuid, sizeof(hdr->uuid))) return errno ? -errno : 1; diff --git a/libblkid/src/superblocks/gfs.c b/libblkid/src/superblocks/gfs.c index e22a6a3f953..37a74b157f9 100644 --- a/libblkid/src/superblocks/gfs.c +++ b/libblkid/src/superblocks/gfs.c @@ -18,9 +18,6 @@ /* gfs1 constants: */ #define GFS_FORMAT_FS 1309 #define GFS_FORMAT_MULTI 1401 -/* gfs2 constants: */ -#define GFS2_FORMAT_FS 1801 -#define GFS2_FORMAT_MULTI 1900 struct gfs2_meta_header { uint32_t mh_magic; @@ -58,6 +55,8 @@ struct gfs2_sb { uint8_t sb_uuid[16]; /* The UUID maybe 0 for backwards compat */ } __attribute__((packed)); + + static int probe_gfs(blkid_probe pr, const struct blkid_idmag *mag) { struct gfs2_sb *sbd; @@ -81,6 +80,15 @@ static int probe_gfs(blkid_probe pr, const struct blkid_idmag *mag) return 1; } +static inline int gfs2_format_is_valid(uint32_t format) +{ + return (format >= 1800 && format < 1900); +} +static inline int gfs2_multiformat_is_valid(uint32_t multi) +{ + return (multi >= 1900 && multi < 2000); +} + static int probe_gfs2(blkid_probe pr, const struct blkid_idmag *mag) { struct gfs2_sb *sbd; @@ -89,8 +97,8 @@ static int probe_gfs2(blkid_probe pr, const struct blkid_idmag *mag) if (!sbd) return errno ? -errno : 1; - if (be32_to_cpu(sbd->sb_fs_format) == GFS2_FORMAT_FS && - be32_to_cpu(sbd->sb_multihost_format) == GFS2_FORMAT_MULTI) + if (gfs2_format_is_valid(be32_to_cpu(sbd->sb_fs_format)) && + gfs2_multiformat_is_valid(be32_to_cpu(sbd->sb_multihost_format))) { if (*sbd->sb_locktable) blkid_probe_set_label(pr, diff --git a/libfdisk/src/alignment.c b/libfdisk/src/alignment.c index 3d025463411..3ae7219132e 100644 --- a/libfdisk/src/alignment.c +++ b/libfdisk/src/alignment.c @@ -541,12 +541,16 @@ int fdisk_discover_topology(struct fdisk_context *cxt) /* optimal I/O is optional, default to minimum IO */ cxt->io_size = cxt->min_io_size; - /* ignore optimal I/O if not aligned to phy.sector size */ - if (cxt->io_size - && cxt->phy_sector_size - && (cxt->io_size % cxt->phy_sector_size) != 0) { - DBG(CXT, ul_debugobj(cxt, "ignore misaligned I/O size")); - cxt->io_size = cxt->phy_sector_size; + if (cxt->io_size && cxt->phy_sector_size) { + if (cxt->io_size == 33553920) { + /* 33553920 (32 MiB - 512) is always a controller error */ + DBG(CXT, ul_debugobj(cxt, "ignore bad I/O size 33553920")); + cxt->io_size = cxt->phy_sector_size; + } else if ((cxt->io_size % cxt->phy_sector_size) != 0) { + /* ignore optimal I/O if not aligned to phy.sector size */ + DBG(CXT, ul_debugobj(cxt, "ignore misaligned I/O size")); + cxt->io_size = cxt->phy_sector_size; + } } } diff --git a/libfdisk/src/context.c b/libfdisk/src/context.c index 363db30f45d..206627849c3 100644 --- a/libfdisk/src/context.c +++ b/libfdisk/src/context.c @@ -636,6 +636,7 @@ static int fdisk_assign_fd(struct fdisk_context *cxt, int fd, fail: { int rc = -errno; + cxt->dev_fd = -1; DBG(CXT, ul_debugobj(cxt, "failed to assign device [rc=%d]", rc)); return rc; } @@ -939,10 +940,21 @@ int fdisk_reread_changes(struct fdisk_context *cxt, struct fdisk_table *org) } } for (i = 0; i < nadds; i++) { + uint64_t sz; + pa = add[i]; + sz = pa->size * ssf; + DBG(PART, ul_debugobj(pa, "#%zu calling BLKPG_ADD_PARTITION", pa->partno)); + + if (fdisk_is_label(cxt, DOS) && fdisk_partition_is_container(pa)) + /* Let's follow the Linux kernel and reduce + * DOS extended partition to 1 or 2 sectors. + */ + sz = min(sz, (uint64_t) 2); + if (partx_add_partition(cxt->dev_fd, pa->partno + 1, - pa->start * ssf, pa->size * ssf) != 0) { + pa->start * ssf, sz) != 0) { fdisk_warn(cxt, _("Failed to add partition %zu to system"), pa->partno + 1); err++; } diff --git a/libfdisk/src/dos.c b/libfdisk/src/dos.c index 17696988354..463886e172f 100644 --- a/libfdisk/src/dos.c +++ b/libfdisk/src/dos.c @@ -693,7 +693,7 @@ static int dos_create_disklabel(struct fdisk_context *cxt) /* random disk signature */ if (!has_id) { DBG(LABEL, ul_debug("DOS: generate new ID")); - random_get_bytes(&id, sizeof(id)); + ul_random_get_bytes(&id, sizeof(id)); } if (fdisk_has_protected_bootbits(cxt)) @@ -1274,14 +1274,14 @@ static int add_partition(struct fdisk_context *cxt, size_t n, fdisk_sector_t last; rc = find_last_free(cxt, is_logical, start, limit, &last); - if (rc == 0 && last - start + 1 < fdisk_partition_get_size(pa)) { DBG(LABEL, ul_debug("DOS: area <%ju,%ju> too small [wanted=%ju aval=%ju]", (uintmax_t) start, (uintmax_t) last, fdisk_partition_get_size(pa), last - start)); - if (fdisk_partition_has_start(pa)) + if (fdisk_partition_has_start(pa) + && fdisk_partition_get_start(pa) <= last) rc = -ENOSPC; else { start = last + 1; @@ -1729,7 +1729,7 @@ static int dos_add_partition(struct fdisk_context *cxt, { size_t i; uint8_t free_primary = 0, free_sectors = 0; - fdisk_sector_t last = 0, grain; + fdisk_sector_t first = 0, grain; int rc = 0; struct fdisk_dos_label *l; struct pte *ext_pe; @@ -1827,32 +1827,41 @@ static int dos_add_partition(struct fdisk_context *cxt, /* check if there is space for primary partition */ grain = cxt->grain > cxt->sector_size ? cxt->grain / cxt->sector_size : 1; - last = cxt->first_lba; + first = cxt->first_lba; if (cxt->parent && fdisk_is_label(cxt->parent, GPT)) { /* modifying a hybrid MBR, which throws out the rules */ grain = 1; - last = 1; + first = 1; } + /* set @first after the last used partition, set @free_sectors if there + * is gap in front if the first partition or between used parrtitions. */ for (i = 0; i < 4; i++) { struct dos_partition *p = self_partition(cxt, i); assert(p); if (is_used_partition(p)) { fdisk_sector_t start = dos_partition_get_start(p); - if (last + grain <= start) + if (first + grain <= start) free_sectors = 1; - last = start + dos_partition_get_size(p); + first = start + dos_partition_get_size(p); } else free_primary++; } - if (last + grain < cxt->total_sectors - 1) + + /* set @free_sectors if there is a space after the first usable sector */ + if (first + grain - 1 <= cxt->total_sectors - 1) free_sectors = 1; + DBG(LABEL, ul_debug("DOS: primary: first free: %ju, last on disk: %ju, " + "free_sectors=%d, free_primary=%d", + (uintmax_t) first, + (uintmax_t) cxt->total_sectors - 1, + free_sectors, free_primary)); if (!free_primary || !free_sectors) { - DBG(LABEL, ul_debug("DOS: primary impossible, add logical")); + DBG(LABEL, ul_debug("DOS: primary impossible")); if (l->ext_offset) { if (!pa || fdisk_partition_has_start(pa)) { /* See above case A); here we have start, but @@ -1869,6 +1878,7 @@ static int dos_add_partition(struct fdisk_context *cxt, } fdisk_info(cxt, msg); } + DBG(LABEL, ul_debug("DOS: tring logical")); rc = add_logical(cxt, pa, &res); } else { if (free_primary) diff --git a/libfdisk/src/gpt.c b/libfdisk/src/gpt.c index 66520c51db6..b8bdf6c2fb1 100644 --- a/libfdisk/src/gpt.c +++ b/libfdisk/src/gpt.c @@ -417,9 +417,13 @@ static inline int gpt_calculate_alternative_entries_lba( uint64_t esects = 0; int rc = gpt_calculate_sectorsof_entries(hdr, nents, &esects, cxt); - if (rc == 0) - *sz = cxt->total_sectors - 1ULL - esects; - return rc; + if (rc) + return rc; + if (cxt->total_sectors < 1ULL + esects) + return -ENOSPC; + + *sz = cxt->total_sectors - 1ULL - esects; + return 0; } static inline int gpt_calculate_last_lba( @@ -431,9 +435,13 @@ static inline int gpt_calculate_last_lba( uint64_t esects = 0; int rc = gpt_calculate_sectorsof_entries(hdr, nents, &esects, cxt); - if (rc == 0) - *sz = cxt->total_sectors - 2ULL - esects; - return rc; + if (rc) + return rc; + if (cxt->total_sectors < 2ULL + esects) + return -ENOSPC; + + *sz = cxt->total_sectors - 2ULL - esects; + return 0; } static inline int gpt_calculate_first_lba( @@ -1105,7 +1113,8 @@ static int gpt_check_lba_sanity(struct fdisk_context *cxt, struct gpt_header *he /* check if first and last usable LBAs with the disk's last LBA */ if (fu > lastlba || lu > lastlba) { - DBG(GPT, ul_debug("error: header LBAs are after the disk's last LBA")); + DBG(GPT, ul_debug("error: header LBAs are after the disk's last LBA (%ju..%ju)", + (uintmax_t) fu, (uintmax_t) lu)); goto done; } @@ -3082,7 +3091,6 @@ static int gpt_reset_alignment(struct fdisk_context *cxt) uint64_t first, last; count_first_last_lba(cxt, &first, &last); - if (cxt->first_lba < first) cxt->first_lba = first; if (cxt->last_lba > last) diff --git a/libfdisk/src/parttype.c b/libfdisk/src/parttype.c index e3eb0cffaf8..72c5e3613e9 100644 --- a/libfdisk/src/parttype.c +++ b/libfdisk/src/parttype.c @@ -438,7 +438,7 @@ struct fdisk_parttype *fdisk_label_advparse_parttype( struct fdisk_parttype *res = NULL; unsigned int code = 0; - if (!lb->nparttypes) + if (!lb || !lb->nparttypes) return NULL; DBG(LABEL, ul_debugobj(lb, "parsing '%s' (%s) type", str, lb->name)); diff --git a/libfdisk/src/script.c b/libfdisk/src/script.c index 76c8cbbcfef..6bbe8178f5b 100644 --- a/libfdisk/src/script.c +++ b/libfdisk/src/script.c @@ -600,7 +600,7 @@ static int write_file_json(struct fdisk_script *dp, FILE *f) else fputs(fi->data, f); - if (!dp->table && fi == list_last_entry(&dp->headers, struct fdisk_scriptheader, headers)) + if ((fi == list_last_entry(&dp->headers, struct fdisk_scriptheader, headers)) && (!dp->table || fdisk_table_is_empty(dp->table))) fputc('\n', f); else fputs(",\n", f); @@ -636,6 +636,7 @@ static int write_file_json(struct fdisk_script *dp, FILE *f) fputs("\"node\":", f); fputs_quoted_json(p, f); nvars++; + free(p); } if (fdisk_partition_has_start(pa)) { @@ -737,6 +738,7 @@ static int write_file_sfdisk(struct fdisk_script *dp, FILE *f) if (p) { DBG(SCRIPT, ul_debugobj(dp, "write %s entry", p)); fprintf(f, "%s :", p); + free(p); } else fprintf(f, "%zu :", pa->partno + 1); @@ -935,7 +937,7 @@ static int next_number(char **s, uint64_t *num, int *power) static int next_string(char **s, char **str) { - char *tk; + char *tk, *p = NULL; int rc = -EINVAL; assert(s); @@ -943,15 +945,17 @@ static int next_string(char **s, char **str) tk = next_token(s); if (tk) { - *str = strdup(tk); - rc = !*str ? -ENOMEM : 0; + p = strdup(tk); + rc = p ? 0 : -ENOMEM; } + + *str = p; return rc; } static int partno_from_devname(char *s) { - int pno; + intmax_t num; size_t sz; char *end, *p; @@ -967,10 +971,15 @@ static int partno_from_devname(char *s) return -1; end = NULL; errno = 0; - pno = strtol(p, &end, 10); + num = strtol(p, &end, 10); if (errno || !end || p == end) return -1; - return pno - 1; + + if (num < INT32_MIN || num > INT32_MAX) { + errno = ERANGE; + return -1; + } + return num - 1; } #define FDISK_SCRIPT_PARTTYPE_PARSE_FLAGS \ @@ -1025,11 +1034,20 @@ static int parse_line_nameval(struct fdisk_script *dp, char *s) if (!strncasecmp(p, "start=", 6)) { int pow = 0; + p += 6; + if (!*p) + continue; + rc = next_number(&p, &num, &pow); if (!rc) { - if (pow) /* specified as */ + if (pow) { /* specified as */ + if (!dp->cxt->sector_size) { + rc = -EINVAL; + break; + } num /= dp->cxt->sector_size; + } fdisk_partition_set_start(pa, num); fdisk_partition_start_follow_default(pa, 0); } @@ -1037,11 +1055,18 @@ static int parse_line_nameval(struct fdisk_script *dp, char *s) int pow = 0; p += 5; + if (!*p) + continue; + rc = next_number(&p, &num, &pow); if (!rc) { - if (pow) /* specified as */ + if (pow) { /* specified as */ + if (!dp->cxt->sector_size) { + rc = -EINVAL; + break; + } num /= dp->cxt->sector_size; - else /* specified as number of sectors */ + } else /* specified as number of sectors */ fdisk_partition_size_explicit(pa, 1); fdisk_partition_set_size(pa, num); fdisk_partition_end_follow_default(pa, 0); @@ -1057,36 +1082,38 @@ static int parse_line_nameval(struct fdisk_script *dp, char *s) } else if (!strncasecmp(p, "attrs=", 6)) { p += 6; + free(pa->attrs); rc = next_string(&p, &pa->attrs); } else if (!strncasecmp(p, "uuid=", 5)) { p += 5; + free(pa->uuid); rc = next_string(&p, &pa->uuid); } else if (!strncasecmp(p, "name=", 5)) { p += 5; + free(pa->name); rc = next_string(&p, &pa->name); if (!rc) unhexmangle_string(pa->name); } else if (!strncasecmp(p, "type=", 5) || !strncasecmp(p, "Id=", 3)) { /* backward compatibility */ - char *type; + char *type = NULL; + + fdisk_unref_parttype(pa->type); + pa->type = NULL; p += ((*p == 'I' || *p == 'i') ? 3 : 5); /* "Id=", "type=" */ rc = next_string(&p, &type); - if (rc) - break; - - pa->type = fdisk_label_advparse_parttype(script_get_label(dp), + if (rc == 0) { + pa->type = fdisk_label_advparse_parttype(script_get_label(dp), type, FDISK_SCRIPT_PARTTYPE_PARSE_FLAGS); - free(type); - - if (!pa->type) { - rc = -EINVAL; - break; + if (!pa->type) + rc = -EINVAL; } + free(type); } else { DBG(SCRIPT, ul_debugobj(dp, "script parse error: unknown field '%s'", p)); rc = -EINVAL; @@ -1114,7 +1141,7 @@ static int parse_line_nameval(struct fdisk_script *dp, char *s) static int parse_line_valcommas(struct fdisk_script *dp, char *s) { int rc = 0; - char *p = s, *str; + char *p = s; struct fdisk_partition *pa; enum { ITEM_START, ITEM_SIZE, ITEM_TYPE, ITEM_BOOTABLE }; int item = -1; @@ -1157,8 +1184,13 @@ static int parse_line_valcommas(struct fdisk_script *dp, char *s) rc = next_number(&p, &num, &pow); if (!rc) { - if (pow) /* specified as */ + if (pow) { /* specified as */ + if (!dp->cxt->sector_size) { + rc = -EINVAL; + break; + } num /= dp->cxt->sector_size; + } fdisk_partition_set_start(pa, num); pa->movestart = sign == TK_MINUS ? FDISK_MOVE_DOWN : sign == TK_PLUS ? FDISK_MOVE_UP : @@ -1177,9 +1209,13 @@ static int parse_line_valcommas(struct fdisk_script *dp, char *s) int pow = 0; rc = next_number(&p, &num, &pow); if (!rc) { - if (pow) /* specified as */ + if (pow) { /* specified as */ + if (!dp->cxt->sector_size) { + rc = -EINVAL; + break; + } num /= dp->cxt->sector_size; - else /* specified as number of sectors */ + } else /* specified as number of sectors */ fdisk_partition_size_explicit(pa, 1); fdisk_partition_set_size(pa, num); pa->resize = sign == TK_MINUS ? FDISK_RESIZE_REDUCE : @@ -1190,6 +1226,9 @@ static int parse_line_valcommas(struct fdisk_script *dp, char *s) } break; case ITEM_TYPE: + { + char *str = NULL; + if (*p == ',' || *p == ';' || alone_sign(sign, p)) break; /* use default type */ @@ -1197,13 +1236,14 @@ static int parse_line_valcommas(struct fdisk_script *dp, char *s) if (rc) break; + fdisk_unref_parttype(pa->type); pa->type = fdisk_label_advparse_parttype(script_get_label(dp), str, FDISK_SCRIPT_PARTTYPE_PARSE_FLAGS); free(str); - if (!pa->type) rc = -EINVAL; break; + } case ITEM_BOOTABLE: if (*p == ',' || *p == ';') break; @@ -1309,11 +1349,13 @@ int fdisk_script_read_line(struct fdisk_script *dp, FILE *f, char *buf, size_t b assert(dp); assert(f); + assert(bufsz); DBG(SCRIPT, ul_debugobj(dp, " parsing line %zu", dp->nlines)); /* read the next non-blank non-comment line */ do { + buf[0] = '\0'; if (dp->fn_fgets) { if (dp->fn_fgets(dp, buf, bufsz, f) == NULL) return 1; @@ -1356,7 +1398,7 @@ int fdisk_script_read_line(struct fdisk_script *dp, FILE *f, char *buf, size_t b */ int fdisk_script_read_file(struct fdisk_script *dp, FILE *f) { - char buf[BUFSIZ]; + char buf[BUFSIZ] = { '\0' }; int rc = 1; assert(dp); @@ -1568,7 +1610,7 @@ static int test_read(struct fdisk_test *ts, int argc, char *argv[]) static int test_stdin(struct fdisk_test *ts, int argc, char *argv[]) { - char buf[BUFSIZ]; + char buf[BUFSIZ] = { '\0' }; struct fdisk_script *dp; struct fdisk_context *cxt; int rc = 0; diff --git a/libfdisk/src/table.c b/libfdisk/src/table.c index b814a1f4cb3..84c60d448e4 100644 --- a/libfdisk/src/table.c +++ b/libfdisk/src/table.c @@ -235,8 +235,8 @@ int fdisk_table_add_partition(struct fdisk_table *tb, struct fdisk_partition *pa DBG(TAB, ul_debugobj(tb, "add entry %p [start=%ju, end=%ju, size=%ju, %s %s %s]", pa, (uintmax_t) fdisk_partition_get_start(pa), - (uintmax_t) fdisk_partition_get_end(pa), - (uintmax_t) fdisk_partition_get_size(pa), + fdisk_partition_has_end(pa) ? (uintmax_t) fdisk_partition_get_end(pa) : 0, + fdisk_partition_has_size(pa) ? (uintmax_t) fdisk_partition_get_size(pa) : 0, fdisk_partition_is_freespace(pa) ? "freespace" : "", fdisk_partition_is_nested(pa) ? "nested" : "", fdisk_partition_is_container(pa) ? "container" : "primary")); diff --git a/libmount/python/context.c b/libmount/python/context.c index 6e3ffcb397c..353a893f53c 100644 --- a/libmount/python/context.c +++ b/libmount/python/context.c @@ -1179,7 +1179,7 @@ PyTypeObject ContextType = { sizeof(ContextObjext), /*tp_basicsize*/ 0, /*tp_itemsize*/ (destructor)Context_dealloc, /*tp_dealloc*/ - NULL, /*tp_print*/ + 0, /*tp_print*/ NULL, /*tp_getattr*/ NULL, /*tp_setattr*/ NULL, /*tp_compare*/ diff --git a/libmount/python/fs.c b/libmount/python/fs.c index 0ba78bed085..e9891241d5f 100644 --- a/libmount/python/fs.c +++ b/libmount/python/fs.c @@ -836,7 +836,7 @@ PyTypeObject FsType = { sizeof(FsObject), /*tp_basicsize*/ 0, /*tp_itemsize*/ (destructor)Fs_destructor, /*tp_dealloc*/ - NULL, /*tp_print*/ + 0, /*tp_print*/ NULL, /*tp_getattr*/ NULL, /*tp_setattr*/ NULL, /*tp_compare*/ diff --git a/libmount/python/tab.c b/libmount/python/tab.c index e3185065ea7..5fce90aef1c 100644 --- a/libmount/python/tab.c +++ b/libmount/python/tab.c @@ -735,7 +735,7 @@ PyTypeObject TableType = { sizeof(TableObject), /*tp_basicsize*/ 0, /*tp_itemsize*/ (destructor)Table_destructor, /*tp_dealloc*/ - NULL, /*tp_print*/ + 0, /*tp_print*/ NULL, /*tp_getattr*/ NULL, /*tp_setattr*/ NULL, /*tp_compare*/ diff --git a/libmount/src/context.c b/libmount/src/context.c index 6196c7156bc..064dcf77b87 100644 --- a/libmount/src/context.c +++ b/libmount/src/context.c @@ -1764,7 +1764,7 @@ int mnt_context_prepare_srcpath(struct libmnt_context *cxt) { const char *path = NULL; struct libmnt_cache *cache; - const char *t, *v, *src; + const char *t, *v, *src, *type; int rc = 0; struct libmnt_ns *ns_old; @@ -1786,6 +1786,11 @@ int mnt_context_prepare_srcpath(struct libmnt_context *cxt) if (!src || mnt_fs_is_netfs(cxt->fs)) return 0; + /* ZFS source is always "dataset", not a real path */ + type = mnt_fs_get_fstype(cxt->fs); + if (type && strcmp(type, "zfs") == 0) + return 0; + DBG(CXT, ul_debugobj(cxt, "srcpath '%s'", src)); ns_old = mnt_context_switch_target_ns(cxt); @@ -2096,6 +2101,11 @@ int mnt_context_prepare_helper(struct libmnt_context *cxt, const char *name, assert(cxt->fs); assert((cxt->flags & MNT_FL_MOUNTFLAGS_MERGED)); + if (cxt->helper) { + free(cxt->helper); + cxt->helper = NULL; + } + if (!type) type = mnt_fs_get_fstype(cxt->fs); diff --git a/libmount/src/context_mount.c b/libmount/src/context_mount.c index e0ef550b0ff..28ffc88247e 100644 --- a/libmount/src/context_mount.c +++ b/libmount/src/context_mount.c @@ -415,6 +415,9 @@ static int generate_helper_optstr(struct libmnt_context *cxt, char **optstr) * string, because there is nothing like MS_EXEC (we only have * MS_NOEXEC in mount flags and we don't care about the original * mount string in libmount for VFS options). + * + * This use-case makes sense for MS_SECURE flags only (see + * mnt_optstr_get_flags() and mnt_context_merge_mflags()). */ if (!(cxt->mountflags & MS_NOEXEC)) mnt_optstr_append_option(optstr, "exec", NULL); @@ -424,7 +427,6 @@ static int generate_helper_optstr(struct libmnt_context *cxt, char **optstr) mnt_optstr_append_option(optstr, "dev", NULL); } - if (cxt->flags & MNT_FL_SAVED_USER) rc = mnt_optstr_set_option(optstr, "user", cxt->orig_user); if (rc) @@ -771,7 +773,7 @@ static int do_mount(struct libmnt_context *cxt, const char *try_type) assert(cxt->fs); assert((cxt->flags & MNT_FL_MOUNTFLAGS_MERGED)); - if (try_type && !cxt->helper) { + if (try_type) { rc = mnt_context_prepare_helper(cxt, "mount", try_type); if (rc) return rc; @@ -858,6 +860,17 @@ static int do_mount(struct libmnt_context *cxt, const char *try_type) return rc; } +static int is_success_status(struct libmnt_context *cxt) +{ + if (mnt_context_helper_executed(cxt)) + return mnt_context_get_helper_status(cxt) == 0; + + if (mnt_context_syscall_called(cxt)) + return mnt_context_get_status(cxt) == 1; + + return 0; +} + /* try mount(2) for all items in comma separated list of the filesystem @types */ static int do_mount_by_types(struct libmnt_context *cxt, const char *types) { @@ -898,7 +911,7 @@ static int do_mount_by_types(struct libmnt_context *cxt, const char *types) rc = do_mount(cxt, p); p = end ? end + 1 : NULL; free(autotype); - } while (!mnt_context_get_status(cxt) && p); + } while (!is_success_status(cxt) && p); free(p0); return rc; @@ -941,8 +954,9 @@ static int do_mount_by_pattern(struct libmnt_context *cxt, const char *pattern) return -MNT_ERR_NOFSTYPE; for (fp = filesystems; *fp; fp++) { + DBG(CXT, ul_debugobj(cxt, " ##### trying '%s'", *fp)); rc = do_mount(cxt, *fp); - if (mnt_context_get_status(cxt)) + if (is_success_status(cxt)) break; if (mnt_context_get_syscall_errno(cxt) != EINVAL && mnt_context_get_syscall_errno(cxt) != ENODEV) diff --git a/libmount/src/libmount.h.in b/libmount/src/libmount.h.in index 321c0540bb9..e6710ae0174 100644 --- a/libmount/src/libmount.h.in +++ b/libmount/src/libmount.h.in @@ -941,6 +941,9 @@ extern int mnt_context_set_syscall_status(struct libmnt_context *cxt, int status #ifndef MS_DIRSYNC #define MS_DIRSYNC 128 /* Directory modifications are synchronous */ #endif +#ifndef MS_NOSYMFOLLOW +#define MS_NOSYMFOLLOW 256 /* Don't follow symlinks */ +#endif #ifndef MS_NOATIME #define MS_NOATIME 0x400 /* 1024: Do not update access times. */ #endif diff --git a/libmount/src/optmap.c b/libmount/src/optmap.c index a080d8df6fc..49e8113d210 100644 --- a/libmount/src/optmap.c +++ b/libmount/src/optmap.c @@ -131,6 +131,10 @@ static const struct libmnt_optmap linux_flags_map[] = { "rslave", MS_SLAVE | MS_REC, MNT_NOHLPS | MNT_NOMTAB }, { "shared", MS_SHARED, MNT_NOHLPS | MNT_NOMTAB }, /* Shared */ { "rshared", MS_SHARED | MS_REC, MNT_NOHLPS | MNT_NOMTAB }, +#endif +#ifdef MS_NOSYMFOLLOW + { "symfollow", MS_NOSYMFOLLOW, MNT_INVERT }, /* Don't follow symlinks */ + { "nosymfollow", MS_NOSYMFOLLOW }, #endif { NULL, 0, 0 } }; diff --git a/libmount/src/optstr.c b/libmount/src/optstr.c index 781bb29806d..ea933c62b63 100644 --- a/libmount/src/optstr.c +++ b/libmount/src/optstr.c @@ -745,7 +745,7 @@ int mnt_optstr_apply_flags(char **optstr, unsigned long flags, if (!optstr || !map) return -EINVAL; - DBG(CXT, ul_debug("applying 0x%08lu flags to '%s'", flags, *optstr)); + DBG(CXT, ul_debug("applying 0x%08lx flags to '%s'", flags, *optstr)); maps[0] = map; next = *optstr; diff --git a/libmount/src/utils.c b/libmount/src/utils.c index 92829ebb01f..40f479fd178 100644 --- a/libmount/src/utils.c +++ b/libmount/src/utils.c @@ -333,7 +333,9 @@ int mnt_fstype_is_pseudofs(const char *type) "spufs", "sysfs", "tmpfs", - "tracefs" + "tracefs", + "vboxsf", + "virtiofs" }; assert(type); diff --git a/libsmartcols/src/print-api.c b/libsmartcols/src/print-api.c index 48b954baf33..9a9f2df9420 100644 --- a/libsmartcols/src/print-api.c +++ b/libsmartcols/src/print-api.c @@ -116,7 +116,10 @@ static int do_print_table(struct libscols_table *tb, int *is_empty) } if (list_empty(&tb->tb_lines)) { DBG(TAB, ul_debugobj(tb, "ignore -- no lines")); - if (is_empty) + if (scols_table_is_json(tb)) { + fput_table_open(tb); + fput_table_close(tb); + } else if (is_empty) *is_empty = 1; return 0; } diff --git a/libuuid/src/gen_uuid.c b/libuuid/src/gen_uuid.c index 69f9591a46d..50039fc2e61 100644 --- a/libuuid/src/gen_uuid.c +++ b/libuuid/src/gen_uuid.c @@ -275,7 +275,7 @@ static int get_clock(uint32_t *clock_high, uint32_t *clock_low, } if ((last.tv_sec == 0) && (last.tv_usec == 0)) { - random_get_bytes(&clock_seq, sizeof(clock_seq)); + ul_random_get_bytes(&clock_seq, sizeof(clock_seq)); clock_seq &= 0x3FFF; gettimeofday(&last, NULL); last.tv_sec--; @@ -413,7 +413,7 @@ int __uuid_generate_time(uuid_t out, int *num) if (!has_init) { if (get_node_id(node_id) <= 0) { - random_get_bytes(node_id, 6); + ul_random_get_bytes(node_id, 6); /* * Set multicast bit, to prevent conflicts * with IEEE 802 addresses obtained from @@ -511,7 +511,7 @@ void __uuid_generate_random(uuid_t out, int *num) n = *num; for (i = 0; i < n; i++) { - random_get_bytes(buf, sizeof(buf)); + ul_random_get_bytes(buf, sizeof(buf)); uuid_unpack(buf, &uu); uu.clock_seq = (uu.clock_seq & 0x3FFF) | 0x8000; diff --git a/login-utils/Makemodule.am b/login-utils/Makemodule.am index 4e455f66b92..37be1c44dcd 100644 --- a/login-utils/Makemodule.am +++ b/login-utils/Makemodule.am @@ -20,6 +20,9 @@ sulogin_SOURCES = \ login-utils/sulogin.c \ login-utils/sulogin-consoles.c \ login-utils/sulogin-consoles.h +if USE_PLYMOUTH_SUPPORT +sulogin_SOURCES += lib/plymouth-ctrl.c +endif sulogin_LDADD = $(LDADD) libcommon.la if HAVE_LIBCRYPT diff --git a/login-utils/login.c b/login-utils/login.c index 186a5ff5e45..892e8972d5a 100644 --- a/login-utils/login.c +++ b/login-utils/login.c @@ -335,9 +335,10 @@ static void motd(void) #endif if (S_ISREG(st.st_mode) && st.st_size > 0) { int fd = open(file, O_RDONLY, 0); - if (fd >= 0) + if (fd >= 0) { sendfile(fileno(stdout), fd, NULL, st.st_size); - close(fd); + close(fd); + } done++; } if (firstonly && done) @@ -635,9 +636,9 @@ static void log_lastlog(struct login_context *cxt) */ static void log_utmp(struct login_context *cxt) { - struct utmpx ut; - struct utmpx *utp; - struct timeval tv; + struct utmpx ut = {0}; + struct utmpx *utp = NULL; + struct timeval tv = {0}; utmpxname(_PATH_UTMP); setutxent(); @@ -804,9 +805,11 @@ static pam_handle_t *init_loginpam(struct login_context *cxt) if (is_pam_failure(rc)) loginpam_err(pamh, rc); - rc = pam_set_item(pamh, PAM_TTY, cxt->tty_name); - if (is_pam_failure(rc)) - loginpam_err(pamh, rc); + if (cxt->tty_path) { + rc = pam_set_item(pamh, PAM_TTY, cxt->tty_path); + if (is_pam_failure(rc)) + loginpam_err(pamh, rc); + } /* * Andrew.Taylor@cal.montage.ca: Provide a user prompt to PAM so that diff --git a/login-utils/lslogins.c b/login-utils/lslogins.c index 8a6ef713fa4..773d13a953a 100644 --- a/login-utils/lslogins.c +++ b/login-utils/lslogins.c @@ -1654,7 +1654,9 @@ int main(int argc, char *argv[]) scols_unref_table(tb); tdestroy(ctl->usertree, free_user); - close(ctl->lastlogin_fd); + + if (ctl->lastlogin_fd >= 0) + close(ctl->lastlogin_fd); free_ctl(ctl); return EXIT_SUCCESS; diff --git a/login-utils/newgrp.c b/login-utils/newgrp.c index 5e4b4caa025..2c0aab11429 100644 --- a/login-utils/newgrp.c +++ b/login-utils/newgrp.c @@ -234,6 +234,6 @@ int main(int argc, char *argv[]) fflush(NULL); shell = (pw_entry->pw_shell && *pw_entry->pw_shell ? pw_entry->pw_shell : _PATH_BSHELL); - execl(shell, shell, (char *)0); + execl(shell, shell, (char *)NULL); errexec(shell); } diff --git a/login-utils/su-common.c b/login-utils/su-common.c index 563f6c7bdbe..27df4b36f98 100644 --- a/login-utils/su-common.c +++ b/login-utils/su-common.c @@ -128,6 +128,7 @@ struct su_context { struct passwd *pwd; /* new user info */ char *pwdbuf; /* pwd strings */ + const char *tty_path; /* tty device path */ const char *tty_name; /* tty_path without /dev prefix */ const char *tty_number; /* end of the tty_path */ @@ -178,7 +179,7 @@ static void init_tty(struct su_context *su) su->isterm = isatty(STDIN_FILENO) ? 1 : 0; DBG(TTY, ul_debug("initialize [is-term=%s]", su->isterm ? "true" : "false")); if (su->isterm) - get_terminal_name(NULL, &su->tty_name, &su->tty_number); + get_terminal_name(&su->tty_path, &su->tty_name, &su->tty_number); } /* @@ -366,8 +367,8 @@ static void supam_authenticate(struct su_context *su) if (is_pam_failure(rc)) goto done; - if (su->tty_name) { - rc = pam_set_item(su->pamh, PAM_TTY, su->tty_name); + if (su->tty_path) { + rc = pam_set_item(su->pamh, PAM_TTY, su->tty_path); if (is_pam_failure(rc)) goto done; } diff --git a/login-utils/sulogin.c b/login-utils/sulogin.c index 9091caf14ff..bac2754cadd 100644 --- a/login-utils/sulogin.c +++ b/login-utils/sulogin.c @@ -789,11 +789,11 @@ static void sushell(struct passwd *pwd) free(level); } #endif - execl(su_shell, shell, NULL); + execl(su_shell, shell, (char *)NULL); warn(_("failed to execute %s"), su_shell); xsetenv("SHELL", "/bin/sh", 1); - execl("/bin/sh", profile ? "-sh" : "sh", NULL); + execl("/bin/sh", profile ? "-sh" : "sh", (char *)NULL); warn(_("failed to execute %s"), "/bin/sh"); } diff --git a/login-utils/vipw.c b/login-utils/vipw.c index a071b639dd0..952403bed73 100644 --- a/login-utils/vipw.c +++ b/login-utils/vipw.c @@ -94,7 +94,7 @@ static void copyfile(int from, int to) char buf[8 * 1024]; while ((nr = read(from, buf, sizeof(buf))) > 0) - for (off = 0; off < nr; nr -= nw, off += nw) + for (off = 0; nr > 0; nr -= nw, off += nw) if ((nw = write(to, buf + off, nr)) < 0) pw_error(tmp_file, 1, 1); @@ -208,7 +208,7 @@ static void pw_edit(void) err(EXIT_FAILURE, _("fork failed")); if (!pid) { - execlp(editor, p, tmp_file, NULL); + execlp(editor, p, tmp_file, (char *)NULL); errexec(editor); } for (;;) { diff --git a/misc-utils/Makemodule.am b/misc-utils/Makemodule.am index 4d933f1df94..56f9a41938c 100644 --- a/misc-utils/Makemodule.am +++ b/misc-utils/Makemodule.am @@ -136,7 +136,8 @@ PATHFILES += \ if BUILD_BLKID sbin_PROGRAMS += blkid dist_man_MANS += misc-utils/blkid.8 -blkid_SOURCES = misc-utils/blkid.c +blkid_SOURCES = misc-utils/blkid.c \ + lib/ismounted.c blkid_LDADD = $(LDADD) libblkid.la libcommon.la blkid_CFLAGS = $(AM_CFLAGS) -I$(ul_libblkid_incdir) diff --git a/misc-utils/hardlink.c b/misc-utils/hardlink.c index e985aafe25c..2711b2a7ac3 100644 --- a/misc-utils/hardlink.c +++ b/misc-utils/hardlink.c @@ -523,6 +523,9 @@ int main(int argc, char **argv) } closedir(dh); } - +#ifdef HAVE_PCRE + pcre2_code_free(re); + pcre2_match_data_free(match_data); +#endif return 0; } diff --git a/misc-utils/lsblk-properties.c b/misc-utils/lsblk-properties.c index 9e79be35339..6429db06e11 100644 --- a/misc-utils/lsblk-properties.c +++ b/misc-utils/lsblk-properties.c @@ -104,7 +104,9 @@ static struct lsblk_devprop *get_properties_by_udev(struct lsblk_device *ld) if (data) prop->wwn = xstrdup(data); - data = udev_device_get_property_value(dev, "ID_SCSI_SERIAL"); + data = udev_device_get_property_value(dev, "SCSI_IDENT_SERIAL"); /* sg3_utils do not use I_D prefix */ + if (!data) + data = udev_device_get_property_value(dev, "ID_SCSI_SERIAL"); if(!data) data = udev_device_get_property_value(dev, "ID_SERIAL_SHORT"); if(!data) @@ -209,6 +211,7 @@ static struct lsblk_devprop *get_properties_by_file(struct lsblk_device *ld) else if (lookup(buf, "ID_MODEL", &prop->model)) ; else if (lookup(buf, "ID_WWN_WITH_EXTENSION", &prop->wwn)) ; else if (lookup(buf, "ID_WWN", &prop->wwn)) ; + else if (lookup(buf, "SCSI_IDENT_SERIAL", &prop->serial)) ; /* serial from sg3_utils */ else if (lookup(buf, "ID_SCSI_SERIAL", &prop->serial)) ; else if (lookup(buf, "ID_SERIAL_SHORT", &prop->serial)) ; else if (lookup(buf, "ID_SERIAL", &prop->serial)) ; diff --git a/misc-utils/lsblk.c b/misc-utils/lsblk.c index 1ec709019c9..49c15ab78ec 100644 --- a/misc-utils/lsblk.c +++ b/misc-utils/lsblk.c @@ -906,8 +906,6 @@ static char *device_get_data( ul_path_read_string(dev->sysfs, &str, "device/vendor"); break; case COL_SIZE: - if (!dev->size) - break; if (lsblk->bytes) xasprintf(&str, "%ju", dev->size); else @@ -1888,7 +1886,7 @@ int main(int argc, char *argv[]) lsblk_init_debug(); while((c = getopt_long(argc, argv, - "abdDzE:e:fhJlnMmo:OpPiI:rstVST:x:", longopts, NULL)) != -1) { + "abdDzE:e:fhJlnMmo:OpPiI:rstVST::x:", longopts, NULL)) != -1) { err_exclusive_options(c, longopts, excl, excl_st); @@ -1999,8 +1997,11 @@ int main(int argc, char *argv[]) break; case 'T': force_tree = 1; - if (optarg) + if (optarg) { + if (*optarg == '=') + optarg++; lsblk->tree_id = column_name_to_id(optarg, strlen(optarg)); + } break; case OPT_SYSROOT: lsblk->sysroot = optarg; diff --git a/misc-utils/mcookie.c b/misc-utils/mcookie.c index 549531454b5..315740127e1 100644 --- a/misc-utils/mcookie.c +++ b/misc-utils/mcookie.c @@ -184,7 +184,7 @@ int main(int argc, char **argv) randomness_from_files(&ctl); free(ctl.files); - random_get_bytes(&buf, RAND_BYTES); + ul_random_get_bytes(&buf, RAND_BYTES); ul_MD5Update(&ctl.ctx, buf, RAND_BYTES); if (ctl.verbose) fprintf(stderr, P_("Got %d byte from %s\n", diff --git a/misc-utils/uuidparse.1 b/misc-utils/uuidparse.1 index 9194ace605c..ae735dcc503 100644 --- a/misc-utils/uuidparse.1 +++ b/misc-utils/uuidparse.1 @@ -72,7 +72,7 @@ Sami Kerola RFC 4122 .UE .SH AVAILABILITY -The example command is part of the util-linux package and is available from +The uuidparse command is part of the util-linux package and is available from .UR https://\:www.kernel.org\:/pub\:/linux\:/utils\:/util-linux/ Linux Kernel Archive .UE . diff --git a/misc-utils/whereis.c b/misc-utils/whereis.c index 7a28a2c3567..0247dbec77f 100644 --- a/misc-utils/whereis.c +++ b/misc-utils/whereis.c @@ -398,13 +398,15 @@ static int filename_equal(const char *cp, const char *dp) if (dp[0] == 's' && dp[1] == '.' && filename_equal(cp, dp + 2)) return 1; - if (!strcmp(dp + i - 2, ".Z")) + if (i > 1 && !strcmp(dp + i - 2, ".Z")) i -= 2; - else if (!strcmp(dp + i - 3, ".gz")) + else if (i > 2 && !strcmp(dp + i - 3, ".gz")) i -= 3; - else if (!strcmp(dp + i - 3, ".xz")) + else if (i > 2 && !strcmp(dp + i - 3, ".xz")) i -= 3; - else if (!strcmp(dp + i - 4, ".bz2")) + else if (i > 3 && !strcmp(dp + i - 4, ".bz2")) + i -= 4; + else if (i > 3 && !strcmp(dp + i - 4, ".zst")) i -= 4; while (*cp && *dp && *cp == *dp) cp++, dp++, i--; diff --git a/misc-utils/wipefs.8 b/misc-utils/wipefs.8 index cdc6b281192..303e66135ee 100644 --- a/misc-utils/wipefs.8 +++ b/misc-utils/wipefs.8 @@ -40,6 +40,8 @@ in environments where a stable output is required. calls the BLKRRPART ioctl when it has erased a partition-table signature to inform the kernel about the change. The ioctl is called as the last step and when all specified signatures from all specified devices are already erased. +This feature can be used to wipe content on partitions devices as well as partition +table on a disk device, for example by \fBwipefs \-a /dev/sdc1 /dev/sdc2 /dev/sdc\fR. Note that some filesystems and some partition tables store more magic strings on the device (e.g., FAT, ZFS, GPT). The diff --git a/po/ca.po b/po/ca.po index 198d2f66ec0..a83f99eb058 100644 --- a/po/ca.po +++ b/po/ca.po @@ -13,7 +13,7 @@ msgid "" msgstr "" "Project-Id-Version: util-linux 2.13-pre3\n" "Report-Msgid-Bugs-To: util-linux@vger.kernel.org\n" -"POT-Creation-Date: 2020-07-22 12:05+0200\n" +"POT-Creation-Date: 2021-02-12 14:48+0100\n" "PO-Revision-Date: 2005-09-17 13:40+0200\n" "Last-Translator: Josep Puigdemont \n" "Language-Team: Catalan \n" @@ -33,9 +33,9 @@ msgstr "" #: disk-utils/addpart.c:52 disk-utils/blockdev.c:244 disk-utils/delpart.c:52 #: disk-utils/mkfs.bfs.c:127 disk-utils/resizepart.c:96 misc-utils/kill.c:314 -#: misc-utils/kill.c:375 misc-utils/rename.c:289 misc-utils/whereis.c:524 +#: misc-utils/kill.c:375 misc-utils/rename.c:289 misc-utils/whereis.c:526 #: sys-utils/flock.c:177 sys-utils/ipcrm.c:160 sys-utils/ldattach.c:367 -#: sys-utils/renice.c:144 sys-utils/switch_root.c:240 sys-utils/tunelp.c:152 +#: sys-utils/renice.c:144 sys-utils/switch_root.c:250 sys-utils/tunelp.c:152 #: term-utils/agetty.c:893 term-utils/agetty.c:894 term-utils/agetty.c:902 #: term-utils/agetty.c:903 #, fuzzy @@ -43,17 +43,17 @@ msgid "not enough arguments" msgstr "Massa arguments.\n" #: disk-utils/addpart.c:57 disk-utils/blockdev.c:293 disk-utils/blockdev.c:437 -#: disk-utils/blockdev.c:464 disk-utils/cfdisk.c:2743 disk-utils/delpart.c:58 +#: disk-utils/blockdev.c:464 disk-utils/cfdisk.c:2760 disk-utils/delpart.c:58 #: disk-utils/fdformat.c:229 disk-utils/fdisk.c:812 disk-utils/fdisk.c:1143 #: disk-utils/fdisk-list.c:327 disk-utils/fdisk-list.c:368 #: disk-utils/fdisk-list.c:391 disk-utils/fsck.c:1466 -#: disk-utils/fsck.cramfs.c:155 disk-utils/fsck.cramfs.c:514 +#: disk-utils/fsck.cramfs.c:161 disk-utils/fsck.cramfs.c:520 #: disk-utils/isosize.c:53 disk-utils/mkfs.bfs.c:186 #: disk-utils/mkfs.cramfs.c:171 disk-utils/mkfs.cramfs.c:660 #: disk-utils/mkfs.cramfs.c:799 disk-utils/mkfs.minix.c:823 #: disk-utils/mkswap.c:220 disk-utils/mkswap.c:249 disk-utils/partx.c:1021 #: disk-utils/resizepart.c:104 disk-utils/sfdisk.c:378 disk-utils/sfdisk.c:498 -#: disk-utils/sfdisk.c:801 disk-utils/sfdisk.c:1082 disk-utils/swaplabel.c:65 +#: disk-utils/sfdisk.c:809 disk-utils/sfdisk.c:1090 disk-utils/swaplabel.c:65 #: libfdisk/src/bsd.c:642 login-utils/islocal.c:86 login-utils/last.c:679 #: login-utils/sulogin.c:444 login-utils/sulogin.c:481 #: login-utils/utmpdump.c:134 login-utils/utmpdump.c:354 @@ -61,14 +61,14 @@ msgstr "Massa arguments.\n" #: misc-utils/findmnt.c:1115 misc-utils/logger.c:1241 misc-utils/mcookie.c:119 #: misc-utils/uuidd.c:198 sys-utils/blkdiscard.c:225 sys-utils/blkzone.c:139 #: sys-utils/dmesg.c:530 sys-utils/eject.c:499 sys-utils/eject.c:698 -#: sys-utils/fallocate.c:402 sys-utils/fsfreeze.c:116 sys-utils/fstrim.c:103 -#: sys-utils/hwclock.c:235 sys-utils/hwclock.c:894 sys-utils/hwclock-rtc.c:138 +#: sys-utils/fallocate.c:405 sys-utils/fsfreeze.c:116 sys-utils/fstrim.c:103 +#: sys-utils/hwclock.c:235 sys-utils/hwclock.c:902 sys-utils/hwclock-rtc.c:138 #: sys-utils/hwclock-rtc.c:403 sys-utils/hwclock-rtc.c:438 -#: sys-utils/irq-common.c:214 sys-utils/ldattach.c:391 sys-utils/lscpu.c:536 +#: sys-utils/irq-common.c:214 sys-utils/ldattach.c:391 sys-utils/lscpu.c:534 #: sys-utils/lsmem.c:658 sys-utils/nsenter.c:131 sys-utils/rfkill.c:192 -#: sys-utils/rfkill.c:553 sys-utils/rtcwake.c:137 sys-utils/rtcwake.c:292 -#: sys-utils/setpriv.c:259 sys-utils/setpriv.c:628 sys-utils/setpriv.c:651 -#: sys-utils/swapon.c:374 sys-utils/swapon.c:517 sys-utils/switch_root.c:167 +#: sys-utils/rfkill.c:557 sys-utils/rtcwake.c:137 sys-utils/rtcwake.c:292 +#: sys-utils/setpriv.c:256 sys-utils/setpriv.c:622 sys-utils/setpriv.c:645 +#: sys-utils/swapon.c:374 sys-utils/swapon.c:517 sys-utils/switch_root.c:177 #: sys-utils/unshare.c:112 sys-utils/unshare.c:127 sys-utils/wdctl.c:361 #: sys-utils/zramctl.c:517 term-utils/agetty.c:2961 term-utils/mesg.c:143 #: term-utils/script.c:382 term-utils/scriptlive.c:256 @@ -318,7 +318,7 @@ msgid "Quit program without writing changes" msgstr "Surt del programa sense escriure la taula de particions" #: disk-utils/cfdisk.c:196 libfdisk/src/bsd.c:439 libfdisk/src/bsd.c:1031 -#: libfdisk/src/dos.c:2606 libfdisk/src/gpt.c:3145 libfdisk/src/sgi.c:1164 +#: libfdisk/src/dos.c:2616 libfdisk/src/gpt.c:3153 libfdisk/src/sgi.c:1164 #: libfdisk/src/sun.c:1136 msgid "Type" msgstr "Tipus" @@ -367,407 +367,412 @@ msgstr "Imprimeix la taula de particions a la pantalla o en un fitxer" msgid "internal error: unsupported dialog type %d" msgstr "" -#: disk-utils/cfdisk.c:1287 +#: disk-utils/cfdisk.c:1301 #, fuzzy, c-format msgid "%s (mounted)" msgstr "umount: %s: no s'ha trobat" -#: disk-utils/cfdisk.c:1307 +#: disk-utils/cfdisk.c:1321 #, fuzzy msgid "Partition name:" msgstr "Nombre de partició" -#: disk-utils/cfdisk.c:1314 +#: disk-utils/cfdisk.c:1328 #, fuzzy msgid "Partition UUID:" msgstr "" "\n" "%d particions:\n" -#: disk-utils/cfdisk.c:1326 +#: disk-utils/cfdisk.c:1340 #, fuzzy msgid "Partition type:" msgstr "Nombre de partició" -#: disk-utils/cfdisk.c:1333 +#: disk-utils/cfdisk.c:1347 msgid "Attributes:" msgstr "" -#: disk-utils/cfdisk.c:1357 +#: disk-utils/cfdisk.c:1371 #, fuzzy msgid "Filesystem UUID:" msgstr "Introduïu el tipus del sistema de fitxers: " -#: disk-utils/cfdisk.c:1364 +#: disk-utils/cfdisk.c:1378 #, fuzzy msgid "Filesystem LABEL:" msgstr "Introduïu el tipus del sistema de fitxers: " -#: disk-utils/cfdisk.c:1370 +#: disk-utils/cfdisk.c:1384 #, fuzzy msgid "Filesystem:" msgstr "Introduïu el tipus del sistema de fitxers: " -#: disk-utils/cfdisk.c:1375 +#: disk-utils/cfdisk.c:1389 #, fuzzy msgid "Mountpoint:" msgstr "%s està muntat.\t " -#: disk-utils/cfdisk.c:1719 +#: disk-utils/cfdisk.c:1733 #, fuzzy, c-format msgid "Disk: %s" msgstr "disc: %.*s\n" -#: disk-utils/cfdisk.c:1721 +#: disk-utils/cfdisk.c:1735 #, fuzzy, c-format msgid "Size: %s, % bytes, %ju sectors" msgstr "" "\n" "Disc %s: %lu cilindres, %lu capçals, %lu sectors/pista\n" -#: disk-utils/cfdisk.c:1724 +#: disk-utils/cfdisk.c:1738 #, fuzzy, c-format msgid "Label: %s, identifier: %s" msgstr "Unitat de disc: %s" -#: disk-utils/cfdisk.c:1727 +#: disk-utils/cfdisk.c:1741 #, fuzzy, c-format msgid "Label: %s" msgstr "etiqueta: %.*s\n" -#: disk-utils/cfdisk.c:1878 +#: disk-utils/cfdisk.c:1892 msgid "May be followed by M for MiB, G for GiB, T for TiB, or S for sectors." msgstr "" -#: disk-utils/cfdisk.c:1884 +#: disk-utils/cfdisk.c:1898 #, fuzzy msgid "Please, specify size." msgstr "No s'ha especificat l'opció --date.\n" -#: disk-utils/cfdisk.c:1906 +#: disk-utils/cfdisk.c:1920 #, fuzzy, c-format msgid "Minimum size is % bytes." msgstr "aconsegueix la mida en octets" -#: disk-utils/cfdisk.c:1915 +#: disk-utils/cfdisk.c:1929 #, fuzzy, c-format msgid "Maximum size is % bytes." msgstr "aconsegueix la mida en octets" -#: disk-utils/cfdisk.c:1922 +#: disk-utils/cfdisk.c:1936 #, fuzzy msgid "Failed to parse size." msgstr "%s: s'ha produït un error en obrir: %s\n" -#: disk-utils/cfdisk.c:1980 +#: disk-utils/cfdisk.c:1994 #, fuzzy msgid "Select partition type" msgstr "S'ha seleccionat la partició %d\n" -#: disk-utils/cfdisk.c:2030 disk-utils/cfdisk.c:2060 +#: disk-utils/cfdisk.c:2044 disk-utils/cfdisk.c:2074 #, fuzzy msgid "Enter script file name: " msgstr "%s: no s'ha pogut trobar el dispositiu per a %s\n" -#: disk-utils/cfdisk.c:2031 +#: disk-utils/cfdisk.c:2045 #, fuzzy msgid "The script file will be applied to in-memory partition table." msgstr "No podreu escriure la taula de particions.\n" -#: disk-utils/cfdisk.c:2040 disk-utils/cfdisk.c:2082 +#: disk-utils/cfdisk.c:2054 disk-utils/cfdisk.c:2096 #: disk-utils/fdisk-menu.c:481 disk-utils/fdisk-menu.c:525 #, fuzzy, c-format msgid "Cannot open %s" msgstr "No es pot obrir %s\n" -#: disk-utils/cfdisk.c:2042 disk-utils/fdisk-menu.c:483 +#: disk-utils/cfdisk.c:2056 disk-utils/fdisk-menu.c:483 #, fuzzy, c-format msgid "Failed to parse script file %s" msgstr "no ha estat possible executar ioctl() per llegir l'hora de %s" -#: disk-utils/cfdisk.c:2044 disk-utils/fdisk-menu.c:485 +#: disk-utils/cfdisk.c:2058 disk-utils/fdisk-menu.c:485 #, fuzzy, c-format msgid "Failed to apply script %s" msgstr "no ha estat possible executar ioctl() per llegir l'hora de %s" -#: disk-utils/cfdisk.c:2061 +#: disk-utils/cfdisk.c:2075 msgid "The current in-memory partition table will be dumped to the file." msgstr "" -#: disk-utils/cfdisk.c:2069 disk-utils/fdisk-menu.c:513 +#: disk-utils/cfdisk.c:2083 disk-utils/fdisk-menu.c:513 #, fuzzy msgid "Failed to allocate script handler" msgstr "No s'ha pogut assignar la memòria temporal.\n" -#: disk-utils/cfdisk.c:2075 +#: disk-utils/cfdisk.c:2089 #, fuzzy msgid "Failed to read disk layout into script." msgstr "No s'ha pogut assignar la memòria temporal.\n" -#: disk-utils/cfdisk.c:2089 +#: disk-utils/cfdisk.c:2103 msgid "Disk layout successfully dumped." msgstr "" -#: disk-utils/cfdisk.c:2092 disk-utils/fdisk-menu.c:531 +#: disk-utils/cfdisk.c:2106 disk-utils/fdisk-menu.c:531 #, fuzzy, c-format msgid "Failed to write script %s" msgstr "no ha estat possible executar ioctl() per llegir l'hora de %s" -#: disk-utils/cfdisk.c:2128 +#: disk-utils/cfdisk.c:2142 #, fuzzy msgid "Select label type" msgstr "Tipus no permès\n" -#: disk-utils/cfdisk.c:2131 disk-utils/fdisk.c:1158 disk-utils/fdisk-menu.c:489 +#: disk-utils/cfdisk.c:2145 disk-utils/fdisk.c:1158 disk-utils/fdisk-menu.c:489 #, fuzzy msgid "Device does not contain a recognized partition table." msgstr "El disc %s no conté una taula de particions vàlida\n" -#: disk-utils/cfdisk.c:2139 +#: disk-utils/cfdisk.c:2153 msgid "Select a type to create a new label or press 'L' to load script file." msgstr "" -#: disk-utils/cfdisk.c:2188 +#: disk-utils/cfdisk.c:2202 #, fuzzy msgid "This is cfdisk, a curses-based disk partitioning program." msgstr "Això és el cfdisk, un programa per a la partició de discs basat en" -#: disk-utils/cfdisk.c:2189 +#: disk-utils/cfdisk.c:2203 #, fuzzy msgid "It lets you create, delete, and modify partitions on a block device." msgstr "curses, que us permet crear, suprimir i modificar particions del" -#: disk-utils/cfdisk.c:2191 +#: disk-utils/cfdisk.c:2205 msgid "Command Meaning" msgstr "Ordre Significat" -#: disk-utils/cfdisk.c:2192 +#: disk-utils/cfdisk.c:2206 msgid "------- -------" msgstr "----- ----------" -#: disk-utils/cfdisk.c:2193 +#: disk-utils/cfdisk.c:2207 msgid " b Toggle bootable flag of the current partition" msgstr " b Fixa el senyalador d'arrencada a la partició actual" -#: disk-utils/cfdisk.c:2194 +#: disk-utils/cfdisk.c:2208 msgid " d Delete the current partition" msgstr " d Suprimeix l'actual partició" -#: disk-utils/cfdisk.c:2195 +#: disk-utils/cfdisk.c:2209 msgid " h Print this screen" msgstr " h Imprimeix aquesta pantalla" -#: disk-utils/cfdisk.c:2196 +#: disk-utils/cfdisk.c:2210 msgid " n Create new partition from free space" msgstr " n Crea una nova partició des de l'espai lliure" -#: disk-utils/cfdisk.c:2197 +#: disk-utils/cfdisk.c:2211 msgid " q Quit program without writing partition table" msgstr " q Surt del programa sense escriure la taula de particions" -#: disk-utils/cfdisk.c:2198 +#: disk-utils/cfdisk.c:2212 +#, fuzzy +msgid " r Reduce or enlarge the current partition" +msgstr "Suprimeix la partició actual" + +#: disk-utils/cfdisk.c:2213 #, fuzzy msgid " s Fix partitions order (only when in disarray)" msgstr " paràmetres\n" -#: disk-utils/cfdisk.c:2199 +#: disk-utils/cfdisk.c:2214 #, fuzzy msgid " t Change the partition type" msgstr " t Canvia el tipus del sistema de fitxers" -#: disk-utils/cfdisk.c:2200 +#: disk-utils/cfdisk.c:2215 msgid " u Dump disk layout to sfdisk compatible script file" msgstr "" -#: disk-utils/cfdisk.c:2201 +#: disk-utils/cfdisk.c:2216 #, fuzzy msgid " W Write partition table to disk (you must enter uppercase W);" msgstr " W Escriu la taula de particions al disc (W en majúscula)" -#: disk-utils/cfdisk.c:2202 +#: disk-utils/cfdisk.c:2217 #, fuzzy msgid " since this might destroy data on the disk, you must either" msgstr " Com que això destruirà les dades del disc, ho haureu" -#: disk-utils/cfdisk.c:2203 +#: disk-utils/cfdisk.c:2218 #, fuzzy msgid " confirm or deny the write by entering 'yes' or 'no'" msgstr " de confirmar o denegar escrivint «sí» o" -#: disk-utils/cfdisk.c:2204 +#: disk-utils/cfdisk.c:2219 #, fuzzy msgid " x Display/hide extra information about a partition" msgstr " -V, --version Mostra la informació de la versió\n" -#: disk-utils/cfdisk.c:2205 +#: disk-utils/cfdisk.c:2220 msgid "Up Arrow Move cursor to the previous partition" msgstr "Fletxa amunt Desplaça el cursor a l'anterior partició" -#: disk-utils/cfdisk.c:2206 +#: disk-utils/cfdisk.c:2221 msgid "Down Arrow Move cursor to the next partition" msgstr "Fletxa avall Desplaça el cursor a la següent partició" -#: disk-utils/cfdisk.c:2207 +#: disk-utils/cfdisk.c:2222 #, fuzzy msgid "Left Arrow Move cursor to the previous menu item" msgstr "Fletxa amunt Desplaça el cursor a l'anterior partició" -#: disk-utils/cfdisk.c:2208 +#: disk-utils/cfdisk.c:2223 #, fuzzy msgid "Right Arrow Move cursor to the next menu item" msgstr "Fletxa avall Desplaça el cursor a la següent partició" -#: disk-utils/cfdisk.c:2210 +#: disk-utils/cfdisk.c:2225 msgid "Note: All of the commands can be entered with either upper or lower" msgstr "Nota: Totes les ordres es poden escriure en majúscules o" -#: disk-utils/cfdisk.c:2211 +#: disk-utils/cfdisk.c:2226 #, fuzzy msgid "case letters (except for Write)." msgstr "minúscules (excepte W per a escriure)." -#: disk-utils/cfdisk.c:2213 +#: disk-utils/cfdisk.c:2228 msgid "Use lsblk(8) or partx(8) to see more details about the device." msgstr "" -#: disk-utils/cfdisk.c:2223 disk-utils/cfdisk.c:2526 +#: disk-utils/cfdisk.c:2238 disk-utils/cfdisk.c:2541 #, fuzzy msgid "Press a key to continue." msgstr "Premeu una tecla per a continuar" -#: disk-utils/cfdisk.c:2309 +#: disk-utils/cfdisk.c:2324 #, fuzzy msgid "Could not toggle the flag." msgstr "No s'ha pogut obrir %s\n" -#: disk-utils/cfdisk.c:2319 +#: disk-utils/cfdisk.c:2334 #, fuzzy, c-format msgid "Could not delete partition %zu." msgstr "S'ha seleccionat la partició %d\n" -#: disk-utils/cfdisk.c:2321 disk-utils/fdisk-menu.c:662 +#: disk-utils/cfdisk.c:2336 disk-utils/fdisk-menu.c:662 #, fuzzy, c-format msgid "Partition %zu has been deleted." msgstr "La partició %d no té cap àrea de dades\n" -#: disk-utils/cfdisk.c:2342 +#: disk-utils/cfdisk.c:2357 #, fuzzy msgid "Partition size: " msgstr "" "\n" "%d particions:\n" -#: disk-utils/cfdisk.c:2383 +#: disk-utils/cfdisk.c:2398 #, fuzzy, c-format msgid "Changed type of partition %zu." msgstr "S'ha canviat el tipus del sistema de la partició %d per %x (%s)\n" -#: disk-utils/cfdisk.c:2385 +#: disk-utils/cfdisk.c:2400 #, fuzzy, c-format msgid "The type of partition %zu is unchanged." msgstr "S'ha canviat el tipus del sistema de la partició %d per %x (%s)\n" -#: disk-utils/cfdisk.c:2406 +#: disk-utils/cfdisk.c:2421 #, fuzzy msgid "New size: " msgstr "Nou intèrpret d'ordres" -#: disk-utils/cfdisk.c:2421 +#: disk-utils/cfdisk.c:2436 #, fuzzy, c-format msgid "Partition %zu resized." msgstr "No hi han particions definides\n" -#: disk-utils/cfdisk.c:2439 disk-utils/cfdisk.c:2555 disk-utils/fdisk.c:1140 +#: disk-utils/cfdisk.c:2454 disk-utils/cfdisk.c:2572 disk-utils/fdisk.c:1140 #: disk-utils/fdisk-menu.c:592 msgid "Device is open in read-only mode." msgstr "" -#: disk-utils/cfdisk.c:2444 +#: disk-utils/cfdisk.c:2459 #, fuzzy msgid "Are you sure you want to write the partition table to disk? " msgstr "Esteu segur que voleu escriure la taula de particions al disc? (sí o no): " -#: disk-utils/cfdisk.c:2446 +#: disk-utils/cfdisk.c:2461 msgid "Type \"yes\" or \"no\", or press ESC to leave this dialog." msgstr "" # FIXME: és possible que no es puga introduir l'accent. jm -#: disk-utils/cfdisk.c:2451 login-utils/lslogins.c:218 sys-utils/lscpu.c:1602 -#: sys-utils/lscpu.c:1612 sys-utils/lsmem.c:266 +#: disk-utils/cfdisk.c:2466 login-utils/lslogins.c:218 sys-utils/lscpu.c:1600 +#: sys-utils/lscpu.c:1610 sys-utils/lsmem.c:266 msgid "yes" msgstr "sí" -#: disk-utils/cfdisk.c:2452 +#: disk-utils/cfdisk.c:2467 #, fuzzy msgid "Did not write partition table to disk." msgstr "No s'ha escrit la taula de particions al disc" -#: disk-utils/cfdisk.c:2457 +#: disk-utils/cfdisk.c:2472 #, fuzzy msgid "Failed to write disklabel." msgstr "s'ha produït un error en cercar a write_tables" -#: disk-utils/cfdisk.c:2463 disk-utils/fdisk-menu.c:599 +#: disk-utils/cfdisk.c:2478 disk-utils/fdisk-menu.c:599 #, fuzzy msgid "The partition table has been altered." msgstr "" "S'ha modificat la taula de particions.\n" "\n" -#: disk-utils/cfdisk.c:2486 disk-utils/cfdisk.c:2557 +#: disk-utils/cfdisk.c:2501 disk-utils/cfdisk.c:2574 #, fuzzy msgid "Note that partition table entries are not in disk order now." msgstr "" "\n" "Les entrades a la taula de particions no estan en l'ordre del disc\n" -#: disk-utils/cfdisk.c:2523 +#: disk-utils/cfdisk.c:2538 #, c-format msgid "Device already contains a %s signature; it will be removed by a write command." msgstr "" -#: disk-utils/cfdisk.c:2534 +#: disk-utils/cfdisk.c:2550 #, fuzzy msgid "failed to create a new disklabel" msgstr "s'ha produït un error en cercar a write_tables" -#: disk-utils/cfdisk.c:2542 +#: disk-utils/cfdisk.c:2559 #, fuzzy msgid "failed to read partitions" msgstr "torna a llegir la taula de particions" -#: disk-utils/cfdisk.c:2641 +#: disk-utils/cfdisk.c:2658 #, fuzzy, c-format msgid " %1$s [options] \n" msgstr "Forma d'ús: %s [opcions] dispositiu ...\n" -#: disk-utils/cfdisk.c:2644 disk-utils/fdisk.c:857 disk-utils/sfdisk.c:2005 +#: disk-utils/cfdisk.c:2661 disk-utils/fdisk.c:857 disk-utils/sfdisk.c:2014 #, fuzzy msgid "Display or manipulate a disk partition table.\n" msgstr "torna a llegir la taula de particions" -#: disk-utils/cfdisk.c:2648 +#: disk-utils/cfdisk.c:2665 #, fuzzy, c-format msgid " -L, --color[=] colorize output (%s, %s or %s)\n" msgstr " -Q, --quiet-output No hi ha sortida normal\n" -#: disk-utils/cfdisk.c:2651 +#: disk-utils/cfdisk.c:2668 #, fuzzy msgid " -z, --zero start with zeroed partition table\n" msgstr " -Q, --quiet-output No hi ha sortida normal\n" -#: disk-utils/cfdisk.c:2653 +#: disk-utils/cfdisk.c:2670 #, fuzzy, c-format msgid " --lock[=] use exclusive device lock (%s, %s or %s)\n" msgstr " -Q, --quiet-output No hi ha sortida normal\n" -#: disk-utils/cfdisk.c:2694 disk-utils/fdisk.c:1016 disk-utils/sfdisk.c:2305 -#: misc-utils/cal.c:436 sys-utils/dmesg.c:1437 text-utils/hexdump.c:114 +#: disk-utils/cfdisk.c:2711 disk-utils/fdisk.c:1016 disk-utils/sfdisk.c:2315 +#: misc-utils/cal.c:436 sys-utils/dmesg.c:1437 text-utils/hexdump.c:121 #, fuzzy msgid "unsupported color mode" msgstr "cap ordre?\n" -#: disk-utils/cfdisk.c:2721 disk-utils/fdisk.c:951 disk-utils/sfdisk.c:231 +#: disk-utils/cfdisk.c:2738 disk-utils/fdisk.c:951 disk-utils/sfdisk.c:231 #, fuzzy msgid "failed to allocate libfdisk context" msgstr "No s'ha pogut assignar la memòria temporal.\n" @@ -863,7 +868,7 @@ msgstr "id invàlid : %s\n" msgid "invalid argument - repair" msgstr "id invàlid : %s\n" -#: disk-utils/fdformat.c:223 disk-utils/fsck.cramfs.c:151 +#: disk-utils/fdformat.c:223 disk-utils/fsck.cramfs.c:157 #: disk-utils/mkfs.bfs.c:182 disk-utils/mkfs.cramfs.c:337 #: disk-utils/mkfs.cramfs.c:758 disk-utils/mkfs.cramfs.c:796 #: disk-utils/mkfs.minix.c:820 disk-utils/mkswap.c:246 disk-utils/partx.c:959 @@ -872,12 +877,13 @@ msgstr "id invàlid : %s\n" #: sys-utils/blkzone.c:142 sys-utils/dmesg.c:532 sys-utils/fallocate.c:201 #: sys-utils/fsfreeze.c:119 sys-utils/fstrim.c:75 sys-utils/nsenter.c:166 #: sys-utils/nsenter.c:170 sys-utils/swapon.c:522 sys-utils/switch_root.c:94 -#: sys-utils/switch_root.c:137 term-utils/mesg.c:145 +#: sys-utils/switch_root.c:137 sys-utils/switch_root.c:142 +#: term-utils/mesg.c:145 #, fuzzy, c-format msgid "stat of %s failed" msgstr "(Fitxer següent: %s)" -#: disk-utils/fdformat.c:226 disk-utils/partx.c:1018 misc-utils/lsblk.c:1447 +#: disk-utils/fdformat.c:226 disk-utils/partx.c:1018 misc-utils/lsblk.c:1445 #: sys-utils/blkdiscard.c:230 sys-utils/blkzone.c:144 #: sys-utils/mountpoint.c:107 #, fuzzy, c-format @@ -930,7 +936,7 @@ msgid "Using default response %c." msgstr "S'està utilitzant el valor per defecte %u\n" #: disk-utils/fdisk.c:224 disk-utils/fdisk.c:298 disk-utils/fdisk.c:375 -#: libfdisk/src/dos.c:1382 libfdisk/src/gpt.c:2472 +#: libfdisk/src/dos.c:1382 libfdisk/src/gpt.c:2481 #, fuzzy msgid "Value out of range." msgstr "El valor està fora del rang.\n" @@ -1048,7 +1054,7 @@ msgstr "%s: no s'ha pogut llegir %s.\n" # Parla d'etiquetes, segurament és femení #: disk-utils/fdisk.c:789 libfdisk/src/bsd.c:258 libfdisk/src/dos.c:968 -#: libfdisk/src/gpt.c:2400 +#: libfdisk/src/gpt.c:2409 #, fuzzy msgid "First sector" msgstr "Primera %s" @@ -1142,7 +1148,7 @@ msgstr " -Q, --quiet-output No hi ha sortida normal\n" msgid " -w, --wipe wipe signatures (%s, %s or %s)\n" msgstr " -Q, --quiet-output No hi ha sortida normal\n" -#: disk-utils/fdisk.c:881 disk-utils/sfdisk.c:2059 +#: disk-utils/fdisk.c:881 disk-utils/sfdisk.c:2068 #, fuzzy, c-format msgid " -W, --wipe-partitions wipe signatures from new partitions (%s, %s or %s)\n" msgstr " -Q, --quiet-output No hi ha sortida normal\n" @@ -1202,8 +1208,8 @@ msgstr "%s: argument desconegut: %s\n" msgid "unsupported unit" msgstr "%s: argument desconegut: %s\n" -#: disk-utils/fdisk.c:1052 disk-utils/fdisk.c:1057 disk-utils/sfdisk.c:2266 -#: disk-utils/sfdisk.c:2271 +#: disk-utils/fdisk.c:1052 disk-utils/fdisk.c:1057 disk-utils/sfdisk.c:2276 +#: disk-utils/sfdisk.c:2281 #, fuzzy msgid "unsupported wipe mode" msgstr "cap ordre?\n" @@ -1213,20 +1219,20 @@ msgstr "cap ordre?\n" msgid "The device properties (sector size and geometry) should be used with one specified device only." msgstr "Avís: l'opció -b (estableix la mida del sector) s'ha d'usar amb un dispositiu específic\n" -#: disk-utils/fdisk.c:1109 disk-utils/fdisk.c:1124 disk-utils/fsck.cramfs.c:696 +#: disk-utils/fdisk.c:1109 disk-utils/fdisk.c:1124 disk-utils/fsck.cramfs.c:702 #: disk-utils/mkfs.bfs.c:192 disk-utils/mkfs.cramfs.c:786 #: disk-utils/partx.c:975 disk-utils/raw.c:136 disk-utils/raw.c:149 #: disk-utils/raw.c:161 disk-utils/raw.c:202 misc-utils/cal.c:534 -#: misc-utils/findfs.c:58 misc-utils/look.c:149 misc-utils/whereis.c:577 -#: misc-utils/whereis.c:588 misc-utils/whereis.c:599 misc-utils/whereis.c:641 -#: schedutils/chrt.c:513 schedutils/ionice.c:262 schedutils/taskset.c:188 +#: misc-utils/findfs.c:58 misc-utils/look.c:149 misc-utils/whereis.c:579 +#: misc-utils/whereis.c:590 misc-utils/whereis.c:601 misc-utils/whereis.c:643 +#: schedutils/chrt.c:514 schedutils/ionice.c:262 schedutils/taskset.c:188 #: sys-utils/chcpu.c:355 sys-utils/chmem.c:422 sys-utils/dmesg.c:1505 -#: sys-utils/ipcmk.c:138 sys-utils/ldattach.c:320 sys-utils/losetup.c:913 -#: sys-utils/lscpu.c:2426 sys-utils/lsmem.c:643 sys-utils/mount.c:824 +#: sys-utils/ipcmk.c:138 sys-utils/ldattach.c:320 sys-utils/losetup.c:917 +#: sys-utils/lscpu.c:2424 sys-utils/lsmem.c:643 sys-utils/mount.c:824 #: sys-utils/mount.c:832 sys-utils/mount.c:879 sys-utils/mount.c:892 #: sys-utils/mount.c:964 sys-utils/mountpoint.c:189 sys-utils/pivot_root.c:71 -#: sys-utils/swapoff.c:258 sys-utils/swapon.c:992 sys-utils/switch_root.c:249 -#: sys-utils/umount.c:598 term-utils/setterm.c:1197 text-utils/col.c:233 +#: sys-utils/swapoff.c:258 sys-utils/swapon.c:992 sys-utils/switch_root.c:259 +#: sys-utils/umount.c:607 term-utils/setterm.c:1197 text-utils/col.c:233 #: text-utils/more.c:2058 #, fuzzy msgid "bad usage" @@ -1237,7 +1243,7 @@ msgstr "valor d'expiració erroni: %s" msgid "Welcome to fdisk (%s)." msgstr "" -#: disk-utils/fdisk.c:1132 disk-utils/sfdisk.c:1771 +#: disk-utils/fdisk.c:1132 disk-utils/sfdisk.c:1779 #, fuzzy msgid "" "Changes will remain in memory only, until you decide to write them.\n" @@ -1309,10 +1315,10 @@ msgstr "No s'ha pogut assignar la memòria temporal.\n" #: disk-utils/fdisk-list.c:126 disk-utils/fdisk-list.c:247 #: disk-utils/partx.c:669 login-utils/lslogins.c:1066 misc-utils/fincore.c:356 -#: misc-utils/findmnt.c:1634 misc-utils/lsblk.c:2083 misc-utils/lslocks.c:456 +#: misc-utils/findmnt.c:1634 misc-utils/lsblk.c:2084 misc-utils/lslocks.c:456 #: misc-utils/uuidparse.c:252 misc-utils/wipefs.c:157 sys-utils/losetup.c:325 -#: sys-utils/lscpu.c:1674 sys-utils/lscpu.c:1902 sys-utils/lscpu.c:2034 -#: sys-utils/lsipc.c:351 sys-utils/prlimit.c:297 sys-utils/rfkill.c:459 +#: sys-utils/lscpu.c:1672 sys-utils/lscpu.c:1900 sys-utils/lscpu.c:2032 +#: sys-utils/lsipc.c:351 sys-utils/prlimit.c:297 sys-utils/rfkill.c:461 #: sys-utils/swapon.c:283 sys-utils/wdctl.c:299 sys-utils/zramctl.c:496 #: text-utils/column.c:209 #, fuzzy @@ -1321,10 +1327,10 @@ msgstr "No s'ha pogut assignar la memòria temporal.\n" #: disk-utils/fdisk-list.c:167 disk-utils/fdisk-list.c:271 #: disk-utils/partx.c:583 login-utils/lslogins.c:1124 misc-utils/fincore.c:123 -#: misc-utils/findmnt.c:697 misc-utils/findmnt.c:715 misc-utils/lsblk.c:1078 +#: misc-utils/findmnt.c:697 misc-utils/findmnt.c:715 misc-utils/lsblk.c:1076 #: misc-utils/lslocks.c:393 misc-utils/uuidparse.c:154 misc-utils/wipefs.c:224 -#: sys-utils/losetup.c:348 sys-utils/losetup.c:377 sys-utils/lscpu.c:1707 -#: sys-utils/lscpu.c:1930 sys-utils/lscpu.c:1958 sys-utils/lsipc.c:480 +#: sys-utils/losetup.c:348 sys-utils/losetup.c:377 sys-utils/lscpu.c:1705 +#: sys-utils/lscpu.c:1928 sys-utils/lscpu.c:1956 sys-utils/lsipc.c:480 #: sys-utils/lsipc.c:555 sys-utils/lsipc.c:657 sys-utils/lsipc.c:749 #: sys-utils/lsipc.c:910 sys-utils/prlimit.c:229 sys-utils/rfkill.c:376 #: sys-utils/swapon.c:179 sys-utils/wdctl.c:249 sys-utils/zramctl.c:414 @@ -1335,10 +1341,10 @@ msgstr "No s'ha pogut assignar la memòria temporal.\n" #: disk-utils/fdisk-list.c:177 disk-utils/fdisk-list.c:278 #: disk-utils/partx.c:646 login-utils/lslogins.c:1225 misc-utils/fincore.c:159 -#: misc-utils/findmnt.c:701 misc-utils/findmnt.c:720 misc-utils/lsblk.c:1119 +#: misc-utils/findmnt.c:701 misc-utils/findmnt.c:720 misc-utils/lsblk.c:1117 #: misc-utils/lslocks.c:443 misc-utils/uuidparse.c:239 misc-utils/wipefs.c:264 -#: sys-utils/losetup.c:305 sys-utils/lscpu.c:1773 sys-utils/lscpu.c:1938 -#: sys-utils/lscpu.c:1962 sys-utils/lscpu.c:1970 sys-utils/lsipc.c:514 +#: sys-utils/losetup.c:305 sys-utils/lscpu.c:1771 sys-utils/lscpu.c:1936 +#: sys-utils/lscpu.c:1960 sys-utils/lscpu.c:1968 sys-utils/lsipc.c:514 #: sys-utils/lsipc.c:639 sys-utils/prlimit.c:261 sys-utils/rfkill.c:404 #: sys-utils/swapon.c:227 sys-utils/wdctl.c:277 sys-utils/zramctl.c:481 #: text-utils/column.c:460 @@ -1363,24 +1369,24 @@ msgstr "" "\n" "Les entrades a la taula de particions no estan en l'ordre del disc\n" -#: disk-utils/fdisk-list.c:233 libfdisk/src/bsd.c:1026 libfdisk/src/dos.c:2600 -#: libfdisk/src/gpt.c:3141 libfdisk/src/sgi.c:1158 libfdisk/src/sun.c:1130 +#: disk-utils/fdisk-list.c:233 libfdisk/src/bsd.c:1026 libfdisk/src/dos.c:2610 +#: libfdisk/src/gpt.c:3149 libfdisk/src/sgi.c:1158 libfdisk/src/sun.c:1130 #, fuzzy msgid "Start" msgstr "inici" -#: disk-utils/fdisk-list.c:233 libfdisk/src/bsd.c:1027 libfdisk/src/dos.c:2601 -#: libfdisk/src/gpt.c:3142 libfdisk/src/sgi.c:1159 libfdisk/src/sun.c:1131 +#: disk-utils/fdisk-list.c:233 libfdisk/src/bsd.c:1027 libfdisk/src/dos.c:2611 +#: libfdisk/src/gpt.c:3150 libfdisk/src/sgi.c:1159 libfdisk/src/sun.c:1131 msgid "End" msgstr "Final" -#: disk-utils/fdisk-list.c:233 libfdisk/src/bsd.c:1028 libfdisk/src/dos.c:2602 -#: libfdisk/src/gpt.c:3143 libfdisk/src/sgi.c:1160 libfdisk/src/sun.c:1132 +#: disk-utils/fdisk-list.c:233 libfdisk/src/bsd.c:1028 libfdisk/src/dos.c:2612 +#: libfdisk/src/gpt.c:3151 libfdisk/src/sgi.c:1160 libfdisk/src/sun.c:1132 msgid "Sectors" msgstr "Sectors" -#: disk-utils/fdisk-list.c:233 libfdisk/src/bsd.c:1030 libfdisk/src/dos.c:2604 -#: libfdisk/src/gpt.c:3144 libfdisk/src/sgi.c:1162 libfdisk/src/sun.c:1134 +#: disk-utils/fdisk-list.c:233 libfdisk/src/bsd.c:1030 libfdisk/src/dos.c:2614 +#: libfdisk/src/gpt.c:3152 libfdisk/src/sgi.c:1162 libfdisk/src/sun.c:1134 msgid "Size" msgstr "" @@ -1743,7 +1749,7 @@ msgid "" "Help (expert commands):\n" msgstr "" -#: disk-utils/fdisk-menu.c:374 disk-utils/sfdisk.c:1435 +#: disk-utils/fdisk-menu.c:374 disk-utils/sfdisk.c:1443 #, fuzzy, c-format msgid "" "\n" @@ -1796,17 +1802,17 @@ msgstr "No s'ha pogut assignar la memòria temporal.\n" msgid "Script successfully saved." msgstr "" -#: disk-utils/fdisk-menu.c:556 disk-utils/sfdisk.c:1661 +#: disk-utils/fdisk-menu.c:556 disk-utils/sfdisk.c:1669 #, fuzzy, c-format msgid "Partition #%zu contains a %s signature." msgstr "Avís: la partició %d conté el sector 0\n" -#: disk-utils/fdisk-menu.c:559 disk-utils/sfdisk.c:1664 +#: disk-utils/fdisk-menu.c:559 disk-utils/sfdisk.c:1672 #, fuzzy msgid "Do you want to remove the signature?" msgstr "Desitgeu escriure això al disc? [ynq] " -#: disk-utils/fdisk-menu.c:564 disk-utils/sfdisk.c:1669 +#: disk-utils/fdisk-menu.c:564 disk-utils/sfdisk.c:1677 msgid "The signature will be removed by a write command." msgstr "" @@ -1880,6 +1886,11 @@ msgstr "Nombre de capçals" msgid "Number of sectors" msgstr "Nombre de sectors" +#: disk-utils/fdisk-menu.c:1105 +#, fuzzy, c-format +msgid "Failed to create '%s' disk label" +msgstr "s'ha produït un error en cercar a write_tables" + #: disk-utils/fsck.c:213 #, fuzzy, c-format msgid "%s is mounted\n" @@ -1890,13 +1901,13 @@ msgstr "%s està muntat.\t " msgid "%s is not mounted\n" msgstr "umount: %s: no s'ha trobat" -#: disk-utils/fsck.c:329 disk-utils/fsck.cramfs.c:174 -#: disk-utils/fsck.cramfs.c:181 disk-utils/fsck.cramfs.c:237 -#: disk-utils/fsck.cramfs.c:258 disk-utils/sfdisk.c:305 libfdisk/src/bsd.c:647 +#: disk-utils/fsck.c:329 disk-utils/fsck.cramfs.c:180 +#: disk-utils/fsck.cramfs.c:187 disk-utils/fsck.cramfs.c:243 +#: disk-utils/fsck.cramfs.c:264 disk-utils/sfdisk.c:305 libfdisk/src/bsd.c:647 #: login-utils/last.c:208 login-utils/last.c:245 login-utils/sulogin.c:657 #: misc-utils/hardlink.c:290 misc-utils/hardlink.c:292 #: sys-utils/ctrlaltdel.c:44 sys-utils/irq-common.c:220 sys-utils/rfkill.c:213 -#: sys-utils/setpriv.c:268 term-utils/setterm.c:746 term-utils/setterm.c:802 +#: sys-utils/setpriv.c:265 term-utils/setterm.c:746 term-utils/setterm.c:802 #: term-utils/setterm.c:806 term-utils/setterm.c:813 #, fuzzy, c-format msgid "cannot read %s" @@ -1954,8 +1965,8 @@ msgstr "s'ha produït un error en cercar" msgid "%s: failed to parse fstab" msgstr "%s: s'ha produït un error en obrir: %s\n" -#: disk-utils/fsck.c:685 login-utils/login.c:1016 login-utils/sulogin.c:1024 -#: login-utils/vipw.c:208 sys-utils/flock.c:348 sys-utils/nsenter.c:182 +#: disk-utils/fsck.c:685 login-utils/login.c:1019 login-utils/sulogin.c:1024 +#: login-utils/vipw.c:208 sys-utils/flock.c:350 sys-utils/nsenter.c:182 #: sys-utils/swapon.c:319 sys-utils/unshare.c:242 sys-utils/unshare.c:567 #, fuzzy msgid "fork failed" @@ -1970,7 +1981,7 @@ msgstr "no ha estat possible executar openpty\n" msgid "wait: no more child process?!?" msgstr "" -#: disk-utils/fsck.c:783 sys-utils/flock.c:366 sys-utils/swapon.c:351 +#: disk-utils/fsck.c:783 sys-utils/flock.c:368 sys-utils/swapon.c:351 #: sys-utils/unshare.c:594 sys-utils/unshare.c:607 #, fuzzy msgid "waitpid failed" @@ -2159,284 +2170,284 @@ msgstr "id invàlid : %s\n" msgid "the -l option can be used with one device only -- ignore" msgstr "" -#: disk-utils/fsck.cramfs.c:111 +#: disk-utils/fsck.cramfs.c:117 #, fuzzy, c-format msgid " %s [options] \n" msgstr "Forma d'ús: %s [opcions] dispositiu ...\n" -#: disk-utils/fsck.cramfs.c:114 +#: disk-utils/fsck.cramfs.c:120 msgid "Check and repair a compressed ROM filesystem.\n" msgstr "" -#: disk-utils/fsck.cramfs.c:117 +#: disk-utils/fsck.cramfs.c:123 msgid " -a for compatibility only, ignored\n" msgstr "" -#: disk-utils/fsck.cramfs.c:118 +#: disk-utils/fsck.cramfs.c:124 #, fuzzy msgid " -v, --verbose be more verbose\n" msgstr " -V, --version Mostra la informació de la versió\n" -#: disk-utils/fsck.cramfs.c:119 +#: disk-utils/fsck.cramfs.c:125 msgid " -y for compatibility only, ignored\n" msgstr "" -#: disk-utils/fsck.cramfs.c:120 +#: disk-utils/fsck.cramfs.c:126 msgid " -b, --blocksize use this blocksize, defaults to page size\n" msgstr "" -#: disk-utils/fsck.cramfs.c:121 +#: disk-utils/fsck.cramfs.c:127 msgid " --extract[=] test uncompression, optionally extract into \n" msgstr "" -#: disk-utils/fsck.cramfs.c:161 +#: disk-utils/fsck.cramfs.c:167 #, fuzzy, c-format msgid "ioctl failed: unable to determine device size: %s" msgstr "%s: avís; no es pot determinar la mida del sistema de fitxers \n" -#: disk-utils/fsck.cramfs.c:167 +#: disk-utils/fsck.cramfs.c:173 #, fuzzy, c-format msgid "not a block device or file: %s" msgstr "%s no és cap dispositiu de bloc o un fitxer\n" -#: disk-utils/fsck.cramfs.c:170 disk-utils/fsck.cramfs.c:206 +#: disk-utils/fsck.cramfs.c:176 disk-utils/fsck.cramfs.c:212 #, fuzzy msgid "file length too short" msgstr "%s: el cramfs és invàlid, la longitud del fitxer és massa curta\n" -#: disk-utils/fsck.cramfs.c:179 disk-utils/fsck.cramfs.c:234 -#: disk-utils/fsck.cramfs.c:254 libfdisk/src/bsd.c:719 libfdisk/src/bsd.c:901 +#: disk-utils/fsck.cramfs.c:185 disk-utils/fsck.cramfs.c:240 +#: disk-utils/fsck.cramfs.c:260 libfdisk/src/bsd.c:719 libfdisk/src/bsd.c:901 #: login-utils/last.c:203 login-utils/last.c:237 sys-utils/fallocate.c:206 #, fuzzy, c-format msgid "seek on %s failed" msgstr "la cerca ha fallat" -#: disk-utils/fsck.cramfs.c:185 disk-utils/fsck.cramfs.c:187 +#: disk-utils/fsck.cramfs.c:191 disk-utils/fsck.cramfs.c:193 msgid "superblock magic not found" msgstr "" -#: disk-utils/fsck.cramfs.c:190 +#: disk-utils/fsck.cramfs.c:196 #, c-format msgid "cramfs endianness is %s\n" msgstr "" -#: disk-utils/fsck.cramfs.c:191 +#: disk-utils/fsck.cramfs.c:197 msgid "big" msgstr "" -#: disk-utils/fsck.cramfs.c:191 +#: disk-utils/fsck.cramfs.c:197 msgid "little" msgstr "" -#: disk-utils/fsck.cramfs.c:195 +#: disk-utils/fsck.cramfs.c:201 #, fuzzy msgid "unsupported filesystem features" msgstr "Introduïu el tipus del sistema de fitxers: " -#: disk-utils/fsck.cramfs.c:199 +#: disk-utils/fsck.cramfs.c:205 #, fuzzy, c-format msgid "superblock size (%d) too small" msgstr "Nombre de sectors" -#: disk-utils/fsck.cramfs.c:204 +#: disk-utils/fsck.cramfs.c:210 msgid "zero file count" msgstr "" -#: disk-utils/fsck.cramfs.c:208 +#: disk-utils/fsck.cramfs.c:214 #, fuzzy msgid "file extends past end of filesystem" msgstr "Avís: la partició %s s'extén més enllà del final del disc\n" -#: disk-utils/fsck.cramfs.c:210 +#: disk-utils/fsck.cramfs.c:216 #, fuzzy msgid "old cramfs format" msgstr "%s: avís; la imatge cramfs és antiga, no té CRC\n" -#: disk-utils/fsck.cramfs.c:219 +#: disk-utils/fsck.cramfs.c:225 msgid "unable to test CRC: old cramfs format" msgstr "" -#: disk-utils/fsck.cramfs.c:239 +#: disk-utils/fsck.cramfs.c:245 #, fuzzy, c-format msgid "failed to read % bytes from file %s" msgstr "no ha estat possible executar ioctl() per llegir l'hora de %s" -#: disk-utils/fsck.cramfs.c:277 +#: disk-utils/fsck.cramfs.c:283 #, fuzzy msgid "crc error" msgstr ", error" -#: disk-utils/fsck.cramfs.c:307 disk-utils/fsck.minix.c:558 +#: disk-utils/fsck.cramfs.c:313 disk-utils/fsck.minix.c:558 msgid "seek failed" msgstr "la cerca ha fallat" -#: disk-utils/fsck.cramfs.c:311 +#: disk-utils/fsck.cramfs.c:317 #, fuzzy msgid "read romfs failed" msgstr "(Fitxer següent: %s)" -#: disk-utils/fsck.cramfs.c:343 +#: disk-utils/fsck.cramfs.c:349 #, fuzzy msgid "root inode is not directory" msgstr "el node d'identificació arrel no és un directori" -#: disk-utils/fsck.cramfs.c:347 +#: disk-utils/fsck.cramfs.c:353 #, c-format msgid "bad root offset (%lu)" msgstr "" -#: disk-utils/fsck.cramfs.c:365 +#: disk-utils/fsck.cramfs.c:371 msgid "data block too large" msgstr "" -#: disk-utils/fsck.cramfs.c:369 +#: disk-utils/fsck.cramfs.c:375 #, fuzzy, c-format msgid "decompression error: %s" msgstr "s'ha produït un error en cercar" -#: disk-utils/fsck.cramfs.c:395 +#: disk-utils/fsck.cramfs.c:401 #, fuzzy, c-format msgid " hole at %lu (%zu)\n" msgstr " forat a %ld (%d)\n" -#: disk-utils/fsck.cramfs.c:402 disk-utils/fsck.cramfs.c:554 +#: disk-utils/fsck.cramfs.c:408 disk-utils/fsck.cramfs.c:560 #, fuzzy, c-format msgid " uncompressing block at %lu to %lu (%lu)\n" msgstr " s'està descomprimint el bloc de %ld a %ld (%ld)\n" -#: disk-utils/fsck.cramfs.c:409 +#: disk-utils/fsck.cramfs.c:415 #, fuzzy, c-format msgid "non-block (%ld) bytes" msgstr "%s: No bloc (%ld) octets\n" # "No mida" no és gens correcte... jm -#: disk-utils/fsck.cramfs.c:413 +#: disk-utils/fsck.cramfs.c:419 #, fuzzy, c-format msgid "non-size (%ld vs %ld) bytes" msgstr "%s: Octets sense mida (%ld vs %ld)\n" -#: disk-utils/fsck.cramfs.c:418 disk-utils/fsck.cramfs.c:520 -#: disk-utils/swaplabel.c:109 misc-utils/uuidd.c:369 sys-utils/fallocate.c:414 -#: sys-utils/rfkill.c:560 sys-utils/setpriv.c:634 sys-utils/setpriv.c:657 +#: disk-utils/fsck.cramfs.c:424 disk-utils/fsck.cramfs.c:526 +#: disk-utils/swaplabel.c:109 misc-utils/uuidd.c:369 sys-utils/fallocate.c:417 +#: sys-utils/rfkill.c:564 sys-utils/setpriv.c:628 sys-utils/setpriv.c:651 #: sys-utils/swapon.c:392 term-utils/script.c:318 term-utils/ttymsg.c:175 #, fuzzy, c-format msgid "write failed: %s" msgstr "(Fitxer següent: %s)" -#: disk-utils/fsck.cramfs.c:428 +#: disk-utils/fsck.cramfs.c:434 #, fuzzy, c-format msgid "lchown failed: %s" msgstr "no s'ha estat possible muntar" -#: disk-utils/fsck.cramfs.c:432 +#: disk-utils/fsck.cramfs.c:438 #, fuzzy, c-format msgid "chown failed: %s" msgstr "no s'ha estat possible muntar" -#: disk-utils/fsck.cramfs.c:437 +#: disk-utils/fsck.cramfs.c:443 #, fuzzy, c-format msgid "utimes failed: %s" msgstr "valor d'expiració erroni: %s" -#: disk-utils/fsck.cramfs.c:449 +#: disk-utils/fsck.cramfs.c:455 #, c-format msgid "directory inode has zero offset and non-zero size: %s" msgstr "" -#: disk-utils/fsck.cramfs.c:464 +#: disk-utils/fsck.cramfs.c:470 #, fuzzy, c-format msgid "mkdir failed: %s" msgstr "/dev: chdir() ha fallat: %m" -#: disk-utils/fsck.cramfs.c:480 +#: disk-utils/fsck.cramfs.c:486 msgid "filename length is zero" msgstr "" -#: disk-utils/fsck.cramfs.c:482 +#: disk-utils/fsck.cramfs.c:488 msgid "bad filename length" msgstr "" -#: disk-utils/fsck.cramfs.c:488 +#: disk-utils/fsck.cramfs.c:494 #, fuzzy msgid "bad inode offset" msgstr "mida de node d'identificació incorrecte" -#: disk-utils/fsck.cramfs.c:503 +#: disk-utils/fsck.cramfs.c:509 msgid "file inode has zero offset and non-zero size" msgstr "" -#: disk-utils/fsck.cramfs.c:506 +#: disk-utils/fsck.cramfs.c:512 msgid "file inode has zero size and non-zero offset" msgstr "" -#: disk-utils/fsck.cramfs.c:535 +#: disk-utils/fsck.cramfs.c:541 msgid "symbolic link has zero offset" msgstr "" -#: disk-utils/fsck.cramfs.c:537 +#: disk-utils/fsck.cramfs.c:543 msgid "symbolic link has zero size" msgstr "" -#: disk-utils/fsck.cramfs.c:546 +#: disk-utils/fsck.cramfs.c:552 #, fuzzy, c-format msgid "size error in symlink: %s" msgstr "%s: hi ha un error en la mida de l'enllaç simbòlic «%s»\n" -#: disk-utils/fsck.cramfs.c:560 +#: disk-utils/fsck.cramfs.c:566 #, fuzzy, c-format msgid "symlink failed: %s" msgstr "no s'ha pogut fer fsync" -#: disk-utils/fsck.cramfs.c:573 +#: disk-utils/fsck.cramfs.c:579 #, c-format msgid "special file has non-zero offset: %s" msgstr "" -#: disk-utils/fsck.cramfs.c:583 +#: disk-utils/fsck.cramfs.c:589 #, c-format msgid "fifo has non-zero size: %s" msgstr "" -#: disk-utils/fsck.cramfs.c:589 +#: disk-utils/fsck.cramfs.c:595 #, c-format msgid "socket has non-zero size: %s" msgstr "" -#: disk-utils/fsck.cramfs.c:592 +#: disk-utils/fsck.cramfs.c:598 #, fuzzy, c-format msgid "bogus mode: %s (%o)" msgstr "%s: mode erroni a «%s» (%o)\n" -#: disk-utils/fsck.cramfs.c:601 +#: disk-utils/fsck.cramfs.c:607 #, fuzzy, c-format msgid "mknod failed: %s" msgstr "no s'ha estat possible muntar" -#: disk-utils/fsck.cramfs.c:633 +#: disk-utils/fsck.cramfs.c:639 #, fuzzy, c-format msgid "directory data start (%lu) < sizeof(struct cramfs_super) + start (%zu)" msgstr "" "%s: el cramfs és invàlid, el final de les dades als directoris (%ld)\n" "és diferent de l'inici de les dades dels fitxers (%ld)\n" -#: disk-utils/fsck.cramfs.c:637 +#: disk-utils/fsck.cramfs.c:643 #, fuzzy, c-format msgid "directory data end (%lu) != file data start (%lu)" msgstr "" "%s: el cramfs és invàlid, el final de les dades als directoris (%ld)\n" "és diferent de l'inici de les dades dels fitxers (%ld)\n" -#: disk-utils/fsck.cramfs.c:641 +#: disk-utils/fsck.cramfs.c:647 #, fuzzy msgid "invalid file data offset" msgstr "%s: el cramfs és invàlid, hi ha un desplaçament invàlid de les dades dels fitxers\n" -#: disk-utils/fsck.cramfs.c:689 disk-utils/mkfs.cramfs.c:736 +#: disk-utils/fsck.cramfs.c:695 disk-utils/mkfs.cramfs.c:736 #, fuzzy msgid "invalid blocksize argument" msgstr "umount: %s: dispositiu de blocs no vàlid" -#: disk-utils/fsck.cramfs.c:712 +#: disk-utils/fsck.cramfs.c:729 #, c-format msgid "%s: OK\n" msgstr "%s: Correcte\n" @@ -3111,7 +3122,7 @@ msgid "" " specifying -V more than once will cause a dry-run\n" msgstr "" -#: disk-utils/mkfs.c:133 include/c.h:254 login-utils/su-common.c:1214 +#: disk-utils/mkfs.c:133 include/c.h:254 login-utils/su-common.c:1215 #: login-utils/sulogin.c:793 login-utils/sulogin.c:797 sys-utils/flock.c:123 #: sys-utils/rtcwake.c:621 #, fuzzy, c-format @@ -3579,7 +3590,7 @@ msgid "" " -U, --uuid UUID specify the uuid to use\n" msgstr "" -#: disk-utils/mkswap.c:166 disk-utils/sfdisk.c:2048 +#: disk-utils/mkswap.c:166 disk-utils/sfdisk.c:2057 #, fuzzy, c-format msgid " --lock[=] use exclusive device lock (%s, %s or %s)\n" msgstr " -Q, --quiet-output No hi ha sortida normal\n" @@ -3810,7 +3821,7 @@ msgstr "" msgid "partition type (a string, a UUID, or hex)" msgstr "" -#: disk-utils/partx.c:114 sys-utils/losetup.c:534 sys-utils/losetup.c:648 +#: disk-utils/partx.c:114 sys-utils/losetup.c:534 sys-utils/losetup.c:652 #, fuzzy msgid "failed to initialize loopcxt" msgstr "No s'ha pogut assignar la memòria temporal.\n" @@ -3830,7 +3841,7 @@ msgstr "mount: s'usarà el dispositiu loop %s\n" msgid "%s: failed to set backing file" msgstr "%s: s'ha produït un error en obrir: %s\n" -#: disk-utils/partx.c:131 sys-utils/losetup.c:581 +#: disk-utils/partx.c:131 sys-utils/losetup.c:585 #, fuzzy, c-format msgid "%s: failed to set up loop device" msgstr "no s'ha pogut rebobinar el dispositiu d'intercanvi" @@ -3939,9 +3950,9 @@ msgstr[0] "" msgstr[1] "" #: disk-utils/partx.c:680 misc-utils/fincore.c:370 misc-utils/findmnt.c:1662 -#: misc-utils/lsblk.c:2122 misc-utils/lslocks.c:471 sys-utils/losetup.c:339 -#: sys-utils/lscpu.c:1683 sys-utils/lscpu.c:1911 sys-utils/prlimit.c:306 -#: sys-utils/rfkill.c:471 sys-utils/swapon.c:292 sys-utils/wdctl.c:310 +#: misc-utils/lsblk.c:2123 misc-utils/lslocks.c:471 sys-utils/losetup.c:339 +#: sys-utils/lscpu.c:1681 sys-utils/lscpu.c:1909 sys-utils/prlimit.c:306 +#: sys-utils/rfkill.c:473 sys-utils/swapon.c:292 sys-utils/wdctl.c:310 #, fuzzy msgid "failed to allocate output column" msgstr "No s'ha pogut assignar la memòria temporal.\n" @@ -3994,7 +4005,7 @@ msgid "" "\n" msgstr " paràmetres\n" -#: disk-utils/partx.c:766 misc-utils/lsblk.c:1780 sys-utils/lsmem.c:515 +#: disk-utils/partx.c:766 misc-utils/lsblk.c:1778 sys-utils/lsmem.c:515 msgid " -b, --bytes print SIZE in bytes rather than in human readable format\n" msgstr "" @@ -4016,13 +4027,13 @@ msgstr " -o, --options=cadena_opcions Opcions curtes a reconèixer\n" msgid " --output-all output all columns\n" msgstr " -o, --options=cadena_opcions Opcions curtes a reconèixer\n" -#: disk-utils/partx.c:771 misc-utils/lsblk.c:1776 sys-utils/lsirq.c:64 +#: disk-utils/partx.c:771 misc-utils/lsblk.c:1774 sys-utils/lsirq.c:64 #: sys-utils/lsmem.c:513 #, fuzzy msgid " -P, --pairs use key=\"value\" output format\n" msgstr " -V, --version Mostra la informació de la versió\n" -#: disk-utils/partx.c:772 misc-utils/lsblk.c:1791 sys-utils/lsmem.c:519 +#: disk-utils/partx.c:772 misc-utils/lsblk.c:1789 sys-utils/lsmem.c:519 #, fuzzy msgid " -r, --raw use raw output format\n" msgstr " -V, --version Mostra la informació de la versió\n" @@ -4281,57 +4292,57 @@ msgstr "aconsegueix la mida en octets" msgid "Do you want to move partition data?" msgstr "Desitgeu escriure això al disc? [ynq] " -#: disk-utils/sfdisk.c:489 disk-utils/sfdisk.c:1975 +#: disk-utils/sfdisk.c:489 disk-utils/sfdisk.c:1984 msgid "Leaving." msgstr "" -#: disk-utils/sfdisk.c:549 +#: disk-utils/sfdisk.c:550 #, c-format msgid "cannot read at offset: %zu; continue" msgstr "" -#: disk-utils/sfdisk.c:560 +#: disk-utils/sfdisk.c:561 #, c-format msgid "cannot write at offset: %zu; continue" msgstr "" -#: disk-utils/sfdisk.c:589 +#: disk-utils/sfdisk.c:590 #, c-format msgid "Moved %ju from %ju sectors (%.3f%%, %.1f MiB/s)." msgstr "" -#: disk-utils/sfdisk.c:594 +#: disk-utils/sfdisk.c:595 #, c-format msgid "Moved %ju from %ju sectors (%.3f%%)." msgstr "" -#: disk-utils/sfdisk.c:612 +#: disk-utils/sfdisk.c:619 #, c-format msgid "Moved %ju from %ju sectors (%.0f%%)." msgstr "" -#: disk-utils/sfdisk.c:626 +#: disk-utils/sfdisk.c:632 msgid "Your data has not been moved (--no-act)." msgstr "" -#: disk-utils/sfdisk.c:628 +#: disk-utils/sfdisk.c:634 #, c-format msgid "%zu I/O errors detected!" msgstr "" -#: disk-utils/sfdisk.c:631 +#: disk-utils/sfdisk.c:637 #, fuzzy, c-format msgid "%s: failed to move data" msgstr "%s: s'ha produït un error en obrir: %s\n" -#: disk-utils/sfdisk.c:641 +#: disk-utils/sfdisk.c:649 #, fuzzy msgid "The partition table is unchanged (--no-act)." msgstr "" "S'ha modificat la taula de particions.\n" "\n" -#: disk-utils/sfdisk.c:649 +#: disk-utils/sfdisk.c:657 #, fuzzy msgid "" "\n" @@ -4340,12 +4351,12 @@ msgstr "" "S'ha modificat la taula de particions.\n" "\n" -#: disk-utils/sfdisk.c:724 +#: disk-utils/sfdisk.c:732 #, fuzzy, c-format msgid "unsupported label '%s'" msgstr "%s: argument desconegut: %s\n" -#: disk-utils/sfdisk.c:727 +#: disk-utils/sfdisk.c:735 msgid "" "Id Name\n" "\n" @@ -4353,310 +4364,310 @@ msgstr "" "Id Nom\n" "\n" -#: disk-utils/sfdisk.c:754 +#: disk-utils/sfdisk.c:762 #, fuzzy msgid "unrecognized partition table type" msgstr " %s: no s'ha pogut reconèixer el tipus de la taula de particions\n" -#: disk-utils/sfdisk.c:807 +#: disk-utils/sfdisk.c:815 #, fuzzy, c-format msgid "Cannot get size of %s" msgstr "No s'ha pogut obtenir la mida de %s\n" -#: disk-utils/sfdisk.c:844 +#: disk-utils/sfdisk.c:852 #, fuzzy, c-format msgid "total: %ju blocks\n" msgstr "total: %llu blocs\n" -#: disk-utils/sfdisk.c:903 disk-utils/sfdisk.c:981 disk-utils/sfdisk.c:1018 -#: disk-utils/sfdisk.c:1043 disk-utils/sfdisk.c:1113 disk-utils/sfdisk.c:1180 -#: disk-utils/sfdisk.c:1235 disk-utils/sfdisk.c:1291 disk-utils/sfdisk.c:1344 -#: disk-utils/sfdisk.c:1382 disk-utils/sfdisk.c:1718 +#: disk-utils/sfdisk.c:911 disk-utils/sfdisk.c:989 disk-utils/sfdisk.c:1026 +#: disk-utils/sfdisk.c:1051 disk-utils/sfdisk.c:1121 disk-utils/sfdisk.c:1188 +#: disk-utils/sfdisk.c:1243 disk-utils/sfdisk.c:1299 disk-utils/sfdisk.c:1352 +#: disk-utils/sfdisk.c:1390 disk-utils/sfdisk.c:1726 #, fuzzy msgid "no disk device specified" msgstr "mount: el dispositiu loop està especificat dues vegades" -#: disk-utils/sfdisk.c:913 +#: disk-utils/sfdisk.c:921 msgid "toggle boot flags is unsupported for Hybrid GPT/MBR" msgstr "" -#: disk-utils/sfdisk.c:918 +#: disk-utils/sfdisk.c:926 #, fuzzy msgid "cannot switch to PMBR" msgstr "no es pot fer \"stat\" al dispositiu %s" -#: disk-utils/sfdisk.c:919 +#: disk-utils/sfdisk.c:927 msgid "Activation is unsupported for GPT -- entering nested PMBR." msgstr "" -#: disk-utils/sfdisk.c:922 +#: disk-utils/sfdisk.c:930 msgid "toggle boot flags is supported for MBR or PMBR only" msgstr "" -#: disk-utils/sfdisk.c:954 disk-utils/sfdisk.c:997 disk-utils/sfdisk.c:1118 -#: disk-utils/sfdisk.c:1185 disk-utils/sfdisk.c:1240 disk-utils/sfdisk.c:1296 -#: disk-utils/sfdisk.c:1716 disk-utils/sfdisk.c:2240 +#: disk-utils/sfdisk.c:962 disk-utils/sfdisk.c:1005 disk-utils/sfdisk.c:1126 +#: disk-utils/sfdisk.c:1193 disk-utils/sfdisk.c:1248 disk-utils/sfdisk.c:1304 +#: disk-utils/sfdisk.c:1724 disk-utils/sfdisk.c:2250 #, fuzzy msgid "failed to parse partition number" msgstr "s'ha produït un error en cercar a write_tables" -#: disk-utils/sfdisk.c:959 +#: disk-utils/sfdisk.c:967 #, c-format msgid "%s: partition %d: failed to toggle bootable flag" msgstr "" -#: disk-utils/sfdisk.c:992 disk-utils/sfdisk.c:1000 +#: disk-utils/sfdisk.c:1000 disk-utils/sfdisk.c:1008 #, fuzzy, c-format msgid "%s: partition %zu: failed to delete" msgstr "s'ha produït un error en cercar a write_tables" -#: disk-utils/sfdisk.c:1048 +#: disk-utils/sfdisk.c:1056 #, fuzzy, c-format msgid "%s: does not contain a recognized partition table" msgstr "El disc %s no conté una taula de particions vàlida\n" -#: disk-utils/sfdisk.c:1052 +#: disk-utils/sfdisk.c:1060 #, fuzzy msgid "failed to allocate dump struct" msgstr "No s'ha pogut assignar la memòria temporal.\n" -#: disk-utils/sfdisk.c:1056 +#: disk-utils/sfdisk.c:1064 #, fuzzy, c-format msgid "%s: failed to dump partition table" msgstr "torna a llegir la taula de particions" -#: disk-utils/sfdisk.c:1091 +#: disk-utils/sfdisk.c:1099 #, fuzzy, c-format msgid "%s: no partition table found" msgstr "No hi ha cap taula de particions.\n" -#: disk-utils/sfdisk.c:1095 +#: disk-utils/sfdisk.c:1103 #, fuzzy, c-format msgid "%s: partition %zu: partition table contains only %zu partitions" msgstr "El disc %s no conté una taula de particions vàlida\n" -#: disk-utils/sfdisk.c:1098 +#: disk-utils/sfdisk.c:1106 #, fuzzy, c-format msgid "%s: partition %zu: partition is unused" msgstr "Avís: la partició %d cavalca amb la partició %d.\n" -#: disk-utils/sfdisk.c:1117 disk-utils/sfdisk.c:1184 disk-utils/sfdisk.c:1239 -#: disk-utils/sfdisk.c:1295 +#: disk-utils/sfdisk.c:1125 disk-utils/sfdisk.c:1192 disk-utils/sfdisk.c:1247 +#: disk-utils/sfdisk.c:1303 #, fuzzy msgid "no partition number specified" msgstr "No s'ha especificat l'opció --date.\n" -#: disk-utils/sfdisk.c:1123 disk-utils/sfdisk.c:1190 disk-utils/sfdisk.c:1245 -#: disk-utils/sfdisk.c:1301 disk-utils/sfdisk.c:1350 disk-utils/sfdisk.c:1384 -#: sys-utils/losetup.c:778 +#: disk-utils/sfdisk.c:1131 disk-utils/sfdisk.c:1198 disk-utils/sfdisk.c:1253 +#: disk-utils/sfdisk.c:1309 disk-utils/sfdisk.c:1358 disk-utils/sfdisk.c:1392 +#: sys-utils/losetup.c:782 #, fuzzy msgid "unexpected arguments" msgstr "màx. nombre de segments = %lu\n" -#: disk-utils/sfdisk.c:1138 +#: disk-utils/sfdisk.c:1146 #, fuzzy, c-format msgid "%s: partition %zu: failed to get partition type" msgstr "s'ha produït un error en cercar a write_tables" -#: disk-utils/sfdisk.c:1160 +#: disk-utils/sfdisk.c:1168 #, fuzzy, c-format msgid "failed to parse %s partition type '%s'" msgstr "%s: s'ha produït un error en obrir: %s\n" -#: disk-utils/sfdisk.c:1164 +#: disk-utils/sfdisk.c:1172 #, fuzzy, c-format msgid "%s: partition %zu: failed to set partition type" msgstr "El disc %s no conté una taula de particions vàlida\n" -#: disk-utils/sfdisk.c:1202 +#: disk-utils/sfdisk.c:1210 #, fuzzy, c-format msgid "%s: partition %zu: failed to get partition UUID" msgstr "El disc %s no conté una taula de particions vàlida\n" -#: disk-utils/sfdisk.c:1215 disk-utils/sfdisk.c:1270 disk-utils/sfdisk.c:1324 +#: disk-utils/sfdisk.c:1223 disk-utils/sfdisk.c:1278 disk-utils/sfdisk.c:1332 #, fuzzy msgid "failed to allocate partition object" msgstr "No s'ha pogut assignar la memòria temporal.\n" -#: disk-utils/sfdisk.c:1219 +#: disk-utils/sfdisk.c:1227 #, fuzzy, c-format msgid "%s: partition %zu: failed to set partition UUID" msgstr "El disc %s no conté una taula de particions vàlida\n" -#: disk-utils/sfdisk.c:1257 +#: disk-utils/sfdisk.c:1265 #, fuzzy, c-format msgid "%s: partition %zu: failed to get partition name" msgstr "s'ha produït un error en cercar a write_tables" -#: disk-utils/sfdisk.c:1274 +#: disk-utils/sfdisk.c:1282 #, fuzzy, c-format msgid "%s: partition %zu: failed to set partition name" msgstr "s'ha produït un error en cercar a write_tables" -#: disk-utils/sfdisk.c:1328 +#: disk-utils/sfdisk.c:1336 #, fuzzy, c-format msgid "%s: partition %zu: failed to set partition attributes" msgstr "El disc %s no conté una taula de particions vàlida\n" -#: disk-utils/sfdisk.c:1365 +#: disk-utils/sfdisk.c:1373 #, fuzzy, c-format msgid "%s: failed to set disklabel ID" msgstr "%s: s'ha produït un error en obrir: %s\n" -#: disk-utils/sfdisk.c:1380 +#: disk-utils/sfdisk.c:1388 #, fuzzy msgid "no relocate operation specified" msgstr "No s'ha especificat l'opció --date.\n" -#: disk-utils/sfdisk.c:1394 +#: disk-utils/sfdisk.c:1402 #, fuzzy msgid "unsupported relocation operation" msgstr "%s: argument desconegut: %s\n" -#: disk-utils/sfdisk.c:1439 +#: disk-utils/sfdisk.c:1447 #, fuzzy msgid " Commands:\n" msgstr "Ordres disponibles:\n" -#: disk-utils/sfdisk.c:1441 +#: disk-utils/sfdisk.c:1449 #, fuzzy msgid " write write table to disk and exit\n" msgstr " w escriu la taula al disc i surt" -#: disk-utils/sfdisk.c:1442 +#: disk-utils/sfdisk.c:1450 msgid " quit show new situation and wait for user's feedback before write\n" msgstr "" -#: disk-utils/sfdisk.c:1443 +#: disk-utils/sfdisk.c:1451 msgid " abort exit sfdisk shell\n" msgstr "" -#: disk-utils/sfdisk.c:1444 +#: disk-utils/sfdisk.c:1452 #, fuzzy msgid " print display the partition table\n" msgstr " p imprimeix la taula de particions BSD" -#: disk-utils/sfdisk.c:1445 +#: disk-utils/sfdisk.c:1453 #, fuzzy msgid " help show this help text\n" msgstr " -h, --help Aquesta petita guia d'ús\n" -#: disk-utils/sfdisk.c:1447 +#: disk-utils/sfdisk.c:1455 msgid " Ctrl-D the same as 'quit'\n" msgstr "" -#: disk-utils/sfdisk.c:1451 +#: disk-utils/sfdisk.c:1459 msgid " Input format:\n" msgstr "" -#: disk-utils/sfdisk.c:1453 +#: disk-utils/sfdisk.c:1461 msgid " , , , \n" msgstr "" -#: disk-utils/sfdisk.c:1456 +#: disk-utils/sfdisk.c:1464 msgid "" " Beginning of the partition in sectors, or bytes if\n" " specified in the format {K,M,G,T,P,E,Z,Y}.\n" " The default is the first free space.\n" msgstr "" -#: disk-utils/sfdisk.c:1461 +#: disk-utils/sfdisk.c:1469 msgid "" " Size of the partition in sectors, or bytes if\n" " specified in the format {K,M,G,T,P,E,Z,Y}.\n" " The default is all available space.\n" msgstr "" -#: disk-utils/sfdisk.c:1466 +#: disk-utils/sfdisk.c:1474 msgid " The partition type. Default is a Linux data partition.\n" msgstr "" -#: disk-utils/sfdisk.c:1467 +#: disk-utils/sfdisk.c:1475 msgid " MBR: hex or L,S,Ex,X,U,R,V shortcuts.\n" msgstr "" -#: disk-utils/sfdisk.c:1468 +#: disk-utils/sfdisk.c:1476 msgid " GPT: UUID or L,S,H,U,R,V shortcuts.\n" msgstr "" -#: disk-utils/sfdisk.c:1471 +#: disk-utils/sfdisk.c:1479 #, fuzzy msgid " Use '*' to mark an MBR partition as bootable.\n" msgstr "No podreu escriure la taula de particions.\n" -#: disk-utils/sfdisk.c:1475 +#: disk-utils/sfdisk.c:1483 msgid " Example:\n" msgstr "" -#: disk-utils/sfdisk.c:1477 +#: disk-utils/sfdisk.c:1485 #, fuzzy msgid " , 4G Creates a 4GiB partition at default start offset.\n" msgstr " n Crea una nova partició des de l'espai lliure" -#: disk-utils/sfdisk.c:1509 sys-utils/dmesg.c:1578 +#: disk-utils/sfdisk.c:1517 sys-utils/dmesg.c:1578 #, fuzzy msgid "unsupported command" msgstr "cap ordre?\n" -#: disk-utils/sfdisk.c:1511 +#: disk-utils/sfdisk.c:1519 #, fuzzy, c-format msgid "line %d: unsupported command" msgstr "cap ordre?\n" -#: disk-utils/sfdisk.c:1630 +#: disk-utils/sfdisk.c:1638 #, c-format msgid "The device contains '%s' signature and it will be removed by a write command. See sfdisk(8) man page and --wipe option for more details." msgstr "" -#: disk-utils/sfdisk.c:1637 +#: disk-utils/sfdisk.c:1645 #, c-format msgid "The device contains '%s' signature and it may remain on the device. It is recommended to wipe the device with wipefs(8) or sfdisk --wipe, in order to avoid possible collisions." msgstr "" -#: disk-utils/sfdisk.c:1685 +#: disk-utils/sfdisk.c:1693 #, fuzzy msgid "failed to allocate partition name" msgstr "torna a llegir la taula de particions" -#: disk-utils/sfdisk.c:1724 +#: disk-utils/sfdisk.c:1732 #, fuzzy msgid "failed to allocate script handler" msgstr "No s'ha pogut assignar la memòria temporal.\n" -#: disk-utils/sfdisk.c:1740 +#: disk-utils/sfdisk.c:1748 #, fuzzy, c-format msgid "%s: cannot modify partition %d: no partition table was found" msgstr "torna a llegir la taula de particions" -#: disk-utils/sfdisk.c:1745 +#: disk-utils/sfdisk.c:1753 #, fuzzy, c-format msgid "%s: cannot modify partition %d: partition table contains only %zu partitions" msgstr "El disc %s no conté una taula de particions vàlida\n" -#: disk-utils/sfdisk.c:1751 +#: disk-utils/sfdisk.c:1759 #, fuzzy, c-format msgid "warning: %s: partition %d is not defined yet" msgstr "Encara no hi ha cap partició definida.\n" -#: disk-utils/sfdisk.c:1769 +#: disk-utils/sfdisk.c:1777 #, c-format msgid "" "\n" "Welcome to sfdisk (%s)." msgstr "" -#: disk-utils/sfdisk.c:1777 +#: disk-utils/sfdisk.c:1785 #, fuzzy msgid "Checking that no-one is using this disk right now ..." msgstr "S'està comprovant que en aquest moment ningú estigui usant aquest disc...\n" -#: disk-utils/sfdisk.c:1780 +#: disk-utils/sfdisk.c:1788 msgid "" " FAILED\n" "\n" msgstr "" -#: disk-utils/sfdisk.c:1783 +#: disk-utils/sfdisk.c:1791 #, fuzzy msgid "" "This disk is currently in use - repartitioning is probably a bad idea.\n" @@ -4669,31 +4680,31 @@ msgstr "" "swapoff en totes les particions d'intercanvi del disc.\n" "Useu el senyalador --no-reread per a suprimir aquesta comprovació.\n" -#: disk-utils/sfdisk.c:1788 +#: disk-utils/sfdisk.c:1796 #, fuzzy msgid "Use the --force flag to overrule all checks." msgstr "Useu el senyalador --force per a obviar totes les comprovacions.\n" -#: disk-utils/sfdisk.c:1790 +#: disk-utils/sfdisk.c:1798 #, fuzzy msgid "" " OK\n" "\n" msgstr "%s: Correcte\n" -#: disk-utils/sfdisk.c:1799 +#: disk-utils/sfdisk.c:1807 #, fuzzy msgid "" "\n" "Old situation:" msgstr "Antiga situació:\n" -#: disk-utils/sfdisk.c:1812 +#: disk-utils/sfdisk.c:1820 #, fuzzy msgid "failed to set script header" msgstr "No s'ha pogut assignar la memòria temporal.\n" -#: disk-utils/sfdisk.c:1817 +#: disk-utils/sfdisk.c:1825 #, c-format msgid "" "\n" @@ -4702,284 +4713,289 @@ msgid "" "to override the default." msgstr "" -#: disk-utils/sfdisk.c:1820 +#: disk-utils/sfdisk.c:1828 #, fuzzy msgid "" "\n" "Type 'help' to get more information.\n" msgstr "Escolliu `getopt --help' per obtenir més informació.\n" -#: disk-utils/sfdisk.c:1838 +#: disk-utils/sfdisk.c:1846 #, fuzzy msgid "All partitions used." msgstr "No s'han trobat particions\n" -#: disk-utils/sfdisk.c:1858 +#: disk-utils/sfdisk.c:1866 #, c-format msgid "Unknown script header '%s' -- ignore." msgstr "" -#: disk-utils/sfdisk.c:1874 +#: disk-utils/sfdisk.c:1882 #, fuzzy msgid "Done.\n" msgstr "" "Fet\n" "\n" -#: disk-utils/sfdisk.c:1886 +#: disk-utils/sfdisk.c:1894 #, fuzzy msgid "Ignoring partition." msgstr "No creïs cap partició" -#: disk-utils/sfdisk.c:1895 disk-utils/sfdisk.c:1956 +#: disk-utils/sfdisk.c:1904 #, fuzzy -msgid "Failed to apply script headers, disk label not created." +msgid "Failed to apply script headers, disk label not created" msgstr "s'ha produït un error en cercar a write_tables" -#: disk-utils/sfdisk.c:1916 +#: disk-utils/sfdisk.c:1925 #, fuzzy, c-format msgid "Failed to add #%d partition" msgstr "torna a llegir la taula de particions" -#: disk-utils/sfdisk.c:1939 +#: disk-utils/sfdisk.c:1948 msgid "Script header accepted." msgstr "" -#: disk-utils/sfdisk.c:1963 +#: disk-utils/sfdisk.c:1965 +#, fuzzy +msgid "Failed to apply script headers, disk label not created." +msgstr "s'ha produït un error en cercar a write_tables" + +#: disk-utils/sfdisk.c:1972 #, fuzzy msgid "" "\n" "New situation:" msgstr "Nova situació:\n" -#: disk-utils/sfdisk.c:1973 +#: disk-utils/sfdisk.c:1982 #, fuzzy msgid "Do you want to write this to disk?" msgstr "Desitgeu escriure això al disc? [ynq] " -#: disk-utils/sfdisk.c:1986 +#: disk-utils/sfdisk.c:1995 msgid "Leaving.\n" msgstr "" -#: disk-utils/sfdisk.c:2001 +#: disk-utils/sfdisk.c:2010 #, fuzzy, c-format msgid "" " %1$s [options] [[-N] ]\n" " %1$s [options] \n" msgstr "forma d'ús: namei [-mx] camí [camí ...]\n" -#: disk-utils/sfdisk.c:2008 +#: disk-utils/sfdisk.c:2017 msgid " -A, --activate [ ...] list or set bootable (P)MBR partitions\n" msgstr "" -#: disk-utils/sfdisk.c:2009 +#: disk-utils/sfdisk.c:2018 #, fuzzy msgid " -d, --dump dump partition table (usable for later input)\n" msgstr " -u, --unqote No es posarà la sortida entre cometes\n" -#: disk-utils/sfdisk.c:2010 +#: disk-utils/sfdisk.c:2019 #, fuzzy msgid " -J, --json dump partition table in JSON format\n" msgstr " -u, --unqote No es posarà la sortida entre cometes\n" -#: disk-utils/sfdisk.c:2011 +#: disk-utils/sfdisk.c:2020 msgid " -g, --show-geometry [ ...] list geometry of all or specified devices\n" msgstr "" -#: disk-utils/sfdisk.c:2012 +#: disk-utils/sfdisk.c:2021 #, fuzzy msgid " -l, --list [ ...] list partitions of each device\n" msgstr " -h, --help Aquesta petita guia d'ús\n" -#: disk-utils/sfdisk.c:2013 +#: disk-utils/sfdisk.c:2022 #, fuzzy msgid " -F, --list-free [ ...] list unpartitioned free areas of each device\n" msgstr " -h, --help Aquesta petita guia d'ús\n" -#: disk-utils/sfdisk.c:2014 +#: disk-utils/sfdisk.c:2023 #, fuzzy msgid " -r, --reorder fix partitions order (by start offset)\n" msgstr " -u, --unqote No es posarà la sortida entre cometes\n" -#: disk-utils/sfdisk.c:2015 +#: disk-utils/sfdisk.c:2024 #, fuzzy msgid " -s, --show-size [ ...] list sizes of all or specified devices\n" msgstr " -T, --test Prova la versió del getopt(1)\n" -#: disk-utils/sfdisk.c:2016 +#: disk-utils/sfdisk.c:2025 #, fuzzy msgid " -T, --list-types print the recognized types (see -X)\n" msgstr " -u, --unqote No es posarà la sortida entre cometes\n" -#: disk-utils/sfdisk.c:2017 +#: disk-utils/sfdisk.c:2026 #, fuzzy msgid " -V, --verify [ ...] test whether partitions seem correct\n" msgstr " -h, --help Aquesta petita guia d'ús\n" -#: disk-utils/sfdisk.c:2018 +#: disk-utils/sfdisk.c:2027 msgid " --delete [ ...] delete all or specified partitions\n" msgstr "" -#: disk-utils/sfdisk.c:2021 +#: disk-utils/sfdisk.c:2030 msgid " --part-label [] print or change partition label\n" msgstr "" -#: disk-utils/sfdisk.c:2022 +#: disk-utils/sfdisk.c:2031 msgid " --part-type [] print or change partition type\n" msgstr "" -#: disk-utils/sfdisk.c:2023 +#: disk-utils/sfdisk.c:2032 #, fuzzy msgid " --part-uuid [] print or change partition uuid\n" msgstr " -c [o --id]: Imprimeix o canvia l'identificador de la partició" -#: disk-utils/sfdisk.c:2024 +#: disk-utils/sfdisk.c:2033 msgid " --part-attrs [] print or change partition attributes\n" msgstr "" -#: disk-utils/sfdisk.c:2027 +#: disk-utils/sfdisk.c:2036 msgid " --disk-id [] print or change disk label ID (UUID)\n" msgstr "" -#: disk-utils/sfdisk.c:2028 +#: disk-utils/sfdisk.c:2037 #, fuzzy msgid " --relocate move partition header\n" msgstr " -h, --help Aquesta petita guia d'ús\n" -#: disk-utils/sfdisk.c:2031 +#: disk-utils/sfdisk.c:2040 #, fuzzy msgid " device (usually disk) path\n" msgstr " -h, --help Aquesta petita guia d'ús\n" -#: disk-utils/sfdisk.c:2032 +#: disk-utils/sfdisk.c:2041 #, fuzzy msgid " partition number\n" msgstr " -N# : Només canvia la partició amb el número #" -#: disk-utils/sfdisk.c:2033 +#: disk-utils/sfdisk.c:2042 msgid " partition type, GUID for GPT, hex for MBR\n" msgstr "" -#: disk-utils/sfdisk.c:2036 +#: disk-utils/sfdisk.c:2045 #, fuzzy msgid " -a, --append append partitions to existing partition table\n" msgstr " -Q, --quiet-output No hi ha sortida normal\n" -#: disk-utils/sfdisk.c:2037 +#: disk-utils/sfdisk.c:2046 #, fuzzy msgid " -b, --backup backup partition table sectors (see -O)\n" msgstr " -Q, --quiet-output No hi ha sortida normal\n" -#: disk-utils/sfdisk.c:2038 +#: disk-utils/sfdisk.c:2047 #, fuzzy msgid " --bytes print SIZE in bytes rather than in human readable format\n" msgstr " -u, --unqote No es posarà la sortida entre cometes\n" -#: disk-utils/sfdisk.c:2039 +#: disk-utils/sfdisk.c:2048 msgid " --move-data[=] move partition data after relocation (requires -N)\n" msgstr "" -#: disk-utils/sfdisk.c:2040 +#: disk-utils/sfdisk.c:2049 msgid " --move-use-fsync use fsync after each write when move data\n" msgstr "" -#: disk-utils/sfdisk.c:2041 +#: disk-utils/sfdisk.c:2050 #, fuzzy msgid " -f, --force disable all consistency checking\n" msgstr "Podeu desactivar tota comprovació de consistència amb:" -#: disk-utils/sfdisk.c:2044 +#: disk-utils/sfdisk.c:2053 #, fuzzy, c-format msgid " --color[=] colorize output (%s, %s or %s)\n" msgstr " -Q, --quiet-output No hi ha sortida normal\n" -#: disk-utils/sfdisk.c:2049 +#: disk-utils/sfdisk.c:2058 #, fuzzy msgid " -N, --partno specify partition number\n" msgstr " -H# [o --heads #]: Estableix el nombre de capçals que s'usaran" -#: disk-utils/sfdisk.c:2050 +#: disk-utils/sfdisk.c:2059 #, fuzzy msgid " -n, --no-act do everything except write to device\n" msgstr " -u, --unqote No es posarà la sortida entre cometes\n" -#: disk-utils/sfdisk.c:2051 +#: disk-utils/sfdisk.c:2060 #, fuzzy msgid " --no-reread do not check whether the device is in use\n" msgstr " -u, --unqote No es posarà la sortida entre cometes\n" -#: disk-utils/sfdisk.c:2052 +#: disk-utils/sfdisk.c:2061 #, fuzzy msgid " --no-tell-kernel do not tell kernel about changes\n" msgstr " -n : No escrigues realment al disc" -#: disk-utils/sfdisk.c:2053 +#: disk-utils/sfdisk.c:2062 msgid " -O, --backup-file override default backup file name\n" msgstr "" -#: disk-utils/sfdisk.c:2054 +#: disk-utils/sfdisk.c:2063 #, fuzzy msgid " -o, --output output columns\n" msgstr " -o, --options=cadena_opcions Opcions curtes a reconèixer\n" -#: disk-utils/sfdisk.c:2055 +#: disk-utils/sfdisk.c:2064 #, fuzzy msgid " -q, --quiet suppress extra info messages\n" msgstr " -q [o --quiet]: Suprimeix els avisos" -#: disk-utils/sfdisk.c:2057 +#: disk-utils/sfdisk.c:2066 #, fuzzy, c-format msgid " -w, --wipe wipe signatures (%s, %s or %s)\n" msgstr " -Q, --quiet-output No hi ha sortida normal\n" -#: disk-utils/sfdisk.c:2060 +#: disk-utils/sfdisk.c:2069 #, fuzzy msgid " -X, --label specify label type (dos, gpt, ...)\n" msgstr "" " -s, --shell=intèrpret_ordres Estableix els mateixos convenis quant a les\n" " cometes que l'interpret d'ordres indicat\n" -#: disk-utils/sfdisk.c:2061 +#: disk-utils/sfdisk.c:2070 msgid " -Y, --label-nested specify nested label type (dos, bsd)\n" msgstr "" -#: disk-utils/sfdisk.c:2063 +#: disk-utils/sfdisk.c:2072 msgid " -G, --show-pt-geometry deprecated, alias to --show-geometry\n" msgstr "" -#: disk-utils/sfdisk.c:2064 +#: disk-utils/sfdisk.c:2073 #, fuzzy msgid " -L, --Linux deprecated, only for backward compatibility\n" msgstr " -u, --unqote No es posarà la sortida entre cometes\n" -#: disk-utils/sfdisk.c:2065 +#: disk-utils/sfdisk.c:2074 #, fuzzy msgid " -u, --unit S deprecated, only sector unit is supported\n" msgstr " -u, --unqote No es posarà la sortida entre cometes\n" -#: disk-utils/sfdisk.c:2194 +#: disk-utils/sfdisk.c:2204 #, c-format msgid "%s is deprecated in favour of --part-type" msgstr "" -#: disk-utils/sfdisk.c:2199 +#: disk-utils/sfdisk.c:2209 msgid "--id is deprecated in favour of --part-type" msgstr "" -#: disk-utils/sfdisk.c:2215 +#: disk-utils/sfdisk.c:2225 msgid "--show-pt-geometry is no more implemented. Using --show-geometry." msgstr "" -#: disk-utils/sfdisk.c:2227 +#: disk-utils/sfdisk.c:2237 msgid "--Linux option is unnecessary and deprecated" msgstr "" -#: disk-utils/sfdisk.c:2256 +#: disk-utils/sfdisk.c:2266 #, fuzzy, c-format msgid "unsupported unit '%c'" msgstr "%s: argument desconegut: %s\n" -#: disk-utils/sfdisk.c:2351 +#: disk-utils/sfdisk.c:2361 msgid "--movedata requires -N" msgstr "" @@ -5123,8 +5139,8 @@ msgstr "Per defecte, s'ha denegat l'accés a %s des de %s.\n" msgid "colors are disabled by default" msgstr "Per defecte, s'ha denegat l'accés a %s des de %s.\n" -#: include/env.h:18 lib/pager.c:153 login-utils/login.c:1102 -#: login-utils/login.c:1106 term-utils/agetty.c:1203 +#: include/env.h:18 lib/pager.c:153 login-utils/login.c:1105 +#: login-utils/login.c:1109 term-utils/agetty.c:1203 #, fuzzy, c-format msgid "failed to set the %s environment variable" msgstr "No s'ha pogut escriure la partició a %s\n" @@ -5233,11 +5249,11 @@ msgid "Linux root (x86)" msgstr "" #: include/pt-gpt-partnames.h:53 -msgid "Linux root (ARM)" +msgid "Linux root (x86-64)" msgstr "" #: include/pt-gpt-partnames.h:54 -msgid "Linux root (x86-64)" +msgid "Linux root (ARM)" msgstr "" #: include/pt-gpt-partnames.h:55 @@ -5278,293 +5294,340 @@ msgid "Linux temporary data" msgstr "SunOS usr" #: include/pt-gpt-partnames.h:63 -msgid "Linux root verity (x86)" +msgid "Linux /usr (x86)" msgstr "" #: include/pt-gpt-partnames.h:64 -msgid "Linux root verity (ARM)" +msgid "Linux /usr (x86-64)" msgstr "" #: include/pt-gpt-partnames.h:65 -msgid "Linux root verity (x86-64)" +msgid "Linux /usr (ARM)" msgstr "" #: include/pt-gpt-partnames.h:66 -msgid "Linux root verity (ARM-64)" +msgid "Linux /usr (ARM-64)" msgstr "" #: include/pt-gpt-partnames.h:67 +msgid "Linux /usr (IA-64)" +msgstr "" + +#: include/pt-gpt-partnames.h:68 +msgid "Linux root verity (x86)" +msgstr "" + +#: include/pt-gpt-partnames.h:69 +msgid "Linux root verity (x86-64)" +msgstr "" + +#: include/pt-gpt-partnames.h:70 +msgid "Linux root verity (ARM)" +msgstr "" + +#: include/pt-gpt-partnames.h:71 +msgid "Linux root verity (ARM-64)" +msgstr "" + +#: include/pt-gpt-partnames.h:72 msgid "Linux root verity (IA-64)" msgstr "" -#: include/pt-gpt-partnames.h:73 include/pt-mbr-partnames.h:95 +#: include/pt-gpt-partnames.h:73 +#, fuzzy +msgid "Linux /usr verity (x86)" +msgstr "SunOS usr" + +#: include/pt-gpt-partnames.h:74 +msgid "Linux /usr verity (x86-64)" +msgstr "" + +#: include/pt-gpt-partnames.h:75 +#, fuzzy +msgid "Linux /usr verity (ARM)" +msgstr "SunOS usr" + +#: include/pt-gpt-partnames.h:76 +msgid "Linux /usr verity (ARM-64)" +msgstr "" + +#: include/pt-gpt-partnames.h:77 +msgid "Linux /usr verity (IA-64)" +msgstr "" + +#: include/pt-gpt-partnames.h:83 include/pt-mbr-partnames.h:95 #, fuzzy msgid "Linux extended boot" msgstr "Linux estesa" -#: include/pt-gpt-partnames.h:76 +#: include/pt-gpt-partnames.h:86 +#, fuzzy +msgid "Linux user's home" +msgstr "Linux personalitzada" + +#: include/pt-gpt-partnames.h:89 #, fuzzy msgid "FreeBSD data" msgstr "FreeBSD" -#: include/pt-gpt-partnames.h:77 +#: include/pt-gpt-partnames.h:90 #, fuzzy msgid "FreeBSD boot" msgstr "FreeBSD" -#: include/pt-gpt-partnames.h:78 +#: include/pt-gpt-partnames.h:91 #, fuzzy msgid "FreeBSD swap" msgstr "Intercanvi de BSDI" -#: include/pt-gpt-partnames.h:79 +#: include/pt-gpt-partnames.h:92 #, fuzzy msgid "FreeBSD UFS" msgstr "FreeBSD" -#: include/pt-gpt-partnames.h:80 +#: include/pt-gpt-partnames.h:93 #, fuzzy msgid "FreeBSD ZFS" msgstr "FreeBSD" -#: include/pt-gpt-partnames.h:81 +#: include/pt-gpt-partnames.h:94 #, fuzzy msgid "FreeBSD Vinum" msgstr "FreeBSD" -#: include/pt-gpt-partnames.h:84 +#: include/pt-gpt-partnames.h:97 #, fuzzy msgid "Apple HFS/HFS+" msgstr "OS/2 HPFS" -#: include/pt-gpt-partnames.h:85 +#: include/pt-gpt-partnames.h:98 #, fuzzy msgid "Apple APFS" msgstr "OS/2 HPFS" -#: include/pt-gpt-partnames.h:86 +#: include/pt-gpt-partnames.h:99 msgid "Apple UFS" msgstr "" -#: include/pt-gpt-partnames.h:87 +#: include/pt-gpt-partnames.h:100 msgid "Apple RAID" msgstr "" -#: include/pt-gpt-partnames.h:88 +#: include/pt-gpt-partnames.h:101 msgid "Apple RAID offline" msgstr "" -#: include/pt-gpt-partnames.h:89 +#: include/pt-gpt-partnames.h:102 msgid "Apple boot" msgstr "" -#: include/pt-gpt-partnames.h:90 +#: include/pt-gpt-partnames.h:103 msgid "Apple label" msgstr "" -#: include/pt-gpt-partnames.h:91 +#: include/pt-gpt-partnames.h:104 msgid "Apple TV recovery" msgstr "" -#: include/pt-gpt-partnames.h:92 +#: include/pt-gpt-partnames.h:105 msgid "Apple Core storage" msgstr "" -#: include/pt-gpt-partnames.h:95 include/pt-mbr-partnames.h:77 +#: include/pt-gpt-partnames.h:108 include/pt-mbr-partnames.h:77 msgid "Solaris boot" msgstr "Arrencada Solaris" -#: include/pt-gpt-partnames.h:96 +#: include/pt-gpt-partnames.h:109 #, fuzzy msgid "Solaris root" msgstr "Arrencada Solaris" -#: include/pt-gpt-partnames.h:98 +#: include/pt-gpt-partnames.h:111 msgid "Solaris /usr & Apple ZFS" msgstr "" -#: include/pt-gpt-partnames.h:99 +#: include/pt-gpt-partnames.h:112 #, fuzzy msgid "Solaris swap" msgstr "Solaris" -#: include/pt-gpt-partnames.h:100 +#: include/pt-gpt-partnames.h:113 #, fuzzy msgid "Solaris backup" msgstr "Arrencada Solaris" -#: include/pt-gpt-partnames.h:101 +#: include/pt-gpt-partnames.h:114 #, fuzzy msgid "Solaris /var" msgstr "Solaris" -#: include/pt-gpt-partnames.h:102 +#: include/pt-gpt-partnames.h:115 #, fuzzy msgid "Solaris /home" msgstr "Arrencada Solaris" -#: include/pt-gpt-partnames.h:103 +#: include/pt-gpt-partnames.h:116 #, fuzzy msgid "Solaris alternate sector" msgstr "massa velocitats alternatives" -#: include/pt-gpt-partnames.h:104 +#: include/pt-gpt-partnames.h:117 #, fuzzy msgid "Solaris reserved 1" msgstr "SunOS usr" -#: include/pt-gpt-partnames.h:105 +#: include/pt-gpt-partnames.h:118 #, fuzzy msgid "Solaris reserved 2" msgstr "SunOS usr" -#: include/pt-gpt-partnames.h:106 +#: include/pt-gpt-partnames.h:119 #, fuzzy msgid "Solaris reserved 3" msgstr "SunOS usr" -#: include/pt-gpt-partnames.h:107 +#: include/pt-gpt-partnames.h:120 #, fuzzy msgid "Solaris reserved 4" msgstr "SunOS usr" -#: include/pt-gpt-partnames.h:108 +#: include/pt-gpt-partnames.h:121 #, fuzzy msgid "Solaris reserved 5" msgstr "SunOS usr" -#: include/pt-gpt-partnames.h:111 +#: include/pt-gpt-partnames.h:124 #, fuzzy msgid "NetBSD swap" msgstr "Intercanvi de BSDI" -#: include/pt-gpt-partnames.h:112 +#: include/pt-gpt-partnames.h:125 #, fuzzy msgid "NetBSD FFS" msgstr "NetBSD" -#: include/pt-gpt-partnames.h:113 +#: include/pt-gpt-partnames.h:126 #, fuzzy msgid "NetBSD LFS" msgstr "NetBSD" -#: include/pt-gpt-partnames.h:114 +#: include/pt-gpt-partnames.h:127 msgid "NetBSD concatenated" msgstr "" -#: include/pt-gpt-partnames.h:115 +#: include/pt-gpt-partnames.h:128 msgid "NetBSD encrypted" msgstr "" -#: include/pt-gpt-partnames.h:116 +#: include/pt-gpt-partnames.h:129 #, fuzzy msgid "NetBSD RAID" msgstr "NetBSD" -#: include/pt-gpt-partnames.h:119 +#: include/pt-gpt-partnames.h:132 msgid "ChromeOS kernel" msgstr "" -#: include/pt-gpt-partnames.h:120 +#: include/pt-gpt-partnames.h:133 msgid "ChromeOS root fs" msgstr "" -#: include/pt-gpt-partnames.h:121 +#: include/pt-gpt-partnames.h:134 #, fuzzy msgid "ChromeOS reserved" msgstr "SunOS usr" -#: include/pt-gpt-partnames.h:124 +#: include/pt-gpt-partnames.h:137 msgid "MidnightBSD data" msgstr "" -#: include/pt-gpt-partnames.h:125 +#: include/pt-gpt-partnames.h:138 msgid "MidnightBSD boot" msgstr "" -#: include/pt-gpt-partnames.h:126 +#: include/pt-gpt-partnames.h:139 #, fuzzy msgid "MidnightBSD swap" msgstr "Intercanvi de BSDI" -#: include/pt-gpt-partnames.h:127 +#: include/pt-gpt-partnames.h:140 msgid "MidnightBSD UFS" msgstr "" -#: include/pt-gpt-partnames.h:128 +#: include/pt-gpt-partnames.h:141 msgid "MidnightBSD ZFS" msgstr "" -#: include/pt-gpt-partnames.h:129 +#: include/pt-gpt-partnames.h:142 msgid "MidnightBSD Vinum" msgstr "" -#: include/pt-gpt-partnames.h:132 +#: include/pt-gpt-partnames.h:145 msgid "Ceph Journal" msgstr "" -#: include/pt-gpt-partnames.h:133 +#: include/pt-gpt-partnames.h:146 msgid "Ceph Encrypted Journal" msgstr "" -#: include/pt-gpt-partnames.h:134 +#: include/pt-gpt-partnames.h:147 msgid "Ceph OSD" msgstr "" -#: include/pt-gpt-partnames.h:135 +#: include/pt-gpt-partnames.h:148 msgid "Ceph crypt OSD" msgstr "" -#: include/pt-gpt-partnames.h:136 +#: include/pt-gpt-partnames.h:149 msgid "Ceph disk in creation" msgstr "" -#: include/pt-gpt-partnames.h:137 +#: include/pt-gpt-partnames.h:150 msgid "Ceph crypt disk in creation" msgstr "" -#: include/pt-gpt-partnames.h:140 include/pt-mbr-partnames.h:104 +#: include/pt-gpt-partnames.h:153 include/pt-mbr-partnames.h:104 msgid "VMware VMFS" msgstr "" -#: include/pt-gpt-partnames.h:141 +#: include/pt-gpt-partnames.h:154 #, fuzzy msgid "VMware Diagnostic" msgstr "Diagnòstics Compaq" -#: include/pt-gpt-partnames.h:142 +#: include/pt-gpt-partnames.h:155 msgid "VMware Virtual SAN" msgstr "" -#: include/pt-gpt-partnames.h:143 +#: include/pt-gpt-partnames.h:156 msgid "VMware Virsto" msgstr "" -#: include/pt-gpt-partnames.h:144 +#: include/pt-gpt-partnames.h:157 #, fuzzy msgid "VMware Reserved" msgstr "SunOS usr" -#: include/pt-gpt-partnames.h:147 +#: include/pt-gpt-partnames.h:160 #, fuzzy msgid "OpenBSD data" msgstr "FreeBSD" -#: include/pt-gpt-partnames.h:150 +#: include/pt-gpt-partnames.h:163 #, fuzzy msgid "QNX6 file system" msgstr "Introduïu el tipus del sistema de fitxers: " -#: include/pt-gpt-partnames.h:153 +#: include/pt-gpt-partnames.h:166 #, fuzzy msgid "Plan 9 partition" msgstr " d suprimeix una partició" -#: include/pt-gpt-partnames.h:156 +#: include/pt-gpt-partnames.h:169 msgid "HiFive Unleashed FSBL" msgstr "" -#: include/pt-gpt-partnames.h:157 +#: include/pt-gpt-partnames.h:170 msgid "HiFive Unleashed BBL" msgstr "" @@ -6013,7 +6076,7 @@ msgid "Last cylinder, +/-cylinders or +/-size{K,M,G,T,P}" msgstr "Última %s o +mida o +midaM o +midaK" # Parla d'etiquetes, segurament és femení -#: libfdisk/src/bsd.c:296 libfdisk/src/dos.c:1358 libfdisk/src/gpt.c:2449 +#: libfdisk/src/bsd.c:296 libfdisk/src/dos.c:1358 libfdisk/src/gpt.c:2458 #, fuzzy msgid "Last sector, +/-sectors or +/-size{K,M,G,T,P}" msgstr "Última %s o +mida o +midaM o +midaK" @@ -6068,7 +6131,7 @@ msgstr "pistes/cilindre" msgid "Sectors/Cylinder" msgstr "sectors/cilindre" -#: libfdisk/src/bsd.c:491 libfdisk/src/bsd.c:1029 libfdisk/src/dos.c:2603 +#: libfdisk/src/bsd.c:491 libfdisk/src/bsd.c:1029 libfdisk/src/dos.c:2613 #: libfdisk/src/sgi.c:1161 libfdisk/src/sun.c:203 libfdisk/src/sun.c:1133 msgid "Cylinders" msgstr "Cilindres" @@ -6183,7 +6246,7 @@ msgstr "" msgid "Disklabel written to %s." msgstr "Unitat de disc: %s\n" -#: libfdisk/src/bsd.c:920 libfdisk/src/context.c:753 +#: libfdisk/src/bsd.c:920 libfdisk/src/context.c:754 #, fuzzy msgid "Syncing disks." msgstr "S'estan sincronitzant els discs.\n" @@ -6215,27 +6278,27 @@ msgstr "Mida màxima=%ld\n" msgid "Cpg" msgstr "" -#: libfdisk/src/context.c:743 +#: libfdisk/src/context.c:744 #, fuzzy, c-format msgid "%s: fsync device failed" msgstr "la cerca ha fallat" -#: libfdisk/src/context.c:748 +#: libfdisk/src/context.c:749 #, fuzzy, c-format msgid "%s: close device failed" msgstr "la cerca ha fallat" -#: libfdisk/src/context.c:828 +#: libfdisk/src/context.c:829 #, fuzzy msgid "Calling ioctl() to re-read partition table." msgstr "S'està cridant ioctl() per rellegir la taula de particions.\n" -#: libfdisk/src/context.c:836 +#: libfdisk/src/context.c:837 #, fuzzy msgid "Re-reading the partition table failed." msgstr "S'està rellegint la taula de particions...\n" -#: libfdisk/src/context.c:838 +#: libfdisk/src/context.c:839 #, fuzzy msgid "The kernel still uses the old table. The new table will be used at the next reboot or after you run partprobe(8) or partx(8)." msgstr "" @@ -6244,22 +6307,22 @@ msgstr "" "El nucli encara usa l'antiga taula.\n" "La taula nova s'usarà després d'arrencar de nou.\n" -#: libfdisk/src/context.c:928 +#: libfdisk/src/context.c:929 #, fuzzy, c-format msgid "Failed to remove partition %zu from system" msgstr "torna a llegir la taula de particions" -#: libfdisk/src/context.c:937 +#: libfdisk/src/context.c:938 #, fuzzy, c-format msgid "Failed to update system information about partition %zu" msgstr "%s: no és un dispositiu de bloc\n" -#: libfdisk/src/context.c:946 +#: libfdisk/src/context.c:958 #, fuzzy, c-format msgid "Failed to add partition %zu to system" msgstr "torna a llegir la taula de particions" -#: libfdisk/src/context.c:952 +#: libfdisk/src/context.c:964 #, fuzzy msgid "The kernel still uses the old partitions. The new table will be used at the next reboot. " msgstr "" @@ -6268,21 +6331,21 @@ msgstr "" "El nucli encara usa l'antiga taula.\n" "La taula nova s'usarà després d'arrencar de nou.\n" -#: libfdisk/src/context.c:1163 +#: libfdisk/src/context.c:1175 #, fuzzy msgid "cylinder" msgid_plural "cylinders" msgstr[0] "cilindre" msgstr[1] "cilindre" -#: libfdisk/src/context.c:1164 +#: libfdisk/src/context.c:1176 #, fuzzy msgid "sector" msgid_plural "sectors" msgstr[0] "sector" msgstr[1] "sector" -#: libfdisk/src/context.c:1520 +#: libfdisk/src/context.c:1532 msgid "Incomplete geometry setting." msgstr "" @@ -6387,14 +6450,14 @@ msgstr "Avís: el senyalador 0x%04x invàlid de la taula de particions %d es cor msgid "Start sector %ju out of range." msgstr "El valor està fora del rang.\n" -#: libfdisk/src/dos.c:1194 libfdisk/src/gpt.c:2323 libfdisk/src/sgi.c:842 +#: libfdisk/src/dos.c:1194 libfdisk/src/gpt.c:2332 libfdisk/src/sgi.c:842 #: libfdisk/src/sun.c:528 #, fuzzy, c-format msgid "Partition %zu is already defined. Delete it before re-adding it." msgstr "La partició %d ja està definida. Esborreu-la abans de tornar-la a afegir.\n" #: libfdisk/src/dos.c:1209 libfdisk/src/dos.c:1235 libfdisk/src/dos.c:1292 -#: libfdisk/src/dos.c:1324 libfdisk/src/gpt.c:2332 +#: libfdisk/src/dos.c:1324 libfdisk/src/gpt.c:2341 #, fuzzy msgid "No free sectors available." msgstr "No hi ha cap sector lliure disponible\n" @@ -6469,7 +6532,7 @@ msgstr "Avís: la partició %d està buida\n" msgid "Logical partition %zu: not entirely in partition %zu." msgstr "La partició lògica %d no està integrada en la partició %d\n" -#: libfdisk/src/dos.c:1705 libfdisk/src/gpt.c:2229 +#: libfdisk/src/dos.c:1705 libfdisk/src/gpt.c:2238 msgid "No errors detected." msgstr "" @@ -6483,7 +6546,7 @@ msgstr "El total de sectors assignats %d supera el màxim de %lld\n" msgid "Remaining %lld unallocated %ld-byte sectors." msgstr "%lld sectors no assignats\n" -#: libfdisk/src/dos.c:1714 libfdisk/src/gpt.c:2249 +#: libfdisk/src/dos.c:1714 libfdisk/src/gpt.c:2258 #, c-format msgid "%d error detected." msgid_plural "%d errors detected." @@ -6495,7 +6558,7 @@ msgstr[1] "" msgid "The maximum number of partitions has been created." msgstr "S'ha creat el màxim nombre de particions\n" -#: libfdisk/src/dos.c:1780 libfdisk/src/dos.c:1795 libfdisk/src/dos.c:2238 +#: libfdisk/src/dos.c:1780 libfdisk/src/dos.c:1795 libfdisk/src/dos.c:2248 #, fuzzy msgid "Extended partition already exists." msgstr "Aquesta partició ja existeix.\n" @@ -6504,73 +6567,73 @@ msgstr "Aquesta partició ja existeix.\n" msgid "Extended partition does not exists. Failed to add logical partition." msgstr "" -#: libfdisk/src/dos.c:1862 +#: libfdisk/src/dos.c:1871 #, fuzzy msgid "All primary partitions are in use." msgstr "S'usen totes les particions lògiques\n" -#: libfdisk/src/dos.c:1864 libfdisk/src/dos.c:1875 +#: libfdisk/src/dos.c:1873 libfdisk/src/dos.c:1885 #, fuzzy msgid "All space for primary partitions is in use." msgstr "S'usen totes les particions lògiques\n" #. TRANSLATORS: Try to keep this within 80 characters. -#: libfdisk/src/dos.c:1878 +#: libfdisk/src/dos.c:1888 #, fuzzy msgid "To create more partitions, first replace a primary with an extended partition." msgstr "Primer heu de suprimir alguna partició i afegir-ne una d'estesa\n" -#: libfdisk/src/dos.c:1899 +#: libfdisk/src/dos.c:1909 #, fuzzy msgid "Partition type" msgstr "Nombre de partició" -#: libfdisk/src/dos.c:1903 +#: libfdisk/src/dos.c:1913 #, c-format msgid "%u primary, %d extended, %u free" msgstr "" -#: libfdisk/src/dos.c:1908 +#: libfdisk/src/dos.c:1918 #, fuzzy msgid "primary" msgstr "Primària" -#: libfdisk/src/dos.c:1910 +#: libfdisk/src/dos.c:1920 #, fuzzy msgid "extended" msgstr "Estesa" -#: libfdisk/src/dos.c:1910 +#: libfdisk/src/dos.c:1920 #, fuzzy msgid "container for logical partitions" msgstr "Partició lògica incorrecta" -#: libfdisk/src/dos.c:1912 +#: libfdisk/src/dos.c:1922 #, fuzzy msgid "logical" msgstr "Lògica" -#: libfdisk/src/dos.c:1912 +#: libfdisk/src/dos.c:1922 #, fuzzy msgid "numbered from 5" msgstr "l lògica (5 o superior)" -#: libfdisk/src/dos.c:1951 +#: libfdisk/src/dos.c:1961 #, fuzzy, c-format msgid "Invalid partition type `%c'." msgstr "Nombre de partició no vàlid per al tipus `%c'\n" -#: libfdisk/src/dos.c:1969 +#: libfdisk/src/dos.c:1979 #, fuzzy, c-format msgid "Cannot write sector %jd: seek failed" msgstr "%s: no s'ha pogut trobar el dispositiu per a %s\n" -#: libfdisk/src/dos.c:2129 libfdisk/src/gpt.c:1248 +#: libfdisk/src/dos.c:2139 libfdisk/src/gpt.c:1257 #, fuzzy msgid "Disk identifier" msgstr "Unitat de disc: %s" -#: libfdisk/src/dos.c:2243 +#: libfdisk/src/dos.c:2253 #, fuzzy msgid "Type 0 means free space to many systems. Having partitions of type 0 is probably unwise." msgstr "" @@ -6579,391 +6642,391 @@ msgstr "" "particions del tipus 0. Les podeu suprimir amb\n" "l'ordre «d».\n" -#: libfdisk/src/dos.c:2248 +#: libfdisk/src/dos.c:2258 msgid "Cannot change type of the extended partition which is already used by logical partitions. Delete logical partitions first." msgstr "" -#: libfdisk/src/dos.c:2434 libfdisk/src/gpt.c:3050 +#: libfdisk/src/dos.c:2444 libfdisk/src/gpt.c:3059 #, fuzzy msgid "Nothing to do. Ordering is correct already." msgstr "" "Res a fer. L'ordenament ja és correcte.\n" "\n" -#: libfdisk/src/dos.c:2489 +#: libfdisk/src/dos.c:2499 #, fuzzy, c-format msgid "Partition %zu: no data area." msgstr "La partició %d no té cap àrea de dades\n" -#: libfdisk/src/dos.c:2522 +#: libfdisk/src/dos.c:2532 msgid "New beginning of data" msgstr "Nou començament de dades" -#: libfdisk/src/dos.c:2578 +#: libfdisk/src/dos.c:2588 #, fuzzy, c-format msgid "Partition %zu: is an extended partition." msgstr "Avís: la partició %d és una partició estesa\n" -#: libfdisk/src/dos.c:2584 +#: libfdisk/src/dos.c:2594 #, fuzzy, c-format msgid "The bootable flag on partition %zu is enabled now." msgstr "S'ha canviat el tipus del sistema de la partició %d per %x (%s)\n" -#: libfdisk/src/dos.c:2585 +#: libfdisk/src/dos.c:2595 #, fuzzy, c-format msgid "The bootable flag on partition %zu is disabled now." msgstr "S'ha canviat el tipus del sistema de la partició %d per %x (%s)\n" -#: libfdisk/src/dos.c:2598 libfdisk/src/gpt.c:3140 libfdisk/src/sgi.c:1157 +#: libfdisk/src/dos.c:2608 libfdisk/src/gpt.c:3148 libfdisk/src/sgi.c:1157 #: libfdisk/src/sun.c:1129 msgid "Device" msgstr "Dispositiu" -#: libfdisk/src/dos.c:2599 libfdisk/src/sun.c:40 +#: libfdisk/src/dos.c:2609 libfdisk/src/sun.c:40 msgid "Boot" msgstr "Arrencada" -#: libfdisk/src/dos.c:2605 libfdisk/src/sgi.c:1163 libfdisk/src/sun.c:1135 +#: libfdisk/src/dos.c:2615 libfdisk/src/sgi.c:1163 libfdisk/src/sun.c:1135 msgid "Id" msgstr "" -#: libfdisk/src/dos.c:2609 +#: libfdisk/src/dos.c:2619 #, fuzzy msgid "Start-C/H/S" msgstr "inici" -#: libfdisk/src/dos.c:2610 +#: libfdisk/src/dos.c:2620 msgid "End-C/H/S" msgstr "" -#: libfdisk/src/dos.c:2611 libfdisk/src/gpt.c:3150 libfdisk/src/sgi.c:1165 +#: libfdisk/src/dos.c:2621 libfdisk/src/gpt.c:3158 libfdisk/src/sgi.c:1165 msgid "Attrs" msgstr "" -#: libfdisk/src/gpt.c:682 +#: libfdisk/src/gpt.c:690 #, fuzzy msgid "failed to allocate GPT header" msgstr "No s'ha pogut assignar la memòria temporal.\n" -#: libfdisk/src/gpt.c:765 +#: libfdisk/src/gpt.c:773 msgid "First LBA specified by script is out of range." msgstr "" -#: libfdisk/src/gpt.c:777 +#: libfdisk/src/gpt.c:785 msgid "Last LBA specified by script is out of range." msgstr "" -#: libfdisk/src/gpt.c:919 +#: libfdisk/src/gpt.c:927 #, c-format msgid "GPT PMBR size mismatch (% != %) will be corrected by write." msgstr "" -#: libfdisk/src/gpt.c:944 +#: libfdisk/src/gpt.c:952 #, fuzzy msgid "gpt: stat() failed" msgstr "la cerca ha fallat" -#: libfdisk/src/gpt.c:954 +#: libfdisk/src/gpt.c:962 #, c-format msgid "gpt: cannot handle files with mode %o" msgstr "" -#: libfdisk/src/gpt.c:1218 +#: libfdisk/src/gpt.c:1227 msgid "GPT Header" msgstr "" -#: libfdisk/src/gpt.c:1223 +#: libfdisk/src/gpt.c:1232 msgid "GPT Entries" msgstr "" # Parla d'etiquetes, segurament és femení -#: libfdisk/src/gpt.c:1255 +#: libfdisk/src/gpt.c:1264 #, fuzzy msgid "First LBA" msgstr "Primera %s" -#: libfdisk/src/gpt.c:1260 +#: libfdisk/src/gpt.c:1269 #, fuzzy msgid "Last LBA" msgstr " Últim %s" #. TRANSLATORS: The LBA (Logical Block Address) of the backup GPT header. -#: libfdisk/src/gpt.c:1266 +#: libfdisk/src/gpt.c:1275 msgid "Alternative LBA" msgstr "" #. TRANSLATORS: The start of the array of partition entries. -#: libfdisk/src/gpt.c:1272 +#: libfdisk/src/gpt.c:1281 #, fuzzy msgid "Partition entries LBA" msgstr "S'ha seleccionat la partició %d\n" -#: libfdisk/src/gpt.c:1277 +#: libfdisk/src/gpt.c:1286 #, fuzzy msgid "Allocated partition entries" msgstr "S'ha seleccionat la partició %d\n" -#: libfdisk/src/gpt.c:1619 +#: libfdisk/src/gpt.c:1628 msgid "The backup GPT table is corrupt, but the primary appears OK, so that will be used." msgstr "" -#: libfdisk/src/gpt.c:1629 +#: libfdisk/src/gpt.c:1638 msgid "The primary GPT table is corrupt, but the backup appears OK, so that will be used." msgstr "" -#: libfdisk/src/gpt.c:1645 +#: libfdisk/src/gpt.c:1654 msgid "The backup GPT table is not on the end of the device." msgstr "" -#: libfdisk/src/gpt.c:1648 +#: libfdisk/src/gpt.c:1657 msgid "The backup GPT table is not on the end of the device. This problem will be corrected by write." msgstr "" -#: libfdisk/src/gpt.c:1652 +#: libfdisk/src/gpt.c:1661 #, fuzzy msgid "Failed to recalculate backup GPT table location" msgstr "No s'ha pogut assignar la memòria temporal.\n" -#: libfdisk/src/gpt.c:1807 +#: libfdisk/src/gpt.c:1816 #, fuzzy, c-format msgid "unsupported GPT attribute bit '%s'" msgstr "%s: argument desconegut: %s\n" -#: libfdisk/src/gpt.c:1812 +#: libfdisk/src/gpt.c:1821 #, fuzzy, c-format msgid "failed to parse GPT attribute string '%s'" msgstr "%s: s'ha produït un error en obrir: %s\n" -#: libfdisk/src/gpt.c:1912 +#: libfdisk/src/gpt.c:1921 #, fuzzy, c-format msgid "Partition UUID changed from %s to %s." msgstr "No s'ha pogut escriure la partició a %s\n" -#: libfdisk/src/gpt.c:1921 +#: libfdisk/src/gpt.c:1930 #, fuzzy msgid "Failed to translate partition name, name not changed." msgstr "torna a llegir la taula de particions" -#: libfdisk/src/gpt.c:1923 +#: libfdisk/src/gpt.c:1932 #, fuzzy, c-format msgid "Partition name changed from '%s' to '%.*s'." msgstr "No s'ha pogut escriure la partició a %s\n" -#: libfdisk/src/gpt.c:1952 +#: libfdisk/src/gpt.c:1961 #, fuzzy msgid "The start of the partition understeps FirstUsableLBA." msgstr "" "\n" "La partició d'arrencada no existeix.\n" -#: libfdisk/src/gpt.c:1959 +#: libfdisk/src/gpt.c:1968 #, fuzzy msgid "The end of the partition oversteps LastUsableLBA." msgstr "No s'ha pogut escriure la partició a %s\n" -#: libfdisk/src/gpt.c:2117 +#: libfdisk/src/gpt.c:2126 msgid "The device contains hybrid MBR -- writing GPT only." msgstr "" -#: libfdisk/src/gpt.c:2153 +#: libfdisk/src/gpt.c:2162 #, fuzzy msgid "Disk does not contain a valid backup header." msgstr "El disc %s no conté una taula de particions vàlida\n" -#: libfdisk/src/gpt.c:2158 +#: libfdisk/src/gpt.c:2167 msgid "Invalid primary header CRC checksum." msgstr "" -#: libfdisk/src/gpt.c:2162 +#: libfdisk/src/gpt.c:2171 msgid "Invalid backup header CRC checksum." msgstr "" -#: libfdisk/src/gpt.c:2167 +#: libfdisk/src/gpt.c:2176 #, fuzzy msgid "Invalid partition entry checksum." msgstr "Nombre de partició no vàlid per al tipus `%c'\n" -#: libfdisk/src/gpt.c:2172 +#: libfdisk/src/gpt.c:2181 msgid "Invalid primary header LBA sanity checks." msgstr "" -#: libfdisk/src/gpt.c:2176 +#: libfdisk/src/gpt.c:2185 msgid "Invalid backup header LBA sanity checks." msgstr "" -#: libfdisk/src/gpt.c:2181 +#: libfdisk/src/gpt.c:2190 msgid "MyLBA mismatch with real position at primary header." msgstr "" -#: libfdisk/src/gpt.c:2185 +#: libfdisk/src/gpt.c:2194 msgid "MyLBA mismatch with real position at backup header." msgstr "" -#: libfdisk/src/gpt.c:2190 +#: libfdisk/src/gpt.c:2199 msgid "Disk is too small to hold all data." msgstr "" -#: libfdisk/src/gpt.c:2200 +#: libfdisk/src/gpt.c:2209 msgid "Primary and backup header mismatch." msgstr "" -#: libfdisk/src/gpt.c:2206 +#: libfdisk/src/gpt.c:2215 #, fuzzy, c-format msgid "Partition %u overlaps with partition %u." msgstr "Avís: la partició %d cavalca amb la partició %d.\n" -#: libfdisk/src/gpt.c:2213 +#: libfdisk/src/gpt.c:2222 #, fuzzy, c-format msgid "Partition %u is too big for the disk." msgstr "S'ha produït un encavalcament de particions al disc. Corregiu-ho.\n" -#: libfdisk/src/gpt.c:2220 +#: libfdisk/src/gpt.c:2229 #, fuzzy, c-format msgid "Partition %u ends before it starts." msgstr "La partició acaba abans del sector 0" -#: libfdisk/src/gpt.c:2230 +#: libfdisk/src/gpt.c:2239 #, fuzzy, c-format msgid "Header version: %s" msgstr "s'ha produït un error en cercar" -#: libfdisk/src/gpt.c:2231 +#: libfdisk/src/gpt.c:2240 #, fuzzy, c-format msgid "Using %zu out of %zu partitions." msgstr "és estrany, només hi ha definides %d particions.\n" -#: libfdisk/src/gpt.c:2241 +#: libfdisk/src/gpt.c:2250 #, fuzzy, c-format msgid "A total of %ju free sectors is available in %u segment." msgid_plural "A total of %ju free sectors is available in %u segments (the largest is %s)." msgstr[0] "No hi ha cap sector lliure disponible\n" msgstr[1] "No hi ha cap sector lliure disponible\n" -#: libfdisk/src/gpt.c:2328 +#: libfdisk/src/gpt.c:2337 #, fuzzy msgid "All partitions are already in use." msgstr "Aquesta partició ja està en ús" -#: libfdisk/src/gpt.c:2385 libfdisk/src/gpt.c:2412 +#: libfdisk/src/gpt.c:2394 libfdisk/src/gpt.c:2421 #, fuzzy, c-format msgid "Sector %ju already used." msgstr "El sector %d ja està assignat\n" -#: libfdisk/src/gpt.c:2478 +#: libfdisk/src/gpt.c:2487 #, fuzzy, c-format msgid "Could not create partition %zu" msgstr "No creïs cap partició" -#: libfdisk/src/gpt.c:2485 +#: libfdisk/src/gpt.c:2494 #, c-format msgid "The last usable GPT sector is %ju, but %ju is requested." msgstr "" -#: libfdisk/src/gpt.c:2492 +#: libfdisk/src/gpt.c:2501 #, c-format msgid "The first usable GPT sector is %ju, but %ju is requested." msgstr "" -#: libfdisk/src/gpt.c:2631 +#: libfdisk/src/gpt.c:2640 #, fuzzy, c-format msgid "Created a new GPT disklabel (GUID: %s)." msgstr " s crea una etiqueta de disc Sun nova" -#: libfdisk/src/gpt.c:2652 +#: libfdisk/src/gpt.c:2661 msgid "Enter new disk UUID (in 8-4-4-4-12 format)" msgstr "" -#: libfdisk/src/gpt.c:2660 +#: libfdisk/src/gpt.c:2669 #, fuzzy msgid "Failed to parse your UUID." msgstr "%s: s'ha produït un error en obrir: %s\n" -#: libfdisk/src/gpt.c:2674 +#: libfdisk/src/gpt.c:2683 #, fuzzy, c-format msgid "Disk identifier changed from %s to %s." msgstr "No s'ha pogut escriure la partició a %s\n" -#: libfdisk/src/gpt.c:2694 +#: libfdisk/src/gpt.c:2703 #, fuzzy msgid "Not enough space for new partition table!" msgstr "No hi ha cap sector lliure disponible\n" -#: libfdisk/src/gpt.c:2705 +#: libfdisk/src/gpt.c:2714 #, fuzzy, c-format msgid "Partition #%zu out of range (minimal start is % sectors)" msgstr "La partició %s no és vàlida perquè comença pel sector 0.\n" -#: libfdisk/src/gpt.c:2710 +#: libfdisk/src/gpt.c:2719 #, c-format msgid "Partition #%zu out of range (maximal end is % sectors)" msgstr "" -#: libfdisk/src/gpt.c:2756 +#: libfdisk/src/gpt.c:2765 #, fuzzy msgid "The partition entry size is zero." msgstr "" "\n" "La partició d'arrencada no existeix.\n" -#: libfdisk/src/gpt.c:2758 +#: libfdisk/src/gpt.c:2767 #, fuzzy, c-format msgid "The number of the partition has to be smaller than %zu." msgstr "S'ha creat el màxim nombre de particions\n" -#: libfdisk/src/gpt.c:2782 +#: libfdisk/src/gpt.c:2791 #, fuzzy msgid "Cannot allocate memory!" msgstr "no s'ha pogut bifurcar" -#: libfdisk/src/gpt.c:2811 +#: libfdisk/src/gpt.c:2820 #, fuzzy, c-format msgid "Partition table length changed from % to %." msgstr "No s'ha pogut escriure la partició a %s\n" -#: libfdisk/src/gpt.c:2921 +#: libfdisk/src/gpt.c:2930 #, fuzzy, c-format msgid "The attributes on partition %zu changed to 0x%016." msgstr "S'ha canviat el tipus del sistema de la partició %d per %x (%s)\n" -#: libfdisk/src/gpt.c:2971 +#: libfdisk/src/gpt.c:2980 msgid "Enter GUID specific bit" msgstr "" -#: libfdisk/src/gpt.c:2986 +#: libfdisk/src/gpt.c:2995 #, fuzzy, c-format msgid "failed to toggle unsupported bit %lu" msgstr "%s: s'ha produït un error en obrir: %s\n" -#: libfdisk/src/gpt.c:2999 +#: libfdisk/src/gpt.c:3008 #, fuzzy, c-format msgid "The GUID specific bit %d on partition %zu is enabled now." msgstr "S'ha canviat el tipus del sistema de la partició %d per %x (%s)\n" -#: libfdisk/src/gpt.c:3000 +#: libfdisk/src/gpt.c:3009 #, c-format msgid "The GUID specific bit %d on partition %zu is disabled now." msgstr "" -#: libfdisk/src/gpt.c:3004 +#: libfdisk/src/gpt.c:3013 #, fuzzy, c-format msgid "The %s flag on partition %zu is enabled now." msgstr "S'ha canviat el tipus del sistema de la partició %d per %x (%s)\n" -#: libfdisk/src/gpt.c:3005 +#: libfdisk/src/gpt.c:3014 #, fuzzy, c-format msgid "The %s flag on partition %zu is disabled now." msgstr "S'ha canviat el tipus del sistema de la partició %d per %x (%s)\n" -#: libfdisk/src/gpt.c:3147 +#: libfdisk/src/gpt.c:3155 #, fuzzy msgid "Type-UUID" msgstr "Tipus" -#: libfdisk/src/gpt.c:3148 +#: libfdisk/src/gpt.c:3156 msgid "UUID" msgstr "UUID" -#: libfdisk/src/gpt.c:3149 login-utils/chfn.c:156 login-utils/chfn.c:158 +#: libfdisk/src/gpt.c:3157 login-utils/chfn.c:156 login-utils/chfn.c:158 #: login-utils/chfn.c:322 msgid "Name" msgstr "Nom" @@ -7495,280 +7558,280 @@ msgstr "" "Escriviu SÍ si esteu segur que desitgeu que s'etiqueti la partició\n" "amb el 82 (Linux d'intercanvi): " -#: libmount/src/context.c:2761 +#: libmount/src/context.c:2771 #, fuzzy, c-format msgid "operation failed: %m" msgstr "(Fitxer següent: %s)" -#: libmount/src/context_mount.c:1638 +#: libmount/src/context_mount.c:1652 #, fuzzy, c-format msgid "WARNING: failed to apply propagation flags" msgstr "%s: s'ha produït un error en obrir: %s\n" -#: libmount/src/context_mount.c:1648 +#: libmount/src/context_mount.c:1662 #, fuzzy, c-format msgid "WARNING: source write-protected, mounted read-only" msgstr "mount: %s%s està protegit contra escriptura; es muntarà en només lectura" -#: libmount/src/context_mount.c:1662 +#: libmount/src/context_mount.c:1676 #, c-format msgid "operation permitted for root only" msgstr "" -#: libmount/src/context_mount.c:1666 +#: libmount/src/context_mount.c:1680 #, fuzzy, c-format msgid "%s is already mounted" msgstr "mount: %s ja està muntat a %s\n" -#: libmount/src/context_mount.c:1672 +#: libmount/src/context_mount.c:1686 #, fuzzy, c-format msgid "can't find in %s" msgstr "mount: no s'ha pogut trobar %s a %s" -#: libmount/src/context_mount.c:1675 +#: libmount/src/context_mount.c:1689 #, fuzzy, c-format msgid "can't find mount point in %s" msgstr "mount: no s'ha pogut trobar %s a %s" -#: libmount/src/context_mount.c:1678 +#: libmount/src/context_mount.c:1692 #, fuzzy, c-format msgid "can't find mount source %s in %s" msgstr "mount: no s'ha pogut trobar %s a %s" -#: libmount/src/context_mount.c:1683 +#: libmount/src/context_mount.c:1697 #, c-format msgid "more filesystems detected on %s; use -t or wipefs(8)" msgstr "" -#: libmount/src/context_mount.c:1688 +#: libmount/src/context_mount.c:1702 #, fuzzy, c-format msgid "failed to determine filesystem type" msgstr "%s: s'ha produït un error en obrir: %s\n" -#: libmount/src/context_mount.c:1689 +#: libmount/src/context_mount.c:1703 #, fuzzy, c-format msgid "no filesystem type specified" msgstr "No s'ha especificat l'opció --date.\n" -#: libmount/src/context_mount.c:1696 +#: libmount/src/context_mount.c:1710 #, fuzzy, c-format msgid "can't find %s" msgstr "%s: no s'ha pogut enllaçar %s: %s\n" -#: libmount/src/context_mount.c:1698 +#: libmount/src/context_mount.c:1712 #, fuzzy, c-format msgid "no mount source specified" msgstr "No s'ha especificat l'opció --date.\n" -#: libmount/src/context_mount.c:1704 +#: libmount/src/context_mount.c:1718 #, fuzzy, c-format msgid "failed to parse mount options: %m" msgstr "%s: s'ha produït un error en obrir: %s\n" -#: libmount/src/context_mount.c:1705 +#: libmount/src/context_mount.c:1719 #, fuzzy, c-format msgid "failed to parse mount options" msgstr "%s: s'ha produït un error en obrir: %s\n" -#: libmount/src/context_mount.c:1709 +#: libmount/src/context_mount.c:1723 #, fuzzy, c-format msgid "failed to setup loop device for %s" msgstr "no s'ha pogut rebobinar el dispositiu d'intercanvi" -#: libmount/src/context_mount.c:1713 +#: libmount/src/context_mount.c:1727 #, fuzzy, c-format msgid "overlapping loop device exists for %s" msgstr "%s: %s no és un dispositiu lp.\n" -#: libmount/src/context_mount.c:1717 libmount/src/context_umount.c:1263 +#: libmount/src/context_mount.c:1731 libmount/src/context_umount.c:1263 #, fuzzy, c-format msgid "locking failed" msgstr "no s'ha pogut executar exec\n" -#: libmount/src/context_mount.c:1721 libmount/src/context_umount.c:1269 +#: libmount/src/context_mount.c:1735 libmount/src/context_umount.c:1269 #: sys-utils/umount.c:249 sys-utils/umount.c:265 #, fuzzy, c-format msgid "failed to switch namespace" msgstr "no s'ha pogut executar «stat» al camí\n" -#: libmount/src/context_mount.c:1724 +#: libmount/src/context_mount.c:1738 #, fuzzy, c-format msgid "mount failed: %m" msgstr "no s'ha estat possible muntar" -#: libmount/src/context_mount.c:1734 +#: libmount/src/context_mount.c:1748 #, fuzzy, c-format msgid "filesystem was mounted, but failed to update userspace mount table" msgstr "mount: no ha estat possible muntar" -#: libmount/src/context_mount.c:1740 +#: libmount/src/context_mount.c:1754 #, fuzzy, c-format msgid "filesystem was mounted, but failed to switch namespace back" msgstr "mount: no ha estat possible muntar" -#: libmount/src/context_mount.c:1747 +#: libmount/src/context_mount.c:1761 #, fuzzy, c-format msgid "filesystem was mounted, but any subsequent operation failed: %m" msgstr "mount: no ha estat possible muntar" -#: libmount/src/context_mount.c:1765 libmount/src/context_mount.c:1810 +#: libmount/src/context_mount.c:1779 libmount/src/context_mount.c:1824 #, fuzzy, c-format msgid "mount point is not a directory" msgstr "mount: el punt de muntatge %s no és un directori" -#: libmount/src/context_mount.c:1767 login-utils/newgrp.c:226 +#: libmount/src/context_mount.c:1781 login-utils/newgrp.c:226 #, fuzzy, c-format msgid "permission denied" msgstr "mount: s'ha denegat el permís" -#: libmount/src/context_mount.c:1769 +#: libmount/src/context_mount.c:1783 #, fuzzy, c-format msgid "must be superuser to use mount" msgstr "mount: haureu de ser un superusuari per a usar mount" -#: libmount/src/context_mount.c:1776 +#: libmount/src/context_mount.c:1790 #, fuzzy, c-format msgid "mount point is busy" msgstr "mount: %s està ocupat" -#: libmount/src/context_mount.c:1783 +#: libmount/src/context_mount.c:1797 #, fuzzy, c-format msgid "%s already mounted on %s" msgstr "mount: %s ja està muntat a %s\n" -#: libmount/src/context_mount.c:1787 +#: libmount/src/context_mount.c:1801 #, fuzzy, c-format msgid "%s already mounted or mount point busy" msgstr "mount: %s ja està muntat o %s està ocupat" -#: libmount/src/context_mount.c:1792 +#: libmount/src/context_mount.c:1806 #, fuzzy, c-format msgid "mount point does not exist" msgstr "mount: el punt de muntatge %s no existeix" -#: libmount/src/context_mount.c:1795 +#: libmount/src/context_mount.c:1809 #, fuzzy, c-format msgid "mount point is a symbolic link to nowhere" msgstr "mount: el punt de muntatge %s és un enllaç simbòlic sense destí" -#: libmount/src/context_mount.c:1800 +#: libmount/src/context_mount.c:1814 #, fuzzy, c-format msgid "special device %s does not exist" msgstr "mount: el dispositiu especial %s no existeix" -#: libmount/src/context_mount.c:1803 libmount/src/context_mount.c:1819 -#: libmount/src/context_mount.c:1903 libmount/src/context_mount.c:1926 +#: libmount/src/context_mount.c:1817 libmount/src/context_mount.c:1833 +#: libmount/src/context_mount.c:1917 libmount/src/context_mount.c:1940 #, fuzzy, c-format msgid "mount(2) system call failed: %m" msgstr "no s'ha estat possible muntar" -#: libmount/src/context_mount.c:1815 +#: libmount/src/context_mount.c:1829 #, fuzzy, c-format msgid "special device %s does not exist (a path prefix is not a directory)" msgstr "" "mount: el dispositiu especial %s no existeix\n" " (un prefix de camí no és un directori)\n" -#: libmount/src/context_mount.c:1827 +#: libmount/src/context_mount.c:1841 #, fuzzy, c-format msgid "mount point not mounted or bad option" msgstr "mount: %s encara no està muntat o una opció és incorrecta" -#: libmount/src/context_mount.c:1829 +#: libmount/src/context_mount.c:1843 #, fuzzy, c-format msgid "not mount point or bad option" msgstr "mount: %s encara no està muntat o una opció és incorrecta" -#: libmount/src/context_mount.c:1832 +#: libmount/src/context_mount.c:1846 #, c-format msgid "bad option; moving a mount residing under a shared mount is unsupported" msgstr "" -#: libmount/src/context_mount.c:1836 +#: libmount/src/context_mount.c:1850 #, c-format msgid "bad option; for several filesystems (e.g. nfs, cifs) you might need a /sbin/mount. helper program" msgstr "" -#: libmount/src/context_mount.c:1840 +#: libmount/src/context_mount.c:1854 #, fuzzy, c-format msgid "wrong fs type, bad option, bad superblock on %s, missing codepage or helper program, or other error" msgstr "" "mount: el tipus de sistema de fitxers o és correcte, la opció no és correcta,\n" " superbloc incorrecte a %s, manca la pàgina de codis o algun altre error" -#: libmount/src/context_mount.c:1847 +#: libmount/src/context_mount.c:1861 #, c-format msgid "mount table full" msgstr "la taula de dispositius muntats està plena" -#: libmount/src/context_mount.c:1852 +#: libmount/src/context_mount.c:1866 #, fuzzy, c-format msgid "can't read superblock on %s" msgstr "mount: %s: no s'ha pogut llegir el superbloc" -#: libmount/src/context_mount.c:1859 +#: libmount/src/context_mount.c:1873 #, fuzzy, c-format msgid "unknown filesystem type '%s'" msgstr "mount: no es reconeix el sitema de fitxers «%s»" -#: libmount/src/context_mount.c:1862 +#: libmount/src/context_mount.c:1876 #, fuzzy, c-format msgid "unknown filesystem type" msgstr "mount: no es reconeix el sitema de fitxers «%s»" -#: libmount/src/context_mount.c:1871 +#: libmount/src/context_mount.c:1885 #, fuzzy, c-format msgid "%s is not a block device, and stat(2) fails?" msgstr "mount: %s no és cap dispositiu de blocs, i stat falla?" -#: libmount/src/context_mount.c:1874 +#: libmount/src/context_mount.c:1888 #, fuzzy, c-format msgid "the kernel does not recognize %s as a block device; maybe \"modprobe driver\" is necessary" msgstr "" "mount: el nucli no reconeix %s com a dispositiu de blocs\n" " (potser fent «insmod controlador»?)" -#: libmount/src/context_mount.c:1877 +#: libmount/src/context_mount.c:1891 #, fuzzy, c-format msgid "%s is not a block device; try \"-o loop\"" msgstr "mount: %s no és un dispositiu de blocs (proveu amb `-o loop')" -#: libmount/src/context_mount.c:1879 +#: libmount/src/context_mount.c:1893 #, fuzzy, c-format msgid "%s is not a block device" msgstr "%s: no és un dispositiu de bloc\n" -#: libmount/src/context_mount.c:1886 +#: libmount/src/context_mount.c:1900 #, fuzzy, c-format msgid "%s is not a valid block device" msgstr "mount: %s no és un dispositiu de blocs vàlid" -#: libmount/src/context_mount.c:1894 +#: libmount/src/context_mount.c:1908 #, fuzzy, c-format msgid "cannot mount %s read-only" msgstr "mount : no s'ha pogut muntar %s%s com a només de lectura" -#: libmount/src/context_mount.c:1896 +#: libmount/src/context_mount.c:1910 #, fuzzy, c-format msgid "%s is write-protected but explicit read-write mode requested" msgstr "mount : %s%s està protegit contra escriptura però se li ha donat el senyalador explícit «-w»" -#: libmount/src/context_mount.c:1898 +#: libmount/src/context_mount.c:1912 #, fuzzy, c-format msgid "cannot remount %s read-write, is write-protected" msgstr "mount : no s'ha pogut muntar %s%s com a només de lectura" -#: libmount/src/context_mount.c:1900 +#: libmount/src/context_mount.c:1914 #, fuzzy, c-format msgid "bind %s failed" msgstr "la cerca ha fallat" -#: libmount/src/context_mount.c:1911 +#: libmount/src/context_mount.c:1925 #, fuzzy, c-format msgid "no medium found on %s" msgstr "mount: %s ja està muntat a %s\n" -#: libmount/src/context_mount.c:1918 +#: libmount/src/context_mount.c:1932 #, fuzzy, c-format msgid "cannot mount; probably corrupted filesystem on %s" msgstr "no s'intentarà crear cap sistema de fitxers a '%s'" @@ -7866,22 +7929,22 @@ msgstr "" msgid "libc pseudo-random functions" msgstr "" -#: lib/swapprober.c:17 lib/swapprober.c:30 +#: lib/swapprober.c:22 lib/swapprober.c:35 #, fuzzy, c-format msgid "%s: unable to probe device" msgstr "no s'ha pogut rebobinar el dispositiu d'intercanvi" -#: lib/swapprober.c:32 +#: lib/swapprober.c:37 #, c-format msgid "%s: ambiguous probing result; use wipefs(8)" msgstr "" -#: lib/swapprober.c:34 +#: lib/swapprober.c:39 #, fuzzy, c-format msgid "%s: not a valid swap partition" msgstr "%s: aquesta partició no existeix\n" -#: lib/swapprober.c:41 +#: lib/swapprober.c:46 #, fuzzy, c-format msgid "%s: unsupported swap version '%s'" msgstr "%s: error: versió desconeguda %d\n" @@ -8253,101 +8316,101 @@ msgstr "semàfors assignats = %d\n" msgid "user attribute not changed: %s" msgstr "" -#: login-utils/login.c:366 +#: login-utils/login.c:367 #, fuzzy, c-format msgid "FATAL: can't reopen tty: %m" msgstr "S'ha produït un error fatal: no s'ha pogut reobrir tty: %s" -#: login-utils/login.c:372 +#: login-utils/login.c:373 #, fuzzy, c-format msgid "FATAL: %s is not a terminal" msgstr "%s no es un dispositiu de bloc especial" -#: login-utils/login.c:390 +#: login-utils/login.c:391 #, fuzzy, c-format msgid "chown (%s, %lu, %lu) failed: %m" msgstr "no s'ha estat possible muntar" -#: login-utils/login.c:394 +#: login-utils/login.c:395 #, fuzzy, c-format msgid "chmod (%s, %u) failed: %m" msgstr "/dev: chdir() ha fallat: %m" -#: login-utils/login.c:455 +#: login-utils/login.c:456 msgid "FATAL: bad tty" msgstr "S'ha produït un error fatal: terminal erroni" -#: login-utils/login.c:473 +#: login-utils/login.c:474 #, c-format msgid "FATAL: %s: change permissions failed: %m" msgstr "" -#: login-utils/login.c:604 +#: login-utils/login.c:605 #, c-format msgid "Last login: %.*s " msgstr "Última entrada: %.*s " -#: login-utils/login.c:606 +#: login-utils/login.c:607 #, c-format msgid "from %.*s\n" msgstr "des de %.*s\n" -#: login-utils/login.c:609 +#: login-utils/login.c:610 #, c-format msgid "on %.*s\n" msgstr "a %.*s\n" -#: login-utils/login.c:625 +#: login-utils/login.c:626 #, fuzzy msgid "write lastlog failed" msgstr "S'ha produït un error en obrir %s" -#: login-utils/login.c:716 +#: login-utils/login.c:717 #, c-format msgid "DIALUP AT %s BY %s" msgstr "MARCATGE DIRECTE A %s PER %s" -#: login-utils/login.c:721 +#: login-utils/login.c:722 #, c-format msgid "ROOT LOGIN ON %s FROM %s" msgstr "ENTRADA DEL ROOT A %s DES DE %s" -#: login-utils/login.c:724 +#: login-utils/login.c:725 #, c-format msgid "ROOT LOGIN ON %s" msgstr "ENTRADA DEL ROOT A %s" -#: login-utils/login.c:727 +#: login-utils/login.c:728 #, c-format msgid "LOGIN ON %s BY %s FROM %s" msgstr "ENTRADA A %s PER %s DES DE %s" -#: login-utils/login.c:730 +#: login-utils/login.c:731 #, c-format msgid "LOGIN ON %s BY %s" msgstr "ENTRADA A %s PER %s" -#: login-utils/login.c:764 +#: login-utils/login.c:765 msgid "login: " msgstr "entrada: " -#: login-utils/login.c:795 +#: login-utils/login.c:796 #, fuzzy, c-format msgid "PAM failure, aborting: %s" msgstr "login: PAM ha fallat; s'està avortant: %s\n" -#: login-utils/login.c:796 +#: login-utils/login.c:797 #, c-format msgid "Couldn't initialize PAM: %s" msgstr "No s'ha pogut inicialitzar PAM: %s" # FIXME, please describe parameters -#: login-utils/login.c:866 +#: login-utils/login.c:869 #, fuzzy, c-format msgid "FAILED LOGIN %u FROM %s FOR %s, %s" msgstr "S'HA INTENTAT ACCEDIR SENSE ÈXIT %d VEGADES DES DE %s PER A %s, %s" -#: login-utils/login.c:874 login-utils/sulogin.c:1013 +#: login-utils/login.c:877 login-utils/sulogin.c:1013 #, c-format msgid "" "Login incorrect\n" @@ -8356,17 +8419,17 @@ msgstr "" "L'entrada no és correcta\n" "\n" -#: login-utils/login.c:889 +#: login-utils/login.c:892 #, fuzzy, c-format msgid "TOO MANY LOGIN TRIES (%u) FROM %s FOR %s, %s" msgstr "S'HA INTENTAT ENTRAR MASSA VEGADES (%d) DES DE %s PER A %s, %s" -#: login-utils/login.c:895 +#: login-utils/login.c:898 #, c-format msgid "FAILED LOGIN SESSION FROM %s FOR %s, %s" msgstr "NO S'HA POGUT INICIAR LA SESSIÓ DES DE %s PER A %s, %s" -#: login-utils/login.c:903 +#: login-utils/login.c:906 #, c-format msgid "" "\n" @@ -8375,7 +8438,7 @@ msgstr "" "\n" "Entrada incorrecta\n" -#: login-utils/login.c:931 login-utils/login.c:1314 login-utils/login.c:1337 +#: login-utils/login.c:934 login-utils/login.c:1317 login-utils/login.c:1340 #, fuzzy msgid "" "\n" @@ -8384,102 +8447,102 @@ msgstr "" "\n" "S'ha produït un problema en iniciar la sessió, s'avortarà.\n" -#: login-utils/login.c:932 +#: login-utils/login.c:935 #, fuzzy msgid "NULL user name. Abort." msgstr "Nom d'usuari NUL a %s:%d. S'avortarà." -#: login-utils/login.c:1070 +#: login-utils/login.c:1073 #, c-format msgid "TIOCSCTTY failed: %m" msgstr "TIOCSCTTY ha fallat: %m" -#: login-utils/login.c:1174 +#: login-utils/login.c:1177 #, fuzzy, c-format msgid " %s [-p] [-h ] [-H] [[-f] ]\n" msgstr "forma d'ús: last [-#] [-f fitxer] [-t tty] [-h nom_ordinador] [usuari ...]\n" -#: login-utils/login.c:1176 +#: login-utils/login.c:1179 #, fuzzy msgid "Begin a session on the system.\n" msgstr "Aquest sistema utilitza contrasenyes ocultes.\n" -#: login-utils/login.c:1179 +#: login-utils/login.c:1182 #, fuzzy msgid " -p do not destroy the environment" msgstr " -n : No escrigues realment al disc" -#: login-utils/login.c:1180 +#: login-utils/login.c:1183 #, fuzzy msgid " -f skip a login authentication" msgstr " -n : No escrigues realment al disc" -#: login-utils/login.c:1181 +#: login-utils/login.c:1184 msgid " -h hostname to be used for utmp logging" msgstr "" -#: login-utils/login.c:1182 +#: login-utils/login.c:1185 #, fuzzy msgid " -H suppress hostname in the login prompt" msgstr " p Imprimeix la taula de particions a la pantalla o en un fitxer" -#: login-utils/login.c:1228 +#: login-utils/login.c:1231 #, fuzzy, c-format msgid "%s: timed out after %u seconds" msgstr "S'ha excedit el temps d'espera per a l'entrada al cap de %d segons.\n" -#: login-utils/login.c:1255 +#: login-utils/login.c:1258 #, fuzzy, c-format msgid "login: -h is for superuser only\n" msgstr "login: només el superusuari pot fer servir -h.\n" -#: login-utils/login.c:1315 +#: login-utils/login.c:1318 #, fuzzy, c-format msgid "Invalid user name \"%s\". Abort." msgstr "Nom d'usuari invàlid \"%s\" a %s:%d. S'avortarà." -#: login-utils/login.c:1336 +#: login-utils/login.c:1339 #, fuzzy, c-format msgid "groups initialization failed: %m" msgstr "" "\n" "S'ha produït un error en tancar el fitxer\n" -#: login-utils/login.c:1361 sys-utils/mount.c:57 sys-utils/umount.c:122 +#: login-utils/login.c:1364 sys-utils/mount.c:57 sys-utils/umount.c:122 #, fuzzy msgid "setgid() failed" msgstr "setuid() ha fallat" -#: login-utils/login.c:1391 +#: login-utils/login.c:1394 #, c-format msgid "You have new mail.\n" msgstr "Teniu correu nou.\n" -#: login-utils/login.c:1393 +#: login-utils/login.c:1396 #, c-format msgid "You have mail.\n" msgstr "Teniu correu.\n" -#: login-utils/login.c:1407 sys-utils/mount.c:60 sys-utils/umount.c:125 +#: login-utils/login.c:1410 sys-utils/mount.c:60 sys-utils/umount.c:125 msgid "setuid() failed" msgstr "setuid() ha fallat" -#: login-utils/login.c:1413 login-utils/sulogin.c:731 +#: login-utils/login.c:1416 login-utils/sulogin.c:731 #, fuzzy, c-format msgid "%s: change directory failed" msgstr "la cerca ha fallat" -#: login-utils/login.c:1420 login-utils/sulogin.c:732 +#: login-utils/login.c:1423 login-utils/sulogin.c:732 #, c-format msgid "Logging in with home = \"/\".\n" msgstr "S'està entrant amb el directori inicial = «/».\n" -#: login-utils/login.c:1446 +#: login-utils/login.c:1449 #, fuzzy msgid "couldn't exec shell script" msgstr "login: no s'ha pogut executar la seqüènca de l'intèrpret d'ordres: %s.\n" -#: login-utils/login.c:1448 +#: login-utils/login.c:1451 #, fuzzy msgid "no shell" msgstr "No hi ha intèrpret d'ordres" @@ -8504,7 +8567,7 @@ msgstr "No s'ha pogut obrir %s: %s\n" msgid "hush login status: restore original IDs failed" msgstr "" -#: login-utils/lslogins.c:217 sys-utils/lscpu.c:1602 sys-utils/lscpu.c:1612 +#: login-utils/lslogins.c:217 sys-utils/lscpu.c:1600 sys-utils/lscpu.c:1610 #: sys-utils/lsmem.c:266 msgid "no" msgstr "no" @@ -8962,7 +9025,7 @@ msgstr "setuid() ha fallat" #: login-utils/nologin.c:27 misc-utils/lslocks.c:528 misc-utils/mcookie.c:83 #: misc-utils/uuidd.c:62 misc-utils/uuidgen.c:26 sys-utils/dmesg.c:269 -#: sys-utils/ipcmk.c:67 sys-utils/irqtop.c:217 sys-utils/lscpu.c:2261 +#: sys-utils/ipcmk.c:67 sys-utils/irqtop.c:217 sys-utils/lscpu.c:2259 #: sys-utils/lsipc.c:291 sys-utils/lsirq.c:57 sys-utils/lsmem.c:506 #: sys-utils/readprofile.c:104 sys-utils/rtcwake.c:99 #: term-utils/scriptlive.c:57 term-utils/scriptreplay.c:46 @@ -8984,241 +9047,241 @@ msgstr "" msgid "This account is currently not available.\n" msgstr "Aquest disc està actualment en ús.\n" -#: login-utils/su-common.c:227 +#: login-utils/su-common.c:228 msgid " (core dumped)" msgstr "" -#: login-utils/su-common.c:349 +#: login-utils/su-common.c:350 #, fuzzy msgid "failed to modify environment" msgstr "%s: s'ha produït un error en obrir: %s\n" -#: login-utils/su-common.c:385 +#: login-utils/su-common.c:386 msgid "may not be used by non-root users" msgstr "" -#: login-utils/su-common.c:409 +#: login-utils/su-common.c:410 #, fuzzy msgid "authentication failed" msgstr "la cerca ha fallat" -#: login-utils/su-common.c:422 +#: login-utils/su-common.c:423 #, fuzzy, c-format msgid "cannot open session: %s" msgstr "%s no es pot obrir" -#: login-utils/su-common.c:441 +#: login-utils/su-common.c:442 #, fuzzy msgid "cannot block signals" msgstr "No s'ha pogut obrir el fitxer '%s'" -#: login-utils/su-common.c:458 +#: login-utils/su-common.c:459 msgid "cannot initialize signal mask for session" msgstr "" -#: login-utils/su-common.c:466 +#: login-utils/su-common.c:467 #, fuzzy msgid "cannot initialize signal mask" msgstr "No s'ha pogut obrir el fitxer '%s'" -#: login-utils/su-common.c:476 +#: login-utils/su-common.c:477 #, fuzzy msgid "cannot set signal handler for session" msgstr "No s'ha pogut determinar el gestor de senyals" -#: login-utils/su-common.c:484 misc-utils/uuidd.c:401 sys-utils/lscpu.c:889 +#: login-utils/su-common.c:485 misc-utils/uuidd.c:401 sys-utils/lscpu.c:887 #, fuzzy msgid "cannot set signal handler" msgstr "No s'ha pogut determinar el gestor de senyals" -#: login-utils/su-common.c:492 +#: login-utils/su-common.c:493 #, fuzzy msgid "cannot set signal mask" msgstr "No s'ha pogut determinar el gestor de senyals" -#: login-utils/su-common.c:517 term-utils/script.c:949 +#: login-utils/su-common.c:518 term-utils/script.c:949 #: term-utils/scriptlive.c:296 #, fuzzy msgid "failed to create pseudo-terminal" msgstr "No s'ha pogut assignar la memòria temporal.\n" -#: login-utils/su-common.c:529 term-utils/script.c:959 +#: login-utils/su-common.c:530 term-utils/script.c:959 #: term-utils/scriptlive.c:303 #, fuzzy msgid "cannot create child process" msgstr "no s'ha pogut suprimir l'id %s (%s)\n" -#: login-utils/su-common.c:548 +#: login-utils/su-common.c:549 #, fuzzy, c-format msgid "cannot change directory to %s" msgstr "namei: no s'ha pogut obtenir el directori actual - %s\n" -#: login-utils/su-common.c:575 term-utils/scriptlive.c:352 +#: login-utils/su-common.c:576 term-utils/scriptlive.c:352 #, c-format msgid "" "\n" "Session terminated, killing shell..." msgstr "" -#: login-utils/su-common.c:586 +#: login-utils/su-common.c:587 #, fuzzy, c-format msgid " ...killed.\n" msgstr "la cerca ha fallat" -#: login-utils/su-common.c:683 +#: login-utils/su-common.c:684 #, fuzzy msgid "failed to set the PATH environment variable" msgstr "No s'ha pogut escriure la partició a %s\n" -#: login-utils/su-common.c:760 +#: login-utils/su-common.c:761 #, fuzzy msgid "cannot set groups" msgstr "mount : no s'ha pogut establir la velocitat de: %s" -#: login-utils/su-common.c:766 +#: login-utils/su-common.c:767 #, fuzzy, c-format msgid "failed to establish user credentials: %s" msgstr "%s: s'ha produït un error en obrir: %s\n" -#: login-utils/su-common.c:776 sys-utils/eject.c:660 +#: login-utils/su-common.c:777 sys-utils/eject.c:660 #, fuzzy msgid "cannot set group id" msgstr "mount : no s'ha pogut establir la velocitat de: %s" -#: login-utils/su-common.c:778 sys-utils/eject.c:663 +#: login-utils/su-common.c:779 sys-utils/eject.c:663 #, fuzzy msgid "cannot set user id" msgstr "mount : no s'ha pogut establir la velocitat de: %s" -#: login-utils/su-common.c:846 +#: login-utils/su-common.c:847 msgid " -m, -p, --preserve-environment do not reset environment variables\n" msgstr "" -#: login-utils/su-common.c:847 +#: login-utils/su-common.c:848 msgid " -w, --whitelist-environment don't reset specified variables\n" msgstr "" -#: login-utils/su-common.c:850 +#: login-utils/su-common.c:851 msgid " -g, --group specify the primary group\n" msgstr "" -#: login-utils/su-common.c:851 +#: login-utils/su-common.c:852 #, fuzzy msgid " -G, --supp-group specify a supplemental group\n" msgstr " -V, --version Mostra la informació de la versió\n" -#: login-utils/su-common.c:854 +#: login-utils/su-common.c:855 #, fuzzy msgid " -, -l, --login make the shell a login shell\n" msgstr " -h, --help Aquesta petita guia d'ús\n" -#: login-utils/su-common.c:855 +#: login-utils/su-common.c:856 msgid " -c, --command pass a single command to the shell with -c\n" msgstr "" -#: login-utils/su-common.c:856 +#: login-utils/su-common.c:857 #, fuzzy msgid "" " --session-command pass a single command to the shell with -c\n" " and do not create a new session\n" msgstr " Primer Últim\n" -#: login-utils/su-common.c:858 +#: login-utils/su-common.c:859 #, fuzzy msgid " -f, --fast pass -f to the shell (for csh or tcsh)\n" msgstr " -u, --unqote No es posarà la sortida entre cometes\n" -#: login-utils/su-common.c:859 +#: login-utils/su-common.c:860 #, fuzzy msgid " -s, --shell run if /etc/shells allows it\n" msgstr "" " -s, --shell=intèrpret_ordres Estableix els mateixos convenis quant a les\n" " cometes que l'interpret d'ordres indicat\n" -#: login-utils/su-common.c:860 +#: login-utils/su-common.c:861 #, fuzzy msgid " -P, --pty create a new pseudo-terminal\n" msgstr " -Q, --quiet-output No hi ha sortida normal\n" -#: login-utils/su-common.c:870 +#: login-utils/su-common.c:871 #, fuzzy, c-format msgid "" " %1$s [options] -u [[--] ]\n" " %1$s [options] [-] [ [...]]\n" msgstr "forma d'ús: namei [-mx] camí [camí ...]\n" -#: login-utils/su-common.c:875 +#: login-utils/su-common.c:876 msgid "" "Run with the effective user ID and group ID of . If -u is\n" "not given, fall back to su(1)-compatible semantics and execute standard shell.\n" "The options -c, -f, -l, and -s are mutually exclusive with -u.\n" msgstr "" -#: login-utils/su-common.c:880 +#: login-utils/su-common.c:881 #, fuzzy msgid " -u, --user username\n" msgstr " -V, --version Mostra la informació de la versió\n" -#: login-utils/su-common.c:891 +#: login-utils/su-common.c:892 #, fuzzy, c-format msgid " %s [options] [-] [ [...]]\n" msgstr "forma d'ús: %s programa [arg ...]\n" -#: login-utils/su-common.c:895 +#: login-utils/su-common.c:896 msgid "" "Change the effective user ID and group ID to that of .\n" "A mere - implies -l. If is not given, root is assumed.\n" msgstr "" -#: login-utils/su-common.c:943 +#: login-utils/su-common.c:944 #, c-format msgid "specifying more than %d supplemental group is not possible" msgid_plural "specifying more than %d supplemental groups is not possible" msgstr[0] "" msgstr[1] "" -#: login-utils/su-common.c:949 +#: login-utils/su-common.c:950 #, fuzzy, c-format msgid "group %s does not exist" msgstr "%s: l'usuari \"%s\" no existeix.\n" -#: login-utils/su-common.c:1058 +#: login-utils/su-common.c:1059 msgid "--pty is not supported for your system" msgstr "" -#: login-utils/su-common.c:1092 +#: login-utils/su-common.c:1093 msgid "ignoring --preserve-environment, it's mutually exclusive with --login" msgstr "" -#: login-utils/su-common.c:1106 +#: login-utils/su-common.c:1107 msgid "options --{shell,fast,command,session-command,login} and --user are mutually exclusive" msgstr "" -#: login-utils/su-common.c:1109 +#: login-utils/su-common.c:1110 #, fuzzy msgid "no command was specified" msgstr "No s'ha especificat l'opció --date.\n" -#: login-utils/su-common.c:1121 +#: login-utils/su-common.c:1122 msgid "only root can specify alternative groups" msgstr "" -#: login-utils/su-common.c:1132 +#: login-utils/su-common.c:1133 #, c-format msgid "user %s does not exist or the user entry does not contain all the required fields" msgstr "" -#: login-utils/su-common.c:1167 +#: login-utils/su-common.c:1168 #, c-format msgid "using restricted shell %s" msgstr "" -#: login-utils/su-common.c:1186 +#: login-utils/su-common.c:1187 #, fuzzy msgid "failed to allocate pty handler" msgstr "No s'ha pogut assignar la memòria temporal.\n" -#: login-utils/su-common.c:1208 +#: login-utils/su-common.c:1209 #, fuzzy, c-format msgid "warning: cannot change directory to %s" msgstr "namei: no s'ha pogut obtenir el directori actual - %s\n" @@ -9886,7 +9949,7 @@ msgstr " -o, --options=cadena_opcions Opcions curtes a reconèixer\n" msgid " -r, --raw use raw output format\n" msgstr " -V, --version Mostra la informació de la versió\n" -#: misc-utils/fincore.c:338 sys-utils/losetup.c:820 +#: misc-utils/fincore.c:338 sys-utils/losetup.c:824 #, fuzzy msgid "no file specified" msgstr "No s'ha especificat l'opció --date.\n" @@ -10168,7 +10231,7 @@ msgid " -i, --invert invert the sense of matching\n" msgstr " -V, --version Mostra la informació de la versió\n" #: misc-utils/findmnt.c:1240 misc-utils/lslocks.c:535 sys-utils/lsns.c:905 -#: sys-utils/rfkill.c:581 +#: sys-utils/rfkill.c:585 #, fuzzy msgid " -J, --json use JSON output format\n" msgstr " -V, --version Mostra la informació de la versió\n" @@ -10778,7 +10841,7 @@ msgstr "%s de %s\n" msgid " (with: " msgstr "" -#: misc-utils/kill.c:285 misc-utils/kill.c:294 sys-utils/setpriv.c:451 +#: misc-utils/kill.c:285 misc-utils/kill.c:294 sys-utils/setpriv.c:448 #: sys-utils/unshare.c:499 #, fuzzy, c-format msgid "unknown signal: %s" @@ -10791,7 +10854,7 @@ msgid "%s and %s are mutually exclusive" msgstr "%s: Les opcions --adjust i --noadjfile s'exclouen mútuament. Les heu especificat totes dues.\n" #: misc-utils/kill.c:332 misc-utils/kill.c:347 sys-utils/eject.c:208 -#: sys-utils/eject.c:230 sys-utils/losetup.c:726 sys-utils/tunelp.c:164 +#: sys-utils/eject.c:230 sys-utils/losetup.c:730 sys-utils/tunelp.c:164 #: sys-utils/tunelp.c:171 sys-utils/tunelp.c:178 sys-utils/tunelp.c:185 #: sys-utils/tunelp.c:192 sys-utils/tunelp.c:198 sys-utils/tunelp.c:202 #: sys-utils/tunelp.c:209 term-utils/setterm.c:211 term-utils/setterm.c:214 @@ -11301,172 +11364,172 @@ msgstr "" msgid "dax-capable device" msgstr " extraïble" -#: misc-utils/lsblk.c:1243 +#: misc-utils/lsblk.c:1241 #, fuzzy msgid "failed to allocate device" msgstr "No s'ha pogut assignar la memòria temporal.\n" -#: misc-utils/lsblk.c:1283 +#: misc-utils/lsblk.c:1281 msgid "failed to open device directory in sysfs" msgstr "" -#: misc-utils/lsblk.c:1465 +#: misc-utils/lsblk.c:1463 #, fuzzy, c-format msgid "%s: failed to get sysfs name" msgstr "%s: s'ha produït un error en obrir: %s\n" -#: misc-utils/lsblk.c:1477 +#: misc-utils/lsblk.c:1475 #, fuzzy, c-format msgid "%s: failed to get whole-disk device number" msgstr "%s: s'ha produït un error en obrir: %s\n" -#: misc-utils/lsblk.c:1550 misc-utils/lsblk.c:1598 +#: misc-utils/lsblk.c:1548 misc-utils/lsblk.c:1596 #, fuzzy msgid "failed to allocate /sys handler" msgstr "No s'ha pogut assignar la memòria temporal.\n" -#: misc-utils/lsblk.c:1658 misc-utils/lsblk.c:1660 misc-utils/lsblk.c:1689 -#: misc-utils/lsblk.c:1691 +#: misc-utils/lsblk.c:1656 misc-utils/lsblk.c:1658 misc-utils/lsblk.c:1687 +#: misc-utils/lsblk.c:1689 #, fuzzy, c-format msgid "failed to parse list '%s'" msgstr "%s: s'ha produït un error en obrir: %s\n" #. TRANSLATORS: The standard value for %d is 256. -#: misc-utils/lsblk.c:1665 +#: misc-utils/lsblk.c:1663 #, c-format msgid "the list of excluded devices is too large (limit is %d devices)" msgstr "" #. TRANSLATORS: The standard value for %d is 256. -#: misc-utils/lsblk.c:1696 +#: misc-utils/lsblk.c:1694 #, c-format msgid "the list of included devices is too large (limit is %d devices)" msgstr "" -#: misc-utils/lsblk.c:1765 sys-utils/wdctl.c:207 +#: misc-utils/lsblk.c:1763 sys-utils/wdctl.c:207 #, fuzzy, c-format msgid " %s [options] [ ...]\n" msgstr "Forma d'ús: %s [opcions] dispositiu ...\n" -#: misc-utils/lsblk.c:1768 +#: misc-utils/lsblk.c:1766 #, fuzzy msgid "List information about block devices.\n" msgstr "%s: no és un dispositiu de bloc\n" -#: misc-utils/lsblk.c:1771 +#: misc-utils/lsblk.c:1769 msgid " -D, --discard print discard capabilities\n" msgstr "" -#: misc-utils/lsblk.c:1772 +#: misc-utils/lsblk.c:1770 #, fuzzy msgid " -E, --dedup de-duplicate output by \n" msgstr " -o, --options=cadena_opcions Opcions curtes a reconèixer\n" -#: misc-utils/lsblk.c:1773 +#: misc-utils/lsblk.c:1771 msgid " -I, --include show only devices with specified major numbers\n" msgstr "" -#: misc-utils/lsblk.c:1774 sys-utils/lsirq.c:63 sys-utils/lsmem.c:512 +#: misc-utils/lsblk.c:1772 sys-utils/lsirq.c:63 sys-utils/lsmem.c:512 #, fuzzy msgid " -J, --json use JSON output format\n" msgstr " -V, --version Mostra la informació de la versió\n" -#: misc-utils/lsblk.c:1775 +#: misc-utils/lsblk.c:1773 #, fuzzy msgid " -O, --output-all output all columns\n" msgstr " -o, --options=cadena_opcions Opcions curtes a reconèixer\n" -#: misc-utils/lsblk.c:1777 +#: misc-utils/lsblk.c:1775 #, fuzzy msgid " -S, --scsi output info about SCSI devices\n" msgstr " -V, --version Mostra la informació de la versió\n" -#: misc-utils/lsblk.c:1778 +#: misc-utils/lsblk.c:1776 #, fuzzy msgid " -T, --tree[=] use tree format output\n" msgstr " -Q, --quiet-output No hi ha sortida normal\n" -#: misc-utils/lsblk.c:1779 +#: misc-utils/lsblk.c:1777 #, fuzzy msgid " -a, --all print all devices\n" msgstr " -h, --help Aquesta petita guia d'ús\n" -#: misc-utils/lsblk.c:1781 +#: misc-utils/lsblk.c:1779 #, fuzzy msgid " -d, --nodeps don't print slaves or holders\n" msgstr " -n : No escrigues realment al disc" -#: misc-utils/lsblk.c:1782 +#: misc-utils/lsblk.c:1780 msgid " -e, --exclude exclude devices by major number (default: RAM disks)\n" msgstr "" -#: misc-utils/lsblk.c:1783 +#: misc-utils/lsblk.c:1781 #, fuzzy msgid " -f, --fs output info about filesystems\n" msgstr " -u, --unqote No es posarà la sortida entre cometes\n" -#: misc-utils/lsblk.c:1784 +#: misc-utils/lsblk.c:1782 #, fuzzy msgid " -i, --ascii use ascii characters only\n" msgstr " -T, --test Prova la versió del getopt(1)\n" -#: misc-utils/lsblk.c:1785 +#: misc-utils/lsblk.c:1783 #, fuzzy msgid " -l, --list use list format output\n" msgstr " -Q, --quiet-output No hi ha sortida normal\n" -#: misc-utils/lsblk.c:1786 +#: misc-utils/lsblk.c:1784 #, fuzzy msgid " -M, --merge group parents of sub-trees (usable for RAIDs, Multi-path)\n" msgstr " -u, --unqote No es posarà la sortida entre cometes\n" -#: misc-utils/lsblk.c:1787 +#: misc-utils/lsblk.c:1785 #, fuzzy msgid " -m, --perms output info about permissions\n" msgstr " -V, --version Mostra la informació de la versió\n" -#: misc-utils/lsblk.c:1788 sys-utils/lsirq.c:65 sys-utils/lsmem.c:516 +#: misc-utils/lsblk.c:1786 sys-utils/lsirq.c:65 sys-utils/lsmem.c:516 msgid " -n, --noheadings don't print headings\n" msgstr "" -#: misc-utils/lsblk.c:1789 sys-utils/lsmem.c:517 +#: misc-utils/lsblk.c:1787 sys-utils/lsmem.c:517 msgid " -o, --output output columns\n" msgstr "" -#: misc-utils/lsblk.c:1790 +#: misc-utils/lsblk.c:1788 #, fuzzy msgid " -p, --paths print complete device path\n" msgstr " -h, --help Aquesta petita guia d'ús\n" -#: misc-utils/lsblk.c:1792 +#: misc-utils/lsblk.c:1790 #, fuzzy msgid " -s, --inverse inverse dependencies\n" msgstr " -V, --version Mostra la informació de la versió\n" -#: misc-utils/lsblk.c:1793 +#: misc-utils/lsblk.c:1791 msgid " -t, --topology output info about topology\n" msgstr "" -#: misc-utils/lsblk.c:1794 +#: misc-utils/lsblk.c:1792 #, fuzzy msgid " -z, --zoned print zone model\n" msgstr " -V, --version Mostra la informació de la versió\n" -#: misc-utils/lsblk.c:1795 +#: misc-utils/lsblk.c:1793 #, fuzzy msgid " -x, --sort sort output by \n" msgstr " -o, --options=cadena_opcions Opcions curtes a reconèixer\n" -#: misc-utils/lsblk.c:1796 +#: misc-utils/lsblk.c:1794 msgid " --sysroot use specified directory as system root\n" msgstr "" -#: misc-utils/lsblk.c:1813 +#: misc-utils/lsblk.c:1811 #, fuzzy, c-format msgid "failed to access sysfs directory: %s" msgstr "%s: s'ha produït un error en obrir: %s\n" -#: misc-utils/lsblk.c:2154 +#: misc-utils/lsblk.c:2155 #, fuzzy msgid "failed to allocate device tree" msgstr "No s'ha pogut assignar la memòria temporal.\n" @@ -11558,17 +11621,17 @@ msgstr " -u, --unqote No es posarà la sortida entre cometes\n" msgid " -i, --noinaccessible ignore locks without read permissions\n" msgstr "" -#: misc-utils/lslocks.c:537 sys-utils/lsns.c:907 sys-utils/rfkill.c:582 +#: misc-utils/lslocks.c:537 sys-utils/lsns.c:907 sys-utils/rfkill.c:586 #, fuzzy msgid " -n, --noheadings don't print headings\n" msgstr " -u, --unqote No es posarà la sortida entre cometes\n" -#: misc-utils/lslocks.c:538 sys-utils/lsns.c:908 sys-utils/rfkill.c:583 +#: misc-utils/lslocks.c:538 sys-utils/lsns.c:908 sys-utils/rfkill.c:587 #, fuzzy msgid " -o, --output define which output columns to use\n" msgstr " -o, --options=cadena_opcions Opcions curtes a reconèixer\n" -#: misc-utils/lslocks.c:539 sys-utils/lsns.c:909 sys-utils/rfkill.c:584 +#: misc-utils/lslocks.c:539 sys-utils/lsns.c:909 sys-utils/rfkill.c:588 #, fuzzy msgid " --output-all output all columns\n" msgstr " -o, --options=cadena_opcions Opcions curtes a reconèixer\n" @@ -11577,12 +11640,12 @@ msgstr " -o, --options=cadena_opcions Opcions curtes a reconèixer\n" msgid " -p, --pid display only locks held by this process\n" msgstr "" -#: misc-utils/lslocks.c:541 sys-utils/lsns.c:911 sys-utils/rfkill.c:585 +#: misc-utils/lslocks.c:541 sys-utils/lsns.c:911 sys-utils/rfkill.c:589 #, fuzzy msgid " -r, --raw use the raw output format\n" msgstr " -V, --version Mostra la informació de la versió\n" -#: misc-utils/lslocks.c:606 schedutils/chrt.c:484 schedutils/ionice.c:177 +#: misc-utils/lslocks.c:606 schedutils/chrt.c:485 schedutils/ionice.c:177 #: schedutils/taskset.c:171 sys-utils/choom.c:102 sys-utils/lsns.c:993 #: sys-utils/prlimit.c:587 #, fuzzy @@ -11624,7 +11687,7 @@ msgid "closing %s failed" msgstr "no s'ha pogut executar exec\n" #: misc-utils/mcookie.c:168 sys-utils/blkdiscard.c:184 sys-utils/fstrim.c:500 -#: text-utils/hexdump.c:117 +#: text-utils/hexdump.c:124 #, fuzzy msgid "failed to parse length" msgstr "%s: s'ha produït un error en obrir: %s\n" @@ -11885,7 +11948,7 @@ msgstr "%s: no s'ha pogut reanomenar %s a %s: %s\n" msgid "timed out" msgstr "s'ha exhaurit el temps d'espera" -#: misc-utils/uuidd.c:339 sys-utils/flock.c:274 +#: misc-utils/uuidd.c:339 sys-utils/flock.c:276 #, fuzzy msgid "cannot set up timer" msgstr "mount : no s'ha pogut establir la velocitat de: %s" @@ -12153,7 +12216,7 @@ msgid "sha1-based" msgstr "" #: misc-utils/uuidparse.c:267 misc-utils/wipefs.c:178 -#: sys-utils/irq-common.c:123 sys-utils/lscpu.c:2044 sys-utils/lsns.c:807 +#: sys-utils/irq-common.c:123 sys-utils/lscpu.c:2042 sys-utils/lsns.c:807 #: sys-utils/zramctl.c:505 #, fuzzy msgid "failed to initialize output column" @@ -12207,7 +12270,7 @@ msgstr "" msgid " -l output effective lookup paths\n" msgstr "" -#: misc-utils/whereis.c:652 +#: misc-utils/whereis.c:654 #, fuzzy msgid "option -f is missing" msgstr "argument --date massa llarg\n" @@ -12501,7 +12564,7 @@ msgstr "" msgid "pid %d's current runtime/deadline/period parameters: %ju/%ju/%ju\n" msgstr "" -#: schedutils/chrt.c:299 schedutils/chrt.c:404 +#: schedutils/chrt.c:299 schedutils/chrt.c:405 #, fuzzy msgid "cannot obtain the list of tasks" msgstr "%s: no s'ha pogut trobar el dispositiu per a %s\n" @@ -12516,50 +12579,50 @@ msgstr "" msgid "%s not supported?\n" msgstr "NFS sobre TCP no està implementat.\n" -#: schedutils/chrt.c:408 +#: schedutils/chrt.c:409 #, fuzzy, c-format msgid "failed to set tid %d's policy" msgstr "No s'ha pogut escriure la partició a %s\n" -#: schedutils/chrt.c:413 +#: schedutils/chrt.c:414 #, fuzzy, c-format msgid "failed to set pid %d's policy" msgstr "No s'ha pogut escriure la partició a %s\n" -#: schedutils/chrt.c:493 +#: schedutils/chrt.c:494 #, fuzzy msgid "invalid runtime argument" msgstr "identificador invàlid" -#: schedutils/chrt.c:496 +#: schedutils/chrt.c:497 #, fuzzy msgid "invalid period argument" msgstr "identificador invàlid" -#: schedutils/chrt.c:499 +#: schedutils/chrt.c:500 #, fuzzy msgid "invalid deadline argument" msgstr "identificador invàlid" -#: schedutils/chrt.c:524 +#: schedutils/chrt.c:525 #, fuzzy msgid "invalid priority argument" msgstr "identificador invàlid" -#: schedutils/chrt.c:528 +#: schedutils/chrt.c:529 msgid "--reset-on-fork option is supported for SCHED_FIFO and SCHED_RR policies only" msgstr "" -#: schedutils/chrt.c:533 +#: schedutils/chrt.c:534 msgid "--sched-{runtime,deadline,period} options are supported for SCHED_DEADLINE only" msgstr "" -#: schedutils/chrt.c:548 +#: schedutils/chrt.c:549 #, fuzzy msgid "SCHED_DEADLINE is unsupported" msgstr "NFS sobre TCP no està implementat.\n" -#: schedutils/chrt.c:555 +#: schedutils/chrt.c:556 #, c-format msgid "unsupported priority value for the policy: %d: see --max for valid range" msgstr "" @@ -12804,8 +12867,8 @@ msgstr " -Q, --quiet-output No hi ha sortida normal\n" msgid " -v, --verbose print aligned length and offset\n" msgstr " -V, --version Mostra la informació de la versió\n" -#: sys-utils/blkdiscard.c:188 sys-utils/fstrim.c:504 sys-utils/losetup.c:706 -#: text-utils/hexdump.c:124 +#: sys-utils/blkdiscard.c:188 sys-utils/fstrim.c:504 sys-utils/losetup.c:710 +#: text-utils/hexdump.c:131 #, fuzzy msgid "failed to parse offset" msgstr "%s: s'ha produït un error en obrir: %s\n" @@ -12815,8 +12878,8 @@ msgstr "%s: s'ha produït un error en obrir: %s\n" msgid "failed to parse step" msgstr "%s: s'ha produït un error en obrir: %s\n" -#: sys-utils/blkdiscard.c:219 sys-utils/blkzone.c:463 sys-utils/fallocate.c:379 -#: sys-utils/fsfreeze.c:110 sys-utils/fstrim.c:532 sys-utils/umount.c:588 +#: sys-utils/blkdiscard.c:219 sys-utils/blkzone.c:463 sys-utils/fallocate.c:382 +#: sys-utils/fsfreeze.c:110 sys-utils/fstrim.c:532 sys-utils/umount.c:597 #, fuzzy msgid "unexpected number of arguments" msgstr "màx. nombre de segments = %lu\n" @@ -13346,7 +13409,7 @@ msgid "" "Supported zones:\n" msgstr "" -#: sys-utils/chmem.c:387 sys-utils/lscpu.c:1444 sys-utils/lsmem.c:654 +#: sys-utils/chmem.c:387 sys-utils/lscpu.c:1442 sys-utils/lsmem.c:654 #, fuzzy, c-format msgid "failed to initialize %s handler" msgstr "No s'ha pogut assignar la memòria temporal.\n" @@ -14126,31 +14189,31 @@ msgstr "no ha estat possible executar openpty\n" msgid "%s: read failed" msgstr "no ha estat possible executar openpty\n" -#: sys-utils/fallocate.c:278 +#: sys-utils/fallocate.c:281 #, c-format msgid "%s: %s (%ju bytes) converted to sparse holes.\n" msgstr "" -#: sys-utils/fallocate.c:358 +#: sys-utils/fallocate.c:361 msgid "posix_fallocate support is not compiled" msgstr "" -#: sys-utils/fallocate.c:374 sys-utils/fsfreeze.c:106 +#: sys-utils/fallocate.c:377 sys-utils/fsfreeze.c:106 #, fuzzy msgid "no filename specified" msgstr "No s'ha especificat l'opció --date.\n" -#: sys-utils/fallocate.c:386 sys-utils/fallocate.c:392 +#: sys-utils/fallocate.c:389 sys-utils/fallocate.c:395 #, fuzzy msgid "invalid length value specified" msgstr "Valor establert invàlid: %s\n" -#: sys-utils/fallocate.c:390 +#: sys-utils/fallocate.c:393 #, fuzzy msgid "no length argument specified" msgstr "Massa arguments.\n" -#: sys-utils/fallocate.c:395 +#: sys-utils/fallocate.c:398 #, fuzzy msgid "invalid offset value specified" msgstr "Valor establert invàlid: %s\n" @@ -14230,40 +14293,44 @@ msgstr "identificador invàlid" msgid "invalid exit code" msgstr "identificador invàlid" -#: sys-utils/flock.c:231 +#: sys-utils/flock.c:216 +msgid "exit code out of range (expected 0 to 255)" +msgstr "" + +#: sys-utils/flock.c:233 msgid "the --no-fork and --close options are incompatible" msgstr "" -#: sys-utils/flock.c:239 +#: sys-utils/flock.c:241 #, fuzzy, c-format msgid "%s requires exactly one command argument" msgstr "%s requereix un argument\n" -#: sys-utils/flock.c:257 +#: sys-utils/flock.c:259 #, fuzzy msgid "bad file descriptor" msgstr "dispositiu de blocs " -#: sys-utils/flock.c:260 +#: sys-utils/flock.c:262 #, fuzzy msgid "requires file descriptor, file or directory" msgstr "el node d'identificació arrel no és un directori" -#: sys-utils/flock.c:284 +#: sys-utils/flock.c:286 #, fuzzy msgid "failed to get lock" msgstr "no es pot fer stat per a %s" -#: sys-utils/flock.c:291 +#: sys-utils/flock.c:293 msgid "timeout while waiting to get lock" msgstr "" -#: sys-utils/flock.c:332 +#: sys-utils/flock.c:334 #, fuzzy, c-format msgid "%s: getting lock took %ld.%06ld seconds\n" msgstr "%s %.6f segons\n" -#: sys-utils/flock.c:343 +#: sys-utils/flock.c:345 #, fuzzy, c-format msgid "%s: executing %s\n" msgstr "S'ha produït un error en executar \t%s\n" @@ -14520,36 +14587,36 @@ msgid "" "Set RTC to %ld (%ld + %d; refsystime = %ld.%06ld)\n" msgstr "" -#: sys-utils/hwclock.c:701 +#: sys-utils/hwclock.c:709 #, fuzzy msgid "Calling settimeofday(NULL, 0) to lock the warp_clock function." msgstr "Cridant a settimeofday:\n" -#: sys-utils/hwclock.c:704 +#: sys-utils/hwclock.c:712 #, fuzzy, c-format msgid "Calling settimeofday(NULL, %d) to set the kernel timezone.\n" msgstr "Cridant a settimeofday:\n" -#: sys-utils/hwclock.c:708 +#: sys-utils/hwclock.c:716 #, c-format msgid "Calling settimeofday(NULL, %d) to warp System time, set PCIL and the kernel tz.\n" msgstr "" -#: sys-utils/hwclock.c:713 +#: sys-utils/hwclock.c:721 #, fuzzy, c-format msgid "Calling settimeofday(%ld.%06ld, NULL) to set the System time.\n" msgstr "Cridant a settimeofday:\n" -#: sys-utils/hwclock.c:735 +#: sys-utils/hwclock.c:743 msgid "settimeofday() failed" msgstr "settimeofday() ha fallat" -#: sys-utils/hwclock.c:759 +#: sys-utils/hwclock.c:767 #, fuzzy, c-format msgid "Not adjusting drift factor because the --update-drift option was not used.\n" msgstr "No s'ha ajustat el factor de desfasament perquè el rellotge del maquinari contenia valors despreciables.\n" -#: sys-utils/hwclock.c:763 +#: sys-utils/hwclock.c:771 #, c-format msgid "" "Not adjusting drift factor because last calibration time is zero,\n" @@ -14559,19 +14626,19 @@ msgstr "" "calibració és zero, així que l'historial és dolent, i és necessària\n" "una calibració des del començament.\n" -#: sys-utils/hwclock.c:769 +#: sys-utils/hwclock.c:777 #, fuzzy, c-format msgid "Not adjusting drift factor because it has been less than four hours since the last calibration.\n" msgstr "No s'ajusta el factor de desfasament perquè fa menys d'un dia de l'última calibració.\n" -#: sys-utils/hwclock.c:807 +#: sys-utils/hwclock.c:815 #, c-format msgid "" "Clock drift factor was calculated as %f seconds/day.\n" "It is far too much. Resetting to zero.\n" msgstr "" -#: sys-utils/hwclock.c:814 +#: sys-utils/hwclock.c:822 #, fuzzy, c-format msgid "" "Clock drifted %f seconds in the past %f seconds\n" @@ -14581,31 +14648,31 @@ msgstr "" "El rellotje s'ha desfasat %.1f segons en els últims %d segons, tot i emprar un factor de desfasament de %f segons diaris.\n" "S'està ajustant el factor de desfasament a %f segons diaris\n" -#: sys-utils/hwclock.c:858 +#: sys-utils/hwclock.c:866 #, fuzzy, c-format msgid "Time since last adjustment is %ld second\n" msgid_plural "Time since last adjustment is %ld seconds\n" msgstr[0] "Han transcorregut %d segons des de l'últim ajust\n" msgstr[1] "Han transcorregut %d segons des de l'últim ajust\n" -#: sys-utils/hwclock.c:862 +#: sys-utils/hwclock.c:870 #, fuzzy, c-format msgid "Calculated Hardware Clock drift is %ld.%06ld seconds\n" msgstr "%s %.6f segons\n" -#: sys-utils/hwclock.c:887 +#: sys-utils/hwclock.c:895 #, c-format msgid "" "New %s data:\n" "%s" msgstr "" -#: sys-utils/hwclock.c:899 +#: sys-utils/hwclock.c:907 #, fuzzy, c-format msgid "cannot update %s" msgstr "%s no es pot obrir" -#: sys-utils/hwclock.c:935 +#: sys-utils/hwclock.c:943 #, fuzzy, c-format msgid "Not setting clock because last adjustment time is zero, so history is bad.\n" msgstr "" @@ -14613,7 +14680,7 @@ msgstr "" "calibració és zero, així que l'historial és dolent, i és necessària\n" "una calibració des del començament.\n" -#: sys-utils/hwclock.c:939 +#: sys-utils/hwclock.c:947 #, fuzzy, c-format msgid "Not setting clock because drift factor %f is far too high.\n" msgstr "" @@ -14621,208 +14688,208 @@ msgstr "" "calibració és zero, així que l'historial és dolent, i és necessària\n" "una calibració des del començament.\n" -#: sys-utils/hwclock.c:969 +#: sys-utils/hwclock.c:977 #, c-format msgid "No usable clock interface found.\n" msgstr "No s'ha trobat cap interfície de rellotge usable.\n" -#: sys-utils/hwclock.c:971 +#: sys-utils/hwclock.c:979 #, fuzzy msgid "Cannot access the Hardware Clock via any known method." msgstr "No s'ha pogut accedir al rellotge del maquinari mitjançant cap dels mètodes coneguts.\n" -#: sys-utils/hwclock.c:975 +#: sys-utils/hwclock.c:983 #, fuzzy msgid "Use the --verbose option to see the details of our search for an access method." msgstr "Useu l'opció --debug per veure els detalls de la recerca d'un mètode d'accés.\n" -#: sys-utils/hwclock.c:1025 +#: sys-utils/hwclock.c:1033 #, fuzzy, c-format msgid "Target date: %ld\n" msgstr "pàgines intercanviades %ld\n" -#: sys-utils/hwclock.c:1026 +#: sys-utils/hwclock.c:1034 #, c-format msgid "Predicted RTC: %ld\n" msgstr "" -#: sys-utils/hwclock.c:1056 +#: sys-utils/hwclock.c:1064 msgid "RTC read returned an invalid value." msgstr "" -#: sys-utils/hwclock.c:1086 +#: sys-utils/hwclock.c:1094 #, c-format msgid "Needed adjustment is less than one second, so not setting clock.\n" msgstr "L'ajustament necessari és inferior a un segon, no s'ajustarà el rellotge.\n" -#: sys-utils/hwclock.c:1123 +#: sys-utils/hwclock.c:1131 #, fuzzy msgid "unable to read the RTC epoch." msgstr "no es pot llegir el superbloc" -#: sys-utils/hwclock.c:1125 +#: sys-utils/hwclock.c:1133 #, c-format msgid "The RTC epoch is set to %lu.\n" msgstr "" -#: sys-utils/hwclock.c:1128 +#: sys-utils/hwclock.c:1136 msgid "--epoch is required for --setepoch." msgstr "" -#: sys-utils/hwclock.c:1131 +#: sys-utils/hwclock.c:1139 #, fuzzy msgid "unable to set the RTC epoch." msgstr "No es pot establir el rellotge del sistema.\n" -#: sys-utils/hwclock.c:1145 +#: sys-utils/hwclock.c:1153 #, fuzzy, c-format msgid " %s [function] [option...]\n" msgstr "Forma d'ús: %s [opcions] dispositiu ...\n" -#: sys-utils/hwclock.c:1148 +#: sys-utils/hwclock.c:1156 msgid "Time clocks utility." msgstr "" -#: sys-utils/hwclock.c:1151 +#: sys-utils/hwclock.c:1159 #, fuzzy msgid " -r, --show display the RTC time" msgstr " -Q, --quiet-output No hi ha sortida normal\n" -#: sys-utils/hwclock.c:1152 +#: sys-utils/hwclock.c:1160 #, fuzzy msgid " --get display drift corrected RTC time" msgstr " -Q, --quiet-output No hi ha sortida normal\n" -#: sys-utils/hwclock.c:1153 +#: sys-utils/hwclock.c:1161 #, fuzzy msgid " --set set the RTC according to --date" msgstr " -u, --unqote No es posarà la sortida entre cometes\n" -#: sys-utils/hwclock.c:1154 +#: sys-utils/hwclock.c:1162 msgid " -s, --hctosys set the system time from the RTC" msgstr "" -#: sys-utils/hwclock.c:1155 +#: sys-utils/hwclock.c:1163 #, fuzzy msgid " -w, --systohc set the RTC from the system time" msgstr " l llista els tipus de sistemes de fitxers coneguts" -#: sys-utils/hwclock.c:1156 +#: sys-utils/hwclock.c:1164 #, fuzzy msgid " --systz send timescale configurations to the kernel" msgstr " -n : No escrigues realment al disc" -#: sys-utils/hwclock.c:1157 +#: sys-utils/hwclock.c:1165 msgid " -a, --adjust adjust the RTC to account for systematic drift" msgstr "" -#: sys-utils/hwclock.c:1159 +#: sys-utils/hwclock.c:1167 #, fuzzy msgid " --getepoch display the RTC epoch" msgstr " -h, --help Aquesta petita guia d'ús\n" -#: sys-utils/hwclock.c:1160 +#: sys-utils/hwclock.c:1168 msgid " --setepoch set the RTC epoch according to --epoch" msgstr "" -#: sys-utils/hwclock.c:1162 +#: sys-utils/hwclock.c:1170 msgid " --predict predict the drifted RTC time according to --date" msgstr "" -#: sys-utils/hwclock.c:1164 +#: sys-utils/hwclock.c:1172 #, fuzzy msgid " -u, --utc the RTC timescale is UTC" msgstr " -V, --version Mostra la informació de la versió\n" -#: sys-utils/hwclock.c:1165 +#: sys-utils/hwclock.c:1173 #, fuzzy msgid " -l, --localtime the RTC timescale is Local" msgstr " -h, --help Aquesta petita guia d'ús\n" -#: sys-utils/hwclock.c:1168 +#: sys-utils/hwclock.c:1176 #, fuzzy, c-format msgid " -f, --rtc use an alternate file to %1$s\n" msgstr " -a, --alternative Permet opcions llargues amb només un -\n" -#: sys-utils/hwclock.c:1171 +#: sys-utils/hwclock.c:1179 #, c-format msgid " --directisa use the ISA bus instead of %1$s access\n" msgstr "" -#: sys-utils/hwclock.c:1172 +#: sys-utils/hwclock.c:1180 msgid " --date