diff --git a/CMake/CheckCxxTarget.cmake b/CMake/CheckCxxTarget.cmake new file mode 100644 index 0000000000000000000000000000000000000000..373c0be4c90482dca8bfaca901388f38f585bc63 --- /dev/null +++ b/CMake/CheckCxxTarget.cmake @@ -0,0 +1,35 @@ +# CMake support for target-based function multiversioning +# +# Copyright (C) 2019 Canonical Ltd +# +# Author: Julian Andres Klode <jak@debian.org>. +# +# Permission is hereby granted, free of charge, to any person +# obtaining a copy of this software and associated documentation files +# (the "Software"), to deal in the Software without restriction, +# including without limitation the rights to use, copy, modify, merge, +# publish, distribute, sublicense, and/or sell copies of the Software, +# and to permit persons to whom the Software is furnished to do so, +# subject to the following conditions: +# +# The above copyright notice and this permission notice shall be +# included in all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS +# BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN +# ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +# CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +# SOFTWARE. + + +function(check_cxx_target var target code) + check_cxx_source_compiles( + " + __attribute__((target(\"${target}\"))) static int foo() { ${code} return 1; } + __attribute__((target(\"default\"))) static int foo() { ${code} return 0; } + int main() { return foo(); } + " ${var}) +endfunction() diff --git a/CMake/FindSystemd.cmake b/CMake/FindSystemd.cmake new file mode 100644 index 0000000000000000000000000000000000000000..1c7a7debf8a2f4e88209cd3893c2289b6798829f --- /dev/null +++ b/CMake/FindSystemd.cmake @@ -0,0 +1,24 @@ +# - Try to find SYSTEMD +# Once done, this will define +# +# SYSTEMD_FOUND - system has SYSTEMD +# SYSTEMD_INCLUDE_DIRS - the SYSTEMD include directories +# SYSTEMD_LIBRARIES - the SYSTEMD library +find_package(PkgConfig) + +pkg_check_modules(SYSTEMD_PKGCONF libsystemd) + +find_path(SYSTEMD_INCLUDE_DIRS + NAMES systemd/sd-bus.h + PATHS ${SYSTEMD_PKGCONF_INCLUDE_DIRS} +) + +find_library(SYSTEMD_LIBRARIES + NAMES systemd + PATHS ${SYSTEMD_PKGCONF_LIBRARY_DIRS} +) + +include(FindPackageHandleStandardArgs) +find_package_handle_standard_args(Systemd DEFAULT_MSG SYSTEMD_INCLUDE_DIRS SYSTEMD_LIBRARIES) + +mark_as_advanced(SYSTEMD_INCLUDE_DIRS SYSTEMD_LIBRARIES) diff --git a/CMake/config.h.in b/CMake/config.h.in index bd0da86491319ab7f9fd5669847dac582447dde3..a9528ccfac167f2c7e5568a45ee0e01d801eac84 100644 --- a/CMake/config.h.in +++ b/CMake/config.h.in @@ -20,6 +20,9 @@ /* Define if we have the zstd library for zst */ #cmakedefine HAVE_ZSTD +/* Define if we have the systemd library */ +#cmakedefine HAVE_SYSTEMD + /* Define if we have the udev library */ #cmakedefine HAVE_UDEV @@ -74,6 +77,10 @@ /* Group of the root user */ #cmakedefine ROOT_GROUP "${ROOT_GROUP}" +/* defined if __builtin_ia32_crc32{s,d}i() exists in an sse4.2 target */ +#cmakedefine HAVE_FMV_SSE42_AND_CRC32 +#cmakedefine HAVE_FMV_SSE42_AND_CRC32DI + #define APT_8_CLEANER_HEADERS #define APT_9_CLEANER_HEADERS #define APT_10_CLEANER_HEADERS diff --git a/CMakeLists.txt b/CMakeLists.txt index 4adaa146b49666b032072a73a063438629d3c1f2..5bdbd22064f7141977b2c55d5cad2d2b59eba756 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -115,6 +115,11 @@ if (UDEV_FOUND) set(HAVE_UDEV 1) endif() +find_package(Systemd) +if (SYSTEMD_FOUND) + set(HAVE_SYSTEMD 1) +endif() + find_package(Seccomp) if (SECCOMP_FOUND) set(HAVE_SECCOMP 1) @@ -180,10 +185,15 @@ else() set(RESOLV_LIBRARIES -lresolv) endif() +# Check multiversioning +include(CheckCxxTarget) +check_cxx_target(HAVE_FMV_SSE42_AND_CRC32 "sse4.2" "__builtin_ia32_crc32si(0, 1llu);") +check_cxx_target(HAVE_FMV_SSE42_AND_CRC32DI "sse4.2" "__builtin_ia32_crc32di(0, 1llu);") + # Configure some variables like package, version and architecture. set(PACKAGE ${PROJECT_NAME}) set(PACKAGE_MAIL "APT Development Team <deity@lists.debian.org>") -set(PACKAGE_VERSION "1.8.0~alpha3") +set(PACKAGE_VERSION "1.8.2") if (NOT DEFINED DPKG_DATADIR) execute_process(COMMAND ${PERL_EXECUTABLE} -MDpkg -e "print $Dpkg::DATADIR;" @@ -238,6 +248,7 @@ endif() # Create our directories. install_empty_directories( ${CONF_DIR}/apt.conf.d + ${CONF_DIR}/auth.conf.d ${CONF_DIR}/preferences.d ${CONF_DIR}/sources.list.d ${CONF_DIR}/trusted.gpg.d diff --git a/Dockerfile b/Dockerfile index 08aed48368bd7518bbd24fc79b30f439da25119b..49934e46cb0fe76239160e6e60e8bdc6a4d7555f 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,4 +1,4 @@ -FROM debian:testing +FROM debian:buster COPY . /tmp WORKDIR /tmp RUN sed -i s#://deb.debian.org#://cdn-fastly.deb.debian.org# /etc/apt/sources.list \ diff --git a/README.md b/README.md index e17f1f4419c970040791d867197a5780dbb4d6e2..8a8b3b6edf040a33dc8f7b843511a50aee2a31d3 100644 --- a/README.md +++ b/README.md @@ -9,19 +9,20 @@ package managers can depend upon. Included tools are: -* apt-get for retrieval of packages and information about them +* **apt-get** for retrieval of packages and information about them from authenticated sources and for installation, upgrade and removal of packages together with their dependencies -* apt-cache for querying available information about installed +* **apt-cache** for querying available information about installed as well as installable packages -* apt-cdrom to use removable media as a source for packages -* apt-config as an interface to the configuration settings -* apt-key as an interface to manage authentication keys -* apt-extracttemplates to be used by debconf to prompt for configuration - questions before installation. -* apt-ftparchive creates Packages and other index files +* **apt-cdrom** to use removable media as a source for packages +* **apt-config** as an interface to the configuration settings +* **apt-key** as an interface to manage authentication keys +* **apt-extracttemplates** to be used by debconf to prompt for configuration + questions before installation +* **apt-ftparchive** creates Packages and other index files needed to publish an archive of debian packages -* apt-sortpkgs is a Packages/Sources file normalizer. +* **apt-sortpkgs** is a Packages/Sources file normalizer +* **apt** is a high-level commandline interface for better interactive usage The libraries libapt-pkg and libapt-inst are also maintained as part of this project, alongside various additional binaries like the acquire-methods used by them. diff --git a/apt-pkg/CMakeLists.txt b/apt-pkg/CMakeLists.txt index 64709ce34506b22dcf8d56e4d516194bca9a39a4..ce73c6a34d15bbf10caec574d8c3766cd62bb917 100644 --- a/apt-pkg/CMakeLists.txt +++ b/apt-pkg/CMakeLists.txt @@ -46,6 +46,7 @@ target_include_directories(apt-pkg ${LZ4_INCLUDE_DIRS} $<$<BOOL:${ZSTD_FOUND}>:${ZSTD_INCLUDE_DIRS}> $<$<BOOL:${UDEV_FOUND}>:${UDEV_INCLUDE_DIRS}> + $<$<BOOL:${SYSTEMD_FOUND}>:${SYSTEMD_INCLUDE_DIRS}> ${ICONV_INCLUDE_DIRS} ) @@ -58,6 +59,7 @@ target_link_libraries(apt-pkg ${LZ4_LIBRARIES} $<$<BOOL:${ZSTD_FOUND}>:${ZSTD_LIBRARIES}> $<$<BOOL:${UDEV_FOUND}>:${UDEV_LIBRARIES}> + $<$<BOOL:${SYSTEMD_FOUND}>:${SYSTEMD_LIBRARIES}> ${ICONV_LIBRARIES} ) set_target_properties(apt-pkg PROPERTIES VERSION ${MAJOR}.${MINOR}) diff --git a/apt-pkg/acquire-item.cc b/apt-pkg/acquire-item.cc index 83c7930937469a21574f81d7528e30d245c0eb82..bb3bc1b56ac38e8f187ef44adf4917015a472aa1 100644 --- a/apt-pkg/acquire-item.cc +++ b/apt-pkg/acquire-item.cc @@ -25,6 +25,7 @@ #include <apt-pkg/hashes.h> #include <apt-pkg/indexfile.h> #include <apt-pkg/metaindex.h> +#include <apt-pkg/netrc.h> #include <apt-pkg/pkgcache.h> #include <apt-pkg/pkgrecords.h> #include <apt-pkg/sourcelist.h> @@ -1464,8 +1465,20 @@ bool pkgAcqMetaBase::CheckDownloadDone(pkgAcqTransactionItem * const I, const st return true; } /*}}}*/ -bool pkgAcqMetaBase::CheckAuthDone(string const &Message) /*{{{*/ +bool pkgAcqMetaBase::CheckAuthDone(string const &Message, pkgAcquire::MethodConfig const *const Cnf) /*{{{*/ { + /* If we work with a recent version of our gpgv method, we expect that it tells us + which key(s) have signed the file so stuff like CVE-2018-0501 is harder in the future */ + if (Cnf->Version != "1.0" && LookupTag(Message, "Signed-By").empty()) + { + std::string errmsg; + strprintf(errmsg, "Internal Error: Signature on %s seems good, but expected details are missing! (%s)", Target.URI.c_str(), "Signed-By"); + if (ErrorText.empty()) + ErrorText = errmsg; + Status = StatAuthError; + return _error->Error("%s", errmsg.c_str()); + } + // At this point, the gpgv method has succeeded, so there is a // valid signature from a key in the trusted keyring. We // perform additional verification of its contents, and use them @@ -1946,7 +1959,7 @@ void pkgAcqMetaClearSig::Done(std::string const &Message, QueueForSignatureVerify(this, DestFile, DestFile); return; } - else if(CheckAuthDone(Message) == true) + else if (CheckAuthDone(Message, Cnf) == true) { if (TransactionManager->IMSHit == false) TransactionManager->TransactionStageCopy(this, DestFile, GetFinalFilename()); @@ -2190,7 +2203,7 @@ void pkgAcqMetaSig::Done(string const &Message, HashStringList const &Hashes, } return; } - else if(MetaIndex->CheckAuthDone(Message) == true) + else if (MetaIndex->CheckAuthDone(Message, Cfg) == true) { auto const Releasegpg = GetFinalFilename(); auto const Release = MetaIndex->GetFinalFilename(); @@ -3382,6 +3395,7 @@ pkgAcqArchive::pkgAcqArchive(pkgAcquire *const Owner, pkgSourceList *const Sourc StoreFilename.clear(); std::set<string> targetComponents, targetCodenames, targetSuites; + std::vector<std::unique_ptr<FileFd>> authconfs; for (auto Vf = Version.FileList(); Vf.end() == false; ++Vf) { auto const PkgF = Vf.File(); @@ -3389,6 +3403,8 @@ pkgAcqArchive::pkgAcqArchive(pkgAcquire *const Owner, pkgSourceList *const Sourc continue; if (PkgF.Flagged(pkgCache::Flag::NotSource)) continue; + if (PkgF.Flagged(pkgCache::Flag::PackagesRequireAuthorization) && !IsAuthorized(PkgF, authconfs)) + continue; pkgIndexFile *Index; if (Sources->FindIndex(PkgF, Index) == false) continue; diff --git a/apt-pkg/acquire-item.h b/apt-pkg/acquire-item.h index 4a1378922517f4180079080a682374d6977b83f2..70651d9e3dd3bdceea4c6081798dcea0f5a57135 100644 --- a/apt-pkg/acquire-item.h +++ b/apt-pkg/acquire-item.h @@ -451,8 +451,9 @@ class APT_HIDDEN pkgAcqMetaBase : public pkgAcqTransactionItem /*{{{*/ * * \param Message The message block received from the fetch * subprocess. + * \param Cnf The method and its configuration which handled the request */ - bool CheckAuthDone(std::string const &Message); + bool CheckAuthDone(std::string const &Message, pkgAcquire::MethodConfig const *const Cnf); /** Check if the current item should fail at this point */ bool CheckStopAuthentication(pkgAcquire::Item * const I, const std::string &Message); diff --git a/apt-pkg/acquire-method.cc b/apt-pkg/acquire-method.cc index c9cd48bb6eb621f4247c15f464a2ca020ffab199..ae5ae4a1561a2b10e6b82d42741c4aab140f76c6 100644 --- a/apt-pkg/acquire-method.cc +++ b/apt-pkg/acquire-method.cc @@ -88,6 +88,37 @@ pkgAcqMethod::pkgAcqMethod(const char *Ver,unsigned long Flags) /*}}}*/ void pkgAcqMethod::SendMessage(std::string const &header, std::unordered_map<std::string, std::string> &&fields) /*{{{*/ { + auto CheckKey = [](std::string const &str) { + // Space, hyphen-minus, and alphanum are allowed for keys/headers. + return str.find_first_not_of(" -0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz") == std::string::npos; + }; + + auto CheckValue = [](std::string const &str) { + return std::all_of(str.begin(), str.end(), [](unsigned char c) -> bool { + return c > 127 // unicode + || (c > 31 && c < 127) // printable chars + || c == '\n' || c == '\t'; // special whitespace + }); + }; + + auto Error = [this]() { + _error->Error("SECURITY: Message contains control characters, rejecting."); + _error->DumpErrors(); + SendMessage("400 URI Failure", {{"URI", "<UNKNOWN>"}, {"Message", "SECURITY: Message contains control characters, rejecting."}}); + abort(); + }; + + if (!CheckKey(header)) + return Error(); + + for (auto const &f : fields) + { + if (!CheckKey(f.first)) + return Error(); + if (!CheckValue(f.second)) + return Error(); + } + std::cout << header << '\n'; for (auto const &f : fields) { @@ -470,6 +501,12 @@ void pkgAcqMethod::Status(const char *Format,...) * the worker will enqueue again later on to the right queue */ void pkgAcqMethod::Redirect(const string &NewURI) { + if (NewURI.find_first_not_of(" !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~") != std::string::npos) + { + _error->Error("SECURITY: URL redirect target contains control characters, rejecting."); + Fail(); + return; + } std::unordered_map<std::string, std::string> fields; try_emplace(fields, "URI", Queue->Uri); try_emplace(fields, "New-URI", NewURI); diff --git a/apt-pkg/acquire-worker.cc b/apt-pkg/acquire-worker.cc index c2bbf8bed159dba44389efa086271296d814eb27..b36186121898a34cb0da596c6c5cf27eb618c88b 100644 --- a/apt-pkg/acquire-worker.cc +++ b/apt-pkg/acquire-worker.cc @@ -98,6 +98,8 @@ bool pkgAcquire::Worker::Start() std::string Method; if (_config->Exists(confItem)) Method = _config->FindFile(confItem.c_str()); + else if (Access == "ftp" || Access == "rsh" || Access == "ssh") + return _error->Error(_("The method '%s' is unsupported and disabled by default. Consider switching to http(s). Set Dir::Bin::Methods::%s to \"%s\" to enable it again."), Access.c_str(), Access.c_str(), Access.c_str()); else Method = _config->FindDir(methodsDir) + Access; if (FileExists(Method) == false) diff --git a/apt-pkg/contrib/configuration.cc b/apt-pkg/contrib/configuration.cc index 1c000e586ae1da3ef748cc02f70d2fb29a344fb5..997ef7423c536ac8e5562a6fb21b3f4812a71935 100644 --- a/apt-pkg/contrib/configuration.cc +++ b/apt-pkg/contrib/configuration.cc @@ -252,7 +252,7 @@ Configuration::Item *Configuration::Lookup(Item *Head,const char *S, if (Len != 0) { for (; I != 0; Last = &I->Next, I = I->Next) - if ((Res = stringcasecmp(I->Tag,S,S + Len)) == 0) + if (Len == I->Tag.length() && (Res = stringcasecmp(I->Tag,S,S + Len)) == 0) break; } else diff --git a/apt-pkg/contrib/fileutl.cc b/apt-pkg/contrib/fileutl.cc index eab05de4f330c333353aaee6346bcfe0b82029cc..4f123491b9b447d542f583212c92a4e810365edc 100644 --- a/apt-pkg/contrib/fileutl.cc +++ b/apt-pkg/contrib/fileutl.cc @@ -71,6 +71,9 @@ #ifdef HAVE_ZSTD #include <zstd.h> #endif +#ifdef HAVE_SYSTEMD +#include <systemd/sd-bus.h> +#endif #include <endian.h> #include <stdint.h> @@ -3106,6 +3109,10 @@ std::string GetTempDir(std::string const &User) } /*}}}*/ FileFd* GetTempFile(std::string const &Prefix, bool ImmediateUnlink, FileFd * const TmpFd) /*{{{*/ +{ + return GetTempFile(Prefix, ImmediateUnlink, TmpFd, false); +} +FileFd* GetTempFile(std::string const &Prefix, bool ImmediateUnlink, FileFd * const TmpFd, bool Buffered) { char fn[512]; FileFd * const Fd = TmpFd == nullptr ? new FileFd() : TmpFd; @@ -3114,7 +3121,7 @@ FileFd* GetTempFile(std::string const &Prefix, bool ImmediateUnlink, FileFd * co snprintf(fn, sizeof(fn), "%s/%s.XXXXXX", tempdir.c_str(), Prefix.c_str()); int const fd = mkstemp(fn); - if(ImmediateUnlink) + if (ImmediateUnlink) unlink(fn); if (fd < 0) { @@ -3123,13 +3130,15 @@ FileFd* GetTempFile(std::string const &Prefix, bool ImmediateUnlink, FileFd * co delete Fd; return nullptr; } - if (!Fd->OpenDescriptor(fd, FileFd::ReadWrite, FileFd::None, true)) + if (!Fd->OpenDescriptor(fd, FileFd::ReadWrite | (Buffered ? FileFd::BufferedWrite : 0), FileFd::None, true)) { _error->Errno("GetTempFile",_("Unable to write to %s"),fn); if (TmpFd == nullptr) delete Fd; return nullptr; } + if (ImmediateUnlink == false) + Fd->SetFileName(fn); return Fd; } /*}}}*/ @@ -3387,3 +3396,48 @@ bool OpenConfigurationFileFd(std::string const &File, FileFd &Fd) /*{{{*/ return true; } /*}}}*/ +int Inhibit(const char *what, const char *who, const char *why, const char *mode) /*{{{*/ +{ +#ifdef HAVE_SYSTEMD + sd_bus_error error = SD_BUS_ERROR_NULL; + sd_bus_message *m = NULL; + sd_bus *bus = NULL; + int fd; + int r; + + r = sd_bus_open_system(&bus); + if (r < 0) + goto out; + + r = sd_bus_call_method(bus, + "org.freedesktop.login1", + "/org/freedesktop/login1", + "org.freedesktop.login1.Manager", + "Inhibit", + &error, + &m, + "ssss", + what, + who, + why, + mode); + if (r < 0) + goto out; + + r = sd_bus_message_read(m, "h", &fd); + if (r < 0) + goto out; + + // We received a file descriptor, return it - systemd will close the read fd + // on free, so let's duplicate it here. + r = dup(fd); +out: + sd_bus_error_free(&error); + sd_bus_message_unref(m); + sd_bus_unref(bus); + return r; +#else + return -ENOTSUP; +#endif +} + /*}}}*/ diff --git a/apt-pkg/contrib/fileutl.h b/apt-pkg/contrib/fileutl.h index c7927951f1b4128b993ccbb087bdf4e309913d44..9005b81b50dadeec127287335a460f1529f7b473 100644 --- a/apt-pkg/contrib/fileutl.h +++ b/apt-pkg/contrib/fileutl.h @@ -210,6 +210,12 @@ FileFd* GetTempFile(std::string const &Prefix = "", bool ImmediateUnlink = true, FileFd * const TmpFd = NULL); +// FIXME: GetTempFile should always return a buffered file +FileFd* GetTempFile(std::string const &Prefix, + bool ImmediateUnlink , + FileFd * const TmpFd, + bool Buffered) APT_HIDDEN; + /** \brief Ensure the existence of the given Path * * \param Parent directory of the Path directory - a trailing @@ -294,4 +300,6 @@ bool Popen(const char* Args[], FileFd &Fd, pid_t &Child, FileFd::OpenMode Mode); APT_HIDDEN bool OpenConfigurationFileFd(std::string const &File, FileFd &Fd); +APT_HIDDEN int Inhibit(const char *what, const char *who, const char *why, const char *mode); + #endif diff --git a/apt-pkg/contrib/gpgv.cc b/apt-pkg/contrib/gpgv.cc index f8ab8d7154365e92b41c707ae984437eda5184df..d956eaf001cf9c0b34397704caa2c4dbdb0bd014 100644 --- a/apt-pkg/contrib/gpgv.cc +++ b/apt-pkg/contrib/gpgv.cc @@ -20,18 +20,94 @@ #include <algorithm> #include <fstream> #include <iostream> +#include <memory> #include <sstream> #include <string> #include <vector> #include <apti18n.h> /*}}}*/ -static char * GenerateTemporaryFileTemplate(const char *basename) /*{{{*/ + +// syntactic sugar to wrap a raw pointer with a custom deleter in a std::unique_ptr +static std::unique_ptr<char, decltype(&free)> make_unique_char(void *const str = nullptr) +{ + return {static_cast<char *>(str), &free}; +} +static std::unique_ptr<FILE, decltype(&fclose)> make_unique_FILE(std::string const &filename, char const *const mode) +{ + return {fopen(filename.c_str(), mode), &fclose}; +} + +class LineBuffer /*{{{*/ +{ + char *buffer = nullptr; + size_t buffer_size = 0; + int line_length = 0; + // a "normal" find_last_not_of returns npos if not found + int find_last_not_of_length(APT::StringView const bad) const + { + for (int result = line_length - 1; result >= 0; --result) + if (bad.find(buffer[result]) == APT::StringView::npos) + return result + 1; + return 0; + } + + public: + bool empty() const noexcept { return view().empty(); } + APT::StringView view() const noexcept { return {buffer, static_cast<size_t>(line_length)}; } + bool starts_with(APT::StringView const start) const { return view().substr(0, start.size()) == start; } + + bool writeTo(FileFd *const to, size_t offset = 0) const + { + if (to == nullptr) + return true; + return to->Write(buffer + offset, line_length - offset); + } + bool writeLineTo(FileFd *const to) const + { + if (to == nullptr) + return true; + buffer[line_length] = '\n'; + bool const result = to->Write(buffer, line_length + 1); + buffer[line_length] = '\0'; + return result; + } + bool writeNewLineIf(FileFd *const to, bool const condition) const + { + if (not condition || to == nullptr) + return true; + return to->Write("\n", 1); + } + + bool readFrom(FILE *stream, std::string const &InFile, bool acceptEoF = false) + { + errno = 0; + line_length = getline(&buffer, &buffer_size, stream); + if (errno != 0) + return _error->Errno("getline", "Could not read from %s", InFile.c_str()); + if (line_length == -1) + { + if (acceptEoF) + return false; + return _error->Error("Splitting of clearsigned file %s failed as it doesn't contain all expected parts", InFile.c_str()); + } + // a) remove newline characters, so we can work consistently with lines + line_length = find_last_not_of_length("\n\r"); + // b) remove trailing whitespaces as defined by rfc4880 §7.1 + line_length = find_last_not_of_length(" \t"); + buffer[line_length] = '\0'; + return true; + } + + ~LineBuffer() { free(buffer); } +}; +static bool operator==(LineBuffer const &buf, APT::StringView const exp) noexcept { - std::string out; - std::string tmpdir = GetTempDir(); - strprintf(out, "%s/%s.XXXXXX", tmpdir.c_str(), basename); - return strdup(out.c_str()); + return buf.view() == exp; +} +static bool operator!=(LineBuffer const &buf, APT::StringView const exp) noexcept +{ + return buf.view() != exp; } /*}}}*/ // ExecGPGV - returns the command needed for verify /*{{{*/ @@ -47,11 +123,10 @@ static char * GenerateTemporaryFileTemplate(const char *basename) /*{{{*/ */ static bool iovprintf(std::ostream &out, const char *format, va_list &args, ssize_t &size) { - char *S = (char*)malloc(size); - ssize_t const n = vsnprintf(S, size, format, args); + auto S = make_unique_char(malloc(size)); + ssize_t const n = vsnprintf(S.get(), size, format, args); if (n > -1 && n < size) { - out << S; - free(S); + out << S.get(); return true; } else { if (n > -1) @@ -59,7 +134,6 @@ static bool iovprintf(std::ostream &out, const char *format, else size *= 2; } - free(S); return false; } static void APT_PRINTF(4) apt_error(std::ostream &outterm, int const statusfd, int fd[2], const char *format, ...) @@ -73,7 +147,7 @@ static void APT_PRINTF(4) apt_error(std::ostream &outterm, int const statusfd, i va_start(args,format); ret = iovprintf(out, format, args, size); va_end(args); - if (ret == true) + if (ret) break; } if (statusfd != -1) @@ -81,8 +155,8 @@ static void APT_PRINTF(4) apt_error(std::ostream &outterm, int const statusfd, i auto const errtag = "[APTKEY:] ERROR "; outstr << '\n'; auto const errtext = outstr.str(); - if (FileFd::Write(fd[1], errtag, strlen(errtag)) == false || - FileFd::Write(fd[1], errtext.data(), errtext.size()) == false) + if (not FileFd::Write(fd[1], errtag, strlen(errtag)) || + not FileFd::Write(fd[1], errtext.data(), errtext.size())) outterm << errtext << std::flush; } } @@ -141,83 +215,148 @@ void ExecGPGV(std::string const &File, std::string const &FileGPG, Opts = Opts->Child; for (; Opts != 0; Opts = Opts->Next) { - if (Opts->Value.empty() == true) + if (Opts->Value.empty()) continue; Args.push_back(Opts->Value.c_str()); } } enum { DETACHED, CLEARSIGNED } releaseSignature = (FileGPG != File) ? DETACHED : CLEARSIGNED; - char * sig = NULL; - char * data = NULL; - char * conf = nullptr; + auto sig = make_unique_char(); + auto data = make_unique_char(); + auto conf = make_unique_char(); // Dump the configuration so apt-key picks up the correct Dir values { - conf = GenerateTemporaryFileTemplate("apt.conf"); + { + std::string tmpfile; + strprintf(tmpfile, "%s/apt.conf.XXXXXX", GetTempDir().c_str()); + conf.reset(strdup(tmpfile.c_str())); + } if (conf == nullptr) { apt_error(std::cerr, statusfd, fd, "Couldn't create tempfile names for passing config to apt-key"); local_exit(EINTERNAL); } - int confFd = mkstemp(conf); + int confFd = mkstemp(conf.get()); if (confFd == -1) { - apt_error(std::cerr, statusfd, fd, "Couldn't create temporary file %s for passing config to apt-key", conf); + apt_error(std::cerr, statusfd, fd, "Couldn't create temporary file %s for passing config to apt-key", conf.get()); local_exit(EINTERNAL); } - local_exit.files.push_back(conf); + local_exit.files.push_back(conf.get()); - std::ofstream confStream(conf); + std::ofstream confStream(conf.get()); close(confFd); _config->Dump(confStream); confStream.close(); - setenv("APT_CONFIG", conf, 1); + setenv("APT_CONFIG", conf.get(), 1); } if (releaseSignature == DETACHED) { - Args.push_back(FileGPG.c_str()); - Args.push_back(File.c_str()); - } - else // clear-signed file - { - sig = GenerateTemporaryFileTemplate("apt.sig"); - data = GenerateTemporaryFileTemplate("apt.data"); - if (sig == NULL || data == NULL) + auto detached = make_unique_FILE(FileGPG, "r"); + if (detached.get() == nullptr) { - apt_error(std::cerr, statusfd, fd, "Couldn't create tempfile names for splitting up %s", File.c_str()); + apt_error(std::cerr, statusfd, fd, "Detached signature file '%s' could not be opened", FileGPG.c_str()); local_exit(EINTERNAL); } - - int const sigFd = mkstemp(sig); - int const dataFd = mkstemp(data); - if (dataFd != -1) - local_exit.files.push_back(data); - if (sigFd != -1) - local_exit.files.push_back(sig); - if (sigFd == -1 || dataFd == -1) + LineBuffer buf; + bool open_signature = false; + bool found_badcontent = false; + size_t found_signatures = 0; + while (buf.readFrom(detached.get(), FileGPG, true)) { - apt_error(std::cerr, statusfd, fd, "Couldn't create tempfiles for splitting up %s", File.c_str()); - local_exit(EINTERNAL); + if (open_signature) + { + if (buf == "-----END PGP SIGNATURE-----") + open_signature = false; + else if (buf.starts_with("-")) + { + // the used Radix-64 is not using dash for any value, so a valid line can't + // start with one. Header keys could, but no existent one does and seems unlikely. + // Instead it smells a lot like a header the parser didn't recognize. + apt_error(std::cerr, statusfd, fd, "Detached signature file '%s' contains unexpected line starting with a dash", FileGPG.c_str()); + local_exit(112); + } + } + else //if (not open_signature) + { + if (buf == "-----BEGIN PGP SIGNATURE-----") + { + open_signature = true; + ++found_signatures; + if (found_badcontent) + break; + } + else + { + found_badcontent = true; + if (found_signatures != 0) + break; + } + } + } + if (found_signatures == 0 && statusfd != -1) + { + auto const errtag = "[GNUPG:] NODATA\n"; + FileFd::Write(fd[1], errtag, strlen(errtag)); + // guess if this is a binary signature, we never officially supported them, + // but silently accepted them via passing them unchecked to gpgv + if (found_badcontent) + { + rewind(detached.get()); + auto ptag = fgetc(detached.get()); + // §4.2 says that the first bit is always set and gpg seems to generate + // only old format which is indicated by the second bit not set + if (ptag != EOF && (ptag & 0x80) != 0 && (ptag & 0x40) == 0) + { + apt_error(std::cerr, statusfd, fd, "Detached signature file '%s' is in unsupported binary format", FileGPG.c_str()); + local_exit(112); + } + } + // This is not an attack attempt but a file even gpgv would complain about + // likely the result of a paywall which is covered by the gpgv method + local_exit(113); + } + else if (found_badcontent) + { + apt_error(std::cerr, statusfd, fd, "Detached signature file '%s' contains lines not belonging to a signature", FileGPG.c_str()); + local_exit(112); + } + if (open_signature) + { + apt_error(std::cerr, statusfd, fd, "Detached signature file '%s' contains unclosed signatures", FileGPG.c_str()); + local_exit(112); } + Args.push_back(FileGPG.c_str()); + Args.push_back(File.c_str()); + } + else // clear-signed file + { FileFd signature; - signature.OpenDescriptor(sigFd, FileFd::WriteOnly, true); + if (GetTempFile("apt.sig", false, &signature) == nullptr) + local_exit(EINTERNAL); + sig.reset(strdup(signature.Name().c_str())); + local_exit.files.push_back(sig.get()); FileFd message; - message.OpenDescriptor(dataFd, FileFd::WriteOnly, true); + if (GetTempFile("apt.data", false, &message) == nullptr) + local_exit(EINTERNAL); + data.reset(strdup(message.Name().c_str())); + local_exit.files.push_back(data.get()); - if (signature.Failed() == true || message.Failed() == true || - SplitClearSignedFile(File, &message, nullptr, &signature) == false) + if (signature.Failed() || message.Failed() || + not SplitClearSignedFile(File, &message, nullptr, &signature)) { apt_error(std::cerr, statusfd, fd, "Splitting up %s into data and signature failed", File.c_str()); local_exit(112); } - Args.push_back(sig); - Args.push_back(data); + Args.push_back(sig.get()); + Args.push_back(data.get()); } Args.push_back(NULL); - if (Debug == true) + if (Debug) { std::clog << "Preparing to exec: "; for (std::vector<const char *>::const_iterator a = Args.begin(); *a != NULL; ++a) @@ -270,7 +409,7 @@ void ExecGPGV(std::string const &File, std::string const &FileGPG, } // check if it exit'ed normally … - if (WIFEXITED(Status) == false) + if (not WIFEXITED(Status)) { apt_error(std::cerr, statusfd, fd, _("Sub-process %s exited unexpectedly"), "apt-key"); local_exit(EINTERNAL); @@ -289,168 +428,142 @@ void ExecGPGV(std::string const &File, std::string const &FileGPG, } /*}}}*/ // SplitClearSignedFile - split message into data/signature /*{{{*/ -static int GetLineErrno(char **lineptr, size_t *n, FILE *stream, std::string const &InFile) +bool SplitClearSignedFile(std::string const &InFile, FileFd * const ContentFile, + std::vector<std::string> * const ContentHeader, FileFd * const SignatureFile) { - int result; + auto in = make_unique_FILE(InFile, "r"); + if (in.get() == nullptr) + return _error->Errno("fopen", "can not open %s", InFile.c_str()); - errno = 0; - result = getline(lineptr, n, stream); - if (errno != 0) + struct ScopedErrors + { + ScopedErrors() { _error->PushToStack(); } + ~ScopedErrors() { _error->MergeWithStack(); } + } scoped; + LineBuffer buf; + + // start of the message + if (not buf.readFrom(in.get(), InFile)) + return false; // empty or read error + if (buf != "-----BEGIN PGP SIGNED MESSAGE-----") { - _error->Errno("getline", "Could not read from %s", InFile.c_str()); - return -1; + // this might be an unsigned file we don't want to report errors for, + // but still finish unsuccessful none the less. + while (buf.readFrom(in.get(), InFile, true)) + if (buf == "-----BEGIN PGP SIGNED MESSAGE-----") + return _error->Error("Clearsigned file '%s' does not start with a signed message block.", InFile.c_str()); + + return false; } - return result; -} -bool SplitClearSignedFile(std::string const &InFile, FileFd * const ContentFile, - std::vector<std::string> * const ContentHeader, FileFd * const SignatureFile) -{ - FILE *in = fopen(InFile.c_str(), "r"); - if (in == NULL) - return _error->Errno("fopen", "can not open %s", InFile.c_str()); + // save "Hash" Armor Headers + while (true) + { + if (not buf.readFrom(in.get(), InFile)) + return false; + if (buf.empty()) + break; // empty line ends the Armor Headers + if (buf.starts_with("-")) + // § 6.2 says unknown keys should be reported to the user. We don't go that far, + // but we assume that there will never be a header key starting with a dash + return _error->Error("Clearsigned file '%s' contains unexpected line starting with a dash (%s)", InFile.c_str(), "armor"); + if (ContentHeader != nullptr && buf.starts_with("Hash: ")) + ContentHeader->push_back(buf.view().to_string()); + } - bool found_message_start = false; - bool found_message_end = false; - bool skip_until_empty_line = false; - bool found_signature = false; + // the message itself bool first_line = true; - bool signed_message_not_on_first_line = false; - bool found_garbage = false; - - char *buf = NULL; - size_t buf_size = 0; - _error->PushToStack(); - while (GetLineErrno(&buf, &buf_size, in, InFile) != -1) + while (true) { - _strrstrip(buf); - if (found_message_start == false) + if (not buf.readFrom(in.get(), InFile)) + return false; + + if (buf.starts_with("-")) { - if (strcmp(buf, "-----BEGIN PGP SIGNED MESSAGE-----") == 0) + if (buf == "-----BEGIN PGP SIGNATURE-----") { - found_message_start = true; - skip_until_empty_line = true; + if (not buf.writeLineTo(SignatureFile)) + return false; + break; + } + else if (buf.starts_with("- ")) + { + // we don't have any fields which need to be dash-escaped, + // but implementations are free to escape all lines … + if (not buf.writeNewLineIf(ContentFile, not first_line) || not buf.writeTo(ContentFile, 2)) + return false; } else - signed_message_not_on_first_line = found_garbage = true; + // § 7.1 says a client should warn, but we don't really work with files which + // should contain lines starting with a dash, so it is a lot more likely that + // this is an attempt to trick our parser vs. gpgv parser into ignoring a header + return _error->Error("Clearsigned file '%s' contains unexpected line starting with a dash (%s)", InFile.c_str(), "msg"); } - else if (skip_until_empty_line == true) + else if (not buf.writeNewLineIf(ContentFile, not first_line) || not buf.writeTo(ContentFile)) + return false; + first_line = false; + } + + // collect all signatures + bool open_signature = true; + while (true) + { + if (not buf.readFrom(in.get(), InFile, true)) + break; + + if (open_signature) { - if (strlen(buf) == 0) - skip_until_empty_line = false; - // save "Hash" Armor Headers, others aren't allowed - else if (ContentHeader != NULL && strncmp(buf, "Hash: ", strlen("Hash: ")) == 0) - ContentHeader->push_back(buf); + if (buf == "-----END PGP SIGNATURE-----") + open_signature = false; + else if (buf.starts_with("-")) + // the used Radix-64 is not using dash for any value, so a valid line can't + // start with one. Header keys could, but no existent one does and seems unlikely. + // Instead it smells a lot like a header the parser didn't recognize. + return _error->Error("Clearsigned file '%s' contains unexpected line starting with a dash (%s)", InFile.c_str(), "sig"); } - else if (found_signature == false) + else //if (not open_signature) { - if (strcmp(buf, "-----BEGIN PGP SIGNATURE-----") == 0) - { - found_signature = true; - found_message_end = true; - if (SignatureFile != NULL) - { - SignatureFile->Write(buf, strlen(buf)); - SignatureFile->Write("\n", 1); - } - } - else if (found_message_end == false) // we are in the message block - { - // we don't have any fields which need dash-escaped, - // but implementations are free to encode all lines … - char const * dashfree = buf; - if (strncmp(dashfree, "- ", 2) == 0) - dashfree += 2; - if(first_line == true) // first line does not need a newline - first_line = false; - else if (ContentFile != NULL) - ContentFile->Write("\n", 1); - else - continue; - if (ContentFile != NULL) - ContentFile->Write(dashfree, strlen(dashfree)); - } + if (buf == "-----BEGIN PGP SIGNATURE-----") + open_signature = true; else - found_garbage = true; + return _error->Error("Clearsigned file '%s' contains unsigned lines.", InFile.c_str()); } - else if (found_signature == true) - { - if (SignatureFile != NULL) - { - SignatureFile->Write(buf, strlen(buf)); - SignatureFile->Write("\n", 1); - } - if (strcmp(buf, "-----END PGP SIGNATURE-----") == 0) - found_signature = false; // look for other signatures - } - // all the rest is whitespace, unsigned garbage or additional message blocks we ignore - else - found_garbage = true; + + if (not buf.writeLineTo(SignatureFile)) + return false; } - fclose(in); - if (buf != NULL) - free(buf); + if (open_signature) + return _error->Error("Signature in file %s wasn't closed", InFile.c_str()); - // Flush the files. Errors will be checked below. + // Flush the files if (SignatureFile != nullptr) SignatureFile->Flush(); if (ContentFile != nullptr) ContentFile->Flush(); - if (found_message_start) - { - if (signed_message_not_on_first_line) - _error->Warning("Clearsigned file '%s' does not start with a signed message block.", InFile.c_str()); - else if (found_garbage) - _error->Warning("Clearsigned file '%s' contains unsigned lines.", InFile.c_str()); - } - - // An error occurred during reading - propagate it up - bool const hasErrored = _error->PendingError(); - _error->MergeWithStack(); - if (hasErrored) - return false; - - if (found_signature == true) - return _error->Error("Signature in file %s wasn't closed", InFile.c_str()); - - // if we haven't found any of them, this an unsigned file, - // so don't generate an error, but splitting was unsuccessful none-the-less - if (first_line == true && found_message_start == false && found_message_end == false) + // Catch-all for "unhandled" read/sync errors + if (_error->PendingError()) return false; - // otherwise one missing indicates a syntax error - else if (first_line == true || found_message_start == false || found_message_end == false) - return _error->Error("Splitting of file %s failed as it doesn't contain all expected parts %i %i %i", InFile.c_str(), first_line, found_message_start, found_message_end); - return true; } /*}}}*/ bool OpenMaybeClearSignedFile(std::string const &ClearSignedFileName, FileFd &MessageFile) /*{{{*/ { - char * const message = GenerateTemporaryFileTemplate("fileutl.message"); - int const messageFd = mkstemp(message); - if (messageFd == -1) - { - free(message); - return _error->Errno("mkstemp", "Couldn't create temporary file to work with %s", ClearSignedFileName.c_str()); - } - // we have the fd, that's enough for us - unlink(message); - free(message); - - MessageFile.OpenDescriptor(messageFd, FileFd::ReadWrite | FileFd::BufferedWrite, true); - if (MessageFile.Failed() == true) + // Buffered file + if (GetTempFile("clearsigned.message", true, &MessageFile, true) == nullptr) + return false; + if (MessageFile.Failed()) return _error->Error("Couldn't open temporary file to work with %s", ClearSignedFileName.c_str()); _error->PushToStack(); bool const splitDone = SplitClearSignedFile(ClearSignedFileName, &MessageFile, NULL, NULL); bool const errorDone = _error->PendingError(); _error->MergeWithStack(); - if (splitDone == false) + if (not splitDone) { MessageFile.Close(); - if (errorDone == true) + if (errorDone) return false; // we deal with an unsigned file @@ -458,10 +571,10 @@ bool OpenMaybeClearSignedFile(std::string const &ClearSignedFileName, FileFd &Me } else // clear-signed { - if (MessageFile.Seek(0) == false) + if (not MessageFile.Seek(0)) return _error->Errno("lseek", "Unable to seek back in message for file %s", ClearSignedFileName.c_str()); } - return MessageFile.Failed() == false; + return not MessageFile.Failed(); } /*}}}*/ diff --git a/apt-pkg/contrib/hashes.cc b/apt-pkg/contrib/hashes.cc index 630a2e674803d2479e57bd72e9a2e097525e1a15..98b92cc8138d587adb8bc0cc55c80f10885fbf41 100644 --- a/apt-pkg/contrib/hashes.cc +++ b/apt-pkg/contrib/hashes.cc @@ -207,9 +207,7 @@ unsigned long long HashStringList::FileSize() const /*{{{*/ /*}}}*/ bool HashStringList::FileSize(unsigned long long const Size) /*{{{*/ { - std::string size; - strprintf(size, "%llu", Size); - return push_back(HashString("Checksum-FileSize", size)); + return push_back(HashString("Checksum-FileSize", std::to_string(Size))); } /*}}}*/ bool HashStringList::supported(char const * const type) /*{{{*/ diff --git a/apt-pkg/contrib/md5.cc b/apt-pkg/contrib/md5.cc index 21e3f0afd4b48ccf45bc90bdd973b8907fe4c170..c3b5299228d1227b0acf792732694da2ef8ccd0d 100644 --- a/apt-pkg/contrib/md5.cc +++ b/apt-pkg/contrib/md5.cc @@ -80,7 +80,7 @@ static void byteSwap(uint32_t *buf, unsigned words) static void MD5Transform(uint32_t buf[4], uint32_t const in[16]) { - register uint32_t a, b, c, d; + uint32_t a, b, c, d; a = buf[0]; b = buf[1]; diff --git a/apt-pkg/contrib/netrc.cc b/apt-pkg/contrib/netrc.cc index 84b4c0ed8f3df54195236e73ada49fed5accc6a1..48114ba3cc79e1749365e224bddb5ef9b3e2cc88 100644 --- a/apt-pkg/contrib/netrc.cc +++ b/apt-pkg/contrib/netrc.cc @@ -13,6 +13,7 @@ #include <config.h> #include <apt-pkg/configuration.h> +#include <apt-pkg/error.h> #include <apt-pkg/fileutl.h> #include <apt-pkg/strutl.h> @@ -149,3 +150,46 @@ void maybe_add_auth(URI &Uri, std::string NetRCFile) if (fd.Open(NetRCFile, FileFd::ReadOnly)) MaybeAddAuth(fd, Uri); } + +/* Check if we are authorized. */ +bool IsAuthorized(pkgCache::PkgFileIterator const I, std::vector<std::unique_ptr<FileFd>> &authconfs) +{ + if (authconfs.empty()) + { + _error->PushToStack(); + auto const netrc = _config->FindFile("Dir::Etc::netrc"); + if (not netrc.empty()) + { + authconfs.emplace_back(new FileFd()); + authconfs.back()->Open(netrc, FileFd::ReadOnly); + } + + auto const netrcparts = _config->FindDir("Dir::Etc::netrcparts"); + if (not netrcparts.empty()) + { + for (auto const &netrc : GetListOfFilesInDir(netrcparts, "conf", true, true)) + { + authconfs.emplace_back(new FileFd()); + authconfs.back()->Open(netrc, FileFd::ReadOnly); + } + } + _error->RevertToStack(); + } + + // FIXME: Use the full base url + URI uri(std::string("http://") + I.Site() + "/"); + for (auto &authconf : authconfs) + { + if (not authconf->IsOpen()) + continue; + if (not authconf->Seek(0)) + continue; + + MaybeAddAuth(*authconf, uri); + + if (not uri.User.empty() || not uri.Password.empty()) + return true; + } + + return false; +} diff --git a/apt-pkg/contrib/netrc.h b/apt-pkg/contrib/netrc.h index 98149406432797198a5c39b99c40349efb5b7a0c..80d95acc1ef6df5cdfdecfc3fd5da4e8f72fea78 100644 --- a/apt-pkg/contrib/netrc.h +++ b/apt-pkg/contrib/netrc.h @@ -13,9 +13,12 @@ #ifndef NETRC_H #define NETRC_H +#include <memory> #include <string> +#include <vector> #include <apt-pkg/macros.h> +#include <apt-pkg/pkgcache.h> #ifndef APT_8_CLEANER_HEADERS #include <apt-pkg/strutl.h> @@ -32,4 +35,5 @@ class FileFd; APT_DEPRECATED_MSG("Use FileFd-based MaybeAddAuth instead") void maybe_add_auth(URI &Uri, std::string NetRCFile); bool MaybeAddAuth(FileFd &NetRCFile, URI &Uri); +bool IsAuthorized(pkgCache::PkgFileIterator const I, std::vector<std::unique_ptr<FileFd>> &authconfs) APT_HIDDEN; #endif diff --git a/apt-pkg/contrib/strutl.cc b/apt-pkg/contrib/strutl.cc index 2e3e025ecd0dbe771a4f1b94cac305d016c3bd4a..50344d1fec2a6485106981b7bf070bce0ebf48da 100644 --- a/apt-pkg/contrib/strutl.cc +++ b/apt-pkg/contrib/strutl.cc @@ -989,7 +989,7 @@ static time_t timegm(struct tm *t) } #endif /*}}}*/ -// RFC1123StrToTime - Converts a HTTP1.1 full date strings into a time_t /*{{{*/ +// RFC1123StrToTime - Converts an HTTP1.1 full date strings into a time_t /*{{{*/ // --------------------------------------------------------------------- /* tries to parses a full date as specified in RFC7231 §7.1.1.1 with one exception: HTTP/1.1 valid dates need to have GMT as timezone. diff --git a/apt-pkg/deb/debindexfile.cc b/apt-pkg/deb/debindexfile.cc index f7e3c7a5c2b6ab97f3132cbfcbbbae3397f4e92b..25e0a331292021797e298f6668ef299a40a7b4e9 100644 --- a/apt-pkg/deb/debindexfile.cc +++ b/apt-pkg/deb/debindexfile.cc @@ -315,13 +315,10 @@ const pkgIndexFile::Type *debStringPackageIndex::GetType() const debStringPackageIndex::debStringPackageIndex(std::string const &content) : pkgDebianIndexRealFile("", false), d(NULL) { - char fn[1024]; - std::string const tempdir = GetTempDir(); - snprintf(fn, sizeof(fn), "%s/%s.XXXXXX", tempdir.c_str(), "apt-tmp-index"); - int const fd = mkstemp(fn); - File = fn; - FileFd::Write(fd, content.data(), content.length()); - close(fd); + FileFd fd; + GetTempFile("apt-tmp-index", false, &fd); + fd.Write(content.data(), content.length()); + File = fd.Name(); } debStringPackageIndex::~debStringPackageIndex() { diff --git a/apt-pkg/deb/deblistparser.cc b/apt-pkg/deb/deblistparser.cc index e8dff833dc6003882b164dab7bb04508cdd27566..80ca10e37ffa1e4aedbef9ec52fb14fdd68bfa21 100644 --- a/apt-pkg/deb/deblistparser.cc +++ b/apt-pkg/deb/deblistparser.cc @@ -61,6 +61,7 @@ debListParser::debListParser(FileFd *File) : else forceEssential.emplace_back("apt"); forceImportant = _config->FindVector("pkgCacheGen::ForceImportant"); + myArch = _config->Find("APT::Architecture"); } /*}}}*/ // ListParser::Package - Return the package name /*{{{*/ @@ -621,12 +622,11 @@ const char *debListParser::ParseDepends(const char *Start,const char *Stop, // We don't want to confuse library users which can't handle MultiArch if (StripMultiArch == true) { - string const arch = _config->Find("APT::Architecture"); size_t const found = Package.rfind(':'); if (found != StringView::npos && (Package.substr(found) == ":any" || Package.substr(found) == ":native" || - Package.substr(found +1) == arch)) + Package.substr(found +1) == Arch)) Package = Package.substr(0,found); } @@ -848,7 +848,7 @@ bool debListParser::ParseDepends(pkgCache::VerIterator &Ver, StringView Version; unsigned int Op; - Start = ParseDepends(Start, Stop, Package, Version, Op, false, false, false); + Start = ParseDepends(Start, Stop, Package, Version, Op, false, false, false, myArch); if (Start == 0) return _error->Error("Problem parsing dependency %zu",static_cast<size_t>(Key)); // TODO size_t const found = Package.rfind(':'); diff --git a/apt-pkg/deb/deblistparser.h b/apt-pkg/deb/deblistparser.h index 09b56665f8e1592753008ba643b2190ebe1a4474..f02252d5881a372437bc03ef8762616d3e9af79f 100644 --- a/apt-pkg/deb/deblistparser.h +++ b/apt-pkg/deb/deblistparser.h @@ -45,6 +45,7 @@ class APT_HIDDEN debListParser : public pkgCacheListParser std::vector<std::string> forceEssential; std::vector<std::string> forceImportant; std::string MD5Buffer; + std::string myArch; protected: pkgTagFile Tags; diff --git a/apt-pkg/deb/debmetaindex.cc b/apt-pkg/deb/debmetaindex.cc index 1afcdf2c08cda218b8131a9f2b1c8884b409dcc7..f88076abf307177f45121276597f7cfbf286e7c5 100644 --- a/apt-pkg/deb/debmetaindex.cc +++ b/apt-pkg/deb/debmetaindex.cc @@ -918,6 +918,7 @@ bool debReleaseIndex::Merge(pkgCacheGenerator &Gen,OpProgress * /*Prog*/) const/ #undef APT_INRELEASE Section.FindFlag("NotAutomatic", File->Flags, pkgCache::Flag::NotAutomatic); Section.FindFlag("ButAutomaticUpgrades", File->Flags, pkgCache::Flag::ButAutomaticUpgrades); + Section.FindFlag("Packages-Require-Authorization", File->Flags, pkgCache::Flag::PackagesRequireAuthorization); return true; } diff --git a/apt-pkg/deb/debsystem.cc b/apt-pkg/deb/debsystem.cc index 5df6c58a16183388caf0788efc8df3bc597dc42c..0c7e9ff39389215d3e73f902534874fb5ba89d59 100644 --- a/apt-pkg/deb/debsystem.cc +++ b/apt-pkg/deb/debsystem.cc @@ -153,8 +153,8 @@ bool debSystem::UnLock(bool NoErrors) return _error->Error(_("Not locked")); if (--d->LockCount == 0) { - close(d->FrontendLockFD); close(d->LockFD); + close(d->FrontendLockFD); d->LockCount = 0; } diff --git a/apt-pkg/deb/dpkgpm.cc b/apt-pkg/deb/dpkgpm.cc index 3c707e220b0990949de56bbb887d5e258df9a5aa..ffa880df2285258b2b167987242d42b275a4d595 100644 --- a/apt-pkg/deb/dpkgpm.cc +++ b/apt-pkg/deb/dpkgpm.cc @@ -1463,6 +1463,21 @@ bool pkgDPkgPM::ExpandPendingCalls(std::vector<Item> &List, pkgDepCache &Cache) } bool pkgDPkgPM::Go(APT::Progress::PackageManager *progress) { + struct Inhibitor + { + int Fd = -1; + Inhibitor() + { + if (_config->FindB("DPkg::Inhibit-Shutdown", true)) + Fd = Inhibit("shutdown", "APT", "APT is installing or removing packages", "block"); + } + ~Inhibitor() + { + if (Fd > 0) + close(Fd); + } + } inhibitor; + // explicitly remove&configure everything for hookscripts and progress building // we need them only temporarily through, so keep the length and erase afterwards decltype(List)::const_iterator::difference_type explicitIdx = diff --git a/apt-pkg/pkgcache.cc b/apt-pkg/pkgcache.cc index 058e389a5d70c5201e90acff8cb88ba69d2bd7c1..80dd1d1fa24a1b40c4ff2dff9df9729773e4bd09 100644 --- a/apt-pkg/pkgcache.cc +++ b/apt-pkg/pkgcache.cc @@ -231,10 +231,58 @@ map_id_t pkgCache::sHash(const char *Str) const return Hash % HeaderP->GetHashTableSize(); } +#if defined(HAVE_FMV_SSE42_AND_CRC32) + +#ifdef HAVE_FMV_SSE42_AND_CRC32 +__attribute__((target("sse4.2"))) static uint32_t hash32(uint32_t crc32, const unsigned char *input, size_t size) +{ + if (input == nullptr) + return 0; + + crc32 ^= 0xffffffffU; +#ifdef HAVE_FMV_SSE42_AND_CRC32DI + while (size >= 8) { + crc32 = __builtin_ia32_crc32di(crc32, *(uint64_t *)input); + input += 8; + size -= 8; + } + + if (size >= 4) { +#else + while (size >= 4) { +#endif + crc32 = __builtin_ia32_crc32si(crc32, *(uint32_t *)input); + input += 4; + size -= 4; + } + + if (size >= 2) { + crc32 = __builtin_ia32_crc32hi(crc32, *(uint16_t *)input); + input += 2; + size -= 2; + } + + if (size >= 1) { + crc32 = __builtin_ia32_crc32qi(crc32, *(uint8_t *)input); + input += 1; + size -= 1; + } + crc32 ^= 0xffffffffU; + return crc32; +} +#endif + +__attribute__((target("default"))) +#endif +static uint32_t hash32(uint32_t crc32, const unsigned char *input, size_t size) +{ + return adler32(crc32, input, size); +} + uint32_t pkgCache::CacheHash() { pkgCache::Header header = {}; - uLong adler = adler32(0L, Z_NULL, 0); + uLong adler = hash32(0L, Z_NULL, 0); if (Map.Size() < sizeof(header)) return adler; @@ -243,14 +291,14 @@ uint32_t pkgCache::CacheHash() header.Dirty = false; header.CacheFileSize = 0; - adler = adler32(adler, - reinterpret_cast<const unsigned char *>(&header), - sizeof(header)); + adler = hash32(adler, + reinterpret_cast<const unsigned char *>(&header), + sizeof(header)); if (Map.Size() > sizeof(header)) { - adler = adler32(adler, - static_cast<const unsigned char *>(GetMap().Data()) + sizeof(header), - GetMap().Size() - sizeof(header)); + adler = hash32(adler, + static_cast<const unsigned char *>(GetMap().Data()) + sizeof(header), + GetMap().Size() - sizeof(header)); } return adler; diff --git a/apt-pkg/pkgcache.h b/apt-pkg/pkgcache.h index 5c33c70739058aa0298c2f5a3809b655a533caf8..787e3995fad48a4f2b1011ee9e9b04608b27088a 100644 --- a/apt-pkg/pkgcache.h +++ b/apt-pkg/pkgcache.h @@ -182,9 +182,11 @@ class pkgCache /*{{{*/ LocalSource=(1<<1), /*!< local sources can't and will not be verified by hashes */ NoPackages=(1<<2), /*!< the file includes no package records itself, but additions like Translations */ }; - enum ReleaseFileFlags { - NotAutomatic=(1<<0), /*!< archive has a default pin of 1 */ - ButAutomaticUpgrades=(1<<1), /*!< (together with the previous) archive has a default pin of 100 */ + enum ReleaseFileFlags + { + NotAutomatic = (1 << 0), /*!< archive has a default pin of 1 */ + ButAutomaticUpgrades = (1 << 1), /*!< (together with the previous) archive has a default pin of 100 */ + PackagesRequireAuthorization = (1 << 2), /*!< (together with the previous) archive has a default pin of 100 */ }; enum ProvidesFlags { MultiArchImplicit=pkgCache::Dep::MultiArchImplicit, /*!< generated internally, not spelled out in the index */ diff --git a/apt-pkg/policy.cc b/apt-pkg/policy.cc index d7eb43c0f1a4fa32f738050446ce9f60e6c07c3d..7986aa506ac503d9fe29d5f84788064867ec4a6b 100644 --- a/apt-pkg/policy.cc +++ b/apt-pkg/policy.cc @@ -18,6 +18,7 @@ #include <apt-pkg/configuration.h> #include <apt-pkg/error.h> #include <apt-pkg/fileutl.h> +#include <apt-pkg/netrc.h> #include <apt-pkg/pkgcache.h> #include <apt-pkg/policy.h> #include <apt-pkg/strutl.h> @@ -38,6 +39,8 @@ using namespace std; +constexpr short NEVER_PIN = std::numeric_limits<short>::min(); + // Policy::Init - Startup and bind to a cache /*{{{*/ // --------------------------------------------------------------------- /* Set the defaults for operation. The default mode with no loaded policy @@ -85,7 +88,8 @@ pkgPolicy::pkgPolicy(pkgCache *Owner) : Pins(nullptr), VerPins(nullptr), // --------------------------------------------------------------------- /* */ bool pkgPolicy::InitDefaults() -{ +{ + std::vector<std::unique_ptr<FileFd>> authconfs; // Initialize the priorities based on the status of the package file for (pkgCache::PkgFileIterator I = Cache->FileBegin(); I != Cache->FileEnd(); ++I) { @@ -96,6 +100,8 @@ bool pkgPolicy::InitDefaults() PFPriority[I->ID] = 100; else if (I.Flagged(pkgCache::Flag::NotAutomatic)) PFPriority[I->ID] = 1; + if (I.Flagged(pkgCache::Flag::PackagesRequireAuthorization) && !IsAuthorized(I, authconfs)) + PFPriority[I->ID] = NEVER_PIN; } // Apply the defaults.. @@ -107,7 +113,7 @@ bool pkgPolicy::InitDefaults() pkgVersionMatch Match(I->Data,I->Type); for (pkgCache::PkgFileIterator F = Cache->FileBegin(); F != Cache->FileEnd(); ++F) { - if (Fixed[F->ID] == false && Match.FileMatch(F) == true) + if ((Fixed[F->ID] == false || I->Priority == NEVER_PIN) && PFPriority[F->ID] != NEVER_PIN && Match.FileMatch(F) == true) { PFPriority[F->ID] = I->Priority; @@ -271,7 +277,14 @@ APT_PURE signed short pkgPolicy::GetPriority(pkgCache::PkgIterator const &Pkg) APT_PURE signed short pkgPolicy::GetPriority(pkgCache::VerIterator const &Ver, bool ConsiderFiles) { if (VerPins[Ver->ID].Type != pkgVersionMatch::None) - return VerPins[Ver->ID].Priority; + { + // If all sources are never pins, the never pin wins. + if (VerPins[Ver->ID].Priority == NEVER_PIN) + return NEVER_PIN; + for (pkgCache::VerFileIterator file = Ver.FileList(); file.end() == false; file++) + if (GetPriority(file.File()) != NEVER_PIN) + return VerPins[Ver->ID].Priority; + } if (!ConsiderFiles) return 0; @@ -388,9 +401,17 @@ bool ReadPinFile(pkgPolicy &Plcy,string File) for (; Word != End && isspace(*Word) != 0; Word++); _error->PushToStack(); - int const priority = Tags.FindI("Pin-Priority", 0); + std::string sPriority = Tags.FindS("Pin-Priority"); + int priority = sPriority == "never" ? NEVER_PIN : Tags.FindI("Pin-Priority", 0); bool const newError = _error->PendingError(); _error->MergeWithStack(); + + if (sPriority == "never" && not Name.empty()) + return _error->Error(_("%s: The special 'Pin-Priority: %s' can only be used for 'Package: *' records"), File.c_str(), "never"); + + // Silently clamp the never pin to never pin + 1 + if (priority == NEVER_PIN && sPriority != "never") + priority = NEVER_PIN + 1; if (priority < std::numeric_limits<short>::min() || priority > std::numeric_limits<short>::max() || newError) { diff --git a/apt-pkg/tagfile.cc b/apt-pkg/tagfile.cc index 98001afd14b61f125b18b7f8c3088b4eace253cf..1e7f2867ccb0549e496e88e93bfa117c03dccf94 100644 --- a/apt-pkg/tagfile.cc +++ b/apt-pkg/tagfile.cc @@ -250,8 +250,12 @@ bool pkgTagFile::Step(pkgTagSection &Tag) d->chunks.erase(d->chunks.begin(), first); } - Tag.Trim(); - return true; + if ((d->Flags & pkgTagFile::SUPPORT_COMMENTS) == 0 || Tag.Count() != 0) + { + Tag.Trim(); + return true; + } + return Step(Tag); } /*}}}*/ // TagFile::Fill - Top up the buffer /*{{{*/ diff --git a/apt-private/private-cmndline.cc b/apt-private/private-cmndline.cc index 101e0ae4062a9a528cbfa8b046d4580c41d95b66..494928332b15bc2e1eac0a85fa17f74330f5cc6f 100644 --- a/apt-private/private-cmndline.cc +++ b/apt-private/private-cmndline.cc @@ -175,7 +175,7 @@ static bool addArgumentsAPTHelper(std::vector<CommandLine::Args> &Args, char con /*}}}*/ static bool addArgumentsAPTGet(std::vector<CommandLine::Args> &Args, char const * const Cmd)/*{{{*/ { - if (CmdMatches("install", "remove", "purge", "upgrade", "dist-upgrade", + if (CmdMatches("install", "reinstall", "remove", "purge", "upgrade", "dist-upgrade", "dselect-upgrade", "autoremove", "autopurge", "full-upgrade")) { addArg(0, "show-progress", "DpkgPM::Progress", 0); @@ -239,7 +239,7 @@ static bool addArgumentsAPTGet(std::vector<CommandLine::Args> &Args, char const else if (CmdMatches("moo")) addArg(0, "color", "APT::Moo::Color", 0); - if (CmdMatches("install", "remove", "purge", "upgrade", "dist-upgrade", + if (CmdMatches("install", "reinstall", "remove", "purge", "upgrade", "dist-upgrade", "dselect-upgrade", "autoremove", "auto-remove", "autopurge", "clean", "autoclean", "auto-clean", "check", "build-dep", "full-upgrade", "source")) { @@ -287,11 +287,11 @@ static bool addArgumentsAPTMark(std::vector<CommandLine::Args> &Args, char const { if (CmdMatches("auto", "manual", "hold", "unhold", "showauto", "showmanual", "showhold", "showholds", - "markauto", "unmarkauto")) + "markauto", "unmarkauto", "minimize-manual")) { addArg('f',"file","Dir::State::extended_states",CommandLine::HasArg); } - else if (CmdMatches("install", "remove", "deinstall", "purge", + else if (CmdMatches("install", "reinstall", "remove", "deinstall", "purge", "showinstall", "showinstalls", "showremove", "showremoves", "showdeinstall", "showdeinstalls", "showpurge", "showpurges")) ; @@ -303,7 +303,14 @@ static bool addArgumentsAPTMark(std::vector<CommandLine::Args> &Args, char const addArg('v',"verbose","APT::MarkAuto::Verbose",0); } - if (Cmd != nullptr && strncmp(Cmd, "show", strlen("show")) != 0) + if (CmdMatches("minimize-manual")) + { + addArg('y',"yes","APT::Get::Assume-Yes",0); + addArg('y',"assume-yes","APT::Get::Assume-Yes",0); + addArg(0,"assume-no","APT::Get::Assume-No",0); + } + + if (CmdMatches("minimize-manual") || (Cmd != nullptr && strncmp(Cmd, "show", strlen("show")) != 0)) { addArg('s',"simulate","APT::Mark::Simulate",0); addArg('s',"just-print","APT::Mark::Simulate",0); diff --git a/apt-private/private-install.cc b/apt-private/private-install.cc index 1713ff3088f0d6f0852fcc08a3f7b739d73a2562..40543d99512657d03ab398434800b50ce94209de 100644 --- a/apt-private/private-install.cc +++ b/apt-private/private-install.cc @@ -103,6 +103,8 @@ static void RemoveDownloadNeedingItemsFromFetcher(pkgAcquire &Fetcher, bool &Tra } bool InstallPackages(CacheFile &Cache,bool ShwKept,bool Ask, bool Safety) { + if (not RunScripts("APT::Install::Pre-Invoke")) + return false; if (_config->FindB("APT::Get::Purge", false) == true) for (pkgCache::PkgIterator I = Cache->PkgBegin(); I.end() == false; ++I) if (Cache[I].Delete() == true && Cache[I].Purge() == false) @@ -178,7 +180,7 @@ bool InstallPackages(CacheFile &Cache,bool ShwKept,bool Ask, bool Safety) if (Cache->DelCount() == 0 && Cache->InstCount() == 0 && Cache->BadCount() == 0) - return true; + return RunScripts("APT::Install::Post-Invoke-Success"); // No remove flag if (Cache->DelCount() != 0 && _config->FindB("APT::Get::Remove",true) == false) @@ -392,6 +394,9 @@ bool InstallPackages(CacheFile &Cache,bool ShwKept,bool Ask, bool Safety) } } + if (not RunScripts("APT::Install::Post-Invoke-Success")) + return false; + return true; } /*}}}*/ @@ -586,7 +591,9 @@ bool DoCacheManipulationFromCommandLine(CommandLine &CmdL, std::vector<PseudoPkg Fix.reset(new pkgProblemResolver(Cache)); unsigned short fallback = MOD_INSTALL; - if (strcasecmp(CmdL.FileList[0],"remove") == 0) + if (strcasecmp(CmdL.FileList[0], "reinstall") == 0) + _config->Set("APT::Get::ReInstall", "true"); + else if (strcasecmp(CmdL.FileList[0],"remove") == 0) fallback = MOD_REMOVE; else if (strcasecmp(CmdL.FileList[0], "purge") == 0) { diff --git a/apt-private/private-json-hooks.cc b/apt-private/private-json-hooks.cc index b5c1a717280a6c4c9517f3b6580296708c7bdfe7..65ff8792432fc2db3dabf9ec186497528d9ad177 100644 --- a/apt-private/private-json-hooks.cc +++ b/apt-private/private-json-hooks.cc @@ -387,7 +387,7 @@ bool RunJsonHook(std::string const &option, std::string const &method, const cha if (size < 0) { - if (errno != ECONNRESET) + if (errno != ECONNRESET && errno != EPIPE) _error->Error("Could not read response to hello message from hook %s: %s", Opts->Value.c_str(), strerror(errno)); goto out; } diff --git a/apt-private/private-output.h b/apt-private/private-output.h index 1ac8613284d46a392d2ca46fa4b96f83f9f76510..c20cc9e1762f287210b2684f5f47639540766f3f 100644 --- a/apt-private/private-output.h +++ b/apt-private/private-output.h @@ -101,11 +101,11 @@ bool ShowEssential(std::ostream &out,CacheFile &Cache); void Stats(std::ostream &out, pkgDepCache &Dep); // prompting -bool YnPrompt(char const * const Question, bool Default=true); +APT_PUBLIC bool YnPrompt(char const *const Question, bool Default = true); bool YnPrompt(char const * const Question, bool const Default, bool const ShowGlobalErrors, std::ostream &c1o, std::ostream &c2o); bool AnalPrompt(std::string const &Question, const char *Text); -std::string PrettyFullName(pkgCache::PkgIterator const &Pkg); +APT_PUBLIC std::string PrettyFullName(pkgCache::PkgIterator const &Pkg); std::string CandidateVersion(pkgCacheFile * const Cache, pkgCache::PkgIterator const &Pkg); std::function<std::string(pkgCache::PkgIterator const &)> CandidateVersion(pkgCacheFile * const Cache); std::string CurrentToCandidateVersion(pkgCacheFile * const Cache, pkgCache::PkgIterator const &Pkg); diff --git a/apt-private/private-update.cc b/apt-private/private-update.cc index c9113ddd321c2155e655d0a51a88cd7cad5b0fa2..59d1d6d3f1e994c9926eca6866d788478abd7fa4 100644 --- a/apt-private/private-update.cc +++ b/apt-private/private-update.cc @@ -138,6 +138,8 @@ bool DoUpdate(CommandLine &CmdL) c1out << _("All packages are up to date.") << std::endl; else ioprintf(c1out, msg, upgradable); + + RunScripts("APT::Update::Post-Invoke-Stats"); } return true; diff --git a/cmdline/apt-cache.cc b/cmdline/apt-cache.cc index f1b1e144da43589eb1eca0a43fbcc7e57c569f13..3c0e477b12037f78fb4836ab2f4c02e13d19a111 100644 --- a/cmdline/apt-cache.cc +++ b/cmdline/apt-cache.cc @@ -182,7 +182,7 @@ static void ShowHashTableStats(std::string Type, static bool Stats(CommandLine &CmdL) { if (CmdL.FileSize() > 1) { - _error->Error(_("apt-cache stats does not take any arguments")); + _error->Error(_("%s does not take any arguments"), "apt-cache stats"); return false; } diff --git a/cmdline/apt-extracttemplates.cc b/cmdline/apt-extracttemplates.cc index bd23453f30605e0dfbac3972dc547baa2619704b..bc8a27dbe06578081a8f6e34dbd1464a259be35e 100644 --- a/cmdline/apt-extracttemplates.cc +++ b/cmdline/apt-extracttemplates.cc @@ -229,29 +229,13 @@ static bool ShowHelp(CommandLine &) /*{{{*/ /* */ static string WriteFile(const char *package, const char *prefix, const char *data) { - char fn[512]; - - std::string tempdir = GetTempDir(); - snprintf(fn, sizeof(fn), "%s/%s.%s.XXXXXX", - _config->Find("APT::ExtractTemplates::TempDir", - tempdir.c_str()).c_str(), - package, prefix); - FileFd f; - if (data == NULL) - data = ""; - int fd = mkstemp(fn); - if (fd < 0) { - _error->Errno("ofstream::ofstream",_("Unable to mkstemp %s"),fn); - return string(); - } - if (!f.OpenDescriptor(fd, FileFd::WriteOnly, FileFd::None, true)) - { - _error->Errno("ofstream::ofstream",_("Unable to write to %s"),fn); - return string(); - } - f.Write(data, strlen(data)); - f.Close(); - return fn; + FileFd f; + std::string tplname; + strprintf(tplname, "%s.%s", package, prefix); + GetTempFile(tplname, false, &f); + if (data != nullptr) + f.Write(data, strlen(data)); + return f.Name(); } /*}}}*/ // WriteConfig - write out the config data from a debian package file /*{{{*/ @@ -289,6 +273,10 @@ static bool Go(CommandLine &CmdL) if (debconfver.empty() == true) return _error->Error( _("Cannot get debconf version. Is debconf installed?")); + auto const tmpdir = _config->Find("APT::ExtractTemplates::TempDir"); + if (tmpdir.empty() == false) + setenv("TMPDIR", tmpdir.c_str(), 1); + // Process each package passsed in for (unsigned int I = 0; I != CmdL.FileSize(); I++) { diff --git a/cmdline/apt-get.cc b/cmdline/apt-get.cc index 6d25ed50926e7d11d6bdcdd037bf3ad9f9c7497f..da18d2d1977ef8717a0dee8e061953c957bbe43e 100644 --- a/cmdline/apt-get.cc +++ b/cmdline/apt-get.cc @@ -405,6 +405,7 @@ static std::vector<aptDispatchWithHelp> GetCommands() /*{{{*/ {"update", &DoUpdate, _("Retrieve new lists of packages")}, {"upgrade", &DoUpgrade, _("Perform an upgrade")}, {"install", &DoInstall, _("Install new packages (pkg is libc6 not libc6.deb)")}, + {"reinstall", &DoInstall, _("Reinstall packages (pkg is libc6 not libc6.deb)")}, {"remove", &DoInstall, _("Remove packages")}, {"purge", &DoInstall, _("Remove packages and config files")}, {"autoremove", &DoInstall, _("Remove automatically all unused packages")}, diff --git a/cmdline/apt-mark.cc b/cmdline/apt-mark.cc index 927b31d2f1ce2ddbe9ea357e5db9ac59a2e7ce94..161845b53de033b4ae3b07ea1b1f7d6cbfbbef54 100644 --- a/cmdline/apt-mark.cc +++ b/cmdline/apt-mark.cc @@ -125,6 +125,127 @@ static bool DoMarkAuto(CommandLine &CmdL) return true; } /*}}}*/ +// helper for Install-Recommends-Sections and Never-MarkAuto-Sections /*{{{*/ +static bool +ConfigValueInSubTree(const char *SubTree, const char *needle) +{ + // copied from depcache.cc + Configuration::Item const *Opts; + Opts = _config->Tree(SubTree); + if (Opts != 0 && Opts->Child != 0) + { + Opts = Opts->Child; + for (; Opts != 0; Opts = Opts->Next) + { + if (Opts->Value.empty() == true) + continue; + if (strcmp(needle, Opts->Value.c_str()) == 0) + return true; + } + } + return false; +} + /*}}}*/ +/* DoMinimize - minimize manually installed {{{*/ +/* Traverses dependencies of meta packages and marks them as manually + * installed. */ +static bool DoMinimize(CommandLine &CmdL) +{ + + pkgCacheFile CacheFile; + pkgDepCache *const DepCache = CacheFile.GetDepCache(); + if (unlikely(DepCache == nullptr)) + return false; + + if (CmdL.FileList[1] != nullptr) + return _error->Error(_("%s does not take any arguments"), "apt-mark minimize-manual"); + + auto Debug = _config->FindB("Debug::AptMark::Minimize", false); + auto is_root = [&DepCache](pkgCache::PkgIterator const &pkg) { + auto ver = pkg.CurrentVer(); + return ver.end() == false && ((*DepCache)[pkg].Flags & pkgCache::Flag::Auto) == 0 && + ver->Section != 0 && + ConfigValueInSubTree("APT::Never-MarkAuto-Sections", ver.Section()); + }; + + APT::PackageSet roots; + for (auto Pkg = DepCache->PkgBegin(); Pkg.end() == false; ++Pkg) + { + if (is_root(Pkg)) + { + if (Debug) + std::clog << "Found root " << Pkg.Name() << std::endl; + roots.insert(Pkg); + } + } + + APT::PackageSet workset(roots); + APT::PackageSet seen; + APT::PackageSet changed; + + pkgDepCache::ActionGroup group(*DepCache); + + while (workset.empty() == false) + { + if (Debug) + std::clog << "Iteration\n"; + + APT::PackageSet workset2; + for (auto &Pkg : workset) + { + if (seen.find(Pkg) != seen.end()) + continue; + + seen.insert(Pkg); + + if (Debug) + std::cerr << " Visiting " << Pkg.FullName(true) << "\n"; + if (roots.find(Pkg) == roots.end() && ((*DepCache)[Pkg].Flags & pkgCache::Flag::Auto) == 0) + { + DepCache->MarkAuto(Pkg, true); + changed.insert(Pkg); + } + + // Visit dependencies, add them to next working set + for (auto Dep = Pkg.CurrentVer().DependsList(); !Dep.end(); ++Dep) + { + if (DepCache->IsImportantDep(Dep) == false) + continue; + std::unique_ptr<pkgCache::Version *[]> targets(Dep.AllTargets()); + for (int i = 0; targets[i] != nullptr; i++) + { + pkgCache::VerIterator Tgt(*DepCache, targets[i]); + if (Tgt.ParentPkg()->CurrentVer != 0 && Tgt.ParentPkg().CurrentVer()->ID == Tgt->ID) + workset2.insert(Tgt.ParentPkg()); + } + } + } + + workset = std::move(workset2); + } + + if (changed.empty()) { + cout << _("No changes necessary") << endl; + return true; + } + + ShowList(c1out, _("The following packages will be marked as automatically installed:"), changed, + [](const pkgCache::PkgIterator &) { return true; }, + &PrettyFullName, + &PrettyFullName); + + if (_config->FindB("APT::Mark::Simulate", false) == false) + { + if (YnPrompt(_("Do you want to continue?"), false) == false) + return true; + + return DepCache->writeStateFile(NULL); + } + + return true; +} + /*}}}*/ + /* ShowAuto - show automatically installed packages (sorted) {{{*/ static bool ShowAuto(CommandLine &CmdL) { @@ -293,6 +414,7 @@ static std::vector<aptDispatchWithHelp> GetCommands() /*{{{*/ return { {"auto",&DoAuto, _("Mark the given packages as automatically installed")}, {"manual",&DoAuto, _("Mark the given packages as manually installed")}, + {"minimize-manual", &DoMinimize, _("Mark all dependencies of meta packages as automatically installed.")}, {"hold",&DoSelection, _("Mark a package as held back")}, {"unhold",&DoSelection, _("Unset a package set as held back")}, {"install",&DoSelection, nullptr}, diff --git a/cmdline/apt.cc b/cmdline/apt.cc index 776b100bffc8ec8ce89421d0a689a7329c436f50..d388e4af4dc6a1aee51ccff63950449e7b452fa9 100644 --- a/cmdline/apt.cc +++ b/cmdline/apt.cc @@ -63,6 +63,7 @@ static std::vector<aptDispatchWithHelp> GetCommands() /*{{{*/ // package stuff {"install", &DoInstall, _("install packages")}, + {"reinstall", &DoInstall, _("reinstall packages")}, {"remove", &DoInstall, _("remove packages")}, {"autoremove", &DoInstall, _("Remove automatically all unused packages")}, {"auto-remove", &DoInstall, nullptr}, @@ -91,6 +92,7 @@ static std::vector<aptDispatchWithHelp> GetCommands() /*{{{*/ {"source", &DoSource, nullptr}, {"download", &DoDownload, nullptr}, {"changelog", &DoChangelog, nullptr}, + {"info", &ShowPackage, nullptr}, {nullptr, nullptr, nullptr} }; diff --git a/completions/bash/apt b/completions/bash/apt index 07bebc9a3ddb7e63488a2d319bd951c4a404b108..e1853928dd1234ee631b987e7e398c7670bc1687 100644 --- a/completions/bash/apt +++ b/completions/bash/apt @@ -29,6 +29,8 @@ _apt() --allow-insecure-repositories --install-recommends --install-suggests + --no-install-recommends + --no-install-suggests --fix-policy ' diff --git a/debian/NEWS b/debian/NEWS index e68470198e7e0ae8ed55d691eb172fd5d9192e10..e8cb4e27995b3f642351d3e8799613497961a3d9 100644 --- a/debian/NEWS +++ b/debian/NEWS @@ -1,7 +1,7 @@ apt (1.8.0~alpha3) unstable; urgency=medium The PATH for running dpkg is now configured by the option DPkg::Path, - and defaults to "/usr/sbin:/usr/bin:/sbin/:bin". Previous behavior of + and defaults to "/usr/sbin:/usr/bin:/sbin:/bin". Previous behavior of not changing PATH may be restored by setting the option to an empty string. Support for /etc/apt/auth.conf.d/ has been added, see apt_auth.conf(5). diff --git a/debian/apt.conf.autoremove b/debian/apt.conf.autoremove index f7775b183183ea5cc07e24d4ed7210241e3ada65..f9d9e85d401f3e59f29a06970e6ec90a1a67a719 100644 --- a/debian/apt.conf.autoremove +++ b/debian/apt.conf.autoremove @@ -17,6 +17,7 @@ APT "linux-modules"; "linux-modules-extra"; "linux-signed-image"; + "linux-image-unsigned"; # kfreebsd kernels "kfreebsd-image"; "kfreebsd-headers"; @@ -30,6 +31,10 @@ APT # tools "linux-tools"; "linux-cloud-tools"; + # build info + "linux-buildinfo"; + # source code + "linux-source"; }; Never-MarkAuto-Sections diff --git a/debian/apt.install b/debian/apt.install index 705ea12d2d9afcbc2a2ec05a11a54e9ff52aae80..f12eb240d0fcebdc92feda6eb2fe392a02f3450a 100644 --- a/debian/apt.install +++ b/debian/apt.install @@ -27,6 +27,8 @@ usr/share/man/*/*/apt-mark.* usr/share/man/*/*/apt-secure.* usr/share/man/*/*/apt.* usr/share/man/*/*/apt_preferences.* +usr/share/man/*/*/apt_auth.* +usr/share/man/*/*/apt-transport-*.* usr/share/man/*/*/sources.list.* usr/share/man/*/apt-cache.* usr/share/man/*/apt-cdrom.* diff --git a/debian/changelog b/debian/changelog index 4fe0b7bff46acce6258518b19db5f672fe4a69dd..adae6eca041c39674e04a0f36a4750ddcafbb170 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,175 @@ +apt (1.8.2co1) UNRELEASED; urgency=medium + + * PLEASE SUMMARIZE remaining Apertis Changes + + -- root <sjoerd.simons@collabora.co.uk> Thu, 01 Aug 2019 07:25:54 +0000 + +apt (1.8.2) unstable; urgency=medium + + [ Alwin Henseler ] + * Flip /: in documented default value of DPkg::Path (Closes: #917986) + + [ TilmanK ] + * Fix typo in German manpage translation + + [ Américo Monteiro ] + * Portuguese manpages translation update (Closes: #926614) + + [ Jean-Pierre Giraud ] + * French manpages translation update (Closes: #929290) + + [ Michael Zhivich ] + * methods: https: handle requests for TLS re-handshake (LP: #1829861) + + [ Julian Andres Klode ] + * Unlock dpkg locks in reverse locking order (LP: #1829860) + + -- Julian Andres Klode <jak@debian.org> Tue, 28 May 2019 16:40:29 +0200 + +apt (1.8.1) unstable; urgency=medium + + * Add test case for local-only packages pinned to never + * Prevent shutdown while running dpkg (LP: #1820886) + * Add linux-{buildinfo,image-unsigned,source} versioned kernel pkgs + (LP: #1821640) + + -- Julian Andres Klode <jak@debian.org> Mon, 06 May 2019 10:41:52 +0200 + +apt (1.8.0) unstable; urgency=medium + + [ David Kalnischkies ] + * Add explicit message for unsupported binary signature (Closes: #921685) + + [ Milo Casagrande ] + * [l10n] Update Italian translation + + [ Julian Andres Klode ] + * Fix name of APT::Update::Post-Invoke-Stats (was ...Update-Post...) + * CMake: Install auth.conf.d directory (LP: #1818996) + + [ Frans Spiesschaert ] + * Dutch program translation update (Closes: #923728) + * Dutch manpages translation update (Closes: #923834) + + -- Julian Andres Klode <jak@debian.org> Fri, 08 Mar 2019 09:41:20 +0100 + +apt (1.8.0~rc4) unstable; urgency=medium + + * update: Provide APT::Update-Post-Invoke-Stats script hook point + (LP: #1815760) + * Introduce APT::Install::Pre-Invoke / Post-Invoke-Success (LP: #1815761) + + -- Julian Andres Klode <jak@debian.org> Tue, 26 Feb 2019 08:32:01 +0100 + +apt (1.8.0~rc3) unstable; urgency=medium + + [ Julian Andres Klode ] + * aptmethod.h: Do not have gcc warning about ignoring write() result + * Fix issues in previous two debian/changelog entries + * json-hooks-protocol: The "pin" field is optional + * debian/gbp.conf: Set debian-branch to 1.8.y + * Install translated apt_auth and apt-transport-* manpages + + [ ÐлекÑей Шилин ] + * Russian program translation update. + Thanks to Vladimir Zhbanov <vzhbanov@gmail.com> (Closes: #921830) + + [ Jakub Wilk ] + * Fix various typos in the documentation + + [ Frans Spiesschaert ] + * Dutch program translation update (Closes: #921934) + * Dutch manpages translation update (Closes: #921941) + + -- Julian Andres Klode <jak@debian.org> Mon, 11 Feb 2019 09:33:46 +0100 + +apt (1.8.0~rc2) unstable; urgency=medium + + * Correctly handle feature detection for sse4.2 and crc32 + + -- Julian Andres Klode <jak@debian.org> Mon, 04 Feb 2019 18:15:07 +0100 + +apt (1.8.0~rc1) unstable; urgency=medium + + [ David Kalnischkies ] + * Fail instead of warn for unsigned lines in InRelease + * Fail on non-signature lines in Release.gpg + * Merge and reuse tmp file handling across the board + * Explicitly remove the whitespaces defined by RFC + * Refuse files with lines unexpectedly starting with a dash + * Drop buffered writing from clearsigned message extraction + * Step over empty sections in TagFiles with comments + (Closes: #920317, #921037) + + [ Josh Triplett ] + * Add a "reinstall" command as an alias for "install --reinstall". + + [ Michael Vogt ] + * private-json-hooks.cc: deal with EPIPE (LP: #1814543) + + [ Julian Andres Klode ] + * Verify data being sent by methods in SendMessage() + * Disable deprecated methods (ftp, rsh, ssh) by default + * Introduce experimental 'never' pinning for sources + * Add a Packages-Require-Authorization Release file field + * gpgv: Use buffered writes for splitting clearsigned files + * Detect function multiversioning and sse4.2/crc32, enables i386 + * Use std::to_string() for HashStringList::FileSize() getter + + [ ÐлекÑей Шилин ] + * Russian program translation update (Closes: #921011) + + [ Baptiste Jammet ] + * French program translation update (Closes: #921008) + + -- Julian Andres Klode <jak@debian.org> Mon, 04 Feb 2019 15:32:27 +0100 + +apt (1.8.0~beta1) unstable; urgency=medium + + [ anatoly techtonik ] + * README.md: Document that apt is also included + * apt.cc: Add "apt info" alias for muscle memory + + [ Jean-Pierre Giraud ] + * French manpages translation update (Closes: #915952) + + [ Frans Spiesschaert ] + * Dutch manpages translation update (Closes: #916358) + + [ Julian Andres Klode ] + * cache hash: Use sse4.2 CRC32c on x86-64 where available + * configuration: Compare size first during lookup + * debListParser: Avoid native arch lookup in ParseDepends + * hash32: Tighten to multiversion to x86-64 ELF and use uint32_t + * apt-mark: Introduce minimize-manual + * doc/apt-verbatim.ent: Point ubuntu-codename to disco (LP: #1812696) + * CI: Use debian:buster as test base image + * doc/apt-verbatim.ent: Debian buster is stable + * SECURITY UPDATE: content injection in http method (CVE-2019-3462) + (LP: #1812353) + * debian/control: Drop libcurl4-gnutls-dev build dependency + + [ Mo Zhou ] + * zh_CN.po: Update Simplified Chinese programs translation. + + [ Khem Raj ] + * Remove `register` keyword + + [ Vasya Novikov ] + * bash completion: add keys + + [ David Kalnischkies ] + * Communicate back which key(s) were used for signing + + -- Julian Andres Klode <jak@debian.org> Wed, 23 Jan 2019 16:49:34 +0100 + +apt (1.8.0~alpha3.1) unstable; urgency=emergency + + * SECURITY UPDATE: content injection in http method (CVE-2019-3462) + (LP: #1812353) + + -- Julian Andres Klode <jak@debian.org> Tue, 22 Jan 2019 19:52:38 +0100 + apt (1.8.0~alpha3co1) apertis; urgency=medium * Add Apertis vendor configuration. diff --git a/debian/control b/debian/control index c3481f8c79c0315baffde013b702178614da7a6d..a61210127b2d8151523f51c77fa3ece0966a4273 100644 --- a/debian/control +++ b/debian/control @@ -16,12 +16,12 @@ Build-Depends: cmake (>= 3.4), gettext (>= 0.12), googletest <!nocheck> | libgtest-dev <!nocheck>, libbz2-dev, - libcurl4-gnutls-dev (>= 7.19.4~), libdb-dev, libgnutls28-dev (>= 3.4.6), liblz4-dev (>= 0.0~r126), liblzma-dev, libseccomp-dev [amd64 arm64 armel armhf i386 mips mips64el mipsel ppc64el s390x hppa powerpc powerpcspe ppc64 x32], + libsystemd-dev [linux-any], libudev-dev [linux-any], libzstd-dev (>= 1.0), ninja-build, diff --git a/debian/gbp.conf b/debian/gbp.conf index a5e885896331340a7266f9681b8d4d7349cc1e34..058530b00afc119da1445f2389e47c32df8a31c6 100644 --- a/debian/gbp.conf +++ b/debian/gbp.conf @@ -3,7 +3,7 @@ ;preexport = ./prepare-release pre-export prebuild = ./prepare-release pre-build postbuild = ./prepare-release post-build -debian-branch = master +debian-branch = 1.8.y debian-tag = %(version)s export-dir = ../build-area sign-tags = True diff --git a/doc/apt-get.8.xml b/doc/apt-get.8.xml index 184282e6932a450c871a94fddb4b858e3c55853a..b757c3d30924404b4f2089fb99bc3e5676e2c59c 100644 --- a/doc/apt-get.8.xml +++ b/doc/apt-get.8.xml @@ -14,7 +14,7 @@ &apt-email; &apt-product; <!-- The last update date --> - <date>2018-10-14T00:00:00Z</date> + <date>2019-01-27T00:00:00Z</date> </refentryinfo> <refmeta> @@ -143,6 +143,10 @@ with a '^' or '$' character, or create a more specific regular expression.</para></listitem> </varlistentry> + <varlistentry><term><option>reinstall</option></term> + <listitem><para><literal>reinstall</literal> is an alias for <literal>install --reinstall</literal>.</para></listitem> + </varlistentry> + <varlistentry><term><option>remove</option></term> <listitem><para><literal>remove</literal> is identical to <literal>install</literal> except that packages are removed instead of installed. Note that removing a package leaves its @@ -352,7 +356,7 @@ <term><option>--assume-yes</option></term> <listitem><para>Automatic yes to prompts; assume "yes" as answer to all prompts and run non-interactively. If an undesirable situation, such as changing a held - package, trying to install a unauthenticated package or removing an essential package + package, trying to install an unauthenticated package or removing an essential package occurs then <literal>apt-get</literal> will abort. Configuration Item: <literal>APT::Get::Assume-Yes</literal>.</para></listitem> </varlistentry> @@ -409,7 +413,7 @@ <varlistentry><term><option>--with-new-pkgs</option></term> <listitem><para>Allow installing new packages when used in conjunction with <literal>upgrade</literal>. This is useful if - the update of a installed package requires new dependencies to be + the update of an installed package requires new dependencies to be installed. Instead of holding the package back <literal>upgrade</literal> will upgrade the package and install the new dependencies. Note that <literal>upgrade</literal> with this option will never remove packages, diff --git a/doc/apt-mark.8.xml b/doc/apt-mark.8.xml index ddde0416f348c90cef471d08c8c1571b0b991f75..76675fcd062ed5965eb8d2b35a18df6abefd2d17 100644 --- a/doc/apt-mark.8.xml +++ b/doc/apt-mark.8.xml @@ -14,7 +14,7 @@ &apt-email; &apt-product; <!-- The last update date --> - <date>2015-09-25T00:00:00Z</date> + <date>2018-12-11T00:00:00Z</date> </refentryinfo> <refmeta> @@ -66,6 +66,14 @@ </para></listitem> </varlistentry> + <varlistentry><term><option>minimize-manual</option></term> + <listitem><para><literal>minimize-manual</literal> is used to mark + (transitive) dependencies of metapackages as automatically installed. + This can be used after an installation for example, to minimize the + number of manually installed packages; or continuously on systems + managed by system configuration metapackages. + </para></listitem> + </varlistentry> <varlistentry><term><option>showauto</option></term> <listitem><para><literal>showauto</literal> is used to print a list of automatically installed packages with each package on a new line. diff --git a/doc/apt-verbatim.ent b/doc/apt-verbatim.ent index 9700e1cf8a67bd44d898c222ec7a424611f422a8..11e6c7f154845e4f9f8d5f048ecd754e9a1f144e 100644 --- a/doc/apt-verbatim.ent +++ b/doc/apt-verbatim.ent @@ -268,14 +268,14 @@ "> <!-- this will be updated by 'prepare-release' --> -<!ENTITY apt-product-version "1.8.0~alpha3"> +<!ENTITY apt-product-version "1.8.2"> <!-- (Code)names for various things used all over the place --> -<!ENTITY debian-oldstable-codename "jessie"> -<!ENTITY debian-stable-codename "stretch"> -<!ENTITY debian-testing-codename "buster"> -<!ENTITY debian-stable-version "9"> -<!ENTITY ubuntu-codename "xenial"> +<!ENTITY debian-oldstable-codename "stretch"> +<!ENTITY debian-stable-codename "buster"> +<!ENTITY debian-testing-codename "bullseye"> +<!ENTITY debian-stable-version "10"> +<!ENTITY ubuntu-codename "disco"> <!-- good and bad just refers to matching and not matching a pattern… It is not a remark about the specific perl version. diff --git a/doc/apt.8.xml b/doc/apt.8.xml index 626419ec3b4bff56ca54bc7837a5337046872ee1..f81ae18d39fb803ff27c2c8d25c6125f8a218208 100644 --- a/doc/apt.8.xml +++ b/doc/apt.8.xml @@ -13,7 +13,7 @@ &apt-email; &apt-product; <!-- The last update date --> - <date>2015-10-20T00:00:00Z</date> + <date>2019-01-27T00:00:00Z</date> </refentryinfo> <refmeta> @@ -69,7 +69,7 @@ </para></listitem> </varlistentry> - <varlistentry><term><option>install</option>, <option>remove</option>, <option>purge</option> (&apt-get;)</term> + <varlistentry><term><option>install</option>, <option>reinstall</option>, <option>remove</option>, <option>purge</option> (&apt-get;)</term> <listitem><para>Performs the requested action on one or more packages specified via ®ex;, &glob; or exact match. The requested action can be overridden for specific packages by append a plus (+) to the diff --git a/doc/design.dbk b/doc/design.dbk index 157e75c1a918217e437d6b1a7e4cb57094e08548..fabc915e5fe33be014bb49c70874f680ae223d13 100644 --- a/doc/design.dbk +++ b/doc/design.dbk @@ -262,7 +262,7 @@ dependencies) <para> Build a list of events. Simple topological sorting gives order of packages in dependency order. At certain points in this ordering, -predependencies/immediate configure directives cause an break in normal +predependencies/immediate configure directives cause a break in normal ordering. We need to insert the uninstall/purge directive in the stream (default: as early as possible). </para> diff --git a/doc/dpkg-tech.dbk b/doc/dpkg-tech.dbk index d2d5061ab3167980795b14f1c0896275b6243f28..62c587976367818ad07689bf95fb7257440e6678 100644 --- a/doc/dpkg-tech.dbk +++ b/doc/dpkg-tech.dbk @@ -271,7 +271,7 @@ successful. <term>half-installed</term> <listitem> <para> -An attempt was made to remove the packagem but there was a failure in the +An attempt was made to remove the package but there was a failure in the prerm script. </para> </listitem> @@ -803,7 +803,7 @@ These files are created internally by dpkg's "checkpoint" function, and are cleaned up when dpkg exits cleanly. </para> <para> -Juding by the use of the updates directory I would call it a Journal. Inorder +Judging by the use of the updates directory I would call it a Journal. Inorder to efficiently ensure the complete integrity of the status file dpkg will "checkpoint" or journal all of it's activities in the updates directory. By merging the contents of the updates directory (in order!!) against the original diff --git a/doc/examples/configure-index b/doc/examples/configure-index index 743e676deb48692d6f2df257b02a7498e7d38df9..5e317d7e0897a118908adf26d51d3b23c56cb53d 100644 --- a/doc/examples/configure-index +++ b/doc/examples/configure-index @@ -503,6 +503,9 @@ DPkg progress-bg "<STRING>"; progress-bar "<BOOL>"; }; + + // Set a shutdown block inhibitor on systemd systems while running dpkg + Inhibit-Shutdown "<BOOL>"; } /* Options you can set to see some debugging text They correspond to names diff --git a/doc/guide.dbk b/doc/guide.dbk index dbc4f54313825c4402dbafbbc27dab3b712d06a9..ab4b0c6d03008fae0cae37aafea4f1f0b11dae43 100644 --- a/doc/guide.dbk +++ b/doc/guide.dbk @@ -231,7 +231,7 @@ use packages on your CD-ROM before downloading from the Internet. </screen> <para> The <emphasis>Sources</emphasis> setup starts by asking for the base of the -Debian archive, defaulting to a HTTP mirror. Next it asks for the distribution +Debian archive, defaulting to an HTTP mirror. Next it asks for the distribution to get. </para> <screen> diff --git a/doc/json-hooks-protocol.md b/doc/json-hooks-protocol.md index f516c1afea40c012bbb641ea3c3fb9e7b3a28358..ddf0fa0e394b7d7f21155e850e15a6b1e845d315 100644 --- a/doc/json-hooks-protocol.md +++ b/doc/json-hooks-protocol.md @@ -105,7 +105,7 @@ install. Each package has the following attributes: - *id*: An unsigned integer - *version*: The version as a string - *architecture*: Architecture of the version - - *pin*: The pin priority + - *pin*: The pin priority (optional) #### Example diff --git a/doc/libapt-pkg2_to_3.txt b/doc/libapt-pkg2_to_3.txt index 2806f4081d50f110f37813495b8198e17a739e61..6beaafbf83cc1e9db56579714c2a132a62fdd943 100644 --- a/doc/libapt-pkg2_to_3.txt +++ b/doc/libapt-pkg2_to_3.txt @@ -1,5 +1,5 @@ libapt-pkg v2 to v3 incorporates several source-incompatible changes -that people need to be aware of.. Many of this changes are done so that +that people need to be aware of.. Many of these changes are done so that most old source will continue to function, but perhaps at reduced functionality. @@ -34,12 +34,12 @@ functionality. by the Cache or _system structures. * Initialization is now two stage (define APT_COMPATIBILITY..) The first stage, pkgInitConfig is called before commandline parsing, and - pkgInitSystem is called after. This gives the user the oppertunity to + pkgInitSystem is called after. This gives the user the opportunity to override default settings from the config files before startup has been finalized. * pkgSourceList has been gutted. All the junk that was in there before is cleaned up and put in the pkgIndexFile class. There is very little API - corrispondence here.. + correspondence here.. * pkgMakeStatusCacheMem is gone, pkgMakeStatusCache does the same thing if you set the AllowMem flag. Also, you can get a copy of the map used to store the cache to advoid having to remap it in the calling code. A bunch diff --git a/doc/po/apt-doc.pot b/doc/po/apt-doc.pot index 0e2d62d0152525be4ccba61bc315f818d54bbce5..21e04eda67f84d0923f1dadcbd3f7e2dd5ab0c21 100644 --- a/doc/po/apt-doc.pot +++ b/doc/po/apt-doc.pot @@ -5,9 +5,9 @@ #, fuzzy msgid "" msgstr "" -"Project-Id-Version: apt-doc 1.8.0~alpha3\n" +"Project-Id-Version: apt-doc 1.8.2\n" "Report-Msgid-Bugs-To: APT Development Team <deity@lists.debian.org>\n" -"POT-Creation-Date: 2018-12-18 15:02+0100\n" +"POT-Creation-Date: 2019-05-28 16:41+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Language-Team: LANGUAGE <LL@li.org>\n" @@ -881,6 +881,13 @@ msgid "" "expression." msgstr "" +#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> +#: apt-get.8.xml +msgid "" +"<literal>reinstall</literal> is an alias for <literal>install " +"--reinstall</literal>." +msgstr "" + #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> #: apt-get.8.xml msgid "" @@ -1155,7 +1162,7 @@ msgstr "" msgid "" "Automatic yes to prompts; assume \"yes\" as answer to all prompts and run " "non-interactively. If an undesirable situation, such as changing a held " -"package, trying to install a unauthenticated package or removing an " +"package, trying to install an unauthenticated package or removing an " "essential package occurs then <literal>apt-get</literal> will abort. " "Configuration Item: <literal>APT::Get::Assume-Yes</literal>." msgstr "" @@ -1222,7 +1229,7 @@ msgstr "" #: apt-get.8.xml msgid "" "Allow installing new packages when used in conjunction with " -"<literal>upgrade</literal>. This is useful if the update of a installed " +"<literal>upgrade</literal>. This is useful if the update of an installed " "package requires new dependencies to be installed. Instead of holding the " "package back <literal>upgrade</literal> will upgrade the package and install " "the new dependencies. Note that <literal>upgrade</literal> with this option " @@ -2183,6 +2190,16 @@ msgid "" "if no other packages depend on it." msgstr "" +#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> +#: apt-mark.8.xml +msgid "" +"<literal>minimize-manual</literal> is used to mark (transitive) dependencies " +"of metapackages as automatically installed. This can be used after an " +"installation for example, to minimize the number of manually installed " +"packages; or continuously on systems managed by system configuration " +"metapackages." +msgstr "" + #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> #: apt-mark.8.xml msgid "" @@ -7986,7 +8003,7 @@ msgstr "" #: guide.dbk msgid "" "The <emphasis>Sources</emphasis> setup starts by asking for the base of the " -"Debian archive, defaulting to a HTTP mirror. Next it asks for the " +"Debian archive, defaulting to an HTTP mirror. Next it asks for the " "distribution to get." msgstr "" diff --git a/doc/po/de.po b/doc/po/de.po index 73ebf1b9f9bbd6393291406b89887794db23bfc1..24554c21579831cca78ced2aa7b5780d51c93b36 100644 --- a/doc/po/de.po +++ b/doc/po/de.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: apt 1.6\n" "Report-Msgid-Bugs-To: APT Development Team <deity@lists.debian.org>\n" -"POT-Creation-Date: 2018-12-18 15:02+0100\n" +"POT-Creation-Date: 2019-02-04 15:34+0100\n" "PO-Revision-Date: 2018-10-21 12:58+0200\n" "Last-Translator: Chris Leick <c.leick@vollbio.de>\n" "Language-Team: German <debian-l10n-german@lists.debian.org>\n" @@ -670,7 +670,7 @@ msgid "" msgstr "" "Ganz wie <command>apt</command> selbst ist seine Handbuchseite als " "Endanwenderschnittstelle gedacht und erwähnt als solche nur die am " -"häufigsten benutzten Befehle sowie Optionen. Die geschieht zum Teil, um " +"häufigsten benutzten Befehle sowie Optionen. Dies geschieht zum Teil, um " "keine Informationen an mehreren Stellen zu duplizieren und zum Teil, um " "Leser nicht mit einem Überfluss an Optionen und Einzelheiten zu überwältigen." @@ -1177,6 +1177,15 @@ msgstr "" "wird, hängen Sie an den regulären Ausdruck mit »^« oder »$« an, um einen " "genaueren regulären Ausdruck zu erstellen." +#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> +#: apt-get.8.xml +#, fuzzy +#| msgid "the <literal>Archive:</literal> or <literal>Suite:</literal> line" +msgid "" +"<literal>reinstall</literal> is an alias for <literal>install --reinstall</" +"literal>." +msgstr "die <literal>Archive:</literal>- oder <literal>Suite:</literal>-Zeile" + #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> #: apt-get.8.xml msgid "" @@ -1584,7 +1593,7 @@ msgstr "" msgid "" "Automatic yes to prompts; assume \"yes\" as answer to all prompts and run " "non-interactively. If an undesirable situation, such as changing a held " -"package, trying to install a unauthenticated package or removing an " +"package, trying to install an unauthenticated package or removing an " "essential package occurs then <literal>apt-get</literal> will abort. " "Configuration Item: <literal>APT::Get::Assume-Yes</literal>." msgstr "" @@ -1683,7 +1692,7 @@ msgstr "" #: apt-get.8.xml msgid "" "Allow installing new packages when used in conjunction with " -"<literal>upgrade</literal>. This is useful if the update of a installed " +"<literal>upgrade</literal>. This is useful if the update of an installed " "package requires new dependencies to be installed. Instead of holding the " "package back <literal>upgrade</literal> will upgrade the package and install " "the new dependencies. Note that <literal>upgrade</literal> with this option " @@ -3076,6 +3085,24 @@ msgstr "" "zu markieren, was verhindert, dass das Paket automatisch entfernt wird, wenn " "kein anderes Paket von ihm abhängt." +#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> +#: apt-mark.8.xml +#, fuzzy +#| msgid "" +#| "<literal>auto</literal> is used to mark a package as being automatically " +#| "installed, which will cause the package to be removed when no more " +#| "manually installed packages depend on this package." +msgid "" +"<literal>minimize-manual</literal> is used to mark (transitive) dependencies " +"of metapackages as automatically installed. This can be used after an " +"installation for example, to minimize the number of manually installed " +"packages; or continuously on systems managed by system configuration " +"metapackages." +msgstr "" +"<literal>auto</literal> wird benutzt, um ein Paket als automatisch " +"installiert zu markieren, was veranlasst, dass das Paket entfernt wird, wenn " +"keine manuell installierten Pakete von ihm abhängen." + #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> #: apt-mark.8.xml msgid "" @@ -11496,7 +11523,7 @@ msgstr "" #: guide.dbk msgid "" "The <emphasis>Sources</emphasis> setup starts by asking for the base of the " -"Debian archive, defaulting to a HTTP mirror. Next it asks for the " +"Debian archive, defaulting to an HTTP mirror. Next it asks for the " "distribution to get." msgstr "" "Das Einrichten der <emphasis>Quellen</emphasis> beginnt durch das Erfragen " diff --git a/doc/po/es.po b/doc/po/es.po index 1d42cd2af2f31f2d829bed05503eaced9b1ccefa..44ed108d41f70cd30b2ee3e4716ffc3b77e1775f 100644 --- a/doc/po/es.po +++ b/doc/po/es.po @@ -38,7 +38,7 @@ msgid "" msgstr "" "Project-Id-Version: apt-doc 1.0.5\n" "Report-Msgid-Bugs-To: APT Development Team <deity@lists.debian.org>\n" -"POT-Creation-Date: 2018-12-18 15:02+0100\n" +"POT-Creation-Date: 2019-02-04 15:34+0100\n" "PO-Revision-Date: 2014-07-04 01:31+0200\n" "Last-Translator: Omar Campagne <ocampagne@gmail.com>\n" "Language-Team: Debian l10n Spanish <debian-l10n-spanish@lists.debian.org>\n" @@ -1205,6 +1205,15 @@ msgstr "" "comportamiento deseado, debe anclar la expresión regular con un «^» o un " "«$», o bien crear una expresión regular más especÃfica." +#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> +#: apt-get.8.xml +#, fuzzy +#| msgid "the <literal>Archive:</literal> or <literal>Suite:</literal> line" +msgid "" +"<literal>reinstall</literal> is an alias for <literal>install --reinstall</" +"literal>." +msgstr "Las lÃneas <literal>Archive:</literal> o <literal>Suite:</literal>" + #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> #: apt-get.8.xml msgid "" @@ -1625,7 +1634,7 @@ msgstr "" msgid "" "Automatic yes to prompts; assume \"yes\" as answer to all prompts and run " "non-interactively. If an undesirable situation, such as changing a held " -"package, trying to install a unauthenticated package or removing an " +"package, trying to install an unauthenticated package or removing an " "essential package occurs then <literal>apt-get</literal> will abort. " "Configuration Item: <literal>APT::Get::Assume-Yes</literal>." msgstr "" @@ -1743,7 +1752,7 @@ msgstr "" #: apt-get.8.xml msgid "" "Allow installing new packages when used in conjunction with " -"<literal>upgrade</literal>. This is useful if the update of a installed " +"<literal>upgrade</literal>. This is useful if the update of an installed " "package requires new dependencies to be installed. Instead of holding the " "package back <literal>upgrade</literal> will upgrade the package and install " "the new dependencies. Note that <literal>upgrade</literal> with this option " @@ -3098,6 +3107,24 @@ msgstr "" "manualmente, impidiendo la eliminación automática de este paquete si ningún " "otro depende de él." +#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> +#: apt-mark.8.xml +#, fuzzy +#| msgid "" +#| "<literal>auto</literal> is used to mark a package as being automatically " +#| "installed, which will cause the package to be removed when no more " +#| "manually installed packages depend on this package." +msgid "" +"<literal>minimize-manual</literal> is used to mark (transitive) dependencies " +"of metapackages as automatically installed. This can be used after an " +"installation for example, to minimize the number of manually installed " +"packages; or continuously on systems managed by system configuration " +"metapackages." +msgstr "" +"<literal>auto</literal> se utiliza para marcar un paquete como " +"automáticamente instalado, provocando la eliminación del paquete cuando " +"ningún otro paquete manualmente instalado depende de este paquete." + #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> #: apt-mark.8.xml msgid "" @@ -9964,7 +9991,7 @@ msgid "" "from polluting its cache with (big) .deb files." msgstr "" "Se proporcionan tres opciones de configuración para el control de la caché " -"con proxy cachés conformes a HTTP/1.1. <literal>No-Cache</literal> indica al " +"con proxy cachés conformes an HTTP/1.1. <literal>No-Cache</literal> indica al " "proxy que nunca utilice la respuesta cacheada. <literal>Max-Age</literal> " "define la máxima antigüedad permitida (en segundos) de un fichero de Ãndice " "en la caché de un proxy. <literal>No-Store</literal> define que el proxy no " @@ -10981,7 +11008,7 @@ msgstr "" #: guide.dbk msgid "" "The <emphasis>Sources</emphasis> setup starts by asking for the base of the " -"Debian archive, defaulting to a HTTP mirror. Next it asks for the " +"Debian archive, defaulting to an HTTP mirror. Next it asks for the " "distribution to get." msgstr "" "La configuración de las <emphasis>fuentes</emphasis> comienza preguntando la " diff --git a/doc/po/fr.po b/doc/po/fr.po index ae5a4b1a596aae5ad9b9357fc6d9e33914cada39..38da1090f8a5472567f2f2d301ed32072427a7d2 100644 --- a/doc/po/fr.po +++ b/doc/po/fr.po @@ -7,20 +7,20 @@ # Jérôme Marant, 2000. # Philippe Batailler, 2005. # Christian Perrier <bubulle@debian.org>, 2009, 2010, 2011, 2012, 2013. -# Jean-Pierre Giraud <jean-pierregiraud@neuf.fr>, 2014, 2017, 2018. +# Jean-Pierre Giraud <jean-pierregiraud@neuf.fr>, 2014, 2017-2019. msgid "" msgstr "" -"Project-Id-Version: apt-doc 1.0.6\n" +"Project-Id-Version: apt-doc 1.8.0\n" "Report-Msgid-Bugs-To: APT Development Team <deity@lists.debian.org>\n" -"POT-Creation-Date: 2018-12-18 15:02+0100\n" -"PO-Revision-Date: 2018-03-16 00:54+0100\n" +"POT-Creation-Date: 2019-05-21 14:38+0200\n" +"PO-Revision-Date: 2019-05-01 17:00+0100\n" "Last-Translator: Jean-Pierre Giraud <jean-pierregiraud@neuf.fr>\n" "Language-Team: French <debian-l10n-french@lists.debian.org>\n" "Language: fr\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Generator: Lokalize 2.0\n" +"X-Generator: Poedit 1.8.11\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" #. type: Plain text @@ -166,10 +166,10 @@ msgstr "" " <varlistentry>\n" " <term><option>-c</option></term>\n" " <term><option>--config-file</option></term>\n" -" <listitem><para>Fichier de configuration ; indique le fichier de configuration à utiliser. \n" +" <listitem><para>Fichier de configuration ; indique le fichier de configuration à utiliser. \n" " Le programme lira le fichier de configuration par défaut puis le fichier indiqué ici. \n" " Si les réglages de configuration doivent être établis avant l'analyse des fichiers\n" -" de configuration par défaut, un fichier peut être indiqué avec la variable d'environnement <envar>APT_CONFIG</envar>. Veuillez consulter &apt-conf; pour des informations sur la syntaxe d'utilisation. \n" +" de configuration par défaut, un fichier peut être indiqué avec la variable d'environnement <envar>APT_CONFIG</envar>. Veuillez consulter &apt-conf; pour des informations sur la syntaxe d'utilisation.\n" " </para>\n" " </listitem>\n" " </varlistentry>\n" @@ -193,7 +193,7 @@ msgstr "" " <varlistentry>\n" " <term><option>-o</option></term>\n" " <term><option>--option</option></term>\n" -" <listitem><para>Définir une option de configuration ; permet de régler\n" +" <listitem><para>Définir une option de configuration ; permet de régler\n" " une option de configuration donnée. La syntaxe est <option>-o Foo::Bar=bar</option>.\n" " <option>-o</option> et <option>--option</option> peuvent être utilisées plusieurs fois\n" " pour définir des options différentes.\n" @@ -241,7 +241,7 @@ msgstr "" "<!ENTITY file-aptconf \"\n" " <varlistentry><term><filename>/etc/apt/apt.conf</filename></term>\n" " <listitem><para>Fichier de configuration d'APT.\n" -" Élément de configuration : <literal>Dir::Etc::Main</literal>.</para></listitem>\n" +" Élément de configuration : <literal>Dir::Etc::Main</literal>.</para></listitem>\n" " </varlistentry>\n" #. type: Plain text @@ -273,7 +273,7 @@ msgstr "" "<!ENTITY file-cachearchives \"\n" " <varlistentry><term><filename>&cachedir;/archives/</filename></term>\n" " <listitem><para>Zone de stockage des fichiers récupérés.\n" -" Élément de configuration : <literal>Dir::Cache::Archives</literal>.</para></listitem>\n" +" Élément de configuration : <literal>Dir::Cache::Archives</literal>.</para></listitem>\n" " </varlistentry>\n" #. type: Plain text @@ -288,7 +288,7 @@ msgid "" msgstr "" " <varlistentry><term><filename>&cachedir;/archives/partial/</filename></term>\n" " <listitem><para>Zone de stockage pour les paquets en transit.\n" -" Élément de configuration : <literal>Dir::Cache::Archives</literal> (<filename>partial</filename> sera implicitement ajouté). </para></listitem>\n" +" Élément de configuration : <literal>Dir::Cache::Archives</literal> (<filename>partial</filename> sera implicitement ajouté). </para></listitem>\n" " </varlistentry>\n" "\">\n" @@ -310,7 +310,7 @@ msgstr "" " <varlistentry><term><filename>/etc/apt/preferences</filename></term>\n" " <listitem><para>Fichier des préférences.\n" " C'est dans ce fichier qu'on peut faire de l'épinglage (pinning) c'est-à -dire, choisir d'obtenir des paquets d'une source distincte ou d'une distribution différente.\n" -" Élément de configuration : <literal>Dir::Etc::Preferences</literal>.</para></listitem>\n" +" Élément de configuration : <literal>Dir::Etc::Preferences</literal>.</para></listitem>\n" " </varlistentry>\n" #. type: Plain text @@ -325,7 +325,7 @@ msgid "" msgstr "" " <varlistentry><term><filename>/etc/apt/preferences.d/</filename></term>\n" " <listitem><para>Fragments de fichiers pour la préférence des versions.\n" -" Élément de configuration : <literal>Dir::Etc::PreferencesParts</literal>.</para></listitem>\n" +" Élément de configuration : <literal>Dir::Etc::PreferencesParts</literal>.</para></listitem>\n" " </varlistentry>\n" "\">\n" @@ -342,7 +342,7 @@ msgstr "" "<!ENTITY file-sourceslist \"\n" " <varlistentry><term><filename>/etc/apt/sources.list</filename></term>\n" " <listitem><para>Emplacement pour la récupération des paquets.\n" -" Élément de configuration : <literal>Dir::Etc::SourceList</literal>.</para></listitem>\n" +" Élément de configuration : <literal>Dir::Etc::SourceList</literal>.</para></listitem>\n" " </varlistentry>\n" #. type: Plain text @@ -357,7 +357,7 @@ msgid "" msgstr "" " <varlistentry><term><filename>/etc/apt/sources.list.d/</filename></term>\n" " <listitem><para>Fragments de fichiers définissant les emplacements de récupération de paquets.\n" -" Élément de configuration : <literal>Dir::Etc::SourceParts</literal>.</para></listitem>\n" +" Élément de configuration : <literal>Dir::Etc::SourceParts</literal>.</para></listitem>\n" " </varlistentry>\n" "\">\n" @@ -375,7 +375,7 @@ msgstr "" "<!ENTITY file-statelists \"\n" " <varlistentry><term><filename>&statedir;/lists/</filename></term>\n" " <listitem><para>Zone de stockage pour les informations qui concernent chaque ressource de paquet spécifiée dans &sources-list;\n" -" Élément de configuration : <literal>Dir::State::Lists</literal>.</para></listitem>\n" +" Élément de configuration : <literal>Dir::State::Lists</literal>.</para></listitem>\n" " </varlistentry>\n" #. type: Plain text @@ -390,7 +390,7 @@ msgid "" msgstr "" " <varlistentry><term><filename>&statedir;/lists/partial/</filename></term>\n" " <listitem><para>Zone de stockage pour les informations en transit.\n" -" Élément de configuration : <literal>Dir::State::Lists</literal> (<filename>partial</filename> sera implicitement ajouté).</para></listitem>\n" +" Élément de configuration : <literal>Dir::State::Lists</literal> (<filename>partial</filename> sera implicitement ajouté).</para></listitem>\n" " </varlistentry>\n" "\">\n" @@ -407,7 +407,7 @@ msgstr "" "<!ENTITY file-trustedgpg \"\n" " <varlistentry><term><filename>/etc/apt/trusted.gpg</filename></term>\n" " <listitem><para>Porte-clés des clés de confiance locales. Les nouvelles clés y seront ajoutées.\n" -" Élément de configuration: <literal>Dir::Etc::Trusted</literal>.</para></listitem>\n" +" Élément de configuration : <literal>Dir::Etc::Trusted</literal>.</para></listitem>\n" " </varlistentry>\n" #. type: Plain text @@ -424,7 +424,7 @@ msgstr "" " <varlistentry><term><filename>/etc/apt/trusted.gpg.d/</filename></term>\n" " <listitem><para>Fragments de fichiers pour les clés de signatures sûres. Des fichiers\n" " supplémentaires peuvent être placés à cet endroit (par des paquets ou par l'administrateur).\n" -" Élément de configuration : <literal>Dir::Etc::TrustedParts</literal>.</para></listitem>\n" +" Élément de configuration : <literal>Dir::Etc::TrustedParts</literal>.</para></listitem>\n" " </varlistentry>\n" "\">\n" @@ -443,7 +443,7 @@ msgstr "" "<!ENTITY file-extended_states \"\n" " <varlistentry><term><filename>/var/lib/apt/extended_states</filename></term>\n" " <listitem><para>Liste d'état des paquets installés automatiquement.\n" -" Élément de configuration : <literal>Dir::State::extended_states</literal>.</para></listitem>\n" +" Élément de configuration : <literal>Dir::State::extended_states</literal>.</para></listitem>\n" " </varlistentry>\n" "\">\n" @@ -942,7 +942,7 @@ msgid "" "error." msgstr "" "<command>apt</command> renvoie zéro après une opération normale, et le " -"décimal 100 en cas d'erreur." +"décimal 100 en cas d'erreur." #. type: Content of: <refentry><refnamediv><refpurpose> #: apt-get.8.xml @@ -1060,7 +1060,7 @@ msgid "" msgstr "" "<literal>dselect-upgrade</literal> est utilisée conjointement avec " "&dselect;, la plus ancienne interface du projet Debian pour la gestion des " -"paquets. La commande <literal>dselect-upgrade</literal> suit les " +"paquets. La commande <literal>dselect-upgrade</literal> suit les " "modifications faites par &dselect; dans le champ <literal>Status</literal> " "des paquets disponibles, et effectue les actions nécessaires à la " "réalisation de cet état (par exemple, suppression d'anciens paquets, " @@ -1091,7 +1091,7 @@ msgstr "" "<filename>/etc/apt/sources.list</filename> est utilisé pour retrouver les " "paquets désirés. Quand un trait d'union est accolé (sans espace " "intermédiaire) au nom d'un paquet déjà installé, ce paquet est supprimé. De " -"même on peut ajouter un signe « + » pour désigner un paquet à installer. " +"même on peut ajouter un signe « + » pour désigner un paquet à installer. " "Cette dernière fonctionnalité peut être utilisée pour annuler les décisions " "prises par le système de résolution des conflits d'apt-get." @@ -1172,6 +1172,15 @@ msgstr "" "un caractère « ^ » ou un caractère « $ », une autre possibilité étant " "d'utiliser une expression plus précise." +#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> +#: apt-get.8.xml +msgid "" +"<literal>reinstall</literal> is an alias for <literal>install --reinstall</" +"literal>." +msgstr "" +"<literal>reinstall</literal> est un alias de la commande <literal>install --" +"reinstall</literal>." + #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> #: apt-get.8.xml msgid "" @@ -1224,6 +1233,9 @@ msgid "" "The arguments are interpreted as binary and source package names. See the " "<option>--only-source</option> option if you want to change that." msgstr "" +"Les arguments sont interprétés comme des noms de paquet binaire ou de paquet " +"source. Voir l'option <option>--only-source</option> si vous souhaitez " +"modifier cela." #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> #: apt-get.8.xml @@ -1304,6 +1316,9 @@ msgid "" "The arguments are interpreted as binary or source package names. See the " "<option>--only-source</option> option if you want to change that." msgstr "" +"Les arguments sont interprétés comme des noms de paquet binaire ou de paquet " +"source. Voir l'option <option>--only-source</option> si vous souhaitez " +"modifier cela." #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> #: apt-get.8.xml @@ -1466,7 +1481,7 @@ msgid "" msgstr "" "Correction ; cette option demande de réparer un système où existent des " "dépendances défectueuses. Utilisée avec install ou remove, elle peut exclure " -"un paquet pour permettre de déduire une solution viable. Tout paquet " +"un paquet pour permettre de déduire une solution viable. Tout paquet " "spécifié doit complètement corriger le problème. Cette option est " "quelquefois nécessaire lorsque l'on exécute APT pour la première fois ; APT " "interdit les dépendances défectueuses dans un système. Il est possible que " @@ -1523,9 +1538,9 @@ msgstr "" "Mode silencieux ; cette commande produit une sortie destinée à " "l'enregistrement dans un fichier-journal en omettant les indicateurs de " "progression. Un plus grand nombre de « q » (2 au plus) produit un plus grand " -"silence. On peut aussi utiliser <option>-q=#</option> pour positionner le " +"silence. On peut aussi utiliser <option>-q=#</option> pour positionner le " "niveau de silence, et annuler le fichier de configuration. Notez qu'un " -"niveau de silence égal à 2 implique <option>-y</option> et vous ne devez " +"niveau de silence égal à  2 implique <option>-y</option> et vous ne devez " "jamais utiliser <option>-qq</option> sans l'accompagner d'un modificateur " "tel que <option>-d</option>, <option>--print-uris</option> ou <option>-s</" "option> : APT pourrait alors exécuter des actions inattendues. Élément de " @@ -1552,7 +1567,7 @@ msgstr "" "utilisateurs ordinaires qui pourraient ne pas avoir accès en lecture à toute " "la configuration d'apt, ce qui fausse la simulation. Une annonce exprimant " "cet avertissement est aussi affichée par défaut pour les utilisateurs " -"ordinaires (<option>APT::Get::Show-User-Simulation-Note</option>). Élément " +"ordinaires (<option>APT::Get::Show-User-Simulation-Note</option>). Élément " "de configuration : <literal>APT::Get::Simulate</literal>." #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> @@ -1575,15 +1590,15 @@ msgstr "" msgid "" "Automatic yes to prompts; assume \"yes\" as answer to all prompts and run " "non-interactively. If an undesirable situation, such as changing a held " -"package, trying to install a unauthenticated package or removing an " +"package, trying to install an unauthenticated package or removing an " "essential package occurs then <literal>apt-get</literal> will abort. " "Configuration Item: <literal>APT::Get::Assume-Yes</literal>." msgstr "" "Répondre automatiquement oui aux questions ; présume « oui » comme réponse à " -"toutes les questions et s'exécute de manière non interactive. Dans le cas " +"toutes les questions et s'exécute de manière non interactive. Dans le cas " "d'une situation indésirable, comme le changement d'un paquet gelé, " "l'installation d'un paquet non authentifié ou la suppression d'un paquet " -"essentiel, <literal>apt-get</literal> s'interrompt. Élément de " +"essentiel, <literal>apt-get</literal> s'interrompt. Élément de " "configuration : <literal>APT::Get::Assume-Yes</literal>." #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> @@ -1674,7 +1689,7 @@ msgstr "" #: apt-get.8.xml msgid "" "Allow installing new packages when used in conjunction with " -"<literal>upgrade</literal>. This is useful if the update of a installed " +"<literal>upgrade</literal>. This is useful if the update of an installed " "package requires new dependencies to be installed. Instead of holding the " "package back <literal>upgrade</literal> will upgrade the package and install " "the new dependencies. Note that <literal>upgrade</literal> with this option " @@ -1796,7 +1811,7 @@ msgid "" "to decompress any compressed files. Configuration Item: <literal>APT::Get::" "Print-URIs</literal>." msgstr "" -"Au lieu de récupérer les paquets à installer, leurs URI sont affichées. " +"Au lieu de récupérer les paquets à installer, leurs URI sont affichées. " "Chaque URI a un chemin, un nom de fichier destination, une taille et une clé " "MD5 attendue. Veuillez noter que le nom de fichier à afficher ne correspond " "pas toujours au nom de fichier sur le site distant. Cette option fonctionne " @@ -1866,8 +1881,8 @@ msgstr "" "annuler cette décision. En clair, cette option permet de contrôler " "simplement dans quelle distribution seront récupérés les paquets. Par " "exemple : <option>-t '2.1*'</option>, <option>-t unstable</option> ou " -"<option>-t sid</option>. Élément de configuration : <literal>APT::Default-" -"Release</literal>. Voyez aussi la page de manuel d'&apt-preferences;." +"<option>-t sid</option>. Élément de configuration : <literal>APT::Default-" +"Release</literal>. Voyez aussi la page de manuel d'&apt-preferences;." #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> #: apt-get.8.xml @@ -2184,7 +2199,7 @@ msgid "" "installed. For the specific meaning of the remainder of the output it is " "best to consult the apt source code." msgstr "" -"On peut voir que libreadline2, version 2.1-12, dépend de libc5 et " +"On peut voir que libreadline2, version 2.1-12, dépend de libc5 et " "ncurses3.0 ; ces paquets doivent être installés au préalable pour que " "libreadline2 fonctionne. À leur tour, libreadlineg2 et libreadline2-altdev " "dépendent de libreadline2. Si libreadline2 est installé, libc5 et ncurses3.0 " @@ -2265,7 +2280,7 @@ msgid "" msgstr "" "<literal>Mixed virtual packages</literal> est le nombre de paquets qui " "remplissent un paquet virtuel particulier ou dont le nom est un nom de " -"paquet virtuel. Par exemple, au sein du système Debian, « debconf » est un " +"paquet virtuel. Par exemple, au sein du système Debian, « debconf » est un " "paquet réel et il est aussi fourni par « debconf-tiny »." #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para><itemizedlist><listitem><para> @@ -2572,7 +2587,7 @@ msgid "" msgstr "" "Mode silencieux ; produit une sortie pertinente pour l'enregistrement dans " "un fichier-journal, sans afficher d'indicateur de progression. Un plus grand " -"nombre de q produira un plus grand silence, avec un maximum de 2. Vous " +"nombre de q produira un plus grand silence, avec un maximum de 2. Vous " "pouvez aussi utiliser <option>-q=#</option> pour positionner le niveau de " "silence, annulant le fichier de configuration. Élément de configuration : " "<literal>quiet</literal>." @@ -2761,7 +2776,7 @@ msgid "" "on error." msgstr "" "<command>apt-cache</command> retourne zéro après un déroulement normal et le " -"nombre décimal 100 en cas d'erreur." +"nombre décimal 100 en cas d'erreur." #. type: Content of: <refentry><refnamediv><refpurpose> #: apt-key.8.xml @@ -2860,7 +2875,7 @@ msgid "" msgstr "" "Il est primordial de vérifier que les clés ajoutées manuellement avec " "<command>apt-key</command> appartiennent bien au propriétaire des dépôts " -"comme elles le prétendent, sinon l'infrastructure de &apt-secure; est " +"comme elles le prétendent, sinon l'infrastructure de &apt-secure; est " "complètement compromise." #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> @@ -2909,7 +2924,7 @@ msgstr "" "il est possible par exemple de télécharger une clé directement d'un serveur " "de clé dans l'ensemble de clés fiables. Veuillez noter qu'il n'y a " "<emphasis>aucune</emphasis> vérification réalisée, aussi, il peut être " -"facile de compromettre complètement l'infrastructure &apt-secure;, si la " +"facile de compromettre complètement l'infrastructure &apt-secure;, si la " "commande est utilisée sans précaution." #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> @@ -3072,6 +3087,21 @@ msgstr "" "manuellement. Un tel paquet ne sera pas supprimé automatiquement, même si " "aucun autre paquet n'en dépend." +#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> +#: apt-mark.8.xml +msgid "" +"<literal>minimize-manual</literal> is used to mark (transitive) dependencies " +"of metapackages as automatically installed. This can be used after an " +"installation for example, to minimize the number of manually installed " +"packages; or continuously on systems managed by system configuration " +"metapackages." +msgstr "" +"<literal>minimize-manual</literal> permet de marquer les dépendances " +"(transitives) de métapaquets comme ayant été installées automatiquement. " +"Cela peut être utilisé par exemple après une installation pour réduire le " +"nombre de paquets installés manuellement, ou de façon permanente sur des " +"systèmes gérés par des métapaquets de configuration système." + #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> #: apt-mark.8.xml msgid "" @@ -3405,9 +3435,9 @@ msgid "" "propagate malicious software to all users downloading packages from that " "host." msgstr "" -"<literal>Attaque par compromission d'un miroir sur le réseau</literal>. " -"Sans vérification de signature, quelqu'un de malveillant peut compromettre " -"un miroir et modifier les fichiers. Ainsi tous ceux qui téléchargent les " +"<literal>Attaque par compromission d'un miroir sur le réseau</literal>. Sans " +"vérification de signature, quelqu'un de malveillant peut compromettre un " +"miroir et modifier les fichiers. Ainsi tous ceux qui téléchargent les " "paquets de ce miroir propagent du code malveillant." #. type: Content of: <refentry><refsect1><para> @@ -3761,7 +3791,7 @@ msgid "" "longer to scan the CD but will pick them all up." msgstr "" "Parcours minutieux des paquets ; cette option peut être nécessaire avec des " -"CD d'anciens systèmes Debian 1.1 ou 1.2 dont les fichiers Packages sont " +"CD d'anciens systèmes Debian 1.1 ou 1.2 dont les fichiers Packages sont " "situés dans des endroits inhabituels. Il faudra plus de temps pour parcourir " "le CD mais tous les paquets seront repérés." @@ -3909,7 +3939,7 @@ msgid "" "on error." msgstr "" "<command>apt-config</command> retourne zéro après un déroulement normal, et " -"le nombre 100 en cas d'erreur." +"le nombre 100 en cas d'erreur." #. type: Content of: <refentry><refentryinfo><author><contrib> #: apt.conf.5.xml @@ -3939,7 +3969,7 @@ msgid "" "only place options can be set. The suite also shares a common command line " "parser to provide a uniform environment." msgstr "" -"Le fichier <filename>apt.conf</filename> est le fichier de configuration " +"Le fichier <filename>apt.conf</filename> est le fichier de configuration " "principal du l'ensemble de programmes APT, mais n'est de loin pas le seul " "endroit où des choix d'options peuvent être effectués. L'ensemble des outils " "partagent leur analyse de la ligne de commande, ce qui permet de garantir un " @@ -4050,7 +4080,7 @@ msgstr "" "ignorée, de même que les sections de texte placées entre <literal>/*</" "literal> et <literal>*/</literal>, tout comme les commentaires C/C++. " "Chaque ligne est de la forme : <literal>APT::Get::Assume-Yes \"true\";</" -"literal>. Les guillemets et le point-virgule final sont obligatoire. La " +"literal>. Les guillemets et le point-virgule final sont obligatoires. La " "valeur doit tenir sur une seule ligne et il n'existe pas de fusion de " "chaînes. Elle ne doit pas comporter de guillemets et de barre oblique " "inversée. Le nom d'une option peut contenir des caractères alphanumériques " @@ -4109,7 +4139,7 @@ msgid "" "example you could use <literal>dpkg::pre-install-pkgs</literal>." msgstr "" "Les identifiants des options de configuration ne sont pas sensibles à la " -"casse. Dans l'exemple précédent, on pourrait donc aussi bien utiliser " +"casse. Dans l'exemple précédent, on pourrait donc aussi bien utiliser " "<literal>dpkg::pre-install-pkgs</literal>." #. type: Content of: <refentry><refsect1><para> @@ -4353,7 +4383,7 @@ msgid "" "but note that APT provides no direct means to reinstall them." msgstr "" "Avec cette option qui est activée par défaut, la fonctionnalité " -"« autoclean » supprime du cache tout paquet qui ne peut plus être récupéré. " +"« autoclean » supprime du cache tout paquet qui ne peut plus être récupéré. " "Quand cette option est désactivée, les paquets qui sont installés localement " "sont aussi exclus du nettoyage - mais notez que APT ne fournit aucun moyen " "direct pour les réinstaller." @@ -4473,12 +4503,12 @@ msgid "" "stands for no limit. If <literal>Cache-Grow</literal> is set to 0 the " "automatic growth of the cache is disabled." msgstr "" -"À partir de la version 0.7.26, APT utilise un fichier de cache de taille " +"À partir de la version 0.7.26, APT utilise un fichier de cache de taille " "variable indexé en mémoire (« resizable memory mapped cache file ») pour " "conserver les informations du fichier « available ». <literal>Cache-Start</" "literal> définit la taille minimale de ce cache et par conséquent la " "quantité de mémoire qu'APT utilisera dès son lancement. La valeur par défaut " -"est de 20971520 octets (environ 20 Mo). Il est indispensable que l'ensemble " +"est de 20971520 octets (environ 20 Mo). Il est indispensable que l'ensemble " "de cette mémoire soit disponible, sinon APT ne pourra se lancer. Il peut " "donc être nécessaire de diminuer cette valeur sur des systèmes disposant de " "peu de mémoire. Au contraire, pour des systèmes qui utilisent de nombreuses " @@ -4486,12 +4516,12 @@ msgstr "" "<literal>Cache-Grow</literal> définit, en octets, la quantité de mémoire " "supplémentaire qui peut être allouée au cache si la valeur définie par " "<literal>Cache-Start</literal> est insuffisante. La valeur par défaut de " -"<literal>Cache-Grow</literal> est de 1048576 octets (environ 1 Mo). Cette " +"<literal>Cache-Grow</literal> est de 1048576 octets (environ 1 Mo). Cette " "augmentation se fera tant que la taille du cache sera insuffisante pour " "contenir toutes les informations nécessaires ou qu'elle atteint la valeur " "limite définie par <literal>Cache-Limit</literal>. La valeur par défaut de " "<literal>Cache-Limit</literal> est nulle (il n'existe donc pas de limite à " -"la taille maximale du cache). Si <literal>Cache-Grow</literal> est égal à 0, " +"la taille maximale du cache). Si <literal>Cache-Grow</literal> est égal à  0, " "l'augmentation automatique de la taille du cache est désactivée." #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> @@ -4859,11 +4889,11 @@ msgid "" "that most FTP servers do not support RFC2428." msgstr "" "L'option <literal>ForceExtended</literal> contrôle l'utilisation des " -"commandes liées à la RFC 2428, <literal>EPSV</literal> et <literal>EPRT</" +"commandes liées à la RFC 2428, <literal>EPSV</literal> et <literal>EPRT</" "literal>. Par défaut, elle vaut « false » ce qui signifie que ces commandes " "ne sont utilisées que pour une connexion de type IPv6. Quand elle vaut " "« true », on les utilise même si la connexion est de type IPv4. La plupart " -"des serveurs FTP ne suivent pas la RFC 2428." +"des serveurs FTP ne suivent pas la RFC 2428." #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para><literallayout> #: apt.conf.5.xml @@ -4886,11 +4916,11 @@ msgstr "" "La seule option de configuration pour les URI qui utilisent la méthode " "<literal>cdrom</literal> est le point de montage : <literal>cdrom::Mount</" "literal> ; il doit représenter le point de montage du lecteur de CD-ROM (ou " -"DVD, etc.) indiqué dans <filename>/etc/fstab</filename>. D'autres commandes " +"DVD, etc.) indiqué dans <filename>/etc/fstab</filename>. D'autres commandes " "de montage et de démontage peuvent être fournies quand le point de montage " "ne peut être listé dans le fichier <filename>/etc/fstab</filename>. " "Syntaxiquement, il faut placer <placeholder type=\"literallayout\" id=\"0\"/" -"> dans le bloc <literal>cdrom</literal>. La barre oblique finale est " +"> dans le bloc <literal>cdrom</literal>. La barre oblique finale est " "importante. Les commandes de démontage peuvent être spécifiées en utilisant " "<literal>UMount</literal>." @@ -5318,8 +5348,8 @@ msgstr "" "Les répertoires de la section <literal>Dir::State</literal> concernent le " "système local. <literal>lists</literal> est le répertoire où placer les " "listes de paquets téléchargés et <literal>status</literal> est le nom du " -"fichier d'état de &dpkg;. <literal>preferences</literal> concerne APT : " -"c'est le nom du fichier <filename>preferences</filename>. <literal>Dir::" +"fichier d'état de &dpkg;. <literal>preferences</literal> concerne APT : " +"c'est le nom du fichier <filename>preferences</filename>. <literal>Dir::" "State</literal> contient le répertoire par défaut préfixé à tous les sous-" "éléments, quand ceux-ci ne commencent pas par <filename>/</filename> ou " "<filename>./</filename>." @@ -5385,7 +5415,7 @@ msgid "" "literal> <literal>dpkg-buildpackage</literal> and <literal>apt-cache</" "literal> specify the location of the respective programs." msgstr "" -"Les programmes binaires sont pointés par <literal>Dir::Bin</literal>. " +"Les programmes binaires sont pointés par <literal>Dir::Bin</literal>. " "L'emplacement des gestionnaires de méthodes est indiqué par <literal>Dir::" "Bin::Methods</literal> ; <literal>gzip</literal>, <literal>bzip2</literal>, " "<literal>lzma</literal>, <literal>dpkg</literal>, <literal>apt-get</" @@ -5465,9 +5495,9 @@ msgstr "" "Mode de nettoyage du cache ; cette variable peut prendre l'une des valeurs " "suivantes : « <literal>always</literal> », « <literal>prompt</literal> », " "« <literal>auto</literal> », « <literal>pre-auto</literal> » et " -"« <literal>never</literal> ». « <literal>always</literal> » et " +"« <literal>never</literal> ». « <literal>always</literal> » et " "« <literal>prompt</literal> » suppriment tous les paquets du cache après la " -"mise à niveau ; « <literal>prompt</literal> » (valeur par défaut) les " +"mise à niveau ; « <literal>prompt</literal> » (valeur par défaut) les " "supprime après une demande et « <literal>auto</literal> » ne supprime que " "les archives qui ne peuvent plus être téléchargées (remplacées, par exemple, " "par une nouvelle version). « <literal>pre-auto</literal> » les supprime " @@ -5533,6 +5563,10 @@ msgid "" "used when running dpkg. It may be set to any valid value of that environment " "variable; or the empty string, in which case the variable is not changed." msgstr "" +"Il s'agit d'une chaîne qui définit la variable d'environnement <envar>PATH</" +"envar> utilisée lors de l'exécution de dpkg. Elle peut être définie à " +"n'importe quelle valeur valable pour cette variable d'environnement ou être " +"une chaîne vide, dans ce cas la variable n'est pas modifiée." #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> #: apt.conf.5.xml @@ -5557,7 +5591,7 @@ msgid "" "going to install to the commands, one per line on the requested file " "descriptor, defaulting to standard input." msgstr "" -"Il s'agit d'une liste de commandes shell à exécuter avant d'appeler &dpkg;. " +"Il s'agit d'une liste de commandes shell à exécuter avant d'appeler &dpkg;. " "Tout comme pour <literal>Options</literal>, on doit utiliser la notation de " "liste. Les commandes sont appelées dans l'ordre, en utilisant <filename>/bin/" "sh</filename> : APT s'arrête dès que l'une d'elles échoue. APT transmet aux " @@ -5574,7 +5608,7 @@ msgid "" "information." msgstr "" "La version 2 de ce protocole envoie plus d'informations à travers le " -"descripteur du fichier requis : une ligne avec le texte <literal>VERSION 2</" +"descripteur du fichier requis : une ligne avec le texte <literal>VERSION 2</" "literal>, l'espace de configuration d'APT et une liste d'actions de paquet " "avec le nom de fichier et l'information de version." @@ -5975,8 +6009,8 @@ msgstr "" "<literal>MarkInstall</literal> suivi de <literal>nom-paquet <a.b.c -> " "d.e.f | x.y.z> (section)</literal> où <literal>a.b.c</literal> est la " "version actuelle du paquet, <literal>d.e.f</literal> la version devant être " -"installée et <literal>x.y.z</literal> une version plus récente qui n'est " -"pas prévue pour être installée (à cause d'un score plus faible). Ces deux " +"installée et <literal>x.y.z</literal> une version plus récente qui n'est pas " +"prévue pour être installée (à cause d'un score plus faible). Ces deux " "derniers éléments peuvent ne pas être mentionnés s'ils ne sont pas " "pertinents où lorsque ils sont identiques à la version installée. " "<literal>section</literal> est le nom de la section où figure le paquet." @@ -6275,7 +6309,7 @@ msgstr "" #. type: Content of: <refentry><refsect1><refsect2><para><variablelist><varlistentry><term> #: apt_preferences.5.xml msgid "priority 500" -msgstr "une priorité égale à 500" +msgstr "une priorité égale à  500" #. type: Content of: <refentry><refsect1><refsect2><para><variablelist><varlistentry><listitem><simpara> #: apt_preferences.5.xml @@ -6287,7 +6321,7 @@ msgstr "" #. type: Content of: <refentry><refsect1><refsect2><para><variablelist><varlistentry><term> #: apt_preferences.5.xml msgid "priority 990" -msgstr "une priorité égale à 990" +msgstr "une priorité égale à  990" #. type: Content of: <refentry><refsect1><refsect2><para><variablelist><varlistentry><listitem><simpara> #: apt_preferences.5.xml @@ -6315,11 +6349,11 @@ msgid "" "marked as \"ButAutomaticUpgrades: yes\"." msgstr "" "Quand aucune distribution par défaut n'a été indiquée, APT affecte " -"simplement une priorité égale à 100 à toute version installée d'un paquet et " -"une priorité égale à 500 à tout version non installée. Cela à l'exception " +"simplement une priorité égale à  100 à toute version installée d'un paquet et " +"une priorité égale à  500 à tout version non installée. Cela à l'exception " "des versions issues des archives qui ont la mention « NotAutomatic: yes » " "dans leur fichier <filename>Release</filename>, qui auront alors une " -"priorité égale à 1 ou à 100 si elles sont également marquées avec " +"priorité égale à  1 ou à  100 si elles sont également marquées avec " "« ButAutomaticUpgrades: yes »." #. type: Content of: <refentry><refsect1><refsect2><para> @@ -6341,9 +6375,9 @@ msgid "" "Note also that downgrading a package can be risky.)" msgstr "" "Ne jamais revenir en arrière, sauf si la priorité d'une version disponible " -"dépasse 1000. « Revenir en arrière » signifie installer une version moins " +"dépasse 1000. « Revenir en arrière » signifie installer une version moins " "récente que la version installée. Il faut noter qu'aucune des priorités par " -"défaut n'excède 1000 ; de telles valeurs ne peuvent être définies que dans " +"défaut n'excède 1000 ; de telles valeurs ne peuvent être définies que dans " "le fichier des préférences. Notez aussi qu'il est risqué de revenir en " "arrière." @@ -6382,9 +6416,9 @@ msgid "" "upgraded when <command>apt-get install <replaceable>some-package</" "replaceable></command> or <command>apt-get upgrade</command> is executed." msgstr "" -"En général, la version installée d'un paquet (priorité 100) n'est pas aussi " +"En général, la version installée d'un paquet (priorité 100) n'est pas aussi " "récente que les versions disponibles dans les sources listées dans le " -"fichier &sources-list; (priorité 500 ou 990). Et donc le paquet sera mis à " +"fichier &sources-list; (priorité 500 ou 990). Et donc le paquet sera mis à " "niveau avec la commande : <command>apt-get install <replaceable>paquet</" "replaceable></command> ou <command>apt-get dist-upgrade</command>." @@ -6644,10 +6678,10 @@ msgid "" msgstr "" "APT gére également l'épinglage (« pinning ») avec des expressions &glob; et " "des expressions régulières entourées par des barres obliques. Par exemple, " -"l'exemple qui suit affecte une priorité de 500 à tous les paquets " -"d'experimental dont le nom commence par gnome (en tant qu'expression de " -"type &glob;) ou contient le mot kde (sous format d'une expression régulière " -"POSIX étendue, entourée de barres obliques)." +"l'exemple qui suit affecte une priorité de 500 à tous les paquets " +"d'experimental dont le nom commence par gnome (en tant qu'expression de type " +"&glob;) ou contient le mot kde (sous format d'une expression régulière POSIX " +"étendue, entourée de barres obliques)." #. type: Content of: <refentry><refsect1><refsect2><programlisting> #: apt_preferences.5.xml @@ -6876,7 +6910,7 @@ msgid "" msgstr "" "La version la plus récente du paquet <literal>perl</literal> sera installé " "pour autant que son numéro de version commence par <literal>&good-perl;</" -"literal>. Si l'<emphasis>une</emphasis> des versions &good-perl;* existe et " +"literal>. Si l'<emphasis>une</emphasis> des versions &good-perl;* existe et " "si la version installée est une version &bad-perl;*, il y aura un retour en " "arrière." @@ -6887,7 +6921,7 @@ msgid "" "available from the local system has priority over other versions, even " "versions belonging to the target release." msgstr "" -"Les versions des paquets (autres que <literal>perl</literal>) disponibles " +"Les versions des paquets (autres que <literal>perl</literal>) disponibles " "dans le site local ont priorité sur les autres versions, même celles " "appartenant à la distribution par défaut." @@ -6975,8 +7009,8 @@ msgstr "" "Le fichier <filename>Release</filename> se trouve normalement dans le " "répertoire <filename>.../dists/<replaceable>nom-distribution</replaceable></" "filename>, par exemple, <filename>.../dists/stable/Release</filename>, ou " -"<filename>.../dists/&debian-stable-codename;/Release</filename>. Il " -"consiste en une seule entrée composée de plusieurs lignes qui s'applique à " +"<filename>.../dists/&debian-stable-codename;/Release</filename>. Il consiste " +"en une seule entrée composée de plusieurs lignes qui s'applique à " "<emphasis>tous</emphasis> les paquets situés dans les répertoires sous le " "répertoire parent. Contrairement au fichier <filename>Packages</filename>, " "presque toutes les lignes du fichier <filename>Release</filename> sont " @@ -7163,7 +7197,7 @@ msgstr "" "filename> récupérés dans des sources indiquées dans le fichier &sources-" "list; sont conservés dans le répertoire <filename>/var/lib/apt/lists</" "filename> ou dans le fichier spécifié par la variable <literal>Dir::State::" -"Lists</literal> dans le fichier <filename>apt.conf</filename>. Par exemple, " +"Lists</literal> dans le fichier <filename>apt.conf</filename>. Par exemple, " "le fichier <filename>debian.lcs.mit.edu_debian_dists_unstable_contrib_binary-" "i386_Release</filename> contient le fichier <filename>Release</filename> du " "site <literal>debian.lcs.mit.edu</literal>, architecture <literal>binary-" @@ -7272,7 +7306,7 @@ msgstr "" "La commande suivante utilisera la version la plus récente de la distribution " "<literal>testing</literal> pour mettre à niveau le paquet spécifié ; " "cependant les mises à niveau ultérieures du paquet ne se feront pas à moins " -"de relancer la commande. <placeholder type=\"programlisting\" id=\"0\"/>" +"de relancer la commande. <placeholder type=\"programlisting\" id=\"0\"/>" #. type: Content of: <refentry><refsect1><refsect2><title> #: apt_preferences.5.xml @@ -7321,7 +7355,7 @@ msgstr "" "des paquets appartenant à la distribution <literal>testing</literal>, une " "priorité moindre aux versions appartenant à la distribution " "<literal>unstable</literal> et une priorité prohibitivement basse aux " -"versions appartenant à d'autres distributions <literal>Debian</literal>. " +"versions appartenant à d'autres distributions <literal>Debian</literal>. " "<placeholder type=\"programlisting\" id=\"0\"/>" #. type: Content of: <refentry><refsect1><refsect2><para> @@ -7360,7 +7394,7 @@ msgstr "" "plus récente version dans <literal>testing</literal> si elle est plus " "récente que la version installée ou avec la plus récente version dans " "<literal>unstable</literal> si elle est plus récente que la version " -"installée. <placeholder type=\"programlisting\" id=\"0\"/>" +"installée. <placeholder type=\"programlisting\" id=\"0\"/>" #. type: Content of: <refentry><refsect1><refsect2><title> #: apt_preferences.5.xml @@ -7423,7 +7457,7 @@ msgstr "" "transformation d'une version <literal>testing</literal> en <literal>stable</" "literal> puis <literal>oldstable</literal>. Si, au contraire, vous souhaitez " "suivre la version <literal>testing</literal>, vous devriez utiliser un des " -"exemples précédents. <placeholder type=\"programlisting\" id=\"0\"/>" +"exemples précédents. <placeholder type=\"programlisting\" id=\"0\"/>" #. type: Content of: <refentry><refsect1><refsect2><para> #: apt_preferences.5.xml @@ -7461,7 +7495,7 @@ msgstr "" "plus récente version dans <literal>&debian-testing-codename;</literal> si " "elle est plus récente que la version installée ou avec la plus récente " "version dans <literal>sid</literal> si elle est plus récente que la version " -"installée. <placeholder type=\"programlisting\" id=\"0\"/>" +"installée. <placeholder type=\"programlisting\" id=\"0\"/>" #. type: Content of: <refentry><refsect1><para> #: apt_preferences.5.xml @@ -7683,7 +7717,7 @@ msgstr "" "code comme <literal>&debian-stable-codename;</literal> ou <literal>&debian-" "testing-codename;</literal>, alors que composant prend les valeurs : " "<literal>main</literal>, <literal>contrib</literal> ou <literal>non-free</" -"literal>. Le type <literal>deb-src</literal> décrit une archive de " +"literal>. Le type <literal>deb-src</literal> décrit une archive de " "distribution de code source pour une distribution Debian dans le même format " "que le type <literal>deb</literal>. Une ligne <literal>deb-src</literal> est " "nécessaire pour récupérer les index des sources." @@ -7750,7 +7784,7 @@ msgid "" msgstr "" "L'URI de type <literal>deb</literal> doit indiquer la base de la " "distribution Debian dans laquelle APT trouvera les informations dont il a " -"besoin. <literal>suite</literal> peut spécifier le chemin exact : dans ce " +"besoin. <literal>suite</literal> peut spécifier le chemin exact : dans ce " "cas, on doit omettre les composants et <literal>suite</literal> doit se " "terminer par une barre oblique (<literal>/</literal>). C'est utile quand " "seul un sous-répertoire particulier de l'archive décrite par cet URI est " @@ -8035,20 +8069,6 @@ msgstr "" #. type: Content of: <refentry><refsect1><para><itemizedlist><listitem><para> #: sources.list.5.xml -#, fuzzy -#| msgid "" -#| "<option>Signed-By</option> (<option>signed-by</option>) is either an " -#| "absolute path to a keyring file (has to be accessible and readable for " -#| "the <literal>_apt</literal> user, so ensure everyone has read-permissions " -#| "on the file) or one or more fingerprints of keys either in the " -#| "<filename>trusted.gpg</filename> keyring or in the keyrings in the " -#| "<filename>trusted.gpg.d/</filename> directory (see <command>apt-key " -#| "fingerprint</command>). If the option is set, only the key(s) in this " -#| "keyring or only the keys with these fingerprints are used for the &apt-" -#| "secure; verification of this repository. Defaults to the value of the " -#| "option with the same name if set in the previously acquired " -#| "<filename>Release</filename> file. Otherwise all keys in the trusted " -#| "keyrings are considered valid signers for this repository." msgid "" "<option>Signed-By</option> (<option>signed-by</option>) is an option to " "require a repository to pass &apt-secure; verification with a certain set of " @@ -8068,18 +8088,24 @@ msgid "" "(only fingerprints can be specified there through). Otherwise all keys in " "the trusted keyrings are considered valid signers for this repository." msgstr "" -"<option>Signed-By</option> (<option>signed-by</option>) est soit un chemin " -"absolu vers un fichier de trousseau de clés (qui doit être accessible en " -"lecture pour l'utilisateur <literal>_apt</literal>, et donc, il faut " -"s'assurer que tout le monde a le droit de lecture sur le fichier) ou une ou " -"plusieurs empreintes de clés situées soit dans le trousseau " -"<filename>trusted.gpg</filename>, soit dans les trousseaux du répertoire " -"<filename>trusted.gpg.d/</filename> (voir <command>apt-key fingerprint</" -"command>). Si cette option est définie, seule la ou les clés dans ce " -"trousseau, ou seules les clés avec ces empreintes sont utilisées pour la " -"vérification du répertoire par &apt-secure;. Elle possède la valeur par " -"défaut de l'option du même nom si elle a été définie dans le fichier " -"<filename>Release</filename> récupéré auparavant. Autrement, toutes les clés " +"<option>Signed-By</option> (<option>signed-by</option>) est une option pour " +"demander la vérification d’un dépot par &apt-secure; avec un certain jeu de " +"clés plutôt qu’avec la totalité des clés de confiance configurées par apt. " +"Elle est définie comme une liste de chemins absolus vers des fichiers de " +"trousseau de clés (qui doivent être accessibles en lecture pour " +"l'utilisateur <literal>_apt</literal>, et donc, il faut s'assurer que tout " +"le monde a le droit de lecture sur le fichier) et des empreintes de clés à " +"sélectionner dans ces trousseaux. Si aucun fichier de clés n’est défini, le " +"trousseau <filename>trusted.gpg</filename> et tous les trousseaux du " +"répertoire <filename>trusted.gpg.d/</filename> sont sélectionnés par défaut " +"(voir <command>apt-key fingerprint</command>). Si aucune empreinte n’est " +"définie, toutes les clés des trousseaux sont sélectionnées. Une empreinte " +"acceptera aussi toutes les signatures de sous clés de cette clé, et si ce " +"n’est pas désiré, un point d’exclamation (<literal>!</literal>) peut être " +"ajouté à l’empreinte pour désactiver ce comportement. Elle possède la valeur " +"par défaut de l'option du même nom si elle a été définie dans le fichier " +"<filename>Release</filename> de ce dépôt récupéré auparavant (seules des " +"empreintes peuvent être définies par ce biais). Autrement, toutes les clés " "des trousseaux de confiance sont considérées comme des signatures valables " "pour ce dépôt." @@ -8278,14 +8304,12 @@ msgstr "" #. type: Content of: <refentry><refsect1><para><variablelist><varlistentry><term><command><replaceable> #: sources.list.5.xml msgid "scheme" -msgstr "" +msgstr "procédé" #. type: Content of: <refentry><refsect1><para><variablelist><varlistentry><term> #: sources.list.5.xml -#, fuzzy -#| msgid "(&apt-transport-http;)" msgid "(&apt-transport-mirror;)" -msgstr "(&apt-transport-http;)" +msgstr "(&apt-transport-mirror;)" #. type: Content of: <refentry><refsect1><para><variablelist><varlistentry><listitem><para> #: sources.list.5.xml @@ -8299,6 +8323,15 @@ msgid "" "ensuring that clients can acquire data even if some configured mirrors are " "not available." msgstr "" +"Le procédé miroir définit la localisation d'une liste de miroirs. Par " +"défaut, le procédé utilisé par la localisation est <literal>http</literal>, " +"mais n'importe quel autre procédé peut être utilisé avec la commande " +"<command>mirror+<replaceable>scheme</replaceable></command>. La liste de " +"miroirs elle-même peut contenir plusieurs URI de miroirs différentes que le " +"client APT peut, de façon transparente, repérer, choisir et sur lesquelles " +"se rabattre, afin d'aider à la fois à répartir la charge sur les miroirs " +"disponibles et à garantir que les clients puissent récupérer les données " +"même si certains des miroirs configurés ne sont pas disponibles." #. type: Content of: <refentry><refsect1><para><variablelist><varlistentry><listitem><para> #: sources.list.5.xml @@ -8983,7 +9016,7 @@ msgid "" msgstr "" "La valeur des autres champs de métadonnées du fichier Release sont tirées de " "la valeur correspondante dans <literal>APT::FTPArchive::Release</literal>, " -"p. ex. <literal>APT::FTPArchive::Release::Origin</literal>. Les champs " +"p. ex. <literal>APT::FTPArchive::Release::Origin</literal>. Les champs " "reconnus sont : <literal>Origin</literal>, <literal>Label</literal>, " "<literal>Suite</literal>, <literal>Version</literal>, <literal>Codename</" "literal>, <literal>Date</literal>, <literal>NotAutomatic</literal>, " @@ -9186,7 +9219,7 @@ msgid "" "index files are set to this mode with no regard to the umask." msgstr "" "Indique le système de permissions des fichiers d'index créés. Par défaut, " -"c'est le mode 0644. Tous les fichiers d'index ont ce mode et le masque " +"c'est le mode 0644. Tous les fichiers d'index ont ce mode et le masque " "utilisateur (umasq) est ignoré." #. type: Content of: <refentry><refsect1><refsect2><variablelist><varlistentry><listitem><para> @@ -9242,9 +9275,9 @@ msgstr "" "utilisé sans actualisation. Quand cette limite est franchie, le « mtime » du " "fichier « Contents » est mis à jour. Cela peut arriver quand un fichier est " "modifié sans que cela modifie le fichier « Contents » (modification par " -"« override » par exemple). Un délai est permis dans l'espoir que de " -"nouveaux « .deb » seront installés, exigeant un nouveau « Contents ». Par " -"défaut ce nombre vaut 10, l'unité étant le jour." +"« override » par exemple). Un délai est permis dans l'espoir que de nouveaux " +"« .deb » seront installés, exigeant un nouveau « Contents ». Par défaut ce " +"nombre vaut 10, l'unité étant le jour." #. type: Content of: <refentry><refsect1><refsect2><variablelist><varlistentry><listitem><para> #: apt-ftparchive.1.xml @@ -9329,7 +9362,7 @@ msgid "" "Sets the binary cache database to use for this section. Multiple sections " "can share the same database." msgstr "" -"Indique la base de données binaire servant de cache pour cette section. " +"Indique la base de données binaire servant de cache pour cette section. " "Différentes sections peuvent partager cette base de données." #. type: Content of: <refentry><refsect1><refsect2><variablelist><varlistentry><listitem><para> @@ -9674,7 +9707,7 @@ msgstr "" "Mode silencieux ; cette commande produit une sortie destinée à " "l'enregistrement dans un fichier-journal en omettant les indicateurs de " "progression. Un plus grand nombre de « q » (2 au plus) rend le programme de " -"plus en plus silencieux. On peut aussi utiliser <option>-q=#</option> pour " +"plus en plus silencieux. On peut aussi utiliser <option>-q=#</option> pour " "définir ce « niveau de silence », et ne plus tenir compte des réglages du " "fichier de configuration. Élément de configuration : <literal>quiet</" "literal>." @@ -9760,7 +9793,7 @@ msgstr "" "de données. Si les paquets sont recompilés ou republiés avec à nouveau la " "même version, cela pourra causer des problèmes car, alors, les métadonnées " "en cache (p. ex. les tailles et les sommes de contrôle) seront utilisées. Si " -"cette option est choisie, cela n'arrivera plus car le fichier sera contrôlé " +"cette option est choisie, cela n'arrivera plus car le fichier sera contrôlé " "pour vérifier s'il a été modifié. Veuillez noter que cette option n'est pas " "activée par défaut car il est déconseillé d'envoyer dans les archives des " "versions identiques. En théorie, donc, ces problème ne devraient pas " @@ -9804,7 +9837,7 @@ msgid "" "100 on error." msgstr "" "<command>apt-ftparchive</command> retourne zéro si tout se passe bien, le " -"nombre 100 en cas d'erreur." +"nombre 100 en cas d'erreur." #. type: Content of: <refentry><refnamediv><refpurpose> #: apt_auth.conf.5.xml @@ -9834,19 +9867,15 @@ msgstr "" #. type: Content of: <refentry><refsect1><para> #: apt_auth.conf.5.xml -#, fuzzy -#| msgid "" -#| "The APT auth.conf file <filename>/etc/apt/auth.conf</filename> can be " -#| "used to store login information in a netrc-like format with restrictive " -#| "file permissions." msgid "" "The APT auth.conf file <filename>/etc/apt/auth.conf</filename>, and .conf " "files inside <filename>/etc/apt/auth.conf.d</filename> can be used to store " "login information in a netrc-like format with restrictive file permissions." msgstr "" -" Le fichier auth.conf d'APT <filename>/etc/apt/auth.conf</filename> peut " -"être utilisé pour stocker les informations de connexion dans un format " -"detype netrc avec des droits d'accès restreints" +"Le fichier auth.conf d'APT <filename>/etc/apt/auth.conf</filename> ainsi que " +"les fichiers .conf dans <filename>/etc/apt/auth.conf.d</filename> peuvent " +"être utilisés pour stocker les informations de connexion dans un format de " +"type netrc avec des droits d'accès restreints." #. type: Content of: <refentry><refsect1><title> #: apt_auth.conf.5.xml @@ -10056,24 +10085,18 @@ msgstr "" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> #: apt_auth.conf.5.xml -#, fuzzy -#| msgid "<filename>/etc/apt/auth.conf</filename>" msgid "<filename>/etc/apt/auth.conf.d/*.conf</filename>" -msgstr "<filename>/etc/apt/auth.conf</filename>" +msgstr "<filename>/etc/apt/auth.conf.d/*.conf</filename>" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> #: apt_auth.conf.5.xml -#, fuzzy -#| msgid "" -#| "Login information for APT sources and proxies in a netrc-like format. " -#| "Configuration Item: <literal>Dir::Etc::netrc</literal>." msgid "" "Login information for APT sources and proxies in a netrc-like format. " "Configuration Item: <literal>Dir::Etc::netrcparts</literal>." msgstr "" "Informations de connexion pour les sources et les mandataires d'APT dans un " -"format de type netrc. Élément de configuration : <literal>Dir::Etc::netrc</" -"literal>." +"format de type netrc. Élément de configuration : <literal>Dir::Etc::" +"netrcparts</literal>." #. type: Content of: <refentry><refsect1><para> #: apt_auth.conf.5.xml @@ -10288,7 +10311,7 @@ msgid "" msgstr "" "La bande passante utilisée peut être limitée avec <literal>Acquire::http::Dl-" "Limit</literal> qui peut prendre une valeur entière, l'unité utilisée étant " -"le kilo-octet par seconde. La valeur par défaut est 0, ce qui correspond à " +"le kilo-octet par seconde. La valeur par défaut est 0, ce qui correspond à " "aucune limitation de bande passante. Veuillez noter que cette option " "désactive implicitement le téléchargement simultané depuis plusieurs " "serveurs." @@ -10305,7 +10328,7 @@ msgid "" "0. It is enabled by default with the value 10." msgstr "" "Le réglage <literal>Acquire::http::Pipeline-Depth</literal> permet " -"d'utiliser l'enchaînement HTTP (« HTTP pipelining », RFC 2616 " +"d'utiliser l'enchaînement HTTP (« HTTP pipelining », RFC 2616 " "section 8.1.2.2) ce qui peut être utile par exemple avec des connexions à " "latence élevée. Il indique le nombre de requêtes envoyées dans le tuyau. APT " "tente de détecter et de contourner les serveurs web et les mandataires qui " @@ -10573,29 +10596,7 @@ msgstr "" #. type: Content of: <refentry><refsect1><literallayout> #: apt-transport-https.1.xml -#, fuzzy, no-wrap -#| msgid "" -#| "acquire::https {\n" -#| "\tproxy::example.org \"direct\";\n" -#| "\tproxy \"socks5h://apt:pass@127.0.0.1:9050\";\n" -#| "\tproxy-auto-detect \"/usr/local/bin/apt-https-proxy-auto-detect\";\n" -#| "\tno-cache \"true\";\n" -#| "\tmax-age \"3600\";\n" -#| "\tno-store \"true\";\n" -#| "\ttimeout \"10\";\n" -#| "\tdl-limit \"42\";\n" -#| "\tpipeline-depth \"0\";\n" -#| "\tallowredirect \"false\";\n" -#| "\tuser-agent \"my apt-https\";\n" -#| "\tsendaccept \"false\";\n" -#| "\n" -#| "\tcainfo \"/path/to/ca/certs.pem\";\n" -#| "\tCRLFile \"/path/to/all/crl.pem\";\n" -#| "\tVerify-Peer \"true\";\n" -#| "\tVerify-Host::broken.example.org \"false\";\n" -#| "\tSSLCert::example.org \"/path/to/client/cert.pem\";\n" -#| "\tSSLKey::example.org \"/path/to/client/key.pem\"\n" -#| "};\n" +#, no-wrap msgid "" "Acquire::https {\n" "\tProxy::example.org \"DIRECT\";\n" @@ -10619,21 +10620,21 @@ msgid "" "\tSSLKey::example.org \"/path/to/client/key.pem\"\n" "};\n" msgstr "" -"acquire::https {\n" -"\tproxy::example.org \"direct\";\n" -"\tproxy \"socks5h://apt:pass@127.0.0.1:9050\";\n" -"\tproxy-auto-detect \"/usr/local/bin/apt-https-proxy-auto-detect\";\n" -"\tno-cache \"true\";\n" -"\tmax-age \"3600\";\n" -"\tno-store \"true\";\n" -"\ttimeout \"10\";\n" -"\tdl-limit \"42\";\n" -"\tpipeline-depth \"0\";\n" -"\tallowredirect \"false\";\n" -"\tuser-agent \"my apt-https\";\n" -"\tsendaccept \"false\";\n" +"Acquire::https {\n" +"\tProxy::example.org \"DIRECT\";\n" +"\tProxy \"socks5h://apt:pass@127.0.0.1:9050\";\n" +"\tProxy-Auto-Detect \"/usr/local/bin/apt-https-proxy-auto-detect\";\n" +"\tNo-Cache \"true\";\n" +"\tMax-Age \"3600\";\n" +"\tNo-Store \"true\";\n" +"\tTimeout \"10\";\n" +"\tDl-Limit \"42\";\n" +"\tPipeline-Depth \"0\";\n" +"\tAllowRedirect \"false\";\n" +"\tUser-Agent \"My APT-HTTPS\";\n" +"\tSendAccept \"false\";\n" "\n" -"\tcainfo \"/path/to/ca/certs.pem\";\n" +"\tCAInfo \"/path/to/ca/certs.pem\";\n" "\tCRLFile \"/path/to/all/crl.pem\";\n" "\tVerify-Peer \"true\";\n" "\tVerify-Host::broken.example.org \"false\";\n" @@ -11054,7 +11055,7 @@ msgid "" msgstr "" "APT, ainsi que ce document, sont libres. Vous pouvez les redistribuer et les " "modifier en respectant les conditions de la licence publique générale GNU " -"telle que publiée par la Free Software Foundation, en version 2 ou " +"telle que publiée par la Free Software Foundation, en version 2 ou " "ultérieure." #. type: Content of: <book><bookinfo><legalnotice><para> @@ -11452,9 +11453,9 @@ msgstr "" " Réglage de la liste des emplacements sources de distribution\n" "\n" " Veuillez indiquer l'URL de base de la distribution Debian.\n" -" Les schémas d'accès connus sont : http file\n" +" Les schémas d'accès connus sont : http file\n" "\n" -" Exemple:\n" +" Exemple :\n" " file:/mnt/debian,\n" " ftp://ftp.debian.org/debian,\n" " http://ftp.de.debian.org/debian,\n" @@ -11466,7 +11467,7 @@ msgstr "" #: guide.dbk msgid "" "The <emphasis>Sources</emphasis> setup starts by asking for the base of the " -"Debian archive, defaulting to a HTTP mirror. Next it asks for the " +"Debian archive, defaulting to an HTTP mirror. Next it asks for the " "distribution to get." msgstr "" "La configuration des <emphasis>Sources</emphasis> débute par l'indication de " @@ -11520,10 +11521,10 @@ msgid "" " Components [main contrib non-free]:\n" msgstr "" " Veuillez indiquer les composants à utiliser\n" -" Les composants sont en général de la forme suivante :\n" +" Les composants sont en général de la forme suivante :\n" " main contrib non-free\n" "\n" -" Composants [main contrib non-free] :\n" +" Composants [main contrib non-free] :\n" #. type: Content of: <book><chapter><para> #: guide.dbk @@ -11706,7 +11707,7 @@ msgstr "" "# apt-get check\n" "Lecture de la liste des paquets... Fait\n" "Construction de l'arbre des dépendances... Fait\n" -"Vous pouvez lancer « apt --fix-broken install » pour corriger ces problèmes.\n" +"Vous pouvez lancer « apt --fix-broken install » pour corriger ces problèmes.\n" "Les paquets suivants contiennent des dépendances non satisfaites :\n" " 9fonts: Depends: xlib6g mais il n'est pas installé\n" " uucp: Depends: mailx mais il n'est pas installé\n" @@ -11714,7 +11715,7 @@ msgstr "" " adduser: Depends: perl-base mais il n'est pas installé\n" " aumix: Depends: libgpmg1 mais il n'est pas installé\n" " debiandoc-sgml: Depends: sgml-base mais il n'est pas installé\n" -" bash-builtins: Depends: bash (>= 2.01) but 2.0-3 is installed\n" +" bash-builtins: Depends: bash (>= 2.01) mais 2.0-3 est installé\n" " cthugha: Depends: svgalibg1 mais il n'est pas installé\n" " Depends: xlib6g (>= 3.3-5) mais il n'est pas installé\n" " libreadlineg2: Conflicts:libreadline2 (<< 2.1-2.1)\n" @@ -11772,7 +11773,7 @@ msgid "" msgstr "" "La seconde situation est moins grave que la première car APT met certaines " "contraintes sur l'ordre d'installation des paquets. Dans les deux cas, " -"l'option <literal>-f</literal> utilisée avec <command>apt-get</command> " +"l'option <literal>-f</literal> utilisée avec <command>apt-get</command> " "conduira APT à rechercher une solution possible puis à continuer. La méthode " "APT de <command>dselect</command> utilise toujours cette option <literal>-f</" "literal> afin de pouvoir poursuivre plus facilement ses opérations si un " @@ -11833,7 +11834,7 @@ msgid "" " squake pgp-i python-base debmake ldso perl libreadlineg2\n" " ssh\n" msgstr "" -"Les paquets supplémentaires suivants seront installés :\n" +"Les paquets supplémentaires suivants seront installés :\n" " libdbd-mysql-perl xlib6 zlib1 xzx libreadline2 libdbd-msql-perl\n" " mailpgp xdpkg fileutils pinepgp zlib1g xlib6g perl-base\n" " bin86 libgdbm1 libgdbmg1 quake-lib gmp2 bcc xbuffy\n" @@ -11868,7 +11869,7 @@ msgid "" " xadmin xboard perl-debug tkined xtetris libreadline2-dev perl-suid\n" " nas xpilot xfig\n" msgstr "" -"Les paquets suivants seront ENLEVÉS :\n" +"Les paquets suivants seront ENLEVÉS :\n" " xlib6-dev xpat2 tk40-dev xkeycaps xbattle xonix\n" " xdaliclock tk40 tk41 xforms0.86 ghostview xloadimage xcolorsel\n" " xadmin xboard perl-debug tkined xtetris libreadline2-dev perl-suid\n" @@ -11888,7 +11889,7 @@ msgstr "" "La liste des paquets à enlever montre tous les paquets qui seront supprimés " "du système. Elle peut apparaître pour tout type d'opération. Il est " "conseillé de l'inspecter en détail afin de vérifier qu'aucun paquet " -"important ne va être supprimé. L'option <literal>-f</literal> provoque " +"important ne va être supprimé. L'option <literal>-f</literal> provoque " "notamment souvent des suppressions de paquets et il est déconseillé d'être " "particulièrement attentif dans ce genre de cas. La liste peut comporter des " "paquets qui seront supprimés parce qu'ils sont seulement partiellement " @@ -11906,7 +11907,7 @@ msgid "" "The following NEW packages will installed:\n" " zlib1g xlib6g perl-base libgdbmg1 quake-lib gmp2 pgp-i python-base\n" msgstr "" -"Les NOUVEAUX paquets suivants seront installés :\n" +"Les NOUVEAUX paquets suivants seront installés :\n" " zlib1g xlib6g perl-base libgdbmg1 quake-lib gmp2 pgp-i python-base\n" #. type: Content of: <book><chapter><section><section><para> @@ -11933,7 +11934,7 @@ msgid "" " compface man-db tetex-base msql libpaper svgalib1\n" " gs snmp arena lynx xpat2 groff xscreensaver\n" msgstr "" -"Les paquets suivants ont été conservés :\n" +"Les paquets suivants ont été conservés :\n" " compface man-db tetex-base msql libpaper svgalib1\n" " gs snmp arena lynx xpat2 groff xscreensaver\n" @@ -11967,7 +11968,7 @@ msgid "" "The following held packages will be changed:\n" " cvs\n" msgstr "" -"Les paquets retenus suivants seront changés :\n" +"Les paquets retenus suivants seront changés :\n" " cvs\n" #. type: Content of: <book><chapter><section><section><para> @@ -12004,7 +12005,7 @@ msgid "" msgstr "" "206 paquets mis à jour, 8 nouvellement installés, 23 à enlever et 51 non mis à jour.\n" "12 paquets partiellement installés ou enlevés.\n" -"Il est nécessaire de prendre 65,7Mo/66,7Mo dans les archives. Après cette opération, 26,5Mo d'espace disque supplémentaires seront utilisés.\n" +"Il est nécessaire de prendre 65,7 Mo/66,7 Mo dans les archives. Après cette opération, 26,5 Mo d'espace disque supplémentaires seront utilisés.\n" #. type: Content of: <book><chapter><section><section><para> #: guide.dbk @@ -12074,11 +12075,11 @@ msgid "" "11% [5 testing/non-free `Waiting for file' 0/32.1k 0%] 2203b/s 1m52s\n" msgstr "" "# apt-get update\n" -"Réception de :1 http://ftp.de.debian.org/debian-non-US/ stable/non-US/ Packages\n" -"Réception de :2 http://llug.sep.bnl.gov/debian/ testing/contrib Packages\n" +"Réception de :1 http://ftp.de.debian.org/debian-non-US/ stable/non-US/ Packages\n" +"Réception de :2 http://llug.sep.bnl.gov/debian/ testing/contrib Packages\n" "Atteint http://llug.sep.bnl.gov/debian/ testing/main Packages\n" -"Réception de :4 http://ftp.de.debian.org/debian-non-US/ unstable/binary-i386/ Packages\n" -"Réception de :5 http://llug.sep.bnl.gov/debian/ testing/non-free Packages\n" +"Réception de :4 http://ftp.de.debian.org/debian-non-US/ unstable/binary-i386/ Packages\n" +"Réception de :5 http://llug.sep.bnl.gov/debian/ testing/non-free Packages\n" "11% [5 testing/non-free `Attente du fichier' 0/32.1k 0%] 2203b/s 1m52s\n" #. type: Content of: <book><chapter><section><para> @@ -12143,12 +12144,12 @@ msgstr "" "puis <emphasis>Téléchargement</emphasis> ou <emphasis>Reprise</emphasis>. La " "valeur finale est le nombre d'octets téléchargés depuis le site distant. Une " "fois le téléchargement commencé, cette indication prend la forme " -"<literal>102/10,2ko</literal>, ce qui indique que 102 octets ont été " -"téléchargés et que 10,2 kilo-octets sont attendus. La taille totale est " -"toujours représentées sur 4 digits pour des raisons de place disponible. " +"<literal>102/10,2ko</literal>, ce qui indique que 102 octets ont été " +"téléchargés et que 10,2 kilo-octets sont attendus. La taille totale est " +"toujours représentées sur 4 digits pour des raisons de place disponible. " "Après cet affichage de taille, se trouve une barre de progression pour le " "téléchargement du fichier lui-même. L'élément suivant est la vitesse " -"instantanée de téléchargement. Elle est mise à jour toutes les 5 secondes et " +"instantanée de téléchargement. Elle est mise à jour toutes les 5 secondes et " "représente la vitesse de transfert pour cette période. Enfin, est affiché la " "temps de téléchargement restant estimé. Cette information est mise " "régulièrement à jour et représete la durée estimée de téléchargement de " @@ -13001,13 +13002,6 @@ msgstr "Cette commande utilisera les fichiers récupérés sur le disque." #~ msgid "The option <literal>APT::Color</literal> is enabled." #~ msgstr "L'option <literal>APT::Color</literal> est activée." -#~ msgid "" -#~ "A new <literal>list</literal> command is available similar to " -#~ "<literal>dpkg --list</literal>." -#~ msgstr "" -#~ "Une nouvelle commande <literal>list</literal> est disponible, semblable à " -#~ "la commande <literal>dpkg --list</literal>." - #~ msgid "" #~ "The option <literal>upgrade</literal> has <literal>--with-new-pkgs</" #~ "literal> enabled by default." diff --git a/doc/po/it.po b/doc/po/it.po index dfd5904360c3301b0c098e6ffb84bfd3878c0c7c..79a2654754bfa2514e5e27a1072b99b2cb6d51da 100644 --- a/doc/po/it.po +++ b/doc/po/it.po @@ -10,7 +10,7 @@ msgid "" msgstr "" "Project-Id-Version: apt-doc 1.0.5\n" "Report-Msgid-Bugs-To: APT Development Team <deity@lists.debian.org>\n" -"POT-Creation-Date: 2018-12-18 15:02+0100\n" +"POT-Creation-Date: 2019-02-04 15:34+0100\n" "PO-Revision-Date: 2017-03-27 19:05+0200\n" "Last-Translator: Beatrice Torracca <beatricet@libero.it>\n" "Language-Team: Italian <debian-l10n-italian@lists.debian.org>\n" @@ -1218,6 +1218,19 @@ msgstr "" "quello che si desidera, ancorare l'espressione regolare con un carattere «^» " "o «$», oppure creare un'espressione regolare più specifica." +#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> +#: apt-get.8.xml +#, fuzzy +#| msgid "" +#| "A new <literal>list</literal> command is available similar to " +#| "<literal>dpkg --list</literal>." +msgid "" +"<literal>reinstall</literal> is an alias for <literal>install --reinstall</" +"literal>." +msgstr "" +"È disponibile un nuovo comando <literal>list</literal> simile a " +"<literal>dpkg --list</literal>." + #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> #: apt-get.8.xml msgid "" @@ -1621,7 +1634,7 @@ msgstr "" msgid "" "Automatic yes to prompts; assume \"yes\" as answer to all prompts and run " "non-interactively. If an undesirable situation, such as changing a held " -"package, trying to install a unauthenticated package or removing an " +"package, trying to install an unauthenticated package or removing an " "essential package occurs then <literal>apt-get</literal> will abort. " "Configuration Item: <literal>APT::Get::Assume-Yes</literal>." msgstr "" @@ -1719,7 +1732,7 @@ msgstr "" #: apt-get.8.xml msgid "" "Allow installing new packages when used in conjunction with " -"<literal>upgrade</literal>. This is useful if the update of a installed " +"<literal>upgrade</literal>. This is useful if the update of an installed " "package requires new dependencies to be installed. Instead of holding the " "package back <literal>upgrade</literal> will upgrade the package and install " "the new dependencies. Note that <literal>upgrade</literal> with this option " @@ -3092,6 +3105,25 @@ msgstr "" "installato manualmente, il che impedisce che un pacchetto venga rimosso " "automaticamente se nessun altro dipende da esso." +#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> +#: apt-mark.8.xml +#, fuzzy +#| msgid "" +#| "<literal>auto</literal> is used to mark a package as being automatically " +#| "installed, which will cause the package to be removed when no more " +#| "manually installed packages depend on this package." +msgid "" +"<literal>minimize-manual</literal> is used to mark (transitive) dependencies " +"of metapackages as automatically installed. This can be used after an " +"installation for example, to minimize the number of manually installed " +"packages; or continuously on systems managed by system configuration " +"metapackages." +msgstr "" +"<literal>auto</literal> viene usato per contrassegnare un pacchetto come " +"installato automaticamente, il che fa sì che il pacchetto venga rimosso " +"quando non c'è più alcun pacchetto installato manualmente che dipende da " +"esso." + #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> #: apt-mark.8.xml msgid "" @@ -10103,7 +10135,7 @@ msgid "" "from polluting its cache with (big) .deb files." msgstr "" "Sono fornite tre impostazioni per il controllo della cache in proxy con " -"cache conformi a HTTP/1.1. <literal>No-Cache</literal> indica al proxy di " +"cache conformi an HTTP/1.1. <literal>No-Cache</literal> indica al proxy di " "non usare la sua risposta in cache in nessuna circostanza. <literal>Max-Age</" "literal> imposta l'età massima consentita (in secondi) di un file indice " "nella cache del proxy. <literal>No-Store</literal> specifica che il proxy " @@ -11156,7 +11188,7 @@ msgstr "" #: guide.dbk msgid "" "The <emphasis>Sources</emphasis> setup starts by asking for the base of the " -"Debian archive, defaulting to a HTTP mirror. Next it asks for the " +"Debian archive, defaulting to an HTTP mirror. Next it asks for the " "distribution to get." msgstr "" "La configurazione delle <emphasis>fonti</emphasis> inizia chiedendo la base " @@ -12714,13 +12746,6 @@ msgstr "che userà gli archivi già scaricati e presenti sul disco." #~ msgid "The option <literal>APT::Color</literal> is enabled." #~ msgstr "L'opzione <literal>APT::Color</literal> è abilitata." -#~ msgid "" -#~ "A new <literal>list</literal> command is available similar to " -#~ "<literal>dpkg --list</literal>." -#~ msgstr "" -#~ "È disponibile un nuovo comando <literal>list</literal> simile a " -#~ "<literal>dpkg --list</literal>." - #~ msgid "" #~ "The option <literal>upgrade</literal> has <literal>--with-new-pkgs</" #~ "literal> enabled by default." diff --git a/doc/po/ja.po b/doc/po/ja.po index f60ec2f159335455414e3189ac0685539ddc3c20..b83f9d99ca9ad15815b0c8ad5f6b37c8836960eb 100644 --- a/doc/po/ja.po +++ b/doc/po/ja.po @@ -10,7 +10,7 @@ msgid "" msgstr "" "Project-Id-Version: apt-doc 1.4\n" "Report-Msgid-Bugs-To: APT Development Team <deity@lists.debian.org>\n" -"POT-Creation-Date: 2018-12-18 15:02+0100\n" +"POT-Creation-Date: 2019-02-04 15:34+0100\n" "PO-Revision-Date: 2017-01-06 04:50+0900\n" "Last-Translator: Takuma Yamada <tyamada@takumayamada.com>\n" "Language-Team: Japanese <debian-japanese@lists.debian.org>\n" @@ -1193,6 +1193,15 @@ msgstr "" "ã¯ã€'how-lo' ã‚„ 'lowest' ã«ãƒžãƒƒãƒã™ã‚‹ã“ã¨ã«æ³¨æ„ã—ã¦ãã ã•ã„。ãã†ã—ãŸããªã‘れ" "ã°ã€'^' ã‚„ '$' を付ã‘ã‚‹ã‹ã€ã‚‚ã£ã¨è©³ã—ã„æ£è¦è¡¨ç¾ã‚’指定ã—ã¦ãã ã•ã„。" +#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> +#: apt-get.8.xml +#, fuzzy +#| msgid "the <literal>Archive:</literal> or <literal>Suite:</literal> line" +msgid "" +"<literal>reinstall</literal> is an alias for <literal>install --reinstall</" +"literal>." +msgstr "<literal>Archive:</literal> 行や <literal>Suite:</literal> 行" + #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> #: apt-get.8.xml msgid "" @@ -1575,7 +1584,7 @@ msgstr "" msgid "" "Automatic yes to prompts; assume \"yes\" as answer to all prompts and run " "non-interactively. If an undesirable situation, such as changing a held " -"package, trying to install a unauthenticated package or removing an " +"package, trying to install an unauthenticated package or removing an " "essential package occurs then <literal>apt-get</literal> will abort. " "Configuration Item: <literal>APT::Get::Assume-Yes</literal>." msgstr "" @@ -1668,7 +1677,7 @@ msgstr "" #: apt-get.8.xml msgid "" "Allow installing new packages when used in conjunction with " -"<literal>upgrade</literal>. This is useful if the update of a installed " +"<literal>upgrade</literal>. This is useful if the update of an installed " "package requires new dependencies to be installed. Instead of holding the " "package back <literal>upgrade</literal> will upgrade the package and install " "the new dependencies. Note that <literal>upgrade</literal> with this option " @@ -2991,6 +3000,24 @@ msgstr "" "ã™ã€‚ã“ã®ãƒ‘ッケージã«ä¾å˜ã™ã‚‹ã»ã‹ã®ãƒ‘ッケージãŒãªããªã£ã¦ã‚‚ã€ã“ã®ãƒ‘ッケージを" "自動的ã«å‰Šé™¤ã™ã‚‹ã®ã‚’防ãŽã¾ã™ã€‚" +#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> +#: apt-mark.8.xml +#, fuzzy +#| msgid "" +#| "<literal>auto</literal> is used to mark a package as being automatically " +#| "installed, which will cause the package to be removed when no more " +#| "manually installed packages depend on this package." +msgid "" +"<literal>minimize-manual</literal> is used to mark (transitive) dependencies " +"of metapackages as automatically installed. This can be used after an " +"installation for example, to minimize the number of manually installed " +"packages; or continuously on systems managed by system configuration " +"metapackages." +msgstr "" +"<literal>auto</literal> ã¯ã€ãƒ‘ッケージを自動インストール済ã¿ã¨ãƒžãƒ¼ã‚¯ã—ã¾ã™ã€‚" +"ã“ã®ãƒ‘ッケージã«ä¾å˜ã™ã‚‹æ‰‹å‹•ã§ã‚¤ãƒ³ã‚¹ãƒˆãƒ¼ãƒ«ã•れãŸãƒ‘ッケージãŒãªããªã‚‹ã¨ã€ã“ã®" +"パッケージを削除ã—ã¾ã™ã€‚" + #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> #: apt-mark.8.xml msgid "" @@ -10755,7 +10782,7 @@ msgstr "" #: guide.dbk msgid "" "The <emphasis>Sources</emphasis> setup starts by asking for the base of the " -"Debian archive, defaulting to a HTTP mirror. Next it asks for the " +"Debian archive, defaulting to an HTTP mirror. Next it asks for the " "distribution to get." msgstr "" "<emphasis>ソース</emphasis>ã®æº–å‚™ã¯åŸºç¤Žã¨ãªã‚‹ Debian アーカイブã®è³ªå•ã‹ã‚‰å§‹ã¾" diff --git a/doc/po/nl.po b/doc/po/nl.po index 785107eb6c13704ebfb3d19da04007532fc951c1..5a7bf81b8263e815ddda3123065eadc85e700644 100644 --- a/doc/po/nl.po +++ b/doc/po/nl.po @@ -1,13 +1,13 @@ # Translation of apt-doc to Dutch # This file is distributed under the same license as the apt-doc package. -# Frans Spiesschaert <Frans.Spiesschaert@yucom.be>, 2015, 2016, 2017, 2018. +# Frans Spiesschaert <Frans.Spiesschaert@yucom.be>, 2015, 2016, 2017, 2018, 2019. # msgid "" msgstr "" -"Project-Id-Version: apt-doc 1.7.0\n" +"Project-Id-Version: apt-doc 1.8.0~rc3\n" "Report-Msgid-Bugs-To: APT Development Team <deity@lists.debian.org>\n" -"POT-Creation-Date: 2018-12-18 15:02+0100\n" -"PO-Revision-Date: 2018-10-09 20:51+0200\n" +"POT-Creation-Date: 2019-03-08 09:41+0100\n" +"PO-Revision-Date: 2019-02-16 20:46+0100\n" "Last-Translator: Frans Spiesschaert <Frans.Spiesschaert@yucom.be>\n" "Language-Team: Debian Dutch l10n Team <debian-l10n-dutch@lists.debian.org>\n" "Language: nl\n" @@ -1239,6 +1239,15 @@ msgstr "" "Indien dit niet wenselijk is, veranker de reguliere expressie dan met behulp " "van het teken '^' of '$' of maak de reguliere expressie specifieker." +#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> +#: apt-get.8.xml +msgid "" +"<literal>reinstall</literal> is an alias for <literal>install --reinstall</" +"literal>." +msgstr "" +"<literal>reinstall</literal> is een alias voor <literal>install --reinstall</" +"literal>." + #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> #: apt-get.8.xml msgid "" @@ -1291,6 +1300,8 @@ msgid "" "The arguments are interpreted as binary and source package names. See the " "<option>--only-source</option> option if you want to change that." msgstr "" +"De argumenten worden beschouwd als namen van binaire en broncodepakketen. " +"Zie de optie <option>--only-source</option> indien u dit wenst te wijzigen." #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> #: apt-get.8.xml @@ -1373,6 +1384,8 @@ msgid "" "The arguments are interpreted as binary or source package names. See the " "<option>--only-source</option> option if you want to change that." msgstr "" +"De argumenten worden beschouwd als namen van binaire en broncodepakketen. " +"Zie de optie <option>--only-source</option> indien u dit wenst te wijzigen." #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> #: apt-get.8.xml @@ -1647,7 +1660,7 @@ msgstr "" msgid "" "Automatic yes to prompts; assume \"yes\" as answer to all prompts and run " "non-interactively. If an undesirable situation, such as changing a held " -"package, trying to install a unauthenticated package or removing an " +"package, trying to install an unauthenticated package or removing an " "essential package occurs then <literal>apt-get</literal> will abort. " "Configuration Item: <literal>APT::Get::Assume-Yes</literal>." msgstr "" @@ -1748,7 +1761,7 @@ msgstr "" #: apt-get.8.xml msgid "" "Allow installing new packages when used in conjunction with " -"<literal>upgrade</literal>. This is useful if the update of a installed " +"<literal>upgrade</literal>. This is useful if the update of an installed " "package requires new dependencies to be installed. Instead of holding the " "package back <literal>upgrade</literal> will upgrade the package and install " "the new dependencies. Note that <literal>upgrade</literal> with this option " @@ -3151,6 +3164,21 @@ msgstr "" "geïnstalleerd te markeren. Dit zal voorkomen dat het pakket automatisch " "wordt verwijderd als geen andere pakketten ervan afhankelijk zijn." +#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> +#: apt-mark.8.xml +msgid "" +"<literal>minimize-manual</literal> is used to mark (transitive) dependencies " +"of metapackages as automatically installed. This can be used after an " +"installation for example, to minimize the number of manually installed " +"packages; or continuously on systems managed by system configuration " +"metapackages." +msgstr "" +"<literal>minimize-manual</literal> wordt gebruikt om (transitief) vereisten " +"van metapakketten als automatisch geïnstalleerd te markeren. Dit kan na een " +"installatie gebruikt worden om bijvoorbeeld het aantal handmatig " +"geïnstalleerde pakketten te verminderen, of permanent op systemen die " +"beheerd worden met systeemconfiguratiemetapakketten." + #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> #: apt-mark.8.xml msgid "" @@ -5633,6 +5661,10 @@ msgid "" "used when running dpkg. It may be set to any valid value of that environment " "variable; or the empty string, in which case the variable is not changed." msgstr "" +"Dit is een tekenreeks die de omgevingsvariabele <envar>PATH</envar> " +"definieert wanneer dpkg uitgevoerd wordt. Deze kan op elke geldige waarde " +"van die omgevingsvariabele ingesteld worden, of op een lege tekenreeks en in " +"dat geval wordt de variabele niet veranderd." #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> #: apt.conf.5.xml @@ -8191,20 +8223,6 @@ msgstr "" #. type: Content of: <refentry><refsect1><para><itemizedlist><listitem><para> #: sources.list.5.xml -#, fuzzy -#| msgid "" -#| "<option>Signed-By</option> (<option>signed-by</option>) is either an " -#| "absolute path to a keyring file (has to be accessible and readable for " -#| "the <literal>_apt</literal> user, so ensure everyone has read-permissions " -#| "on the file) or one or more fingerprints of keys either in the " -#| "<filename>trusted.gpg</filename> keyring or in the keyrings in the " -#| "<filename>trusted.gpg.d/</filename> directory (see <command>apt-key " -#| "fingerprint</command>). If the option is set, only the key(s) in this " -#| "keyring or only the keys with these fingerprints are used for the &apt-" -#| "secure; verification of this repository. Defaults to the value of the " -#| "option with the same name if set in the previously acquired " -#| "<filename>Release</filename> file. Otherwise all keys in the trusted " -#| "keyrings are considered valid signers for this repository." msgid "" "<option>Signed-By</option> (<option>signed-by</option>) is an option to " "require a repository to pass &apt-secure; verification with a certain set of " @@ -8224,19 +8242,28 @@ msgid "" "(only fingerprints can be specified there through). Otherwise all keys in " "the trusted keyrings are considered valid signers for this repository." msgstr "" -"<option>Signed-By</option> (<option>signed-by</option>) is ofwel een " -"absoluut pad naar een sleutelbosbestand (moet toegankelijk zijn voor en te " -"lezen door gebruiker <literal>_apt</literal>; zorg er dus voor dat iedereen " -"leesrechten heeft voor het bestand), ofwel een of meer vingerafdrukken van " -"sleutels uit de sleutelbos <filename>trusted.gpg</filename> of uit de " -"sleutelbossen in de map <filename>trusted.gpg.d/</filename> (zie " -"<command>apt-key fingerprint</command>). Indien de optie ingesteld werd, " -"worden enkel de sleutel(s) uit die sleutelbos of enkel de sleutels met deze " -"vingerafdrukken gebruikt voor de verificatie van die pakketbron door &apt-" -"secure;. Heeft standaard de waarde van de optie met dezelfde naam indien die " -"ingesteld staat in het vooraf opgehaalde bestand <filename>Release</" -"filename>. Anders worden alle sleutels uit de betrouwbare sleutelbossen als " -"geldige ondertekenaars van deze pakketbron aanzien." +"<option>Signed-By</option> (<option>signed-by</option>) is een optie die van " +"een pakketbron vereist dat de verificatie door &apt-secure; gebeurt aan de " +"hand van een bepaalde set sleutels in plaats van aan de hand van alle " +"betrouwbare sleutels die in de configuratie van apt staan. Deze optie wordt " +"opgegeven als een lijst van absolute paden naar sleutelbosbestanden (moeten " +"toegankelijk zijn voor en te lezen door de systeemgebruiker <literal>_apt</" +"literal>; zorg er dus voor dat iedereen leesrechten heeft op het bestand) en " +"naar de vingerafdrukken van uit die sleutelbossen te selecteren sleutels. " +"Indien geen sleutelbosbestanden opgegeven werden, geldt als standaard de " +"sleutelbos <filename>trusted.gpg</filename> en alle sleutelbossen uit de map " +"<filename>trusted.gpg.d/</filename> (zie <command>apt-key fingerprint</" +"command>). Indien geen vingerafdruk opgegeven werd, worden alle sleutels uit " +"de sleutelbossen geselecteerd. Een vingerafdruk aanvaardt ook alle " +"handtekeningen die met een subsleutel van deze sleutel gemaakt werden. " +"Indien dit niet het gewenste gedrag is, kan aan de vingerafdruk een " +"uitroepteken (<literal>!</literal>) toegevoegd worden waardoor dit gedrag " +"uitgezet wordt. Standaard krijgt de optie de waarde van de optie met " +"dezelfde naam wanneer die ingesteld staat in het vooraf uit deze pakketbron " +"opgehaald bestand <filename>Release</filename> (door middel hiervan kunnen " +"enkel vingerafdrukken opgegeven worden). Anders worden alle sleutels uit de " +"betrouwbare sleutelbossen als geldige ondertekenaars van deze pakketbron " +"aanzien." #. type: Content of: <refentry><refsect1><para><itemizedlist><listitem><para> #: sources.list.5.xml @@ -10018,19 +10045,15 @@ msgstr "" #. type: Content of: <refentry><refsect1><para> #: apt_auth.conf.5.xml -#, fuzzy -#| msgid "" -#| "The APT auth.conf file <filename>/etc/apt/auth.conf</filename> can be " -#| "used to store login information in a netrc-like format with restrictive " -#| "file permissions." msgid "" "The APT auth.conf file <filename>/etc/apt/auth.conf</filename>, and .conf " "files inside <filename>/etc/apt/auth.conf.d</filename> can be used to store " "login information in a netrc-like format with restrictive file permissions." msgstr "" -"Het bestand auth.conf van APT, <filename>/etc/apt/auth.conf</filename>, met " -"restrictieve bestandspermissies, kan gebruikt worden om er login-informatie " -"in op te slaan in een netrc-achtige indeling." +"Het bestand auth.conf van APT, <filename>/etc/apt/auth.conf</filename>, en ." +"conf-bestanden in de map <filename>/etc/apt/auth.conf.d</filename> kunnen " +"gebruikt worden om er login-informatie in op te slaan in een netrc-achtige " +"indeling met restrictieve bestandspermissies." #. type: Content of: <refentry><refsect1><title> #: apt_auth.conf.5.xml @@ -10241,23 +10264,17 @@ msgstr "" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> #: apt_auth.conf.5.xml -#, fuzzy -#| msgid "<filename>/etc/apt/auth.conf</filename>" msgid "<filename>/etc/apt/auth.conf.d/*.conf</filename>" -msgstr "<filename>/etc/apt/auth.conf</filename>" +msgstr "<filename>/etc/apt/auth.conf.d/*.conf</filename>" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> #: apt_auth.conf.5.xml -#, fuzzy -#| msgid "" -#| "Login information for APT sources and proxies in a netrc-like format. " -#| "Configuration Item: <literal>Dir::Etc::netrc</literal>." msgid "" "Login information for APT sources and proxies in a netrc-like format. " "Configuration Item: <literal>Dir::Etc::netrcparts</literal>." msgstr "" -"Inloginformatie voor APT-bronnen en -proxy's in a netrc-achtige indeling. " -"Configuratie-item: <literal>Dir::Etc::netrc</literal>." +"Inloginformatie voor APT-bronnen en -proxy's in een netrc-achtige indeling. " +"Configuratie-item: <literal>Dir::Etc::netrcparts</literal>." #. type: Content of: <refentry><refsect1><para> #: apt_auth.conf.5.xml @@ -11642,7 +11659,7 @@ msgstr "" #: guide.dbk msgid "" "The <emphasis>Sources</emphasis> setup starts by asking for the base of the " -"Debian archive, defaulting to a HTTP mirror. Next it asks for the " +"Debian archive, defaulting to an HTTP mirror. Next it asks for the " "distribution to get." msgstr "" "Het instellen van de <emphasis>Sources</emphasis> (pakketbronnen) begint met " @@ -13231,13 +13248,6 @@ msgstr "" #~ msgid "The option <literal>APT::Color</literal> is enabled." #~ msgstr "De optie <literal>APT::Color</literal> is geactiveerd." -#~ msgid "" -#~ "A new <literal>list</literal> command is available similar to " -#~ "<literal>dpkg --list</literal>." -#~ msgstr "" -#~ "Een nieuw commando <literal>list</literal> staat ter beschikking, " -#~ "vergelijkbaar met <literal>dpkg --list</literal>." - #~ msgid "" #~ "The option <literal>upgrade</literal> has <literal>--with-new-pkgs</" #~ "literal> enabled by default." diff --git a/doc/po/pl.po b/doc/po/pl.po index 2d05a84fe581de349587d3d6bfaa8388975582ce..3b9fe65cb2cdb93193d38cadaad9cc15d343eda0 100644 --- a/doc/po/pl.po +++ b/doc/po/pl.po @@ -11,7 +11,7 @@ msgid "" msgstr "" "Project-Id-Version: apt-doc 1.0.5\n" "Report-Msgid-Bugs-To: APT Development Team <deity@lists.debian.org>\n" -"POT-Creation-Date: 2018-12-18 15:02+0100\n" +"POT-Creation-Date: 2019-02-04 15:34+0100\n" "PO-Revision-Date: 2014-07-04 02:13+0200\n" "Last-Translator: Robert Luberda <robert@debian.org>\n" "Language-Team: Polish <manpages-pl-list@lists.sourceforge.net>\n" @@ -1183,6 +1183,15 @@ msgstr "" "poczÄ…tek lub koniec dopasowania wyrażenia regularnego, używajÄ…c znaków \"^| " "lub \"$\", można też stworzyć bardziej specyficzne wyrażenie regularne." +#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> +#: apt-get.8.xml +#, fuzzy +#| msgid "the <literal>Archive:</literal> or <literal>Suite:</literal> line" +msgid "" +"<literal>reinstall</literal> is an alias for <literal>install --reinstall</" +"literal>." +msgstr "linia <literal>Archive:</literal> lub <literal>Suite:</literal>" + # #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> #: apt-get.8.xml @@ -1611,7 +1620,7 @@ msgstr "" msgid "" "Automatic yes to prompts; assume \"yes\" as answer to all prompts and run " "non-interactively. If an undesirable situation, such as changing a held " -"package, trying to install a unauthenticated package or removing an " +"package, trying to install an unauthenticated package or removing an " "essential package occurs then <literal>apt-get</literal> will abort. " "Configuration Item: <literal>APT::Get::Assume-Yes</literal>." msgstr "" @@ -1736,7 +1745,7 @@ msgstr "" #: apt-get.8.xml msgid "" "Allow installing new packages when used in conjunction with " -"<literal>upgrade</literal>. This is useful if the update of a installed " +"<literal>upgrade</literal>. This is useful if the update of an installed " "package requires new dependencies to be installed. Instead of holding the " "package back <literal>upgrade</literal> will upgrade the package and install " "the new dependencies. Note that <literal>upgrade</literal> with this option " @@ -3146,6 +3155,24 @@ msgstr "" "zainstalowanego rÄ™cznie, co go uchroni przed automatycznym usuniÄ™ciem, w " "sytuacji gdy żaden inny pakiet nie bÄ™dzie od niego zależaÅ‚." +#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> +#: apt-mark.8.xml +#, fuzzy +#| msgid "" +#| "<literal>auto</literal> is used to mark a package as being automatically " +#| "installed, which will cause the package to be removed when no more " +#| "manually installed packages depend on this package." +msgid "" +"<literal>minimize-manual</literal> is used to mark (transitive) dependencies " +"of metapackages as automatically installed. This can be used after an " +"installation for example, to minimize the number of manually installed " +"packages; or continuously on systems managed by system configuration " +"metapackages." +msgstr "" +"<literal>auto</literal> jest używane do zaznaczania pakietu jako " +"zainstalowanego automatycznie, co spowoduje jego usuniÄ™cie, w sytuacji gdy " +"żaden inny rÄ™cznie zainstalowany pakiet nie bÄ™dzie od niego zależaÅ‚." + #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> #: apt-mark.8.xml msgid "" @@ -10142,7 +10169,7 @@ msgstr "" #: guide.dbk msgid "" "The <emphasis>Sources</emphasis> setup starts by asking for the base of the " -"Debian archive, defaulting to a HTTP mirror. Next it asks for the " +"Debian archive, defaulting to an HTTP mirror. Next it asks for the " "distribution to get." msgstr "" "Ustawianie źródeÅ‚ zaczyna siÄ™ od pytania o bazowÄ… lokalizacjÄ™ Debiana. " diff --git a/doc/po/pt.po b/doc/po/pt.po index 4e29015a9d80d57862d6e544360572bf1738a50d..66622ea6b6f33ef30962edc41de672ef9914ac52 100644 --- a/doc/po/pt.po +++ b/doc/po/pt.po @@ -1,21 +1,21 @@ -# Translation of apt manpages to Portuguese +# Translation of apt manpages to European Portuguese # Copyright (C) 2009 Free Software Foundation, Inc. # This file is distributed under the same license as the apt package. # -# Américo Monteiro <a_monteiro@gmx.com>, 2009 - 2014. +# Américo Monteiro <a_monteiro@gmx.com>, 2014 - 2017, 2019. msgid "" msgstr "" -"Project-Id-Version: apt-doc 1.0.7\n" +"Project-Id-Version: apt 1.8.0\n" "Report-Msgid-Bugs-To: APT Development Team <deity@lists.debian.org>\n" -"POT-Creation-Date: 2018-12-18 15:02+0100\n" -"PO-Revision-Date: 2014-08-29 00:34+0100\n" +"POT-Creation-Date: 2019-05-21 14:35+0200\n" +"PO-Revision-Date: 2019-04-07 22:02+0000\n" "Last-Translator: Américo Monteiro <a_monteiro@gmx.com>\n" -"Language-Team: Portuguese <traduz@debianpt.org>\n" +"Language-Team: Portuguese <>\n" "Language: pt\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Generator: Lokalize 1.4\n" +"X-Generator: Lokalize 2.0\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #. type: Plain text @@ -698,6 +698,11 @@ msgid "" "enables some options better suited for interactive usage by default compared " "to more specialized APT tools like &apt-get; and &apt-cache;." msgstr "" +"O <command>apt</command> disponibiliza uma interface de linha de comandos de " +"alto nÃvel para o sistema de gestão de pacotes. Destina-se a ser uma " +"interface para utilizador final e dispõe algumas opções mais apropriadas " +"para utilização interactiva por predefinição em comparação com ferramentas " +"especializadas do APT como o &apt-get; e o &apt-cache;." #. type: Content of: <refentry><refsect1><para> #: apt.8.xml @@ -707,11 +712,16 @@ msgid "" "partly to not duplicate information in multiple places and partly to avoid " "overwhelming readers with a cornucopia of options and details." msgstr "" +"Muito como o próprio <command>apt</command>, o seu manual destina-se a ser " +"uma interface de utilizador final e como tal apenas menciona os comandos " +"mais usados e parte das opções para não duplicar informação em múltiplos " +"locais e em parte para evitar saturar os leitores com uma cornucópia de " +"opções e detalhes." #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> #: apt.8.xml msgid "(&apt-get;)" -msgstr "(&apt-get;)" +msgstr "apt-get" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> #: apt.8.xml @@ -721,15 +731,13 @@ msgid "" "package upgrades or search in and display details about all packages " "available for installation." msgstr "" +"<option>update</option> é usado para descarregar informação de pacotes de " +"todas as fontes configuradas. Outros comandos operam com estes dados para , " +"por ex, executar actualizações de pacotes ou procurar e mostrar detalhes " +"acerta de todos os pacotes disponÃveis para instalação." #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> #: apt.8.xml -#, fuzzy -#| msgid "" -#| "<literal>upgrade</literal> is used to install the newest versions of all " -#| "packages currently installed on the system from the sources enumerated in " -#| "<filename>/etc/apt/sources.list</filename>. New packages will be " -#| "installed, but existing packages will never be removed." msgid "" "<option>upgrade</option> is used to install available upgrades of all " "packages currently installed on the system from the sources configured via " @@ -738,31 +746,28 @@ msgid "" "a package requires the removal of an installed package the upgrade for this " "package isn't performed." msgstr "" -"<literal>upgrade</literal> é usado para instalar as versões mais recentes de " -"todos os pacotes actualmente instalados no sistema a partir das fontes " -"enumeradas em <filename>/etc/apt/sources.list</filename>. Serão instalados " -"novos pacotes, mas pacotes existentes nunca serão removidos." +"<literal>upgrade</literal> é usado para instalar actualizações disponÃveis " +"de todos os pacotes actualmente instalados no sistema a partir das fontes " +"configuradas via &sources-list;. Se necessário para satisfazer dependências " +"serão instalados novos pacotes, mas pacotes existentes nunca serão " +"removidos. Se a actualização de um pacote necessitar da remoção de um pacote " +"instalado, a actualização deste pacote não será executada." #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> #: apt.8.xml -#, fuzzy -#| msgid "" -#| "<literal>full-upgrade</literal> performs the function of upgrade but may " -#| "also remove installed packages if that is required in order to resolve a " -#| "package conflict." msgid "" "<literal>full-upgrade</literal> performs the function of upgrade but will " "remove currently installed packages if this is needed to upgrade the system " "as a whole." msgstr "" -"<literal>full-upgrade</literal> executa a função de upgrade mas pode também " -"remover pacotes instalados se tal for necessário de modo a resolver um " -"conflito de pacotes." +"<literal>full-upgrade</literal> executa a função de upgrade mas irá remover " +"pacotes actualmente instalados se tal for necessário para actualizar o " +"sistema como um todo." #. type: Content of: <refentry><refsect1><para><variablelist><varlistentry><term> #: apt.8.xml apt-key.8.xml sources.list.5.xml msgid "," -msgstr "" +msgstr "," #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> #: apt.8.xml @@ -772,17 +777,13 @@ msgid "" "packages by append a plus (+) to the package name to install this package or " "a minus (-) to remove it." msgstr "" +"Executa a acção requisitada em um ou mais pacotes especificados via ®ex;, " +"&glob; ou por correspondência exacta. A acção requisitada pode ser " +"sobreposta para pacotes especÃficos ao acrescentar um mais (+) ao nome do " +"pacote para instalar esse pacote ou um menos (-) para o remover." #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> #: apt.8.xml -#, fuzzy -#| msgid "" -#| "A specific version of a package can be selected for installation by " -#| "following the package name with an equals and the version of the package " -#| "to select. This will cause that version to be located and selected for " -#| "install. Alternatively a specific distribution can be selected by " -#| "following the package name with a slash and the version of the " -#| "distribution or the Archive name (stable, testing, unstable)." msgid "" "A specific version of a package can be selected for installation by " "following the package name with an equals (=) and the version of the package " @@ -793,11 +794,13 @@ msgid "" "dependencies of this package if needed to satisfy the request." msgstr "" "Pode ser seleccionada para instalação uma versão especÃfica de um pacote ao " -"continuar o nome do pacote com um igual (=) e a versão do pacote a " -"seleccionar. Isto irá fazer com que essa versão seja localizada e " -"seleccionada para instalação. Alternativamente pode ser seleccionada uma " -"distribuição especÃfica ao continuar o nome do pacote com uma slash (/) e a " -"versão da distribuição ou o nome de Arquivo (stable, testing, unstable)." +"adicionar ao nome do pacote o sÃmbolo igual (=) e a versão do pacote a " +"seleccionar. Alternativamente a versão de um lançamento especÃfico pode ser " +"seleccionada ao adicionar ao nome do pacote uma barra de divisão (/) e o " +"nome de código (&debian-stable-codename;, &debian-testing-codename;, sid …) " +"ou o nome de suite (stable, testing, unstable). Isto irá também seleccionar " +"versões a partir deste lançamento para as dependências deste pacote se " +"necessário para satisfazer o pedido." #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> #: apt.8.xml @@ -810,14 +813,17 @@ msgid "" "on already removed packages. Note that this does not affect any data or " "configuration stored in your home directory." msgstr "" +"Remover um pacote remove todos os dados empacotados, mas deixa ficar " +"ficheiros (modificados) de configuração do utilizador geralmente pequenos, " +"para o caso da remoção ter sido um acidente. Apenas fazer um pedido de " +"instalação para o pacote removido acidentalmente irá restaurar a sua função " +"como estava anteriormente. Por outro lado você pode ver-se livre desses " +"restos ao chamar <command>purge</command> mesmo em pacotes já removidos. " +"Note que isto não afecta nenhuns dados ou configurações armazenados no seu " +"directório home pessoal." #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> #: apt.8.xml -#, fuzzy -#| msgid "" -#| "<literal>autoremove</literal> is used to remove packages that were " -#| "automatically installed to satisfy dependencies for other packages and " -#| "are now no longer needed." msgid "" "<literal>autoremove</literal> is used to remove packages that were " "automatically installed to satisfy dependencies for other packages and are " @@ -826,7 +832,8 @@ msgid "" msgstr "" "<literal>autoremove</literal> é usado para remover pacotes que foram " "instalados automaticamente para satisfazer dependências de outros pacotes e " -"que já não são necessários." +"que já não são necessários porque as dependências alteraram ou porque os " +"pacotes que precisavam delas foram entretanto removidos." #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> #: apt.8.xml @@ -837,11 +844,16 @@ msgid "" "mark;. Packages which you have installed explicitly via <command>install</" "command> are also never proposed for automatic removal." msgstr "" +"Você deve verificar que a lista não inclua aplicações de que passou a gostar " +"apesar de terem sido instaladas apenas como uma dependência de outro pacote. " +"Você pode marcar tal pacote como instalado manualmente ao usar &apt-mark;. " +"Os pacotes que você instalou explicitamente via comando <command>install</" +"command> também nunca são propostos para remoção automática." #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> #: apt.8.xml msgid "(&apt-cache;)" -msgstr "(&apt-conf;)" +msgstr "(&apt-cache;)" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> #: apt.8.xml @@ -851,6 +863,11 @@ msgid "" "useful if you are looking for packages having a specific feature. If you " "are looking for a package including a specific file try &apt-file;." msgstr "" +"<option>search</option> pode ser usado para procurar por termo(s) ®ex; " +"fornecidos na lista de pacotes disponÃveis e apresentar correspondências. " +"Isto pode, por exemplo, ser útil se procura pacotes com uma caracterÃstica " +"especÃfica. Se está à procura de um pacote que inclua um ficheiro especÃfico " +"tente o &apt-file;." #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> #: apt.8.xml @@ -861,21 +878,19 @@ msgid "" "look at this information before allowing &apt; to remove a package or while " "searching for new packages to install." msgstr "" +"Mostra informação acerca do(s) pacote(s) indicados incluindo as suas " +"dependências, tamanho de instalação e de download, fontes a partir das quais " +"o pacote está disponÃvel, a descrição do conteúdo dos pacotes e muito mais. " +"Pode, por exemplo, ser útil para ver esta informação antes de permitir ao " +"&apt; remover um pacote ou enquanto procura por novos pacotes para instalar." #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> #: apt.8.xml msgid "(work-in-progress)" -msgstr "" +msgstr "(work-in-progress)" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> #: apt.8.xml -#, fuzzy -#| msgid "" -#| "<literal>list</literal> is used to display a list of packages. It " -#| "supports shell pattern for matching package names and the following " -#| "options: <option>--installed</option>, <option>--upgradable</option>, " -#| "<option>--upgradeable</option>, <option>--all-versions</option> are " -#| "supported." msgid "" "<option>list</option> is somewhat similar to <command>dpkg-query --list</" "command> in that it can display a list of packages satisfying certain " @@ -884,38 +899,30 @@ msgid "" "(<option>--upgradeable</option>) or all available (<option>--all-versions</" "option>) versions." msgstr "" -"<literal>list</literal> é usado para mostrar uma lista de pacotes. Suporta " -"padrões da shell para corresponder aos nomes de pacotes e são suportadas as " -"seguintes opções <option>--installed</option>, <option>--upgradable</" -"option>, <option>--all-versions</option>." +"<option>list</option> é de certa maneira semelhante a <command>dpkg-query --" +"list</command> pois pode mostrar uma lista de pacotes que satisfaçam certos " +"critérios. Suporta padrões &glob; para coincidir com nomes de pacotes assim " +"como opções para listar instalados (<option>--installed</option>), " +"actualizáveis (<option>--upgradeable</option>) ou todas as versões " +"disponÃveis (<option>--all-versions</option>)." #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> #: apt.8.xml -#, fuzzy -#| msgid "" -#| "<literal>edit-sources</literal> lets you edit your sources.list file and " -#| "provides basic sanity checks." msgid "" "<literal>edit-sources</literal> lets you edit your &sources-list; files in " "your preferred texteditor while also providing basic sanity checks." msgstr "" -"<literal>edit-sources</literal> permite-lhe editar o seu ficheiro sources." -"list e disponibiliza verificações de sanidade básicas." +"<literal>edit-sources</literal> permite-lhe editar os seus ficheiros " +"&sources-list; no seu editor de texto preferido enquanto também " +"disponibiliza verificações básicas aos mesmos." #. type: Content of: <refentry><refsect1><title> #: apt.8.xml msgid "Script Usage and Differences from Other APT Tools" -msgstr "" +msgstr "Utilização de Scripts e Diferenças com Outras Ferramentas do APT" #. type: Content of: <refentry><refsect1><para> #: apt.8.xml -#, fuzzy -#| msgid "" -#| "The &apt; commandline is designed as a end-user tool and it may change " -#| "the output between versions. While it tries to not break backward " -#| "compatibility there is no guarantee for it either. All features of &apt; " -#| "are available in &apt-cache; and &apt-get; via APT options. Please prefer " -#| "using these commands in your scripts." msgid "" "The &apt; commandline is designed as an end-user tool and it may change " "behavior between versions. While it tries not to break backward " @@ -923,11 +930,9 @@ msgid "" "interactive use." msgstr "" "A linha de comandos do &apt; foi desenhada como ferramenta de utilizador " -"final e pode variar os textos mostrados entre versões. Apesar de tentar não " -"perder a compatibilidade com versões anteriores, não há garantia disso. " -"Todas as funcionalidades do &apt; estão disponÃveis em &apt-cache; e &apt-" -"get; via opções do APT. Por favor dê preferência a usar estes comandos nos " -"seus scripts." +"final e pode variar o comportamento entre versões. Apesar de tentar não " +"perder a compatibilidade com versões anteriores isto não é garantido se uma " +"alteração parecer benéfica para uso interactivo." #. type: Content of: <refentry><refsect1><para> #: apt.8.xml @@ -939,6 +944,12 @@ msgid "" "enabled) in your scripts as they keep backward compatibility as much as " "possible." msgstr "" +"Todas as funcionalidades do &apt; estão também disponÃveis em ferramentas " +"dedicadas ao APT como &apt-get; e &apt-cache;. O &apt; apenas varia o valor " +"predefinido de algumas opções (veja &apt-conf; e especialmente o âmbito " +"Binário). Portanto você deverá preferir usar estes comandos (potencialmente " +"com algumas opções adicionais activas) nos seus scripts pois eles mantêm " +"compatibilidade com versões anteriores sempre que possÃvel." #. type: Content of: <refentry><refsect1><title> #: apt.8.xml apt-get.8.xml apt-cache.8.xml apt-key.8.xml apt-mark.8.xml @@ -1198,6 +1209,15 @@ msgstr "" "lo' e 'lowest'. Se isto for indesejável, ancore a expressão regular com a " "caractere '^' ou '$', para criar uma expressão regular mais especÃfica." +#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> +#: apt-get.8.xml +msgid "" +"<literal>reinstall</literal> is an alias for <literal>install --reinstall</" +"literal>." +msgstr "" +"<literal>reinstall</literal> é um alias para <literal>install --reinstall</" +"literal>." + #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> #: apt-get.8.xml msgid "" @@ -1249,6 +1269,8 @@ msgid "" "The arguments are interpreted as binary and source package names. See the " "<option>--only-source</option> option if you want to change that." msgstr "" +"Os argumentos são interpretados como nomes de pacotes binários e de fonte. " +"Veja a opção <option>--only-source</option> se desejar alterar isso." #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> #: apt-get.8.xml @@ -1327,6 +1349,8 @@ msgid "" "The arguments are interpreted as binary or source package names. See the " "<option>--only-source</option> option if you want to change that." msgstr "" +"Os argumentos são interpretados como nomes de pacotes binários ou de fonte. " +"Veja a opção <option>--only-source</option> se desejar alterar isso." #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> #: apt-get.8.xml @@ -1361,12 +1385,12 @@ msgstr "" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> #: apt-get.8.xml msgid "(and the" -msgstr "" +msgstr "(e o" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> #: apt-get.8.xml msgid "alias since 1.1)" -msgstr "" +msgstr "alias desde 1.1)" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> #: apt-get.8.xml @@ -1400,32 +1424,17 @@ msgstr "" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> #: apt-get.8.xml -#, fuzzy -#| msgid "" -#| "<literal>changelog</literal> downloads a package changelog and displays " -#| "it through <command>sensible-pager</command>. The server name and base " -#| "directory is defined in the <literal>APT::Changelogs::Server</literal> " -#| "variable (e.g. <ulink url=\"http://packages.debian.org/changelogs" -#| "\">packages.debian.org/changelogs</ulink> for Debian or <ulink url=" -#| "\"https://changelogs.ubuntu.com/changelogs\">changelogs.ubuntu.com/" -#| "changelogs</ulink> for Ubuntu). By default it displays the changelog for " -#| "the version that is installed. However, you can specify the same options " -#| "as for the <option>install</option> command." msgid "" "<literal>changelog</literal> tries to download the changelog of a package " "and displays it through <command>sensible-pager</command>. By default it " "displays the changelog for the version that is installed. However, you can " "specify the same options as for the <option>install</option> command." msgstr "" -"<literal>changelog</literal> descarrega o registo de alterações de um pacote " -"e mostra-o através do <command>sensible-pager</command>. O nome do servidor " -"e directório base são definidos na variável <literal>APT::Changelogs::" -"Server</literal> (ex. <ulink url=\"http://packages.debian.org/changelogs" -"\">packages.debian.org/changelogs</ulink> para Debian ou <ulink url=\"http://" -"changelogs.ubuntu.com/changelogs\">changelogs.ubuntu.com/changelogs</ulink> " -"para Ubuntu). Por predefinição mostra o registo de alterações da versão que " -"está instalada. No entanto, você pode especificar as mesmas opções que são " -"para o comando <option>install</option>." +"<literal>changelog</literal> tenta descarregar o registo de alterações de um " +"pacote e mostra-o através do <command>sensible-pager</command>. Por " +"predefinição mostra o registo de alterações da versão que está instalada. No " +"entanto, você pode especificar as mesmas opções que são para o comando " +"<option>install</option>." #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> #: apt-get.8.xml @@ -1440,6 +1449,17 @@ msgid "" "documentation is omitted here and can instead be found in the file &apt-" "acquire-additional-files; shipped by the <package>apt-doc</package> package." msgstr "" +"Mostra por predefinição uma listagem em formato deb822 de informação acerca " +"de todos os ficheiros de dados (os alvos dos Ãndices) que um <command>apt-" +"get update</command> deveria descarregar. Suporta uma opção <option>--" +"format</option> para ir modificando o formato do resultado assim que vai " +"aceitando linhas do resultado predefinido para ir filtrando a informação. O " +"comando é usado principalmente como uma interface para ferramentas externas " +"que funcionam com o APT para obter informação assim como os nomes de " +"ficheiros para os ficheiros descarregados para que os possa usar também em " +"vez de os descarregar outra vez por sua conta. Não existe aqui documentação " +"detalhada e esta pode ser encontrada no ficheiro &apt-acquire-additional-" +"files; existente no pacote <package>apt-doc</package>." #. type: Content of: <refentry><refsect1><title> #: apt-get.8.xml apt-cache.8.xml apt-config.8.xml apt-extracttemplates.1.xml @@ -1519,8 +1539,8 @@ msgstr "" "retêm esses pacotes e manuseia o resultado. Usar esta opção em conjunto com " "<option>-f</option> pode produzir erros em algumas situações. Se um pacote " "for seleccionado para instalação (particularmente se for mencionado na linha " -"de comandos) e não pode ser descarregado estão será retido em silêncio. Item " -"de Configuração: <literal>APT::Get::Fix-Missing</literal>." +"de comandos) e não pode ser descarregado estão será segurado em silêncio. " +"Item de Configuração: <literal>APT::Get::Fix-Missing</literal>." #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> #: apt-get.8.xml @@ -1566,6 +1586,16 @@ msgid "" "Simulation-Note</option>). Configuration Item: <literal>APT::Get::Simulate</" "literal>." msgstr "" +"Nenhuma acção; executa uma simulação de eventos que deveriam ocorrer com " +"base no estado actual do sistema mas não muda realmente o sistema. O " +"bloqueio será desactivado (<option>Debug::NoLocking</option>) para que o " +"estado do sistema possa mudar enquanto o <command>apt-get</command> está a " +"correr. As simulações também podem ser executadas por utilizadores não-root " +"os quais podem não ter acesso de leitura a todas as configurações do apt " +"distorcendo a simulação. Também é mostrada por predefinição uma nota " +"expressando este aviso aos utilizadores não-root. (<option>APT::Get::Show-" +"User-Simulation-Note</option>). Item de Configuração: <literal>APT::Get::" +"Simulate</literal>." #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> #: apt-get.8.xml @@ -1587,13 +1617,13 @@ msgstr "" msgid "" "Automatic yes to prompts; assume \"yes\" as answer to all prompts and run " "non-interactively. If an undesirable situation, such as changing a held " -"package, trying to install a unauthenticated package or removing an " +"package, trying to install an unauthenticated package or removing an " "essential package occurs then <literal>apt-get</literal> will abort. " "Configuration Item: <literal>APT::Get::Assume-Yes</literal>." msgstr "" "Responde sim automaticamente aos avisos; assume \"yes\" como resposta a " "todos os avisos e corre não-interactivamente. Se uma situação indesejável " -"ocorrer, tal como alterar um pacote retido, tentar instalar um pacote não " +"ocorrer, tal como alterar um pacote segurado, tentar instalar um pacote não " "autenticado ou remover um pacote essencial, então o <literal>apt-get</" "literal> irá abortar. Item de Configuração: <literal>APT::Get::Assume-Yes</" "literal>." @@ -1609,17 +1639,13 @@ msgstr "" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> #: apt-get.8.xml -#, fuzzy -#| msgid "" -#| "Show upgraded packages; print out a list of all packages that are to be " -#| "upgraded. Configuration Item: <literal>APT::Get::Show-Upgraded</literal>." msgid "" "Do not show a list of all packages that are to be upgraded. Configuration " "Item: <literal>APT::Get::Show-Upgraded</literal>." msgstr "" -"Mostra pacotes actualizados; Escreve uma lista de todos os pacotes que estão " -"prestes a ser actualizados. Item de Configuração: <literal>APT::Get::Show-" -"Upgraded</literal>." +"Não mostra uma lista de todos os pacotes que estão prestes a ser " +"actualizados. Item de Configuração: <literal>APT::Get::Show-Upgraded</" +"literal>." #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> #: apt-get.8.xml @@ -1689,7 +1715,7 @@ msgstr "" #: apt-get.8.xml msgid "" "Allow installing new packages when used in conjunction with " -"<literal>upgrade</literal>. This is useful if the update of a installed " +"<literal>upgrade</literal>. This is useful if the update of an installed " "package requires new dependencies to be installed. Instead of holding the " "package back <literal>upgrade</literal> will upgrade the package and install " "the new dependencies. Note that <literal>upgrade</literal> with this option " @@ -1732,34 +1758,20 @@ msgstr "" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> #: apt-get.8.xml -#, fuzzy -#| msgid "" -#| "Force yes; this is a dangerous option that will cause apt to continue " -#| "without prompting if it is doing something potentially harmful. It should " -#| "not be used except in very special situations. Using <literal>force-yes</" -#| "literal> can potentially destroy your system! Configuration Item: " -#| "<literal>APT::Get::force-yes</literal>." msgid "" "This is a dangerous option that will cause apt to continue without prompting " "if it is doing downgrades. It should not be used except in very special " "situations. Using it can potentially destroy your system! Configuration " "Item: <literal>APT::Get::allow-downgrades</literal>. Introduced in APT 1.1." msgstr "" -"Força o sim; Esta é uma opção perigosa que irá fazer com que o apt continue " -"sem avisar quando está a fazer algo potencialmente prejudicial. Não deve ser " -"usado excepto em situações muito especiais. Usar o <literal>force-yes</" -"literal> pode destruir potencialmente o seu sistema! Item de Configuração: " -"<literal>APT::Get::force-yes</literal>." +"Esta é uma opção perigosa que irá fazer com que o apt continue sem avisar " +"quando está a instalar versões anteriores (downgrades) Não deve ser usado " +"excepto em situações muito especiais. Usá-lo pode potencialmente destruir o " +"seu sistema! Item de Configuração: <literal>APT::Get::allow-downgrades</" +"literal>. introduzido no APT 1.1." #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> #: apt-get.8.xml -#, fuzzy -#| msgid "" -#| "Force yes; this is a dangerous option that will cause apt to continue " -#| "without prompting if it is doing something potentially harmful. It should " -#| "not be used except in very special situations. Using <literal>force-yes</" -#| "literal> can potentially destroy your system! Configuration Item: " -#| "<literal>APT::Get::force-yes</literal>." msgid "" "Force yes; this is a dangerous option that will cause apt to continue " "without prompting if it is removing essentials. It should not be used except " @@ -1768,20 +1780,13 @@ msgid "" "Introduced in APT 1.1." msgstr "" "Força o sim; Esta é uma opção perigosa que irá fazer com que o apt continue " -"sem avisar quando está a fazer algo potencialmente prejudicial. Não deve ser " -"usado excepto em situações muito especiais. Usar o <literal>force-yes</" -"literal> pode destruir potencialmente o seu sistema! Item de Configuração: " -"<literal>APT::Get::force-yes</literal>." +"sem avisar quando está a remover coisas essenciais. Não deve ser usado " +"excepto em situações muito especiais. Usá-lo pode potencialmente destruir o " +"seu sistema! Item de Configuração: <literal>APT::Get::allow-remove-" +"essential</literal>. Introduzido no APT 1.1." #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> #: apt-get.8.xml -#, fuzzy -#| msgid "" -#| "Force yes; this is a dangerous option that will cause apt to continue " -#| "without prompting if it is doing something potentially harmful. It should " -#| "not be used except in very special situations. Using <literal>force-yes</" -#| "literal> can potentially destroy your system! Configuration Item: " -#| "<literal>APT::Get::force-yes</literal>." msgid "" "Force yes; this is a dangerous option that will cause apt to continue " "without prompting if it is changing held packages. It should not be used " @@ -1790,20 +1795,13 @@ msgid "" "literal>. Introduced in APT 1.1." msgstr "" "Força o sim; Esta é uma opção perigosa que irá fazer com que o apt continue " -"sem avisar quando está a fazer algo potencialmente prejudicial. Não deve ser " -"usado excepto em situações muito especiais. Usar o <literal>force-yes</" -"literal> pode destruir potencialmente o seu sistema! Item de Configuração: " -"<literal>APT::Get::force-yes</literal>." +"sem avisar se estiver a alterar pacotes segurados. Não deve ser usado " +"excepto em situações muito especiais. Usá-lo pode destruir potencialmente o " +"seu sistema! Item de Configuração: <literal>APT::Get::allow-change-held-" +"packages</literal>. Introduzido em APT 1.1." #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> #: apt-get.8.xml -#, fuzzy -#| msgid "" -#| "Force yes; this is a dangerous option that will cause apt to continue " -#| "without prompting if it is doing something potentially harmful. It should " -#| "not be used except in very special situations. Using <literal>force-yes</" -#| "literal> can potentially destroy your system! Configuration Item: " -#| "<literal>APT::Get::force-yes</literal>." msgid "" "Force yes; this is a dangerous option that will cause apt to continue " "without prompting if it is doing something potentially harmful. It should " @@ -1818,7 +1816,10 @@ msgstr "" "sem avisar quando está a fazer algo potencialmente prejudicial. Não deve ser " "usado excepto em situações muito especiais. Usar o <literal>force-yes</" "literal> pode destruir potencialmente o seu sistema! Item de Configuração: " -"<literal>APT::Get::force-yes</literal>." +"<literal>APT::Get::force-yes</literal>. Isto está descontinuado e foi " +"substituÃdo por <option>--allow-unauthenticated</option> , <option>--allow-" +"downgrades</option> , <option>--allow-remove-essential</option> , <option>--" +"allow-change-held-packages</option> em 1.1." #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> #: apt-get.8.xml @@ -1981,16 +1982,12 @@ msgstr "" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> #: apt-get.8.xml -#, fuzzy -#| msgid "" -#| "Only process architecture-dependent build-dependencies. Configuration " -#| "Item: <literal>APT::Get::Arch-Only</literal>." msgid "" "Only process architecture-independent build-dependencies. Configuration " "Item: <literal>APT::Get::Indep-Only</literal>." msgstr "" -"Apenas processa dependências de compilação dependentes da arquitectura. Item " -"de Configuração: <literal>APT::Get::Arch-Only</literal>." +"Apenas processa dependências de compilação independentes da arquitectura. " +"Item de Configuração: <literal>APT::Get::Indep-Only</literal>." #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> #: apt-get.8.xml @@ -2002,6 +1999,13 @@ msgid "" "should usually be preferred over this global override. Configuration Item: " "<literal>APT::Get::AllowUnauthenticated</literal>." msgstr "" +"Ignora se os pacotes não podem autenticados e não avisa acerca disso. Isto " +"pode ser útil enquanto se trabalha com repositórios locais, mas é um enorme " +"risco de segurança se a autenticidade dos dados não poder ser assegurada de " +"outro modo pelo próprio utilizador. A utilização da opção <option>Trusted</" +"option> para entradas da &sources-list; deve normalmente ser preferida em " +"vez desta sobreposição global. Item de configuração: <literal>APT::Get::" +"AllowUnauthenticated</literal>." #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> #: apt-get.8.xml @@ -2012,6 +2016,11 @@ msgid "" "concept and the implications. Configuration Item: <literal>Acquire::" "AllowInsecureRepositories</literal>." msgstr "" +"ProÃbe o comando de actualização de adquirir dados não verificáveis a partir " +"de fontes configuradas O APT irá falhar no comando de actualização para " +"repositórios sem assinaturas criptograficamente válidas. Veja também &apt-" +"secure; para detalhes no conceito e nas implicações. Item de Configuração: " +"<literal>Acquire::AllowInsecureRepositories</literal>." #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> #: apt-get.8.xml @@ -2023,6 +2032,12 @@ msgid "" "prepared for the change. See also &apt-secure; for details on the concept " "and configuration." msgstr "" +"Permite ao comando update continuar a descarregar dados de um repositório " +"que alterou a sua informação do lançamento contido no repositório indicando, " +"por exemplo, um novo lançamento superior. O APT irá falhar no comando update " +"para tal repositório até que a alteração seja confirmada para assegurar que " +"o utilizador está preparado para a alteração. Veja também &apt-secure; para " +"detalhes no conceito e configuração." #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> #: apt-get.8.xml @@ -2034,6 +2049,13 @@ msgid "" "literal> and <literal>defaultpin</literal>. See also &apt-preferences;. " "Configuration Item: <literal>Acquire::AllowReleaseInfoChange</literal>." msgstr "" +"Opções especialistas (<literal>--allow-releaseinfo-change-</" +"literal><replaceable>field</replaceable>) existem para permitir alterações " +"apenas para certos campos como <literal>origin</literal>, <literal>label</" +"literal>, <literal>codename</literal>, <literal>suite</literal>, " +"<literal>version</literal> e <literal>defaultpin</literal>. Veja também &apt-" +"preferences;. Item de Configuração: <literal>Acquire::" +"AllowReleaseInfoChange</literal>." #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> #: apt-get.8.xml @@ -2047,7 +2069,7 @@ msgstr "" "Mostra informação de progresso compreensÃvel para o utilizador na janela de " "terminal quando os pacotes são instalados, actualizados ou removidos. Para " "uma versão \"analisável por máquina\" destes dados veja o README.progress-" -"reporting no directório doc do apt. Item de Configuração: <literal>Dpkg::" +"reporting no directório doc do apt. Itens de Configuração: <literal>Dpkg::" "Progress</literal> e <literal>Dpkg::Progress-Fancy</literal>." #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> @@ -2057,6 +2079,9 @@ msgid "" "multiple files. See <option>--with-source</option> description in &apt-" "cache; for further details." msgstr "" +"Adiciona o ficheiro fornecido como uma fonte para meta-dados. Pode ser " +"repetido para adicionar vários ficheiros. Veja a descrição de <option>--with-" +"source</option> em &apt-cache; para mais detalhes." #. type: Content of: <refentry><refsect1><title> #: apt-get.8.xml apt-cache.8.xml apt-key.8.xml apt-mark.8.xml apt.conf.5.xml @@ -2091,12 +2116,6 @@ msgstr "pesquisa a cache do APT" #. type: Content of: <refentry><refsect1><para> #: apt-cache.8.xml -#, fuzzy -#| msgid "" -#| "<command>apt-cache</command> performs a variety of operations on APT's " -#| "package cache. <command>apt-cache</command> does not manipulate the state " -#| "of the system but does provide operations to search and generate " -#| "interesting output from the package metadata." msgid "" "<command>apt-cache</command> performs a variety of operations on APT's " "package cache. <command>apt-cache</command> does not manipulate the state of " @@ -2110,7 +2129,12 @@ msgstr "" "<command>apt-cache</command> executa uma variedade de operações na cache de " "pacotes do APT. <command>apt-cache</command> não manipula o estado do " "sistema mas fornece operações para procurar e gerar resultados interessantes " -"a partir dos metadados do pacote." +"a partir dos metadados do pacote. Os metadados são adquiridos e actualizados " +"via comando 'update' de, por exemplo, <command>apt-get</command>, portanto " +"podem estar desactualizados se a última actualização aconteceu à muito " +"tempo, mas em troca o <command>apt-cache</command> funciona " +"independentemente da disponibilidade das fontes configuradas (por exemplo em " +"offline)." #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> #: apt-cache.8.xml @@ -2288,13 +2312,6 @@ msgstr "" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para><itemizedlist><listitem><para> #: apt-cache.8.xml -#, fuzzy -#| msgid "" -#| "<literal>Total distinct</literal> versions is the number of package " -#| "versions found in the cache; this value is therefore at least equal to " -#| "the number of total package names. If more than one distribution is being " -#| "accessed (for instance, \"stable\" and \"unstable\"), this value can be " -#| "considerably larger than the number of total package names." msgid "" "<literal>Total distinct</literal> versions is the number of package versions " "found in the cache. If more than one distribution is being accessed (for " @@ -2302,10 +2319,9 @@ msgid "" "larger than the number of total package names." msgstr "" "<literal>Total distinct versions</literal> é o número de versões de pacotes " -"encontrados na cache; este valor é portanto pelo menos igual ao número do " -"total de nomes de pacotes. Se for acedida a mais do que uma distribuição " -"(por exemplo \"stable\" e \"unstable\"), este valor pode ser " -"consideravelmente maior que o número do total de nomes de pacotes." +"encontrados na cache. Se for acedida a mais do que uma distribuição (por " +"exemplo \"stable\" e \"unstable\"), este valor pode ser consideravelmente " +"maior que o número do total de nomes de pacotes." #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para><itemizedlist><listitem><para> #: apt-cache.8.xml @@ -2318,11 +2334,6 @@ msgstr "" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> #: apt-cache.8.xml -#, fuzzy -#| msgid "" -#| "<literal>showsrc</literal> displays all the source package records that " -#| "match the given package names. All versions are shown, as well as all " -#| "records that declare the name to be a binary package." msgid "" "<literal>showsrc</literal> displays all the source package records that " "match the given package names. All versions are shown, as well as all " @@ -2332,7 +2343,8 @@ msgstr "" "<literal>showsrc</literal> mostra todos os registos de pacotes fonte que " "correspondem aos nomes de pacotes fornecidos. Todas as versões são " "mostradas, assim como todos os registos que declaram o nome como sendo um " -"pacote binário." +"pacote binário. Use <option>--only-source</option> para mostrar apenas nomes " +"de pacotes fonte." #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> #: apt-cache.8.xml @@ -2378,16 +2390,6 @@ msgstr "&synopsis-regex;" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> #: apt-cache.8.xml -#, fuzzy -#| msgid "" -#| "<literal>search</literal> performs a full text search on all available " -#| "package lists for the POSIX regex pattern given, see ®ex;. It " -#| "searches the package names and the descriptions for an occurrence of the " -#| "regular expression and prints out the package name and the short " -#| "description, including virtual package names. If <option>--full</option> " -#| "is given then output identical to <literal>show</literal> is produced for " -#| "each matched package, and if <option>--names-only</option> is given then " -#| "the long description is not searched, only the package name is." msgid "" "<literal>search</literal> performs a full text search on all available " "package lists for the POSIX regex pattern given, see ®ex;. It searches " @@ -2405,7 +2407,8 @@ msgstr "" "nomes de pacotes virtuais. Se for fornecido <option>--full</option> então " "são produzidos resultados idênticos ao <literal>show</literal> para cada " "pacote correspondente, e se for fornecido <option>--names-only</option> " -"então não há procura na descrição longa, apenas no nome do pacote." +"então não há procura na descrição longa, apenas no nome do pacote dos " +"pacotes fornecidos." #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> #: apt-cache.8.xml @@ -2609,13 +2612,6 @@ msgstr "" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> #: apt-cache.8.xml -#, fuzzy -#| msgid "" -#| "Per default the <literal>depends</literal> and <literal>rdepends</" -#| "literal> print all dependencies. This can be tweaked with these flags " -#| "which will omit the specified dependency type. Configuration Item: " -#| "<literal>APT::Cache::Show<replaceable>DependencyType</replaceable></" -#| "literal> e.g. <literal>APT::Cache::ShowRecommends</literal>." msgid "" "Per default the <command>depends</command> and <command>rdepends</command> " "print all dependencies. This can be tweaked with these flags which will omit " @@ -2623,8 +2619,8 @@ msgid "" "Show<replaceable>DependencyType</replaceable></literal> e.g. <literal>APT::" "Cache::ShowRecommends</literal>." msgstr "" -"Por predefinição o <literal>depends</literal> e <literal>rdepends</literal> " -"escrevem todas as dependências. Isto pode ser \"afinado\" com estas " +"Por predefinição o <command>depends</command> and <command>rdepends</" +"command> escrevem todas as dependências. Isto pode ser \"afinado\" com estas " "bandeiras que irão omitir o tipo de dependência especificado. Item de " "Configuração: <literal>APT::Cache::Show<replaceable>DependencyType</" "replaceable></literal> ex. <literal>APT::Cache::ShowRecommends</literal>." @@ -2639,6 +2635,13 @@ msgid "" "package also conflicts with the package foo from any other architecture. " "Configuration Item: <literal>APT::Cache::ShowImplicit</literal>." msgstr "" +"Por predefinição <command>depends</command> e <command>rdepends</command> " +"apresentam apenas dependências expressamente explÃcitas nos meta-dados. Com " +"esta bandeira irá também mostrar dependências adicionadas implicitamente com " +"base nos dados encontrados. Um <literal>Conflicts: foo</literal> por " +"exemplo, expressa implicitamente que este pacote também entra em conflito " +"com o pacote foo de qualquer outra arquitectura. Item de Configuração: " +"<literal>APT::Cache::ShowImplicit</literal>." #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> #: apt-cache.8.xml @@ -2680,16 +2683,13 @@ msgstr "" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> #: apt-cache.8.xml -#, fuzzy -#| msgid "" -#| "Only search on the package names, not the long descriptions. " -#| "Configuration Item: <literal>APT::Cache::NamesOnly</literal>." msgid "" "Only search on the package and provided package names, not the long " "descriptions. Configuration Item: <literal>APT::Cache::NamesOnly</literal>." msgstr "" -"Apenas procura nos nomes dos pacotes, e não nas descrições longas. Item de " -"Configuração: <literal>APT::Cache::NamesOnly</literal>." +"Apenas procura no pacote e nos nomes dos pacotes fornecidos, e não nas " +"descrições longas. Item de Configuração: <literal>APT::Cache::NamesOnly</" +"literal>." #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> #: apt-cache.8.xml @@ -2733,6 +2733,12 @@ msgid "" "literal> and <literal>Packages</literal> files as well as source package " "directories. Files are matched based on their name only, not their content!" msgstr "" +"Adiciona o ficheiro fornecido como a fonte para meta-dados. Pode ser " +"repetido para adicionar múltiplos ficheiros. Presentemente são suportados " +"ficheiros <literal>*.deb</literal>, <literal>*.dsc</literal>, <literal>*." +"changes</literal>, <literal>Sources</literal> e <literal>Packages</literal> " +"assim como directórios de pacotes fonte: A correspondência dos ficheiros é " +"baseada apenas com base no seu nome, não no seu conteúdo." #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> #: apt-cache.8.xml @@ -2743,19 +2749,20 @@ msgid "" "name of your choice with the last character being an underscore " "(\"<literal>_</literal>\"). Example: my.example_Packages.xz" msgstr "" +"<literal>Sources</literal> e <literal>Packages</literal> podem ser " +"comprimidos em qualquer formato suportado pelo apt desde de contenham a " +"extensão correcta. Se você precisar de armazenar vários ficheiros destes num " +"directório pode usar um prefixo no nome à sua escolha com um underscore no " +"último caractere (\"<literal>_</literal>\"). Exemplo: meu.exemplo_Packages.xz" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> #: apt-cache.8.xml -#, fuzzy -#| msgid "" -#| "Use source index field ordering. Configuration Item: <literal>APT::" -#| "SortPkgs::Source</literal>." msgid "" "Note that these sources are treated as trusted (see &apt-secure;). " "Configuration Item: <literal>APT::Sources::With</literal>." msgstr "" -"Usa ordenação de campo de Ãndice Source. Item de Configuração: <literal>APT::" -"SortPkgs::Source</literal>." +"Note que estas fontes são tratadas como de confiança (veja &apt-secure;). " +"Item de Configuração: <literal>APT::Sources::With</literal>." #. type: Content of: <refentry><refsect1><para> #: apt-cache.8.xml @@ -2798,11 +2805,19 @@ msgid "" "whenever the underlying commands change. <command>apt-key</command> will try " "to detect such usage and generates warnings on stderr in these cases." msgstr "" +"Note que se a utilização do <command>apt-key</command> for desejada, é " +"necessária a instalação adicional da suite GNU Privacy Guard (empacotada no " +"<package>gnupg</package>). Apenas por esta razão a utilização programática é " +"fortemente desencorajada (especialmente no pacote maintainerscripts!). Mais " +"ainda o formato de saÃda de todos os comandos não está definido e pode " +"alterar (e altera mesmo) sempre que os comandos subjacentes mudam. O " +"<command>apt-key</command> irá tentar detectar tal utilização e gerar avisos " +"no stderr nestes casos." #. type: Content of: <refentry><refsect1><title> #: apt-key.8.xml msgid "Supported keyring files" -msgstr "" +msgstr "Ficheiros de chaveiro suportados" #. type: Content of: <refentry><refsect1><para> #: apt-key.8.xml @@ -2813,6 +2828,12 @@ msgid "" "keyring files. Binary keyring files intended to be used with any apt version " "should therefore always be created with <command>gpg --export</command>." msgstr "" +"O apt-key suporta apenas o formato binário OpenPGP (também conhecido como " +"\"GPG key public ring\") em ficheiros com a extensão \"<literal>gpg</literal>" +"\", não o formato de base de dados keybox introduzido em novas versões &gpg; " +"como predefinição para ficheiros de chaveiro. Os ficheiros chaveiro binários " +"que se destinam a ser usados com qualquer versão do apt devem por isto ser " +"sempre criados com <command>gpg --export</command>." #. type: Content of: <refentry><refsect1><para> #: apt-key.8.xml @@ -2822,6 +2843,11 @@ msgid "" "with the \"<literal>asc</literal>\" extension instead which can be created " "with <command>gpg --armor --export</command>." msgstr "" +"Como alternativa, se todos os sistemas que devem estar a usar o chaveiro " +"criado têm pelo menos a versão de apt >= 1.4 instalada, você pode usar o " +"formato blindado de ASCII com a extensão \"<literal>asc</literal>\" em " +"substituição o qual pode ser criado com <command>gpg --armor --export</" +"command>." #. type: Content of: <refentry><refsect1><title> #: apt-key.8.xml @@ -2846,6 +2872,10 @@ msgid "" "verified to belong to the owner of the repositories they claim to be for " "otherwise the &apt-secure; infrastructure is completely undermined." msgstr "" +"É crÃtico que as chaves adicionadas manualmente via <command>apt-key</" +"command> sejam verificadas que pertencem ao dono dos repositórios que elas " +"afirmam ser, caso contrário a infraestrutura &apt-secure; fica completamente " +"indeterminada." #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> #: apt-key.8.xml @@ -2855,6 +2885,10 @@ msgid "" "directory with a descriptive name and either \"<literal>gpg</literal>\" or " "\"<literal>asc</literal>\" as file extension." msgstr "" +"<emphasis>Note</emphasis>: Em vez de se usar este comando, deve-se colocar " +"um chaveiro directamente no directório <filename>/etc/apt/trusted.gpg.d/</" +"filename> com um nome descritivo e com \"<literal>gpg</literal>\" ou " +"\"<literal>asc</literal>\" como extensão de ficheiro." #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> #: apt-key.8.xml @@ -2873,10 +2907,8 @@ msgstr "Escreve todas as chaves de confiança na saÃda standard." #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> #: apt-key.8.xml -#, fuzzy -#| msgid "List trusted keys." msgid "List trusted keys with fingerprints." -msgstr "Lista as chaves de confiança." +msgstr "Lista as chaves de confiança com impressões digitais." #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> #: apt-key.8.xml @@ -2886,11 +2918,16 @@ msgid "" "Note that there are <emphasis>no</emphasis> checks performed, so it is easy " "to completely undermine the &apt-secure; infrastructure if used without care." msgstr "" +"Passa opções avançadas ao gpg. Com <command>adv --recv-key</command> você " +"pode por exemplo descarregar uma chave de servidores de chaves directamente " +"para o conjunto de chaves de confiança. Note que <emphasis>não</emphasis> " +"são feitas verificações, portanto é fácil enfraquecer completamente a " +"infraestrutura &apt-secure; se for usado sem cuidado." #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> #: apt-key.8.xml msgid "(deprecated)" -msgstr "" +msgstr "(descontinuado)" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> #: apt-key.8.xml @@ -2914,6 +2951,12 @@ msgid "" "<package>gnupg</package> and it is easier to manage keys by simply adding " "and removing files for maintainers and users alike." msgstr "" +"Note que uma distribuição não precisa e de facto nem deve usar mais este " +"comando e em vez disso empacotar ficheiros chaveiro no directório " +"<filename>/etc/apt/trusted.gpg.d</filename> directamente pois isto evita uma " +"dependência no <package>gnupg</package> e é mais fácil gerir as chaves ao " +"simplesmente adicionar e remover ficheiros para responsáveis e utilizadores " +"de modo semelhante." #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> #: apt-key.8.xml @@ -2973,7 +3016,7 @@ msgstr "&apt-get;, &apt-secure;" #. type: Content of: <refentry><refnamediv><refpurpose> #: apt-mark.8.xml msgid "show, set and unset various settings for a package" -msgstr "" +msgstr "mostrar, definir e apagar várias definições para um pacote" #. type: Content of: <refentry><refsect1><para> #: apt-mark.8.xml @@ -2985,22 +3028,20 @@ msgid "" "g. by <command>apt-get dselect-upgrade</command> or <command>aptitude</" "command>." msgstr "" +"<command>apt-mark</command> pode ser usado como um front-end unificado para " +"definir várias definições para um pacote, tal como marcar um pacote como " +"sendo instalado automaticamente/manualmente ou alterar selecções do " +"<command>dpkg</command> como manter, instalar, desinstalar e purgar as quais " +"são respeitadas, por exemplo, por <command>apt-get dselect-upgrade</command> " +"ou <command>aptitude</command>." #. type: Content of: <refentry><refsect1><title> #: apt-mark.8.xml msgid "Automatically and Manually Installed Packages" -msgstr "" +msgstr "Pacotes Instalados Automaticamente e Manualmente" #. type: Content of: <refentry><refsect1><para> #: apt-mark.8.xml -#, fuzzy -#| msgid "" -#| "When you request that a package is installed, and as a result other " -#| "packages are installed to satisfy its dependencies, the dependencies are " -#| "marked as being automatically installed. Once these automatically " -#| "installed packages are no longer depended on by any manually installed " -#| "packages, they will be removed by e.g. <command>apt-get</command> or " -#| "<command>aptitude</command>." msgid "" "When you request that a package is installed, and as a result other packages " "are installed to satisfy its dependencies, the dependencies are marked as " @@ -3012,10 +3053,12 @@ msgid "" msgstr "" "Quando você pede que um pacote seja instalado, e como resultado outros " "pacotes são instalados para satisfazer as suas dependências, as dependências " -"são marcadas como sendo instaladas automaticamente. Uma vez que estes " -"pacotes instalados automaticamente não sejam mais necessários por nenhum " -"pacote instalado manualmente, eles serão removidos pelo <command>apt-get</" -"command> ou <command>aptitude</command> (exemplos)." +"são marcadas como sendo instaladas automaticamente, enquanto que o pacote " +"que você instalou explicitamente é marcado como instalado manualmente. Uma " +"vez que um pacote instalado automaticamente não é mais uma dependência de " +"nenhum pacote instalado manualmente, é considerado como não sendo mais " +"necessário e por ex o <command>apt-get</command> ou o <command>aptitude</" +"command> irão sugerir removê-lo." #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> #: apt-mark.8.xml @@ -3039,6 +3082,22 @@ msgstr "" "manualmente, o que irá prevenir que o pacote seja removido automaticamente " "se nenhum outro pacote depender dele." +#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> +#: apt-mark.8.xml +msgid "" +"<literal>minimize-manual</literal> is used to mark (transitive) dependencies " +"of metapackages as automatically installed. This can be used after an " +"installation for example, to minimize the number of manually installed " +"packages; or continuously on systems managed by system configuration " +"metapackages." +msgstr "" +"<literal>minimize-manual</literal> é usado para marcar (transitivo) " +"dependências is used to mark (transitive) dependencies de meta-pacotes como " +"instalados automaticamente. Isto pode ser usado após uma instalação por " +"exemplo, para minimizar o número de pacotes instalados manualmente, ou " +"continuamente em sistemas geridos por meta-pacotes de configuração do " +"sistema." + #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> #: apt-mark.8.xml msgid "" @@ -3080,22 +3139,17 @@ msgstr "" #. type: Content of: <refentry><refsect1><title> #: apt-mark.8.xml msgid "Prevent Changes for a Package" -msgstr "" +msgstr "Prevenir Alterações para um Pacote" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> #: apt-mark.8.xml -#, fuzzy -#| msgid "" -#| "<literal>manual</literal> is used to mark a package as being manually " -#| "installed, which will prevent the package from being automatically " -#| "removed if no other packages depend on it." msgid "" "<literal>hold</literal> is used to mark a package as held back, which will " "prevent the package from being automatically installed, upgraded or removed." msgstr "" -"<literal>manual</literal> é usado para marcar um pacote como sendo instalado " -"manualmente, o que irá prevenir que o pacote seja removido automaticamente " -"se nenhum outro pacote depender dele." +"<literal>hold</literal> é usado para marcar um pacote como segurado, o que " +"irá impedir o pacote de ser instalado automaticamente, actualizado ou " +"removido." #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> #: apt-mark.8.xml @@ -3118,7 +3172,7 @@ msgstr "" #. type: Content of: <refentry><refsect1><title> #: apt-mark.8.xml msgid "Schedule Packages for Install, Remove and Purge" -msgstr "" +msgstr "Agendar Pacotes para Instalar, Remover e Purgar" #. type: Content of: <refentry><refsect1><para> #: apt-mark.8.xml @@ -3132,6 +3186,15 @@ msgid "" "<option>showpurge</option> respectively. More information about these so " "called dpkg selections can be found in &dpkg;." msgstr "" +"Alguns front-ends como o <command>apt-get dselect-upgrade</command> podem " +"ser usados para aplicar alterações previamente agendadas ao estado de " +"instalação de pacotes. Tais alterações podem ser agendadas com os comandos " +"<option>install</option>, <option>remove</option> (também conhecido por " +"<option>deinstall</option>) e <option>purge</option>. Os pacotes com uma " +"selecção especÃfica podem ser mostrados com <option>showinstall</option>, " +"<option>showremove</option> e <option>showpurge</option> respectivamente. " +"Mais informação acerca destas chamadas selecções do dpkg pode ser encontrada " +"em &dpkg;." #. type: Content of: <refentry><refsect1><para> #: apt-mark.8.xml @@ -3149,12 +3212,6 @@ msgstr "Suporte de autenticação de arquivos para o APT" #. type: Content of: <refentry><refsect1><para> #: apt-secure.8.xml -#, fuzzy -#| msgid "" -#| "Starting with version 0.6, <command>apt</command> contains code that does " -#| "signature checking of the Release file for all archives. This ensures " -#| "that packages in the archive can't be modified by people who have no " -#| "access to the Release file signing key." msgid "" "Starting with version 0.6, <command>APT</command> contains code that does " "signature checking of the Release file for all repositories. This ensures " @@ -3166,31 +3223,33 @@ msgid "" "the repository need to be confirmed before APT continues to apply updates " "from this repository." msgstr "" -"A partir da versão 0.6, o <command>apt</command> contém código que faz " -"verificação de assinaturas do ficheiro Release para todos os arquivos. Isto " -"assegura que os pacotes no arquivo não podem ser modificados por pessoas que " -"não têm acesso à chave de assinatura do ficheiro Release." +"A partir da versão 0.6, o <command>APT</command> contém código que faz " +"verificação de assinaturas do ficheiro Release para todos os repositórios. " +"Isto assegura que dados como pacotes no arquivo não podem ser modificados " +"por pessoas que não têm acesso à chave de assinatura do ficheiro Release. A " +"partir da versão 1.1 o <command>APT</command> requer repositórios para " +"disponibilizar informação recente de autenticação para uma utilização " +"desimpedida do repositório. Desde a versão 1.5, as alterações na informação " +"contida no ficheiro Release acerca do repositório precisam de ser " +"confirmadas antes do APT continuar a aplicar actualizações a partir deste " +"repositório." #. type: Content of: <refentry><refsect1><para> #: apt-secure.8.xml -#, fuzzy -#| msgid "" -#| "The package front-ends &apt-get;, &aptitude; and &synaptic; support this " -#| "new authentication feature." msgid "" "Note: All APT-based package management front-ends like &apt-get;, &aptitude; " "and &synaptic; support this authentication feature, so this manpage uses " "<literal>APT</literal> to refer to them all for simplicity only." msgstr "" -"Os front-ends de pacotes &apt-get;, &aptitude; e &synaptic; suportam esta " -"nova funcionalidade de autenticação." +"Note: Todos os front-ends de gestão de pacotes como o &apt-get;, &aptitude; " +"e &synaptic; suportam esta funcionalidade de autenticação, portanto este " +"manual usa o <literal>APT</literal> para se referir a eles todos apenas para " +"simplificar." #. type: Content of: <refentry><refsect1><title> #: apt-secure.8.xml -#, fuzzy -#| msgid "Trusted archives" msgid "Unsigned Repositories" -msgstr "Arquivos de confiança" +msgstr "Repositórios Não Assinados" #. type: Content of: <refentry><refsect1><para> #: apt-secure.8.xml @@ -3201,6 +3260,12 @@ msgid "" "ends like &apt-get; will require explicit confirmation if an installation " "request includes a package from such an unauthenticated archive." msgstr "" +"Se um arquivo tem um ficheiro Release não assinado ou nem sequer tem um " +"ficheiro Release, por predefinição todas as versões actuais do APT irão " +"recusar descarregar dados dele em operações <command>update</command> e " +"mesmo que seja forçadas a fazê-lo, front-ends como o &apt-get; irão precisar " +"de confirmação explÃcita se um pedido de instalação incluir um pacote que " +"venha de um tal arquivo não autenticado." #. type: Content of: <refentry><refsect1><para> #: apt-secure.8.xml @@ -3215,6 +3280,15 @@ msgid "" "disable even the warnings, but be sure to understand the implications as " "detailed in &sources-list;." msgstr "" +"Você pode forçar todos os clientes do APT a elevar apenas avisos ao definir " +"a opção de configuração <option>Acquire::AllowInsecureRepositories</option> " +"para <literal>true</literal>. Também se consegue permitir que repositórios " +"individuais possam ser inseguros via &sources-list; opção <literal>allow-" +"insecure=yes</literal>. Note que repositórios inseguros são fortemente " +"desencorajados e todas as opções para forçar o apt a continuar a suportá-os " +"serão eventualmente removidas. Os utilizadores também têm a opção " +"<option>Trusted</option> disponÃvel para desactivar até os avisos, mas tenha " +"certeza de intender as implicações como está detalhado em &sources-list;." #. type: Content of: <refentry><refsect1><para> #: apt-secure.8.xml @@ -3227,24 +3301,21 @@ msgid "" "<literal>true</literal> or for Individual repositories with the &sources-" "list; option <literal>allow-downgrade-to-insecure=yes</literal>." msgstr "" +"Um repositório que anteriormente era autenticado mas que perdeu este estado " +"numa operação <command>update</command> provoca um erro em todos os clientes " +"do APT independentemente da opção de permitir ou proibir a utilização de " +"repositórios não seguros. O erro pode ser superado ao definir adicionalmente " +"<option>Acquire::AllowDowngradeToInsecureRepositories</option> para " +"<literal>true</literal> ou para repositórios individuais com a opção de " +"&sources-list; <literal>allow-downgrade-to-insecure=yes</literal>." #. type: Content of: <refentry><refsect1><title> #: apt-secure.8.xml -#, fuzzy -#| msgid "Trusted archives" msgid "Signed Repositories" -msgstr "Arquivos de confiança" +msgstr "Repositórios Assinados" #. type: Content of: <refentry><refsect1><para> #: apt-secure.8.xml -#, fuzzy -#| msgid "" -#| "The chain of trust from an apt archive to the end user is made up of " -#| "several steps. <command>apt-secure</command> is the last step in this " -#| "chain; trusting an archive does not mean that you trust its packages not " -#| "to contain malicious code, but means that you trust the archive " -#| "maintainer. It's the archive maintainer's responsibility to ensure that " -#| "the archive's integrity is preserved." msgid "" "The chain of trust from an APT archive to the end user is made up of several " "steps. <command>apt-secure</command> is the last step in this chain; " @@ -3253,7 +3324,7 @@ msgid "" "archive maintainer's responsibility to ensure that the archive's integrity " "is preserved." msgstr "" -"A corrente de confiança desde um arquivo apt até ao utilizador final é feita " +"A corrente de confiança desde um arquivo APT até ao utilizador final é feita " "em diferentes passos. O <command>apt-secure</command> é o último passo nesta " "corrente, confiar num arquivo não quer dizer que os pacotes em que confia " "não possam conter código malicioso, mas que dizer que você confia no " @@ -3275,14 +3346,6 @@ msgstr "" #. type: Content of: <refentry><refsect1><para> #: apt-secure.8.xml -#, fuzzy -#| msgid "" -#| "The chain of trust in Debian starts when a maintainer uploads a new " -#| "package or a new version of a package to the Debian archive. In order to " -#| "become effective, this upload needs to be signed by a key contained in " -#| "the Debian Maintainers keyring (available in the debian-keyring package). " -#| "Maintainers' keys are signed by other maintainers following pre-" -#| "established procedures to ensure the identity of the key holder." msgid "" "The chain of trust in Debian starts (e.g.) when a maintainer uploads a new " "package or a new version of a package to the Debian archive. In order to " @@ -3292,13 +3355,14 @@ msgid "" "established procedures to ensure the identity of the key holder. Similar " "procedures exist in all Debian-based distributions." msgstr "" -"A corrente de confiança em Debian começa quando o responsável faz o upload " -"de um novo pacote ou de uma nova versão de um pacote para o arquivo Debian. " -"De modo a se tornar efectivo, este upload precisa de ser assinado por uma " -"chave de um responsável dentro do chaveiro de responsáveis da Debian " -"(disponÃvel no pacote debian-keyring). As chaves dos responsáveis são " +"A corrente de confiança em Debian começa (por exemplo) quando o responsável " +"faz o upload de um novo pacote ou de uma nova versão de um pacote para o " +"arquivo Debian. De modo a se tornar efectivo, este upload precisa de ser " +"assinado por uma chave contida em um dos chaveiros de responsável de pacotes " +"Debian (disponÃvel no pacote debian-keyring). As chaves dos responsáveis são " "assinadas por outros responsáveis seguindo procedimentos pré-estabelecidos " -"para assegurar a identidade do dono da chave." +"para assegurar a identidade do dono da chave. Existem procedimentos " +"semelhantes em todas as distribuições baseadas em Debian." #. type: Content of: <refentry><refsect1><para> #: apt-secure.8.xml @@ -3373,12 +3437,6 @@ msgstr "" #. type: Content of: <refentry><refsect1><para> #: apt-secure.8.xml -#, fuzzy -#| msgid "" -#| "However, it does not defend against a compromise of the Debian master " -#| "server itself (which signs the packages) or against a compromise of the " -#| "key used to sign the Release files. In any case, this mechanism can " -#| "complement a per-package signature." msgid "" "However, it does not defend against a compromise of the master server itself " "(which signs the packages) or against a compromise of the key used to sign " @@ -3386,14 +3444,14 @@ msgid "" "signature." msgstr "" "No entanto, isto não defende contra um compromisso do próprio servidor " -"mestre da Debian (o qual assina os pacotes) ou contra um compromisso da " -"chave usada para assinar os ficheiros Release. Em qualquer caso, este " -"mecanismo pode complementar uma assinatura por-pacote." +"mestre (o qual assina os pacotes) ou contra um compromisso da chave usada " +"para assinar os ficheiros Release. Em qualquer caso, este mecanismo pode " +"complementar uma assinatura por-pacote." #. type: Content of: <refentry><refsect1><title> #: apt-secure.8.xml msgid "Information changes" -msgstr "" +msgstr "Alterações na informação" #. type: Content of: <refentry><refsect1><para> #: apt-secure.8.xml @@ -3402,6 +3460,9 @@ msgid "" "also general information about the repository like the origin, codename or " "version number of the release." msgstr "" +"Um ficheiro Release contém, para além dos sumários de verificação para os " +"ficheiros no repositório, também informação geral acerca do repositório como " +"a origem, nome de código ou número de versão do lançamento." #. type: Content of: <refentry><refsect1><para> #: apt-secure.8.xml @@ -3413,31 +3474,33 @@ msgid "" "is sufficiently prepared e.g. for the new major release of the distribution " "shipped in the repository (as e.g. indicated by the codename)." msgstr "" +"Este informação é mostrada em diversos lugares para que o dono do " +"repositório deve sempre assegurar a exactidão. Mais ainda, mais configuração " +"do utilizador como &apt-preferences; podem depender e fazer uso desta " +"informação. Desde a versão 1.5 que o utilizador tem de confirmar " +"explicitamente as alterações para sinalizar que o utilizador está " +"suficientemente preparado, por exemplo, para o novo lançamento maior da da " +"distribuição enviada para o repositório (como por exemplo indicada pelo nome " +"de código)." #. type: Content of: <refentry><refsect1><title> #: apt-secure.8.xml msgid "User Configuration" -msgstr "Configuração do utilizador" +msgstr "Configuração do Utilizador" #. type: Content of: <refentry><refsect1><para> #: apt-secure.8.xml -#, fuzzy -#| msgid "" -#| "<command>apt-key</command> is the program that manages the list of keys " -#| "used by apt. It can be used to add or remove keys, although an " -#| "installation of this release will automatically contain the default " -#| "Debian archive signing keys used in the Debian package repositories." msgid "" "<command>apt-key</command> is the program that manages the list of keys used " "by APT to trust repositories. It can be used to add or remove keys as well " "as list the trusted keys. Limiting which key(s) are able to sign which " "archive is possible via the <option>Signed-By</option> in &sources-list;." msgstr "" -"<command>apt-key</command> é o programa que gere a lista de chaves usada " -"pelo apt. Pode ser usado para adicionar ou remover chaves apesar de uma " -"instalação deste lançamento ir automaticamente disponibilizar as chaves de " -"assinaturas predefinidas de arquivo Debian usadas nos repositórios de " -"pacotes Debian." +"O <command>apt-key</command> é o programa que gere a lista de chaves usada " +"pelo APT para confiar nos repositórios. Pode ser usado para adicionar assim " +"como para listar as chaves confiadas. Limitando quais chave(s) são capazes " +"de assinar qual arquivo é possÃvel via <option>Signed-By</option> em " +"&sources-list;." #. type: Content of: <refentry><refsect1><para> #: apt-secure.8.xml @@ -3447,6 +3510,10 @@ msgid "" "<command>apt-key</command> is only needed if third-party repositories are " "added." msgstr "" +"Note que uma instalação predefinida já contém todas as chaves para adquirir " +"em segurança pacotes a partir dos repositórios predefinidos, portanto perder " +"tempo com o <command>apt-key</command> só é necessário se forem adicionados " +"repositórios de terceiros." #. type: Content of: <refentry><refsect1><para> #: apt-secure.8.xml @@ -3467,10 +3534,8 @@ msgstr "" #. type: Content of: <refentry><refsect1><title> #: apt-secure.8.xml -#, fuzzy -#| msgid "User Configuration" msgid "Repository Configuration" -msgstr "Configuração do utilizador" +msgstr "Configuração do Repositório" #. type: Content of: <refentry><refsect1><para> #: apt-secure.8.xml @@ -3505,11 +3570,6 @@ msgstr "" #. type: Content of: <refentry><refsect1><itemizedlist><listitem><para> #: apt-secure.8.xml -#, fuzzy -#| msgid "" -#| "<emphasis>Publish the key fingerprint</emphasis>, that way your users " -#| "will know what key they need to import in order to authenticate the files " -#| "in the archive." msgid "" "<emphasis>Publish the key fingerprint</emphasis>, so that your users will " "know what key they need to import in order to authenticate the files in the " @@ -3517,9 +3577,11 @@ msgid "" "&keyring-distro; does with &keyring-package; to be able to distribute " "updates and key transitions automatically later." msgstr "" -"<emphasis>Publicar a impressão digital da chave</emphasis>, deste modo os " -"seus utilizadores irão saber que chave precisam de importar de modo a " -"autenticar os ficheiros no arquivo." +"<emphasis>Publicar a impressão digital da chave</emphasis>, para que os seus " +"utilizadores irão saber que chave precisam de importar de modo a autenticar " +"os ficheiros no arquivo. É melhor enviar a sua chave no seu próprio pacote " +"chaveiro como &keyring-distro; faz com &keyring-package; para ser capaz de " +"distribuir actualizações e transições de chave mais tarde automaticamente." #. type: Content of: <refentry><refsect1><itemizedlist><listitem><para> #: apt-secure.8.xml @@ -3531,6 +3593,13 @@ msgid "" "included in another archive users already have configured (like the default " "repositories of their distribution) to leveraging the web of trust." msgstr "" +"<emphasis>Disponibilize instruções em como adicionar o seu arquivo e chave</" +"emphasis>. Se os seus utilizadores não conseguirem a sua chave seguramente a " +"cadeia de confiança descrita em cima fica comprometida. Como você pode os " +"utilizadores a adicionar a sua chave depende do seu arquivo e do alcance de " +"audiência ao ter o sue pacote de ficheiro incluÃdo num outro arquivo que os " +"utilizadores já têm configurado (como os repositórios predefinidos da " +"distribuição que usam) para elevar a teia da confiança." #. type: Content of: <refentry><refsect1><para> #: apt-secure.8.xml @@ -3946,6 +4015,8 @@ msgid "" "all options set in the binary specific configuration subtree are moved into " "the root of the tree." msgstr "" +"todas as opções definidas na sub-árvore de configuração especÃfica de " +"binário são movidas para a raiz da árvore." #. type: Content of: <refentry><refsect1><orderedlist><listitem><para> #: apt.conf.5.xml @@ -4216,6 +4287,14 @@ msgid "" "pass to the command <command>rev</command> without additional commandline " "parameters for compression and uncompression:" msgstr "" +"Este escopo define quais formatos de compressão são suportados, como a " +"compressão e descompressão pode ser executada se o suporte para este formato " +"não está compilado directamente no apt e um valor de custo que indica o " +"custo de se comprimir algo neste formato. Como um exemplo a seguinte estrofe " +"de configuração iria permitir ao apt descarregar e descomprimir assim como " +"criar e armazenar ficheiros com a extensão <literal>.reversed</literal> de " +"baixo custo os quais irá passar ao comando <command>rev</command> sem " +"parâmetros adicionais de linha de comandos para a compressão e descompressão." #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><informalexample><programlisting> #: apt.conf.5.xml @@ -4230,6 +4309,14 @@ msgid "" "\tCost \"10\";\n" "};\n" msgstr "" +"APT::Compressor::rev {\n" +"\tName \"rev\";\n" +"\tExtension \".reversed\";\n" +"\tBinary \"rev\";\n" +"\tCompressArg {};\n" +"\tUncompressArg {};\n" +"\tCost \"10\";\n" +"};\n" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> #: apt.conf.5.xml @@ -4470,18 +4557,14 @@ msgid "" "option> and verifying that the Date field of a release file is not in the " "future." msgstr "" +"Opção relacionada com segurança que predefine para verdadeira, activando as " +"verificações relativas a hora. Desactivá-la significa que a hora da máquina " +"não pode ser confiada,e o APT irá então desactivar todos as verificações " +"relacionadas com horas, tais como <option>Check-Valid-Until</option> e " +"verificar que o campo Date de um ficheiro release não está no futuro." #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> #: apt.conf.5.xml -#, fuzzy -#| msgid "" -#| "Maximum time (in seconds) after its creation (as indicated by the " -#| "<literal>Date</literal> header) that the <filename>Release</filename> " -#| "file should be considered valid. If the Release file itself includes a " -#| "<literal>Valid-Until</literal> header the earlier date of the two is used " -#| "as the expiration date. The default value is <literal>0</literal> which " -#| "stands for \"valid forever\". Archive specific settings can be made by " -#| "appending the label of the archive to the option name." msgid "" "Maximum time (in seconds) before its creation (as indicated by the " "<literal>Date</literal> header) that the <filename>Release</filename> file " @@ -4491,27 +4574,16 @@ msgid "" "&sources-list; entries by using the <option>Date-Max-Future</option> option " "there." msgstr "" -"O tempo máximo (em segundos) após a sua criação (como indicado pelo " +"O tempo máximo (em segundos) antes da sua criação (como indicado pelo " "cabeçalho <literal>Date</literal>) que o ficheiro <filename>Release</" -"filename> deve ser considerado como válido. Se o próprio ficheiro Release " -"incluir um cabeçalho <literal>Valid-Until</literal> é usada como data de " -"expiração a data que expira mais cedo. O valor predefinido é <literal>0</" -"literal> o que significa \"válido para sempre\". Podem ser criadas " -"definições especÃficas de arquivo ao acrescentar a etiqueta do arquivo ao " -"nome da opção." +"filename> deve ser considerado como válido. O valor predefinido é " +"<literal>10</literal>. Podem ser criadas definições especÃficas de arquivo " +"ao acrescentar a etiqueta do arquivo ao nome da opção. Preferencialmente, o " +"mesmo pode ser conseguido para entradas &sources-list; especÃficas ao usar " +"lá a opção <option>Date-Max-Future</option>." #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> #: apt.conf.5.xml -#, fuzzy -#| msgid "" -#| "Security related option defaulting to true, as giving a Release file's " -#| "validation an expiration date prevents replay attacks over a long " -#| "timescale, and can also for example help users to identify mirrors that " -#| "are no longer updated - but the feature depends on the correctness of the " -#| "clock on the user system. Archive maintainers are encouraged to create " -#| "Release files with the <literal>Valid-Until</literal> header, but if they " -#| "don't or a stricter value is desired the <literal>Max-ValidTime</literal> " -#| "option below can be used." msgid "" "Security related option defaulting to true, as giving a Release file's " "validation an expiration date prevents replay attacks over a long timescale, " @@ -4525,26 +4597,19 @@ msgid "" "using this global override." msgstr "" "Opção relacionada com segurança com predefinição a 'verdadeiro', como dar a " -"um ficheiros Release uma data de expiração previne ataques repetidos durante " +"ficheiros Release uma data de expiração previne ataques repetidos durante " "longo tempo e pode, por exemplo, ajudar os utilizadores a identificar " "mirrors que não são actualizados à muito tempo - mas a funcionalidade " "depende da precisão de hora no sistema do utilizador. Os responsáveis do " "arquivo são encorajados a criar ficheiros Release com o cabeçalho " "<literal>Valid-Until</literal>, mas se não o fizerem ou se preferir-se um " "valor mais rigoroso pode-se usar a opção <literal>Max-ValidTime</literal> " -"seguinte." +"seguinte. A opção <option>Check-Valid-Until</option> das entradas &sources-" +"list; deve ser preferida para desactivar a verificação selectiva em vez de " +"usar esta sobreposição global." #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> #: apt.conf.5.xml -#, fuzzy -#| msgid "" -#| "Maximum time (in seconds) after its creation (as indicated by the " -#| "<literal>Date</literal> header) that the <filename>Release</filename> " -#| "file should be considered valid. If the Release file itself includes a " -#| "<literal>Valid-Until</literal> header the earlier date of the two is used " -#| "as the expiration date. The default value is <literal>0</literal> which " -#| "stands for \"valid forever\". Archive specific settings can be made by " -#| "appending the label of the archive to the option name." msgid "" "Maximum time (in seconds) after its creation (as indicated by the " "<literal>Date</literal> header) that the <filename>Release</filename> file " @@ -4563,19 +4628,12 @@ msgstr "" "expiração a data que expira mais cedo. O valor predefinido é <literal>0</" "literal> o que significa \"válido para sempre\". Podem ser criadas " "definições especÃficas de arquivo ao acrescentar a etiqueta do arquivo ao " -"nome da opção." +"nome da opção. Preferencialmente, o mesmo pode ser conseguido para entradas " +"&sources-list; especÃficas ao usar aqui a opção <option>Valid-Until-Max</" +"option>." #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> #: apt.conf.5.xml -#, fuzzy -#| msgid "" -#| "Minimum time (in seconds) after its creation (as indicated by the " -#| "<literal>Date</literal> header) that the <filename>Release</filename> " -#| "file should be considered valid. Use this if you need to use a seldom " -#| "updated (local) mirror of a more frequently updated archive with a " -#| "<literal>Valid-Until</literal> header instead of completely disabling the " -#| "expiration date checking. Archive specific settings can and should be " -#| "used by appending the label of the archive to the option name." msgid "" "Minimum time (in seconds) after its creation (as indicated by the " "<literal>Date</literal> header) that the <filename>Release</filename> file " @@ -4594,7 +4652,9 @@ msgstr "" "frequentemente com um cabeçalho <literal>Valid-Until</literal> em vez de " "desactivar completamente a verificação de data de expiração. Podem e devem " "ser usadas definições especificas do arquivo ao acrescentar a etiqueta do " -"arquivo ao nome da opção." +"arquivo ao nome da opção. Preferencialmente, pode ser conseguido o mesmo " +"para entradas &sources-list; especÃficas ao usar aqui a opção <option>Valid-" +"Until-Min</option>" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> #: apt.conf.5.xml @@ -4603,14 +4663,13 @@ msgid "" "this completely disables support for TLS in apt's own methods (excluding the " "curl-based https method). No TLS-related functions will be called anymore." msgstr "" +"Permite o uso do suporte TLS interno no método http. Se definido para falso, " +"isto desactiva completamente o suporte para TLS nos métodos próprios do apt " +"(excluindo o método https baseado em curl). Não serão mais chamadas funções " +"relacionadas com TLS." #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> #: apt.conf.5.xml -#, fuzzy -#| msgid "" -#| "Try to download deltas called <literal>PDiffs</literal> for indexes (like " -#| "<filename>Packages</filename> files) instead of downloading whole ones. " -#| "True by default." msgid "" "Try to download deltas called <literal>PDiffs</literal> for indexes (like " "<filename>Packages</filename> files) instead of downloading whole ones. True " @@ -4619,7 +4678,9 @@ msgid "" msgstr "" "Tenta descarregar deltas chamados <literal>PDiffs</literal> para Ãndices " "(como os ficheiros <filename>Packages</filename>) em vez de os descarregar " -"por inteiro. Verdadeiro por predefinição." +"por inteiro. Verdadeiro por predefinição. Preferencialmente, isto pode ser " +"definido para entradas &sources-list; especÃficas ou ficheiros index ao usar " +"aqui a opção <option>PDiffs</option>." #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> #: apt.conf.5.xml @@ -4641,11 +4702,6 @@ msgstr "" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> #: apt.conf.5.xml -#, fuzzy -#| msgid "" -#| "Try to download deltas called <literal>PDiffs</literal> for indexes (like " -#| "<filename>Packages</filename> files) instead of downloading whole ones. " -#| "True by default." msgid "" "Try to download indexes via an URI constructed from a hashsum of the " "expected file rather than downloaded via a well-known stable filename. True " @@ -4654,9 +4710,13 @@ msgid "" "this can be set for specific &sources-list; entries or index files by using " "the <option>By-Hash</option> option there." msgstr "" -"Tenta descarregar deltas chamados <literal>PDiffs</literal> para Ãndices " -"(como os ficheiros <filename>Packages</filename>) em vez de os descarregar " -"por inteiro. Verdadeiro por predefinição." +"Tenta descarregar Ãndices via um URL construÃdo a partir de um sumário " +"\"hashsum\" do ficheiro esperado, em vez de descarregar via um nome de " +"ficheiro bem conhecido como estável. Verdadeiro por predefinição, mas " +"desactivado automaticamente se a fonte indicar que não tem suporte para tal. " +"A utilização pode ser forçada com o valor especial \"force\". " +"Preferencialmente, isto pode ser definido para entradas &sources-list; " +"especÃficas ou ficheiros index ao usar aqui a opção <option>By-Hash</option>." #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> #: apt.conf.5.xml @@ -4699,6 +4759,9 @@ msgid "" "protocols HTTP and HTTPS and are documented in the &apt-transport-http; and " "&apt-transport-https; manpages respectively." msgstr "" +"As opções nesses scopes configuram a obtenção de transportes do APT para os " +"protocolos HTTP e HTTPS e estão documentadas nos manuais &apt-transport-" +"http; e &apt-transport-https; respectivamente." #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> #: apt.conf.5.xml @@ -4833,15 +4896,6 @@ msgstr "Acquire::CompressionTypes::<replaceable>Extensão de Ficheiro</replaceab #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> #: apt.conf.5.xml -#, fuzzy -#| msgid "" -#| "List of compression types which are understood by the acquire methods. " -#| "Files like <filename>Packages</filename> can be available in various " -#| "compression formats. By default the acquire methods can decompress " -#| "<command>bzip2</command>, <command>lzma</command> and <command>gzip</" -#| "command> compressed files; with this setting more formats can be added on " -#| "the fly or the used method can be changed. The syntax for this is: " -#| "<placeholder type=\"synopsis\" id=\"0\"/>" msgid "" "List of compression types which are understood by the acquire methods. " "Files like <filename>Packages</filename> can be available in various " @@ -4854,10 +4908,11 @@ msgstr "" "Lista dos tipos de compressão que são compreendidos pelos métodos de " "aquisição. Ficheiros como <filename>Packages</filename> podem estar " "disponÃveis em vários formatos de compressão. Por predefinição os métodos de " -"aquisição podem descomprimir ficheiros comprimidos em <command>bzip2</" -"command>, <command>lzma</command> e <command>gzip</command>, mais formatos " -"podem ser adicionados na hora com esta definição ou o método usado pode ser " -"alterado. A sintaxe para isto é: <placeholder type=\"synopsis\" id=\"0\"/>" +"aquisição podem descomprimir e re-comprimir muitos formatos comuns como " +"<command>xz</command> e <command>gzip</command>; com este scope os formatos " +"suportados podem ser consultados, modificados assim como pode ser adicionado " +"suporte para mais formatos (veja também <option>APT::Compressor</option>). A " +"sintaxe para isto é: <placeholder type=\"synopsis\" id=\"0\"/>" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para><synopsis> #: apt.conf.5.xml @@ -4873,21 +4928,6 @@ msgstr "Acquire::CompressionTypes::Order { \"xz\"; \"gz\"; };" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> #: apt.conf.5.xml -#, fuzzy -#| msgid "" -#| "Also, the <literal>Order</literal> subgroup can be used to define in " -#| "which order the acquire system will try to download the compressed files. " -#| "The acquire system will try the first and proceed with the next " -#| "compression type in this list on error, so to prefer one over the other " -#| "type simply add the preferred type first - default types not already " -#| "added will be implicitly appended to the end of the list, so e.g. " -#| "<placeholder type=\"synopsis\" id=\"0\"/> can be used to prefer " -#| "<command>gzip</command> compressed files over <command>bzip2</command> " -#| "and <command>lzma</command>. If <command>lzma</command> should be " -#| "preferred over <command>gzip</command> and <command>bzip2</command> the " -#| "configure setting should look like this: <placeholder type=\"synopsis\" " -#| "id=\"1\"/> It is not needed to add <literal>bz2</literal> to the list " -#| "explicitly as it will be added automatically." msgid "" "Also, the <literal>Order</literal> subgroup can be used to define in which " "order the acquire system will try to download the compressed files. The " @@ -4907,13 +4947,13 @@ msgstr "" "comprimidos. O sistema de aquisição irá tentar com o primeiro e prosseguir " "com o próximo tipo de compressão na lista em caso de erro, portanto para " "preferir um sobre outro tipo, simplesmente adicione o tipo preferido em " -"primeiro lugar - tipos predefinidos não já adicionados serão acrescentados " -"implicitamente ao fim da lista, então, ex. <placeholder type=\"synopsis\" id=" -"\"0\"/> pode ser usado para preferir ficheiros comprimidos em <command>gzip</" -"command> sobre <command>bzip2</command> e <command>lzma</command>. Se o " -"<command>lzma</command> deve ser preferido sobre <command>gzip</command> e " -"<command>bzip2</command> a definição de configuração deverá parecer-se com " -"isto: <placeholder type=\"synopsis\" id=\"1\"/>. Não é necessário adicionar " +"primeiro lugar - tipos não já adicionados serão acrescentados implicitamente " +"ao fim da lista, então, ex. <placeholder type=\"synopsis\" id=\"0\"/> pode " +"ser usado para preferir ficheiros comprimidos em <command>gzip</command> " +"sobre todos os outros formatos de compressão. Se o <command>xz</command> " +"deve ser preferido sobre o <command>gzip</command> e o <command>bzip2</" +"command> a definição de configuração deverá parecer-se com isto: " +"<placeholder type=\"synopsis\" id=\"1\"/>. Não é necessário adicionar " "explicitamente <literal>bz2</literal> à lista pois isso será adicionado " "automaticamente." @@ -4925,18 +4965,6 @@ msgstr "Dir::Bin::bzip2 \"/bin/bzip2\";" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> #: apt.conf.5.xml -#, fuzzy -#| msgid "" -#| "Note that the <literal>Dir::Bin::<replaceable>Methodname</replaceable></" -#| "literal> will be checked at run time. If this option has been set, the " -#| "method will only be used if this file exists; e.g. for the " -#| "<literal>bzip2</literal> method (the inbuilt) setting is: <placeholder " -#| "type=\"literallayout\" id=\"0\"/> Note also that list entries specified " -#| "on the command line will be added at the end of the list specified in the " -#| "configuration files, but before the default entries. To prefer a type in " -#| "this case over the ones specified in the configuration files you can set " -#| "the option direct - not in list style. This will not override the " -#| "defined list; it will only prefix the list with this type." msgid "" "Note that the <literal>Dir::Bin::<replaceable>Methodname</replaceable></" "literal> will be checked at run time. If this option has been set and " @@ -4952,9 +4980,10 @@ msgid "" msgstr "" "Note que o <literal>Dir::Bin::<replaceable>nome de método</replaceable></" "literal> será verificado em tempo de execução. Se esta definição estiver " -"definida, o método apenas será usado se este ficheiro existir; ex. para o " -"método <literal>bzip2</literal> (o embutido) a definição é: <placeholder " -"type=\"literallayout\" id=\"0\"/>. Note também que as entradas na lista " +"definida e o suporte para este formato não está compilado directamente no " +"apt, o método apenas será usado se este ficheiro existir; ex. para o método " +"<literal>bzip2</literal> (o embutido) a definição é: <placeholder type=" +"\"literallayout\" id=\"0\"/>. Note também que as entradas na lista " "especificadas na linha de comandos serão adicionadas no fim da lista " "especificada nos ficheiros de configuração, mas antes das entradas " "predefinidas. Para preferir um tipo neste caso sobre aqueles especificados " @@ -5082,6 +5111,8 @@ msgid "" "The maximum file size of Release/Release.gpg/InRelease files. The default " "is 10MB." msgstr "" +"O tamanho máximo dos ficheiros Release/Release.gpg/InRelease. A predefinição " +"é 10MB." #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> #: apt.conf.5.xml @@ -5090,6 +5121,9 @@ msgid "" "in RFC 2782 to select an alternative server to connect to. The default is " "\"true\"." msgstr "" +"Esta opção controla se o apt irá usar o registo do servidor DNS SRV como " +"especificado em RFC 2782 para seleccionar um servidor alternativo a onde " +"ligar: A predefinição é \"true\"." #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> #: apt.conf.5.xml @@ -5099,6 +5133,10 @@ msgid "" "literal>\". Concept, implications as well as alternatives are detailed in " "&apt-secure;." msgstr "" +"Permite à s operações de actualização carregarem ficheiros de dados a partir " +"de repositórios se informação se segurança suficiente. O valor predefinido é " +"<literal>false</literal>\". O conceito, implicações assim como alternativas " +"estão detalhados em &apt-secure;." #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> #: apt.conf.5.xml @@ -5108,6 +5146,11 @@ msgid "" "strong enough. The default value is \"<literal>false</literal>\". Concept, " "implications as well as alternatives are detailed in &apt-secure;." msgstr "" +"Permite à s operações de actualização carregarem ficheiros de dados a partir " +"de repositórios que disponibilizam informação de segurança, mas estes já não " +"são considerados suficiente fortes criptograficamente. O valor predefinido é " +"<literal>false</literal>\". O conceito, implicações assim como alternativas " +"estão detalhados em &apt-secure;." #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> #: apt.conf.5.xml @@ -5119,11 +5162,18 @@ msgid "" "this. The default is <literal>false</literal>. Concept, implications as " "well as alternatives are detailed in &apt-secure;." msgstr "" +"Permite que um repositório anteriormente assinado com gpg se torne em não-" +"assinado durante uma operação de actualização. Quando não existe uma " +"assinatura válida para um repositório anteriormente de confiança, o apt irá " +"recusar a actualização. Esta opção pode ser usada para ultrapassar esta " +"protecção. Certamente você nunca vai querer activar isto. A predefinição é " +"<literal>false</literal>. O conceito, implicações assim como alternativas " +"estão detalhadas em &apt-secure;." #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> #: apt.conf.5.xml msgid "scope" -msgstr "" +msgstr "scope" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> #: apt.conf.5.xml @@ -5152,13 +5202,35 @@ msgid "" "used to acquire changelog files from. Another source will be tried if " "available in this case." msgstr "" +"Adquirir changelogs só pode ser feito se for conhecido um URL de onde os " +"obter. De preferência o ficheiro Release indica isto num campo 'Changelogs'. " +"Se isto não estiver disponÃvel, é usado o campo Label/Origin do ficheiro " +"Release para verificar se uma opção <literal>Acquire::Changelogs::URI::" +"Label::<replaceable>LABEL</replaceable></literal> ou <literal>Acquire::" +"Changelogs::URI::Origin::<replaceable>ORIGIN</replaceable></literal> existem " +"e se sim é utilizado este valor. Este valor no ficheiro Release pode ser " +"sobreposto com <literal>Acquire::Changelogs::URI::Override::Label::" +"<replaceable>LABEL</replaceable></literal> ou <literal>Acquire::Changelogs::" +"URI::Override::Origin::<replaceable>ORIGIN</replaceable></literal>. O valor " +"deve ser um URI normal para um ficheiro de texto, excepto se os dados desse " +"pacote especÃfico for substituÃdo pelo marcador de posição " +"<literal>@CHANGEPATH@</literal>. O valor para isto é: 1. se o pacote " +"pertence a um componente (ex. <literal>main</literal>) esta é a primeira " +"parte, caso contrário é omitida. 2. a primeira letra do nome do pacote " +"fonte, excepto se o nome do pacote fonte começar com '<literal>lib</" +"literal>' e neste caso será as primeiras quatro letras. 3. O nome completo " +"do pacote fonte. 4. O nome completo outra vez e 5. a versão da fonte. A " +"primeira (se presente), segunda, terceira e quarta partes são separadas por " +"uma barra ('<literal>/</literal>') e entre a quarta e quinta partes fica um " +"underscore ('<literal>_</literal>'). O valor especial '<literal>no</" +"literal>' está disponÃvel para esta opção e indica que esta fonte não pode " +"ser usada para adquirir ficheiros changelog a partir dela. Neste caso será " +"tentada outra fonte se estiver disponÃvel." #. type: Content of: <refentry><refsect1><title> #: apt.conf.5.xml -#, fuzzy -#| msgid "User configuration" msgid "Binary specific configuration" -msgstr "Configuração do utilizador" +msgstr "Configuração especÃfica de binário" #. type: Content of: <refentry><refsect1><para> #: apt.conf.5.xml @@ -5169,6 +5241,11 @@ msgid "" "Get::Show-Versions</option> effect <command>apt-get</command> as well as " "<command>apt</command>." msgstr "" +"Especialmente com a introdução do binário <command>apt</command> pode ser " +"útil para definir certas opções apenas para um binário especÃfico mesmo como " +"opções que parecessem apenas afectar um certo binário como <option>APT::Get::" +"Show-Versions</option> afecta <command>apt-get</command> assim como " +"<command>apt</command>." #. type: Content of: <refentry><refsect1><para> #: apt.conf.5.xml @@ -5179,6 +5256,12 @@ msgid "" "Versions</option> for the <command>apt</command> only can e.g. by done by " "setting <option>Binary::apt::APT::Get::Show-Versions</option> instead." msgstr "" +"Definir uma opção para apenas um binário especÃfico só pode ser conseguido " +"ao definir a opção dentro escopo <option>Binary::<replaceable>specific-" +"binary</replaceable></option>. Definir a opção <option>APT::Get::Show-" +"Versions</option> apenas para o <command>apt</command> pode, por exemplo, " +"ser feito de outra maneira definindo <option>Binary::apt::APT::Get::Show-" +"Versions</option>." #. type: Content of: <refentry><refsect1><para> #: apt.conf.5.xml @@ -5187,6 +5270,9 @@ msgid "" "binary-specific options on the commandline itself nor in configuration files " "loaded via the commandline." msgstr "" +"Note que como visto na secção DESCRIÇÃO mais acima, você não pode definir " +"opções binário-especificas na própria linha de comandos nem em ficheiros de " +"configuração carregados via linha de comandos." #. type: Content of: <refentry><refsect1><title> #: apt.conf.5.xml @@ -5281,16 +5367,6 @@ msgstr "" #. type: Content of: <refentry><refsect1><para> #: apt.conf.5.xml -#, fuzzy -#| msgid "" -#| "The configuration item <literal>RootDir</literal> has a special meaning. " -#| "If set, all paths in <literal>Dir::</literal> will be relative to " -#| "<literal>RootDir</literal>, <emphasis>even paths that are specified " -#| "absolutely</emphasis>. So, for instance, if <literal>RootDir</literal> " -#| "is set to <filename>/tmp/staging</filename> and <literal>Dir::State::" -#| "status</literal> is set to <filename>/var/lib/dpkg/status</filename>, " -#| "then the status file will be looked up in <filename>/tmp/staging/var/lib/" -#| "dpkg/status</filename>." msgid "" "The configuration item <literal>RootDir</literal> has a special meaning. If " "set, all paths will be relative to <literal>RootDir</literal>, " @@ -5302,13 +5378,14 @@ msgid "" "prefix only relative paths, set <literal>Dir</literal> instead." msgstr "" "O item de configuração <literal>RootDir</literal> tem um significado " -"especial. Se definido, todos os caminhos em <literal>Dir::</literal> serão " -"relativos a <literal>RootDir</literal>, <emphasis>mesmo caminhos que estão " -"absolutamente especificados</emphasis>. Então, por exemplo, se " -"<literal>RootDir</literal> estiver definido para <filename>/tmp/staging</" -"filename> e <literal>Dir::State::status</literal> estiver definido para " -"<filename>/var/lib/dpkg/status</filename>, então o ficheiro status será " -"procurado em <filename>/tmp/staging/var/lib/dpkg/status</filename>." +"especial. Se definido, todos os caminhos serão relativos a <literal>RootDir</" +"literal>, <emphasis>mesmo caminhos que estão absolutamente especificados</" +"emphasis>. Então, por exemplo, se <literal>RootDir</literal> estiver " +"definido para <filename>/tmp/staging</filename> e <literal>Dir::State::" +"status</literal> estiver definido para <filename>/var/lib/dpkg/status</" +"filename>, então o ficheiro status será procurado em <filename>/tmp/staging/" +"var/lib/dpkg/status</filename>. Se desejar usar como prefixo apenas caminhos " +"relativos, defina antes <literal>Dir</literal>." #. type: Content of: <refentry><refsect1><para> #: apt.conf.5.xml @@ -5425,6 +5502,10 @@ msgid "" "used when running dpkg. It may be set to any valid value of that environment " "variable; or the empty string, in which case the variable is not changed." msgstr "" +"Esta é uma string que define a variável de ambiente <envar>PATH</envar> " +"usada quando se corre o dpkg. Pode ser definida para qualquer valor válido " +"dessa variável de ambiente, ou para string vazia, e neste caso a variável " +"não é alterada." #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> #: apt.conf.5.xml @@ -5465,6 +5546,10 @@ msgid "" "configuration space, and a list of package actions with filename and version " "information." msgstr "" +"A versão 2 deste protocolo envia mais informação através do descritor de " +"ficheiro requerido: uma linha com o texto <literal>VERSION 2</literal>, o " +"espaço de configuração do APT, e uma lista de acções de pacote com " +"informação de nome de ficheiro e versão." #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> #: apt.conf.5.xml @@ -5477,6 +5562,13 @@ msgid "" "=value</literal> lines with the same key. The configuration section ends " "with a blank line." msgstr "" +"Cada linha directiva de configuração tem a forma <literal>chave=valor</" +"literal>. Caracteres especiais (sinais de igual, novas-linhas, caracteres " +"não imprimÃveis, aspas, e sinais de percentagem na <literal>chave</literal> " +"e novas-linhas, caracteres não imprimÃveis, e sinais de percentagem no " +"<literal>value</literal>) são %-codificados. As listas são representadas por " +"múltiplas linhas <literal>chave=valor</literal> com a mesma chave. A secção " +"de configuração termina com uma linha vazia." #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> #: apt.conf.5.xml @@ -5491,6 +5583,16 @@ msgid "" "the package is being configured, \"**REMOVE**\" if it is being removed, or " "the filename of a .deb file if it is being unpacked." msgstr "" +"As linhas de acção de pacotes consistem de cinco campos na Versão 2: nome do " +"pacote (sem a qualificação da arquitectura mesmo que alienÃgena), versão " +"anterior, direcção da alteração de versão (< para actualizações, > " +"para regresses (downgrades), = para nenhuma alteração), nova versão, acção. " +"Os campos da versão são \"-\" para nenhuma versão (por exemplo quando se " +"instala um pacote pela primeira vez; nenhuma versão é tratada como anterior " +"a nenhuma versão real, então isso é uma actualização, indicada como " +"<literal>- < 1.23.4</literal>). O campo de acção é \"**CONFIGURE**\" se o " +"pacote está a ser configurado, \"**REMOVE**\" se está a ser removido, ou o " +"nome de ficheiro de um ficheiro .deb se estiver a ser desempacotado." #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> #: apt.conf.5.xml @@ -5501,6 +5603,12 @@ msgid "" "\"none\" is an incorrect typename which is just kept to remain compatible, " "it should be read as \"no\" and users are encouraged to support both." msgstr "" +"Na versão 3 após cada campo de versão segue-se a arquitectura dessa versão, " +"a qual é \"-\" se não existir nenhuma versão, e um campo que mostra o tipo " +"de MultiArch \"same\", \"foreign\", \"allowed\" ou \"none\". Note que \"none" +"\" é um nome de tipo incorrecto o qual é apenas mantido para permanecer " +"compatÃvel, deve ser lido como \"no\" e os utilizadores são encorajados a " +"suportar ambos." #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> #: apt.conf.5.xml @@ -5556,14 +5664,6 @@ msgstr "" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> #: apt.conf.5.xml -#, fuzzy -#| msgid "" -#| "If this option is set APT will call <command>dpkg --configure --pending</" -#| "command> to let &dpkg; handle all required configurations and triggers. " -#| "This option is activated automatically per default if the previous option " -#| "is not set to <literal>all</literal>, but deactivating it could be useful " -#| "if you want to run APT multiple times in a row - e.g. in an installer. In " -#| "these sceneries you could deactivate this option in all but the last run." msgid "" "If this option is set APT will call <command>dpkg --configure --pending</" "command> to let &dpkg; handle all required configurations and triggers. This " @@ -5573,11 +5673,10 @@ msgid "" msgstr "" "Se esta opção for definida, o APT irá chamar <command>dpkg --configure --" "pending</command> para permitir ao &dpkg; lidar como todas as configurações " -"e triggers requisitados. Esta opção é activada automaticamente por " -"predefinição se a opção anterior não for definida para <literal>all</" -"literal>, mas desactivá-la pode ser útil se deseja correr o APT múltiplas " -"vezes numa fila - ex. numa instalação. Nestes cenários você pode desactivar " -"esta opção em todas excepto na última execução." +"e triggers requisitados. Esta opção é activada por predefinição, mas " +"desactivá-la pode ser útil se deseja correr o APT múltiplas vezes numa " +"sequência - ex. numa instalação. Neste cenário você pode desactivar esta " +"opção em todas excepto na última execução." #. type: Content of: <refentry><refsect1><title> #: apt.conf.5.xml @@ -6147,12 +6246,8 @@ msgstr "priority 500" #. type: Content of: <refentry><refsect1><refsect2><para><variablelist><varlistentry><listitem><simpara> #: apt_preferences.5.xml -#, fuzzy -#| msgid "" -#| "to the versions that are not installed and belong to the target release." msgid "to the versions that do not belong to the target release." -msgstr "" -"para as versões que não estão instaladas e pertencem ao lançamento destinado." +msgstr "para as versões que não pertencem ao lançamento destinado." #. type: Content of: <refentry><refsect1><refsect2><para><variablelist><varlistentry><term> #: apt_preferences.5.xml @@ -6161,12 +6256,8 @@ msgstr "priority 990" #. type: Content of: <refentry><refsect1><refsect2><para><variablelist><varlistentry><listitem><simpara> #: apt_preferences.5.xml -#, fuzzy -#| msgid "" -#| "to the versions that are not installed and belong to the target release." msgid "to the versions that belong to the target release." -msgstr "" -"para as versões que não estão instaladas e pertencem ao lançamento destinado." +msgstr "para as versões que pertencem ao lançamento destinado." #. type: Content of: <refentry><refsect1><refsect2><para> #: apt_preferences.5.xml @@ -6174,6 +6265,8 @@ msgid "" "The highest of those priorities whose description matches the version is " "assigned to the version." msgstr "" +"A mais alta dessas prioridades cuja descrição coincide com a versão é " +"especificada para a versão." #. type: Content of: <refentry><refsect1><refsect2><para> #: apt_preferences.5.xml @@ -6496,6 +6589,10 @@ msgid "" "For any type of condition (such as two \"a\" conditions), only the last such " "condition is checked." msgstr "" +"O efeito do operador vÃrgula é semelhante a um \"e\" lógico. Todas as " +"condições têm de ser satisfeitas para o pin corresponder. Há uma excepção: " +"Para qualquer tipo de condição (tal como duas condições \"a\"), apenas a " +"última de tais condições é verificada." #. type: Content of: <refentry><refsect1><refsect2><title> #: apt_preferences.5.xml @@ -6670,22 +6767,15 @@ msgstr "previne a instalação da versão" #. type: Content of: <refentry><refsect1><refsect2><para><variablelist><varlistentry><term> #: apt_preferences.5.xml msgid "P = 0" -msgstr "" +msgstr "P = 0" #. type: Content of: <refentry><refsect1><refsect2><para><variablelist><varlistentry><listitem><simpara> #: apt_preferences.5.xml msgid "has undefined behaviour, do not use it." -msgstr "" +msgstr "tem comportamento não definido, não o utilize." #. type: Content of: <refentry><refsect1><refsect2><para> #: apt_preferences.5.xml -#, fuzzy -#| msgid "" -#| "If any specific-form records match an available package version then the " -#| "first such record determines the priority of the package version. " -#| "Failing that, if any general-form records match an available package " -#| "version then the first such record determines the priority of the package " -#| "version." msgid "" "The first specific-form record matching an available package version " "determines the priority of the package version. Failing that, the priority " @@ -6693,11 +6783,12 @@ msgid "" "generic-form records matching the version. Records defined using patterns " "in the Pin field other than \"*\" are treated like specific-form records." msgstr "" -"Se quaisquer registos de formato especÃfico corresponder a uma versão de " -"pacote disponÃvel então o primeiro tal registo determina a prioridade da " -"versão do pacote. Falhando isso, se quaisquer registos em formato geral " -"corresponder a uma versão de pacote disponÃvel então o primeiro tal registo " -"determina a prioridade da versão de pacote." +"O primeiro registo de forma-especifica que corresponda a uma versão de " +"pacote disponÃvel determina a prioridade da versão do pacote. Falhando isso, " +"a prioridade do pacote é definida como o máximo de todas as prioridades " +"definidas por registos de forma-genérica que correspondam à versão. Os " +"registos definidos que usem padrões diferentes de \"*\" no campo Pin são " +"tratados como registos de forma-especifica." #. type: Content of: <refentry><refsect1><refsect2><para> #: apt_preferences.5.xml @@ -7353,14 +7444,6 @@ msgstr "Lista das fontes de dados APT configuradas" #. type: Content of: <refentry><refsect1><para> #: sources.list.5.xml -#, fuzzy -#| msgid "" -#| "The source list <filename>/etc/apt/sources.list</filename> is designed to " -#| "support any number of active sources and a variety of source media. The " -#| "file lists one source per line, with the most preferred source listed " -#| "first. The information available from the configured sources is acquired " -#| "by <command>apt-get update</command> (or by an equivalent command from " -#| "another APT front-end)." msgid "" "The source list <filename>/etc/apt/sources.list</filename> and the files " "contained in <filename>/etc/apt/sources.list.d/</filename> are designed to " @@ -7372,12 +7455,16 @@ msgid "" "is acquired by <command>apt-get update</command> (or by an equivalent " "command from another APT front-end)." msgstr "" -"A lista de fontes <filename>/etc/apt/sources.list</filename> está desenhada " -"a suportar qualquer número de fontes activas e uma variedade de meios de " -"fontes. O ficheiro lista uma fonte por cada linha, com as fontes mais " -"preferidas listadas primeiro. A informação disponÃvel a partir das fontes " -"configuradas é obtida pelo <command>apt-get update</command> (ou por um " -"comando equivalente de outra interface \"front-end\" do APT)." +"A lista de fontes <filename>/etc/apt/sources.list</filename> e os ficheiros " +"contidos em <filename>/etc/apt/sources.list.d/</filename> estão desenhados " +"para suportar qualquer número de fontes activas e uma variedade de meios de " +"fontes. Os ficheiros listam uma fonte por linha (estilo-uma-linha) ou contêm " +"múltiplas estrofes definindo uma ou mais fontes por estrofe (estilo deb822), " +"com a fonte de maior preferência listada em primeiro lugar (no caso de uma " +"versão única estar disponÃvel a partir de mais do que uma fonte). A " +"informação disponÃvel a partir das fontes configuradas é obtida pelo " +"<command>apt-get update</command> (ou por um comando equivalente de outro " +"front-end do APT)." #. type: Content of: <refentry><refsect1><title> #: sources.list.5.xml @@ -7386,17 +7473,6 @@ msgstr "sources.list.d" #. type: Content of: <refentry><refsect1><para> #: sources.list.5.xml -#, fuzzy -#| msgid "" -#| "The <filename>/etc/apt/sources.list.d</filename> directory provides a way " -#| "to add sources.list entries in separate files. The format is the same as " -#| "for the regular <filename>sources.list</filename> file. File names need " -#| "to end with <filename>.list</filename> and may only contain letters (a-z " -#| "and A-Z), digits (0-9), underscore (_), hyphen (-) and period (.) " -#| "characters. Otherwise APT will print a notice that it has ignored a " -#| "file, unless that file matches a pattern in the <literal>Dir::Ignore-" -#| "Files-Silently</literal> configuration list - in which case it will be " -#| "silently ignored." msgid "" "The <filename>/etc/apt/sources.list.d</filename> directory provides a way to " "add sources.list entries in separate files. Two different file formats are " @@ -7410,19 +7486,21 @@ msgid "" "ignored." msgstr "" "O directório <filename>/etc/apt/sources.list.d</filename> disponibiliza um " -"modo de adicionar entradas na sources.list em ficheiros separados. O formato " -"é o mesmo que para o ficheiro <filename>sources.list</filename> regular. Os " -"nomes de ficheiros precisam acabar com <filename>.list</filename> e apenas " -"podem conter letras (a-z e A-Z), dÃgitos (0-9), e os caracteres underscore " -"(_), menos (-) e ponto (.). De outro modo o APT irá escrever um aviso de que " -"ignorou um ficheiro, a menos que esse ficheiro coincida com um padrão na " -"lista de configuração <literal>Dir::Ignore-Files-Silently</literal> - que " -"neste caso serão ignorados em silêncio." +"modo de adicionar entradas na sources.list em ficheiros separados. São " +"permitidos dois formatos diferentes de ficheiro como descrito nas próximas " +"duas secções. Os nomes de ficheiros precisam de ter ou a extensão <filename>." +"list</filename> ou <filename>.sources</filename> dependendo do formato " +"contido. Os nomes dos ficheiros podem apenas conter letras (a-z e A-Z), " +"dÃgitos (0-9), e os caracteres underscore (_), menos (-) e ponto (.). De " +"outro modo o APT irá escrever um aviso de que ignorou um ficheiro, a menos " +"que esse ficheiro coincida com um padrão na lista de configuração " +"<literal>Dir::Ignore-Files-Silently</literal> - que neste caso serão " +"ignorados em silêncio." #. type: Content of: <refentry><refsect1><title> #: sources.list.5.xml msgid "One-Line-Style Format" -msgstr "" +msgstr "Formato Estilo-Uma-Linha" #. type: Content of: <refentry><refsect1><para> #: sources.list.5.xml @@ -7443,6 +7521,22 @@ msgid "" "as separators, which instead of replacing the default with the given " "value(s) modify the default value(s) to remove or include the given values." msgstr "" +"Os ficheiros neste formato têm a extensão <filename>.list</filename>. Cada " +"linha que especifica uma fonte começa com um tipo (ex. <literal>deb-src</" +"literal>) seguido de opções e argumentos para esse tipo. Entradas " +"individuais não podem ser continuadas até a linha seguinte. As linhas vezias " +"são ignoradas,e um caractere <literal>#</literal> em qualquer pondo de uma " +"linha marca o restante da linha como um comentário. Consequentemente uma " +"entrada pode ser desactivada ao comentar a linha inteira. Se for preciso " +"fornecer opções, estas são separadas por espaços e elas todas juntas são " +"posicionas entre parênteses rectos (<literal>[]</literal>) incluÃdos na " +"linha após o tipo e separado dele por um espaço. Se uma opção permitir " +"vários valores estes são separados entre eles com uma vÃrgula (<literal>,</" +"literal>). Um nome de opção é separado do(s) seu(s) valor(es) por um sinal " +"de igual (<literal>=</literal>). Opções de multi-valor também têm <literal>-" +"=</literal> e <literal>+=</literal> como separadores, os quais em vez de " +"substituir a predefinição pelos valor(es) fornecidos modificam os valor(es) " +"predefinidos para remover ou incluir os valores fornecidos." #. type: Content of: <refentry><refsect1><para> #: sources.list.5.xml @@ -7453,11 +7547,16 @@ msgid "" "expect to encounter options as they were uncommon before the introduction of " "multi-architecture support." msgstr "" +"Este é o formato tradicional e suportado por todas as versões do apt. Note " +"que nem todas as opções descritas abaixo são suportadas por todas as versões " +"do apt. Note também que algumas aplicações mais antigas que analisem este " +"formato por si mesmas podem não esperar encontrar opções pois estas não eram " +"comuns antes da introdução do suporte a multi-arquitecturas." #. type: Content of: <refentry><refsect1><title> #: sources.list.5.xml msgid "deb822-Style Format" -msgstr "" +msgstr "Formato Estilo-deb822" #. type: Content of: <refentry><refsect1><para> #: sources.list.5.xml @@ -7480,6 +7579,24 @@ msgid "" "<literal>Architectures-Add</literal> and <literal>Architectures-Remove</" "literal> to modify the default value rather than replacing it." msgstr "" +"Os ficheiros neste formato têm a extensão <filename>.sources</filename>. O " +"formato é semelhante em sintaxe a outros ficheiros usados por Debian e seus " +"derivados, tais como os ficheiros de meta-dados que o apt irá descarregar " +"das fontes configuradas ou o ficheiro <filename>debian/control</filename> de " +"um pacote fonte Debian. As entradas individuais são separadas por uma linha " +"vazia; as linha vazias adicionais são ignoradas, e um caractere <literal>#</" +"literal> no inicia da linha marca a linha inteira como um comentário. Uma " +"entrada pode assim ser desactivada ao comentar cada linha que pertence à " +"estrofe, mas é geralmente mais fácil adicionar o campo \"Enabled: no\" à " +"estrofe para desactivar a entrada. Removendo o campo ou defini-lo para \"yes" +"\" volta a activá-la. As opções têm a mesma sintaxe que todos os outros " +"campos. Um nome de campo é separado por dois pontos (<literal>:</literal>) e " +"opcionalmente por espaços dos seus valor(es). Note especialmente que " +"múltiplos valores são separados por espaços em branco (como espaços, tabs e " +"novas-linhas), não por vÃrgulas como no formado de uma-linha. Os campos de " +"multi-valor como <literal>Architectures</literal> também têm " +"<literal>Architectures-Add</literal> e <literal>Architectures-Remove</" +"literal> para modificar o valor predefinido em vez de o substituir." #. type: Content of: <refentry><refsect1><para> #: sources.list.5.xml @@ -7495,28 +7612,25 @@ msgid "" "adopt this format already, but may encounter problems with software not " "supporting the format yet." msgstr "" +"Este é um novo formato suportado pelo apt desde versão 1.1. As versões " +"anteriores ignoravam tais ficheiros com uma mensagem descrita antes. É " +"objectivo tornar gradualmente este formato no formato predefinido, " +"descontinuando o anteriormente descrito formato de estilo-uma-linha, pois é " +"mais fácil de criar, aumentar e modificar para as pessoas e para as máquinas " +"especialmente se estiverem envolvidas muitas fontes e/ou opções. Os " +"desenvolvedores que estão a trabalhar com e/ou a analisar fontes do apt são " +"altamente encorajados a adicionar suporte a este formato e a contactar a " +"equipa do APT para coordenar e partilhar este trabalho. Os utilizadores " +"podem já livremente adoptar este formato, mas podem encontrar problemas com " +"software que ainda não suporte o formato." #. type: Content of: <refentry><refsect1><title> #: sources.list.5.xml -#, fuzzy -#| msgid "The deb and deb-src types" msgid "The deb and deb-src Types: General Format" -msgstr "Os tipos deb e deb-src" +msgstr "Os Tipos deb e deb-src: Formato Geral" #. type: Content of: <refentry><refsect1><para> #: sources.list.5.xml -#, fuzzy -#| msgid "" -#| "The <literal>deb</literal> type references a typical two-level Debian " -#| "archive, <filename>distribution/component</filename>. The " -#| "<literal>distribution</literal> is generally an archive name like " -#| "<literal>stable</literal> or <literal>testing</literal> or a codename " -#| "like <literal>&debian-stable-codename;</literal> or <literal>&debian-" -#| "testing-codename;</literal> while component is one of <literal>main</" -#| "literal>, <literal>contrib</literal> or <literal>non-free</literal>. The " -#| "<literal>deb-src</literal> type references a Debian distribution's source " -#| "code in the same form as the <literal>deb</literal> type. A <literal>deb-" -#| "src</literal> line is required to fetch source indexes." msgid "" "The <literal>deb</literal> type references a typical two-level Debian " "archive, <filename>distribution/component</filename>. The " @@ -7531,7 +7645,7 @@ msgid "" msgstr "" "O tipo <literal>deb</literal> descreve um arquivo Debian tÃpico de dois " "nÃveis, <filename>distribution/component</filename>. A " -"<literal>distribution</literal> é geralmente um nome de arquivo como " +"<literal>distribution</literal> é geralmente um nome de uma suite como " "<literal>stable</literal> ou <literal>testing</literal> ou um nome de código " "como <literal>&debian-stable-codename;</literal> ou <literal>&debian-testing-" "codename;</literal> enquanto que componente é um de <literal>main</literal>, " @@ -7542,16 +7656,12 @@ msgstr "" #. type: Content of: <refentry><refsect1><para> #: sources.list.5.xml -#, fuzzy -#| msgid "" -#| "The format for a <filename>sources.list</filename> entry using the " -#| "<literal>deb</literal> and <literal>deb-src</literal> types is:" msgid "" "The format for two one-line-style entries using the <literal>deb</literal> " "and <literal>deb-src</literal> types is:" msgstr "" -"O formato para uma entrada na <filename>sources.list</filename> usando os " -"tipos <literal>deb</literal> e <literal>deb-src</literal> é:" +"O formato para duas entradas estilo-uma-linha usando os tipos <literal>deb</" +"literal> e <literal>deb-src</literal> é:" #. type: Content of: <refentry><refsect1><literallayout> #: sources.list.5.xml @@ -7560,6 +7670,8 @@ msgid "" "deb [ option1=value1 option2=value2 ] uri suite [component1] [component2] [...]\n" "deb-src [ option1=value1 option2=value2 ] uri suite [component1] [component2] [...]" msgstr "" +"deb [ option1=value1 option2=value2 ] uri suite [component1] [component2] [...]\n" +"deb-src [ option1=value1 option2=value2 ] uri suite [component1] [component2] [...]" #. type: Content of: <refentry><refsect1><para><literallayout> #: sources.list.5.xml @@ -7573,32 +7685,25 @@ msgid "" " option2: value2\n" " " msgstr "" +" Types: deb deb-src\n" +" URIs: uri\n" +" Suites: suite\n" +" Components: [component1] [component2] [...]\n" +" option1: value1\n" +" option2: value2\n" +" " #. type: Content of: <refentry><refsect1><para> #: sources.list.5.xml -#, fuzzy -#| msgid "" -#| "Alternatively a rfc822 style format is also supported: <placeholder type=" -#| "\"literallayout\" id=\"0\"/>" msgid "" "Alternatively the equivalent entry in deb822 style looks like this: " "<placeholder type=\"literallayout\" id=\"0\"/>" msgstr "" -"Em alternativa, é também suportado um formato estilo rfc822: <placeholder " -"type=\"literallayout\" id=\"0\"/>" +"Em alternativa, a entrada equivalente em estilo deb822 parece-se com isto: " +"<placeholder type=\"literallayout\" id=\"0\"/>" #. type: Content of: <refentry><refsect1><para> #: sources.list.5.xml -#, fuzzy -#| msgid "" -#| "The URI for the <literal>deb</literal> type must specify the base of the " -#| "Debian distribution, from which APT will find the information it needs. " -#| "<literal>suite</literal> can specify an exact path, in which case the " -#| "components must be omitted and <literal>suite</literal> must end with a " -#| "slash (<literal>/</literal>). This is useful for the case when only a " -#| "particular sub-section of the archive denoted by the URI is of interest. " -#| "If <literal>suite</literal> does not specify an exact path, at least one " -#| "<literal>component</literal> must be present." msgid "" "The URI for the <literal>deb</literal> type must specify the base of the " "Debian distribution, from which APT will find the information it needs. " @@ -7614,21 +7719,12 @@ msgstr "" "precisa. <literal>suite</literal> pode especificar um caminho exacto, que no " "caso os componente têm de ser omitidos e <literal>suite</literal> deve " "terminar com uma barra (<literal>/</literal>). Isto é útil para o caso de " -"apenas ser de interesse uma sub-secção particular do arquivo denotado pelo " -"URI. Se <literal>suite</literal> não especificar um caminho exacto, pelo " -"menos um <literal>component</literal> tem de estar presente." +"apenas ser de interesse um sub-directório particular do arquivo denotado " +"pelo URI. Se <literal>suite</literal> não especificar um caminho exacto, " +"pelo menos um <literal>component</literal> tem de estar presente." #. type: Content of: <refentry><refsect1><para> #: sources.list.5.xml -#, fuzzy -#| msgid "" -#| "<literal>suite</literal> may also contain a variable, <literal>$(ARCH)</" -#| "literal> which expands to the Debian architecture (such as " -#| "<literal>amd64</literal> or <literal>armel</literal>) used on the system. " -#| "This permits architecture-independent <filename>sources.list</filename> " -#| "files to be used. In general this is only of interest when specifying an " -#| "exact path, <literal>APT</literal> will automatically generate a URI with " -#| "the current architecture otherwise." msgid "" "<literal>suite</literal> may also contain a variable, <literal>$(ARCH)</" "literal> which expands to the Debian architecture (such as <literal>amd64</" @@ -7643,25 +7739,11 @@ msgstr "" "literal> ou <literal>armel</literal>) usada no sistema. Isto permite que " "seja usados ficheiros <filename>sources.list</filename> independentes da " "arquitectura. Em geral, isto é apenas de interesse quando se especifica um " -"caminho exacto. De outro modo o <literal>APT</literal> irá gerar " +"caminho exacto; de outro modo o <literal>APT</literal> irá gerar " "automaticamente um URI com a arquitectura actual." #. type: Content of: <refentry><refsect1><para> #: sources.list.5.xml -#, fuzzy -#| msgid "" -#| "In the traditional style sources.list format since only one distribution " -#| "can be specified per line it may be necessary to have multiple lines for " -#| "the same URI, if a subset of all available distributions or components at " -#| "that location is desired. APT will sort the URI list after it has " -#| "generated a complete set internally, and will collapse multiple " -#| "references to the same Internet host, for instance, into a single " -#| "connection, so that it does not inefficiently establish an FTP " -#| "connection, close it, do something else, and then re-establish a " -#| "connection to that same host. This feature is useful for accessing busy " -#| "FTP sites with limits on the number of simultaneous anonymous users. APT " -#| "also parallelizes connections to different hosts to more effectively deal " -#| "with sites with low bandwidth." msgid "" "Especially in the one-line-style format since only one distribution can be " "specified per line it may be necessary to have multiple lines for the same " @@ -7674,18 +7756,16 @@ msgid "" "connections to different hosts to more effectively deal with sites with low " "bandwidth." msgstr "" -"No estilo tradicional, o formato do sources.list, como apenas pode ser " +"Especialmente no formato de estilo uma-linha como apenas pode ser " "especificada por linha uma distribuição, pode ser necessário ter várias " "linhas para o mesmo URI, se só for desejado um sub-conjunto de todas as " "distribuições e componentes dessa localização. O APT irá ordenar a lista de " "URI após ter gerado internamente um conjunto completo, e irá desabar as " "várias referências à mesma máquina na Internet, por exemplo, numa única " -"ligação, para que não estabeleça uma ligação FTP ineficiente, a feche, faça " -"outra coisa, e depois volte a estabelecer ligação à mesma máquina. Esta " -"funcionalidade é útil para aceder a sites FTP ocupados que limitam o número " -"de utilizadores anónimos em simultâneo. O APT também paraleliza ligações a " -"máquinas diferentes para lidar mais eficientemente com sites com largura de " -"banda baixa." +"ligação, para que não estabeleça uma ligação ineficiente, a feche, faça " +"outra coisa, e depois volte a estabelecer ligação à mesma máquina. O APT " +"também paraleliza ligações a máquinas diferentes para lidar mais " +"eficientemente com sites com largura de banda baixa." #. type: Content of: <refentry><refsect1><para> #: sources.list.5.xml @@ -7705,13 +7785,13 @@ msgstr "" #: sources.list.5.xml #, no-wrap msgid "&sourceslist-list-format;" -msgstr "" +msgstr "&sourceslist-list-format;" #. type: Content of: <refentry><refsect1><para><literallayout> #: sources.list.5.xml #, no-wrap msgid "&sourceslist-sources-format;" -msgstr "" +msgstr "&sourceslist-sources-format;" #. type: Content of: <refentry><refsect1><para> #: sources.list.5.xml @@ -7720,13 +7800,15 @@ msgid "" "line-style format: <placeholder type=\"literallayout\" id=\"0\"/> or like " "this in deb822 style format: <placeholder type=\"literallayout\" id=\"1\"/>" msgstr "" +"Como um exemplo, as fontes da sua distribuição podem-se parecer com isto no " +"formato estilo uma-linha: <placeholder type=\"literallayout\" id=\"0\"/> ou " +"com isto no formato estilo deb822: <placeholder type=\"literallayout\" id=" +"\"1\"/>" #. type: Content of: <refentry><refsect1><title> #: sources.list.5.xml -#, fuzzy -#| msgid "The deb and deb-src types" msgid "The deb and deb-src types: Options" -msgstr "Os tipos deb e deb-src" +msgstr "Os tipos deb e deb-src: Opções" #. type: Content of: <refentry><refsect1><para> #: sources.list.5.xml @@ -7741,37 +7823,31 @@ msgid "" "names explicitly here. Unsupported options are silently ignored by all APT " "versions." msgstr "" +"Cada entrada de fonte pode ter opções especificas para modificar qual fonte " +"é acedida e como os dados são adquiridos dela. O formato, sintaxe e nomes " +"das opções varia entre os formatos de estilo-uma-linha e estilo-deb822 como " +"descrito, mas estes não têm as mesmas opções disponÃveis. Para simplificar " +"listamos o nome-de-campo deb822 e disponibilizamos o nome de uma-linha entre " +"parênteses. Lembre-se que além de definir explicitamente opções de multi-" +"valor, existe também a opção de modificá-os com base na predefinição, mas " +"não estamos a listar explicitamente esses nomes aqui. As opções não " +"suportadas são ignoradas em silêncio por todas as versões do APT." #. type: Content of: <refentry><refsect1><para><itemizedlist><listitem><para> #: sources.list.5.xml -#, fuzzy -#| msgid "" -#| "<literal>arch=<replaceable>arch1</replaceable>,<replaceable>arch2</" -#| "replaceable>,…</literal> can be used to specify for which architectures " -#| "information should be downloaded. If this option is not set all " -#| "architectures defined by the <literal>APT::Architectures</literal> option " -#| "will be downloaded." msgid "" "<option>Architectures</option> (<option>arch</option>) is a multivalue " "option defining for which architectures information should be downloaded. If " "this option isn't set the default is all architectures as defined by the " "<option>APT::Architectures</option> config option." msgstr "" -"<literal>arch=<replaceable>arch1</replaceable>,<replaceable>arch2</" -"replaceable>,…</literal> pode ser usado para especificar para quais " -"arquitecturas deve ser descarregada a informação. Se esta opção não estiver " -"definida, serão descarregadas todas as arquitecturas definidas pela opção " -"<literal>APT::Architectures</literal>." +"<option>Architectures</option> (<option>arch</option>) é uma opção multi-" +"valor que define para quais arquitecturas deve ser descarregada a " +"informação. Se esta opção não for definida é todas as arquitecturas como " +"definido pela opção de configuração <option>APT::Architectures</option>." #. type: Content of: <refentry><refsect1><para><itemizedlist><listitem><para> #: sources.list.5.xml -#, fuzzy -#| msgid "" -#| "<literal>arch=<replaceable>arch1</replaceable>,<replaceable>arch2</" -#| "replaceable>,…</literal> can be used to specify for which architectures " -#| "information should be downloaded. If this option is not set all " -#| "architectures defined by the <literal>APT::Architectures</literal> option " -#| "will be downloaded." msgid "" "<option>Languages</option> (<option>lang</option>) is a multivalue option " "defining for which languages information such as translated package " @@ -7779,11 +7855,11 @@ msgid "" "all languages as defined by the <option>Acquire::Languages</option> config " "option." msgstr "" -"<literal>arch=<replaceable>arch1</replaceable>,<replaceable>arch2</" -"replaceable>,…</literal> pode ser usado para especificar para quais " -"arquitecturas deve ser descarregada a informação. Se esta opção não estiver " -"definida, serão descarregadas todas as arquitecturas definidas pela opção " -"<literal>APT::Architectures</literal>." +"<option>Languages</option> (<option>lang</option>) é uma opção multi-valor " +"que define para quais linguagens deve ser descarregada informação tal como " +"as descrições de pacotes traduzidas. Se esta opção for definida a " +"predefinição é todas as linguagens como definido pela opção de configuração " +"<option>Acquire::Languages</option>." #. type: Content of: <refentry><refsect1><para><itemizedlist><listitem><para> #: sources.list.5.xml @@ -7796,6 +7872,14 @@ msgid "" "be enabled or disabled by using the <literal>Identifier</literal> field as " "an option with a boolean value instead of using this multivalue option." msgstr "" +"<option>Targets</option> (<option>target</option>) é uma opção multi-valor " +"que define quais alvos de download o apt irá tentar adquirir a partir desta " +"fonte. Se não for especificado, o valor predefinido é definido pelo scope de " +"configuração <option>Acquire::IndexTargets</option> (os alvos são " +"especificados pelo seu nome no campo <literal>Created-By</literal>). " +"Adicionalmente, pode-se activar ou desactivar alvos ao usar campo " +"<literal>Identifier</literal> como uma opção com um valor booleano em vez de " +"se usar esta opção multi-valor." #. type: Content of: <refentry><refsect1><para><itemizedlist><listitem><para> #: sources.list.5.xml @@ -7809,6 +7893,14 @@ msgid "" "the value of configuration option <option>Acquire::PDiffs</option> which " "defaults to <literal>yes</literal>." msgstr "" +"<option>PDiffs</option> (<option>pdiffs</option>) é um valor sim/não que " +"controla se o APT deve tentar usar PDiffs para actualizar Ãndices antigos em " +"vez de descarregar totalmente novos Ãndices. O valor desta opção é ignorado " +"se o repositório não anunciar a disponibilidade de PDiffs. Usa por " +"predefinição o valor da opção com o mesmo nome para um ficheiro Ãndice " +"especÃfico definido no scope <option>Acquire::IndexTargets</option>, o qual " +"usa por predefinição o valor da opção de configuração <option>Acquire::" +"PDiffs</option> o qual usa por predefinição <literal>yes</literal>." #. type: Content of: <refentry><refsect1><para><itemizedlist><listitem><para> #: sources.list.5.xml @@ -7826,6 +7918,20 @@ msgid "" "option> scope, which itself defaults to the value of configuration option " "<option>Acquire::By-Hash</option> which defaults to <literal>yes</literal>." msgstr "" +"<option>By-Hash</option> (<option>by-hash</option>) pode ter o valor " +"<literal>yes</literal>, <literal>no</literal> ou <literal>force</literal> e " +"controlam se o APT deve tentar obter Ãndices via um URL construÃdo a partir " +"de um hashsum do ficheiro esperado em vez de usar um nome de ficheiro " +"estável e bem conhecido do Ãndice. Usar isto pode evitar erros de " +"correspondência de hashsum, mas requer um mirror que suporte. Um valor " +"<literal>yes</literal> ou <literal>no</literal> activa/desactiva o uso desta " +"funcionalidade se esta fonte indicar suporte para tal, enquanto " +"<literal>force</literal> irá activar a funcionalidade independentemente do " +"que a fonte indique. Recorre à predefinição do valor da opção com o mesmo " +"nome para um ficheiro index especÃfico definido no scope <option>Acquire::" +"IndexTargets</option>, que o próprio usa por predefinição o valor da opção " +"de configuração <option>Acquire::By-Hash</option> a qual é predefinida para " +"<literal>yes</literal>." #. type: Content of: <refentry><refsect1><para> #: sources.list.5.xml @@ -7835,6 +7941,10 @@ msgid "" "entries and can not be varied between different components. APT will try to " "detect and error out on such anomalies." msgstr "" +"Mais ainda, existem opções que se definidas afectam <emphasis>todas</" +"emphasis> as fontes com o mesmo URL e Suite, então elas têm de ser definidas " +"em todas as tais entradas e não podem variar entre componentes diferentes. O " +"APT irá tentar detectar e terminar em erro em tais anomalias." #. type: Content of: <refentry><refsect1><para><itemizedlist><listitem><para> #: sources.list.5.xml @@ -7846,6 +7956,12 @@ msgid "" "set to <literal>yes</literal> they circumvent parts of &apt-secure; and " "should therefore not be used lightly!" msgstr "" +"<option>Allow-Insecure</option> (<option>allow-insecure</option>), " +"<option>Allow-Weak</option> (<option>allow-weak</option>) e <option>Allow-" +"Downgrade-To-Insecure</option> (<option>allow-downgrade-to-insecure</" +"option>) são valores booleanos os todos são predefinidos com <literal>no</" +"literal>. Se definidos para <literal>yes</literal> eles contornam partes de " +"&apt-secure; e por isto não devem ser usados de forma leviana!" #. type: Content of: <refentry><refsect1><para><itemizedlist><listitem><para> #: sources.list.5.xml @@ -7862,6 +7978,18 @@ msgid "" "even if the authentication checks passed successfully. The default value " "can't be set explicitly." msgstr "" +"<option>Trusted</option> (<option>trusted</option>) é um valor de três " +"estados o qual é predefinido para o APT decidir se uma fonte é de confiança " +"ou se levem ser activados avisos antes de, por ex, pacotes serem instalados " +"a partir dessa fonte. Esta opção pode ser usada para sobrepor essa decisão. " +"O valor <literal>yes</literal> diz ao APT que deve sempre considerar essa " +"fonte como de confiança, mesmo que não aprove nas verificações de " +"autenticação. Desactiva partes de &apt-secure;, e portanto apenas deve ser " +"usada num contexto local e de confiança (e se assim for mesmo) pois caso " +"contrário a segurança perde-se. O valor <literal>no</literal> faz o aposto, " +"fazendo com que a fonte seja lidada como não confiável mesmo que as " +"verificações de autenticação passem com sucesso. O valor predefinido não " +"pode ser regulado explicitamente." #. type: Content of: <refentry><refsect1><para><itemizedlist><listitem><para> #: sources.list.5.xml @@ -7884,6 +8012,27 @@ msgid "" "(only fingerprints can be specified there through). Otherwise all keys in " "the trusted keyrings are considered valid signers for this repository." msgstr "" +"<option>Signed-By</option> (<option>signed-by</option>) é uma opção para " +"requerer a um repositório para passar a verificação &apt-secure; com um " +"certo conjunto de chaves em vez das chaves de tudo confiança que o apt tem " +"configurado. É especificada como uma lista de caminhos absolutos para " +"ficheiros de chaveiro (têm de estar acessÃveis e legÃveis para o utilizador " +"do sistema <literal>_apt</literal>, portanto assegure que todos têm " +"permissões de leitura ao ficheiro) e impressões digitais de chaves para " +"seleccionar a partir destes chaveiros. Se não forem especificados nenhuns " +"ficheiros chaveiro, o predefinido é o chaveiro <filename>trusted.gpg</" +"filename> e todos os chaveiros no directório <filename>trusted.gpg.d/</" +"filename> (veja <command>apt-key fingerprint</command>). Se não for " +"especificada nenhuma impressão digital, são seleccionadas todas as chaves " +"nos chaveiros. Uma impressão digital irá também aceitar todas as assinaturas " +"por uma sub-chave dessa chave. Se isto não for desejado pode ser adicionado " +"um ponto de exclamação (<literal>!</literal>) à impressão digital para " +"desactivar este comportamento. A opção usa por predefinição o valor da opção " +"com o mesmo nome se for definida no ficheiro <filename>Release</filename> " +"previamente adquirido deste repositório (apenas impressões digitais podem " +"ser especificadas lá totalmente). Caso contrário, todas as chaves nos " +"chaveiros de confiança são consideradas assinantes válidos para este " +"repositório." #. type: Content of: <refentry><refsect1><para><itemizedlist><listitem><para> #: sources.list.5.xml @@ -7901,6 +8050,21 @@ msgid "" "literal>. Defaults to the value of configuration option <option>Acquire::" "Check-Valid-Until</option> which itself defaults to <literal>yes</literal>." msgstr "" +"<option>Check-Valid-Until</option> (<option>check-valid-until</option>) é " +"um valor yes/no que controla se o APT deverá tentar detectar ataques de " +"repetição. Um criador de repositório pode declarar uma hora limite para os " +"dados disponibilizados no repositório serem considerados como válidos, e se " +"esta hora for atingida, e nenhuns novos dados forem fornecidos, os dados são " +"considerados expirados e é provocado um erro. Para além de aumentar a " +"segurança, pois um atacante malicioso não pode enviar dados antigos " +"eternamente para impedir um utilizador de actualizar para uma nova versão, " +"isto também ajuda os utilizadores a identificar mirrors que não estão mais " +"actualizados. No entanto, alguns repositórios tais como os arquivos " +"históricos que não são mais actualizados propositadamente, assim esta " +"verificação pode ser desactivada ao definir esta opção para <literal>no</" +"literal>. Usa por predefinição o valor da opção de configuração " +"<option>Acquire::Check-Valid-Until</option> a qual ela própria usa por " +"predefinição <literal>yes</literal>." #. type: Content of: <refentry><refsect1><para><itemizedlist><listitem><para> #: sources.list.5.xml @@ -7917,6 +8081,18 @@ msgid "" "<option>Acquire::Min-ValidTime</option> and <option>Acquire::Max-ValidTime</" "option> which are both unset by default." msgstr "" +"<option>Valid-Until-Min</option> (<option>valid-until-min</option>) e " +"<option>Valid-Until-Max</option> (<option>valid-until-max</option>) podem " +"ser usadas para elevar ou baixar o perÃodo de tempo em segundos no qual os " +"dados deste repositório são considerados válidos. -Max pode ser " +"especialmente útil para definir o sue próprio valor se o repositório não " +"disponibilizar um campo Valid-Until no seu ficheiro Release, enquanto -Min " +"pode ser usado para aumentar o tempo válido em mirrors raramente " +"actualizados (locais) de um arquivo mais frequentemente actualizado mas " +"menos acessÃvel (o qual está também em sources.list) em vez de desactivar " +"completamente a verificação. Usa por predefinição o valor das opções de " +"configuração <option>Acquire::Min-ValidTime</option> and <option>Acquire::" +"Max-ValidTime</option> que estão ambas não definidas por predefinição." #. type: Content of: <refentry><refsect1><para><itemizedlist><listitem><para> #: sources.list.5.xml @@ -7927,6 +8103,11 @@ msgid "" "from the future. Disabling it also disables the <option>Check-Valid-Until</" "option> option mentioned above." msgstr "" +"<option>Check-Date</option> (<option>check-date</option>) é um valor yes/no " +"que controla se o APT deve considerar a hora da máquina correcta e assim " +"executar as verificações relacionadas com horas, tal como verificar que um " +"ficheiro Release não veio do futuro. Desactivá-lo também desactiva a opção " +"<option>Check-Valid-Until</option> mencionada em cima." #. type: Content of: <refentry><refsect1><para><itemizedlist><listitem><para> #: sources.list.5.xml @@ -7936,6 +8117,10 @@ msgid "" "configuration option <option>Acquire::Max-FutureTime</option> which is 10 " "seconds by default." msgstr "" +"<option>Date-Max-Future</option> (<option>date-max-future</option>) controla " +"quão longe do futuro um repositório pode estar. Usa por predefinição o valor " +"da opção de configuração <option>Acquire::Max-FutureTime</option> a qual é " +"10 segundo por predefinição." #. type: Content of: <refentry><refsect1><para><itemizedlist><listitem><para> #: sources.list.5.xml @@ -7949,6 +8134,14 @@ msgid "" "path will be tried instead of the InRelease file, and the fallback to " "<filename>Release</filename> files will be disabled." msgstr "" +"<option>InRelease-Path</option> (<option>inrelease-path</option>) determina " +"o caminho para o ficheiro InRelease, relativamente à posição normal de um " +"ficheiro <filename>InRelease</filename>. Por predefinição, esta opção não " +"está definida e o APT irá tentar obter um <filename>InRelease</filename> ou, " +"se isso falhar, um ficheiro <filename>Release</filename> e o seu ficheiro " +"associado <filename>Release.gpg</filename>. Ao definir esta opção, será " +"tentado o caminho especificado em vez do ficheiro InRelease, e o recurso a " +"ficheiros <filename>Release</filename> será desactivado." #. type: Content of: <refentry><refsect1><title> #: sources.list.5.xml @@ -7963,7 +8156,7 @@ msgstr "Os tipos de URI actualmente reconhecidos são:" #. type: Content of: <refentry><refsect1><para><variablelist><varlistentry><term> #: sources.list.5.xml msgid "(&apt-transport-http;)" -msgstr "" +msgstr "(&apt-transport-http;)" #. type: Content of: <refentry><refsect1><para><variablelist><varlistentry><listitem><para> #: sources.list.5.xml @@ -7978,6 +8171,15 @@ msgid "" "The authentication details for proxies can also be supplied via &apt-" "authconf;." msgstr "" +"O esquema http especifica um servidor HTTP para um arquivo e o método mais " +"comum usado. O URI pode incluir directamente informação de login se o " +"arquivo o requerer, mas deve ser preferÃvel o uso de &apt-authconf;. O " +"método também suporta proxies SOCKS5 e HTTP(S) sejam configurados via " +"configuração especÃfica do apt ou especificada pela variável de ambiente " +"<envar>http_proxy</envar> no formato (assumindo um proxy HTTP que requer " +"autenticação) <replaceable>http://user:pass@server:port/</replaceable>. Os " +"detalhes de autenticação para proxies também pode ser fornecidos via &apt-" +"authconf;." #. type: Content of: <refentry><refsect1><para><variablelist><varlistentry><listitem><para> #: sources.list.5.xml @@ -7989,11 +8191,18 @@ msgid "" "communication through as APTs data security model is independent of the " "chosen transport method. See &apt-secure; for details." msgstr "" +"Note que estas formas de autenticação são inseguras pois toda a comunicação " +"com o servidor remoto (ou proxy) não está encriptada, portanto um atacante " +"suficientemente capaz pode observar e guarda o login assim como todas as " +"outras interacções. O atacante pode <emphasis>não</emphasis> pode modificar " +"a comunicação totalmente pois o modelo de segurança de dados do APT é " +"independente do método de transporte escolhido. Veja &apt-secure; para mais " +"detalhes." #. type: Content of: <refentry><refsect1><para><variablelist><varlistentry><term> #: sources.list.5.xml msgid "(&apt-transport-https;)" -msgstr "" +msgstr "(&apt-transport-https;)" #. type: Content of: <refentry><refsect1><para><variablelist><varlistentry><listitem><para> #: sources.list.5.xml @@ -8006,16 +8215,24 @@ msgid "" "potentially still reveal which data was downloaded. If this is a concern the " "Tor-based schemes mentioned further below might be a suitable alternative." msgstr "" +"O esquema https especifica um servidor HTTPS para um arquivo e é muito " +"semelhante em utilização e opções disponÃveis ao esquema http. A principal " +"diferença é que a comunicação entre o apt e o servidor (ou proxy) é " +"encriptada. Note que a encriptação não previne um atacante de saber com qual " +"servidor (ou proxy) o apt está a comunicar e com uma análise mais profunda " +"pode potencialmente ainda revelar que dados estão a ser descarregados. Se " +"isto for preocupante, os esquemas baseados em Tor mencionados mais abaixo " +"podem ser uma alternativa apropriada." #. type: Content of: <refentry><refsect1><para><variablelist><varlistentry><term><command><replaceable> #: sources.list.5.xml msgid "scheme" -msgstr "" +msgstr "esquema" #. type: Content of: <refentry><refsect1><para><variablelist><varlistentry><term> #: sources.list.5.xml msgid "(&apt-transport-mirror;)" -msgstr "" +msgstr "(&apt-transport-mirror;)" #. type: Content of: <refentry><refsect1><para><variablelist><varlistentry><listitem><para> #: sources.list.5.xml @@ -8029,6 +8246,15 @@ msgid "" "ensuring that clients can acquire data even if some configured mirrors are " "not available." msgstr "" +"O esquema mirror especifica a localização de uma mirrorlist. Por " +"predefinição o esquema usado para a localização é <literal>http</literal>, " +"mas pode ser usado qualquer outro esquema via <command>mirror" +"+<replaceable>esquema</replaceable></command>. A própria mirrorlist pode " +"conter vários URIs diferentes para mirrors que o cliente do APT pode " +"transparentemente pegar, escolher e recorrer entre os pretendentes para " +"ajudar tanto com a distribuição da carga sobre os mirrors disponÃveis e " +"assegurando que os clientes podem adquirir dados mesmo que alguns dos " +"mirrors configurados não estejam disponÃveis." #. type: Content of: <refentry><refsect1><para><variablelist><varlistentry><listitem><para> #: sources.list.5.xml @@ -8043,19 +8269,14 @@ msgstr "" #. type: Content of: <refentry><refsect1><para><variablelist><varlistentry><listitem><para> #: sources.list.5.xml -#, fuzzy -#| msgid "" -#| "The cdrom scheme allows APT to use a local CD-ROM drive with media " -#| "swapping. Use the &apt-cdrom; program to create cdrom entries in the " -#| "source list." msgid "" "The cdrom scheme allows APT to use a local CD-ROM, DVD or USB drive with " "media swapping. Use the &apt-cdrom; program to create cdrom entries in the " "source list." msgstr "" -"O esquema cdrom permite ao APT usar uma drive de CD-ROM local com mudança de " -"media. Use o programa &apt-cdrom; para criar entradas cdrom na lista de " -"fontes." +"O esquema cdrom permite ao APT usar uma drive de CD-ROM, DVD ou caneta USB " +"local com mudança de media. Use o programa &apt-cdrom; para criar entradas " +"cdrom na lista de fontes." #. type: Content of: <refentry><refsect1><para><variablelist><varlistentry><listitem><para> #: sources.list.5.xml @@ -8066,19 +8287,14 @@ msgid "" "still need this method many configuration options for it are available in " "the <literal>Acquire::ftp</literal> scope and detailed in &apt-conf;." msgstr "" +"O esquema ftp especifica um servidor FTP para um arquivo. O uso de FTP está " +"em declÃnio em favor de <literal>http</literal> e <literal>https</literal> e " +"muitos arquivos ou nunca ofereceram ou estão a retirar o acesso FTP. Se você " +"ainda precisa deste método, estão disponÃveis muitas opções de configuração " +"no escopo <literal>Acquire::ftp</literal> e detalhadas em &apt-conf;." #. type: Content of: <refentry><refsect1><para><variablelist><varlistentry><listitem><para> #: sources.list.5.xml -#, fuzzy -#| msgid "" -#| "The ftp scheme specifies an FTP server for the archive. APT's FTP " -#| "behavior is highly configurable; for more information see the &apt-conf; " -#| "manual page. Please note that an FTP proxy can be specified by using the " -#| "<envar>ftp_proxy</envar> environment variable. It is possible to specify " -#| "an HTTP proxy (HTTP proxy servers often understand FTP URLs) using this " -#| "environment variable and <emphasis>only</emphasis> this environment " -#| "variable. Proxies using HTTP specified in the configuration file will be " -#| "ignored." msgid "" "Please note that an FTP proxy can be specified by using the " "<envar>ftp_proxy</envar> environment variable. It is possible to specify an " @@ -8087,14 +8303,12 @@ msgid "" "variable. Proxies using HTTP specified in the configuration file will be " "ignored." msgstr "" -"O esquema ftp especifica um servidor FTP para o arquivo. O comportamento FTP " -"do APT é altamente configurável; para mais informação veja o manual do &apt-" -"conf;. Por favor note que pode ser especificado um proxy FTP ao usar a " -"variável de ambiente <envar>ftp_proxy</envar>. É possÃvel especifica um " -"proxy HTTP (os servidores proxy HTTP geralmente compreendem URLs de FTP) " -"usando esta variável de ambiente e <emphasis>apenas</emphasis> esta variável " -"de ambiente. Os proxies que usam HTTP especificados no ficheiro de " -"configuração serão ignorados." +"Por favor note que pode ser especificado um proxy FTP ao usar a variável de " +"ambiente <envar>ftp_proxy</envar>. É possÃvel especifica um proxy HTTP (os " +"servidores proxy HTTP geralmente compreendem URLs de FTP) usando esta " +"variável de ambiente e <emphasis>apenas</emphasis> esta variável de " +"ambiente. Os proxies que usam HTTP especificados no ficheiro de configuração " +"serão ignorados." #. type: Content of: <refentry><refsect1><para><variablelist><varlistentry><listitem><para> #: sources.list.5.xml @@ -8130,15 +8344,6 @@ msgstr "adicionando mais tipos de URI reconhecÃveis" #. type: Content of: <refentry><refsect1><para><variablelist><varlistentry><listitem><para> #: sources.list.5.xml -#, fuzzy -#| msgid "" -#| "APT can be extended with more methods shipped in other optional packages, " -#| "which should follow the naming scheme <package>apt-transport-" -#| "<replaceable>method</replaceable></package>. For instance, the APT team " -#| "also maintains the package <package>apt-transport-https</package>, which " -#| "provides access methods for HTTPS URIs with features similar to the http " -#| "method. Methods for using e.g. debtorrent are also available - see &apt-" -#| "transport-debtorrent;." msgid "" "APT can be extended with more methods shipped in other optional packages, " "which should follow the naming scheme <package>apt-transport-" @@ -8149,10 +8354,9 @@ msgstr "" "O APT pode ser estendido com mais métodos lançados em outros pacotes " "opcionais, que devem seguir o esquema de nomeação <literal>apt-transport-" "<replaceable>método</replaceable></literal>. Por exemplo, a equipa do APT " -"também mantém o pacote <package>apt-transport-https</package>, o qual " -"disponibiliza métodos de acesso para URIs HTTPS com funcionalidades " -"semelhantes ao método http. Estão também disponÃveis métodos para usar por " -"exemplo o debtorrent - veja &apt-transport-debtorrent;." +"também mantém o pacote <package>apt-transport-tor</package>, o qual " +"disponibiliza métodos de acesso para URIs de HTTP e HTTPS com rota via rede " +"Tor." #. type: Content of: <refentry><refsect1><para> #: sources.list.5.xml @@ -8211,10 +8415,8 @@ msgstr "" #. type: Content of: <refentry><refsect1><para> #: sources.list.5.xml -#, fuzzy -#| msgid "Source line for the above" msgid "Sources specification for the above." -msgstr "Linha de fonte para o referido acima" +msgstr "Especificação de fontes para o referido acima." #. type: Content of: <refentry><refsect1><literallayout> #: sources.list.5.xml @@ -8394,15 +8596,6 @@ msgstr "" #. type: Content of: <refentry><refsect1><para> #: sources.list.5.xml -#, fuzzy -#| msgid "" -#| "Uses HTTP to access the archive at ftp.tlh.debian.org, under the universe " -#| "directory, and uses only files found under <filename>unstable/binary-" -#| "i386</filename> on i386 machines, <filename>unstable/binary-amd64</" -#| "filename> on amd64, and so forth for other supported architectures. [Note " -#| "this example only illustrates how to use the substitution variable; " -#| "official debian archives are not structured like this] <placeholder type=" -#| "\"literallayout\" id=\"0\"/>" msgid "" "Uses HTTP to access the archive at ftp.tlh.debian.org, under the universe " "directory, and uses only files found under <filename>unstable/binary-i386</" @@ -8418,7 +8611,7 @@ msgstr "" "filename> em amd64, e assim por diante para outras arquitecturas suportadas. " "[Note que este exemplo apenas mostra como usar a variável de substituição; " "os arquivos oficiais debian não estão estruturados assim] <placeholder type=" -"\"literallayout\" id=\"0\"/>" +"\"literallayout\" id=\"0\"/> <placeholder type=\"literallayout\" id=\"1\"/>" #. type: Content of: <refentry><refsect1><para> #: sources.list.5.xml @@ -8426,6 +8619,8 @@ msgid "" "Uses HTTP to get binary packages as well as sources from the stable, testing " "and unstable suites and the components main and contrib." msgstr "" +"Usa HTTP para obter pacotes binários assim como fontes a partir das suites " +"stable, testing e unstable e os componentes main e contrib." #. type: Content of: <refentry><refsect1><literallayout> #: sources.list.5.xml @@ -8438,6 +8633,12 @@ msgid "" "deb http://deb.debian.org/debian unstable main contrib\n" "deb-src http://deb.debian.org/debian unstable main contrib" msgstr "" +"deb http://deb.debian.org/debian stable main contrib\n" +"deb-src http://deb.debian.org/debian stable main contrib\n" +"deb http://deb.debian.org/debian testing main contrib\n" +"deb-src http://deb.debian.org/debian testing main contrib\n" +"deb http://deb.debian.org/debian unstable main contrib\n" +"deb-src http://deb.debian.org/debian unstable main contrib" #. type: Content of: <refentry><refsect1><literallayout> #: sources.list.5.xml @@ -8448,6 +8649,10 @@ msgid "" "Suites: stable testing unstable\n" "Components: main contrib\n" msgstr "" +"Types: deb deb-src\n" +"URIs: http://deb.debian.org/debian\n" +"Suites: stable testing unstable\n" +"Components: main contrib\n" #. type: Content of: <refentry><refsect1><para> #: sources.list.5.xml @@ -8549,7 +8754,7 @@ msgid "" "All output is sent to standard output; the input must be a seekable file." msgstr "" "Todas as saÃdas são enviadas para a saÃda standard, a entrada tem de ser um " -"ficheiro pesquisável." +"ficheiro passÃvel de pesquisa." #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> #: apt-sortpkgs.1.xml @@ -8683,19 +8888,6 @@ msgstr "" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> #: apt-ftparchive.1.xml -#, fuzzy -#| msgid "" -#| "The <literal>release</literal> command generates a Release file from a " -#| "directory tree. It recursively searches the given directory for " -#| "uncompressed <filename>Packages</filename> and <filename>Sources</" -#| "filename> files and ones compressed with <command>gzip</command>, " -#| "<command>bzip2</command> or <command>lzma</command> as well as " -#| "<filename>Release</filename> and <filename>md5sum.txt</filename> files by " -#| "default (<literal>APT::FTPArchive::Release::Default-Patterns</literal>). " -#| "Additional filename patterns can be added by listing them in " -#| "<literal>APT::FTPArchive::Release::Patterns</literal>. It then writes to " -#| "stdout a <filename>Release</filename> file containing an MD5, SHA1 and " -#| "SHA256 digest for each file." msgid "" "The <literal>release</literal> command generates a Release file from a " "directory tree. It recursively searches the given directory for uncompressed " @@ -8711,13 +8903,17 @@ msgid "" msgstr "" "O comando <literal>release</literal> gera um ficheiro Release a partir de " "uma árvore de directórios. Por predefinição, procura recursivamente no " -"directório fornecido por ficheiros <filename>Packages</filename> e " -"<filename>Sources</filename> não comprimidos e outros comprimidos com " -"<command>gzip</command>, <command>bzip2</command> ou <command>lzma</command> " -"assim como ficheiros <filename>Release</filename> e <filename>md5sum.txt</" -"filename> (<literal>APT::FTPArchive::Release::Default-Patterns</literal>). " -"Depois escreve para o stdout um ficheiro <filename>Release</filename> que " -"contém um resultado de MD5, SHA1 e SHA256 para cada ficheiro." +"directório fornecido por ficheiros <filename>Packages</filename>, " +"<filename>Sources</filename>, <filename>Contents</filename>, " +"<filename>Components</filename> e <filename>icons</filename> comprimidos e " +"não comprimidos assim como ficheiros <filename>Release</filename>, " +"<filename>Index</filename> e <filename>md5sum.txt</filename> por " +"predefinição. (<literal>APT::FTPArchive::Release::Default-Patterns</" +"literal>). Padrões adicionais de nomes de ficheiros pode ser adicionados ao " +"listá-los em <literal>APT::FTPArchive::Release::Patterns</literal>. Depois " +"escreve para o stdout um ficheiro <filename>Release</filename> que contém " +"(por predefinição) um resultado de MD5, SHA1, SHA256 e SHA512 para cada " +"ficheiro." #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> #: apt-ftparchive.1.xml @@ -8736,12 +8932,12 @@ msgstr "" "Valores para os campos de metadados adicionais no ficheiro Release são " "tomados a partir das variáveis correspondentes sob <literal>APT::FTPArchive::" "Release</literal>, ex. <literal>APT::FTPArchive::Release::Origin</literal>. " -"Os campos suportados são: <literal>Origin</literal>, <literal>Label</" +"Os campos suportados são <literal>Origin</literal>, <literal>Label</" "literal>, <literal>Suite</literal>, <literal>Version</literal>, " "<literal>Codename</literal>, <literal>Date</literal>, <literal>NotAutomatic</" "literal>, <literal>ButAutomaticUpgrades</literal>, <literal>Acquire-By-Hash</" "literal>, <literal>Valid-Until</literal>, <literal>Signed-By</literal>, " -"<literal>Architectures</literal>, <literal>Components</literal>, " +"<literal>Architectures</literal>, <literal>Components</literal> e " "<literal>Description</literal>." #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> @@ -8865,12 +9061,6 @@ msgstr "" #. type: Content of: <refentry><refsect1><refsect2><variablelist><varlistentry><listitem><para> #: apt-ftparchive.1.xml -#, fuzzy -#| msgid "" -#| "Sets the default compression schemes to use for the package index files. " -#| "It is a string that contains a space separated list of at least one of: " -#| "'.' (no compression), 'gzip' and 'bzip2'. The default for all compression " -#| "schemes is '. gzip'." msgid "" "Sets the default compression schemes to use for the package index files. It " "is a string that contains a space separated list of at least one of the " @@ -8878,9 +9068,10 @@ msgid "" "configuration scope. The default for all compression schemes is '. gzip'." msgstr "" "Define os esquemas de compressão predefinidos a usar para os ficheiros de " -"Ãndice Package. É uma string que contém uma lista separada por espaços de " -"pelo menos um de: '.' (nenhuma compressão), 'gzip' and 'bzip2'. A " -"predefinição para todos os esquemas de compressão é '. gzip'." +"Ãndice package. É uma string que contém uma lista separada por espaços de " +"pelo menos um dos compressores configurados via scope de configuração " +"<option>APT::Compressor</option>. A predefinição para todos os esquemas de " +"compressão é '. gzip'." #. type: Content of: <refentry><refsect1><refsect2><variablelist><varlistentry><listitem><para> #: apt-ftparchive.1.xml @@ -9206,6 +9397,13 @@ msgid "" "include information about architecture <literal>all</literal> packages in " "all files as they will be available in a dedicated file." msgstr "" +"Esta é uma lista separada por espaços de todas as arquitecturas que aparecem " +"sob a secção de busca. A arquitectura especial 'source' é usada para indicar " +"que esta árvore tem um arquivo fonte. A arquitectura 'all' assinala que " +"ficheiros especÃficos de arquitectura como o <filename>Packages</filename> " +"não devem incluir informação acerca de pacotes de <literal>todas</literal> " +"as arquitecturas em todos os ficheiros pois estes estarão disponÃveis num " +"ficheiro dedicado." #. type: Content of: <refentry><refsect1><refsect2><variablelist><varlistentry><listitem><para> #: apt-ftparchive.1.xml @@ -9394,15 +9592,15 @@ msgid "" "<literal>MD5</literal>, <literal>SHA1</literal>, <literal>SHA256</literal> " "or <literal>SHA512</literal>." msgstr "" -"Gera o sumário de verificação dado. Estas opções usam a predefinição de " -"ligadas, quando são desligadas os ficheiros de Ãndice gerados não terão os " -"campos de sumário de verificação onde tal for possÃvel Items de " +"Gera o sumário de verificação dado. Estas opções estão ligadas por " +"predefinição, quando são desligadas os ficheiros de Ãndice gerados não terão " +"os campos de sumário de verificação onde forem possÃveis. Items de " "Configuração: <literal>APT::FTPArchive::<replaceable>Checksum</replaceable></" "literal> e <literal>APT::FTPArchive::<replaceable>Index</replaceable>::" -"<replaceable>Checksum</replaceable></literal> onde " +"<replaceable>Checksum</replaceable></literal> Onde " "<literal><replaceable>Index</replaceable></literal> pode ser " "<literal>Packages</literal>, <literal>Sources</literal> ou <literal>Release</" -"literal> e o <literal><replaceable>Checksum</replaceable></literal> pode ser " +"literal> e <literal><replaceable>Checksum</replaceable></literal> pode ser " "<literal>MD5</literal>, <literal>SHA1</literal>, <literal>SHA256</literal> " "ou <literal>SHA512</literal>." @@ -9557,10 +9755,8 @@ msgstr "" #. type: Content of: <refentry><refnamediv><refpurpose> #: apt_auth.conf.5.xml -#, fuzzy -#| msgid "Configuration file for APT" msgid "Login configuration file for APT sources and proxies" -msgstr "Ficheiro de configuração para o APT" +msgstr "Ficheiro de configuração de Login para fontes e proxies do APT" #. type: Content of: <refentry><refsect1><para> #: apt_auth.conf.5.xml @@ -9572,29 +9768,30 @@ msgid "" "repository on the other hand shouldn't always be accessible by everyone and " "can hence not be placed in a file with world-readable file permissions." msgstr "" +"Os ficheiros de configuração do APT como &sources-list; ou &apt-conf; " +"precisam de estar acessÃveis para todos os que usam as ferramentas do apt no " +"sistema para terem acesso a toda a informação relacionadas com pacotes como " +"os pacotes disponÃveis num repositório. Por outro lado, a informação de " +"login necessária para ligação a um proxy ou para descarregar dados de um " +"repositório não deve estar sempre acessÃvel a todos e não deve ser colocada " +"num ficheiro com palavras legÃveis e permissões de leitura." #. type: Content of: <refentry><refsect1><para> #: apt_auth.conf.5.xml -#, fuzzy -#| msgid "" -#| "The APT preferences file <filename>/etc/apt/preferences</filename> and " -#| "the fragment files in the <filename>/etc/apt/preferences.d/</filename> " -#| "folder can be used to control which versions of packages will be selected " -#| "for installation." msgid "" "The APT auth.conf file <filename>/etc/apt/auth.conf</filename>, and .conf " "files inside <filename>/etc/apt/auth.conf.d</filename> can be used to store " "login information in a netrc-like format with restrictive file permissions." msgstr "" -"O ficheiro de preferências do APT <filename>/etc/apt/preferences</filename> " -"e os ficheiros fragmentados no directório <filename>/etc/apt/preferences.d/</" -"filename> podem ser usados para controlar quais as versões de pacotes irão " -"ser seleccionadas para instalação." +"O ficheiro auth.conf do APT <filename>/etc/apt/auth.conf</filename>, e os " +"ficheiros .conf dentro de <filename>/etc/apt/auth.conf.d</filename> podem " +"ser usados para armazenar informação de login num formato estilo netrc com " +"permissões de ficheiro restritas." #. type: Content of: <refentry><refsect1><title> #: apt_auth.conf.5.xml msgid "netrc-like format" -msgstr "" +msgstr "formato tipo netrc" #. type: Content of: <refentry><refsect1><para> #: apt_auth.conf.5.xml @@ -9606,6 +9803,13 @@ msgid "" "following tokens being recognized; Unknown tokens will be ignored. Tokens " "may be separated by spaces, tabs or newlines." msgstr "" +"O formato definido aqui é semelhante ao formato do ficheiro <filename>~/." +"netrc</filename> usado pelo <citerefentry><refentrytitle><command>ftp</" +"command></refentrytitle><manvolnum>1</manvolnum></citerefentry> e programas " +"semelhantes que interagem com servidores. É um formato simples baseado em " +"token com os seguintes tokens a serem reconhecidos. Os tokens desconhecidos " +"serão ignorados. Os tokens podem ser separados por espaços, tabs ou nova-" +"linha." #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> #: apt_auth.conf.5.xml @@ -9613,6 +9817,8 @@ msgid "" "<literal>machine</literal> <replaceable>hostname</replaceable>[:" "<replaceable>port</replaceable>][/<replaceable>path</replaceable>]" msgstr "" +"<literal>machine</literal> <replaceable>nome-de-máquina</replaceable>[:" +"<replaceable>porto</replaceable>][/<replaceable>caminho</replaceable>]" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> #: apt_auth.conf.5.xml @@ -9628,51 +9834,54 @@ msgid "" "end of file is reached or another <emphasis><literal>machine</literal></" "emphasis> token is encountered." msgstr "" +"As entradas são procuradas ao pesquisar pelo token " +"<emphasis><literal>machine</literal></emphasis> que corresponde ao nome de " +"máquina do URI para que o apt precisa de informação de login. Estendendo o " +"formato netrc, pode ser especificado um número de porto. Se nenhum porto for " +"fornecido o token corresponde a todos os portos. De modo semelhante, o " +"caminho é opcional e apenas necessário e útil se residirem no mesmo servidor " +"vários repositórios com informação de login diferentes. Um token de máquina " +"com um caminho corresponde se o caminho no URI começar com o caminho " +"fornecido no token. Quando existe uma correspondência, os tokens " +"subsequentes são processados, parando quando é alcançado o final do ficheiro " +"ou é encontrado outro token <emphasis><literal>machine</literal></emphasis>." #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> #: apt_auth.conf.5.xml -#, fuzzy -#| msgid "apt-get install <replaceable>package</replaceable>/sid\n" msgid "<literal>login</literal> <replaceable>name</replaceable>" -msgstr "apt-get install <replaceable>pacote</replaceable>/sid\n" +msgstr "<literal>login</literal> <replaceable>nome</replaceable>" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> #: apt_auth.conf.5.xml msgid "The username to be used." -msgstr "" +msgstr "O nome de utilizador a ser usado." #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> #: apt_auth.conf.5.xml -#, fuzzy -#| msgid "apt-get install <replaceable>package</replaceable>/sid\n" msgid "<literal>password</literal> <replaceable>string</replaceable>" -msgstr "apt-get install <replaceable>pacote</replaceable>/sid\n" +msgstr "<literal>password</literal> <replaceable>string</replaceable>" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> #: apt_auth.conf.5.xml msgid "The password to be used." -msgstr "" +msgstr "A palavra passe a ser usada" #. type: Content of: <refentry><refsect1><title> #: apt_auth.conf.5.xml -#, fuzzy -#| msgid "Examples" msgid "Example" -msgstr "Exemplos" +msgstr "Exemplo" #. type: Content of: <refentry><refsect1><para><literallayout> #: apt_auth.conf.5.xml -#, fuzzy, no-wrap -#| msgid "deb ftp://ftp.debian.org/debian &debian-stable-codename; contrib" +#, no-wrap msgid "deb http://example.org/debian &debian-stable-codename; main" -msgstr "deb ftp://ftp.debian.org/debian &debian-stable-codename; contrib" +msgstr "deb http://example.org/debian &debian-stable-codename; main" #. type: Content of: <refentry><refsect1><para><literallayout> #: apt_auth.conf.5.xml -#, fuzzy, no-wrap -#| msgid "deb ftp://ftp.debian.org/debian &debian-stable-codename; contrib" +#, no-wrap msgid "deb http://apt:debian@example.org/debian &debian-stable-codename; main" -msgstr "deb ftp://ftp.debian.org/debian &debian-stable-codename; contrib" +msgstr "deb http://apt:debian@example.org/debian &debian-stable-codename; main" #. type: Content of: <refentry><refsect1><para><literallayout> #: apt_auth.conf.5.xml @@ -9682,12 +9891,15 @@ msgid "" "login apt\n" "password debian" msgstr "" +"machine example.org\n" +"login apt\n" +"password debian" #. type: Content of: <refentry><refsect1><para><literallayout> #: apt_auth.conf.5.xml #, no-wrap msgid "machine example.org login apt password debian" -msgstr "" +msgstr "machine example.org login apt password debian" #. type: Content of: <refentry><refsect1><para><literallayout> #: apt_auth.conf.5.xml @@ -9697,6 +9909,9 @@ msgid "" "machine example.org/debian login apt password debian\n" "machine example.org/debian/ login apt password debian\n" msgstr "" +"machine example.org/deb login apt password debian\n" +"machine example.org/debian login apt password debian\n" +"machine example.org/debian/ login apt password debian\n" #. type: Content of: <refentry><refsect1><para><literallayout> #: apt_auth.conf.5.xml @@ -9708,6 +9923,11 @@ msgid "" "machine example.orga login apt password debian\n" "machine example.net login apt password debian\n" msgstr "" +"machine example.org:80 login apt password debian\n" +"machine example.org/deb/ login apt password debian\n" +"machine example.org/ubuntu login apt password debian\n" +"machine example.orga login apt password debian\n" +"machine example.net login apt password debian\n" #. type: Content of: <refentry><refsect1><para> #: apt_auth.conf.5.xml @@ -9723,11 +9943,22 @@ msgid "" "<placeholder type=\"literallayout\" id=\"4\"/> On the other hand neither of " "the following lines apply: <placeholder type=\"literallayout\" id=\"5\"/>" msgstr "" +"Fornecer informação de login para um utilizador chamado <literal>apt</" +"literal> com a palavra passe <literal>debian</literal> para a entrada " +"<placeholder type=\"literallayout\" id=\"0\"/> de &sources-list; pode ser " +"feito na entrada directamente: <placeholder type=\"literallayout\" id=\"1\"/" +"> Alternativamente, pode ser usada uma entrada como a seguinte no ficheiro " +"auth.conf: <placeholder type=\"literallayout\" id=\"2\"/> Ou " +"alternativamente dentro de uma linha única: <placeholder type=\"literallayout" +"\" id=\"3\"/> Se precisar de ser mais especÃfico, todas estas linha poderão " +"ser aplicadas no exemplo de entrada: <placeholder type=\"literallayout\" id=" +"\"4\"/> Por outro lado nenhuma das seguintes linhas aplicam-se: " +"<placeholder type=\"literallayout\" id=\"5\"/>" #. type: Content of: <refentry><refsect1><title> #: apt_auth.conf.5.xml msgid "Notes" -msgstr "" +msgstr "Notas" #. type: Content of: <refentry><refsect1><para> #: apt_auth.conf.5.xml @@ -9739,59 +9970,53 @@ msgid "" "hostname, but if you need multiple they should all have a path specified in " "the <literal>machine</literal> token." msgstr "" +"O suporte básico para esta funcionalidade está presente desde a versão " +"0.7.25, mas esteve sem documentação durante anos. A documentação foi " +"adicionada na versão 1.5 mudando também ligeiramente a implementação. Para o " +"máximo de compatibilidade regressiva, você deve evitar múltiplos tokens " +"<literal>machine</literal> com o mesmo nome-de-máquina, mas se precisar de " +"múltiplos eles deves todos ter um caminha especificado no token " +"<literal>machine</literal>." #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> #: apt_auth.conf.5.xml -#, fuzzy -#| msgid "<filename>/etc/apt/trustdb.gpg</filename>" msgid "<filename>/etc/apt/auth.conf</filename>" -msgstr "<filename>/etc/apt/trustdb.gpg</filename>" +msgstr "<filename>/etc/apt/auth.conf</filename>" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> #: apt_auth.conf.5.xml -#, fuzzy -#| msgid "" -#| "Show full versions for upgraded and installed packages. Configuration " -#| "Item: <literal>APT::Get::Show-Versions</literal>." msgid "" "Login information for APT sources and proxies in a netrc-like format. " "Configuration Item: <literal>Dir::Etc::netrc</literal>." msgstr "" -"Mostra as versões completas para pacotes actualizados e instalados. Item de " -"Configuração: <literal>APT::Get::Show-Versions</literal>." +"Informação de login para fontes e proxies do APT em formato estilo netrc. " +"Item de Configuração: <literal>Dir::Etc::netrc</literal>." #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> #: apt_auth.conf.5.xml -#, fuzzy -#| msgid "<filename>/etc/apt/trustdb.gpg</filename>" msgid "<filename>/etc/apt/auth.conf.d/*.conf</filename>" -msgstr "<filename>/etc/apt/trustdb.gpg</filename>" +msgstr "<filename>/etc/apt/auth.conf.d/*.conf</filename>" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> #: apt_auth.conf.5.xml -#, fuzzy -#| msgid "" -#| "Show full versions for upgraded and installed packages. Configuration " -#| "Item: <literal>APT::Get::Show-Versions</literal>." msgid "" "Login information for APT sources and proxies in a netrc-like format. " "Configuration Item: <literal>Dir::Etc::netrcparts</literal>." msgstr "" -"Mostra as versões completas para pacotes actualizados e instalados. Item de " -"Configuração: <literal>APT::Get::Show-Versions</literal>." +"Informação de login para fontes e proxies do APT em formato estilo netrc " +"Item de Configuração: <literal>Dir::Etc::netrcparts</literal>." #. type: Content of: <refentry><refsect1><para> #: apt_auth.conf.5.xml -#, fuzzy -#| msgid "&apt-conf;, &sources-list;, &apt-get;" msgid "&apt-conf; &sources-list;" -msgstr "&apt-conf;, &sources-list;, &apt-get;" +msgstr "&apt-conf; &sources-list;" #. type: Content of: <refentry><refnamediv><refpurpose> #: apt-transport-http.1.xml msgid "" "APT transport for downloading via the Hypertext Transfer Protocol (HTTP)" msgstr "" +"Transporte do APT para descarregar via Hypertext Transfer Protocol (HTTP)" #. type: Content of: <refentry><refsect1><para> #: apt-transport-http.1.xml @@ -9801,6 +10026,11 @@ msgid "" "used of all transports. Note that a transport is never called directly by a " "user but used by APT tools based on user configuration." msgstr "" +"Este transporte do APT permite o uso de repositórios acedidos via Hypertext " +"Transfer Protocol (HTTP). Está disponÃvel por predefinição e é provavelmente " +"o mais usado de todos os transportes. Note que um transporte nunca chamado " +"directamente por um utilizador mas é usado pelas ferramentas do APT baseadas " +"na configuração do utilizador." #. type: Content of: <refentry><refsect1><para> #: apt-transport-http.1.xml @@ -9814,6 +10044,15 @@ msgid "" "explained in detail in &apt-secure;. An overview of available transport " "methods is given in &sources-list;." msgstr "" +"HTTP é um protocolo de transporte não encriptado o que significa que toda a " +"comunicação com o servidor remoto (ou proxy) pode ser observada por um " +"atacante com capacidades suficientes que geralmente é referido por \"man in " +"the middle\" (MITM). No entanto, tal atacante <emphasis>não</emphasis> " +"consegue modificar a comunicação para comprometer a segurança do seu " +"sistema, pois o modelo de segurança dos dados do APT é independente do " +"método de transporte escolhido. Isto está explicado em detalhe em &apt-" +"secure;. Uma visão geral dos métodos de transporte disponÃveis é dada em " +"&sources-list;." #. type: Content of: <refentry><refsect1><para> #: apt-transport-http.1.xml @@ -9822,13 +10061,14 @@ msgid "" "ranging from proxy configuration to workarounds for specific server " "limitations." msgstr "" +"Várias opções podem ser definidas num ficheiro &apt-conf; para modificar " +"este comportamento, indo de configuração de proxy até maneiras de contornar " +"limitações especÃficas de servidores." #. type: Content of: <refentry><refsect1><refsect2><title> #: apt-transport-http.1.xml -#, fuzzy -#| msgid "User Configuration" msgid "Proxy Configuration" -msgstr "Configuração do utilizador" +msgstr "Configuração do Proxy" #. type: Content of: <refentry><refsect1><refsect2><para> #: apt-transport-http.1.xml @@ -9847,6 +10087,20 @@ msgid "" "<literal>https</literal>. Authentication details can be supplied via &apt-" "authconf; instead of including it in the URI directly." msgstr "" +"A variável de ambiente <envar>http_proxy</envar> é suportada pela " +"configuração de todo o sistema. Proxies especÃficos para o APT podem ser " +"configurados via opção <literal>Acquire::http::Proxy</literal>. Proxies que " +"devem ser usados apenas para certas máquinas podem ser especificados via " +"<literal>Acquire::http::Proxy::<replaceable>máquina</replaceable></literal>. " +"Até um controle mais afinado pode ser obtido via auto-detecção de proxy, " +"detalhado mais abaixo. Todas estas opções usam o formato URI " +"<literal><replaceable>esquema</replaceable>://[[<replaceable>utilizador</" +"replaceable>][:<replaceable>palavra-passe</" +"replaceable>]@]<replaceable>maquina</replaceable>[:<replaceable>porto</" +"replaceable>]/</literal>. OS esquemas URI suportados são <literal>socks5h</" +"literal> (SOCKS5 com resolução DNS remota), <literal>http</literal> e " +"<literal>https</literal>. Os detalhes de autenticação podem ser fornecidos " +"via &apt-authconf; em vez de os incluir directamente no URI." #. type: Content of: <refentry><refsect1><refsect2><para> #: apt-transport-http.1.xml @@ -9856,18 +10110,13 @@ msgid "" "environment variable <envar>no_proxy</envar> is also supported for the same " "purpose." msgstr "" +"as várias opções de configuração do APT suportam o valor especial " +"<literal>DIRECT</literal> significando que nenhum proxy deverá ser usado. A " +"variável de ambiente <envar>no_proxy</envar> é também suportada para o mesmo " +"objectivo." #. type: Content of: <refentry><refsect1><refsect2><para> #: apt-transport-http.1.xml -#, fuzzy -#| msgid "" -#| "Three settings are provided for cache control with HTTP/1.1 compliant " -#| "proxy caches. <literal>No-Cache</literal> tells the proxy not to use its " -#| "cached response under any circumstances. <literal>Max-Age</literal> sets " -#| "the allowed maximum age (in seconds) of an index file in the cache of the " -#| "proxy. <literal>No-Store</literal> specifies that the proxy should not " -#| "store the requested archive files in its cache, which can be used to " -#| "prevent the proxy from polluting its cache with (big) .deb files." msgid "" "Furthermore, there are three settings provided for cache control with " "HTTP/1.1 compliant proxy caches: <literal>Acquire::http::No-Cache</literal> " @@ -9878,35 +10127,23 @@ msgid "" "requested archive files in its cache, which can be used to prevent the proxy " "from polluting its cache with (big) .deb files." msgstr "" -"São disponibilizadas três definições para controle de cache como caches de " -"proxy compatÃveis com HTTP/1.1. <literal>No-Cache</literal> diz ao proxy " -"para não usar a sua resposta em cache sob nenhumas circunstâncias, " -"<literal>Max-Age</literal> define a idade máxima permitida (em segundos) de " -"um ficheiro Ãndice na cache do proxy. <literal>No-Store</literal> especifica " -"que o proxy não deve armazenar os ficheiros de arquivo pedidos na sua cache, " -"o que pode ser usado para prevenir que o proxy polua a sua cache com " -"(grandes) ficheiros .deb." +"Mais ainda, existem três definições disponibilizadas para controle de cache " +"como caches de proxy compatÃveis com HTTP/1.1. <literal>Acquire::http::No-" +"Cache</literal> diz ao proxy para não usar a sua resposta em cache sob " +"nenhumas circunstâncias, <literal>Acquire::http::Max-Age</literal> define a " +"idade máxima permitida (em segundos) de um ficheiro Ãndice na cache do " +"proxy. <literal>Acquire::http::No-Store</literal> especifica que o proxy não " +"deve armazenar os ficheiros de arquivo pedidos na sua cache, o que pode ser " +"usado para prevenir que o proxy polua a sua cache com (grandes) ficheiros ." +"deb." #. type: Content of: <refentry><refsect1><refsect2><title> #: apt-transport-http.1.xml -#, fuzzy -#| msgid "User Configuration" msgid "Automatic Proxy Configuration" -msgstr "Configuração do utilizador" +msgstr "Configuração do Proxy Automática" #. type: Content of: <refentry><refsect1><refsect2><para> #: apt-transport-http.1.xml -#, fuzzy -#| msgid "" -#| "<literal>Acquire::http::Proxy-Auto-Detect</literal> can be used to " -#| "specify an external command to discover the http proxy to use. Apt " -#| "expects the command to output the proxy on stdout in the style " -#| "<literal>http://proxy:port/</literal>. This will override the generic " -#| "<literal>Acquire::http::Proxy</literal> but not any specific host proxy " -#| "configuration set via <literal>Acquire::http::Proxy::$HOST</literal>. " -#| "See the &squid-deb-proxy-client; package for an example implementation " -#| "that uses avahi. This option takes precedence over the legacy option name " -#| "<literal>ProxyAutoDetect</literal>." msgid "" "<literal>Acquire::http::Proxy-Auto-Detect</literal> can be used to specify " "an external command to discover the HTTP proxy to use. The first and only " @@ -9917,14 +10154,13 @@ msgid "" "that the generic proxy settings should be used." msgstr "" "<literal>Acquire::http::Proxy-Auto-Detect</literal> pode ser usado para " -"especificar um comando externo para descobrir o proxy http a usar. O apt " -"espera que o comando forneça o resultado do proxy no stdout ao estilo " -"<literal>http://proxy:port/</literal>. Isto irá sobrepor o <literal>Acquire::" -"http::Proxy</literal> genérico mas não qualquer configuração especifica da " -"máquina proxy definida via <literal>Acquire::http::Proxy::$HOST</literal>. " -"Veja o pacote &squid-deb-proxy-client; para um exemplo de implementação que " -"usa avahi. Esta opção toma precedência sobre o nome de opção antigo " -"<literal>ProxyAutoDetect</literal>." +"especificar um comando externo para descobrir o proxy HTTP a usar. O " +"primeiro e único parâmetro é um URL que aponta para a máquina a contactar " +"para permitir uma configuração especÃfica para essa máquina. O APT espera " +"que o comando forneça o resultado do proxy no stdout numa única linha no " +"formato URI anteriormente especificado ou a palavra <literal>DIRECT</" +"literal> se não deverá ser usado nenhum proxy. Nenhum resultado fornecido " +"indica que devem ser usadas as definições de proxy genéricas." #. type: Content of: <refentry><refsect1><refsect2><para> #: apt-transport-http.1.xml @@ -9933,6 +10169,9 @@ msgid "" "proxy configuration is already set via <literal>Acquire::http::Proxy::" "<replaceable>host</replaceable></literal>." msgstr "" +"Note que a auto-detecção não será usada para uma máquina se uma configuração " +"de proxy especÃfica de máquina já estiver definida via <literal>Acquire::" +"http::Proxy::<replaceable>máquina</replaceable></literal>." #. type: Content of: <refentry><refsect1><refsect2><para> #: apt-transport-http.1.xml @@ -9940,6 +10179,8 @@ msgid "" "See the &squid-deb-proxy-client; and &auto-apt-proxy; packages for example " "implementations." msgstr "" +"Veja os pacotes &squid-deb-proxy-client; e &auto-apt-proxy; para exemplos de " +"implementações." #. type: Content of: <refentry><refsect1><refsect2><para> #: apt-transport-http.1.xml @@ -9947,38 +10188,27 @@ msgid "" "This option takes precedence over the legacy option name <literal>Acquire::" "http::ProxyAutoDetect</literal>." msgstr "" +"Esta opção toma precedência sobre a opção antiga de nome <literal>Acquire::" +"http::ProxyAutoDetect</literal>." #. type: Content of: <refentry><refsect1><refsect2><title> #: apt-transport-http.1.xml -#, fuzzy -#| msgid "User Configuration" msgid "Connection Configuration" -msgstr "Configuração do utilizador" +msgstr "Configuração de Ligação" #. type: Content of: <refentry><refsect1><refsect2><para> #: apt-transport-http.1.xml -#, fuzzy -#| msgid "" -#| "The option <literal>timeout</literal> sets the timeout timer used by the " -#| "method; this value applies to the connection as well as the data timeout." msgid "" "The option <literal>Acquire::http::Timeout</literal> sets the timeout timer " "used by the method; this value applies to the connection as well as the data " "timeout." msgstr "" -"A opção <literal>timeout</literal> define o tempo limite usado por este " -"método, este valor aplica-se à ligação assim como os tempos de limite de " -"dados." +"A opção <literal>Acquire::http::Timeout</literal> define o tempo limite " +"usado por este método, este valor aplica-se à ligação assim como os tempos " +"de limite de dados." #. type: Content of: <refentry><refsect1><refsect2><para> #: apt-transport-http.1.xml -#, fuzzy -#| msgid "" -#| "The used bandwidth can be limited with <literal>Acquire::http::Dl-Limit</" -#| "literal> which accepts integer values in kilobytes per second. The " -#| "default value is 0 which deactivates the limit and tries to use all " -#| "available bandwidth. Note that this option implicitly disables " -#| "downloading from multiple servers at the same time." msgid "" "The used bandwidth can be limited with <literal>Acquire::http::Dl-Limit</" "literal> which accepts integer values in kilobytes per second. The default " @@ -9994,15 +10224,6 @@ msgstr "" #. type: Content of: <refentry><refsect1><refsect2><para> #: apt-transport-http.1.xml -#, fuzzy -#| msgid "" -#| "The setting <literal>Acquire::http::Pipeline-Depth</literal> can be used " -#| "to enable HTTP pipelining (RFC 2616 section 8.1.2.2) which can be " -#| "beneficial e.g. on high-latency connections. It specifies how many " -#| "requests are sent in a pipeline. Previous APT versions had a default of " -#| "10 for this setting, but the default value is now 0 (= disabled) to avoid " -#| "problems with the ever-growing amount of webservers and proxies which " -#| "choose to not conform to the HTTP/1.1 specification." msgid "" "The setting <literal>Acquire::http::Pipeline-Depth</literal> can be used to " "enable HTTP pipelining (RFC 2616 section 8.1.2.2) which can be beneficial e." @@ -10015,10 +10236,11 @@ msgstr "" "A definição <literal>Acquire::http::Pipeline-Depth</literal> pode ser usada " "para activar o 'pipelining' de HTTP (RFC 2616 secção 8.1.2.2) a qual pode " "ser benéfica por exemplo em ligações de alta latência. Especifica quantos " -"pedidos são enviados num pipeline. As versões anteriores do APT tinham uma " -"predefinição de 10 para esta definição, mas o valor predefinido agora é 0 (= " -"desactivado) para evitar problemas com a quantidade crescente de servidores " -"web e proxies que escolheram não respeitar a especificação HTTP/1.1." +"pedidos são enviados num pipeline. O APT tenta detectar e contornar " +"servidores web e proxies com comportamentos impróprios durante a sua " +"execução, mas se você sabe que o seu não está em conformidade com a " +"especificação HTTP/1.1, a ligação via pipe pode ser desactivada ao definir o " +"valor para 0. Por predefinição está activado com o valor 10." #. type: Content of: <refentry><refsect1><refsect2><para> #: apt-transport-http.1.xml @@ -10049,6 +10271,10 @@ msgid "" "without file extensions to prevent the server from attempting content " "negotiation." msgstr "" +"<literal>Acquire::http::SendAccept</literal> está activa por predefinição e " +"envia um campo de cabeçalho <literal>Accept: text/*</literal> para o " +"servidor para pedidos sem extensão do ficheiro para prevenir que o servidor " +"tente negociação de conteúdo." #. type: Content of: <refentry><refsect1><literallayout> #: apt-transport-http.1.xml @@ -10069,18 +10295,30 @@ msgid "" "\tSendAccept \"false\";\n" "};\n" msgstr "" +"Acquire::http {\n" +"\tProxy::example.org \"DIRECT\";\n" +"\tProxy \"socks5h://apt:pass@127.0.0.1:9050\";\n" +"\tProxy-Auto-Detect \"/usr/local/bin/apt-http-proxy-auto-detect\";\n" +"\tNo-Cache \"true\";\n" +"\tMax-Age \"3600\";\n" +"\tNo-Store \"true\";\n" +"\tTimeout \"10\";\n" +"\tDl-Limit \"42\";\n" +"\tPipeline-Depth \"0\";\n" +"\tAllowRedirect \"false\";\n" +"\tUser-Agent \"My APT-HTTP\";\n" +"\tSendAccept \"false\";\n" +"};\n" #. type: Content of: <refentry><refsect1><para> #: apt-transport-http.1.xml -#, fuzzy -#| msgid "&apt-conf;, &apt-get;, &sources-list;" msgid "&apt-conf; &apt-authconf; &sources-list;" -msgstr "&apt-conf;, &apt-get;, &sources-list;" +msgstr "&apt-conf; &apt-authconf; &sources-list;" #. type: Content of: <refentry><refnamediv><refpurpose> #: apt-transport-https.1.xml msgid "APT transport for downloading via the HTTP Secure protocol (HTTPS)" -msgstr "" +msgstr "Transporte do APT para descarregar via Protocolo Seguro HTTP (HTTPS)" #. type: Content of: <refentry><refsect1><para> #: apt-transport-https.1.xml @@ -10091,6 +10329,12 @@ msgid "" "<package>apt-transport-https</package>. Note that a transport is never " "called directly by a user but used by APT tools based on user configuration." msgstr "" +"Este transporte do APT permite o uso de repositórios acedidos via HTTP " +"Secure protocol (HTTPS), também chamado de HTTP sobre TLS. Está disponÃvel " +"por predefinição desde o apt 1.5 e estava disponÃvel antes no pacote " +"<package>apt-transport-https</package>. Note que um transporte nunca é " +"chamado directamente por um utilizador mas usado pelas ferramentas do APT " +"com base na configuração do utilizador." #. type: Content of: <refentry><refsect1><para> #: apt-transport-https.1.xml @@ -10103,6 +10347,14 @@ msgid "" "might still reveal important details. An overview over available " "alternative transport methods is given in &sources-list;." msgstr "" +"HTTP é por si próprio um protocolo de transporte não encriptado (comprove " +"&apt-transport-http;), o qual, sendo indicado pelo S acrescentado, fica " +"embrulhado numa camada encriptada conhecida por Transport Layer Security " +"(TLS) para disponibilizar encriptação fim-para-fim. Um atacante com " +"habilidades suficientes pode mesmo assim observar os colegas de comunicação " +"e uma análise mais profunda à comunicação encriptada pode mesmo assim " +"revelar detalhes importantes. Uma visão geral sobre métodos de transporte " +"disponÃveis alternativos é dada em &sources-list;." #. type: Content of: <refentry><refsect1><para> #: apt-transport-https.1.xml @@ -10113,11 +10365,16 @@ msgid "" "http</literal>. This manpage will only document the options <emphasis>unique " "to https</emphasis>." msgstr "" +"O protocolo HTTPS é baseado no protocolo HTTP, assim todas as opções " +"suportadas pelo &apt-transport-http; são também suportadas via " +"<literal>Acquire::https</literal> e irão usa por predefinição os mesmos " +"valores especificados para <literal>Acquire::http</literal>. Esta manual irá " +"apenas documentar as opções <emphasis>únicas para https</emphasis>." #. type: Content of: <refentry><refsect1><refsect2><title> #: apt-transport-https.1.xml msgid "Server credentials" -msgstr "" +msgstr "Credenciais do Servidor" #. type: Content of: <refentry><refsect1><refsect2><para> #: apt-transport-https.1.xml @@ -10135,6 +10392,19 @@ msgid "" "whole chain is required. If you need to support multiple authorities, the " "only way is to concatenate everything." msgstr "" +"Por predefinição todos os pacotes confiáveis pelo sistema (veja o pacote " +"<package>ca-certificates</package>) são usados para a verificação do " +"certificado do servidor. Uma autoridade de certificação (CA) alternativa " +"pode ser configurada com a opção <literal>Acquire::https::CAInfo</literal> e " +"a sua opção especifica de máquina <literal>Acquire::https::CAInfo::" +"<replaceable>máquina</replaceable></literal>. A opção CAInfo especifica um " +"ficheiro feito de certificados CA (em formato PEM) todos concatenados para " +"criar a cadeia que o APT deve usar para verificar o caminho do seu " +"certificado de raiz auto-assinado. Se o servidor remoto fornecer a cadeia " +"inteira durante a transferência, o ficheiro precisa apenas de conter o " +"certificado de raiz. Caso contrário, é precisa a cadeia inteira. Se " +"precisar de suportar múltiplas autoridades, a única maneira é concatenar " +"tudo." #. type: Content of: <refentry><refsect1><refsect2><para> #: apt-transport-https.1.xml @@ -10144,11 +10414,16 @@ msgid "" "https::CRLFile::<replaceable>host</replaceable></literal>. As with the " "previous option, a file in PEM format needs to be specified." msgstr "" +"Uma lista de revogação de certificados personalizada (CRL) pode ser " +"configurada com as opções <literal>Acquire::https::CRLFile</literal> e " +"<literal>Acquire::https::CRLFile::<replaceable>máquina</replaceable></" +"literal>. Como a opção anterior, um ficheiro em formato PEM precisa de ser " +"especificado." #. type: Content of: <refentry><refsect1><refsect2><title> #: apt-transport-https.1.xml msgid "Disabling security" -msgstr "" +msgstr "Desactivar a segurança" #. type: Content of: <refentry><refsect1><refsect2><para> #: apt-transport-https.1.xml @@ -10163,6 +10438,16 @@ msgid "" "succeed. Again, this option is for debugging or testing purposes only as it " "removes all security provided by the use of HTTPS." msgstr "" +"Durante a autenticação do servidor, se a verificação do certificado falhar " +"por alguma razão (expirada, revogada, intermediários, etc), a ligação falha. " +"Isto é obviamente o que você espera em todos os casos e o que o valor " +"predefinido (true) da opção <literal>Acquire::https::Verify-Peer</literal> e " +"o que a variante especifica da máquina fornece. Se você sabe " +"<emphasis>exactamente</emphasis> o que está a fazer, definir esta opção para " +"\"<literal>false</literal>\" permite saltar a verificação de certificado de " +"peer e concluir a transacção com sucesso. Mais uma vez, esta opção serve " +"para objectivos de depuração e testes apenas pois ela remove toda a " +"segurança fornecida pelo uso de HTTPS." #. type: Content of: <refentry><refsect1><refsect2><para> #: apt-transport-https.1.xml @@ -10177,11 +10462,21 @@ msgid "" "the identity in its certificate, you can set the option to \"<literal>false</" "literal>\", which will prevent the comparison from being performed." msgstr "" +"De modo semelhante a opção <literal>Acquire::https::Verify-Host</literal> e " +"a sua variante especifica de máquina pode ser usada para desactivar uma " +"funcionalidade de segurança. O certificado fornecido pelo servidor inclui a " +"identidade do servidor a qual deve corresponder ao nome DNS usado para lhe " +"aceder. Por predefinição, e como pedido por RFC 2818, o nome do mirror é " +"verificado contra a identidade encontrada no certificado. Este comportamento " +"predefinido é seguro e não deve ser alterado, ,mas se você sabe que o " +"servidor que está a usar tem um nome DNS que não corresponde à identidade no " +"seu certificado, você pode definir a opção para \"<literal>false</literal>" +"\", o que irá impedir que a comparação seja feita." #. type: Content of: <refentry><refsect1><refsect2><title> #: apt-transport-https.1.xml msgid "Client authentication" -msgstr "" +msgstr "Autenticação do cliente" #. type: Content of: <refentry><refsect1><refsect2><para> #: apt-transport-https.1.xml @@ -10194,6 +10489,13 @@ msgid "" "in PEM format. In practice the use of the host-specific variants of both " "options is highly recommended." msgstr "" +"Para além de suportar autenticação baseada em palavra-passe (veja &apt-" +"authconf;) o HTTPS também suporta autenticação baseada em certificados do " +"cliente via <literal>Acquire::https::SSLCert</literal> e <literal>Acquire::" +"https::SSLKey</literal>. Estes devem ser definidos respectivamente no nome " +"de ficheiro do certificado de cliente X.509 e a chave privada (não " +"encriptada) associada, ambos em formato PEM. Na prática o uso de variantes " +"especificas da máquina de ambas opções é altamente recomendado." #. type: Content of: <refentry><refsect1><literallayout> #: apt-transport-https.1.xml @@ -10221,18 +10523,37 @@ msgid "" "\tSSLKey::example.org \"/path/to/client/key.pem\"\n" "};\n" msgstr "" +"Acquire::https {\n" +"\tProxy::example.org \"DIRECT\";\n" +"\tProxy \"socks5h://apt:pass@127.0.0.1:9050\";\n" +"\tProxy-Auto-Detect \"/usr/local/bin/apt-https-proxy-auto-detect\";\n" +"\tNo-Cache \"true\";\n" +"\tMax-Age \"3600\";\n" +"\tNo-Store \"true\";\n" +"\tTimeout \"10\";\n" +"\tDl-Limit \"42\";\n" +"\tPipeline-Depth \"0\";\n" +"\tAllowRedirect \"false\";\n" +"\tUser-Agent \"My APT-HTTPS\";\n" +"\tSendAccept \"false\";\n" +"\n" +"\tCAInfo \"/path/to/ca/certs.pem\";\n" +"\tCRLFile \"/path/to/all/crl.pem\";\n" +"\tVerify-Peer \"true\";\n" +"\tVerify-Host::broken.example.org \"false\";\n" +"\tSSLCert::example.org \"/path/to/client/cert.pem\";\n" +"\tSSLKey::example.org \"/path/to/client/key.pem\"\n" +"};\n" #. type: Content of: <refentry><refsect1><para> #: apt-transport-https.1.xml -#, fuzzy -#| msgid "&apt-get; &apt-cache; &apt-conf; &sources-list;" msgid "&apt-transport-http; &apt-conf; &apt-authconf; &sources-list;" -msgstr "&apt-get; &apt-cache; &apt-conf; &sources-list;" +msgstr "&apt-transport-http; &apt-conf; &apt-authconf; &sources-list;" #. type: Content of: <refentry><refnamediv><refpurpose> #: apt-transport-mirror.1.xml msgid "APT transport for more automated mirror selection" -msgstr "" +msgstr "Transporte do APT para selecção de mirror mais automatizada" #. type: Content of: <refentry><refsect1><para> #: apt-transport-mirror.1.xml @@ -10246,6 +10567,15 @@ msgid "" "Note that a transport is never called directly by a user but used by APT " "tools based on user configuration." msgstr "" +"Este transporte do APT não está por si só a implementar um protocolo para " +"aceder a repositórios locais ou remotos, mas obtêm uma mirrorlist e " +"redirecciona todos os pedidos para os mirro(s) retirados dessa lista, " +"acedendo a eles via outros transportes como &apt-transport-http;. A " +"funcionalidade básica esteve disponÃvel desde o apt 0.7.24, mas não esteve " +"documentada até ao apt 1.6 o qual continha uma reconstrução do transporte e " +"das suas funcionalidades suportadas. Note que um transporte nunca é chamado " +"directamente por um utilizador mas é usado pelas ferramentas do APT com base " +"na configuração do utilizador." #. type: Content of: <refentry><refsect1><para> #: apt-transport-mirror.1.xml @@ -10255,6 +10585,10 @@ msgid "" "the file is retrieved or no mirror is left in the list, transparently " "handling server downtimes and similar problems." msgstr "" +"Se a aquisição de um ficheiro via um mirror falhar, o método assegura que " +"outro mirror possÃvel da lista é tentado automaticamente até que o ficheiro " +"seja obtido ou não houver mais nenhum mirror na lista lidando " +"transparentemente com servidores desligados e problemas semelhantes." #. type: Content of: <refentry><refsect1><para> #: apt-transport-mirror.1.xml @@ -10264,6 +10598,9 @@ msgid "" "and the transports involved in accessing the chosen mirror(s) by the " "transport." msgstr "" +"As implicações de segurança do transporte dependem das considerações de " +"segurança associadas ao transporte usado para adquirir a mirrorlist e os " +"transportes envolvidos no acesso ao(s) mirror(s) escolhidos pelo transporte." #. type: Content of: <refentry><refsect1><para> #: apt-transport-mirror.1.xml @@ -10272,11 +10609,14 @@ msgid "" "is based entirely on the mirrors offered in the mirrorlist and the files APT " "needs to acquire." msgstr "" +"Este transporte presentemente não tem opções de configuração. A selecção do " +"mirror é inteiramente baseada nos mirrors oferecidos na mirrorlist e nos " +"ficheiros que o APT precisa de obter." #. type: Content of: <refentry><refsect1><refsect2><title> #: apt-transport-mirror.1.xml msgid "Mirrorlist format" -msgstr "" +msgstr "Formato de mirrorlist" #. type: Content of: <refentry><refsect1><refsect2><para> #: apt-transport-mirror.1.xml @@ -10289,6 +10629,13 @@ msgid "" "which might have specific requirements for the format of the remaining part " "of the URI." msgstr "" +"Uma mirrorlist contêm uma ou mais linhas cada uma especificando um URI para " +"um mirror. São ignoradas as linhas vazias e aquelas começadas com um " +"cardinal (<literal>#</literal>). Um URI começa sempre com um esquema URI que " +"define o transporte usado para esse mirror. Se por exemplo o URI começar com " +"<literal>http:</literal>, o transporte responsável é &apt-transport-http; o " +"qual pode ter requerimentos especÃficos para o formato da parte restante do " +"URI." #. type: Content of: <refentry><refsect1><refsect2><para> #: apt-transport-mirror.1.xml @@ -10299,6 +10646,11 @@ msgid "" ">= 1.6. Earlier apt versions will fail to parse mirrorlists using this " "feature.)" msgstr "" +"Podem ser fornecidos na mesma linha meta-dados acerca do mirror, separados " +"do URI por um tab. Múltiplos itens de meta-dados podem eles próprios serem " +"separados por tabs ou espaços. (Esta é uma funcionalidade avançada apenas " +"disponÃvel no apt >= 1.6. As versões anteriores do apt irão falhar ao " +"analisar mirrorlists que usem esta funcionalidade.)" #. type: Content of: <refentry><refsect1><refsect2><para> #: apt-transport-mirror.1.xml @@ -10307,11 +10659,14 @@ msgid "" "that the filename of the mirrorlist must specify the compression algorithm " "used; there is no auto-detection based on file contents." msgstr "" +"Desde o apt 1.6 que é também suportado o uso de mirrorlists comprimidas. " +"Note que o nome do ficheiro da mirrorlist têm de especificar o algoritmo de " +"compressão usado, não há auto-detecção baseada no conteúdo do ficheiro." #. type: Content of: <refentry><refsect1><refsect2><title> #: apt-transport-mirror.1.xml msgid "Mirror selection by metadata" -msgstr "" +msgstr "Selecção do Mirror por meta-dados" #. type: Content of: <refentry><refsect1><refsect2><para> #: apt-transport-mirror.1.xml @@ -10327,11 +10682,22 @@ msgid "" "(<literal>lang</literal>), suite name of the release (<literal>suite</" "literal>) and type of the file (<literal>type</literal>)." msgstr "" +"Como especificado no formato, um mirror pode ter meta-dados adicionais " +"acrescentados para impedir que um mirror seja seleccionado para obter um " +"ficheiro que não corresponda a esses meta-dados. Deste modo a mirrorlist " +"pode por exemplo conter mirrors parciais que servem apenas certas " +"arquitecturas e o APT irá automaticamente escolher um mirror diferente para " +"ficheiros que requeiram uma arquitectura não listada. São suportados limites " +"para a arquitectura (<literal>arch</literal>), nome de código do lançamento " +"(<literal>codename</literal>), componente do repositório onde o ficheiro " +"está (<literal>component</literal>), linguagem a que o ficheiro se aplica " +"(<literal>lang</literal>), nome de suite do lançamento (<literal>suite</" +"literal>) e o tipo do ficheiro (<literal>type</literal>)." #. type: Content of: <refentry><refsect1><refsect2><title> #: apt-transport-mirror.1.xml msgid "Fallback order for mirrors" -msgstr "" +msgstr "Ordem de recurso para mirrors" #. type: Content of: <refentry><refsect1><refsect2><para> #: apt-transport-mirror.1.xml @@ -10344,11 +10710,19 @@ msgid "" "possible number and are therefore tried last. The choice between mirrors " "with the same priority is again random." msgstr "" +"Se nenhuma prioridade for dada para um mirror via chave de meta-dados " +"<literal>priority</literal>, a ordem em que os mirrors são contactados é " +"aleatória. Se um certo conjunto de mirrors deve ser tentado primeiro antes " +"de qualquer outro, pode ser explicitamente definida uma prioridade. Os " +"mirrors com o número menor são tentados primeiro. Os mirrors que não têm " +"prioridade explÃcita definida são definidos com o número mais alto possÃvel " +"e assim são tentados em último. A escolha entre mirrors com a mesma " +"prioridade é de novo aleatória." #. type: Content of: <refentry><refsect1><refsect2><title> #: apt-transport-mirror.1.xml msgid "Allowed transports in a mirrorlist" -msgstr "" +msgstr "Transportes permitidos numa mirrorlist" #. type: Content of: <refentry><refsect1><refsect2><para> #: apt-transport-mirror.1.xml @@ -10362,6 +10736,14 @@ msgid "" "package>). See the documentation of these transports on how to use them " "with the mirror method." msgstr "" +"A disponibilidade e escolha dos transportes numa mirrorlist está limitada em " +"como io cliente do APT está a aceder à mirrorlist. Se for usado um " +"transporte local como <literal>file</literal> ou <literal>copy</literal>, a " +"mirrorlist também pode incluir fontes locais, enquanto que uma mirrorlist " +"acedida via <literal>http</literal> não pode. Adicionalmente, uma mirrorlist " +"não pode conter outra mirrorlist ou outros transportes de invólucro (como " +"<package>apt-transport-tor</package>). Veja a documentação destes " +"transportes em como os usar com o método de mirror." #. type: Content of: <refentry><refsect1><refsect2><para> #: apt-transport-mirror.1.xml @@ -10369,11 +10751,13 @@ msgid "" "Note that apt versions before 1.6 do not support any other transport than " "<literal>http</literal>." msgstr "" +"Note que as versões do apt anteriores a 1.6 não suportam mais nenhum " +"transporte para além de <literal>http</literal>." #. type: Content of: <refentry><refsect1><refsect2><title> #: apt-transport-mirror.1.xml msgid "Basic example" -msgstr "" +msgstr "Exemplo básico" #. type: Content of: <refentry><refsect1><refsect2><para> #: apt-transport-mirror.1.xml @@ -10381,6 +10765,9 @@ msgid "" "A basic mirrorlist example supported by all apt versions with a mirror " "method (>= 0.7.24) in which the client will pick any of the three mirrors:" msgstr "" +"Um exemplo de mirrorlist básico suportado por todas as versões do apt com um " +"método de mirror (>= 0.7.24) no qual o cliente irá pegar em qualquer um dos " +"três mirrors:" #. type: Content of: <refentry><refsect1><refsect2><literallayout> #: apt-transport-mirror.1.xml @@ -10390,6 +10777,9 @@ msgid "" "http://ftp.us.debian.org/debian/\n" "http://deb.debian.org/debian/\n" msgstr "" +"http://ftp.de.debian.org/debian/\n" +"http://ftp.us.debian.org/debian/\n" +"http://deb.debian.org/debian/\n" #. type: Content of: <refentry><refsect1><refsect2><para> #: apt-transport-mirror.1.xml @@ -10398,12 +10788,15 @@ msgid "" "txt</filename> on your machine it can be used like this in &sources-list; " "(since apt 1.6):" msgstr "" +"Assumindo que um ficheiro com este conteúdo está armazenado em <filename>/" +"etc/apt/mirrorlist.txt</filename> na sua máquina, pode ser usado desta " +"maneira em &sources-list; (desde o apt 1.6):" #. type: Content of: <refentry><refsect1><refsect2><literallayout> #: apt-transport-mirror.1.xml #, no-wrap msgid "deb mirror+file:/etc/apt/mirrorlist.txt &debian-stable-codename; main\n" -msgstr "" +msgstr "deb mirror+file:/etc/apt/mirrorlist.txt &debian-stable-codename; main\n" #. type: Content of: <refentry><refsect1><refsect2><para> #: apt-transport-mirror.1.xml @@ -10412,13 +10805,16 @@ msgid "" "so assuming it is available at <literal>http://apt.example.org/mirror.lst</" "literal> the sources.list entry from above could instead be written as:" msgstr "" +"Todas as versões do método mirror suportam uma mirrorlist acessÃvel via " +"HTTP, portanto assumindo que está disponÃvel em <literal>http://apt.example." +"org/mirror.lst</literal> a entrada sources.list de cima poderá, em vez " +"dessa, ser escrita como:" #. type: Content of: <refentry><refsect1><refsect2><literallayout> #: apt-transport-mirror.1.xml -#, fuzzy, no-wrap -#| msgid "deb ftp://ftp.debian.org/debian &debian-stable-codename; contrib" +#, no-wrap msgid "deb mirror://apt.example.org/mirror.lst &debian-stable-codename; main\n" -msgstr "deb ftp://ftp.debian.org/debian &debian-stable-codename; contrib" +msgstr "deb mirror://apt.example.org/mirror.lst &debian-stable-codename; main\n" #. type: Content of: <refentry><refsect1><refsect2><para> #: apt-transport-mirror.1.xml @@ -10427,11 +10823,14 @@ msgid "" "preferred over <literal>mirror</literal> for uniformity. The functionality " "is the same." msgstr "" +"Note que desde o apt 1.6 que o uso de <literal>mirror+http</literal> deve " +"ser preferido a <literal>mirror</literal> para uniformidade. A " +"funcionalidade é a mesma." #. type: Content of: <refentry><refsect1><refsect2><title> #: apt-transport-mirror.1.xml msgid "Example with metadata-enhanced mirror selection" -msgstr "" +msgstr "Exemplo com selecção de mirror de meta-dados-avançado" #. type: Content of: <refentry><refsect1><refsect2><para> #: apt-transport-mirror.1.xml @@ -10446,6 +10845,15 @@ msgid "" "literal>. The remaining mirrors are average mirrors which should be " "contacted only if the earlier ones didn't work." msgstr "" +"Como explicado nas definições de formato as versões do apt anteriores a 1.6 " +"não suportam isto e irão falhar ao analisar a mirrorlist. Este exemplo de " +"mirrorlist é complicada intencionalmente para mostrar alguns aspectos da " +"selecção. É assumida a seguinte configuração: O primeiro mirror é um mirror " +"local acedido via método file, mas potencialmente incompleto. O segundo " +"mirror tem uma boa ligação, mas é um mirror parcial pois só contém ficheiros " +"relacionados com as arquitecturas <literal>amd64</literal> e <literal>all</" +"literal>. Os restantes mirrors são mirrors médios que são devem ser " +"contactados se os anteriores não funcionarem." #. type: Content of: <refentry><refsect1><refsect2><literallayout> #: apt-transport-mirror.1.xml @@ -10457,6 +10865,11 @@ msgid "" "http://ftp.de.debian.org/debian/\ttype:deb\n" "https://deb.debian.org/debian/\n" msgstr "" +"file:/srv/local/debian/mirror/\tpriority:1 type:index\n" +"http://partial.example.org/mirror/\tpriority:2 arch:amd64 arch:all type:deb\n" +"http://ftp.us.debian.org/debian/\ttype:deb\n" +"http://ftp.de.debian.org/debian/\ttype:deb\n" +"https://deb.debian.org/debian/\n" #. type: Content of: <refentry><refsect1><refsect2><para> #: apt-transport-mirror.1.xml @@ -10470,6 +10883,15 @@ msgid "" "package of architecture <literal>amd64</literal> is served by the second and " "those of e.g. architecture <literal>i386</literal> by one of the last three." msgstr "" +"Nesta configuração com esta mirrorlist o primeiro mirror será usado para " +"descarregar todos os ficheiros de Ãndice assumindo que a própria mirrorlist " +"é acedida via transporte local como <literal>file</literal>. Se não o for, o " +"mirror é caso contrário inacessÃvel ou se não conter o ficheiro requisitado, " +"será usado outro mirror para obter o ficheiro, escolhido dependendo do tipo " +"de ficheiro. Um ficheiro index será servido pelo último mirror da lista, " +"enquanto um pacote da arquitectura <literal>amd64</literal> é servido pelo " +"segundo e aqueles, por exemplo, da arquitectura <literal>i386</literal> por " +"um dos últimos três." #. type: Attribute 'lang' of: <book> #: guide.dbk offline.dbk @@ -10917,7 +11339,7 @@ msgstr "" #: guide.dbk msgid "" "The <emphasis>Sources</emphasis> setup starts by asking for the base of the " -"Debian archive, defaulting to a HTTP mirror. Next it asks for the " +"Debian archive, defaulting to an HTTP mirror. Next it asks for the " "distribution to get." msgstr "" "A configuração de <emphasis>Sources</emphasis> começa por perguntar pela " @@ -11395,7 +11817,7 @@ msgstr "" #. type: Content of: <book><chapter><section><section><title> #: guide.dbk msgid "Held Packages warning" -msgstr "Aviso de Pacotes Mantidos" +msgstr "Aviso de Pacotes Segurados" #. type: Content of: <book><chapter><section><section><screen> #: guide.dbk @@ -11404,7 +11826,7 @@ msgid "" "The following held packages will be changed:\n" " cvs\n" msgstr "" -"Os seguintes pacotes mantidos irão ser alterados:\n" +"Os seguintes pacotes segurados irão ser alterados:\n" " cvs\n" #. type: Content of: <book><chapter><section><section><para> @@ -11415,8 +11837,8 @@ msgid "" "This should only happen during dist-upgrade or install." msgstr "" "Por vezes você pode pedir ao APT para instalar um pacote que está retido, " -"nestes casos ele mostra um aviso que o pacote retido vai ser alterado. Isto " -"apenas deve acontecer durante um dist-upgrade ou install." +"nestes casos ele mostra um aviso que o pacote segurado vai ser alterado. " +"Isto apenas deve acontecer durante um dist-upgrade ou install." #. type: Content of: <book><chapter><section><section><title> #: guide.dbk @@ -11703,8 +12125,8 @@ msgid "" "that the disc should be formatted with a filesystem that can handle long " "file names such as ext2, fat32 or vfat." msgstr "" -"Isto é conseguido ao manipular criativamente o ficheiro de configuração do " -"APT. A premissa essencial para dizer ao APT para procurar num disco pelos " +"Isto é conseguido ao manipular com criatividade o ficheiro de configuração " +"do APT. A premissa essencial para dizer ao APT para procurar num disco pelos " "seus ficheiros de arquivo. Note que o disco deve estar formatado com um " "sistema de ficheiros que saiba lidar com nomes de ficheiros longos como o " "ext2, fat32 ou vfat." @@ -12146,7 +12568,7 @@ msgstr "O qual irá usar os arquivos já obtidos e que estão no disco." #~ "port/. Note que este não é um método de autenticação seguro." #~ msgid "Archive Configuration" -#~ msgstr "Configuração de arquivos" +#~ msgstr "Configuração de Arquivo" #~ msgid "dpkg trigger usage (and related options)" #~ msgstr "Utilização trigger do dpkg (e opções relacionadas)" @@ -12332,10 +12754,8 @@ msgstr "O qual irá usar os arquivos já obtidos e que estão no disco." #~ msgstr "" #~ "Chaveiro das chaves de confiança removidas dos arquivos &keyring-distro;." -#, fuzzy -#~| msgid "&apt-cache; &apt-conf;" #~ msgid "&apt-get;, &apt-conf;" -#~ msgstr "&apt-cache; &apt-conf;" +#~ msgstr "&apt-get;, &apt-conf;" #~ msgid "" #~ "This is a space separated list of all the architectures that appear under " @@ -12406,13 +12826,6 @@ msgstr "O qual irá usar os arquivos já obtidos e que estão no disco." #~ msgid "The option <literal>APT::Color</literal> is enabled." #~ msgstr "A opção <literal>APT::Color</literal> está activada." -#~ msgid "" -#~ "A new <literal>list</literal> command is available similar to " -#~ "<literal>dpkg --list</literal>." -#~ msgstr "" -#~ "Está disponÃvel um novo comando <literal>list</literal> de modo " -#~ "semelhante a <literal>dpkg --list</literal>." - #~ msgid "" #~ "The option <literal>upgrade</literal> has <literal>--with-new-pkgs</" #~ "literal> enabled by default." @@ -12617,6 +13030,13 @@ msgstr "O qual irá usar os arquivos já obtidos e que estão no disco." #~ msgid "Some examples:" #~ msgstr "Alguns exemplos:" +#, fuzzy +#~| msgid "" +#~| "deb http://ftp.debian.org/debian &stable-codename; main contrib non-" +#~| "free\n" +#~| "deb http://security.debian.org/ &stable-codename;/updates main contrib " +#~| "non-free\n" +#~| " " #~ msgid "" #~ "deb http://ftp.debian.org/debian &debian-stable-codename; main contrib " #~ "non-free\n" @@ -12624,8 +13044,50 @@ msgstr "O qual irá usar os arquivos já obtidos e que estão no disco." #~ "contrib non-free\n" #~ " " #~ msgstr "" -#~ "deb http://ftp.debian.org/debian &debian-stable-codename; main contrib " +#~ "deb http://ftp.debian.org/debian &stable-codename; main contrib non-free\n" +#~ "deb http://security.debian.org/ &stable-codename;/updates main contrib " #~ "non-free\n" -#~ "deb http://security.debian.org/ &debian-stable-codename;/updates main " -#~ "contrib non-free\n" #~ " " + +#~ msgid "" +#~ "As a temporary exception &apt-get; (not &apt;!) raises warnings only if " +#~ "it encounters unauthenticated archives to give a slightly longer grace " +#~ "period on this backward compatibility effecting change. This exception " +#~ "will be removed in future releases and you can opt-out of this grace " +#~ "period by setting the configuration option <option>Binary::apt-get::" +#~ "Acquire::AllowInsecureRepositories</option> to <literal>false</literal> " +#~ "or <option>--no-allow-insecure-repositories</option> on the command line." +#~ msgstr "" +#~ "Como uma excepção temporária o &apt-get; (não o &apt;!) dispara avisos " +#~ "apenas se encontrar arquivos não autenticados para dar um perÃodo de " +#~ "graça ligeiramente mais longo nesta alteração que afecta a " +#~ "compatibilidade com versões anteriores. Esta excepção será removida em " +#~ "lançamentos futuros e você pode optar por não usar este perÃodo de graça " +#~ "ao definir a opção de configuração <option>Binary::apt-get::Acquire::" +#~ "AllowInsecureRepositories</option> para <literal>false</literal> ou " +#~ "<option>--no-allow-insecure-repositories</option> na linha de comandos." + +#~ msgid "" +#~ "In the future APT will refuse to work with unauthenticated repositories " +#~ "by default until support for them is removed entirely. Users have the " +#~ "option to opt-in to this behavior already by setting the configuration " +#~ "option <option>Acquire::AllowInsecureRepositories</option> to " +#~ "<literal>false</literal>." +#~ msgstr "" +#~ "No futuro o APT irá recusar trabalhar com repositórios não autenticados " +#~ "por predefinição até que o suporte para eles seja completamente removido. " +#~ "Os utilizadores têm a opção de optar já por este comportamento ao definir " +#~ "a opção de configuração <option>Acquire::AllowInsecureRepositories</" +#~ "option> para <literal>false</literal>." + +#~ msgid "" +#~ "Allow the update operation to load data files from a repository without a " +#~ "trusted signature. If enabled this option no data files will be loaded " +#~ "and the update operation fails with a error for this source. The default " +#~ "is false for backward compatibility. This will be changed in the future." +#~ msgstr "" +#~ "Permite que a operação de actualização carregue ficheiros de dados de um " +#~ "repositório sem uma assinatura confiável. Se esta opção estiver activa, " +#~ "nenhum ficheiro de dados será carregado e a operação de actualização " +#~ "falhará com um erro para esta fonte. A predefinição é ser falso para " +#~ "compatibilidade com versões anteriores. Isto será modificado no futuro." diff --git a/doc/po/pt_BR.po b/doc/po/pt_BR.po index 707bb66aecf5211b58bda4c8ec349b0e13a2977a..92fbfc4f643469e511b5d216a4cd08cb3f215f44 100644 --- a/doc/po/pt_BR.po +++ b/doc/po/pt_BR.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: apt-doc 1.0.5\n" "Report-Msgid-Bugs-To: APT Development Team <deity@lists.debian.org>\n" -"POT-Creation-Date: 2018-12-18 15:02+0100\n" +"POT-Creation-Date: 2019-02-04 15:34+0100\n" "PO-Revision-Date: 2004-09-20 17:02+0000\n" "Last-Translator: André LuÃs Lopes <andrelop@debian.org>\n" "Language-Team: <debian-l10n-portuguese@lists.debian.org>\n" @@ -863,6 +863,14 @@ msgid "" "expression." msgstr "" +#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> +#: apt-get.8.xml +#, fuzzy +msgid "" +"<literal>reinstall</literal> is an alias for <literal>install --reinstall</" +"literal>." +msgstr "a linha <literal>Archive:</literal>" + #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> #: apt-get.8.xml msgid "" @@ -1135,7 +1143,7 @@ msgstr "" msgid "" "Automatic yes to prompts; assume \"yes\" as answer to all prompts and run " "non-interactively. If an undesirable situation, such as changing a held " -"package, trying to install a unauthenticated package or removing an " +"package, trying to install an unauthenticated package or removing an " "essential package occurs then <literal>apt-get</literal> will abort. " "Configuration Item: <literal>APT::Get::Assume-Yes</literal>." msgstr "" @@ -1202,7 +1210,7 @@ msgstr "" #: apt-get.8.xml msgid "" "Allow installing new packages when used in conjunction with " -"<literal>upgrade</literal>. This is useful if the update of a installed " +"<literal>upgrade</literal>. This is useful if the update of an installed " "package requires new dependencies to be installed. Instead of holding the " "package back <literal>upgrade</literal> will upgrade the package and install " "the new dependencies. Note that <literal>upgrade</literal> with this option " @@ -2147,6 +2155,16 @@ msgid "" "if no other packages depend on it." msgstr "" +#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> +#: apt-mark.8.xml +msgid "" +"<literal>minimize-manual</literal> is used to mark (transitive) dependencies " +"of metapackages as automatically installed. This can be used after an " +"installation for example, to minimize the number of manually installed " +"packages; or continuously on systems managed by system configuration " +"metapackages." +msgstr "" + #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> #: apt-mark.8.xml msgid "" @@ -8316,7 +8334,7 @@ msgstr "" #: guide.dbk msgid "" "The <emphasis>Sources</emphasis> setup starts by asking for the base of the " -"Debian archive, defaulting to a HTTP mirror. Next it asks for the " +"Debian archive, defaulting to an HTTP mirror. Next it asks for the " "distribution to get." msgstr "" diff --git a/methods/aptmethod.h b/methods/aptmethod.h index f6613ac3bdbe33d4e94f62a9c2323fcf003f6d9c..02ef04cf90e28a36896be904dc9e1eeb370eaf21 100644 --- a/methods/aptmethod.h +++ b/methods/aptmethod.h @@ -339,11 +339,18 @@ protected: constexpr const char *str1 = "\n **** Seccomp prevented execution of syscall "; constexpr const char *str2 = " on architecture "; constexpr const char *str3 = " ****\n"; +#ifdef __GNUC__ +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wunused-result" +#endif write(2, str1, strlen(str1)); write(2, buffer, sizeof(buffer)); write(2, str2, strlen(str2)); write(2, COMMON_ARCH, strlen(COMMON_ARCH)); write(2, str3, strlen(str3)); +#ifdef __GNUC__ +#pragma GCC diagnostic pop +#endif _exit(31); }; action.sa_flags = SA_SIGINFO; diff --git a/methods/connect.cc b/methods/connect.cc index e5d17a2f5e66e73c910896ec94a809d65ac91da0..1d6f8919d965703b506eb55099c84df67a48ee93 100644 --- a/methods/connect.cc +++ b/methods/connect.cc @@ -808,6 +808,7 @@ struct TlsFd : public MethodFd gnutls_session_t session; gnutls_certificate_credentials_t credentials; std::string hostname; + unsigned long Timeout; int Fd() APT_OVERRIDE { return UnderlyingFd->Fd(); } @@ -820,9 +821,56 @@ struct TlsFd : public MethodFd return HandleError(gnutls_record_send(session, buf, count)); } + ssize_t DoTLSHandshake() + { + int err; + // Do the handshake. Our socket is non-blocking, so we need to call WaitFd() + // accordingly. + do + { + err = gnutls_handshake(session); + if ((err == GNUTLS_E_INTERRUPTED || err == GNUTLS_E_AGAIN) && + WaitFd(this->Fd(), gnutls_record_get_direction(session) == 1, Timeout) == false) + { + _error->Errno("select", "Could not wait for server fd"); + return err; + } + } while (err < 0 && gnutls_error_is_fatal(err) == 0); + + if (err < 0) + { + // Print reason why validation failed. + if (err == GNUTLS_E_CERTIFICATE_VERIFICATION_ERROR) + { + gnutls_datum_t txt; + auto type = gnutls_certificate_type_get(session); + auto status = gnutls_session_get_verify_cert_status(session); + if (gnutls_certificate_verification_status_print(status, type, &txt, 0) == 0) + { + _error->Error("Certificate verification failed: %s", txt.data); + } + gnutls_free(txt.data); + } + _error->Error("Could not handshake: %s", gnutls_strerror(err)); + } + return err; + } + template <typename T> T HandleError(T err) { + // Server may request re-handshake if client certificates need to be provided + // based on resource requested + if (err == GNUTLS_E_REHANDSHAKE) + { + int rc = DoTLSHandshake(); + // Only reset err if DoTLSHandshake() fails. + // Otherwise, we want to follow the original error path and set errno to EAGAIN + // so that the request is retried. + if (rc < 0) + err = rc; + } + if (err < 0 && gnutls_error_is_fatal(err)) errno = EIO; else if (err < 0) @@ -859,6 +907,7 @@ ResultState UnwrapTLS(std::string Host, std::unique_ptr<MethodFd> &Fd, tlsFd->hostname = Host; tlsFd->UnderlyingFd = MethodFd::FromFd(-1); // For now + tlsFd->Timeout = Timeout; if ((err = gnutls_init(&tlsFd->session, GNUTLS_CLIENT | GNUTLS_NONBLOCK)) < 0) { @@ -992,37 +1041,11 @@ ResultState UnwrapTLS(std::string Host, std::unique_ptr<MethodFd> &Fd, tlsFd->UnderlyingFd = std::move(Fd); Fd.reset(tlsFd); - // Do the handshake. Our socket is non-blocking, so we need to call WaitFd() - // accordingly. - do - { - err = gnutls_handshake(tlsFd->session); - if ((err == GNUTLS_E_INTERRUPTED || err == GNUTLS_E_AGAIN) && - WaitFd(Fd->Fd(), gnutls_record_get_direction(tlsFd->session) == 1, Timeout) == false) - { - _error->Errno("select", "Could not wait for server fd"); - return ResultState::TRANSIENT_ERROR; - } - } while (err < 0 && gnutls_error_is_fatal(err) == 0); + // Do the handshake. + err = tlsFd->DoTLSHandshake(); if (err < 0) - { - // Print reason why validation failed. - if (err == GNUTLS_E_CERTIFICATE_VERIFICATION_ERROR) - { - gnutls_datum_t txt; - auto type = gnutls_certificate_type_get(tlsFd->session); - auto status = gnutls_session_get_verify_cert_status(tlsFd->session); - if (gnutls_certificate_verification_status_print(status, - type, &txt, 0) == 0) - { - _error->Error("Certificate verification failed: %s", txt.data); - } - gnutls_free(txt.data); - } - _error->Error("Could not handshake: %s", gnutls_strerror(err)); return ResultState::FATAL_ERROR; - } return ResultState::SUCCESSFUL; } diff --git a/methods/gpgv.cc b/methods/gpgv.cc index 9135b49c56dd99b274c5c9a0f9bd7a5433f2d9a4..f66e3356fb17041b2287c789f37a88cf67f02610 100644 --- a/methods/gpgv.cc +++ b/methods/gpgv.cc @@ -102,21 +102,27 @@ static bool IsTheSameKey(std::string const &validsig, std::string const &goodsig return validsig.compare(24, 16, goodsig, strlen("GOODSIG "), 16) == 0; } +struct APT_HIDDEN SignersStorage { + std::vector<std::string> Good; + std::vector<std::string> Bad; + std::vector<std::string> Worthless; + // a worthless signature is a expired or revoked one + std::vector<Signer> SoonWorthless; + std::vector<std::string> NoPubKey; + std::vector<std::string> Valid; + std::vector<std::string> SignedBy; +}; class GPGVMethod : public aptMethod { private: string VerifyGetSigners(const char *file, const char *outfile, vector<string> const &keyFpts, vector<string> const &keyFiles, - vector<string> &GoodSigners, - vector<string> &BadSigners, - vector<string> &WorthlessSigners, - vector<Signer> &SoonWorthlessSigners, - vector<string> &NoPubKeySigners); + SignersStorage &Signers); protected: virtual bool URIAcquire(std::string const &Message, FetchItem *Itm) APT_OVERRIDE; public: - GPGVMethod() : aptMethod("gpgv","1.0",SingleInstance | SendConfig) {}; + GPGVMethod() : aptMethod("gpgv", "1.1", SingleInstance | SendConfig){}; }; static void PushEntryWithKeyID(std::vector<std::string> &Signers, char * const buffer, bool const Debug) { @@ -146,14 +152,18 @@ static void PushEntryWithUID(std::vector<std::string> &Signers, char * const buf std::clog << "Got " << msg << " !" << std::endl; Signers.push_back(msg); } +static void implodeVector(std::vector<std::string> const &vec, std::ostream &out, char const * const sep) +{ + if (vec.empty()) + return; + std::copy(vec.begin(), std::prev(vec.end()), std::ostream_iterator<std::string>(out, sep)); + out << *vec.rbegin(); + return; +} string GPGVMethod::VerifyGetSigners(const char *file, const char *outfile, vector<string> const &keyFpts, vector<string> const &keyFiles, - vector<string> &GoodSigners, - vector<string> &BadSigners, - vector<string> &WorthlessSigners, - vector<Signer> &SoonWorthlessSigners, - vector<string> &NoPubKeySigners) + SignersStorage &Signers) { bool const Debug = DebugEnabled(); @@ -171,11 +181,7 @@ string GPGVMethod::VerifyGetSigners(const char *file, const char *outfile, else if (pid == 0) { std::ostringstream keys; - if (keyFiles.empty() == false) - { - std::copy(keyFiles.begin(), keyFiles.end()-1, std::ostream_iterator<std::string>(keys, ",")); - keys << *keyFiles.rbegin(); - } + implodeVector(keyFiles, keys, ","); ExecGPGV(outfile, file, 3, fd, keys.str()); } close(fd[1]); @@ -183,7 +189,6 @@ string GPGVMethod::VerifyGetSigners(const char *file, const char *outfile, FILE *pipein = fdopen(fd[0], "r"); // Loop over the output of apt-key (which really is gnupg), and check the signatures. - std::vector<std::string> ValidSigners; std::vector<std::string> ErrSigners; std::map<std::string, std::vector<std::string>> SubKeyMapping; size_t buffersize = 0; @@ -201,25 +206,25 @@ string GPGVMethod::VerifyGetSigners(const char *file, const char *outfile, // if we improve the apt method communication stuff later // it will be better. if (strncmp(buffer, GNUPGBADSIG, sizeof(GNUPGBADSIG)-1) == 0) - PushEntryWithUID(BadSigners, buffer, Debug); + PushEntryWithUID(Signers.Bad, buffer, Debug); else if (strncmp(buffer, GNUPGERRSIG, sizeof(GNUPGERRSIG)-1) == 0) PushEntryWithKeyID(ErrSigners, buffer, Debug); else if (strncmp(buffer, GNUPGNOPUBKEY, sizeof(GNUPGNOPUBKEY)-1) == 0) { - PushEntryWithKeyID(NoPubKeySigners, buffer, Debug); + PushEntryWithKeyID(Signers.NoPubKey, buffer, Debug); ErrSigners.erase(std::remove_if(ErrSigners.begin(), ErrSigners.end(), [&](std::string const &errsig) { return errsig.compare(strlen("ERRSIG "), 16, buffer, sizeof(GNUPGNOPUBKEY), 16) == 0; }), ErrSigners.end()); } else if (strncmp(buffer, GNUPGNODATA, sizeof(GNUPGNODATA)-1) == 0) gotNODATA = true; else if (strncmp(buffer, GNUPGEXPKEYSIG, sizeof(GNUPGEXPKEYSIG)-1) == 0) - PushEntryWithUID(WorthlessSigners, buffer, Debug); + PushEntryWithUID(Signers.Worthless, buffer, Debug); else if (strncmp(buffer, GNUPGEXPSIG, sizeof(GNUPGEXPSIG)-1) == 0) - PushEntryWithUID(WorthlessSigners, buffer, Debug); + PushEntryWithUID(Signers.Worthless, buffer, Debug); else if (strncmp(buffer, GNUPGREVKEYSIG, sizeof(GNUPGREVKEYSIG)-1) == 0) - PushEntryWithUID(WorthlessSigners, buffer, Debug); + PushEntryWithUID(Signers.Worthless, buffer, Debug); else if (strncmp(buffer, GNUPGGOODSIG, sizeof(GNUPGGOODSIG)-1) == 0) - PushEntryWithKeyID(GoodSigners, buffer, Debug); + PushEntryWithKeyID(Signers.Good, buffer, Debug); else if (strncmp(buffer, GNUPGVALIDSIG, sizeof(GNUPGVALIDSIG)-1) == 0) { std::istringstream iss(buffer + sizeof(GNUPGVALIDSIG)); @@ -232,16 +237,16 @@ string GPGVMethod::VerifyGetSigners(const char *file, const char *outfile, case Digest::State::Weak: // Treat them like an expired key: For that a message about expiry // is emitted, a VALIDSIG, but no GOODSIG. - SoonWorthlessSigners.push_back({sig, digest.name}); + Signers.SoonWorthless.push_back({sig, digest.name}); if (Debug == true) std::clog << "Got weak VALIDSIG, key ID: " << sig << std::endl; break; case Digest::State::Untrusted: // Treat them like an expired key: For that a message about expiry // is emitted, a VALIDSIG, but no GOODSIG. - WorthlessSigners.push_back(sig); - GoodSigners.erase(std::remove_if(GoodSigners.begin(), GoodSigners.end(), [&](std::string const &goodsig) { - return IsTheSameKey(sig, goodsig); }), GoodSigners.end()); + Signers.Worthless.push_back(sig); + Signers.Good.erase(std::remove_if(Signers.Good.begin(), Signers.Good.end(), [&](std::string const &goodsig) { + return IsTheSameKey(sig, goodsig); }), Signers.Good.end()); if (Debug == true) std::clog << "Got untrusted VALIDSIG, key ID: " << sig << std::endl; break; @@ -252,7 +257,7 @@ string GPGVMethod::VerifyGetSigners(const char *file, const char *outfile, break; } - ValidSigners.push_back(sig); + Signers.Valid.push_back(sig); if (tokens.size() > 9 && sig != tokens[9]) SubKeyMapping[tokens[9]].emplace_back(sig); @@ -264,7 +269,7 @@ string GPGVMethod::VerifyGetSigners(const char *file, const char *outfile, } fclose(pipein); free(buffer); - std::move(ErrSigners.begin(), ErrSigners.end(), std::back_inserter(WorthlessSigners)); + std::move(ErrSigners.begin(), ErrSigners.end(), std::back_inserter(Signers.Worthless)); // apt-key has a --keyid parameter, but this requires gpg, so we call it without it // and instead check after the fact which keyids where used for verification @@ -273,11 +278,11 @@ string GPGVMethod::VerifyGetSigners(const char *file, const char *outfile, if (Debug == true) { std::clog << "GoodSigs needs to be limited to keyid(s): "; - std::copy(keyFpts.begin(), keyFpts.end(), std::ostream_iterator<std::string>(std::clog, ", ")); + implodeVector(keyFpts, std::clog, ", "); std::clog << "\n"; } std::vector<std::string> filteredGood; - for (auto &&good: GoodSigners) + for (auto &&good: Signers.Good) { if (Debug == true) std::clog << "Key " << good << " is good sig, is it also a valid and allowed one? "; @@ -293,9 +298,10 @@ string GPGVMethod::VerifyGetSigners(const char *file, const char *outfile, if (IsTheSameKey(l, good)) { // GOODSIG might be "just" a longid, so we check VALIDSIG which is always a fingerprint - if (std::find(ValidSigners.cbegin(), ValidSigners.cend(), l) == ValidSigners.cend()) + if (std::find(Signers.Valid.cbegin(), Signers.Valid.cend(), l) == Signers.Valid.cend()) continue; found = true; + Signers.SignedBy.push_back(l + "!"); break; } else if (exactKey == false) @@ -306,9 +312,11 @@ string GPGVMethod::VerifyGetSigners(const char *file, const char *outfile, for (auto const &sub : master->second) if (IsTheSameKey(sub, good)) { - if (std::find(ValidSigners.cbegin(), ValidSigners.cend(), sub) == ValidSigners.cend()) + if (std::find(Signers.Valid.cbegin(), Signers.Valid.cend(), sub) == Signers.Valid.cend()) continue; found = true; + Signers.SignedBy.push_back(l); + Signers.SignedBy.push_back(sub + "!"); break; } if (found) @@ -320,10 +328,28 @@ string GPGVMethod::VerifyGetSigners(const char *file, const char *outfile, if (found) filteredGood.emplace_back(std::move(good)); else - NoPubKeySigners.emplace_back(std::move(good)); + Signers.NoPubKey.emplace_back(std::move(good)); } - GoodSigners = std::move(filteredGood); + Signers.Good= std::move(filteredGood); + } + else + { + // for gpg an expired key is valid, too, but we want only the valid & good ones + for (auto const &v : Signers.Valid) + if (std::any_of(Signers.Good.begin(), Signers.Good.end(), + [&v](std::string const &g) { return IsTheSameKey(v, g); })) + Signers.SignedBy.push_back(v + "!"); + for (auto sub : SubKeyMapping) + if (std::any_of(sub.second.begin(), sub.second.end(), + [&](std::string const &s) { + if (std::find(Signers.Valid.begin(), Signers.Valid.end(), s) == Signers.Valid.end()) + return false; + return std::any_of(Signers.Good.begin(), Signers.Good.end(), + [&s](std::string const &g) { return IsTheSameKey(s, g); }); + })) + Signers.SignedBy.push_back(sub.first); } + std::sort(Signers.SignedBy.begin(), Signers.SignedBy.end()); int status; waitpid(pid, &status, 0); @@ -334,16 +360,20 @@ string GPGVMethod::VerifyGetSigners(const char *file, const char *outfile, if (Debug) { - std::cerr << "Summary:" << std::endl << " Good: "; - std::copy(GoodSigners.begin(), GoodSigners.end(), std::ostream_iterator<std::string>(std::cerr, ", ")); - std::cerr << std::endl << " Bad: "; - std::copy(BadSigners.begin(), BadSigners.end(), std::ostream_iterator<std::string>(std::cerr, ", ")); - std::cerr << std::endl << " Worthless: "; - std::copy(WorthlessSigners.begin(), WorthlessSigners.end(), std::ostream_iterator<std::string>(std::cerr, ", ")); - std::cerr << std::endl << " SoonWorthless: "; - std::for_each(SoonWorthlessSigners.begin(), SoonWorthlessSigners.end(), [](Signer const &sig) { std::cerr << sig.key << ", "; }); - std::cerr << std::endl << " NoPubKey: "; - std::copy(NoPubKeySigners.begin(), NoPubKeySigners.end(), std::ostream_iterator<std::string>(std::cerr, ", ")); + std::cerr << "Summary:\n Good: "; + implodeVector(Signers.Good, std::cerr, ", "); + std::cerr << "\n Valid: "; + implodeVector(Signers.Valid, std::cerr, ", "); + std::cerr << "\n Bad: "; + implodeVector(Signers.Bad, std::cerr, ", "); + std::cerr << "\n Worthless: "; + implodeVector(Signers.Worthless, std::cerr, ", "); + std::cerr << "\n SoonWorthless: "; + std::for_each(Signers.SoonWorthless.begin(), Signers.SoonWorthless.end(), [](Signer const &sig) { std::cerr << sig.key << ", "; }); + std::cerr << "\n NoPubKey: "; + implodeVector(Signers.NoPubKey, std::cerr, ", "); + std::cerr << "\n Signed-By: "; + implodeVector(Signers.SignedBy, std::cerr, ", "); std::cerr << std::endl << " NODATA: " << (gotNODATA ? "yes" : "no") << std::endl; } @@ -369,12 +399,12 @@ string GPGVMethod::VerifyGetSigners(const char *file, const char *outfile, { // gpgv will report success, but we want to enforce a certain keyring // so if we haven't found the key the valid we found is in fact invalid - if (GoodSigners.empty()) + if (Signers.Good.empty()) return _("At least one invalid signature was encountered."); } else { - if (GoodSigners.empty()) + if (Signers.Good.empty()) return _("Internal error: Good signature, but could not determine key fingerprint?!"); } return ""; @@ -391,16 +421,7 @@ bool GPGVMethod::URIAcquire(std::string const &Message, FetchItem *Itm) { URI const Get = Itm->Uri; string const Path = Get.Host + Get.Path; // To account for relative paths - vector<string> GoodSigners; - vector<string> BadSigners; - // a worthless signature is a expired or revoked one - vector<string> WorthlessSigners; - vector<Signer> SoonWorthlessSigners; - vector<string> NoPubKeySigners; - - FetchResult Res; - Res.Filename = Itm->DestFile; - URIStart(Res); + SignersStorage Signers; std::vector<std::string> keyFpts, keyFiles; for (auto &&key : VectorizeString(LookupTag(Message, "Signed-By"), ',')) @@ -410,69 +431,83 @@ bool GPGVMethod::URIAcquire(std::string const &Message, FetchItem *Itm) keyFpts.emplace_back(std::move(key)); // Run apt-key on file, extract contents and get the key ID of the signer - string const msg = VerifyGetSigners(Path.c_str(), Itm->DestFile.c_str(), keyFpts, keyFiles, - GoodSigners, BadSigners, WorthlessSigners, - SoonWorthlessSigners, NoPubKeySigners); + string const msg = VerifyGetSigners(Path.c_str(), Itm->DestFile.c_str(), keyFpts, keyFiles, Signers); if (_error->PendingError()) return false; // Check if all good signers are soon worthless and warn in that case - if (std::all_of(GoodSigners.begin(), GoodSigners.end(), [&](std::string const &good) { - return std::any_of(SoonWorthlessSigners.begin(), SoonWorthlessSigners.end(), [&](Signer const &weak) { + if (std::all_of(Signers.Good.begin(), Signers.Good.end(), [&](std::string const &good) { + return std::any_of(Signers.SoonWorthless.begin(), Signers.SoonWorthless.end(), [&](Signer const &weak) { return IsTheSameKey(weak.key, good); }); })) { - for (auto const & Signer : SoonWorthlessSigners) + for (auto const & Signer : Signers.SoonWorthless) // TRANSLATORS: The second %s is the reason and is untranslated for repository owners. Warning(_("Signature by key %s uses weak digest algorithm (%s)"), Signer.key.c_str(), Signer.note.c_str()); } - if (GoodSigners.empty() || !BadSigners.empty() || !NoPubKeySigners.empty()) + if (Signers.Good.empty() || !Signers.Bad.empty() || !Signers.NoPubKey.empty()) { string errmsg; // In this case, something bad probably happened, so we just go // with what the other method gave us for an error message. - if (BadSigners.empty() && WorthlessSigners.empty() && NoPubKeySigners.empty()) + if (Signers.Bad.empty() && Signers.Worthless.empty() && Signers.NoPubKey.empty()) errmsg = msg; else { - if (!BadSigners.empty()) + if (!Signers.Bad.empty()) { errmsg += _("The following signatures were invalid:\n"); - for (vector<string>::iterator I = BadSigners.begin(); - I != BadSigners.end(); ++I) - errmsg += (*I + "\n"); + for (auto const &I : Signers.Bad) + errmsg.append(I).append("\n"); } - if (!WorthlessSigners.empty()) + if (!Signers.Worthless.empty()) { errmsg += _("The following signatures were invalid:\n"); - for (vector<string>::iterator I = WorthlessSigners.begin(); - I != WorthlessSigners.end(); ++I) - errmsg += (*I + "\n"); + for (auto const &I : Signers.Worthless) + errmsg.append(I).append("\n"); } - if (!NoPubKeySigners.empty()) + if (!Signers.NoPubKey.empty()) { errmsg += _("The following signatures couldn't be verified because the public key is not available:\n"); - for (vector<string>::iterator I = NoPubKeySigners.begin(); - I != NoPubKeySigners.end(); ++I) - errmsg += (*I + "\n"); + for (auto const &I : Signers.NoPubKey) + errmsg.append(I).append("\n"); } } // this is only fatal if we have no good sigs or if we have at // least one bad signature. good signatures and NoPubKey signatures // happen easily when a file is signed with multiple signatures - if(GoodSigners.empty() or !BadSigners.empty()) - return _error->Error("%s", errmsg.c_str()); + if (Signers.Good.empty() or !Signers.Bad.empty()) + return _error->Error("%s", errmsg.c_str()); + } + + std::unordered_map<std::string, std::string> fields; + fields.emplace("URI", Itm->Uri); + fields.emplace("Filename", Itm->DestFile); + if (Signers.SignedBy.empty() == false) + { + std::ostringstream out; + implodeVector(Signers.SignedBy, out, "\n"); + fields.emplace("Signed-By", out.str()); + } + { + // Just pass the raw output up, because passing it as a real data + // structure is too difficult with the method stuff. We keep it + // as three separate vectors for future extensibility. + std::vector<std::string> gpgvoutput; + std::move(Signers.Good.begin(), Signers.Good.end(), std::back_inserter(gpgvoutput)); + std::move(Signers.Bad.begin(), Signers.Bad.end(), std::back_inserter(gpgvoutput)); + std::move(Signers.NoPubKey.begin(), Signers.NoPubKey.end(), std::back_inserter(gpgvoutput)); + if (gpgvoutput.empty() == false) + { + std::ostringstream out; + implodeVector(gpgvoutput, out, "\n"); + fields.emplace("GPGVOutput", out.str()); + } } - - // Just pass the raw output up, because passing it as a real data - // structure is too difficult with the method stuff. We keep it - // as three separate vectors for future extensibility. - Res.GPGVOutput = GoodSigners; - std::move(BadSigners.begin(), BadSigners.end(), std::back_inserter(Res.GPGVOutput)); - std::move(NoPubKeySigners.begin(), NoPubKeySigners.end(), std::back_inserter(Res.GPGVOutput)); - URIDone(Res); + SendMessage("201 URI Done", std::move(fields)); + Dequeue(); if (DebugEnabled()) std::clog << "apt-key succeeded\n"; diff --git a/po/apt-all.pot b/po/apt-all.pot index e1d0e0f97455685cdc011829fbe19427d2110fb2..37a8f2287fdc7f3aa7cd84043c11c97ae7300b97 100644 --- a/po/apt-all.pot +++ b/po/apt-all.pot @@ -5,9 +5,9 @@ #, fuzzy msgid "" msgstr "" -"Project-Id-Version: apt 1.8.0~alpha3\n" +"Project-Id-Version: apt 1.8.2\n" "Report-Msgid-Bugs-To: APT Development Team <deity@lists.debian.org>\n" -"POT-Creation-Date: 2018-12-18 15:02+0100\n" +"POT-Creation-Date: 2019-05-28 16:41+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Language-Team: LANGUAGE <LL@li.org>\n" @@ -387,6 +387,13 @@ msgstr "" msgid "Changelog unavailable for %s=%s" msgstr "" +#: apt-pkg/acquire-worker.cc +#, c-format +msgid "" +"The method '%s' is unsupported and disabled by default. Consider switching " +"to http(s). Set Dir::Bin::Methods::%s to \"%s\" to enable it again." +msgstr "" + #: apt-pkg/acquire-worker.cc #, c-format msgid "The method '%s' is explicitly disabled via configuration." @@ -876,12 +883,12 @@ msgstr "" msgid "Problem syncing the file" msgstr "" -#: apt-pkg/contrib/fileutl.cc cmdline/apt-extracttemplates.cc +#: apt-pkg/contrib/fileutl.cc #, c-format msgid "Unable to mkstemp %s" msgstr "" -#: apt-pkg/contrib/fileutl.cc cmdline/apt-extracttemplates.cc +#: apt-pkg/contrib/fileutl.cc #, c-format msgid "Unable to write to %s" msgstr "" @@ -1482,6 +1489,12 @@ msgstr "" msgid "Did not understand pin type %s" msgstr "" +#: apt-pkg/policy.cc +#, c-format +msgid "" +"%s: The special 'Pin-Priority: %s' can only be used for 'Package: *' records" +msgstr "" + #: apt-pkg/policy.cc #, c-format msgid "%s: Value %s is outside the range of valid pin priorities (%d to %d)" @@ -1881,7 +1894,7 @@ msgstr "" msgid "Abort." msgstr "" -#: apt-private/private-install.cc +#: apt-private/private-install.cc cmdline/apt-mark.cc msgid "Do you want to continue?" msgstr "" @@ -2407,8 +2420,9 @@ msgstr[1] "" msgid "All packages are up to date." msgstr "" -#: cmdline/apt-cache.cc -msgid "apt-cache stats does not take any arguments" +#: cmdline/apt-cache.cc cmdline/apt-mark.cc +#, c-format +msgid "%s does not take any arguments" msgstr "" #: cmdline/apt-cache.cc @@ -2643,6 +2657,10 @@ msgstr "" msgid "Install new packages (pkg is libc6 not libc6.deb)" msgstr "" +#: cmdline/apt-get.cc +msgid "Reinstall packages (pkg is libc6 not libc6.deb)" +msgstr "" + #: cmdline/apt-get.cc msgid "Remove packages" msgstr "" @@ -2775,6 +2793,14 @@ msgstr "" msgid "%s was already set to automatically installed.\n" msgstr "" +#: cmdline/apt-mark.cc +msgid "No changes necessary" +msgstr "" + +#: cmdline/apt-mark.cc +msgid "The following packages will be marked as automatically installed:" +msgstr "" + #: cmdline/apt-mark.cc #, c-format msgid "%s was already set on hold.\n" @@ -2832,6 +2858,10 @@ msgstr "" msgid "Mark the given packages as manually installed" msgstr "" +#: cmdline/apt-mark.cc +msgid "Mark all dependencies of meta packages as automatically installed." +msgstr "" + #: cmdline/apt-mark.cc msgid "Mark a package as held back" msgstr "" @@ -2894,6 +2924,10 @@ msgstr "" msgid "install packages" msgstr "" +#: cmdline/apt.cc +msgid "reinstall packages" +msgstr "" + #: cmdline/apt.cc msgid "remove packages" msgstr "" diff --git a/po/ar.po b/po/ar.po index 45db6232510f7d99de948304e14f09b20de45346..01d6825702ca14fff52d11bebfe0f1c486449f35 100644 --- a/po/ar.po +++ b/po/ar.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: apt 1.0.5\n" "Report-Msgid-Bugs-To: APT Development Team <deity@lists.debian.org>\n" -"POT-Creation-Date: 2018-12-18 15:02+0100\n" +"POT-Creation-Date: 2019-02-04 15:34+0100\n" "PO-Revision-Date: 2006-10-20 21:28+0300\n" "Last-Translator: Ossama M. Khayat <okhayat@yahoo.com>\n" "Language-Team: Arabic <support@arabeyes.org>\n" @@ -395,6 +395,13 @@ msgstr "" msgid "Changelog unavailable for %s=%s" msgstr "الاتصال بـ%s (%s)" +#: apt-pkg/acquire-worker.cc +#, c-format +msgid "" +"The method '%s' is unsupported and disabled by default. Consider switching " +"to http(s). Set Dir::Bin::Methods::%s to \"%s\" to enable it again." +msgstr "" + #: apt-pkg/acquire-worker.cc #, c-format msgid "The method '%s' is explicitly disabled via configuration." @@ -886,12 +893,12 @@ msgstr "مشكلة ÙÙŠ مزامنة الملÙ" msgid "Problem syncing the file" msgstr "مشكلة ÙÙŠ مزامنة الملÙ" -#: apt-pkg/contrib/fileutl.cc cmdline/apt-extracttemplates.cc +#: apt-pkg/contrib/fileutl.cc #, fuzzy, c-format msgid "Unable to mkstemp %s" msgstr "تعذر إنشاء %s" -#: apt-pkg/contrib/fileutl.cc cmdline/apt-extracttemplates.cc +#: apt-pkg/contrib/fileutl.cc #, c-format msgid "Unable to write to %s" msgstr "تعذرت الكتابة إلى %s" @@ -1496,6 +1503,12 @@ msgstr "" msgid "Did not understand pin type %s" msgstr "" +#: apt-pkg/policy.cc +#, c-format +msgid "" +"%s: The special 'Pin-Priority: %s' can only be used for 'Package: *' records" +msgstr "" + #: apt-pkg/policy.cc #, c-format msgid "%s: Value %s is outside the range of valid pin priorities (%d to %d)" @@ -1909,7 +1922,7 @@ msgstr "" msgid "Abort." msgstr "إجهاض." -#: apt-private/private-install.cc +#: apt-private/private-install.cc cmdline/apt-mark.cc msgid "Do you want to continue?" msgstr "هل تريد الاستمرار؟" @@ -2444,9 +2457,9 @@ msgstr[1] "" msgid "All packages are up to date." msgstr "" -#: cmdline/apt-cache.cc -#, fuzzy -msgid "apt-cache stats does not take any arguments" +#: cmdline/apt-cache.cc cmdline/apt-mark.cc +#, fuzzy, c-format +msgid "%s does not take any arguments" msgstr "لا يقبل الأمر update أية Ù…ÙØ¹Ø·ÙŠØ§Øª" #: cmdline/apt-cache.cc @@ -2687,6 +2700,10 @@ msgstr "" msgid "Install new packages (pkg is libc6 not libc6.deb)" msgstr "" +#: cmdline/apt-get.cc +msgid "Reinstall packages (pkg is libc6 not libc6.deb)" +msgstr "" + #: cmdline/apt-get.cc #, fuzzy msgid "Remove packages" @@ -2823,6 +2840,16 @@ msgstr "إلا أنه سيتم تثبيت %s" msgid "%s was already set to automatically installed.\n" msgstr "إلا أنه سيتم تثبيت %s" +#: cmdline/apt-mark.cc +msgid "No changes necessary" +msgstr "" + +#: cmdline/apt-mark.cc +#, fuzzy +#| msgid "The following NEW packages will be installed:" +msgid "The following packages will be marked as automatically installed:" +msgstr "سيتم تثبيت Ø§Ù„ØØ²Ù… الجديدة التالية:" + #: cmdline/apt-mark.cc #, fuzzy, c-format msgid "%s was already set on hold.\n" @@ -2882,6 +2909,11 @@ msgstr "إلا أنه سيتم تثبيت %s" msgid "Mark the given packages as manually installed" msgstr "سيتم تثبيت Ø§Ù„ØØ²Ù… الجديدة التالية:" +#: cmdline/apt-mark.cc +#, fuzzy +msgid "Mark all dependencies of meta packages as automatically installed." +msgstr "إلا أنه سيتم تثبيت %s" + #: cmdline/apt-mark.cc msgid "Mark a package as held back" msgstr "" @@ -2948,6 +2980,11 @@ msgstr "" msgid "install packages" msgstr "Ø§Ù„ØØ²Ù… Ø§Ù„Ù…ÙØ¯Ø¨Ù‘سة:" +#: cmdline/apt.cc +#, fuzzy +msgid "reinstall packages" +msgstr "Ø§Ù„ØØ²Ù… Ø§Ù„Ù…ÙØ¯Ø¨Ù‘سة:" + #: cmdline/apt.cc #, fuzzy msgid "remove packages" diff --git a/po/ast.po b/po/ast.po index e42eb82316e880b097202f30276d99201999f1c9..1f2ef0c3924a54b296779f11816602b157200d88 100644 --- a/po/ast.po +++ b/po/ast.po @@ -4,7 +4,7 @@ msgid "" msgstr "" "Project-Id-Version: apt 0.7.18\n" "Report-Msgid-Bugs-To: APT Development Team <deity@lists.debian.org>\n" -"POT-Creation-Date: 2018-12-18 15:02+0100\n" +"POT-Creation-Date: 2019-02-04 15:34+0100\n" "PO-Revision-Date: 2010-10-02 23:35+0100\n" "Last-Translator: Iñigo Varela <ivarela@softastur.org>\n" "Language-Team: Asturian (ast)\n" @@ -392,6 +392,13 @@ msgstr "" msgid "Changelog unavailable for %s=%s" msgstr "Coneutando a %s (%s)" +#: apt-pkg/acquire-worker.cc +#, c-format +msgid "" +"The method '%s' is unsupported and disabled by default. Consider switching " +"to http(s). Set Dir::Bin::Methods::%s to \"%s\" to enable it again." +msgstr "" + #: apt-pkg/acquire-worker.cc #, c-format msgid "The method '%s' is explicitly disabled via configuration." @@ -902,12 +909,12 @@ msgstr "Hai problemes al renomar el ficheru %s a %s" msgid "Problem syncing the file" msgstr "Hai problemes al sincronizar el ficheru" -#: apt-pkg/contrib/fileutl.cc cmdline/apt-extracttemplates.cc +#: apt-pkg/contrib/fileutl.cc #, fuzzy, c-format msgid "Unable to mkstemp %s" msgstr "Nun ye a lleer %s" -#: apt-pkg/contrib/fileutl.cc cmdline/apt-extracttemplates.cc +#: apt-pkg/contrib/fileutl.cc #, c-format msgid "Unable to write to %s" msgstr "Nun se pue escribir en %s" @@ -1544,6 +1551,12 @@ msgstr "" msgid "Did not understand pin type %s" msgstr "Nun s'entiende'l tipu de pin %s" +#: apt-pkg/policy.cc +#, c-format +msgid "" +"%s: The special 'Pin-Priority: %s' can only be used for 'Package: *' records" +msgstr "" + #: apt-pkg/policy.cc #, c-format msgid "%s: Value %s is outside the range of valid pin priorities (%d to %d)" @@ -1968,7 +1981,7 @@ msgstr "" msgid "Abort." msgstr "Encaboxar." -#: apt-private/private-install.cc +#: apt-private/private-install.cc cmdline/apt-mark.cc msgid "Do you want to continue?" msgstr "¿Quies continuar?" @@ -2523,9 +2536,9 @@ msgstr[1] "" msgid "All packages are up to date." msgstr "" -#: cmdline/apt-cache.cc -#, fuzzy -msgid "apt-cache stats does not take any arguments" +#: cmdline/apt-cache.cc cmdline/apt-mark.cc +#, fuzzy, c-format +msgid "%s does not take any arguments" msgstr "La orde update nun lleva argumentos" #: cmdline/apt-cache.cc @@ -2785,6 +2798,12 @@ msgstr "Facer una anovación" msgid "Install new packages (pkg is libc6 not libc6.deb)" msgstr "Instalar nuevos paquetes (pkg ye libc6 non libc6.deb)" +#: cmdline/apt-get.cc +#, fuzzy +#| msgid "Install new packages (pkg is libc6 not libc6.deb)" +msgid "Reinstall packages (pkg is libc6 not libc6.deb)" +msgstr "Instalar nuevos paquetes (pkg ye libc6 non libc6.deb)" + #: cmdline/apt-get.cc msgid "Remove packages" msgstr "Desaniciar paquetes" @@ -2942,6 +2961,16 @@ msgstr "%s axustáu como instaláu manualmente.\n" msgid "%s was already set to automatically installed.\n" msgstr "%s axustáu como instaláu automáticamente.\n" +#: cmdline/apt-mark.cc +msgid "No changes necessary" +msgstr "" + +#: cmdline/apt-mark.cc +#, fuzzy +#| msgid "The following NEW packages will be installed:" +msgid "The following packages will be marked as automatically installed:" +msgstr "Van instalase los siguientes paquetes NUEVOS:" + #: cmdline/apt-mark.cc #, fuzzy, c-format msgid "%s was already set on hold.\n" @@ -3001,6 +3030,11 @@ msgstr "%s axustáu como instaláu automáticamente.\n" msgid "Mark the given packages as manually installed" msgstr "Comprueba qu'el paquete 'dpkg-dev' ta instaláu.\n" +#: cmdline/apt-mark.cc +#, fuzzy +msgid "Mark all dependencies of meta packages as automatically installed." +msgstr "%s axustáu como instaláu automáticamente.\n" + #: cmdline/apt-mark.cc msgid "Mark a package as held back" msgstr "" @@ -3067,6 +3101,11 @@ msgstr "" msgid "install packages" msgstr "Paquetes na chincheta:" +#: cmdline/apt.cc +#, fuzzy +msgid "reinstall packages" +msgstr "Paquetes na chincheta:" + #: cmdline/apt.cc #, fuzzy msgid "remove packages" diff --git a/po/bg.po b/po/bg.po index b305489c122603f9222d39ab062d2fc33106f868..d468a28116439a23616a95b4d3510621a2cf15de 100644 --- a/po/bg.po +++ b/po/bg.po @@ -10,7 +10,7 @@ msgid "" msgstr "" "Project-Id-Version: apt 0.7.21\n" "Report-Msgid-Bugs-To: APT Development Team <deity@lists.debian.org>\n" -"POT-Creation-Date: 2018-12-18 15:02+0100\n" +"POT-Creation-Date: 2019-02-04 15:34+0100\n" "PO-Revision-Date: 2012-06-25 17:23+0300\n" "Last-Translator: Damyan Ivanov <dmn@debian.org>\n" "Language-Team: Bulgarian <dict@fsa-bg.org>\n" @@ -405,6 +405,13 @@ msgstr "Ðе е открит източник, от който да Ñе изт msgid "Changelog unavailable for %s=%s" msgstr "Журнал на промените в %s (%s)" +#: apt-pkg/acquire-worker.cc +#, c-format +msgid "" +"The method '%s' is unsupported and disabled by default. Consider switching " +"to http(s). Set Dir::Bin::Methods::%s to \"%s\" to enable it again." +msgstr "" + #: apt-pkg/acquire-worker.cc #, c-format msgid "The method '%s' is explicitly disabled via configuration." @@ -923,12 +930,12 @@ msgstr "Проблем при преименуване на файла %s на % msgid "Problem syncing the file" msgstr "Проблем при Ñинхронизиране на файла" -#: apt-pkg/contrib/fileutl.cc cmdline/apt-extracttemplates.cc +#: apt-pkg/contrib/fileutl.cc #, fuzzy, c-format msgid "Unable to mkstemp %s" msgstr "ÐеуÑпех при получаването на атрибути за %s" -#: apt-pkg/contrib/fileutl.cc cmdline/apt-extracttemplates.cc +#: apt-pkg/contrib/fileutl.cc #, c-format msgid "Unable to write to %s" msgstr "ÐеуÑпех при запиÑа на %s" @@ -1582,6 +1589,12 @@ msgstr "Ðевалиден Ð·Ð°Ð¿Ð¸Ñ Ð²ÑŠÐ² файла Ñ Ð½Ð°Ñтройки %s msgid "Did not understand pin type %s" msgstr "ÐеизвеÑтен тип за отбиване %s" +#: apt-pkg/policy.cc +#, c-format +msgid "" +"%s: The special 'Pin-Priority: %s' can only be used for 'Package: *' records" +msgstr "" + #: apt-pkg/policy.cc #, c-format msgid "%s: Value %s is outside the range of valid pin priorities (%d to %d)" @@ -2012,7 +2025,7 @@ msgstr "" msgid "Abort." msgstr "ПрекъÑване." -#: apt-private/private-install.cc +#: apt-private/private-install.cc cmdline/apt-mark.cc msgid "Do you want to continue?" msgstr "ИÑкате ли да продължите?" @@ -2570,9 +2583,9 @@ msgstr[1] "" msgid "All packages are up to date." msgstr "" -#: cmdline/apt-cache.cc -#, fuzzy -msgid "apt-cache stats does not take any arguments" +#: cmdline/apt-cache.cc cmdline/apt-mark.cc +#, fuzzy, c-format +msgid "%s does not take any arguments" msgstr "Командата „update“ не възприема аргументи" #: cmdline/apt-cache.cc @@ -2835,6 +2848,12 @@ msgstr "ОбновÑване на ÑиÑтемата" msgid "Install new packages (pkg is libc6 not libc6.deb)" msgstr "ИнÑталиране на нови пакети (пакет е libc6, а не libc6.deb)" +#: cmdline/apt-get.cc +#, fuzzy +#| msgid "Install new packages (pkg is libc6 not libc6.deb)" +msgid "Reinstall packages (pkg is libc6 not libc6.deb)" +msgstr "ИнÑталиране на нови пакети (пакет е libc6, а не libc6.deb)" + #: cmdline/apt-get.cc msgid "Remove packages" msgstr "Премахване на пакети" @@ -2990,6 +3009,16 @@ msgstr "Пакетът „%s“ вече е отбелÑзан като ръчн msgid "%s was already set to automatically installed.\n" msgstr "Пакетът „%s“ вече е отбелÑзан като автоматично инÑталиран.\n" +#: cmdline/apt-mark.cc +msgid "No changes necessary" +msgstr "" + +#: cmdline/apt-mark.cc +#, fuzzy +#| msgid "The following NEW packages will be installed:" +msgid "The following packages will be marked as automatically installed:" +msgstr "Следните ÐОВИ пакети ще бъдат инÑталирани:" + #: cmdline/apt-mark.cc #, c-format msgid "%s was already set on hold.\n" @@ -3053,6 +3082,12 @@ msgstr "Маркиране на пакети като инÑталирани а msgid "Mark the given packages as manually installed" msgstr "Маркиране на пакети като инÑталирани ръчно" +#: cmdline/apt-mark.cc +#, fuzzy +#| msgid "Mark the given packages as automatically installed" +msgid "Mark all dependencies of meta packages as automatically installed." +msgstr "Маркиране на пакети като инÑталирани автоматично" + #: cmdline/apt-mark.cc msgid "Mark a package as held back" msgstr "" @@ -3117,6 +3152,11 @@ msgstr "" msgid "install packages" msgstr "Отбити пакети:" +#: cmdline/apt.cc +#, fuzzy +msgid "reinstall packages" +msgstr "Отбити пакети:" + #: cmdline/apt.cc #, fuzzy msgid "remove packages" diff --git a/po/bs.po b/po/bs.po index 6ba4a312fe11649ac7bd4b5971bf7cde1a611fea..01b447a66d7043aa39f5044325dd7c9ac6e36845 100644 --- a/po/bs.po +++ b/po/bs.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: apt 0.5.26\n" "Report-Msgid-Bugs-To: APT Development Team <deity@lists.debian.org>\n" -"POT-Creation-Date: 2018-12-18 15:02+0100\n" +"POT-Creation-Date: 2019-02-04 15:34+0100\n" "PO-Revision-Date: 2004-05-06 15:25+0100\n" "Last-Translator: Safir Å ećerović <sapphire@linux.org.ba>\n" "Language-Team: Bosnian <lokal@lugbih.org>\n" @@ -389,6 +389,13 @@ msgstr "" msgid "Changelog unavailable for %s=%s" msgstr "" +#: apt-pkg/acquire-worker.cc +#, c-format +msgid "" +"The method '%s' is unsupported and disabled by default. Consider switching " +"to http(s). Set Dir::Bin::Methods::%s to \"%s\" to enable it again." +msgstr "" + #: apt-pkg/acquire-worker.cc #, c-format msgid "The method '%s' is explicitly disabled via configuration." @@ -881,12 +888,12 @@ msgstr "" msgid "Problem syncing the file" msgstr "" -#: apt-pkg/contrib/fileutl.cc cmdline/apt-extracttemplates.cc +#: apt-pkg/contrib/fileutl.cc #, fuzzy, c-format msgid "Unable to mkstemp %s" msgstr "Ne mogu kreirati %s" -#: apt-pkg/contrib/fileutl.cc cmdline/apt-extracttemplates.cc +#: apt-pkg/contrib/fileutl.cc #, c-format msgid "Unable to write to %s" msgstr "Ne mogu zapisati na %s" @@ -1492,6 +1499,12 @@ msgstr "" msgid "Did not understand pin type %s" msgstr "" +#: apt-pkg/policy.cc +#, c-format +msgid "" +"%s: The special 'Pin-Priority: %s' can only be used for 'Package: *' records" +msgstr "" + #: apt-pkg/policy.cc #, c-format msgid "%s: Value %s is outside the range of valid pin priorities (%d to %d)" @@ -1894,7 +1907,7 @@ msgstr "" msgid "Abort." msgstr "Odustani." -#: apt-private/private-install.cc +#: apt-private/private-install.cc cmdline/apt-mark.cc msgid "Do you want to continue?" msgstr "Da li želite nastaviti?" @@ -2426,8 +2439,9 @@ msgstr[1] "" msgid "All packages are up to date." msgstr "" -#: cmdline/apt-cache.cc -msgid "apt-cache stats does not take any arguments" +#: cmdline/apt-cache.cc cmdline/apt-mark.cc +#, c-format +msgid "%s does not take any arguments" msgstr "" #: cmdline/apt-cache.cc @@ -2671,6 +2685,10 @@ msgstr "" msgid "Install new packages (pkg is libc6 not libc6.deb)" msgstr "" +#: cmdline/apt-get.cc +msgid "Reinstall packages (pkg is libc6 not libc6.deb)" +msgstr "" + #: cmdline/apt-get.cc #, fuzzy msgid "Remove packages" @@ -2805,6 +2823,16 @@ msgstr "ali se %s treba instalirati" msgid "%s was already set to automatically installed.\n" msgstr "ali se %s treba instalirati" +#: cmdline/apt-mark.cc +msgid "No changes necessary" +msgstr "" + +#: cmdline/apt-mark.cc +#, fuzzy +#| msgid "The following NEW packages will be installed:" +msgid "The following packages will be marked as automatically installed:" +msgstr "Slijedeći NOVI paketi će biti instalirani:" + #: cmdline/apt-mark.cc #, c-format msgid "%s was already set on hold.\n" @@ -2864,6 +2892,11 @@ msgstr "ali se %s treba instalirati" msgid "Mark the given packages as manually installed" msgstr "Slijedeći NOVI paketi će biti instalirani:" +#: cmdline/apt-mark.cc +#, fuzzy +msgid "Mark all dependencies of meta packages as automatically installed." +msgstr "ali se %s treba instalirati" + #: cmdline/apt-mark.cc msgid "Mark a package as held back" msgstr "" @@ -2930,6 +2963,11 @@ msgstr "" msgid "install packages" msgstr " PojedinaÄni virutuelni paketi:" +#: cmdline/apt.cc +#, fuzzy +msgid "reinstall packages" +msgstr " PojedinaÄni virutuelni paketi:" + #: cmdline/apt.cc #, fuzzy msgid "remove packages" diff --git a/po/ca.po b/po/ca.po index 6d8c55656b80c893d884eea3ff84c90f8c479c24..2172caea1e5880512981c29205228d703ddf98c9 100644 --- a/po/ca.po +++ b/po/ca.po @@ -9,7 +9,7 @@ msgid "" msgstr "" "Project-Id-Version: apt 1.4~beta1\n" "Report-Msgid-Bugs-To: APT Development Team <deity@lists.debian.org>\n" -"POT-Creation-Date: 2018-12-18 15:02+0100\n" +"POT-Creation-Date: 2019-02-04 15:34+0100\n" "PO-Revision-Date: 2016-12-05 21:09+0100\n" "Last-Translator: Oriol Debian <oriol.debian@gmail.com>\n" "Language-Team: Catalan <debian-l10n-catalan@lists.debian.org>\n" @@ -430,6 +430,13 @@ msgstr "No es troba una font per baixar la versió «%s» de «%s»" msgid "Changelog unavailable for %s=%s" msgstr "El registre de canvis no està disponible per a %s=%s" +#: apt-pkg/acquire-worker.cc +#, c-format +msgid "" +"The method '%s' is unsupported and disabled by default. Consider switching " +"to http(s). Set Dir::Bin::Methods::%s to \"%s\" to enable it again." +msgstr "" + #: apt-pkg/acquire-worker.cc #, c-format msgid "The method '%s' is explicitly disabled via configuration." @@ -959,12 +966,12 @@ msgstr "Ha hagut un problema en reanomenar el fitxer %s a %s" msgid "Problem syncing the file" msgstr "Ha hagut un problema en sincronitzar el fitxer" -#: apt-pkg/contrib/fileutl.cc cmdline/apt-extracttemplates.cc +#: apt-pkg/contrib/fileutl.cc #, c-format msgid "Unable to mkstemp %s" msgstr "No es pot crear el fitxer temporal %s" -#: apt-pkg/contrib/fileutl.cc cmdline/apt-extracttemplates.cc +#: apt-pkg/contrib/fileutl.cc #, c-format msgid "Unable to write to %s" msgstr "No es pot escriure en %s" @@ -1617,6 +1624,12 @@ msgstr "Registre no và lid al fitxer de preferències %s, paquet sense capçaler msgid "Did not understand pin type %s" msgstr "No s'ha entès el pin de tipus %s" +#: apt-pkg/policy.cc +#, c-format +msgid "" +"%s: The special 'Pin-Priority: %s' can only be used for 'Package: *' records" +msgstr "" + #: apt-pkg/policy.cc #, c-format msgid "%s: Value %s is outside the range of valid pin priorities (%d to %d)" @@ -2060,7 +2073,7 @@ msgstr "" msgid "Abort." msgstr "Avortat." -#: apt-private/private-install.cc +#: apt-private/private-install.cc cmdline/apt-mark.cc msgid "Do you want to continue?" msgstr "Voleu continuar?" @@ -2628,9 +2641,10 @@ msgstr[1] "" msgid "All packages are up to date." msgstr "Tots els paquets estan actualitzats." -#: cmdline/apt-cache.cc -msgid "apt-cache stats does not take any arguments" -msgstr "apt-cache stats no pren cap argument" +#: cmdline/apt-cache.cc cmdline/apt-mark.cc +#, c-format +msgid "%s does not take any arguments" +msgstr "%s no pren cap argument" #: cmdline/apt-cache.cc msgid "Total package names: " @@ -2916,6 +2930,12 @@ msgstr "Realitza una actualització" msgid "Install new packages (pkg is libc6 not libc6.deb)" msgstr "Instal·la nous paquets (el paquet és libc6, no libc6.deb)" +#: cmdline/apt-get.cc +#, fuzzy +#| msgid "Install new packages (pkg is libc6 not libc6.deb)" +msgid "Reinstall packages (pkg is libc6 not libc6.deb)" +msgstr "Instal·la nous paquets (el paquet és libc6, no libc6.deb)" + #: cmdline/apt-get.cc msgid "Remove packages" msgstr "Suprimeix paquets" @@ -3065,6 +3085,16 @@ msgstr "%s ja estava marcat com instal·lat manualment.\n" msgid "%s was already set to automatically installed.\n" msgstr "%s ja estava marcat com instal·lat automà ticament.\n" +#: cmdline/apt-mark.cc +msgid "No changes necessary" +msgstr "" + +#: cmdline/apt-mark.cc +#, fuzzy +#| msgid "The following NEW packages will be installed:" +msgid "The following packages will be marked as automatically installed:" +msgstr "S'instal·laran els paquets NOUS següents:" + #: cmdline/apt-mark.cc #, c-format msgid "%s was already set on hold.\n" @@ -3129,6 +3159,12 @@ msgstr "Marca els paquets proporcionats com instal·lables automà ticament" msgid "Mark the given packages as manually installed" msgstr "Marca els paquets proporcionats com instal·lables manualment" +#: cmdline/apt-mark.cc +#, fuzzy +#| msgid "Mark the given packages as automatically installed" +msgid "Mark all dependencies of meta packages as automatically installed." +msgstr "Marca els paquets proporcionats com instal·lables automà ticament" + #: cmdline/apt-mark.cc msgid "Mark a package as held back" msgstr "Marca el paquet com retingut" @@ -3204,6 +3240,12 @@ msgstr "mostra detalls del paquet" msgid "install packages" msgstr "instal·la paquets" +#: cmdline/apt.cc +#, fuzzy +#| msgid "install packages" +msgid "reinstall packages" +msgstr "instal·la paquets" + #: cmdline/apt.cc msgid "remove packages" msgstr "elimina paquets" diff --git a/po/cs.po b/po/cs.po index 347ba8ddfbe48033eec54b326ed1e1584591d635..9a5e436013fd7798f3f34a220ca69faae2d5c8dd 100644 --- a/po/cs.po +++ b/po/cs.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: apt 1.4.2\n" "Report-Msgid-Bugs-To: APT Development Team <deity@lists.debian.org>\n" -"POT-Creation-Date: 2018-12-18 15:02+0100\n" +"POT-Creation-Date: 2019-02-04 15:34+0100\n" "PO-Revision-Date: 2017-05-06 11:08+0200\n" "Last-Translator: Miroslav Kure <kurem@debian.cz>\n" "Language-Team: Czech <debian-l10n-czech@lists.debian.org>\n" @@ -423,6 +423,13 @@ msgstr "Nelze najÃt zdroj pro staženà verze „%s“ balÃku „%s“" msgid "Changelog unavailable for %s=%s" msgstr "Seznam zmÄ›n pro %s=%s nenà dostupný" +#: apt-pkg/acquire-worker.cc +#, c-format +msgid "" +"The method '%s' is unsupported and disabled by default. Consider switching " +"to http(s). Set Dir::Bin::Methods::%s to \"%s\" to enable it again." +msgstr "" + #: apt-pkg/acquire-worker.cc #, c-format msgid "The method '%s' is explicitly disabled via configuration." @@ -931,12 +938,12 @@ msgstr "Problém pÅ™i pÅ™ejmenovánà souboru %s na %s" msgid "Problem syncing the file" msgstr "Problém pÅ™i synchronizovánà souboru" -#: apt-pkg/contrib/fileutl.cc cmdline/apt-extracttemplates.cc +#: apt-pkg/contrib/fileutl.cc #, c-format msgid "Unable to mkstemp %s" msgstr "Nelze zavolat mkstemp %s" -#: apt-pkg/contrib/fileutl.cc cmdline/apt-extracttemplates.cc +#: apt-pkg/contrib/fileutl.cc #, c-format msgid "Unable to write to %s" msgstr "Nelze zapsat do %s" @@ -1565,6 +1572,12 @@ msgstr "Neplatný záznam v souboru preferencà %s, chybà hlaviÄka Package" msgid "Did not understand pin type %s" msgstr "NerozumÃm vypÃchnutà typu %s" +#: apt-pkg/policy.cc +#, c-format +msgid "" +"%s: The special 'Pin-Priority: %s' can only be used for 'Package: *' records" +msgstr "" + #: apt-pkg/policy.cc #, c-format msgid "%s: Value %s is outside the range of valid pin priorities (%d to %d)" @@ -1994,7 +2007,7 @@ msgstr "" msgid "Abort." msgstr "PÅ™eruÅ¡eno." -#: apt-private/private-install.cc +#: apt-private/private-install.cc cmdline/apt-mark.cc msgid "Do you want to continue?" msgstr "Chcete pokraÄovat?" @@ -2557,9 +2570,10 @@ msgstr[2] "" msgid "All packages are up to date." msgstr "VÅ¡echny balÃky jsou aktuálnÃ." -#: cmdline/apt-cache.cc -msgid "apt-cache stats does not take any arguments" -msgstr "apt-cache stats neakceptuje žádné argumenty" +#: cmdline/apt-cache.cc cmdline/apt-mark.cc +#, c-format +msgid "%s does not take any arguments" +msgstr "%s neakceptuje žádné argumenty" #: cmdline/apt-cache.cc msgid "Total package names: " @@ -2832,6 +2846,12 @@ msgstr "Provede aktualizaci" msgid "Install new packages (pkg is libc6 not libc6.deb)" msgstr "Instaluje nové balÃky (balÃk je libc6, ne libc6.deb)" +#: cmdline/apt-get.cc +#, fuzzy +#| msgid "Install new packages (pkg is libc6 not libc6.deb)" +msgid "Reinstall packages (pkg is libc6 not libc6.deb)" +msgstr "Instaluje nové balÃky (balÃk je libc6, ne libc6.deb)" + #: cmdline/apt-get.cc msgid "Remove packages" msgstr "Odstranà balÃky" @@ -2979,6 +2999,16 @@ msgstr "%s již byl nastaven jako instalovaný ruÄnÄ›.\n" msgid "%s was already set to automatically installed.\n" msgstr "%s již byl nastaven jako instalovaný automaticky.\n" +#: cmdline/apt-mark.cc +msgid "No changes necessary" +msgstr "" + +#: cmdline/apt-mark.cc +#, fuzzy +#| msgid "The following NEW packages will be installed:" +msgid "The following packages will be marked as automatically installed:" +msgstr "NásledujÃcà NOVÉ balÃky budou nainstalovány:" + #: cmdline/apt-mark.cc #, c-format msgid "%s was already set on hold.\n" @@ -3041,6 +3071,12 @@ msgstr "OznaÄà dané balÃky jako instalované automaticky" msgid "Mark the given packages as manually installed" msgstr "OznaÄà dané balÃky jako instalované ruÄnÄ›" +#: cmdline/apt-mark.cc +#, fuzzy +#| msgid "Mark the given packages as automatically installed" +msgid "Mark all dependencies of meta packages as automatically installed." +msgstr "OznaÄà dané balÃky jako instalované automaticky" + #: cmdline/apt-mark.cc msgid "Mark a package as held back" msgstr "OznaÄà balÃk jako podržený v aktuálnà verzi" @@ -3114,6 +3150,12 @@ msgstr "zobrazà podrobnosti balÃku" msgid "install packages" msgstr "nainstaluje balÃky" +#: cmdline/apt.cc +#, fuzzy +#| msgid "install packages" +msgid "reinstall packages" +msgstr "nainstaluje balÃky" + #: cmdline/apt.cc msgid "remove packages" msgstr "odstranà balÃky" diff --git a/po/cy.po b/po/cy.po index 28e41000779f3ef738838a38a5535f33f03b998c..b9ba80dfba9a3a7b89bcee8a3d22805869d6c35d 100644 --- a/po/cy.po +++ b/po/cy.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: apt 1.0.5\n" "Report-Msgid-Bugs-To: APT Development Team <deity@lists.debian.org>\n" -"POT-Creation-Date: 2018-12-18 15:02+0100\n" +"POT-Creation-Date: 2019-02-04 15:34+0100\n" "PO-Revision-Date: 2005-06-06 13:46+0100\n" "Last-Translator: Dafydd Harries <daf@muse.19inch.net>\n" "Language-Team: Welsh <cy@pengwyn.linux.org.uk>\n" @@ -399,6 +399,13 @@ msgstr "" msgid "Changelog unavailable for %s=%s" msgstr "Yn cysylltu i %s (%s)" +#: apt-pkg/acquire-worker.cc +#, c-format +msgid "" +"The method '%s' is unsupported and disabled by default. Consider switching " +"to http(s). Set Dir::Bin::Methods::%s to \"%s\" to enable it again." +msgstr "" + #: apt-pkg/acquire-worker.cc #, c-format msgid "The method '%s' is explicitly disabled via configuration." @@ -907,12 +914,12 @@ msgstr "Gwall wrth gyfamseru'r ffeil" msgid "Problem syncing the file" msgstr "Gwall wrth gyfamseru'r ffeil" -#: apt-pkg/contrib/fileutl.cc cmdline/apt-extracttemplates.cc +#: apt-pkg/contrib/fileutl.cc #, fuzzy, c-format msgid "Unable to mkstemp %s" msgstr "Ni ellir gwneud stat() o %s" -#: apt-pkg/contrib/fileutl.cc cmdline/apt-extracttemplates.cc +#: apt-pkg/contrib/fileutl.cc #, c-format msgid "Unable to write to %s" msgstr "Ni ellir ysgrifennu i %s" @@ -1535,6 +1542,12 @@ msgstr "Cofnod annilys yn y ffeil hoffterau, dim pennawd 'Package'" msgid "Did not understand pin type %s" msgstr "Methwyd daeall y math pin %s" +#: apt-pkg/policy.cc +#, c-format +msgid "" +"%s: The special 'Pin-Priority: %s' can only be used for 'Package: *' records" +msgstr "" + #: apt-pkg/policy.cc #, c-format msgid "%s: Value %s is outside the range of valid pin priorities (%d to %d)" @@ -1970,7 +1983,7 @@ msgstr "" msgid "Abort." msgstr "Erthylu." -#: apt-private/private-install.cc +#: apt-private/private-install.cc cmdline/apt-mark.cc msgid "Do you want to continue?" msgstr "Ydych chi eisiau mynd ymlaen?" @@ -2515,9 +2528,9 @@ msgstr[1] "" msgid "All packages are up to date." msgstr "" -#: cmdline/apt-cache.cc -#, fuzzy -msgid "apt-cache stats does not take any arguments" +#: cmdline/apt-cache.cc cmdline/apt-mark.cc +#, fuzzy, c-format +msgid "%s does not take any arguments" msgstr "Nid yw'r gorchymyn diweddaru yn derbyn ymresymiadau" #: cmdline/apt-cache.cc @@ -2798,6 +2811,12 @@ msgstr "Uwchraddio pecynnau wedi sefydlu" msgid "Install new packages (pkg is libc6 not libc6.deb)" msgstr "Sefydlu pecynnau newydd (defnyddiwch libc6 nid libc6.deb)" +#: cmdline/apt-get.cc +#, fuzzy +#| msgid "Install new packages (pkg is libc6 not libc6.deb)" +msgid "Reinstall packages (pkg is libc6 not libc6.deb)" +msgstr "Sefydlu pecynnau newydd (defnyddiwch libc6 nid libc6.deb)" + #: cmdline/apt-get.cc msgid "Remove packages" msgstr "Tynnu pecynnau" @@ -2956,6 +2975,16 @@ msgstr "ond mae %s yn mynd i gael ei sefydlu" msgid "%s was already set to automatically installed.\n" msgstr "ond mae %s yn mynd i gael ei sefydlu" +#: cmdline/apt-mark.cc +msgid "No changes necessary" +msgstr "" + +#: cmdline/apt-mark.cc +#, fuzzy +#| msgid "The following NEW packages will be installed:" +msgid "The following packages will be marked as automatically installed:" +msgstr "Caiff y pecynnau NEWYDD canlynol eu sefydlu:" + #: cmdline/apt-mark.cc #, fuzzy, c-format msgid "%s was already set on hold.\n" @@ -3015,6 +3044,11 @@ msgstr "ond mae %s yn mynd i gael ei sefydlu" msgid "Mark the given packages as manually installed" msgstr "Caiff y pecynnau NEWYDD canlynol eu sefydlu:" +#: cmdline/apt-mark.cc +#, fuzzy +msgid "Mark all dependencies of meta packages as automatically installed." +msgstr "ond mae %s yn mynd i gael ei sefydlu" + #: cmdline/apt-mark.cc msgid "Mark a package as held back" msgstr "" @@ -3081,6 +3115,11 @@ msgstr "" msgid "install packages" msgstr "Pecynnau wedi eu Pinio:" +#: cmdline/apt.cc +#, fuzzy +msgid "reinstall packages" +msgstr "Pecynnau wedi eu Pinio:" + #: cmdline/apt.cc #, fuzzy msgid "remove packages" diff --git a/po/da.po b/po/da.po index b670240d488a7c382f49c32faf50920e335a2ce1..206067a0be013c839ec6a44ca7811875116783d9 100644 --- a/po/da.po +++ b/po/da.po @@ -12,7 +12,7 @@ msgid "" msgstr "" "Project-Id-Version: apt 1.4~rc2\n" "Report-Msgid-Bugs-To: APT Development Team <deity@lists.debian.org>\n" -"POT-Creation-Date: 2018-12-18 15:02+0100\n" +"POT-Creation-Date: 2019-02-04 15:34+0100\n" "PO-Revision-Date: 2017-03-02 23:51+0200\n" "Last-Translator: Joe Hansen <joedalton2@yahoo.dk>\n" "Language-Team: Danish <debian-l10n-danish@lists.debian.org>\n" @@ -430,6 +430,13 @@ msgstr "Kan ikke finde en kilde til at hente version »%s« for »%s«" msgid "Changelog unavailable for %s=%s" msgstr "Ændringslog utilgængelig for %s=%s" +#: apt-pkg/acquire-worker.cc +#, c-format +msgid "" +"The method '%s' is unsupported and disabled by default. Consider switching " +"to http(s). Set Dir::Bin::Methods::%s to \"%s\" to enable it again." +msgstr "" + #: apt-pkg/acquire-worker.cc #, c-format msgid "The method '%s' is explicitly disabled via configuration." @@ -938,12 +945,12 @@ msgstr "Problem under omdøbning af filen %s til %s" msgid "Problem syncing the file" msgstr "Problem under synkronisering af fil" -#: apt-pkg/contrib/fileutl.cc cmdline/apt-extracttemplates.cc +#: apt-pkg/contrib/fileutl.cc #, c-format msgid "Unable to mkstemp %s" msgstr "Kunne ikke mkstemp %s" -#: apt-pkg/contrib/fileutl.cc cmdline/apt-extracttemplates.cc +#: apt-pkg/contrib/fileutl.cc #, c-format msgid "Unable to write to %s" msgstr "Kunne ikke skrive til %s" @@ -1579,6 +1586,12 @@ msgstr "Ugyldig indgang i indstillingsfilen %s, pakkehovedet mangler" msgid "Did not understand pin type %s" msgstr "Kunne ikke forstÃ¥ pin-type %s" +#: apt-pkg/policy.cc +#, c-format +msgid "" +"%s: The special 'Pin-Priority: %s' can only be used for 'Package: *' records" +msgstr "" + #: apt-pkg/policy.cc #, c-format msgid "%s: Value %s is outside the range of valid pin priorities (%d to %d)" @@ -2012,7 +2025,7 @@ msgstr "" msgid "Abort." msgstr "Afbryder." -#: apt-private/private-install.cc +#: apt-private/private-install.cc cmdline/apt-mark.cc msgid "Do you want to continue?" msgstr "Vil du fortsætte?" @@ -2575,9 +2588,10 @@ msgstr[1] "" msgid "All packages are up to date." msgstr "Alle pakker er opdateret." -#: cmdline/apt-cache.cc -msgid "apt-cache stats does not take any arguments" -msgstr "»apt-cache stats« benytter ingen parametre" +#: cmdline/apt-cache.cc cmdline/apt-mark.cc +#, c-format +msgid "%s does not take any arguments" +msgstr "»%s« benytter ingen parametre" #: cmdline/apt-cache.cc msgid "Total package names: " @@ -2856,6 +2870,12 @@ msgstr "Udfør en opgradering" msgid "Install new packages (pkg is libc6 not libc6.deb)" msgstr "Installer nye pakker (pakke er libc6, ikke libc6.deb)" +#: cmdline/apt-get.cc +#, fuzzy +#| msgid "Install new packages (pkg is libc6 not libc6.deb)" +msgid "Reinstall packages (pkg is libc6 not libc6.deb)" +msgstr "Installer nye pakker (pakke er libc6, ikke libc6.deb)" + #: cmdline/apt-get.cc msgid "Remove packages" msgstr "Afinstaller pakker" @@ -3005,6 +3025,16 @@ msgstr "%s var allerede sat til manuelt installeret.\n" msgid "%s was already set to automatically installed.\n" msgstr "%s var allerede sat til automatisk installeret.\n" +#: cmdline/apt-mark.cc +msgid "No changes necessary" +msgstr "" + +#: cmdline/apt-mark.cc +#, fuzzy +#| msgid "The following NEW packages will be installed:" +msgid "The following packages will be marked as automatically installed:" +msgstr "Følgende NYE pakker vil blive installeret:" + #: cmdline/apt-mark.cc #, c-format msgid "%s was already set on hold.\n" @@ -3068,6 +3098,12 @@ msgstr "Marker de givne pakker som automatisk installeret" msgid "Mark the given packages as manually installed" msgstr "Marker de givne pakker som manuelt installeret" +#: cmdline/apt-mark.cc +#, fuzzy +#| msgid "Mark the given packages as automatically installed" +msgid "Mark all dependencies of meta packages as automatically installed." +msgstr "Marker de givne pakker som automatisk installeret" + #: cmdline/apt-mark.cc msgid "Mark a package as held back" msgstr "Marker en pakke som tilbageholdt" @@ -3143,6 +3179,12 @@ msgstr "vis pakkedetaljer" msgid "install packages" msgstr "installer pakker" +#: cmdline/apt.cc +#, fuzzy +#| msgid "install packages" +msgid "reinstall packages" +msgstr "installer pakker" + #: cmdline/apt.cc msgid "remove packages" msgstr "fjern pakker" diff --git a/po/de.po b/po/de.po index c40f9c6994023bd14c673f34cebe5586221f50c0..dd4b1876c872228f1555e379543739311c3ca9d2 100644 --- a/po/de.po +++ b/po/de.po @@ -10,7 +10,7 @@ msgid "" msgstr "" "Project-Id-Version: apt 1.6\n" "Report-Msgid-Bugs-To: APT Development Team <deity@lists.debian.org>\n" -"POT-Creation-Date: 2018-12-18 15:02+0100\n" +"POT-Creation-Date: 2019-02-04 15:34+0100\n" "PO-Revision-Date: 2018-01-11 21:11+0100\n" "Last-Translator: Holger Wansing <linux@wansing-online.de>\n" "Language-Team: German <debian-l10n-german@lists.debian.org>\n" @@ -437,6 +437,13 @@ msgstr "" msgid "Changelog unavailable for %s=%s" msgstr "Änderungsprotokoll (Changelog) nicht verfügbar für %s=%s" +#: apt-pkg/acquire-worker.cc +#, c-format +msgid "" +"The method '%s' is unsupported and disabled by default. Consider switching " +"to http(s). Set Dir::Bin::Methods::%s to \"%s\" to enable it again." +msgstr "" + #: apt-pkg/acquire-worker.cc #, c-format msgid "The method '%s' is explicitly disabled via configuration." @@ -974,12 +981,12 @@ msgstr "Problem beim Umbenennen der Datei %s nach %s" msgid "Problem syncing the file" msgstr "Problem beim Synchronisieren der Datei" -#: apt-pkg/contrib/fileutl.cc cmdline/apt-extracttemplates.cc +#: apt-pkg/contrib/fileutl.cc #, c-format msgid "Unable to mkstemp %s" msgstr "mkstemp %s nicht möglich" -#: apt-pkg/contrib/fileutl.cc cmdline/apt-extracttemplates.cc +#: apt-pkg/contrib/fileutl.cc #, c-format msgid "Unable to write to %s" msgstr "Schreiben nach %s nicht möglich" @@ -1640,6 +1647,12 @@ msgstr "" msgid "Did not understand pin type %s" msgstr "Pinning-Typ %s kann nicht interpretiert werden." +#: apt-pkg/policy.cc +#, c-format +msgid "" +"%s: The special 'Pin-Priority: %s' can only be used for 'Package: *' records" +msgstr "" + #: apt-pkg/policy.cc #, c-format msgid "%s: Value %s is outside the range of valid pin priorities (%d to %d)" @@ -2087,7 +2100,7 @@ msgstr "" msgid "Abort." msgstr "Abbruch." -#: apt-private/private-install.cc +#: apt-private/private-install.cc cmdline/apt-mark.cc msgid "Do you want to continue?" msgstr "Möchten Sie fortfahren?" @@ -2675,9 +2688,10 @@ msgstr[1] "" msgid "All packages are up to date." msgstr "Alle Pakete sind aktuell." -#: cmdline/apt-cache.cc -msgid "apt-cache stats does not take any arguments" -msgstr "Der Befehl »apt-cache stats« akzeptiert keine Argumente." +#: cmdline/apt-cache.cc cmdline/apt-mark.cc +#, c-format +msgid "%s does not take any arguments" +msgstr "Der Befehl »%s« akzeptiert keine Argumente." #: cmdline/apt-cache.cc msgid "Total package names: " @@ -2970,6 +2984,12 @@ msgstr "Upgrade (Paketaktualisierung) durchführen" msgid "Install new packages (pkg is libc6 not libc6.deb)" msgstr "neue Pakete installieren (paket ist libc6, nicht libc6.deb)" +#: cmdline/apt-get.cc +#, fuzzy +#| msgid "Install new packages (pkg is libc6 not libc6.deb)" +msgid "Reinstall packages (pkg is libc6 not libc6.deb)" +msgstr "neue Pakete installieren (paket ist libc6, nicht libc6.deb)" + #: cmdline/apt-get.cc msgid "Remove packages" msgstr "Pakete entfernen" @@ -3124,6 +3144,16 @@ msgstr "%s wurde bereits auf manuell installiert gesetzt.\n" msgid "%s was already set to automatically installed.\n" msgstr "%s wurde bereits auf automatisch installiert gesetzt.\n" +#: cmdline/apt-mark.cc +msgid "No changes necessary" +msgstr "" + +#: cmdline/apt-mark.cc +#, fuzzy +#| msgid "The following NEW packages will be installed:" +msgid "The following packages will be marked as automatically installed:" +msgstr "Die folgenden NEUEN Pakete werden installiert:" + #: cmdline/apt-mark.cc #, c-format msgid "%s was already set on hold.\n" @@ -3189,6 +3219,12 @@ msgstr "das angegebene Paket als »Automatisch installiert« markieren" msgid "Mark the given packages as manually installed" msgstr "das angegebene Paket als »Manuell installiert« markieren" +#: cmdline/apt-mark.cc +#, fuzzy +#| msgid "Mark the given packages as automatically installed" +msgid "Mark all dependencies of meta packages as automatically installed." +msgstr "das angegebene Paket als »Automatisch installiert« markieren" + #: cmdline/apt-mark.cc msgid "Mark a package as held back" msgstr "ein Paket als zurückgehalten markieren" @@ -3268,6 +3304,12 @@ msgstr "Paketdetails anzeigen" msgid "install packages" msgstr "Pakete installieren" +#: cmdline/apt.cc +#, fuzzy +#| msgid "install packages" +msgid "reinstall packages" +msgstr "Pakete installieren" + #: cmdline/apt.cc msgid "remove packages" msgstr "Pakete entfernen" diff --git a/po/dz.po b/po/dz.po index 8166da841ff74eb92a26d987df02d3f5611ffae3..f3760a46ddfae83d4a7395887e1c408f1c267f1c 100644 --- a/po/dz.po +++ b/po/dz.po @@ -4,7 +4,7 @@ msgid "" msgstr "" "Project-Id-Version: apt 1.0.5\n" "Report-Msgid-Bugs-To: APT Development Team <deity@lists.debian.org>\n" -"POT-Creation-Date: 2018-12-18 15:02+0100\n" +"POT-Creation-Date: 2019-02-04 15:34+0100\n" "PO-Revision-Date: 2006-09-19 09:49+0530\n" "Last-Translator: Kinley Tshering <gasepkuenden2k3@hotmail.com>\n" "Language-Team: Dzongkha <pgeyleg@dit.gov.bt>\n" @@ -393,6 +393,13 @@ msgstr "" msgid "Changelog unavailable for %s=%s" msgstr "%s (%s)་ལུ་མà½à½´à½‘་དོà¼" +#: apt-pkg/acquire-worker.cc +#, c-format +msgid "" +"The method '%s' is unsupported and disabled by default. Consider switching " +"to http(s). Set Dir::Bin::Methods::%s to \"%s\" to enable it again." +msgstr "" + #: apt-pkg/acquire-worker.cc #, c-format msgid "The method '%s' is explicitly disabled via configuration." @@ -890,12 +897,12 @@ msgstr "ཡིག་སྣོད་མཉམ་བྱུང་འབདà½à¼‹à½‘ msgid "Problem syncing the file" msgstr "ཡིག་སྣོད་མཉམ་བྱུང་འབདà½à¼‹à½‘་དཀའ་ངལà¼" -#: apt-pkg/contrib/fileutl.cc cmdline/apt-extracttemplates.cc +#: apt-pkg/contrib/fileutl.cc #, fuzzy, c-format msgid "Unable to mkstemp %s" msgstr "%s་འདི་ལུ་ངོ་བཤུས་འབད་མ་ཚུགསà¼" -#: apt-pkg/contrib/fileutl.cc cmdline/apt-extracttemplates.cc +#: apt-pkg/contrib/fileutl.cc #, c-format msgid "Unable to write to %s" msgstr " %sལུ་འབྲི་མ་ཚུགསà¼" @@ -1508,6 +1515,12 @@ msgstr "དགའ་གདམ་ཡིག་སྣོད་ནང་ལུ་ན msgid "Did not understand pin type %s" msgstr "ངོ་རྟགས་ཨང་གི་དབྱེ་བ་ %s འདི་ཧ་གོ་མ་ཚུགསà¼" +#: apt-pkg/policy.cc +#, c-format +msgid "" +"%s: The special 'Pin-Priority: %s' can only be used for 'Package: *' records" +msgstr "" + #: apt-pkg/policy.cc #, c-format msgid "%s: Value %s is outside the range of valid pin priorities (%d to %d)" @@ -1938,7 +1951,7 @@ msgstr "" msgid "Abort." msgstr "བར་བཤོལ་འབདà¼" -#: apt-private/private-install.cc +#: apt-private/private-install.cc cmdline/apt-mark.cc #, fuzzy msgid "Do you want to continue?" msgstr "à½à¾±à½¼à½“་ཀྱི་འཕྲོ་མà½à½´à½‘་ནི་འབད་ནི་ཨིན་ན་" @@ -2479,9 +2492,9 @@ msgstr[1] "" msgid "All packages are up to date." msgstr "" -#: cmdline/apt-cache.cc -#, fuzzy -msgid "apt-cache stats does not take any arguments" +#: cmdline/apt-cache.cc cmdline/apt-mark.cc +#, fuzzy, c-format +msgid "%s does not take any arguments" msgstr "དུས་མà½à½´à½“་བཟོ་བའི་བརྡ་བཀོད་འདི་གིས་སྒྲུབ་རྟགས་ཚུ་མི་འབག་འབདà¼" #: cmdline/apt-cache.cc @@ -2745,6 +2758,12 @@ msgstr "འདི་གིས་ ཡར་བསà¾à¾±à½ºà½‘་ཀྱི་ལ msgid "Install new packages (pkg is libc6 not libc6.deb)" msgstr "འདི་གིས་ à½à½´à½˜à¼‹à½¦à¾’ྲིལ་(pkg is libc6 not libc6.deb)གསརཔ་་ཚུ་གཞི་བཙུགས་འབདà½à¼‹à½¨à½²à½“à¼" +#: cmdline/apt-get.cc +#, fuzzy +#| msgid "Install new packages (pkg is libc6 not libc6.deb)" +msgid "Reinstall packages (pkg is libc6 not libc6.deb)" +msgstr "འདི་གིས་ à½à½´à½˜à¼‹à½¦à¾’ྲིལ་(pkg is libc6 not libc6.deb)གསརཔ་་ཚུ་གཞི་བཙུགས་འབདà½à¼‹à½¨à½²à½“à¼" + #: cmdline/apt-get.cc msgid "Remove packages" msgstr "འདི་གིས་ à½à½´à½˜à¼‹à½¦à¾’ྲིལ་ཚུ་རྩ་བསà¾à¾²à½‘་གà½à½„མ་ཨིནà¼" @@ -2901,6 +2920,16 @@ msgstr "འདི་འབདà½à¼‹à½‘་%sའདི་གཞི་བཙུག msgid "%s was already set to automatically installed.\n" msgstr "འདི་འབདà½à¼‹à½‘་%sའདི་གཞི་བཙུགས་འབད་ནི་ཨིནà¼" +#: cmdline/apt-mark.cc +msgid "No changes necessary" +msgstr "" + +#: cmdline/apt-mark.cc +#, fuzzy +#| msgid "The following NEW packages will be installed:" +msgid "The following packages will be marked as automatically installed:" +msgstr "འོག་གི་à½à½´à½˜à¼‹à½¦à¾’ྲིས་གསརཔ་འདི་ཚུ་à½à½žà½²à¼‹à½–ཙུགས་འབད་འོང་:" + #: cmdline/apt-mark.cc #, fuzzy, c-format msgid "%s was already set on hold.\n" @@ -2960,6 +2989,11 @@ msgstr "འདི་འབདà½à¼‹à½‘་%sའདི་གཞི་བཙུག msgid "Mark the given packages as manually installed" msgstr "'dpkg-dev'་à½à½´à½˜à¼‹à½¦à¾’ྲིལ་དེ་གཞི་བཙུགས་འབད་ཡོད་པ་ཅིན་ཨེབ་གà½à½„་འབདà¼\n" +#: cmdline/apt-mark.cc +#, fuzzy +msgid "Mark all dependencies of meta packages as automatically installed." +msgstr "འདི་འབདà½à¼‹à½‘་%sའདི་གཞི་བཙུགས་འབད་ནི་ཨིནà¼" + #: cmdline/apt-mark.cc msgid "Mark a package as held back" msgstr "" @@ -3026,6 +3060,11 @@ msgstr "" msgid "install packages" msgstr "à½à½–་གཟེར་བà½à½–་ཡོད་པའི་à½à½´à½˜à¼‹à½¦à¾’ྲིལ་ཚུ:" +#: cmdline/apt.cc +#, fuzzy +msgid "reinstall packages" +msgstr "à½à½–་གཟེར་བà½à½–་ཡོད་པའི་à½à½´à½˜à¼‹à½¦à¾’ྲིལ་ཚུ:" + #: cmdline/apt.cc #, fuzzy msgid "remove packages" diff --git a/po/el.po b/po/el.po index ef1ecc38b0df966d5af5d400de17a0f2bdd2c1ee..b1ef3c5f7f8a419f51831aafe5f141df770d0d81 100644 --- a/po/el.po +++ b/po/el.po @@ -16,7 +16,7 @@ msgid "" msgstr "" "Project-Id-Version: apt 1.0.5\n" "Report-Msgid-Bugs-To: APT Development Team <deity@lists.debian.org>\n" -"POT-Creation-Date: 2018-12-18 15:02+0100\n" +"POT-Creation-Date: 2019-02-04 15:34+0100\n" "PO-Revision-Date: 2008-08-26 18:25+0300\n" "Last-Translator: Θανάσης Îάτσης <natsisthanasis@gmail.com>\n" "Language-Team: Greek <debian-l10n-greek@lists.debian.org>\n" @@ -402,6 +402,13 @@ msgstr "" msgid "Changelog unavailable for %s=%s" msgstr "Changelog για %s (%s)" +#: apt-pkg/acquire-worker.cc +#, c-format +msgid "" +"The method '%s' is unsupported and disabled by default. Consider switching " +"to http(s). Set Dir::Bin::Methods::%s to \"%s\" to enable it again." +msgstr "" + #: apt-pkg/acquire-worker.cc #, c-format msgid "The method '%s' is explicitly disabled via configuration." @@ -909,12 +916,12 @@ msgstr "Î Ïόβλημα κατά τον συγχÏονισμό του αÏχε msgid "Problem syncing the file" msgstr "Î Ïόβλημα κατά τον συγχÏονισμό του αÏχείου" -#: apt-pkg/contrib/fileutl.cc cmdline/apt-extracttemplates.cc +#: apt-pkg/contrib/fileutl.cc #, fuzzy, c-format msgid "Unable to mkstemp %s" msgstr "ΑδÏνατη η εÏÏεση της κατάστασης του %s" -#: apt-pkg/contrib/fileutl.cc cmdline/apt-extracttemplates.cc +#: apt-pkg/contrib/fileutl.cc #, c-format msgid "Unable to write to %s" msgstr "ΑδÏνατη η εγγÏαφή στο %s" @@ -1527,6 +1534,12 @@ msgstr "Μη ÎγκυÏη εγγÏαφή στο αÏχείο Ï€Ïοτιμήσε msgid "Did not understand pin type %s" msgstr "ΑδÏνατη η κατανόηση του Ï„Ïπου καθήλωσης %s" +#: apt-pkg/policy.cc +#, c-format +msgid "" +"%s: The special 'Pin-Priority: %s' can only be used for 'Package: *' records" +msgstr "" + #: apt-pkg/policy.cc #, c-format msgid "%s: Value %s is outside the range of valid pin priorities (%d to %d)" @@ -1959,7 +1972,7 @@ msgstr "" msgid "Abort." msgstr "Εγκατάλειψη." -#: apt-private/private-install.cc +#: apt-private/private-install.cc cmdline/apt-mark.cc msgid "Do you want to continue?" msgstr "ΘÎλετε να συνεχίσετε;" @@ -2506,9 +2519,9 @@ msgstr[1] "" msgid "All packages are up to date." msgstr "" -#: cmdline/apt-cache.cc -#, fuzzy -msgid "apt-cache stats does not take any arguments" +#: cmdline/apt-cache.cc cmdline/apt-mark.cc +#, fuzzy, c-format +msgid "%s does not take any arguments" msgstr "Η εντολή update δεν παίÏνει οÏίσματα" #: cmdline/apt-cache.cc @@ -2771,6 +2784,12 @@ msgstr "ΔιενÎÏγεια αναβάθμισης" msgid "Install new packages (pkg is libc6 not libc6.deb)" msgstr "Εγκατάσταση νÎων πακÎτων (χωÏίς την επÎκταση .deb)" +#: cmdline/apt-get.cc +#, fuzzy +#| msgid "Install new packages (pkg is libc6 not libc6.deb)" +msgid "Reinstall packages (pkg is libc6 not libc6.deb)" +msgstr "Εγκατάσταση νÎων πακÎτων (χωÏίς την επÎκταση .deb)" + #: cmdline/apt-get.cc msgid "Remove packages" msgstr "ΑφαίÏεση πακÎτων" @@ -2929,6 +2948,16 @@ msgstr "το %s Îχει εγκατασταθεί με το χÎÏι\n" msgid "%s was already set to automatically installed.\n" msgstr "το %s Îχει εγκατασταθεί με το χÎÏι\n" +#: cmdline/apt-mark.cc +msgid "No changes necessary" +msgstr "" + +#: cmdline/apt-mark.cc +#, fuzzy +#| msgid "The following NEW packages will be installed:" +msgid "The following packages will be marked as automatically installed:" +msgstr "Τα ακόλουθα ÎΕΑ πακÎτα θα εγκατασταθοÏν:" + #: cmdline/apt-mark.cc #, fuzzy, c-format msgid "%s was already set on hold.\n" @@ -2988,6 +3017,11 @@ msgstr "το %s Îχει εγκατασταθεί αυτόματα\n" msgid "Mark the given packages as manually installed" msgstr "ΕλÎγξτε αν είναι εγκαταστημÎνο το πακÎτο 'dpkg-dev'.\n" +#: cmdline/apt-mark.cc +#, fuzzy +msgid "Mark all dependencies of meta packages as automatically installed." +msgstr "το %s Îχει εγκατασταθεί αυτόματα\n" + #: cmdline/apt-mark.cc msgid "Mark a package as held back" msgstr "" @@ -3054,6 +3088,11 @@ msgstr "" msgid "install packages" msgstr "ΚαθηλωμÎνα ΠακÎτα:" +#: cmdline/apt.cc +#, fuzzy +msgid "reinstall packages" +msgstr "ΚαθηλωμÎνα ΠακÎτα:" + #: cmdline/apt.cc #, fuzzy msgid "remove packages" diff --git a/po/es.po b/po/es.po index 75bad50b413c6a821118d5548664104fe0905669..cb0f357eb54e280d33f8cbee8b21ac7843d74bb8 100644 --- a/po/es.po +++ b/po/es.po @@ -34,7 +34,7 @@ msgid "" msgstr "" "Project-Id-Version: apt 0.8.10\n" "Report-Msgid-Bugs-To: APT Development Team <deity@lists.debian.org>\n" -"POT-Creation-Date: 2018-12-18 15:02+0100\n" +"POT-Creation-Date: 2019-02-04 15:34+0100\n" "PO-Revision-Date: 2016-01-26 01:51+0100\n" "Last-Translator: Manuel \"Venturi\" Porras Peralta <venturi@openmailbox." "org>\n" @@ -487,6 +487,13 @@ msgstr "" msgid "Changelog unavailable for %s=%s" msgstr "No está disponible el informe de cambios para %s=%s" +#: apt-pkg/acquire-worker.cc +#, c-format +msgid "" +"The method '%s' is unsupported and disabled by default. Consider switching " +"to http(s). Set Dir::Bin::Methods::%s to \"%s\" to enable it again." +msgstr "" + #: apt-pkg/acquire-worker.cc #, c-format msgid "The method '%s' is explicitly disabled via configuration." @@ -1022,12 +1029,12 @@ msgstr "Se produjo un problema al renombrar el fichero %s a %s" msgid "Problem syncing the file" msgstr "Se produjo un problema al sincronizar el fichero" -#: apt-pkg/contrib/fileutl.cc cmdline/apt-extracttemplates.cc +#: apt-pkg/contrib/fileutl.cc #, c-format msgid "Unable to mkstemp %s" msgstr "No pude leer %s" -#: apt-pkg/contrib/fileutl.cc cmdline/apt-extracttemplates.cc +#: apt-pkg/contrib/fileutl.cc #, c-format msgid "Unable to write to %s" msgstr "No se pudo escribir en %s" @@ -1684,6 +1691,12 @@ msgstr "" msgid "Did not understand pin type %s" msgstr "No se entendió el pin tipo %s" +#: apt-pkg/policy.cc +#, c-format +msgid "" +"%s: The special 'Pin-Priority: %s' can only be used for 'Package: *' records" +msgstr "" + #: apt-pkg/policy.cc #, c-format msgid "%s: Value %s is outside the range of valid pin priorities (%d to %d)" @@ -2125,7 +2138,7 @@ msgstr "" msgid "Abort." msgstr "Anulado." -#: apt-private/private-install.cc +#: apt-private/private-install.cc cmdline/apt-mark.cc msgid "Do you want to continue?" msgstr "¿Desea continuar?" @@ -2690,9 +2703,10 @@ msgstr[1] "" msgid "All packages are up to date." msgstr "Todos los paquetes están actualizados." -#: cmdline/apt-cache.cc -msgid "apt-cache stats does not take any arguments" -msgstr "«apt-cache stats» no necesita argumentos" +#: cmdline/apt-cache.cc cmdline/apt-mark.cc +#, c-format +msgid "%s does not take any arguments" +msgstr "«%s» no necesita argumentos" #: cmdline/apt-cache.cc msgid "Total package names: " @@ -2975,6 +2989,12 @@ msgstr "Realiza una actualización" msgid "Install new packages (pkg is libc6 not libc6.deb)" msgstr "Instala nuevos paquetes (paquete es libc6 y no libc6.deb)" +#: cmdline/apt-get.cc +#, fuzzy +#| msgid "Install new packages (pkg is libc6 not libc6.deb)" +msgid "Reinstall packages (pkg is libc6 not libc6.deb)" +msgstr "Instala nuevos paquetes (paquete es libc6 y no libc6.deb)" + #: cmdline/apt-get.cc msgid "Remove packages" msgstr "Elimina paquetes" @@ -3124,6 +3144,16 @@ msgstr "%s ya estaba fijado como instalado manualmente.\n" msgid "%s was already set to automatically installed.\n" msgstr "%s ya estaba fijado como instalado automáticamente.\n" +#: cmdline/apt-mark.cc +msgid "No changes necessary" +msgstr "" + +#: cmdline/apt-mark.cc +#, fuzzy +#| msgid "The following NEW packages will be installed:" +msgid "The following packages will be marked as automatically installed:" +msgstr "Se instalarán los siguientes paquetes NUEVOS:" + #: cmdline/apt-mark.cc #, c-format msgid "%s was already set on hold.\n" @@ -3188,6 +3218,12 @@ msgstr "Marca los paquetes proporcionados como instalados automáticamente" msgid "Mark the given packages as manually installed" msgstr "Marca los paquetes proporcionados como instalados manualmente" +#: cmdline/apt-mark.cc +#, fuzzy +#| msgid "Mark the given packages as automatically installed" +msgid "Mark all dependencies of meta packages as automatically installed." +msgstr "Marca los paquetes proporcionados como instalados automáticamente" + #: cmdline/apt-mark.cc msgid "Mark a package as held back" msgstr "Marca el paquete como retenido" @@ -3264,6 +3300,12 @@ msgstr "muestra detalles del paquete" msgid "install packages" msgstr "instala paquetes" +#: cmdline/apt.cc +#, fuzzy +#| msgid "install packages" +msgid "reinstall packages" +msgstr "instala paquetes" + #: cmdline/apt.cc msgid "remove packages" msgstr "elimina paquetes" diff --git a/po/eu.po b/po/eu.po index a9348fcf58b0a483f7f510f5aa038bbad64988c2..6d96b3cd03f9831134e7f79599499ea20ba2eb64 100644 --- a/po/eu.po +++ b/po/eu.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: apt 1.0.5\n" "Report-Msgid-Bugs-To: APT Development Team <deity@lists.debian.org>\n" -"POT-Creation-Date: 2018-12-18 15:02+0100\n" +"POT-Creation-Date: 2019-02-04 15:34+0100\n" "PO-Revision-Date: 2009-05-17 00:41+0200\n" "Last-Translator: Piarres Beobide <pi@beobide.net>\n" "Language-Team: Euskara <debian-l10n-basque@lists.debian.org>\n" @@ -393,6 +393,13 @@ msgstr "" msgid "Changelog unavailable for %s=%s" msgstr "Konektatzen -> %s.(%s)" +#: apt-pkg/acquire-worker.cc +#, c-format +msgid "" +"The method '%s' is unsupported and disabled by default. Consider switching " +"to http(s). Set Dir::Bin::Methods::%s to \"%s\" to enable it again." +msgstr "" + #: apt-pkg/acquire-worker.cc #, c-format msgid "The method '%s' is explicitly disabled via configuration." @@ -893,12 +900,12 @@ msgstr "Arazoa fitxategia sinkronizatzean" msgid "Problem syncing the file" msgstr "Arazoa fitxategia sinkronizatzean" -#: apt-pkg/contrib/fileutl.cc cmdline/apt-extracttemplates.cc +#: apt-pkg/contrib/fileutl.cc #, fuzzy, c-format msgid "Unable to mkstemp %s" msgstr "Ezin da daturik lortu %s(e)tik" -#: apt-pkg/contrib/fileutl.cc cmdline/apt-extracttemplates.cc +#: apt-pkg/contrib/fileutl.cc #, c-format msgid "Unable to write to %s" msgstr "%s : ezin da idatzi" @@ -1509,6 +1516,12 @@ msgstr "Erregistro baliogabea hobespenen fitxategian, pakete goibururik ez" msgid "Did not understand pin type %s" msgstr "Ez da ulertu %s orratz-mota (pin)" +#: apt-pkg/policy.cc +#, c-format +msgid "" +"%s: The special 'Pin-Priority: %s' can only be used for 'Package: *' records" +msgstr "" + #: apt-pkg/policy.cc #, c-format msgid "%s: Value %s is outside the range of valid pin priorities (%d to %d)" @@ -1935,7 +1948,7 @@ msgstr "" msgid "Abort." msgstr "Abortatu." -#: apt-private/private-install.cc +#: apt-private/private-install.cc cmdline/apt-mark.cc msgid "Do you want to continue?" msgstr "Aurrera jarraitu nahi al duzu?" @@ -2483,9 +2496,9 @@ msgstr[1] "" msgid "All packages are up to date." msgstr "" -#: cmdline/apt-cache.cc -#, fuzzy -msgid "apt-cache stats does not take any arguments" +#: cmdline/apt-cache.cc cmdline/apt-mark.cc +#, fuzzy, c-format +msgid "%s does not take any arguments" msgstr "Eguneratzeko komandoak ez du argumenturik hartzen" #: cmdline/apt-cache.cc @@ -2747,6 +2760,12 @@ msgstr "Egin bertsio berritzea" msgid "Install new packages (pkg is libc6 not libc6.deb)" msgstr "Instalatu pakete berriak (paketea libc6 da, eta ez libc6.deb)" +#: cmdline/apt-get.cc +#, fuzzy +#| msgid "Install new packages (pkg is libc6 not libc6.deb)" +msgid "Reinstall packages (pkg is libc6 not libc6.deb)" +msgstr "Instalatu pakete berriak (paketea libc6 da, eta ez libc6.deb)" + #: cmdline/apt-get.cc msgid "Remove packages" msgstr "Kendu paketeak" @@ -2902,6 +2921,16 @@ msgstr "%s eskuz instalatua bezala ezarri.\n" msgid "%s was already set to automatically installed.\n" msgstr "%s eskuz instalatua bezala ezarri.\n" +#: cmdline/apt-mark.cc +msgid "No changes necessary" +msgstr "" + +#: cmdline/apt-mark.cc +#, fuzzy +#| msgid "The following NEW packages will be installed:" +msgid "The following packages will be marked as automatically installed:" +msgstr "Ondorengo pakete BERRIAK instalatuko dira:" + #: cmdline/apt-mark.cc #, fuzzy, c-format msgid "%s was already set on hold.\n" @@ -2961,6 +2990,11 @@ msgstr "%s eskuz instalatua bezala ezarri.\n" msgid "Mark the given packages as manually installed" msgstr "Egiaztatu 'dpkg-dev' paketea instalaturik dagoen.\n" +#: cmdline/apt-mark.cc +#, fuzzy +msgid "Mark all dependencies of meta packages as automatically installed." +msgstr "%s eskuz instalatua bezala ezarri.\n" + #: cmdline/apt-mark.cc msgid "Mark a package as held back" msgstr "" @@ -3027,6 +3061,11 @@ msgstr "" msgid "install packages" msgstr "Pin duten Paketeak:" +#: cmdline/apt.cc +#, fuzzy +msgid "reinstall packages" +msgstr "Pin duten Paketeak:" + #: cmdline/apt.cc #, fuzzy msgid "remove packages" diff --git a/po/fi.po b/po/fi.po index eb1da85168a19ce222e52568df466673402edf24..0e01609ca80d44fb4f98e82ae880be16696f9f86 100644 --- a/po/fi.po +++ b/po/fi.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: apt 0.5.26\n" "Report-Msgid-Bugs-To: APT Development Team <deity@lists.debian.org>\n" -"POT-Creation-Date: 2018-12-18 15:02+0100\n" +"POT-Creation-Date: 2019-02-04 15:34+0100\n" "PO-Revision-Date: 2008-12-11 14:52+0200\n" "Last-Translator: Tapio Lehtonen <tale@debian.org>\n" "Language-Team: Finnish <debian-l10n-finnish@lists.debian.org>\n" @@ -393,6 +393,13 @@ msgstr "" msgid "Changelog unavailable for %s=%s" msgstr "Avataan yhteys %s (%s)" +#: apt-pkg/acquire-worker.cc +#, c-format +msgid "" +"The method '%s' is unsupported and disabled by default. Consider switching " +"to http(s). Set Dir::Bin::Methods::%s to \"%s\" to enable it again." +msgstr "" + #: apt-pkg/acquire-worker.cc #, c-format msgid "The method '%s' is explicitly disabled via configuration." @@ -889,12 +896,12 @@ msgstr "Pulmia tehtäessä tiedostolle sync" msgid "Problem syncing the file" msgstr "Pulmia tehtäessä tiedostolle sync" -#: apt-pkg/contrib/fileutl.cc cmdline/apt-extracttemplates.cc +#: apt-pkg/contrib/fileutl.cc #, fuzzy, c-format msgid "Unable to mkstemp %s" msgstr "Tiedostolle %s ei toimi stat" -#: apt-pkg/contrib/fileutl.cc cmdline/apt-extracttemplates.cc +#: apt-pkg/contrib/fileutl.cc #, c-format msgid "Unable to write to %s" msgstr "Tiedostoon %s kirjoittaminen ei onnistu" @@ -1504,6 +1511,12 @@ msgstr "Asetustiedostossa on virheellinen tietue, Package-otsikko puuttuu" msgid "Did not understand pin type %s" msgstr "Tunnistetyyppi %s on tuntematon" +#: apt-pkg/policy.cc +#, c-format +msgid "" +"%s: The special 'Pin-Priority: %s' can only be used for 'Package: *' records" +msgstr "" + #: apt-pkg/policy.cc #, c-format msgid "%s: Value %s is outside the range of valid pin priorities (%d to %d)" @@ -1929,7 +1942,7 @@ msgstr "" msgid "Abort." msgstr "Keskeytä." -#: apt-private/private-install.cc +#: apt-private/private-install.cc cmdline/apt-mark.cc msgid "Do you want to continue?" msgstr "Haluatko jatkaa?" @@ -2475,9 +2488,9 @@ msgstr[1] "" msgid "All packages are up to date." msgstr "" -#: cmdline/apt-cache.cc -#, fuzzy -msgid "apt-cache stats does not take any arguments" +#: cmdline/apt-cache.cc cmdline/apt-mark.cc +#, fuzzy, c-format +msgid "%s does not take any arguments" msgstr "Komento update ei käytä parametreja" #: cmdline/apt-cache.cc @@ -2738,6 +2751,12 @@ msgstr "Tee päivitys" msgid "Install new packages (pkg is libc6 not libc6.deb)" msgstr "Asenna uusia paketteja (esim. libc6 eikä libc6.deb)" +#: cmdline/apt-get.cc +#, fuzzy +#| msgid "Install new packages (pkg is libc6 not libc6.deb)" +msgid "Reinstall packages (pkg is libc6 not libc6.deb)" +msgstr "Asenna uusia paketteja (esim. libc6 eikä libc6.deb)" + #: cmdline/apt-get.cc msgid "Remove packages" msgstr "Poista paketteja" @@ -2893,6 +2912,16 @@ msgstr "%s on merkitty käyttäjän toimesta asennetuksi.\n" msgid "%s was already set to automatically installed.\n" msgstr "%s on merkitty käyttäjän toimesta asennetuksi.\n" +#: cmdline/apt-mark.cc +msgid "No changes necessary" +msgstr "" + +#: cmdline/apt-mark.cc +#, fuzzy +#| msgid "The following NEW packages will be installed:" +msgid "The following packages will be marked as automatically installed:" +msgstr "Seuraavat UUDET paketit asennetaan:" + #: cmdline/apt-mark.cc #, fuzzy, c-format msgid "%s was already set on hold.\n" @@ -2952,6 +2981,11 @@ msgstr "%s on merkitty käyttäjän toimesta asennetuksi.\n" msgid "Mark the given packages as manually installed" msgstr "Tarkista onko paketti \"dpkg-dev\" asennettu.\n" +#: cmdline/apt-mark.cc +#, fuzzy +msgid "Mark all dependencies of meta packages as automatically installed." +msgstr "%s on merkitty käyttäjän toimesta asennetuksi.\n" + #: cmdline/apt-mark.cc msgid "Mark a package as held back" msgstr "" @@ -3018,6 +3052,11 @@ msgstr "" msgid "install packages" msgstr "Paketit joissa tunniste:" +#: cmdline/apt.cc +#, fuzzy +msgid "reinstall packages" +msgstr "Paketit joissa tunniste:" + #: cmdline/apt.cc #, fuzzy msgid "remove packages" diff --git a/po/fr.po b/po/fr.po index b06b92a4652b8f13d9f4a24d871a6cf78d774a21..50bfbfe82cfc445d1c1735aa6ad1fc59033c5dd6 100644 --- a/po/fr.po +++ b/po/fr.po @@ -4,13 +4,14 @@ # # Pierre Machard <pmachard@tuxfamily.org>, 2002,2003,2004. # Christian Perrier <bubulle@debian.org>, 2004-2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013. -# Julien Patriarca <leatherface@debian.org>, 2013, 2017, 2018 +# Julien Patriarca <leatherface@debian.org>, 2013, 2017, 2018. +# Baptiste Jammet <baptiste@mailoo.org>, 2019. msgid "" msgstr "" "Project-Id-Version: apt 1.0.5\n" "Report-Msgid-Bugs-To: APT Development Team <deity@lists.debian.org>\n" -"POT-Creation-Date: 2018-12-18 15:02+0100\n" -"PO-Revision-Date: 2018-01-02 15:09+0100\n" +"POT-Creation-Date: 2019-02-04 15:34+0100\n" +"PO-Revision-Date: 2019-01-21 09:19+0100\n" "Last-Translator: Julien Patriarca <leatherface@debian.org>\n" "Language-Team: French <debian-l10n-french@lists.debian.org>\n" "Language: fr\n" @@ -22,7 +23,7 @@ msgstr "" #: apt-inst/contrib/arfile.cc msgid "Invalid archive signature" -msgstr "Signature d'archive invalide" +msgstr "Signature d'archive non valable" #: apt-inst/contrib/arfile.cc msgid "Error reading archive member header" @@ -35,7 +36,7 @@ msgstr "En-tête du membre d'archive %s non valable" #: apt-inst/contrib/arfile.cc msgid "Invalid archive member header" -msgstr "En-tête du membre d'archive non-valable" +msgstr "En-tête du membre d'archive non valable" #: apt-inst/contrib/arfile.cc msgid "Archive is too short" @@ -66,7 +67,7 @@ msgstr "Type d'en-tête %u inconnu pour TAR, partie %s" #: apt-inst/deb/debfile.cc #, c-format msgid "This is not a valid DEB archive, missing '%s' member" -msgstr "Ce n'est pas une archive DEB valide, partie « %s » manquante" +msgstr "Ce n'est pas une archive DEB valable, partie « %s » manquante" #: apt-inst/deb/debfile.cc #, c-format @@ -196,7 +197,7 @@ msgid "" "disabled by default." msgstr "" "Les mises à jour depuis un tel dépôt ne peuvent s'effectuer de manière " -"sécurisée, et sont donc désactivées par défaut" +"sécurisée, et sont donc désactivées par défaut." #: apt-pkg/acquire-item.cc msgid "" @@ -273,7 +274,7 @@ msgstr "Taille incohérente" #: apt-pkg/acquire-item.cc msgid "Invalid file format" -msgstr "Format de fichier invalide" +msgstr "Format de fichier non valable" #: apt-pkg/acquire-item.cc msgid "Signature error" @@ -321,7 +322,7 @@ msgid "" "architecture '%s'" msgstr "" "Le fichier configuré « %s » ne sera pas pris en compte car le dépôt « %s » " -"ne supporte pas l'architecture « %s »" +"ne prend pas en charge l'architecture « %s »" #: apt-pkg/acquire-item.cc #, c-format @@ -350,23 +351,20 @@ msgid "" "Release file for %s is expired (invalid since %s). Updates for this " "repository will not be applied." msgstr "" -"Le fichier « Release » pour %s a expiré (invalide depuis %s). Les mises à " +"Le fichier « Release » pour %s est périmé (invalide depuis %s). Les mises à " "jour depuis ce dépôt ne s'effectueront pas." #. TRANSLATOR: The first %s is the URL of the bad Release file, the second is #. the time until the file will be valid - formatted in the same way as in #. the download progress display (e.g. 7d 3h 42min 1s) #: apt-pkg/acquire-item.cc -#, fuzzy, c-format -#| msgid "" -#| "Release file for %s is expired (invalid since %s). Updates for this " -#| "repository will not be applied." +#, c-format msgid "" "Release file for %s is not valid yet (invalid for another %s). Updates for " "this repository will not be applied." msgstr "" -"Le fichier « Release » pour %s a expiré (invalide depuis %s). Les mises à " -"jour depuis ce dépôt ne s'effectueront pas." +"Le fichier « Release » pour %s n'est pas encore valable (invalide pendant " +"encore %s). Les mises à jour depuis ce dépôt ne s'effectueront pas." #: apt-pkg/acquire-item.cc #, c-format @@ -430,6 +428,13 @@ msgstr "" msgid "Changelog unavailable for %s=%s" msgstr "Journal des modifications indisponible pour %s=%s" +#: apt-pkg/acquire-worker.cc +#, c-format +msgid "" +"The method '%s' is unsupported and disabled by default. Consider switching " +"to http(s). Set Dir::Bin::Methods::%s to \"%s\" to enable it again." +msgstr "" + #: apt-pkg/acquire-worker.cc #, c-format msgid "The method '%s' is explicitly disabled via configuration." @@ -439,7 +444,7 @@ msgstr "La méthode « %s » est volontairement désactivée par configuration #, c-format msgid "If you meant to use Tor remember to use %s instead of %s." msgstr "" -".Si vous souhaitiez utiliser Tor veuillez alors utiliser « %s » plutôt que " +".Si vous souhaitiez utiliser Tor, veuillez alors utiliser « %s » plutôt que " "« %s »." #: apt-pkg/acquire-worker.cc @@ -729,8 +734,8 @@ msgid "" "Command line option '%c' [from %s] is not understood in combination with the " "other options." msgstr "" -"L'option « %c » de la ligne de commande [%s] est inconnue quand elle est " -"utilisée avec d'autres options." +"L'option « %c » de la ligne de commande [%s] n'est pas reconnue quand elle " +"est utilisée avec d'autres options." #: apt-pkg/contrib/cmndline.cc #, c-format @@ -769,7 +774,9 @@ msgstr "L'option « %s » est trop longue" #: apt-pkg/contrib/cmndline.cc #, c-format msgid "Sense %s is not understood, try true or false." -msgstr "La signification %s n'est pas comprise, veuillez essayer vrai ou faux." +msgstr "" +"La signification %s n'est pas comprise, veuillez essayer « true » ou " +"« false »." #: apt-pkg/contrib/cmndline.cc #, c-format @@ -888,7 +895,7 @@ msgstr "" #: cmdline/apt-dump-solver.cc #, c-format msgid "Waited for %s but it wasn't there" -msgstr "A attendu %s mais il n'était pas présent" +msgstr "A attendu %s, mais il n'était pas présent" #: apt-pkg/contrib/fileutl.cc #, c-format @@ -970,12 +977,12 @@ msgstr "Problème de renommage du fichier %s en %s" msgid "Problem syncing the file" msgstr "Problème de synchronisation du fichier" -#: apt-pkg/contrib/fileutl.cc cmdline/apt-extracttemplates.cc +#: apt-pkg/contrib/fileutl.cc #, c-format msgid "Unable to mkstemp %s" msgstr "Impossible d'appliquer mkstemp pour %s." -#: apt-pkg/contrib/fileutl.cc cmdline/apt-extracttemplates.cc +#: apt-pkg/contrib/fileutl.cc #, c-format msgid "Unable to write to %s" msgstr "Impossible d'écrire sur %s" @@ -987,7 +994,7 @@ msgstr "Impossible de mapper un fichier vide en mémoire" #: apt-pkg/contrib/mmap.cc #, c-format msgid "Couldn't make mmap of %llu bytes" -msgstr "Impossible de réaliser un mapping de %llu octets en mémoire" +msgstr "Impossible de réaliser un mappage de %llu octets en mémoire" #: apt-pkg/contrib/mmap.cc #, c-format @@ -1005,7 +1012,7 @@ msgstr "Impossible de synchroniser la « mmap »" #: apt-pkg/contrib/mmap.cc #, c-format msgid "Couldn't make mmap of %lu bytes" -msgstr "Impossible de réaliser un mapping de %lu octets en mémoire" +msgstr "Impossible de réaliser un mappage de %lu octets en mémoire" #: apt-pkg/contrib/mmap.cc msgid "Failed to truncate file" @@ -1160,23 +1167,19 @@ msgid "Unable to parse package file %s (%d)" msgstr "Impossible de traiter le fichier %s (%d)" #: apt-pkg/deb/debsystem.cc -#, fuzzy, c-format -#| msgid "" -#| "Unable to lock the administration directory (%s), is another process " -#| "using it?" +#, c-format msgid "" "Unable to acquire the dpkg frontend lock (%s), is another process using it?" msgstr "" -"Impossible de verrouiller le répertoire d'administration (%s). Il est " -"possible qu'un autre processus l'utilise." +"Impossible d'obtenir le verrou de dpkg (%s). Il est possible qu'un autre " +"processus l'utilise." #: apt-pkg/deb/debsystem.cc -#, fuzzy, c-format -#| msgid "Unable to lock the administration directory (%s), are you root?" +#, c-format msgid "Unable to acquire the dpkg frontend lock (%s), are you root?" msgstr "" -"Impossible de verrouiller le répertoire d'administration (%s). Avez-vous les " -"privilèges du superutilisateur ?" +"Impossible d'obtenir le verrou de dpkg (%s). Avez-vous les droits du " +"superutilisateur ?" #. TRANSLATORS: the %s contains the recovery command, usually #. dpkg --configure -a @@ -1202,7 +1205,7 @@ msgstr "" msgid "Unable to lock the administration directory (%s), are you root?" msgstr "" "Impossible de verrouiller le répertoire d'administration (%s). Avez-vous les " -"privilèges du superutilisateur ?" +"droits du superutilisateur ?" #: apt-pkg/deb/debsystem.cc msgid "Not locked" @@ -1442,7 +1445,7 @@ msgstr "Somme de contrôle de hachage incohérente pour %s" #: apt-pkg/init.cc #, c-format msgid "Packaging system '%s' is not supported" -msgstr "Le système de paquet « %s » n'est pas supporté" +msgstr "Le système de paquet « %s » n'est pas pris en charge" #: apt-pkg/init.cc msgid "Unable to determine a suitable packaging system type" @@ -1500,7 +1503,7 @@ msgstr "Le fichier de cache des paquets a une version incompatible" #: apt-pkg/pkgcache.cc #, c-format msgid "This APT does not support the versioning system '%s'" -msgstr "Cet APT ne supporte pas le système de version « %s »" +msgstr "Cet APT ne prend pas en charge le système de version « %s »" #: apt-pkg/pkgcache.cc #, c-format @@ -1641,12 +1644,18 @@ msgstr "" msgid "Did not understand pin type %s" msgstr "Type d'épinglage %s inconnu" +#: apt-pkg/policy.cc +#, c-format +msgid "" +"%s: The special 'Pin-Priority: %s' can only be used for 'Package: *' records" +msgstr "" + #: apt-pkg/policy.cc #, c-format msgid "%s: Value %s is outside the range of valid pin priorities (%d to %d)" msgstr "" -"%s : la valeur %s est dehors de la plage de priorités d'épinglage valide (%d " -"à %d)" +"%s : la valeur %s est en dehors de la plage de priorités d'épinglage valide " +"(%d à %d)" #: apt-pkg/policy.cc msgid "No priority (or zero) specified for pin" @@ -1711,28 +1720,28 @@ msgstr "Calcul de la mise à jour" #: apt-private/acqprogress.cc #, c-format msgid "Hit:%lu %s" -msgstr "Atteint:%lu %s" +msgstr "Atteint :%lu %s" #. TRANSLATOR: Very short word to be displayed for files processed in 'apt-get update' #. Potentially replaced later by "Hit:", "Ign:" or "Err:" if something (bad) happens #: apt-private/acqprogress.cc #, c-format msgid "Get:%lu %s" -msgstr "Réception de:%lu %s" +msgstr "Réception de :%lu %s" #. TRANSLATOR: Very short word to be displayed for files in 'apt-get update' #. which failed to download, but the error is ignored (compare "Err:") #: apt-private/acqprogress.cc #, c-format msgid "Ign:%lu %s" -msgstr "Ign:%lu %s" +msgstr "Ign :%lu %s" #. TRANSLATOR: Very short word to be displayed for files in 'apt-get update' #. which failed to download and the error is critical (compare "Ign:") #: apt-private/acqprogress.cc #, c-format msgid "Err:%lu %s" -msgstr "Err:%lu %s" +msgstr "Err :%lu %s" #: apt-private/acqprogress.cc #, c-format @@ -1760,7 +1769,7 @@ msgid "" "repository?" msgstr "" "Souhaitez-vous accepter ces modifications et continuer à mettre à jour " -"depuis ce dépôt ?" +"depuis ce dépôt ?" #: apt-private/private-cachefile.cc msgid "Correcting dependencies..." @@ -1878,7 +1887,7 @@ msgstr "Note : sélection de « %s » au lieu de « %s »\n" #: apt-private/private-cmndline.cc msgid "Most used commands:" -msgstr "Commandes les plus utilisées :" +msgstr "Commandes les plus utilisées :" #: apt-private/private-cmndline.cc #, c-format @@ -1927,7 +1936,7 @@ msgstr "Aucun paquet n'a été trouvé" #: apt-private/private-download.cc msgid "WARNING: The following packages cannot be authenticated!" -msgstr "ATTENTION : les paquets suivants n'ont pas été authentifiés !" +msgstr "ATTENTION : les paquets suivants n'ont pas été authentifiés !" #: apt-private/private-download.cc msgid "Authentication warning overridden.\n" @@ -1939,7 +1948,7 @@ msgstr "Certains paquets n'ont pas pu être authentifiés" #: apt-private/private-download.cc msgid "Install these packages without verification?" -msgstr "Faut-il installer ces paquets sans vérification ?" +msgstr "Faut-il installer ces paquets sans vérification ?" #: apt-private/private-download.cc msgid "" @@ -2008,7 +2017,7 @@ msgstr "Erreur interne, « InstallPackages » appelé avec des paquets cassés #: apt-private/private-install.cc msgid "Packages need to be removed but remove is disabled." msgstr "" -"Les paquets doivent être enlevés mais la désinstallation est désactivée." +"Les paquets doivent être enlevés, mais la désinstallation est désactivée." #: apt-private/private-install.cc msgid "" @@ -2073,8 +2082,8 @@ msgstr "Après cette opération, %so d'espace disque seront libérés.\n" #: apt-private/private-install.cc msgid "Trivial Only specified but this is not a trivial operation." msgstr "" -"L'option --trivial-only a été indiquée mais il ne s'agit pas d'une opération " -"triviale." +"L'option --trivial-only a été indiquée, mais il ne s'agit pas d'une " +"opération triviale." # The space before the exclamation mark must not be a non-breaking space; this # sentence is supposed to be typed by a user who cannot see the difference. @@ -2099,7 +2108,7 @@ msgstr "" msgid "Abort." msgstr "Annulation." -#: apt-private/private-install.cc +#: apt-private/private-install.cc cmdline/apt-mark.cc msgid "Do you want to continue?" msgstr "Souhaitez-vous continuer ?" @@ -2686,8 +2695,10 @@ msgstr[1] "" msgid "All packages are up to date." msgstr "Tous les paquets sont à jour." -#: cmdline/apt-cache.cc -msgid "apt-cache stats does not take any arguments" +#: cmdline/apt-cache.cc cmdline/apt-mark.cc +#, fuzzy, c-format +#| msgid "apt-cache stats does not take any arguments" +msgid "%s does not take any arguments" msgstr "La commande apt-cache ne prend pas de paramètre" #: cmdline/apt-cache.cc @@ -2774,8 +2785,8 @@ msgstr "" "\tapt-cache [options] show pkg1 [pkg2 ...]\n" "\n" "apt-cache recherche et affiche les informations disponibles à propos\n" -"des paquets installés et installables. Il fonctionne exclusivement sur \n" -"les données trouvées dans le cache local grâce à la commande « update »\n" +"des paquets installés et installables. Il fonctionne exclusivement sur\n" +"les données trouvées dans le cache local grâce à la commande « update »\n" "d'apt-get par exemple. Les informations affichées peuvent cependant être\n" "obsolètes si la dernière mise à jour est trop ancienne, mais en revanche\n" "apt-cache fonctionne indépendamment de la disponibilité des sources\n" @@ -2982,6 +2993,12 @@ msgstr "Réalise une mise à jour" msgid "Install new packages (pkg is libc6 not libc6.deb)" msgstr "Installe de nouveaux paquets (pkg1 est libc6 et non libc6.deb)" +#: cmdline/apt-get.cc +#, fuzzy +#| msgid "Install new packages (pkg is libc6 not libc6.deb)" +msgid "Reinstall packages (pkg is libc6 not libc6.deb)" +msgstr "Installe de nouveaux paquets (pkg1 est libc6 et non libc6.deb)" + #: cmdline/apt-get.cc msgid "Remove packages" msgstr "Supprime des paquets" @@ -2992,7 +3009,7 @@ msgstr "Supprime des paquets et leurs fichiers de configuration" #: cmdline/apt-get.cc cmdline/apt.cc msgid "Remove automatically all unused packages" -msgstr "Supprime automatiquement les dépendances inutilisés" +msgstr "Supprime automatiquement les dépendances inutilisées" #: cmdline/apt-get.cc msgid "Distribution upgrade, see apt-get(8)" @@ -3047,7 +3064,7 @@ msgstr "Le téléchargement a échoué" #: cmdline/apt-helper.cc #, c-format msgid "GetSrvRec failed for %s" -msgstr "GetSrvRec a échouté pour %s" +msgstr "GetSrvRec a échoué pour %s" #: cmdline/apt-helper.cc msgid "" @@ -3062,7 +3079,7 @@ msgstr "" " apt-helper [options] cat-file fichier ...\n" " apt-helper [options] download-file uri target-path\n" "\n" -"apt-helper embarque un grand nombre de commandes que les scripts pour \n" +"apt-helper embarque un grand nombre de commandes que les scripts pour\n" "l'interpréteur de commandes peuvent utiliser\n" "par exemple, la même configuration de proxy ou d'acquisition qu'APT " "utiliserait.\n" @@ -3083,7 +3100,7 @@ msgstr "Concaténer des fichiers, avec décompression automatique" #: cmdline/apt-helper.cc msgid "detect proxy using apt.conf" -msgstr "détecter la configuration proxy en utilisant apt.conf" +msgstr "Détecter la configuration proxy en utilisant apt.conf" #: cmdline/apt-helper.cc msgid "wait for system to be online" @@ -3091,7 +3108,7 @@ msgstr "En attente de la connexion du système" #: cmdline/apt-helper.cc msgid "drop privileges before running given command" -msgstr "" +msgstr "Se débarrasser des privilèges avant d'exécuter la commande donnée" #: cmdline/apt-internal-planner.cc msgid "" @@ -3138,6 +3155,16 @@ msgstr "%s était déjà marqué comme installé manuellement.\n" msgid "%s was already set to automatically installed.\n" msgstr "%s était déjà marqué comme installé automatiquement.\n" +#: cmdline/apt-mark.cc +msgid "No changes necessary" +msgstr "" + +#: cmdline/apt-mark.cc +#, fuzzy +#| msgid "The following NEW packages will be installed:" +msgid "The following packages will be marked as automatically installed:" +msgstr "Les NOUVEAUX paquets suivants seront installés :" + #: cmdline/apt-mark.cc #, c-format msgid "%s was already set on hold.\n" @@ -3151,8 +3178,7 @@ msgstr "%s était déjà marqué comme non figé.\n" #: cmdline/apt-mark.cc msgid "Executing dpkg failed. Are you root?" msgstr "" -"Échec de l'exécution de dpkg. Possédez-vous les privilèges du " -"superutilisateur ?" +"Échec de l'exécution de dpkg. Possédez-vous les droits du superutilisateur ?" #: cmdline/apt-mark.cc #, c-format @@ -3204,6 +3230,12 @@ msgstr "Marquer les paquets indiqués comme installés automatiquement" msgid "Mark the given packages as manually installed" msgstr "Marquer les paquets indiqués comme installés manuellement" +#: cmdline/apt-mark.cc +#, fuzzy +#| msgid "Mark the given packages as automatically installed" +msgid "Mark all dependencies of meta packages as automatically installed." +msgstr "Marquer les paquets indiqués comme installés automatiquement" + #: cmdline/apt-mark.cc msgid "Mark a package as held back" msgstr "Marquer un paquet comme maintenu dans une version" @@ -3238,7 +3270,7 @@ msgid "" msgstr "" "Usage : apt-sortpkgs [options] fichier1 [fichier2 ...]\n" "\n" -"apt-sortpgks est un outil simple permettant de trier les informations à \n" +"apt-sortpgks est un outil simple permettant de trier les informations à \n" "propos d'un paquet. Par défaut, il trie par information de paquets " "binaires,\n" "mais l'option -s peut être utilisée pour passer au tri par paquet source.\n" @@ -3280,6 +3312,12 @@ msgstr "affiche les détails du paquet" msgid "install packages" msgstr "installes les paquets" +#: cmdline/apt.cc +#, fuzzy +#| msgid "install packages" +msgid "reinstall packages" +msgstr "installes les paquets" + #: cmdline/apt.cc msgid "remove packages" msgstr "supprime des paquets" @@ -3661,7 +3699,7 @@ msgstr "Le serveur http a envoyé un en-tête « Content-Range » invalide" #: methods/basehttp.cc msgid "This HTTP server has broken range support" -msgstr "Ce serveur http possède un support des limites non-valide" +msgstr "Ce serveur http possède une gestion des limites non-valide" #: methods/basehttp.cc msgid "Unknown date format" diff --git a/po/gl.po b/po/gl.po index 50c855cef89b6f44350fb0a7f172daa03d8c96bf..926ffa8a1e71ed31211b8ec7202dd75c61876206 100644 --- a/po/gl.po +++ b/po/gl.po @@ -10,7 +10,7 @@ msgid "" msgstr "" "Project-Id-Version: apt 1.0.5\n" "Report-Msgid-Bugs-To: APT Development Team <deity@lists.debian.org>\n" -"POT-Creation-Date: 2018-12-18 15:02+0100\n" +"POT-Creation-Date: 2019-02-04 15:34+0100\n" "PO-Revision-Date: 2011-05-12 15:28+0100\n" "Last-Translator: Miguel Anxo Bouzada <mbouzada@gmail.com>\n" "Language-Team: galician <proxecto@trasno.net>\n" @@ -400,6 +400,13 @@ msgstr "" msgid "Changelog unavailable for %s=%s" msgstr "Rexistro de cambios de %s (%s)" +#: apt-pkg/acquire-worker.cc +#, c-format +msgid "" +"The method '%s' is unsupported and disabled by default. Consider switching " +"to http(s). Set Dir::Bin::Methods::%s to \"%s\" to enable it again." +msgstr "" + #: apt-pkg/acquire-worker.cc #, c-format msgid "The method '%s' is explicitly disabled via configuration." @@ -919,12 +926,12 @@ msgstr "Produciuse un problema ao renomear o ficheiro %s a %s" msgid "Problem syncing the file" msgstr "Produciuse un problema ao sincronizar o ficheiro" -#: apt-pkg/contrib/fileutl.cc cmdline/apt-extracttemplates.cc +#: apt-pkg/contrib/fileutl.cc #, fuzzy, c-format msgid "Unable to mkstemp %s" msgstr "Non é posÃbel determinar o estado %s" -#: apt-pkg/contrib/fileutl.cc cmdline/apt-extracttemplates.cc +#: apt-pkg/contrib/fileutl.cc #, c-format msgid "Unable to write to %s" msgstr "Non é posÃbel escribir en %s" @@ -1567,6 +1574,12 @@ msgstr "" msgid "Did not understand pin type %s" msgstr "Non se entendeu o tipo de inmobilización %s" +#: apt-pkg/policy.cc +#, c-format +msgid "" +"%s: The special 'Pin-Priority: %s' can only be used for 'Package: *' records" +msgstr "" + #: apt-pkg/policy.cc #, c-format msgid "%s: Value %s is outside the range of valid pin priorities (%d to %d)" @@ -1996,7 +2009,7 @@ msgstr "" msgid "Abort." msgstr "Interromper." -#: apt-private/private-install.cc +#: apt-private/private-install.cc cmdline/apt-mark.cc msgid "Do you want to continue?" msgstr "Quere continuar?" @@ -2555,9 +2568,9 @@ msgstr[1] "" msgid "All packages are up to date." msgstr "" -#: cmdline/apt-cache.cc -#, fuzzy -msgid "apt-cache stats does not take any arguments" +#: cmdline/apt-cache.cc cmdline/apt-mark.cc +#, fuzzy, c-format +msgid "%s does not take any arguments" msgstr "A orde «update» non toma argumentos" #: cmdline/apt-cache.cc @@ -2817,6 +2830,12 @@ msgstr "Executa unha actualización" msgid "Install new packages (pkg is libc6 not libc6.deb)" msgstr "Instala novos paquetes (o paquete é libc6 non libc6.deb)" +#: cmdline/apt-get.cc +#, fuzzy +#| msgid "Install new packages (pkg is libc6 not libc6.deb)" +msgid "Reinstall packages (pkg is libc6 not libc6.deb)" +msgstr "Instala novos paquetes (o paquete é libc6 non libc6.deb)" + #: cmdline/apt-get.cc msgid "Remove packages" msgstr "Retira paquetes" @@ -2974,6 +2993,16 @@ msgstr "%s cambiado a instalado manualmente.\n" msgid "%s was already set to automatically installed.\n" msgstr "%s está estabelecido para a súa instalación automática.\n" +#: cmdline/apt-mark.cc +msgid "No changes necessary" +msgstr "" + +#: cmdline/apt-mark.cc +#, fuzzy +#| msgid "The following NEW packages will be installed:" +msgid "The following packages will be marked as automatically installed:" +msgstr "Os seguintes paquetes NOVOS hanse instalar:" + #: cmdline/apt-mark.cc #, fuzzy, c-format msgid "%s was already set on hold.\n" @@ -3033,6 +3062,11 @@ msgstr "%s está estabelecido para a súa instalación automática.\n" msgid "Mark the given packages as manually installed" msgstr "Comprobe que o paquete «dpkg-dev» estea instalado.\n" +#: cmdline/apt-mark.cc +#, fuzzy +msgid "Mark all dependencies of meta packages as automatically installed." +msgstr "%s está estabelecido para a súa instalación automática.\n" + #: cmdline/apt-mark.cc msgid "Mark a package as held back" msgstr "" @@ -3099,6 +3133,11 @@ msgstr "" msgid "install packages" msgstr "Paquetes inmobilizados:" +#: cmdline/apt.cc +#, fuzzy +msgid "reinstall packages" +msgstr "Paquetes inmobilizados:" + #: cmdline/apt.cc #, fuzzy msgid "remove packages" diff --git a/po/hu.po b/po/hu.po index 4630744b4e77c228b6fe0a0ad1c8281e31a8df0f..48c4330b394d85970c1ef9d1974f57e49ed46878 100644 --- a/po/hu.po +++ b/po/hu.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: apt 1.0.5\n" "Report-Msgid-Bugs-To: APT Development Team <deity@lists.debian.org>\n" -"POT-Creation-Date: 2018-12-18 15:02+0100\n" +"POT-Creation-Date: 2019-02-04 15:34+0100\n" "PO-Revision-Date: 2016-04-10 19:46+0200\n" "Last-Translator: Gabor Kelemen <kelemeng@ubuntu.com>\n" "Language-Team: Hungarian <gnome-hu-list@gnome.org>\n" @@ -428,6 +428,13 @@ msgstr "Nem található forrás a(z) „%2$s†„%1$s†verziójának letölt msgid "Changelog unavailable for %s=%s" msgstr "Nem érhetÅ‘ el változásnapló ehhez: %s=%s" +#: apt-pkg/acquire-worker.cc +#, c-format +msgid "" +"The method '%s' is unsupported and disabled by default. Consider switching " +"to http(s). Set Dir::Bin::Methods::%s to \"%s\" to enable it again." +msgstr "" + #: apt-pkg/acquire-worker.cc #, c-format msgid "The method '%s' is explicitly disabled via configuration." @@ -952,12 +959,12 @@ msgstr "Hiba a(z) %s fájl átnevezésekor erre: %s" msgid "Problem syncing the file" msgstr "Hiba a fájl szinkronizálásakor" -#: apt-pkg/contrib/fileutl.cc cmdline/apt-extracttemplates.cc +#: apt-pkg/contrib/fileutl.cc #, c-format msgid "Unable to mkstemp %s" msgstr "Az mkstemp %s meghiúsult" -#: apt-pkg/contrib/fileutl.cc cmdline/apt-extracttemplates.cc +#: apt-pkg/contrib/fileutl.cc #, c-format msgid "Unable to write to %s" msgstr "Nem lehet Ãrni ebbe: %s" @@ -1606,6 +1613,12 @@ msgstr "Érvénytelen rekord a(z) %s beállÃtásfájlban, nincs Package fejléc msgid "Did not understand pin type %s" msgstr "A(z) %s rögzÃtéstÃpus nem értelmezhetÅ‘" +#: apt-pkg/policy.cc +#, c-format +msgid "" +"%s: The special 'Pin-Priority: %s' can only be used for 'Package: *' records" +msgstr "" + #: apt-pkg/policy.cc #, c-format msgid "%s: Value %s is outside the range of valid pin priorities (%d to %d)" @@ -2042,7 +2055,7 @@ msgstr "" msgid "Abort." msgstr "MegszakÃtva." -#: apt-private/private-install.cc +#: apt-private/private-install.cc cmdline/apt-mark.cc msgid "Do you want to continue?" msgstr "Folytatni akarja?" @@ -2605,9 +2618,10 @@ msgstr[1] "" msgid "All packages are up to date." msgstr "Minden csomag naprakész." -#: cmdline/apt-cache.cc -msgid "apt-cache stats does not take any arguments" -msgstr "Az apt-cache stats parancsnak nincsenek argumentumai" +#: cmdline/apt-cache.cc cmdline/apt-mark.cc +#, c-format +msgid "%s does not take any arguments" +msgstr "Az %s parancsnak nincsenek argumentumai" #: cmdline/apt-cache.cc msgid "Total package names: " @@ -2880,6 +2894,12 @@ msgstr "FrissÃtés végrehajtása" msgid "Install new packages (pkg is libc6 not libc6.deb)" msgstr "Új csomagok telepÃtése (csomag a libc6 és nem a libc6.deb)" +#: cmdline/apt-get.cc +#, fuzzy +#| msgid "Install new packages (pkg is libc6 not libc6.deb)" +msgid "Reinstall packages (pkg is libc6 not libc6.deb)" +msgstr "Új csomagok telepÃtése (csomag a libc6 és nem a libc6.deb)" + #: cmdline/apt-get.cc msgid "Remove packages" msgstr "Csomagok eltávolÃtása" @@ -3028,6 +3048,16 @@ msgstr "%s már be van állÃtva kézi telepÃtésűre.\n" msgid "%s was already set to automatically installed.\n" msgstr "%s már meg van jelölve automatikusan telepÃtettként.\n" +#: cmdline/apt-mark.cc +msgid "No changes necessary" +msgstr "" + +#: cmdline/apt-mark.cc +#, fuzzy +#| msgid "The following NEW packages will be installed:" +msgid "The following packages will be marked as automatically installed:" +msgstr "Az alábbi ÚJ csomagok lesznek telepÃtve:" + #: cmdline/apt-mark.cc #, c-format msgid "%s was already set on hold.\n" @@ -3091,6 +3121,12 @@ msgstr "Az adott csomagok megjelölése automatikusan telepÃtettként" msgid "Mark the given packages as manually installed" msgstr "Az adott csomagok megjelölése kézzel telepÃtettként" +#: cmdline/apt-mark.cc +#, fuzzy +#| msgid "Mark the given packages as automatically installed" +msgid "Mark all dependencies of meta packages as automatically installed." +msgstr "Az adott csomagok megjelölése automatikusan telepÃtettként" + #: cmdline/apt-mark.cc msgid "Mark a package as held back" msgstr "Csomag megjelölése visszatartottként" @@ -3166,6 +3202,12 @@ msgstr "csomagrészletek megjelenÃtése" msgid "install packages" msgstr "csomagok telepÃtése" +#: cmdline/apt.cc +#, fuzzy +#| msgid "install packages" +msgid "reinstall packages" +msgstr "csomagok telepÃtése" + #: cmdline/apt.cc msgid "remove packages" msgstr "csomagok eltávolÃtása" diff --git a/po/it.po b/po/it.po index 2158888e16a322d8a1d6bf2433035596eb8a1255..e0167f6cb58f4085b992f160f9f33677fcf996d1 100644 --- a/po/it.po +++ b/po/it.po @@ -1,15 +1,15 @@ # Italian translation of apt -# Copyright (C) 2002-2010, 2011, 2012, 2013, 2014, 2015, 2017, 2018 The Free Software Foundation, Inc. +# Copyright (C) 2002-2010, 2011, 2012, 2013, 2014, 2015, 2017, 2018, 2019 The Free Software Foundation, Inc. # This file is distributed under the same license as the apt package. # Samuele Giovanni Tonon <samu@debian.org>, 2002. -# Milo Casagrande <milo@milo.name>, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2017, 2018. +# Milo Casagrande <milo@milo.name>, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2017, 2018, 2019. # msgid "" msgstr "" "Project-Id-Version: apt\n" "Report-Msgid-Bugs-To: APT Development Team <deity@lists.debian.org>\n" -"POT-Creation-Date: 2018-12-18 15:02+0100\n" -"PO-Revision-Date: 2018-12-04 09:33+0100\n" +"POT-Creation-Date: 2019-02-26 08:33+0100\n" +"PO-Revision-Date: 2019-03-04 11:05+0100\n" "Last-Translator: Milo Casagrande <milo@milo.name>\n" "Language-Team: Italian <tp@lists.linux.it>\n" "Language: it\n" @@ -17,7 +17,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n!=1);\n" -"X-Generator: Poedit 2.1.1\n" +"X-Generator: Poedit 2.2.1\n" #: apt-inst/contrib/arfile.cc msgid "Invalid archive signature" @@ -427,6 +427,15 @@ msgstr "" msgid "Changelog unavailable for %s=%s" msgstr "Changelog per %s=%s non disponibile" +#: apt-pkg/acquire-worker.cc +#, c-format +msgid "" +"The method '%s' is unsupported and disabled by default. Consider switching " +"to http(s). Set Dir::Bin::Methods::%s to \"%s\" to enable it again." +msgstr "" +"Il metodo \"%s\" non è supportato ed è disabilitato: passare a http(s). Per " +"abilitarlo nuovamente, impostare Dir::Bin::Methods::%s a \"%s\"." + #: apt-pkg/acquire-worker.cc #, c-format msgid "The method '%s' is explicitly disabled via configuration." @@ -962,12 +971,12 @@ msgstr "Si è verificato un problema nel rinominare il file %s in %s" msgid "Problem syncing the file" msgstr "Si è verificato un problema nel sincronizzare il file" -#: apt-pkg/contrib/fileutl.cc cmdline/apt-extracttemplates.cc +#: apt-pkg/contrib/fileutl.cc #, c-format msgid "Unable to mkstemp %s" msgstr "Impossibile eseguire mkstemp %s" -#: apt-pkg/contrib/fileutl.cc cmdline/apt-extracttemplates.cc +#: apt-pkg/contrib/fileutl.cc #, c-format msgid "Unable to write to %s" msgstr "Impossibile scrivere in %s" @@ -1620,6 +1629,14 @@ msgstr "" msgid "Did not understand pin type %s" msgstr "Impossibile comprendere il tipo di gancio %s" +#: apt-pkg/policy.cc +#, c-format +msgid "" +"%s: The special 'Pin-Priority: %s' can only be used for 'Package: *' records" +msgstr "" +"%s: il valore speciale \"Pin-Priority: %s\" può essere usato solamente con " +"voci \"Package: *\"" + #: apt-pkg/policy.cc #, c-format msgid "%s: Value %s is outside the range of valid pin priorities (%d to %d)" @@ -2067,7 +2084,7 @@ msgstr "" msgid "Abort." msgstr "Interrotto." -#: apt-private/private-install.cc +#: apt-private/private-install.cc cmdline/apt-mark.cc msgid "Do you want to continue?" msgstr "Continuare?" @@ -2640,9 +2657,10 @@ msgstr[1] "" msgid "All packages are up to date." msgstr "Tutti i pacchetti sono aggiornati." -#: cmdline/apt-cache.cc -msgid "apt-cache stats does not take any arguments" -msgstr "Il comando \"apt-cache stats\" non accetta alcun argomento" +#: cmdline/apt-cache.cc cmdline/apt-mark.cc +#, c-format +msgid "%s does not take any arguments" +msgstr "Il comando \"%s\" non accetta alcun argomento" #: cmdline/apt-cache.cc msgid "Total package names: " @@ -2929,6 +2947,10 @@ msgstr "Esegue un aggiornamento dei pacchetti installati" msgid "Install new packages (pkg is libc6 not libc6.deb)" msgstr "Installa nuovi pacchetti (PKG è libc6 non libc6.deb)" +#: cmdline/apt-get.cc +msgid "Reinstall packages (pkg is libc6 not libc6.deb)" +msgstr "Installa nuovamente pacchetti (PKG è libc6 non libc6.deb)" + #: cmdline/apt-get.cc msgid "Remove packages" msgstr "Rimuove i pacchetti" @@ -3080,6 +3102,14 @@ msgstr "%s è già stato impostato come installato manualmente.\n" msgid "%s was already set to automatically installed.\n" msgstr "%s è già stato impostato come installato automaticamente.\n" +#: cmdline/apt-mark.cc +msgid "No changes necessary" +msgstr "Nessuna modifica necessaria" + +#: cmdline/apt-mark.cc +msgid "The following packages will be marked as automatically installed:" +msgstr "I seguenti pacchetti verranno segnati come installati automaticamente:" + #: cmdline/apt-mark.cc #, c-format msgid "%s was already set on hold.\n" @@ -3146,6 +3176,11 @@ msgstr "Segna i pacchetti forniti come installati automaticamente" msgid "Mark the given packages as manually installed" msgstr "Segna i pacchetti forniti come installati manualmente" +#: cmdline/apt-mark.cc +msgid "Mark all dependencies of meta packages as automatically installed." +msgstr "" +"Segna tutte le dipendenze dei meta pacchetti come installate automaticamente" + #: cmdline/apt-mark.cc msgid "Mark a package as held back" msgstr "Segna un pacchetto come bloccato a una vecchia versione" @@ -3223,6 +3258,10 @@ msgstr "Mostra dettagli di un pacchetto" msgid "install packages" msgstr "Installa pacchetti" +#: cmdline/apt.cc +msgid "reinstall packages" +msgstr "Installa nuovamente pacchetti" + #: cmdline/apt.cc msgid "remove packages" msgstr "Rimuove pacchetti" diff --git a/po/ja.po b/po/ja.po index f11b7037e6e36fa7f82135ca3ea656b682bffb66..6a00fa654caba136af9939b78d21ebb8419de551 100644 --- a/po/ja.po +++ b/po/ja.po @@ -10,7 +10,7 @@ msgid "" msgstr "" "Project-Id-Version: apt 1.4\n" "Report-Msgid-Bugs-To: APT Development Team <deity@lists.debian.org>\n" -"POT-Creation-Date: 2018-12-18 15:02+0100\n" +"POT-Creation-Date: 2019-02-04 15:34+0100\n" "PO-Revision-Date: 2017-01-06 04:50+0900\n" "Last-Translator: Takuma Yamada <tyamada@takumayamada.com>\n" "Language-Team: Japanese <debian-japanese@lists.debian.org>\n" @@ -430,6 +430,13 @@ msgstr "'%2$s' ã®ãƒãƒ¼ã‚¸ãƒ§ãƒ³ '%1$s' をダウンãƒãƒ¼ãƒ‰ã™ã‚‹ã‚½ãƒ¼ã‚¹ãŒ msgid "Changelog unavailable for %s=%s" msgstr "%s=%s ã®ãŸã‚変更履æ´ãŒåˆ©ç”¨ã§ãã¾ã›ã‚“" +#: apt-pkg/acquire-worker.cc +#, c-format +msgid "" +"The method '%s' is unsupported and disabled by default. Consider switching " +"to http(s). Set Dir::Bin::Methods::%s to \"%s\" to enable it again." +msgstr "" + #: apt-pkg/acquire-worker.cc #, c-format msgid "The method '%s' is explicitly disabled via configuration." @@ -952,12 +959,12 @@ msgstr "%s ã‹ã‚‰ %s ã¸ã®ãƒ•ァイルå変更ä¸ã«å•題ãŒç™ºç”Ÿã—ã¾ã— msgid "Problem syncing the file" msgstr "ファイルã®åŒæœŸä¸ã«å•題ãŒç™ºç”Ÿã—ã¾ã—ãŸ" -#: apt-pkg/contrib/fileutl.cc cmdline/apt-extracttemplates.cc +#: apt-pkg/contrib/fileutl.cc #, c-format msgid "Unable to mkstemp %s" msgstr "mkstemp %s を実行ã§ãã¾ã›ã‚“" -#: apt-pkg/contrib/fileutl.cc cmdline/apt-extracttemplates.cc +#: apt-pkg/contrib/fileutl.cc #, c-format msgid "Unable to write to %s" msgstr "%s ã«æ›¸ãè¾¼ã‚ã¾ã›ã‚“" @@ -1601,6 +1608,12 @@ msgstr "" msgid "Did not understand pin type %s" msgstr "pin タイプ %s ã‚’ç†è§£ã§ãã¾ã›ã‚“ã§ã—ãŸ" +#: apt-pkg/policy.cc +#, c-format +msgid "" +"%s: The special 'Pin-Priority: %s' can only be used for 'Package: *' records" +msgstr "" + #: apt-pkg/policy.cc #, c-format msgid "%s: Value %s is outside the range of valid pin priorities (%d to %d)" @@ -2039,7 +2052,7 @@ msgstr "" msgid "Abort." msgstr "䏿–ã—ã¾ã—ãŸã€‚" -#: apt-private/private-install.cc +#: apt-private/private-install.cc cmdline/apt-mark.cc msgid "Do you want to continue?" msgstr "続行ã—ã¾ã™ã‹?" @@ -2593,9 +2606,10 @@ msgstr[0] "" msgid "All packages are up to date." msgstr "パッケージã¯ã™ã¹ã¦æœ€æ–°ã§ã™ã€‚" -#: cmdline/apt-cache.cc -msgid "apt-cache stats does not take any arguments" -msgstr "apt-cache stats ã¯å¼•æ•°ã‚’ã¨ã‚Šã¾ã›ã‚“" +#: cmdline/apt-cache.cc cmdline/apt-mark.cc +#, c-format +msgid "%s does not take any arguments" +msgstr "%s ã¯å¼•æ•°ã‚’ã¨ã‚Šã¾ã›ã‚“" #: cmdline/apt-cache.cc msgid "Total package names: " @@ -2878,6 +2892,14 @@ msgstr "" "æ–°è¦ãƒ‘ッケージをインストールã™ã‚‹ (pkg 㯠libc6.deb ã§ã¯ãªã libc6 ã®ã‚ˆã†ã«æŒ‡" "定ã™ã‚‹)" +#: cmdline/apt-get.cc +#, fuzzy +#| msgid "Install new packages (pkg is libc6 not libc6.deb)" +msgid "Reinstall packages (pkg is libc6 not libc6.deb)" +msgstr "" +"æ–°è¦ãƒ‘ッケージをインストールã™ã‚‹ (pkg 㯠libc6.deb ã§ã¯ãªã libc6 ã®ã‚ˆã†ã«æŒ‡" +"定ã™ã‚‹)" + #: cmdline/apt-get.cc msgid "Remove packages" msgstr "パッケージを削除ã™ã‚‹" @@ -3024,6 +3046,16 @@ msgstr "%s ã¯æ‰‹å‹•ã§ã‚¤ãƒ³ã‚¹ãƒˆãƒ¼ãƒ«ã—ãŸã¨ã™ã§ã«è¨å®šã•れã¦ã„ã¾ msgid "%s was already set to automatically installed.\n" msgstr "%s ã¯è‡ªå‹•ã§ã‚¤ãƒ³ã‚¹ãƒˆãƒ¼ãƒ«ã—ãŸã¨ã™ã§ã«è¨å®šã•れã¦ã„ã¾ã™ã€‚\n" +#: cmdline/apt-mark.cc +msgid "No changes necessary" +msgstr "" + +#: cmdline/apt-mark.cc +#, fuzzy +#| msgid "The following NEW packages will be installed:" +msgid "The following packages will be marked as automatically installed:" +msgstr "以下ã®ãƒ‘ãƒƒã‚±ãƒ¼ã‚¸ãŒæ–°ãŸã«ã‚¤ãƒ³ã‚¹ãƒˆãƒ¼ãƒ«ã•れã¾ã™:" + #: cmdline/apt-mark.cc #, c-format msgid "%s was already set on hold.\n" @@ -3087,6 +3119,12 @@ msgstr "指定ã®ãƒ‘ッケージを自動ã§ã‚¤ãƒ³ã‚¹ãƒˆãƒ¼ãƒ«ã•れãŸã‚‚ã®ã¨ msgid "Mark the given packages as manually installed" msgstr "指定ã®ãƒ‘ッケージを手動ã§ã‚¤ãƒ³ã‚¹ãƒˆãƒ¼ãƒ«ã—ãŸã‚‚ã®ã¨ã—ã¦ãƒžãƒ¼ã‚¯ã™ã‚‹" +#: cmdline/apt-mark.cc +#, fuzzy +#| msgid "Mark the given packages as automatically installed" +msgid "Mark all dependencies of meta packages as automatically installed." +msgstr "指定ã®ãƒ‘ッケージを自動ã§ã‚¤ãƒ³ã‚¹ãƒˆãƒ¼ãƒ«ã•れãŸã‚‚ã®ã¨ã—ã¦ãƒžãƒ¼ã‚¯ã™ã‚‹" + #: cmdline/apt-mark.cc msgid "Mark a package as held back" msgstr "パッケージをä¿ç•™ã¨ã—ã¦ãƒžãƒ¼ã‚¯ã™ã‚‹" @@ -3160,6 +3198,12 @@ msgstr "パッケージã®è©³ç´°ã‚’表示" msgid "install packages" msgstr "パッケージをインストール" +#: cmdline/apt.cc +#, fuzzy +#| msgid "install packages" +msgid "reinstall packages" +msgstr "パッケージをインストール" + #: cmdline/apt.cc msgid "remove packages" msgstr "パッケージを削除" diff --git a/po/km.po b/po/km.po index 5b068b2e59214980ff1196c8b60fd39fc1d991d3..964f1756b36179a3a3e6a0cf887723d63e65745f 100644 --- a/po/km.po +++ b/po/km.po @@ -10,7 +10,7 @@ msgid "" msgstr "" "Project-Id-Version: apt 1.0.5\n" "Report-Msgid-Bugs-To: APT Development Team <deity@lists.debian.org>\n" -"POT-Creation-Date: 2018-12-18 15:02+0100\n" +"POT-Creation-Date: 2019-02-04 15:34+0100\n" "PO-Revision-Date: 2006-10-10 09:48+0700\n" "Last-Translator: Khoem Sokhem <khoemsokhem@khmeros.info>\n" "Language-Team: Khmer <support@khmeros.info>\n" @@ -397,6 +397,13 @@ msgstr "" msgid "Changelog unavailable for %s=%s" msgstr "កំពុង​ážáž—្ជាប់​ទៅ​កាន់​ %s (%s)" +#: apt-pkg/acquire-worker.cc +#, c-format +msgid "" +"The method '%s' is unsupported and disabled by default. Consider switching " +"to http(s). Set Dir::Bin::Methods::%s to \"%s\" to enable it again." +msgstr "" + #: apt-pkg/acquire-worker.cc #, c-format msgid "The method '%s' is explicitly disabled via configuration." @@ -891,12 +898,12 @@ msgstr "មានបញ្ហា​ក្នុង​ការធ្វើ​ស msgid "Problem syncing the file" msgstr "មានបញ្ហា​ក្នុង​ការធ្វើ​សមកាលកម្មឯកសារ​" -#: apt-pkg/contrib/fileutl.cc cmdline/apt-extracttemplates.cc +#: apt-pkg/contrib/fileutl.cc #, fuzzy, c-format msgid "Unable to mkstemp %s" msgstr "មិន​អាច​ážáŸ’លែង %s បានឡើយ" -#: apt-pkg/contrib/fileutl.cc cmdline/apt-extracttemplates.cc +#: apt-pkg/contrib/fileutl.cc #, c-format msgid "Unable to write to %s" msgstr "មិន​អាច​សរសáŸážšâ€‹áž‘ៅ %s" @@ -1506,6 +1513,12 @@ msgstr "កំណážáŸ‹ážáŸ’រា​មិនážáŸ’រឹមážáŸ’រូវ​ msgid "Did not understand pin type %s" msgstr "មិន​បាន​យល់​ពី​ប្រភáŸáž‘​ម្ជុល %s ឡើយ" +#: apt-pkg/policy.cc +#, c-format +msgid "" +"%s: The special 'Pin-Priority: %s' can only be used for 'Package: *' records" +msgstr "" + #: apt-pkg/policy.cc #, c-format msgid "%s: Value %s is outside the range of valid pin priorities (%d to %d)" @@ -1930,7 +1943,7 @@ msgstr "" msgid "Abort." msgstr "បោះបង់ ។" -#: apt-private/private-install.cc +#: apt-private/private-install.cc cmdline/apt-mark.cc #, fuzzy msgid "Do you want to continue?" msgstr "ážáž¾â€‹áž¢áŸ’នក​ចង់​បន្ážáž¬â€‹ [បាទ ចាស/áž‘áŸâ€‹] ? " @@ -2466,9 +2479,9 @@ msgstr[1] "" msgid "All packages are up to date." msgstr "" -#: cmdline/apt-cache.cc -#, fuzzy -msgid "apt-cache stats does not take any arguments" +#: cmdline/apt-cache.cc cmdline/apt-mark.cc +#, fuzzy, c-format +msgid "%s does not take any arguments" msgstr "ពាក្យ​បញ្ជា​ដែលធ្វើ​ឲ្យ​ទាន់​សមáŸáž™â€‹áž‚្មាន​អាគុយម៉ង់​ទáŸ" #: cmdline/apt-cache.cc @@ -2731,6 +2744,12 @@ msgstr "ធ្វើឲ្យប្រសើរ" msgid "Install new packages (pkg is libc6 not libc6.deb)" msgstr "ដំឡើង​កញ្ចប់​ážáŸ’មី (pkg គឺ libc6 មិនមែន libc6.deb)" +#: cmdline/apt-get.cc +#, fuzzy +#| msgid "Install new packages (pkg is libc6 not libc6.deb)" +msgid "Reinstall packages (pkg is libc6 not libc6.deb)" +msgstr "ដំឡើង​កញ្ចប់​ážáŸ’មី (pkg គឺ libc6 មិនមែន libc6.deb)" + #: cmdline/apt-get.cc msgid "Remove packages" msgstr "យក​កញ្ចប់​ចáŸáž‰" @@ -2887,6 +2906,16 @@ msgstr "ប៉ុន្ážáŸ‚​ %s នឹង​ážáŸ’រូវ​បាន​ msgid "%s was already set to automatically installed.\n" msgstr "ប៉ុន្ážáŸ‚​ %s នឹង​ážáŸ’រូវ​បាន​ដំឡើ​ង" +#: cmdline/apt-mark.cc +msgid "No changes necessary" +msgstr "" + +#: cmdline/apt-mark.cc +#, fuzzy +#| msgid "The following NEW packages will be installed:" +msgid "The following packages will be marked as automatically installed:" +msgstr "កញ្ចប់​ážáŸ’មី​ážáž¶áž„ក្រោម​នឹង​ážáŸ’រូវ​បាន​ដំឡើង​ ៖" + #: cmdline/apt-mark.cc #, fuzzy, c-format msgid "%s was already set on hold.\n" @@ -2946,6 +2975,11 @@ msgstr "ប៉ុន្ážáŸ‚​ %s នឹង​ážáŸ’រូវ​បាន​ msgid "Mark the given packages as manually installed" msgstr "ពិនិážáŸ’យ​ប្រសិន​បើកញ្ចប់ 'dpkg-dev' មិន​ទាន់​បាន​ដំឡើង​ ។\n" +#: cmdline/apt-mark.cc +#, fuzzy +msgid "Mark all dependencies of meta packages as automatically installed." +msgstr "ប៉ុន្ážáŸ‚​ %s នឹង​ážáŸ’រូវ​បាន​ដំឡើ​ង" + #: cmdline/apt-mark.cc msgid "Mark a package as held back" msgstr "" @@ -3012,6 +3046,11 @@ msgstr "" msgid "install packages" msgstr "កញ្ចប់​ដែល​បាន​ážáŸ’ទាស់ ៖" +#: cmdline/apt.cc +#, fuzzy +msgid "reinstall packages" +msgstr "កញ្ចប់​ដែល​បាន​ážáŸ’ទាស់ ៖" + #: cmdline/apt.cc #, fuzzy msgid "remove packages" diff --git a/po/ko.po b/po/ko.po index 32306172e4c96e8cfe8182912bc1e11543f2009c..8332ba6b348f33d4c28efa2b7d6b4ac2e081f11c 100644 --- a/po/ko.po +++ b/po/ko.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: apt 1.0.5\n" "Report-Msgid-Bugs-To: APT Development Team <deity@lists.debian.org>\n" -"POT-Creation-Date: 2018-12-18 15:02+0100\n" +"POT-Creation-Date: 2019-02-04 15:34+0100\n" "PO-Revision-Date: 2010-08-30 02:31+0900\n" "Last-Translator: Changwoo Ryu <cwryu@debian.org>\n" "Language-Team: Korean <debian-l10n-korean@lists.debian.org>\n" @@ -392,6 +392,13 @@ msgstr "" msgid "Changelog unavailable for %s=%s" msgstr "%s(%s)ì— ì—°ê²°í•˜ëŠ” 중입니다" +#: apt-pkg/acquire-worker.cc +#, c-format +msgid "" +"The method '%s' is unsupported and disabled by default. Consider switching " +"to http(s). Set Dir::Bin::Methods::%s to \"%s\" to enable it again." +msgstr "" + #: apt-pkg/acquire-worker.cc #, c-format msgid "The method '%s' is explicitly disabled via configuration." @@ -891,12 +898,12 @@ msgstr "%s 파ì¼ì„ %s(으)로 ì´ë¦„ì„ ë°”ê¾¸ëŠ”ë° ë¬¸ì œê°€ 있습니다" msgid "Problem syncing the file" msgstr "파ì¼ì„ ë™ê¸°í™”í•˜ëŠ”ë° ë¬¸ì œê°€ 있습니다" -#: apt-pkg/contrib/fileutl.cc cmdline/apt-extracttemplates.cc +#: apt-pkg/contrib/fileutl.cc #, fuzzy, c-format msgid "Unable to mkstemp %s" msgstr "%sì˜ ì •ë³´ë¥¼ ì½ì„ 수 없습니다" -#: apt-pkg/contrib/fileutl.cc cmdline/apt-extracttemplates.cc +#: apt-pkg/contrib/fileutl.cc #, c-format msgid "Unable to write to %s" msgstr "%sì— ì“¸ 수 없습니다" @@ -1521,6 +1528,12 @@ msgstr "기본 ì„¤ì • íŒŒì¼ %sì— ìž˜ëª»ëœ ë°ì´í„°ê°€ 있습니다. Package msgid "Did not understand pin type %s" msgstr "í•€ 타입 %sì´(ê°€) 무엇ì¸ì§€ ì´í•´í• 수 없습니다" +#: apt-pkg/policy.cc +#, c-format +msgid "" +"%s: The special 'Pin-Priority: %s' can only be used for 'Package: *' records" +msgstr "" + #: apt-pkg/policy.cc #, c-format msgid "%s: Value %s is outside the range of valid pin priorities (%d to %d)" @@ -1951,7 +1964,7 @@ msgstr "" msgid "Abort." msgstr "중단." -#: apt-private/private-install.cc +#: apt-private/private-install.cc cmdline/apt-mark.cc msgid "Do you want to continue?" msgstr "ê³„ì† í•˜ì‹œê² ìŠµë‹ˆê¹Œ?" @@ -2490,9 +2503,9 @@ msgstr[0] "" msgid "All packages are up to date." msgstr "" -#: cmdline/apt-cache.cc -#, fuzzy -msgid "apt-cache stats does not take any arguments" +#: cmdline/apt-cache.cc cmdline/apt-mark.cc +#, fuzzy, c-format +msgid "%s does not take any arguments" msgstr "update ëª…ë ¹ì€ ì¸ìˆ˜ë¥¼ 받지 않습니다" #: cmdline/apt-cache.cc @@ -2750,6 +2763,12 @@ msgstr "ì—…ê·¸ë ˆì´ë“œë¥¼ 합니다" msgid "Install new packages (pkg is libc6 not libc6.deb)" msgstr "새 패키지를 설치합니다 (패키지는 libc6 ì‹ìœ¼ë¡œ. libc6.deb 아님)" +#: cmdline/apt-get.cc +#, fuzzy +#| msgid "Install new packages (pkg is libc6 not libc6.deb)" +msgid "Reinstall packages (pkg is libc6 not libc6.deb)" +msgstr "새 패키지를 설치합니다 (패키지는 libc6 ì‹ìœ¼ë¡œ. libc6.deb 아님)" + #: cmdline/apt-get.cc msgid "Remove packages" msgstr "패키지를 ì§€ì›ë‹ˆë‹¤" @@ -2905,6 +2924,16 @@ msgstr "%s 패키지는 ì´ë¯¸ 수ë™ì„¤ì¹˜ë¡œ ì§€ì •ë˜ì–´ 있습니다.\n" msgid "%s was already set to automatically installed.\n" msgstr "%s 패키지는 ì´ë¯¸ ìžë™ì„¤ì¹˜ë¡œ ì§€ì •ë˜ì–´ 있습니다.\n" +#: cmdline/apt-mark.cc +msgid "No changes necessary" +msgstr "" + +#: cmdline/apt-mark.cc +#, fuzzy +#| msgid "The following NEW packages will be installed:" +msgid "The following packages will be marked as automatically installed:" +msgstr "ë‹¤ìŒ ìƒˆ 패키지를 ì„¤ì¹˜í• ê²ƒìž…ë‹ˆë‹¤:" + #: cmdline/apt-mark.cc #, fuzzy, c-format msgid "%s was already set on hold.\n" @@ -2964,6 +2993,11 @@ msgstr "%s 패키지는 수ë™ì„¤ì¹˜ë¡œ ì§€ì •í•©ë‹ˆë‹¤.\n" msgid "Mark the given packages as manually installed" msgstr "'dpkg-dev' 패키지가 설치ë˜ì—ˆëŠ”ì§€ë¥¼ 확ì¸í•˜ì‹ì‹œì˜¤.\n" +#: cmdline/apt-mark.cc +#, fuzzy +msgid "Mark all dependencies of meta packages as automatically installed." +msgstr "%s 패키지는 수ë™ì„¤ì¹˜ë¡œ ì§€ì •í•©ë‹ˆë‹¤.\n" + #: cmdline/apt-mark.cc msgid "Mark a package as held back" msgstr "" @@ -3030,6 +3064,11 @@ msgstr "" msgid "install packages" msgstr "í•€ 패키지:" +#: cmdline/apt.cc +#, fuzzy +msgid "reinstall packages" +msgstr "í•€ 패키지:" + #: cmdline/apt.cc #, fuzzy msgid "remove packages" diff --git a/po/ku.po b/po/ku.po index 4910d51b0ed1176d8618c3981a3fcbe20aa4af81..6b3b8678e61b6d619654f60e264989ce56ebd2c7 100644 --- a/po/ku.po +++ b/po/ku.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: apt 1.0.5\n" "Report-Msgid-Bugs-To: APT Development Team <deity@lists.debian.org>\n" -"POT-Creation-Date: 2018-12-18 15:02+0100\n" +"POT-Creation-Date: 2019-02-04 15:34+0100\n" "PO-Revision-Date: 2008-05-08 12:48+0200\n" "Last-Translator: Erdal Ronahi <erdal.ronahi@gmail.com>\n" "Language-Team: ku <ubuntu-l10n-kur@lists.ubuntu.com>\n" @@ -391,6 +391,13 @@ msgstr "" msgid "Changelog unavailable for %s=%s" msgstr "Girêdan bi %s (%s) re pêk tê" +#: apt-pkg/acquire-worker.cc +#, c-format +msgid "" +"The method '%s' is unsupported and disabled by default. Consider switching " +"to http(s). Set Dir::Bin::Methods::%s to \"%s\" to enable it again." +msgstr "" + #: apt-pkg/acquire-worker.cc #, c-format msgid "The method '%s' is explicitly disabled via configuration." @@ -882,12 +889,12 @@ msgstr "Di girtina pelî de pirsgirêkek derket" msgid "Problem syncing the file" msgstr "" -#: apt-pkg/contrib/fileutl.cc cmdline/apt-extracttemplates.cc +#: apt-pkg/contrib/fileutl.cc #, fuzzy, c-format msgid "Unable to mkstemp %s" msgstr "Nivîsandin ji bo %s ne pêkane" -#: apt-pkg/contrib/fileutl.cc cmdline/apt-extracttemplates.cc +#: apt-pkg/contrib/fileutl.cc #, c-format msgid "Unable to write to %s" msgstr "Nivîsandin ji bo %s ne pêkane" @@ -1491,6 +1498,12 @@ msgstr "" msgid "Did not understand pin type %s" msgstr "" +#: apt-pkg/policy.cc +#, c-format +msgid "" +"%s: The special 'Pin-Priority: %s' can only be used for 'Package: *' records" +msgstr "" + #: apt-pkg/policy.cc #, c-format msgid "%s: Value %s is outside the range of valid pin priorities (%d to %d)" @@ -1893,7 +1906,7 @@ msgstr "" msgid "Abort." msgstr "Betal." -#: apt-private/private-install.cc +#: apt-private/private-install.cc cmdline/apt-mark.cc msgid "Do you want to continue?" msgstr "Dixwazî bidomînî?" @@ -2426,8 +2439,9 @@ msgstr[1] "" msgid "All packages are up to date." msgstr "" -#: cmdline/apt-cache.cc -msgid "apt-cache stats does not take any arguments" +#: cmdline/apt-cache.cc cmdline/apt-mark.cc +#, c-format +msgid "%s does not take any arguments" msgstr "" #: cmdline/apt-cache.cc @@ -2671,6 +2685,10 @@ msgstr "" msgid "Install new packages (pkg is libc6 not libc6.deb)" msgstr "" +#: cmdline/apt-get.cc +msgid "Reinstall packages (pkg is libc6 not libc6.deb)" +msgstr "" + #: cmdline/apt-get.cc msgid "Remove packages" msgstr "" @@ -2830,6 +2848,16 @@ msgstr "lê %s dê were sazkirin" msgid "%s was already set to automatically installed.\n" msgstr "lê %s dê were sazkirin" +#: cmdline/apt-mark.cc +msgid "No changes necessary" +msgstr "" + +#: cmdline/apt-mark.cc +#, fuzzy +#| msgid "The following NEW packages will be installed:" +msgid "The following packages will be marked as automatically installed:" +msgstr "Ev pakêtên NÛ dê werine sazkirin:" + #: cmdline/apt-mark.cc #, fuzzy, c-format msgid "%s was already set on hold.\n" @@ -2889,6 +2917,11 @@ msgstr "lê %s dê were sazkirin" msgid "Mark the given packages as manually installed" msgstr "Ev pakêtên NÛ dê werine sazkirin:" +#: cmdline/apt-mark.cc +#, fuzzy +msgid "Mark all dependencies of meta packages as automatically installed." +msgstr "lê %s dê were sazkirin" + #: cmdline/apt-mark.cc msgid "Mark a package as held back" msgstr "" @@ -2955,6 +2988,11 @@ msgstr "" msgid "install packages" msgstr " Pakêta tenê ya farazî:" +#: cmdline/apt.cc +#, fuzzy +msgid "reinstall packages" +msgstr " Pakêta tenê ya farazî:" + #: cmdline/apt.cc #, fuzzy msgid "remove packages" diff --git a/po/lt.po b/po/lt.po index 5fc6ba385696f39bf1ca9a3f82c6f223120fcff9..0a37aa22aa03d594e7d4887fb8b20c3170c14f4a 100644 --- a/po/lt.po +++ b/po/lt.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: apt 1.0.5\n" "Report-Msgid-Bugs-To: APT Development Team <deity@lists.debian.org>\n" -"POT-Creation-Date: 2018-12-18 15:02+0100\n" +"POT-Creation-Date: 2019-02-04 15:34+0100\n" "PO-Revision-Date: 2008-08-02 01:47-0400\n" "Last-Translator: Gintautas Miliauskas <gintas@akl.lt>\n" "Language-Team: Lithuanian <komp_lt@konferencijos.lt>\n" @@ -393,6 +393,13 @@ msgstr "" msgid "Changelog unavailable for %s=%s" msgstr "Jungiamasi prie %s (%s)" +#: apt-pkg/acquire-worker.cc +#, c-format +msgid "" +"The method '%s' is unsupported and disabled by default. Consider switching " +"to http(s). Set Dir::Bin::Methods::%s to \"%s\" to enable it again." +msgstr "" + #: apt-pkg/acquire-worker.cc #, c-format msgid "The method '%s' is explicitly disabled via configuration." @@ -886,12 +893,12 @@ msgstr "Klaida sinchronizuojant failÄ…" msgid "Problem syncing the file" msgstr "Klaida sinchronizuojant failÄ…" -#: apt-pkg/contrib/fileutl.cc cmdline/apt-extracttemplates.cc +#: apt-pkg/contrib/fileutl.cc #, fuzzy, c-format msgid "Unable to mkstemp %s" msgstr "Nepavyko sukurti %s" -#: apt-pkg/contrib/fileutl.cc cmdline/apt-extracttemplates.cc +#: apt-pkg/contrib/fileutl.cc #, c-format msgid "Unable to write to %s" msgstr "Nepavyko įraÅ¡yti į %s" @@ -1495,6 +1502,12 @@ msgstr "" msgid "Did not understand pin type %s" msgstr "" +#: apt-pkg/policy.cc +#, c-format +msgid "" +"%s: The special 'Pin-Priority: %s' can only be used for 'Package: *' records" +msgstr "" + #: apt-pkg/policy.cc #, c-format msgid "%s: Value %s is outside the range of valid pin priorities (%d to %d)" @@ -1921,7 +1934,7 @@ msgstr "" msgid "Abort." msgstr "Nutraukti." -#: apt-private/private-install.cc +#: apt-private/private-install.cc cmdline/apt-mark.cc msgid "Do you want to continue?" msgstr "Ar norite tÄ™sti?" @@ -2456,9 +2469,9 @@ msgstr[1] "" msgid "All packages are up to date." msgstr "" -#: cmdline/apt-cache.cc -#, fuzzy -msgid "apt-cache stats does not take any arguments" +#: cmdline/apt-cache.cc cmdline/apt-mark.cc +#, fuzzy, c-format +msgid "%s does not take any arguments" msgstr "Atnaujinimo komandai argumentų nereikia" #: cmdline/apt-cache.cc @@ -2716,6 +2729,10 @@ msgstr "" msgid "Install new packages (pkg is libc6 not libc6.deb)" msgstr "" +#: cmdline/apt-get.cc +msgid "Reinstall packages (pkg is libc6 not libc6.deb)" +msgstr "" + #: cmdline/apt-get.cc #, fuzzy msgid "Remove packages" @@ -2876,6 +2893,16 @@ msgstr "%s nustatytas kaip įdiegtas rankiniu bÅ«du\n" msgid "%s was already set to automatically installed.\n" msgstr "%s nustatytas kaip įdiegtas rankiniu bÅ«du\n" +#: cmdline/apt-mark.cc +msgid "No changes necessary" +msgstr "" + +#: cmdline/apt-mark.cc +#, fuzzy +#| msgid "The following NEW packages will be installed:" +msgid "The following packages will be marked as automatically installed:" +msgstr "Bus įdiegti Å¡ie NAUJI paketai:" + #: cmdline/apt-mark.cc #, fuzzy, c-format msgid "%s was already set on hold.\n" @@ -2935,6 +2962,11 @@ msgstr "%s nustatytas kaip įdiegtas rankiniu bÅ«du\n" msgid "Mark the given packages as manually installed" msgstr "Patikrinkite, ar įdiegtas „dpkg-dev“ paketas.\n" +#: cmdline/apt-mark.cc +#, fuzzy +msgid "Mark all dependencies of meta packages as automatically installed." +msgstr "%s nustatytas kaip įdiegtas rankiniu bÅ«du\n" + #: cmdline/apt-mark.cc msgid "Mark a package as held back" msgstr "" @@ -3001,6 +3033,11 @@ msgstr "" msgid "install packages" msgstr "SuriÅ¡ti paketai:" +#: cmdline/apt.cc +#, fuzzy +msgid "reinstall packages" +msgstr "SuriÅ¡ti paketai:" + #: cmdline/apt.cc #, fuzzy msgid "remove packages" diff --git a/po/mr.po b/po/mr.po index 02533a83c5d33ed46cd38cd6150455e01badcc1f..e623888052a08810de9609cb9cee99294aaf91f0 100644 --- a/po/mr.po +++ b/po/mr.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: apt 1.0.5\n" "Report-Msgid-Bugs-To: APT Development Team <deity@lists.debian.org>\n" -"POT-Creation-Date: 2018-12-18 15:02+0100\n" +"POT-Creation-Date: 2019-02-04 15:34+0100\n" "PO-Revision-Date: 2008-11-20 23:27+0530\n" "Last-Translator: Sampada <sampadanakhare@gmail.com>\n" "Language-Team: Marathi, janabhaaratii, C-DAC, Mumbai, India " @@ -393,6 +393,13 @@ msgstr "" msgid "Changelog unavailable for %s=%s" msgstr "%s (%s) ला जोडत आहे" +#: apt-pkg/acquire-worker.cc +#, c-format +msgid "" +"The method '%s' is unsupported and disabled by default. Consider switching " +"to http(s). Set Dir::Bin::Methods::%s to \"%s\" to enable it again." +msgstr "" + #: apt-pkg/acquire-worker.cc #, c-format msgid "The method '%s' is explicitly disabled via configuration." @@ -889,12 +896,12 @@ msgstr "संचिकेची syncing समसà¥à¤¯à¤¾" msgid "Problem syncing the file" msgstr "संचिकेची syncing समसà¥à¤¯à¤¾" -#: apt-pkg/contrib/fileutl.cc cmdline/apt-extracttemplates.cc +#: apt-pkg/contrib/fileutl.cc #, fuzzy, c-format msgid "Unable to mkstemp %s" msgstr "%s सà¥à¤Ÿà¥…ट करणà¥à¤¯à¤¾à¤¸ असमरà¥à¤¥" -#: apt-pkg/contrib/fileutl.cc cmdline/apt-extracttemplates.cc +#: apt-pkg/contrib/fileutl.cc #, c-format msgid "Unable to write to %s" msgstr "%s मधà¥à¤¯à¥‡ लिहिणà¥à¤¯à¤¾à¤¸ असमरà¥à¤¥ " @@ -1506,6 +1513,12 @@ msgstr "पसंतीचà¥à¤¯à¤¾ संचिकेत अवैध माह msgid "Did not understand pin type %s" msgstr "%s पिनचा पà¥à¤°à¤•ार समजलेला नाही" +#: apt-pkg/policy.cc +#, c-format +msgid "" +"%s: The special 'Pin-Priority: %s' can only be used for 'Package: *' records" +msgstr "" + #: apt-pkg/policy.cc #, c-format msgid "%s: Value %s is outside the range of valid pin priorities (%d to %d)" @@ -1931,7 +1944,7 @@ msgstr "" msgid "Abort." msgstr "वà¥à¤¯à¤¤à¥à¤¯à¤¯/बंद करा." -#: apt-private/private-install.cc +#: apt-private/private-install.cc cmdline/apt-mark.cc #, fuzzy msgid "Do you want to continue?" msgstr "तà¥à¤®à¥à¤¹à¤¾à¤²à¤¾ पà¥à¤¢à¥‡ जायचे आहे [Y/n]? " @@ -2469,9 +2482,9 @@ msgstr[1] "" msgid "All packages are up to date." msgstr "" -#: cmdline/apt-cache.cc -#, fuzzy -msgid "apt-cache stats does not take any arguments" +#: cmdline/apt-cache.cc cmdline/apt-mark.cc +#, fuzzy, c-format +msgid "%s does not take any arguments" msgstr "सà¥à¤§à¤¾à¤°à¤¿à¤¤ आवृतà¥à¤¤à¥€à¤šà¤¾ विधान आरà¥à¤—à¥à¤¯à¥à¤®à¥‡à¤‚टस घेऊ शकत नाही." #: cmdline/apt-cache.cc @@ -2728,6 +2741,12 @@ msgstr "आवृतà¥à¤¤à¥à¤¯à¤¾à¤‚चे शà¥à¤°à¥‡à¤£à¤¿à¤µà¤°à¥à¤§à¤¨ msgid "Install new packages (pkg is libc6 not libc6.deb)" msgstr "नवीन पॅकेजेस संसà¥à¤¥à¤¾à¤ªà¤¿à¤¤ करा(pkg हे libc6 आहे आणि libc6.deb नवà¥à¤¹à¥‡)" +#: cmdline/apt-get.cc +#, fuzzy +#| msgid "Install new packages (pkg is libc6 not libc6.deb)" +msgid "Reinstall packages (pkg is libc6 not libc6.deb)" +msgstr "नवीन पॅकेजेस संसà¥à¤¥à¤¾à¤ªà¤¿à¤¤ करा(pkg हे libc6 आहे आणि libc6.deb नवà¥à¤¹à¥‡)" + #: cmdline/apt-get.cc msgid "Remove packages" msgstr "पॅकेजेस कायमची काढा" @@ -2883,6 +2902,16 @@ msgstr "%s सà¥à¤µà¤¹à¤¸à¥à¤¤à¥‡ संसà¥à¤¥à¤¾à¤ªà¤¿à¤¤ करायच msgid "%s was already set to automatically installed.\n" msgstr "%s सà¥à¤µà¤¹à¤¸à¥à¤¤à¥‡ संसà¥à¤¥à¤¾à¤ªà¤¿à¤¤ करायचे आहे.\n" +#: cmdline/apt-mark.cc +msgid "No changes necessary" +msgstr "" + +#: cmdline/apt-mark.cc +#, fuzzy +#| msgid "The following NEW packages will be installed:" +msgid "The following packages will be marked as automatically installed:" +msgstr "खालील नविन पॅकेजेस संसà¥à¤¥à¤¾à¤ªà¤¿à¤¤ होतील:" + #: cmdline/apt-mark.cc #, fuzzy, c-format msgid "%s was already set on hold.\n" @@ -2942,6 +2971,11 @@ msgstr "%s सà¥à¤µà¤¹à¤¸à¥à¤¤à¥‡ संसà¥à¤¥à¤¾à¤ªà¤¿à¤¤ करायच msgid "Mark the given packages as manually installed" msgstr "'dpkg-dev' पॅकेज संसà¥à¤¥à¤¾à¤ªà¤¿à¤¤ केले आहे का ते पडताळून पहा.\n" +#: cmdline/apt-mark.cc +#, fuzzy +msgid "Mark all dependencies of meta packages as automatically installed." +msgstr "%s सà¥à¤µà¤¹à¤¸à¥à¤¤à¥‡ संसà¥à¤¥à¤¾à¤ªà¤¿à¤¤ करायचे आहे.\n" + #: cmdline/apt-mark.cc msgid "Mark a package as held back" msgstr "" @@ -3008,6 +3042,11 @@ msgstr "" msgid "install packages" msgstr "à¤à¤•तà¥à¤°à¤¿à¤¤ पॅकेजेस:" +#: cmdline/apt.cc +#, fuzzy +msgid "reinstall packages" +msgstr "à¤à¤•तà¥à¤°à¤¿à¤¤ पॅकेजेस:" + #: cmdline/apt.cc #, fuzzy msgid "remove packages" diff --git a/po/nb.po b/po/nb.po index 85aacc8338e2b24f0624cae4945cd84a36f90caa..dff77bf9bafd9464d79be58848558337180e1bb5 100644 --- a/po/nb.po +++ b/po/nb.po @@ -12,7 +12,7 @@ msgid "" msgstr "" "Project-Id-Version: apt 1.0.5\n" "Report-Msgid-Bugs-To: APT Development Team <deity@lists.debian.org>\n" -"POT-Creation-Date: 2018-12-18 15:02+0100\n" +"POT-Creation-Date: 2019-02-04 15:34+0100\n" "PO-Revision-Date: 2018-10-30 20:53+0100\n" "Last-Translator: Petter Reinholdtsen <pere@hungry.com>\n" "Language-Team: Norwegian BokmÃ¥l <i18n-no@lister.ping.uio.no>\n" @@ -409,6 +409,13 @@ msgstr "Klarte ikke finne kilde for Ã¥ laste ned versjon «%s» av «%s»" msgid "Changelog unavailable for %s=%s" msgstr "Kobler til %s (%s)" +#: apt-pkg/acquire-worker.cc +#, c-format +msgid "" +"The method '%s' is unsupported and disabled by default. Consider switching " +"to http(s). Set Dir::Bin::Methods::%s to \"%s\" to enable it again." +msgstr "" + #: apt-pkg/acquire-worker.cc #, c-format msgid "The method '%s' is explicitly disabled via configuration." @@ -915,12 +922,12 @@ msgstr "Problem ved endring av navn pÃ¥ fila %s til %s" msgid "Problem syncing the file" msgstr "Problem ved oppdatering av fila" -#: apt-pkg/contrib/fileutl.cc cmdline/apt-extracttemplates.cc +#: apt-pkg/contrib/fileutl.cc #, fuzzy, c-format msgid "Unable to mkstemp %s" msgstr "Klarte ikke Ã¥ fÃ¥ statusen pÃ¥ %s" -#: apt-pkg/contrib/fileutl.cc cmdline/apt-extracttemplates.cc +#: apt-pkg/contrib/fileutl.cc #, c-format msgid "Unable to write to %s" msgstr "Kan ikke skrive til %s" @@ -1548,6 +1555,12 @@ msgstr "Ugyldig oppslag i foretrekksfila %s, manglende pakkehode" msgid "Did not understand pin type %s" msgstr "Forsto ikke spikring av typen %s" +#: apt-pkg/policy.cc +#, c-format +msgid "" +"%s: The special 'Pin-Priority: %s' can only be used for 'Package: *' records" +msgstr "" + #: apt-pkg/policy.cc #, c-format msgid "%s: Value %s is outside the range of valid pin priorities (%d to %d)" @@ -1982,7 +1995,7 @@ msgstr "" msgid "Abort." msgstr "Avbryter." -#: apt-private/private-install.cc +#: apt-private/private-install.cc cmdline/apt-mark.cc msgid "Do you want to continue?" msgstr "Vil du fortsette?" @@ -2543,9 +2556,9 @@ msgstr[1] "" msgid "All packages are up to date." msgstr "Alle pakkene er oppdatert." -#: cmdline/apt-cache.cc -#, fuzzy -msgid "apt-cache stats does not take any arguments" +#: cmdline/apt-cache.cc cmdline/apt-mark.cc +#, fuzzy, c-format +msgid "%s does not take any arguments" msgstr "Oppdaterings-kommandoen tar ingen argumenter" #: cmdline/apt-cache.cc @@ -2809,6 +2822,12 @@ msgstr "Utfør en oppgradering" msgid "Install new packages (pkg is libc6 not libc6.deb)" msgstr "Installér nye pakker (Pakke er «foo», ikke «foo.deb»)" +#: cmdline/apt-get.cc +#, fuzzy +#| msgid "Install new packages (pkg is libc6 not libc6.deb)" +msgid "Reinstall packages (pkg is libc6 not libc6.deb)" +msgstr "Installér nye pakker (Pakke er «foo», ikke «foo.deb»)" + #: cmdline/apt-get.cc msgid "Remove packages" msgstr "Fjern pakker" @@ -2966,6 +2985,16 @@ msgstr "%s satt til manuell installasjon.\n" msgid "%s was already set to automatically installed.\n" msgstr "%s satt til automatisk installasjon.\n" +#: cmdline/apt-mark.cc +msgid "No changes necessary" +msgstr "" + +#: cmdline/apt-mark.cc +#, fuzzy +#| msgid "The following NEW packages will be installed:" +msgid "The following packages will be marked as automatically installed:" +msgstr "Følgende NYE pakker vil bli installert:" + #: cmdline/apt-mark.cc #, fuzzy, c-format msgid "%s was already set on hold.\n" @@ -3024,6 +3053,12 @@ msgstr "Marker den angitte pakken som automatisk installert" msgid "Mark the given packages as manually installed" msgstr "Sjekk om pakken «dpkg-dev» er installert.\n" +#: cmdline/apt-mark.cc +#, fuzzy +#| msgid "Mark the given packages as automatically installed" +msgid "Mark all dependencies of meta packages as automatically installed." +msgstr "Marker den angitte pakken som automatisk installert" + #: cmdline/apt-mark.cc msgid "Mark a package as held back" msgstr "Marker en pakke som holdt tilbake" @@ -3090,6 +3125,11 @@ msgstr "vis pakkedetaljer" msgid "install packages" msgstr "LÃ¥ste pakker:" +#: cmdline/apt.cc +#, fuzzy +msgid "reinstall packages" +msgstr "LÃ¥ste pakker:" + #: cmdline/apt.cc #, fuzzy msgid "remove packages" diff --git a/po/ne.po b/po/ne.po index 5245fd1dbb1ef071b07efe1b2d74d36882f149f2..579444c8421f6d37bfa2e6963e4e27c763d1cfd5 100644 --- a/po/ne.po +++ b/po/ne.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: apt 1.0.5\n" "Report-Msgid-Bugs-To: APT Development Team <deity@lists.debian.org>\n" -"POT-Creation-Date: 2018-12-18 15:02+0100\n" +"POT-Creation-Date: 2019-02-04 15:34+0100\n" "PO-Revision-Date: 2006-06-12 14:35+0545\n" "Last-Translator: Shiva Pokharel <pokharelshiva@hotmail.com>\n" "Language-Team: Nepali <info@mpp.org.np>\n" @@ -393,6 +393,13 @@ msgstr "" msgid "Changelog unavailable for %s=%s" msgstr "%s (%s) मा जडान गरिदैछ" +#: apt-pkg/acquire-worker.cc +#, c-format +msgid "" +"The method '%s' is unsupported and disabled by default. Consider switching " +"to http(s). Set Dir::Bin::Methods::%s to \"%s\" to enable it again." +msgstr "" + #: apt-pkg/acquire-worker.cc #, c-format msgid "The method '%s' is explicitly disabled via configuration." @@ -887,12 +894,12 @@ msgstr "फाइल गà¥à¤ªà¥à¤¤à¤¿à¤•रण गरà¥à¤¦à¤¾ समसà¥à¤¯ msgid "Problem syncing the file" msgstr "फाइल गà¥à¤ªà¥à¤¤à¤¿à¤•रण गरà¥à¤¦à¤¾ समसà¥à¤¯à¤¾" -#: apt-pkg/contrib/fileutl.cc cmdline/apt-extracttemplates.cc +#: apt-pkg/contrib/fileutl.cc #, fuzzy, c-format msgid "Unable to mkstemp %s" msgstr "%s सà¥à¤¥à¤¿à¤° गरà¥à¤¨ असकà¥à¤·à¤® à¤à¤¯à¥‹" -#: apt-pkg/contrib/fileutl.cc cmdline/apt-extracttemplates.cc +#: apt-pkg/contrib/fileutl.cc #, c-format msgid "Unable to write to %s" msgstr " %s मा लेखà¥à¤¨ असकà¥à¤·à¤®" @@ -1502,6 +1509,12 @@ msgstr "पà¥à¤°à¤¾à¤¥à¤®à¤¿à¤•ता फाइलमा अवैध रेक msgid "Did not understand pin type %s" msgstr "पिन टाइप %s बà¥à¤à¥à¤¨ सकिà¤à¤¨ " +#: apt-pkg/policy.cc +#, c-format +msgid "" +"%s: The special 'Pin-Priority: %s' can only be used for 'Package: *' records" +msgstr "" + #: apt-pkg/policy.cc #, c-format msgid "%s: Value %s is outside the range of valid pin priorities (%d to %d)" @@ -1928,7 +1941,7 @@ msgstr "" msgid "Abort." msgstr "परितà¥à¤¯à¤¾à¤— गरà¥à¤¨à¥à¤¹à¥‹à¤¸à¥ ।" -#: apt-private/private-install.cc +#: apt-private/private-install.cc cmdline/apt-mark.cc #, fuzzy msgid "Do you want to continue?" msgstr "के तपाईठनिरनà¥à¤¤à¤°à¤¤à¤¾ दिन चाहनà¥à¤¹à¥à¤¨à¥à¤› [Y/n]? " @@ -2464,9 +2477,9 @@ msgstr[1] "" msgid "All packages are up to date." msgstr "" -#: cmdline/apt-cache.cc -#, fuzzy -msgid "apt-cache stats does not take any arguments" +#: cmdline/apt-cache.cc cmdline/apt-mark.cc +#, fuzzy, c-format +msgid "%s does not take any arguments" msgstr "अदà¥à¤¯à¤¾à¤µà¤§à¤¿à¤• आदेशले कà¥à¤¨à¥ˆ तरà¥à¤•हरू लिदैन" #: cmdline/apt-cache.cc @@ -2728,6 +2741,12 @@ msgstr "टा सà¥à¤¤à¤°à¤µà¥ƒà¤¦à¥à¤§à¤¿ समà¥à¤ªà¤¾à¤¦à¤¨ गरà¥à¤¨ msgid "Install new packages (pkg is libc6 not libc6.deb)" msgstr "पà¥à¤¯à¤¾à¤•ेजहरू सà¥à¤¥à¤¾à¤ªà¤¨à¤¾ गरà¥à¤¨à¥à¤¹à¥‹à¤¸à¥ (pkg libc6 हो libc6.deb होइन)" +#: cmdline/apt-get.cc +#, fuzzy +#| msgid "Install new packages (pkg is libc6 not libc6.deb)" +msgid "Reinstall packages (pkg is libc6 not libc6.deb)" +msgstr "पà¥à¤¯à¤¾à¤•ेजहरू सà¥à¤¥à¤¾à¤ªà¤¨à¤¾ गरà¥à¤¨à¥à¤¹à¥‹à¤¸à¥ (pkg libc6 हो libc6.deb होइन)" + #: cmdline/apt-get.cc msgid "Remove packages" msgstr "" @@ -2884,6 +2903,16 @@ msgstr "तर %s सà¥à¤¥à¤¾à¤ªà¤¨à¤¾ हà¥à¤¨à¥à¤ªà¤°à¥à¤¯à¥‹" msgid "%s was already set to automatically installed.\n" msgstr "तर %s सà¥à¤¥à¤¾à¤ªà¤¨à¤¾ हà¥à¤¨à¥à¤ªà¤°à¥à¤¯à¥‹" +#: cmdline/apt-mark.cc +msgid "No changes necessary" +msgstr "" + +#: cmdline/apt-mark.cc +#, fuzzy +#| msgid "The following NEW packages will be installed:" +msgid "The following packages will be marked as automatically installed:" +msgstr "निमà¥à¤¨ नयाठपà¥à¤¯à¤¾à¤•ेजहरू सà¥à¤¥à¤¾à¤ªà¤¨à¤¾ हà¥à¤¨à¥‡à¤›à¤¨à¥:" + #: cmdline/apt-mark.cc #, fuzzy, c-format msgid "%s was already set on hold.\n" @@ -2943,6 +2972,11 @@ msgstr "तर %s सà¥à¤¥à¤¾à¤ªà¤¨à¤¾ हà¥à¤¨à¥à¤ªà¤°à¥à¤¯à¥‹" msgid "Mark the given packages as manually installed" msgstr "जाà¤à¤šà¥à¤¨à¥à¤¹à¥‹à¤¸à¥ यदि 'dpkg-dev' पà¥à¤¯à¤¾à¤•ेज सà¥à¤¥à¤¾à¤ªà¤¨à¤¾ à¤à¤¯à¥‹ ।\n" +#: cmdline/apt-mark.cc +#, fuzzy +msgid "Mark all dependencies of meta packages as automatically installed." +msgstr "तर %s सà¥à¤¥à¤¾à¤ªà¤¨à¤¾ हà¥à¤¨à¥à¤ªà¤°à¥à¤¯à¥‹" + #: cmdline/apt-mark.cc msgid "Mark a package as held back" msgstr "" @@ -3009,6 +3043,11 @@ msgstr "" msgid "install packages" msgstr "पिन गरिà¤à¤•ा पà¥à¤¯à¤¾à¤•ेजहरू:" +#: cmdline/apt.cc +#, fuzzy +msgid "reinstall packages" +msgstr "पिन गरिà¤à¤•ा पà¥à¤¯à¤¾à¤•ेजहरू:" + #: cmdline/apt.cc #, fuzzy msgid "remove packages" diff --git a/po/nl.po b/po/nl.po index a9d9da14f82f1940e0d050ad6113547bf67df78f..3b53dc9530d5f552cdcd272cd2891037221748f8 100644 --- a/po/nl.po +++ b/po/nl.po @@ -6,14 +6,14 @@ # Wannes Soenen <wannes@wannes.cjb.net>, 2002. # Frans Pop <elendil@planet.nl>, 2010. # Jeroen Schot <schot@a-eskwadraat.nl>, 2011. -# Frans Spiesschaert <Frans.Spiesschaert@yucom.be>, 2014, 2016, 2017, 2018. +# Frans Spiesschaert <Frans.Spiesschaert@yucom.be>, 2014, 2016, 2017, 2018, 2019. # msgid "" msgstr "" -"Project-Id-Version: apt 1.7.0\n" +"Project-Id-Version: apt 1.8.0~rc3\n" "Report-Msgid-Bugs-To: APT Development Team <deity@lists.debian.org>\n" -"POT-Creation-Date: 2018-12-18 15:02+0100\n" -"PO-Revision-Date: 2018-10-09 16:26+0200\n" +"POT-Creation-Date: 2019-03-08 09:41+0100\n" +"PO-Revision-Date: 2019-02-16 20:35+0100\n" "Last-Translator: Frans Spiesschaert <Frans.Spiesschaert@yucom.be>\n" "Language-Team: Debian Dutch l10n Team <debian-l10n-dutch@lists.debian.org>\n" "Language: nl\n" @@ -433,6 +433,16 @@ msgstr "Kan geen bron vinden om versie '%s' van '%s' op te halen" msgid "Changelog unavailable for %s=%s" msgstr "Logbestand met veranderingen niet beschikbaar voor %s=%s" +#: apt-pkg/acquire-worker.cc +#, c-format +msgid "" +"The method '%s' is unsupported and disabled by default. Consider switching " +"to http(s). Set Dir::Bin::Methods::%s to \"%s\" to enable it again." +msgstr "" +"Methode '%s' wordt niet ondersteund en is standaard uitgeschakeld. U " +"schakelt best over op http(s). Stel Dir::Bin::Methods::%s in op \"%s\" om " +"deze opnieuw in te schakelen." + #: apt-pkg/acquire-worker.cc #, c-format msgid "The method '%s' is explicitly disabled via configuration." @@ -965,12 +975,12 @@ msgstr "Probleem bij het hernoemen van het bestand %s naar %s" msgid "Problem syncing the file" msgstr "Probleem bij het synchroniseren van het bestand" -#: apt-pkg/contrib/fileutl.cc cmdline/apt-extracttemplates.cc +#: apt-pkg/contrib/fileutl.cc #, c-format msgid "Unable to mkstemp %s" msgstr "Kan tijdelijk bestand %s niet aanmaken met mkstemp" -#: apt-pkg/contrib/fileutl.cc cmdline/apt-extracttemplates.cc +#: apt-pkg/contrib/fileutl.cc #, c-format msgid "Unable to write to %s" msgstr "Kan niet naar %s schrijven" @@ -1620,6 +1630,14 @@ msgstr "" msgid "Did not understand pin type %s" msgstr "Pintype %s wordt niet begrepen" +#: apt-pkg/policy.cc +#, c-format +msgid "" +"%s: The special 'Pin-Priority: %s' can only be used for 'Package: *' records" +msgstr "" +"%s: Het bijzondere 'Pin-Priority: %s' kan enkel gebruikt worden voor " +"structuren van het type 'Package: *'" + #: apt-pkg/policy.cc #, c-format msgid "%s: Value %s is outside the range of valid pin priorities (%d to %d)" @@ -2065,7 +2083,7 @@ msgstr "" msgid "Abort." msgstr "Afbreken." -#: apt-private/private-install.cc +#: apt-private/private-install.cc cmdline/apt-mark.cc msgid "Do you want to continue?" msgstr "Wilt u doorgaan?" @@ -2636,9 +2654,10 @@ msgstr[1] "" msgid "All packages are up to date." msgstr "Alle pakketten zijn up-to-date." -#: cmdline/apt-cache.cc -msgid "apt-cache stats does not take any arguments" -msgstr "De opdracht 'apt-cache stats' aanvaardt geen argumenten" +#: cmdline/apt-cache.cc cmdline/apt-mark.cc +#, c-format +msgid "%s does not take any arguments" +msgstr "De opdracht '%s' aanvaardt geen argumenten" #: cmdline/apt-cache.cc msgid "Total package names: " @@ -2734,31 +2753,31 @@ msgstr "" #: cmdline/apt-cache.cc msgid "Show source records" -msgstr "Toon een rapport over de broncode" +msgstr "Een rapport over de broncode tonen" #: cmdline/apt-cache.cc msgid "Search the package list for a regex pattern" -msgstr "Doorzoek pakkettenlijst a.d.h.v. een regex-patroon" +msgstr "De pakkettenlijst a.d.h.v. een regex-patroon doorzoeken" #: cmdline/apt-cache.cc msgid "Show raw dependency information for a package" -msgstr "Toon de afhankelijkheden van een pakket" +msgstr "De ruwe vereisteninformatie van een pakket tonen" #: cmdline/apt-cache.cc msgid "Show reverse dependency information for a package" -msgstr "Toon de pakketten die afhankelijk zijn van een pakket" +msgstr "De pakketten die van een pakket afhankelijk zijn, tonen" #: cmdline/apt-cache.cc msgid "Show a readable record for the package" -msgstr "Toon een leesbaar rapport over het pakket" +msgstr "Een leesbaar rapport over het pakket tonen" #: cmdline/apt-cache.cc msgid "List the names of all packages in the system" -msgstr "Toon de namen van alle pakketten op het systeem" +msgstr "De naam van alle pakketten op het systeem tonen" #: cmdline/apt-cache.cc msgid "Show policy settings" -msgstr "Toon beleidsinstellingen" +msgstr "Beleidsinstellingen tonen" #: cmdline/apt-cdrom.cc msgid "Please provide a name for this Disc, such as 'Debian 5.0.3 Disk 1'" @@ -2830,7 +2849,7 @@ msgstr "configuratiewaarden via shell-evaluatie verkrijgen" #: cmdline/apt-config.cc msgid "show the active configuration setting" -msgstr "toon de actieve configuratie-instelling" +msgstr "de actieve configuratie-instelling tonen" #: cmdline/apt-dump-solver.cc msgid "" @@ -2912,27 +2931,31 @@ msgstr "" #: cmdline/apt-get.cc msgid "Retrieve new lists of packages" -msgstr "Haal een nieuwe lijst van pakketten op" +msgstr "Een nieuwe lijst van pakketten ophalen" #: cmdline/apt-get.cc msgid "Perform an upgrade" -msgstr "Voer een opwaardering uit" +msgstr "Een opwaardering uitvoeren" #: cmdline/apt-get.cc msgid "Install new packages (pkg is libc6 not libc6.deb)" -msgstr "Installeer nieuwe pakketten (pakket is bijv. libc6, niet libc6.deb)" +msgstr "Nieuwe pakketten installeren (pakket is bijv. libc6, niet libc6.deb)" + +#: cmdline/apt-get.cc +msgid "Reinstall packages (pkg is libc6 not libc6.deb)" +msgstr "Pakketten opnieuw installeren (pakket is libc6, niet libc6.deb)" #: cmdline/apt-get.cc msgid "Remove packages" -msgstr "Verwijder pakketten" +msgstr "Pakketten verwijderen" #: cmdline/apt-get.cc msgid "Remove packages and config files" -msgstr "Verwijder pakketten en hun configuratiebestanden" +msgstr "Pakketten en hun configuratiebestanden verwijderen" #: cmdline/apt-get.cc cmdline/apt.cc msgid "Remove automatically all unused packages" -msgstr "Verwijder automatisch alle ongebruikte pakketten" +msgstr "Automatisch alle ongebruikte pakketten verwijderen" #: cmdline/apt-get.cc msgid "Distribution upgrade, see apt-get(8)" @@ -2944,31 +2967,31 @@ msgstr "Opwaardering volgens dselect-selecties" #: cmdline/apt-get.cc msgid "Configure build-dependencies for source packages" -msgstr "Installeer de pakketten vereist voor het bouwen van een bronpakket" +msgstr "De bouwvereisten van een bronpakket configureren" #: cmdline/apt-get.cc msgid "Erase downloaded archive files" -msgstr "Verwijder opgehaalde archiefbestanden" +msgstr "Opgehaalde archiefbestanden verwijderen" #: cmdline/apt-get.cc msgid "Erase old downloaded archive files" -msgstr "Verwijder verouderde opgehaalde archiefbestanden" +msgstr "Verouderde opgehaalde archiefbestanden verwijderen" #: cmdline/apt-get.cc msgid "Verify that there are no broken dependencies" -msgstr "Controleer op onvoldane vereisten" +msgstr "Verifiëren dat er geen defecte vereisten zijn" #: cmdline/apt-get.cc msgid "Download source archives" -msgstr "Haal bronarchieven op" +msgstr "Bronarchieven downloaden" #: cmdline/apt-get.cc msgid "Download the binary package into the current directory" -msgstr "Haal het binaire pakket op en plaats het in de werkmap" +msgstr "Het binaire pakket naar de huidige map downloaden" #: cmdline/apt-get.cc msgid "Download and display the changelog for the given package" -msgstr "Haal log op van wijzigingen aan een bepaald pakket en toon die" +msgstr "De log van wijzigingen aan het opgegeven pakket downloaden en tonen" #: cmdline/apt-helper.cc msgid "Need one URL as argument" @@ -3006,15 +3029,15 @@ msgstr "" #: cmdline/apt-helper.cc msgid "download the given uri to the target-path" -msgstr "haal opgegeven uri op en plaats in doelpad" +msgstr "het opgegeven uri ophalen en in het doelpad plaatsen" #: cmdline/apt-helper.cc msgid "lookup a SRV record (e.g. _http._tcp.ftp.debian.org)" -msgstr "zoek een SRV-record (bijv. _http._tcp.ftp.debian.org) op" +msgstr "een SRV-record (bijv. _http._tcp.ftp.debian.org) opzoeken" #: cmdline/apt-helper.cc msgid "concatenate files, with automatic decompression" -msgstr "voeg bestanden samen, met automatische decompressie" +msgstr "bestanden samenvoegen, met automatische decompressie" #: cmdline/apt-helper.cc msgid "detect proxy using apt.conf" @@ -3022,12 +3045,12 @@ msgstr "proxy opzoeken met behulp van apt.conf" #: cmdline/apt-helper.cc msgid "wait for system to be online" -msgstr "wacht tot het systeem online is" +msgstr "wachten tot het systeem online is" #: cmdline/apt-helper.cc msgid "drop privileges before running given command" msgstr "" -"laat bijzondere rechten vallen voordat het gegeven commando uitgevoerd wordt" +"bijzondere rechten laten vallen voordat het gegeven commando uitgevoerd wordt" #: cmdline/apt-internal-planner.cc msgid "" @@ -3072,6 +3095,15 @@ msgstr "%s was reeds ingesteld als handmatig geïnstalleerd.\n" msgid "%s was already set to automatically installed.\n" msgstr "%s was reeds ingesteld als automatisch geïnstalleerd.\n" +#: cmdline/apt-mark.cc +msgid "No changes necessary" +msgstr "Er zijn geen wijzigingen nodig" + +#: cmdline/apt-mark.cc +msgid "The following packages will be marked as automatically installed:" +msgstr "" +"De volgende pakketten zullen gemarkeerd worden als automatisch geïnstalleerd:" + #: cmdline/apt-mark.cc #, c-format msgid "%s was already set on hold.\n" @@ -3130,31 +3162,36 @@ msgstr "" #: cmdline/apt-mark.cc msgid "Mark the given packages as automatically installed" -msgstr "Markeer het vermelde pakket als automatisch geïnstalleerd" +msgstr "Het vermelde pakket als automatisch geïnstalleerd markeren" #: cmdline/apt-mark.cc msgid "Mark the given packages as manually installed" -msgstr "Markeer het vermelde pakket als manueel geïnstalleerd" +msgstr "Het vermelde pakket als manueel geïnstalleerd markeren" + +#: cmdline/apt-mark.cc +msgid "Mark all dependencies of meta packages as automatically installed." +msgstr "" +"Alle vereisten van meta-pakketten als automatisch geïnstalleerd markeren." #: cmdline/apt-mark.cc msgid "Mark a package as held back" -msgstr "Markeer een pakket als gehandhaafd" +msgstr "Een pakket als gehandhaafd markeren" #: cmdline/apt-mark.cc msgid "Unset a package set as held back" -msgstr "Markeer een pakket niet langer als gehandhaafd" +msgstr "Een pakket niet langer als gehandhaafd markeren" #: cmdline/apt-mark.cc msgid "Print the list of automatically installed packages" -msgstr "Toon de lijst van automatisch geïnstalleerde pakketten" +msgstr "De lijst van automatisch geïnstalleerde pakketten tonen" #: cmdline/apt-mark.cc msgid "Print the list of manually installed packages" -msgstr "Toon de lijst van manueel geïnstalleerde pakketten" +msgstr "De lijst van manueel geïnstalleerde pakketten tonen" #: cmdline/apt-mark.cc msgid "Print the list of packages on hold" -msgstr "Toon de lijst van te handhaven pakketten" +msgstr "De lijst van te handhaven pakketten tonen" #: cmdline/apt-sortpkgs.cc msgid "Unknown package record!" @@ -3197,44 +3234,48 @@ msgstr "" #. query #: cmdline/apt.cc msgid "list packages based on package names" -msgstr "geef een lijst van pakketten op basis van hun naam" +msgstr "pakketten tonen op basis van hun naam" #: cmdline/apt.cc msgid "search in package descriptions" -msgstr "zoek in de pakketbeschrijvingen" +msgstr "in de pakketbeschrijvingen zoeken" #: cmdline/apt.cc msgid "show package details" -msgstr "toon gedetailleerde informatie over het pakket" +msgstr "gedetailleerde informatie over het pakket tonen" #. package stuff #: cmdline/apt.cc msgid "install packages" -msgstr "installeer pakketten" +msgstr "pakketten installeren" + +#: cmdline/apt.cc +msgid "reinstall packages" +msgstr "pakketten opnieuw installeren" #: cmdline/apt.cc msgid "remove packages" -msgstr "verwijder pakketten" +msgstr "pakketten verwijderen" #. system wide stuff #: cmdline/apt.cc msgid "update list of available packages" -msgstr "werk de lijst van beschikbare pakketten bij" +msgstr "de lijst van beschikbare pakketten bijwerken" #: cmdline/apt.cc msgid "upgrade the system by installing/upgrading packages" -msgstr "waardeer het systeem op door pakketten te installeren/op te waarderen" +msgstr "het systeem opwaarderen door pakketten te installeren/op te waarderen" #: cmdline/apt.cc msgid "upgrade the system by removing/installing/upgrading packages" msgstr "" -"waardeer het systeem op door pakketten te verwijderen/te installeren/op te " +"het systeem opwaarderen door pakketten te verwijderen/te installeren/op te " "waarderen" #. misc #: cmdline/apt.cc msgid "edit the source information file" -msgstr "bewerk het bestand met informatie over de pakketbronnen" +msgstr "het bestand met informatie over de pakketbronnen bewerken" #: dselect/install msgid "Bad default setting!" @@ -3374,14 +3415,14 @@ msgstr "" "\n" "Opties:\n" " -h Deze hulptekst\n" -" --md5 Beheer het aanmaken van de MD5\n" +" --md5 Het aanmaken van de MD5 beheren\n" " -s=? Bronvoorrangsbestand\n" " -q Stille uitvoer\n" -" -d=? Selecteert de optionele caching database\n" -" --no-delink Schakelt de debug-modus voor delinking in\n" -" --contents Beheer het aanmaken van het inhoudsbestand\n" -" -c=? Lees dit configuratiebestand in\n" -" -o=? Stel een willekeurige configuratie optie in" +" -d=? De optionele caching database selecteren\n" +" --no-delink De debug-modus voor delinking inschakelen\n" +" --contents Het aanmaken van het inhoudsbestand beheren\n" +" -c=? Dit configuratiebestand inlezen\n" +" -o=? Een willekeurige configuratieoptie instellen" #: ftparchive/apt-ftparchive.cc msgid "No selections matched" diff --git a/po/nn.po b/po/nn.po index 7a651e2755cc57dffd30040ac08ae52b7f241b82..0d0a097b910537dcdd187d9832a546d6ffb8df60 100644 --- a/po/nn.po +++ b/po/nn.po @@ -9,7 +9,7 @@ msgid "" msgstr "" "Project-Id-Version: apt 1.0.5\n" "Report-Msgid-Bugs-To: APT Development Team <deity@lists.debian.org>\n" -"POT-Creation-Date: 2018-12-18 15:02+0100\n" +"POT-Creation-Date: 2019-02-04 15:34+0100\n" "PO-Revision-Date: 2005-02-14 23:30+0100\n" "Last-Translator: Havard Korsvoll <korsvoll@skulelinux.no>\n" "Language-Team: Norwegian nynorsk <i18n-nn@lister.ping.uio.no>\n" @@ -396,6 +396,13 @@ msgstr "" msgid "Changelog unavailable for %s=%s" msgstr "Koplar til %s (%s)" +#: apt-pkg/acquire-worker.cc +#, c-format +msgid "" +"The method '%s' is unsupported and disabled by default. Consider switching " +"to http(s). Set Dir::Bin::Methods::%s to \"%s\" to enable it again." +msgstr "" + #: apt-pkg/acquire-worker.cc #, c-format msgid "The method '%s' is explicitly disabled via configuration." @@ -894,12 +901,12 @@ msgstr "Problem ved synkronisering av fila" msgid "Problem syncing the file" msgstr "Problem ved synkronisering av fila" -#: apt-pkg/contrib/fileutl.cc cmdline/apt-extracttemplates.cc +#: apt-pkg/contrib/fileutl.cc #, fuzzy, c-format msgid "Unable to mkstemp %s" msgstr "Klarte ikkje få status til %s" -#: apt-pkg/contrib/fileutl.cc cmdline/apt-extracttemplates.cc +#: apt-pkg/contrib/fileutl.cc #, c-format msgid "Unable to write to %s" msgstr "Klarte ikkje skriva til %s" @@ -1510,6 +1517,12 @@ msgstr "Ugyldig oppslag i innstillingsfila, manglar pakkehovud" msgid "Did not understand pin type %s" msgstr "Skjønar ikkje spikringstypen %s" +#: apt-pkg/policy.cc +#, c-format +msgid "" +"%s: The special 'Pin-Priority: %s' can only be used for 'Package: *' records" +msgstr "" + #: apt-pkg/policy.cc #, c-format msgid "%s: Value %s is outside the range of valid pin priorities (%d to %d)" @@ -1937,7 +1950,7 @@ msgstr "" msgid "Abort." msgstr "Avbryt." -#: apt-private/private-install.cc +#: apt-private/private-install.cc cmdline/apt-mark.cc msgid "Do you want to continue?" msgstr "Vil du halda fram?" @@ -2477,9 +2490,9 @@ msgstr[1] "" msgid "All packages are up to date." msgstr "" -#: cmdline/apt-cache.cc -#, fuzzy -msgid "apt-cache stats does not take any arguments" +#: cmdline/apt-cache.cc cmdline/apt-mark.cc +#, fuzzy, c-format +msgid "%s does not take any arguments" msgstr "Oppdateringskommandoen tek ingen argument" #: cmdline/apt-cache.cc @@ -2745,6 +2758,12 @@ msgstr "Utf msgid "Install new packages (pkg is libc6 not libc6.deb)" msgstr "Installer nye pakkar (bruk pakkenamn, ikkje filnamn (foo.deb))." +#: cmdline/apt-get.cc +#, fuzzy +#| msgid "Install new packages (pkg is libc6 not libc6.deb)" +msgid "Reinstall packages (pkg is libc6 not libc6.deb)" +msgstr "Installer nye pakkar (bruk pakkenamn, ikkje filnamn (foo.deb))." + #: cmdline/apt-get.cc msgid "Remove packages" msgstr "Fjern pakkar." @@ -2901,6 +2920,16 @@ msgstr "men %s skal installerast" msgid "%s was already set to automatically installed.\n" msgstr "men %s skal installerast" +#: cmdline/apt-mark.cc +msgid "No changes necessary" +msgstr "" + +#: cmdline/apt-mark.cc +#, fuzzy +#| msgid "The following NEW packages will be installed:" +msgid "The following packages will be marked as automatically installed:" +msgstr "Dei følgjande NYE pakkane vil verta installerte:" + #: cmdline/apt-mark.cc #, fuzzy, c-format msgid "%s was already set on hold.\n" @@ -2960,6 +2989,11 @@ msgstr "men %s skal installerast" msgid "Mark the given packages as manually installed" msgstr "Dei følgjande NYE pakkane vil verta installerte:" +#: cmdline/apt-mark.cc +#, fuzzy +msgid "Mark all dependencies of meta packages as automatically installed." +msgstr "men %s skal installerast" + #: cmdline/apt-mark.cc msgid "Mark a package as held back" msgstr "" @@ -3026,6 +3060,11 @@ msgstr "" msgid "install packages" msgstr "Spikra pakkar:" +#: cmdline/apt.cc +#, fuzzy +msgid "reinstall packages" +msgstr "Spikra pakkar:" + #: cmdline/apt.cc #, fuzzy msgid "remove packages" diff --git a/po/pl.po b/po/pl.po index 66cd648543bd739adbc8b6c37c12cf9536e65c01..896fce83f8c1a98c1c661a57ccc000dfbfccab68 100644 --- a/po/pl.po +++ b/po/pl.po @@ -11,7 +11,7 @@ msgid "" msgstr "" "Project-Id-Version: apt 0.9.7.3\n" "Report-Msgid-Bugs-To: APT Development Team <deity@lists.debian.org>\n" -"POT-Creation-Date: 2018-12-18 15:02+0100\n" +"POT-Creation-Date: 2019-02-04 15:34+0100\n" "PO-Revision-Date: 2012-07-28 21:53+0200\n" "Last-Translator: MichaÅ‚ KuÅ‚ach <michal.kulach@gmail.com>\n" "Language-Team: Polish <debian-l10n-polish@lists.debian.org>\n" @@ -407,6 +407,13 @@ msgstr "Nie można znaleźć źródÅ‚a do pobrania wersji \"%s\" pakietu \"%s\"" msgid "Changelog unavailable for %s=%s" msgstr "Dziennik zmian %s (%s)" +#: apt-pkg/acquire-worker.cc +#, c-format +msgid "" +"The method '%s' is unsupported and disabled by default. Consider switching " +"to http(s). Set Dir::Bin::Methods::%s to \"%s\" to enable it again." +msgstr "" + #: apt-pkg/acquire-worker.cc #, c-format msgid "The method '%s' is explicitly disabled via configuration." @@ -925,12 +932,12 @@ msgstr "Problem przy zapisywaniu pliku %s w %s" msgid "Problem syncing the file" msgstr "Problem przy zapisywaniu pliku na dysk" -#: apt-pkg/contrib/fileutl.cc cmdline/apt-extracttemplates.cc +#: apt-pkg/contrib/fileutl.cc #, fuzzy, c-format msgid "Unable to mkstemp %s" msgstr "Nie można wykonać operacji stat na %s" -#: apt-pkg/contrib/fileutl.cc cmdline/apt-extracttemplates.cc +#: apt-pkg/contrib/fileutl.cc #, c-format msgid "Unable to write to %s" msgstr "Nie udaÅ‚o siÄ™ pisać do %s" @@ -1581,6 +1588,12 @@ msgstr "NieprawidÅ‚owe informacje w pliku ustawieÅ„ %s, brak nagłówka Package" msgid "Did not understand pin type %s" msgstr "Nierozpoznany typ przypinania %s" +#: apt-pkg/policy.cc +#, c-format +msgid "" +"%s: The special 'Pin-Priority: %s' can only be used for 'Package: *' records" +msgstr "" + #: apt-pkg/policy.cc #, c-format msgid "%s: Value %s is outside the range of valid pin priorities (%d to %d)" @@ -2011,7 +2024,7 @@ msgstr "" msgid "Abort." msgstr "Przerwane." -#: apt-private/private-install.cc +#: apt-private/private-install.cc cmdline/apt-mark.cc msgid "Do you want to continue?" msgstr "Kontynuować?" @@ -2595,9 +2608,9 @@ msgstr[2] "" msgid "All packages are up to date." msgstr "" -#: cmdline/apt-cache.cc -#, fuzzy -msgid "apt-cache stats does not take any arguments" +#: cmdline/apt-cache.cc cmdline/apt-mark.cc +#, fuzzy, c-format +msgid "%s does not take any arguments" msgstr "Polecenie update nie wymaga żadnych argumentów" #: cmdline/apt-cache.cc @@ -2857,6 +2870,12 @@ msgstr "Wykonuje aktualizacjÄ™" msgid "Install new packages (pkg is libc6 not libc6.deb)" msgstr "Instaluje nowe pakiety (pakiet to np. libc6, nie libc6.deb)" +#: cmdline/apt-get.cc +#, fuzzy +#| msgid "Install new packages (pkg is libc6 not libc6.deb)" +msgid "Reinstall packages (pkg is libc6 not libc6.deb)" +msgstr "Instaluje nowe pakiety (pakiet to np. libc6, nie libc6.deb)" + #: cmdline/apt-get.cc msgid "Remove packages" msgstr "Usuwa pakiety" @@ -3016,6 +3035,16 @@ msgstr "%s zostaÅ‚ już ustawiony jako zainstalowany rÄ™cznie.\n" msgid "%s was already set to automatically installed.\n" msgstr "%s zostaÅ‚ już ustawiony jako zainstalowany automatycznie.\n" +#: cmdline/apt-mark.cc +msgid "No changes necessary" +msgstr "" + +#: cmdline/apt-mark.cc +#, fuzzy +#| msgid "The following NEW packages will be installed:" +msgid "The following packages will be marked as automatically installed:" +msgstr "ZostanÄ… zainstalowane nastÄ™pujÄ…ce NOWE pakiety:" + #: cmdline/apt-mark.cc #, c-format msgid "%s was already set on hold.\n" @@ -3081,6 +3110,12 @@ msgstr "Oznacza dany pakiet jako zainstalowany automatycznie" msgid "Mark the given packages as manually installed" msgstr "Oznacza dany pakiet jako zainstalowany rÄ™cznie" +#: cmdline/apt-mark.cc +#, fuzzy +#| msgid "Mark the given packages as automatically installed" +msgid "Mark all dependencies of meta packages as automatically installed." +msgstr "Oznacza dany pakiet jako zainstalowany automatycznie" + #: cmdline/apt-mark.cc msgid "Mark a package as held back" msgstr "" @@ -3145,6 +3180,11 @@ msgstr "" msgid "install packages" msgstr "PrzypiÄ™te pakiety:" +#: cmdline/apt.cc +#, fuzzy +msgid "reinstall packages" +msgstr "PrzypiÄ™te pakiety:" + #: cmdline/apt.cc #, fuzzy msgid "remove packages" diff --git a/po/pt.po b/po/pt.po index 7ccc58b54d3cf34bd1d8282dbaf03ee03c513589..a9188e366dd29018523a922831172ff5c765ab3d 100644 --- a/po/pt.po +++ b/po/pt.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: apt 1.0.5\n" "Report-Msgid-Bugs-To: APT Development Team <deity@lists.debian.org>\n" -"POT-Creation-Date: 2018-12-18 15:02+0100\n" +"POT-Creation-Date: 2019-02-04 15:34+0100\n" "PO-Revision-Date: 2012-06-29 15:45+0100\n" "Last-Translator: Miguel Figueiredo <elmig@debianpt.org>\n" "Language-Team: Portuguese <traduz@debianpt.org>\n" @@ -404,6 +404,13 @@ msgstr "Não conseguiu encontrar uma fonte para obter a versão '%s' de '%s'" msgid "Changelog unavailable for %s=%s" msgstr "Changlog para %s (%s)" +#: apt-pkg/acquire-worker.cc +#, c-format +msgid "" +"The method '%s' is unsupported and disabled by default. Consider switching " +"to http(s). Set Dir::Bin::Methods::%s to \"%s\" to enable it again." +msgstr "" + #: apt-pkg/acquire-worker.cc #, c-format msgid "The method '%s' is explicitly disabled via configuration." @@ -928,12 +935,12 @@ msgstr "Problema ao renomear o ficheiro %s para %s" msgid "Problem syncing the file" msgstr "Problema sincronizando o ficheiro" -#: apt-pkg/contrib/fileutl.cc cmdline/apt-extracttemplates.cc +#: apt-pkg/contrib/fileutl.cc #, fuzzy, c-format msgid "Unable to mkstemp %s" msgstr "Não foi possÃvel fazer stat %s" -#: apt-pkg/contrib/fileutl.cc cmdline/apt-extracttemplates.cc +#: apt-pkg/contrib/fileutl.cc #, c-format msgid "Unable to write to %s" msgstr "Não conseguiu escrever para %s" @@ -1586,6 +1593,12 @@ msgstr "Registo inválido no ficheiro de preferências %s, sem cabeçalho Packag msgid "Did not understand pin type %s" msgstr "Não foi possÃvel entender o tipo de marca (pin) %s" +#: apt-pkg/policy.cc +#, c-format +msgid "" +"%s: The special 'Pin-Priority: %s' can only be used for 'Package: *' records" +msgstr "" + #: apt-pkg/policy.cc #, c-format msgid "%s: Value %s is outside the range of valid pin priorities (%d to %d)" @@ -2013,7 +2026,7 @@ msgstr "" msgid "Abort." msgstr "Abortado." -#: apt-private/private-install.cc +#: apt-private/private-install.cc cmdline/apt-mark.cc msgid "Do you want to continue?" msgstr "Deseja continuar?" @@ -2574,9 +2587,9 @@ msgstr[1] "" msgid "All packages are up to date." msgstr "" -#: cmdline/apt-cache.cc -#, fuzzy -msgid "apt-cache stats does not take any arguments" +#: cmdline/apt-cache.cc cmdline/apt-mark.cc +#, fuzzy, c-format +msgid "%s does not take any arguments" msgstr "O comando update não leva argumentos" #: cmdline/apt-cache.cc @@ -2841,6 +2854,12 @@ msgstr "Executar uma actualização" msgid "Install new packages (pkg is libc6 not libc6.deb)" msgstr "Instalar novos pacotes (o pacote é libc6 e não libc6.deb)" +#: cmdline/apt-get.cc +#, fuzzy +#| msgid "Install new packages (pkg is libc6 not libc6.deb)" +msgid "Reinstall packages (pkg is libc6 not libc6.deb)" +msgstr "Instalar novos pacotes (o pacote é libc6 e não libc6.deb)" + #: cmdline/apt-get.cc msgid "Remove packages" msgstr "Remover pacotes" @@ -2996,6 +3015,16 @@ msgstr "%s já estava definido para ser instalado manualmente.\n" msgid "%s was already set to automatically installed.\n" msgstr "%s já estava definido para ser instalado automaticamente.\n" +#: cmdline/apt-mark.cc +msgid "No changes necessary" +msgstr "" + +#: cmdline/apt-mark.cc +#, fuzzy +#| msgid "The following NEW packages will be installed:" +msgid "The following packages will be marked as automatically installed:" +msgstr "Serão instalados os seguintes NOVOS pacotes:" + #: cmdline/apt-mark.cc #, c-format msgid "%s was already set on hold.\n" @@ -3059,6 +3088,12 @@ msgstr "Marca os pacotes como instalados automaticamente" msgid "Mark the given packages as manually installed" msgstr "Marca os pacotes como instalados manualmente" +#: cmdline/apt-mark.cc +#, fuzzy +#| msgid "Mark the given packages as automatically installed" +msgid "Mark all dependencies of meta packages as automatically installed." +msgstr "Marca os pacotes como instalados automaticamente" + #: cmdline/apt-mark.cc msgid "Mark a package as held back" msgstr "" @@ -3123,6 +3158,11 @@ msgstr "" msgid "install packages" msgstr "Pacotes Marcados:" +#: cmdline/apt.cc +#, fuzzy +msgid "reinstall packages" +msgstr "Pacotes Marcados:" + #: cmdline/apt.cc #, fuzzy msgid "remove packages" diff --git a/po/pt_BR.po b/po/pt_BR.po index 441558ae4901f65d29aa8a99b66fb0fe87d53013..50b19ea77feff028af848ae3456fe6db056ce15e 100644 --- a/po/pt_BR.po +++ b/po/pt_BR.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: apt 1.0.5\n" "Report-Msgid-Bugs-To: APT Development Team <deity@lists.debian.org>\n" -"POT-Creation-Date: 2018-12-18 15:02+0100\n" +"POT-Creation-Date: 2019-02-04 15:34+0100\n" "PO-Revision-Date: 2008-11-17 02:33-0200\n" "Last-Translator: Felipe Augusto van de Wiel (faw) <faw@debian.org>\n" "Language-Team: Brazilian Portuguese <debian-l10n-portuguese@lists.debian." @@ -394,6 +394,13 @@ msgstr "" msgid "Changelog unavailable for %s=%s" msgstr "Conectando em %s (%s)" +#: apt-pkg/acquire-worker.cc +#, c-format +msgid "" +"The method '%s' is unsupported and disabled by default. Consider switching " +"to http(s). Set Dir::Bin::Methods::%s to \"%s\" to enable it again." +msgstr "" + #: apt-pkg/acquire-worker.cc #, c-format msgid "The method '%s' is explicitly disabled via configuration." @@ -897,12 +904,12 @@ msgstr "Problema sincronizando o arquivo" msgid "Problem syncing the file" msgstr "Problema sincronizando o arquivo" -#: apt-pkg/contrib/fileutl.cc cmdline/apt-extracttemplates.cc +#: apt-pkg/contrib/fileutl.cc #, fuzzy, c-format msgid "Unable to mkstemp %s" msgstr "ImpossÃvel executar \"stat\" em %s" -#: apt-pkg/contrib/fileutl.cc cmdline/apt-extracttemplates.cc +#: apt-pkg/contrib/fileutl.cc #, c-format msgid "Unable to write to %s" msgstr "ImpossÃvel escrever para %s" @@ -1517,6 +1524,12 @@ msgstr "Registro inválido no arquivo de preferências, sem cabeçalho Package" msgid "Did not understand pin type %s" msgstr "Não foi possÃvel entender o tipo de \"pin\" %s" +#: apt-pkg/policy.cc +#, c-format +msgid "" +"%s: The special 'Pin-Priority: %s' can only be used for 'Package: *' records" +msgstr "" + #: apt-pkg/policy.cc #, c-format msgid "%s: Value %s is outside the range of valid pin priorities (%d to %d)" @@ -1944,7 +1957,7 @@ msgstr "" msgid "Abort." msgstr "Abortar." -#: apt-private/private-install.cc +#: apt-private/private-install.cc cmdline/apt-mark.cc msgid "Do you want to continue?" msgstr "Você quer continuar?" @@ -2493,9 +2506,9 @@ msgstr[1] "" msgid "All packages are up to date." msgstr "" -#: cmdline/apt-cache.cc -#, fuzzy -msgid "apt-cache stats does not take any arguments" +#: cmdline/apt-cache.cc cmdline/apt-mark.cc +#, fuzzy, c-format +msgid "%s does not take any arguments" msgstr "O comando update não leva argumentos" #: cmdline/apt-cache.cc @@ -2759,6 +2772,12 @@ msgstr "Realiza uma atualização" msgid "Install new packages (pkg is libc6 not libc6.deb)" msgstr "Instala novos pacotes (um pacote é libc6 e não libc6.deb)" +#: cmdline/apt-get.cc +#, fuzzy +#| msgid "Install new packages (pkg is libc6 not libc6.deb)" +msgid "Reinstall packages (pkg is libc6 not libc6.deb)" +msgstr "Instala novos pacotes (um pacote é libc6 e não libc6.deb)" + #: cmdline/apt-get.cc msgid "Remove packages" msgstr "Remove pacotes" @@ -2916,6 +2935,16 @@ msgstr "%s configurado para instalar manualmente.\n" msgid "%s was already set to automatically installed.\n" msgstr "%s configurado para instalar manualmente.\n" +#: cmdline/apt-mark.cc +msgid "No changes necessary" +msgstr "" + +#: cmdline/apt-mark.cc +#, fuzzy +#| msgid "The following NEW packages will be installed:" +msgid "The following packages will be marked as automatically installed:" +msgstr "Os NOVOS pacotes a seguir serão instalados:" + #: cmdline/apt-mark.cc #, fuzzy, c-format msgid "%s was already set on hold.\n" @@ -2975,6 +3004,11 @@ msgstr "%s configurado para instalar manualmente.\n" msgid "Mark the given packages as manually installed" msgstr "Confira se o pacote 'dpkg-dev' está instalado.\n" +#: cmdline/apt-mark.cc +#, fuzzy +msgid "Mark all dependencies of meta packages as automatically installed." +msgstr "%s configurado para instalar manualmente.\n" + #: cmdline/apt-mark.cc msgid "Mark a package as held back" msgstr "" @@ -3041,6 +3075,11 @@ msgstr "" msgid "install packages" msgstr "Pacotes alfinetados (\"pinned\"):" +#: cmdline/apt.cc +#, fuzzy +msgid "reinstall packages" +msgstr "Pacotes alfinetados (\"pinned\"):" + #: cmdline/apt.cc #, fuzzy msgid "remove packages" diff --git a/po/ro.po b/po/ro.po index 1fd21b5cab047703afe83d885c5681bf20fbfb4c..2093cf3cf191903be18a27f4c1cedeb54201fd61 100644 --- a/po/ro.po +++ b/po/ro.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: apt 1.0.5\n" "Report-Msgid-Bugs-To: APT Development Team <deity@lists.debian.org>\n" -"POT-Creation-Date: 2018-12-18 15:02+0100\n" +"POT-Creation-Date: 2019-02-04 15:34+0100\n" "PO-Revision-Date: 2008-11-15 02:21+0200\n" "Last-Translator: Eddy PetriÈ™or <eddy.petrisor@gmail.com>\n" "Language-Team: Romanian <debian-l10n-romanian@lists.debian.org>\n" @@ -397,6 +397,13 @@ msgstr "" msgid "Changelog unavailable for %s=%s" msgstr "Conectare la %s (%s)" +#: apt-pkg/acquire-worker.cc +#, c-format +msgid "" +"The method '%s' is unsupported and disabled by default. Consider switching " +"to http(s). Set Dir::Bin::Methods::%s to \"%s\" to enable it again." +msgstr "" + #: apt-pkg/acquire-worker.cc #, c-format msgid "The method '%s' is explicitly disabled via configuration." @@ -901,12 +908,12 @@ msgstr "Problemă în timpul sincronizării fiÈ™ierului" msgid "Problem syncing the file" msgstr "Problemă în timpul sincronizării fiÈ™ierului" -#: apt-pkg/contrib/fileutl.cc cmdline/apt-extracttemplates.cc +#: apt-pkg/contrib/fileutl.cc #, fuzzy, c-format msgid "Unable to mkstemp %s" msgstr "Nu se poate executa „stat†pe %s" -#: apt-pkg/contrib/fileutl.cc cmdline/apt-extracttemplates.cc +#: apt-pkg/contrib/fileutl.cc #, c-format msgid "Unable to write to %s" msgstr "Nu s-a putut scrie în %s" @@ -1520,6 +1527,12 @@ msgstr "ÃŽnregistrare invalidă în fiÈ™ierul de preferinÈ›e, fără antet de pa msgid "Did not understand pin type %s" msgstr "Nu s-a înÈ›eles tipul de pin %s" +#: apt-pkg/policy.cc +#, c-format +msgid "" +"%s: The special 'Pin-Priority: %s' can only be used for 'Package: *' records" +msgstr "" + #: apt-pkg/policy.cc #, c-format msgid "%s: Value %s is outside the range of valid pin priorities (%d to %d)" @@ -1948,7 +1961,7 @@ msgstr "" msgid "Abort." msgstr "RenunÈ›are." -#: apt-private/private-install.cc +#: apt-private/private-install.cc cmdline/apt-mark.cc msgid "Do you want to continue?" msgstr "VreÈ›i să continuaÈ›i?" @@ -2502,9 +2515,9 @@ msgstr[2] "" msgid "All packages are up to date." msgstr "" -#: cmdline/apt-cache.cc -#, fuzzy -msgid "apt-cache stats does not take any arguments" +#: cmdline/apt-cache.cc cmdline/apt-mark.cc +#, fuzzy, c-format +msgid "%s does not take any arguments" msgstr "Comanda de actualizare nu are argumente" #: cmdline/apt-cache.cc @@ -2767,6 +2780,12 @@ msgstr "Realizează o înnoire" msgid "Install new packages (pkg is libc6 not libc6.deb)" msgstr "Instalează pachete noi (pachet este libc6, nu libc6.deb)" +#: cmdline/apt-get.cc +#, fuzzy +#| msgid "Install new packages (pkg is libc6 not libc6.deb)" +msgid "Reinstall packages (pkg is libc6 not libc6.deb)" +msgstr "Instalează pachete noi (pachet este libc6, nu libc6.deb)" + #: cmdline/apt-get.cc msgid "Remove packages" msgstr "Șterge pachete" @@ -2922,6 +2941,16 @@ msgstr "%s este marcat ca fiind instalat manual.\n" msgid "%s was already set to automatically installed.\n" msgstr "%s este marcat ca fiind instalat manual.\n" +#: cmdline/apt-mark.cc +msgid "No changes necessary" +msgstr "" + +#: cmdline/apt-mark.cc +#, fuzzy +#| msgid "The following NEW packages will be installed:" +msgid "The following packages will be marked as automatically installed:" +msgstr "Următoarele pachete NOI vor fi instalate:" + #: cmdline/apt-mark.cc #, fuzzy, c-format msgid "%s was already set on hold.\n" @@ -2981,6 +3010,11 @@ msgstr "%s este marcat ca fiind instalat manual.\n" msgid "Mark the given packages as manually installed" msgstr "VerificaÈ›i dacă pachetul 'dpkg-dev' este instalat.\n" +#: cmdline/apt-mark.cc +#, fuzzy +msgid "Mark all dependencies of meta packages as automatically installed." +msgstr "%s este marcat ca fiind instalat manual.\n" + #: cmdline/apt-mark.cc msgid "Mark a package as held back" msgstr "" @@ -3047,6 +3081,11 @@ msgstr "" msgid "install packages" msgstr "Pachete alese special:" +#: cmdline/apt.cc +#, fuzzy +msgid "reinstall packages" +msgstr "Pachete alese special:" + #: cmdline/apt.cc #, fuzzy msgid "remove packages" diff --git a/po/ru.po b/po/ru.po index 4c8521eb55bf74d98d2372dc2d59993e95d79bc8..bc11f92534ea607f4319f393dff9b76762ef6b6b 100644 --- a/po/ru.po +++ b/po/ru.po @@ -8,14 +8,14 @@ # Dmitry Astapov <adept@despammed.com>, 2004. # Yuri Kozlov <kozlov.y@gmail.com>, 2004, 2005, 2006, 2007, 2008. # Yuri Kozlov <yuray@komyakino.ru>, 2009, 2010, 2012, 2015, 2016. -# Aleksej Shilin <rootlexx@mail.ru>, 2017, 2018. # Lev Lamberov <dogsleg@debian.org>, 2018. +# Aleksej Shilin <rootlexx@mail.ru>, 2017, 2018, 2019. msgid "" msgstr "" "Project-Id-Version: apt 1.8.0\n" "Report-Msgid-Bugs-To: APT Development Team <deity@lists.debian.org>\n" -"POT-Creation-Date: 2018-12-18 15:02+0100\n" -"PO-Revision-Date: 2018-10-25 19:03+0300\n" +"POT-Creation-Date: 2019-02-04 15:34+0100\n" +"PO-Revision-Date: 2019-02-10 11:50+0300\n" "Last-Translator: Aleksej Shilin <rootlexx@mail.ru>\n" "Language-Team: Russian <debian-l10n-russian@lists.debian.org>\n" "Language: ru\n" @@ -67,17 +67,17 @@ msgstr "ÐÐµÐ¿Ñ€Ð°Ð²Ð¸Ð»ÑŒÐ½Ð°Ñ ÐºÐ¾Ð½Ñ‚Ñ€Ð¾Ð»ÑŒÐ½Ð°Ñ Ñумма Tar — ар #: apt-inst/contrib/extracttar.cc #, c-format msgid "Unknown TAR header type %u, member %s" -msgstr "ÐеизвеÑтный заголовок в архиве TAR. Тип %u, Ñлемент %s" +msgstr "ÐеизвеÑтный тип %u, Ñлемент %s в заголовке TAR" #: apt-inst/deb/debfile.cc #, c-format msgid "This is not a valid DEB archive, missing '%s' member" -msgstr "Ðто неправильный DEB-архив: отÑутÑтвует ÑоÑÑ‚Ð°Ð²Ð½Ð°Ñ Ñ‡Ð°Ñть «%s»" +msgstr "Ðто неправильный DEB-архив: отÑутÑтвует Ñлемент «%s»" #: apt-inst/deb/debfile.cc #, c-format msgid "Internal error, could not locate member %s" -msgstr "ВнутреннÑÑ Ð¾ÑˆÐ¸Ð±ÐºÐ°: не удалоÑÑŒ найти ÑоÑтавную чаÑть %s" +msgstr "ВнутреннÑÑ Ð¾ÑˆÐ¸Ð±ÐºÐ°: не удалоÑÑŒ найти Ñлемент %s" #: apt-inst/deb/debfile.cc msgid "Unparsable control file" @@ -86,7 +86,7 @@ msgstr "Ðе удалоÑÑŒ разобрать Ñодержимое файла c #: apt-inst/dirstream.cc #, c-format msgid "Failed to write file %s" -msgstr "Ðе удалоÑÑŒ запиÑать в файл %s" +msgstr "Ðе удалоÑÑŒ запиÑать файл %s" #: apt-inst/dirstream.cc #, c-format @@ -144,7 +144,7 @@ msgstr "Путь Ñлишком длинный" #: apt-inst/extract.cc #, c-format msgid "Overwrite package match with no version for %s" -msgstr "Файлы заменÑÑŽÑ‚ÑÑ Ñодержимым пакета %s без верÑии" +msgstr "У пакета %s, файлы которого заменÑÑŽÑ‚ÑÑ, отÑутÑтвует верÑиÑ" #: apt-inst/extract.cc #, c-format @@ -217,7 +217,7 @@ msgid "" "See apt-secure(8) manpage for repository creation and user configuration " "details." msgstr "" -"Информацию о Ñоздании Ñ€ÐµÐ¿Ð¾Ð·Ð¸Ñ‚Ð¾Ñ€Ð¸Ñ Ð¸ наÑтройке Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ Ñмотрите в " +"Информацию о Ñоздании Ñ€ÐµÐ¿Ð¾Ð·Ð¸Ñ‚Ð¾Ñ€Ð¸Ñ Ð¸ наÑтройках Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ Ñмотрите в " "Ñправочной Ñтранице apt-secure(8)." #: apt-pkg/acquire-item.cc @@ -290,7 +290,7 @@ msgid "" "Clearsigned file isn't valid, got '%s' (does the network require " "authentication?)" msgstr "" -"Ðекорректный подпиÑанный файл: получено «%s» (возможно, в Ñети требуетÑÑ " +"ПодпиÑанный файл некорректен: получено «%s» (возможно, в Ñети требуетÑÑ " "аутентификациÑ?)" #: apt-pkg/acquire-item.cc @@ -429,6 +429,16 @@ msgstr "Ðевозможно найти иÑточник Ð´Ð»Ñ Ð·Ð°Ð³Ñ€ÑƒÐ·ÐºÐ¸ msgid "Changelog unavailable for %s=%s" msgstr "Журнал изменений Ð´Ð»Ñ %s=%s недоÑтупен" +#: apt-pkg/acquire-worker.cc +#, c-format +msgid "" +"The method '%s' is unsupported and disabled by default. Consider switching " +"to http(s). Set Dir::Bin::Methods::%s to \"%s\" to enable it again." +msgstr "" +"Метод «%s» не поддерживаетÑÑ Ð¸ по умолчанию отключён. РаÑÑмотрите " +"возможноÑть перехода на иÑпользование http(s). Чтобы включить его Ñнова, " +"уÑтановите параметр Dir::Bin::Methods::%s в значение «%s»." + #: apt-pkg/acquire-worker.cc #, c-format msgid "The method '%s' is explicitly disabled via configuration." @@ -660,8 +670,8 @@ msgid "" "Unable to locate any package files, perhaps this is not a Debian Disc or the " "wrong architecture?" msgstr "" -"Ðе удалоÑÑŒ найти ни одного файла пакетов; возможно, Ñто не диÑк Debian или Ñ " -"не той архитектурой?" +"Ðе удалоÑÑŒ найти ни одного файла пакетов; возможно, Ñто не диÑк Debian или " +"не Ñ Ñ‚Ð¾Ð¹ архитектурой?" #: apt-pkg/cdrom.cc #, c-format @@ -767,7 +777,7 @@ msgstr "ÐÐµÐ²ÐµÑ€Ð½Ð°Ñ Ð¾Ð¿ÐµÑ€Ð°Ñ†Ð¸Ñ %s" #: apt-pkg/contrib/configuration.cc #, c-format msgid "Unrecognized type abbreviation: '%c'" -msgstr "ÐеизвеÑÑ‚Ð½Ð°Ñ Ð°Ð±Ð±Ñ€ÐµÐ²Ð¸Ð°Ñ‚ÑƒÑ€Ð° типа: «%c»" +msgstr "ÐеизвеÑтное Ñокращение типа: «%c»" #: apt-pkg/contrib/configuration.cc #, c-format @@ -957,12 +967,12 @@ msgstr "Проблема при переименовании файла %s в %s msgid "Problem syncing the file" msgstr "Проблема при Ñинхронизации файла" -#: apt-pkg/contrib/fileutl.cc cmdline/apt-extracttemplates.cc +#: apt-pkg/contrib/fileutl.cc #, c-format msgid "Unable to mkstemp %s" msgstr "Ðевозможно выполнить mkstemp %s" -#: apt-pkg/contrib/fileutl.cc cmdline/apt-extracttemplates.cc +#: apt-pkg/contrib/fileutl.cc #, c-format msgid "Unable to write to %s" msgstr "Ðевозможно запиÑать в %s" @@ -1609,6 +1619,14 @@ msgstr "ÐÐµÐ²ÐµÑ€Ð½Ð°Ñ Ð·Ð°Ð¿Ð¸ÑÑŒ в файле предпочтений %s: msgid "Did not understand pin type %s" msgstr "ÐеизвеÑтный тип привÑзки %s" +#: apt-pkg/policy.cc +#, c-format +msgid "" +"%s: The special 'Pin-Priority: %s' can only be used for 'Package: *' records" +msgstr "" +"%s: ÑÐ¿ÐµÑ†Ð¸Ð°Ð»ÑŒÐ½Ð°Ñ Ð¿Ñ€Ð¸Ð²Ñзка «Pin-Priority: %s» может иÑпользоватьÑÑ Ñ‚Ð¾Ð»ÑŒÐºÐ¾ Ð´Ð»Ñ " +"запиÑей вида «Package: *»" + #: apt-pkg/policy.cc #, c-format msgid "%s: Value %s is outside the range of valid pin priorities (%d to %d)" @@ -1751,8 +1769,7 @@ msgstr " Готово" #: apt-private/private-cachefile.cc apt-private/private-install.cc msgid "You might want to run 'apt --fix-broken install' to correct these." msgstr "" -"Возможно, Ð´Ð»Ñ Ð¸ÑÐ¿Ñ€Ð°Ð²Ð»ÐµÐ½Ð¸Ñ Ñтих ошибок вы захотите воÑпользоватьÑÑ Â«apt --fix-" -"broken install»." +"Ð’Ñ‹ можете запуÑтить «apt --fix-broken install» Ð´Ð»Ñ Ð¸ÑÐ¿Ñ€Ð°Ð²Ð»ÐµÐ½Ð¸Ñ Ñтих ошибок." #: apt-private/private-cachefile.cc apt-private/private-install.cc msgid "" @@ -1859,7 +1876,7 @@ msgid "" msgstr "" "Параметры наÑтройки и ÑинтакÑÐ¸Ñ Ð¾Ð¿Ð¸Ñаны в apt.conf(5).\n" "Информацию о том, как наÑтроить иÑточники, можно найти в sources.list(5).\n" -"Выбор пакетов и верÑий опиÑываетÑÑ Ñ‡ÐµÑ€ÐµÐ· apt_preferences(5).\n" +"Выбор пакетов и верÑий опиÑываетÑÑ Ð² apt_preferences(5).\n" "Ð˜Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ñ Ð¾ безопаÑноÑти доÑтупна в apt-secure(8).\n" #: apt-private/private-cmndline.cc @@ -2056,7 +2073,7 @@ msgstr "" msgid "Abort." msgstr "Прервано." -#: apt-private/private-install.cc +#: apt-private/private-install.cc cmdline/apt-mark.cc msgid "Do you want to continue?" msgstr "Хотите продолжить?" @@ -2624,9 +2641,10 @@ msgstr[2] "" msgid "All packages are up to date." msgstr "Ð’Ñе пакеты имеют поÑледние верÑии." -#: cmdline/apt-cache.cc -msgid "apt-cache stats does not take any arguments" -msgstr "Команде apt-cache stats не нужны аргументы" +#: cmdline/apt-cache.cc cmdline/apt-mark.cc +#, c-format +msgid "%s does not take any arguments" +msgstr "Команде %s не нужны аргументы" #: cmdline/apt-cache.cc msgid "Total package names: " @@ -2908,6 +2926,12 @@ msgstr "" "уÑтановить новые пакеты (указываетÑÑ Ð¸Ð¼Ñ Ð¿Ð°ÐºÐµÑ‚Ð° libc6, а не Ð¸Ð¼Ñ Ñ„Ð°Ð¹Ð»Ð° libc6." "deb)" +#: cmdline/apt-get.cc +msgid "Reinstall packages (pkg is libc6 not libc6.deb)" +msgstr "" +"переуÑтановить пакеты (указываетÑÑ Ð¸Ð¼Ñ Ð¿Ð°ÐºÐµÑ‚Ð° libc6, а не Ð¸Ð¼Ñ Ñ„Ð°Ð¹Ð»Ð° libc6." +"deb)" + #: cmdline/apt-get.cc msgid "Remove packages" msgstr "удалить пакеты" @@ -3055,6 +3079,14 @@ msgstr "%s уже помечен как уÑтановленный вручну msgid "%s was already set to automatically installed.\n" msgstr "%s уже помечен как уÑтановленный автоматичеÑки.\n" +#: cmdline/apt-mark.cc +msgid "No changes necessary" +msgstr "Ðикаких изменений не требуетÑÑ" + +#: cmdline/apt-mark.cc +msgid "The following packages will be marked as automatically installed:" +msgstr "Следующие пакеты будут помечены как уÑтановленные автоматичеÑки:" + #: cmdline/apt-mark.cc #, c-format msgid "%s was already set on hold.\n" @@ -3119,6 +3151,10 @@ msgstr "пометить указанные пакеты как уÑтановл msgid "Mark the given packages as manually installed" msgstr "пометить указанные пакеты как уÑтановленные вручную" +#: cmdline/apt-mark.cc +msgid "Mark all dependencies of meta packages as automatically installed." +msgstr "пометить вÑе завиÑимоÑти метапакетов как уÑтановленные автоматичеÑки" + #: cmdline/apt-mark.cc msgid "Mark a package as held back" msgstr "пометить пакет как зафикÑированный" @@ -3179,7 +3215,7 @@ msgstr "" #. query #: cmdline/apt.cc msgid "list packages based on package names" -msgstr "показать ÑпиÑок пакетов из указанных имён пакетов" +msgstr "показать ÑпиÑок пакетов на оÑнове указанных имён" #: cmdline/apt.cc msgid "search in package descriptions" @@ -3194,6 +3230,10 @@ msgstr "показать дополнительные данные о пакет msgid "install packages" msgstr "уÑтановить пакеты" +#: cmdline/apt.cc +msgid "reinstall packages" +msgstr "переуÑтановить пакеты" + #: cmdline/apt.cc msgid "remove packages" msgstr "удалить пакеты" diff --git a/po/sk.po b/po/sk.po index aaffad92bc0fd1ee73ffe54b9ecdf29b6743ae50..bd1ccfaefe86dc1144052dafd43a9e9342370b8c 100644 --- a/po/sk.po +++ b/po/sk.po @@ -10,7 +10,7 @@ msgid "" msgstr "" "Project-Id-Version: apt 1.0.5\n" "Report-Msgid-Bugs-To: APT Development Team <deity@lists.debian.org>\n" -"POT-Creation-Date: 2018-12-18 15:02+0100\n" +"POT-Creation-Date: 2019-02-04 15:34+0100\n" "PO-Revision-Date: 2012-06-28 20:49+0100\n" "Last-Translator: Ivan Masár <helix84@centrum.sk>\n" "Language-Team: Slovak <sk-i18n@lists.linux.sk>\n" @@ -404,6 +404,13 @@ msgstr "Nie je možné nájsÅ¥ zdroj na stiahnutie verzie „%s“ balÃka „%s msgid "Changelog unavailable for %s=%s" msgstr "Záznam zmien %s (%s)" +#: apt-pkg/acquire-worker.cc +#, c-format +msgid "" +"The method '%s' is unsupported and disabled by default. Consider switching " +"to http(s). Set Dir::Bin::Methods::%s to \"%s\" to enable it again." +msgstr "" + #: apt-pkg/acquire-worker.cc #, c-format msgid "The method '%s' is explicitly disabled via configuration." @@ -911,12 +918,12 @@ msgstr "Problém pri synchronizovanà súboru %s na %s" msgid "Problem syncing the file" msgstr "Problém pri synchronizovanà súboru" -#: apt-pkg/contrib/fileutl.cc cmdline/apt-extracttemplates.cc +#: apt-pkg/contrib/fileutl.cc #, fuzzy, c-format msgid "Unable to mkstemp %s" msgstr "Nedá sa vyhodnotiÅ¥ %s" -#: apt-pkg/contrib/fileutl.cc cmdline/apt-extracttemplates.cc +#: apt-pkg/contrib/fileutl.cc #, c-format msgid "Unable to write to %s" msgstr "Do %s sa nedá zapisovaÅ¥" @@ -1550,6 +1557,12 @@ msgstr "Neplatný záznam v súbore nastavenà %s, chýba hlaviÄka Package" msgid "Did not understand pin type %s" msgstr "Nezrozumiteľné pridržanie typu %s" +#: apt-pkg/policy.cc +#, c-format +msgid "" +"%s: The special 'Pin-Priority: %s' can only be used for 'Package: *' records" +msgstr "" + #: apt-pkg/policy.cc #, c-format msgid "%s: Value %s is outside the range of valid pin priorities (%d to %d)" @@ -1975,7 +1988,7 @@ msgstr "" msgid "Abort." msgstr "PreruÅ¡ené." -#: apt-private/private-install.cc +#: apt-private/private-install.cc cmdline/apt-mark.cc msgid "Do you want to continue?" msgstr "Chcete pokraÄovaÅ¥?" @@ -2544,9 +2557,9 @@ msgstr[2] "" msgid "All packages are up to date." msgstr "" -#: cmdline/apt-cache.cc -#, fuzzy -msgid "apt-cache stats does not take any arguments" +#: cmdline/apt-cache.cc cmdline/apt-mark.cc +#, fuzzy, c-format +msgid "%s does not take any arguments" msgstr "PrÃkaz update neprijÃma žiadne argumenty" #: cmdline/apt-cache.cc @@ -2808,6 +2821,12 @@ msgstr "Vykoná aktualizáciu" msgid "Install new packages (pkg is libc6 not libc6.deb)" msgstr "NainÅ¡taluje nové balÃky (balÃk je libc6, nie libc6.deb)" +#: cmdline/apt-get.cc +#, fuzzy +#| msgid "Install new packages (pkg is libc6 not libc6.deb)" +msgid "Reinstall packages (pkg is libc6 not libc6.deb)" +msgstr "NainÅ¡taluje nové balÃky (balÃk je libc6, nie libc6.deb)" + #: cmdline/apt-get.cc msgid "Remove packages" msgstr "Odstráni balÃky" @@ -2963,6 +2982,16 @@ msgstr "%s už bol oznaÄený ako manuálne nainÅ¡talovaný.\n" msgid "%s was already set to automatically installed.\n" msgstr "%s už bol oznaÄený ako automaticky nainÅ¡talovaný.\n" +#: cmdline/apt-mark.cc +msgid "No changes necessary" +msgstr "" + +#: cmdline/apt-mark.cc +#, fuzzy +#| msgid "The following NEW packages will be installed:" +msgid "The following packages will be marked as automatically installed:" +msgstr "NainÅ¡talujú sa nasledovné NOVÉ balÃky:" + #: cmdline/apt-mark.cc #, c-format msgid "%s was already set on hold.\n" @@ -3026,6 +3055,12 @@ msgstr "OznaÄà uvedené balÃky ako automaticky nainÅ¡talované" msgid "Mark the given packages as manually installed" msgstr "OznaÄà uvedené balÃky ako manuálne nainÅ¡talované" +#: cmdline/apt-mark.cc +#, fuzzy +#| msgid "Mark the given packages as automatically installed" +msgid "Mark all dependencies of meta packages as automatically installed." +msgstr "OznaÄà uvedené balÃky ako automaticky nainÅ¡talované" + #: cmdline/apt-mark.cc msgid "Mark a package as held back" msgstr "" @@ -3090,6 +3125,11 @@ msgstr "" msgid "install packages" msgstr "Pripevnené balÃky:" +#: cmdline/apt.cc +#, fuzzy +msgid "reinstall packages" +msgstr "Pripevnené balÃky:" + #: cmdline/apt.cc #, fuzzy msgid "remove packages" diff --git a/po/sl.po b/po/sl.po index a123b88e2c4b3d03334fbda849b5970bd64e6ad1..b9fc0b6b3fe1be735e485298e4581de5417bb3d1 100644 --- a/po/sl.po +++ b/po/sl.po @@ -4,7 +4,7 @@ msgid "" msgstr "" "Project-Id-Version: apt 0.5.5\n" "Report-Msgid-Bugs-To: APT Development Team <deity@lists.debian.org>\n" -"POT-Creation-Date: 2018-12-18 15:02+0100\n" +"POT-Creation-Date: 2019-02-04 15:34+0100\n" "PO-Revision-Date: 2012-06-27 21:29+0000\n" "Last-Translator: Andrej Znidarsic <andrej.znidarsic@gmail.com>\n" "Language-Team: Slovenian <sl@li.org>\n" @@ -404,6 +404,13 @@ msgstr "Ni mogoÄe najti vira za prejem razliÄice '%s' paketa '%s'" msgid "Changelog unavailable for %s=%s" msgstr "Dnevnik sprememb za %s (%s)" +#: apt-pkg/acquire-worker.cc +#, c-format +msgid "" +"The method '%s' is unsupported and disabled by default. Consider switching " +"to http(s). Set Dir::Bin::Methods::%s to \"%s\" to enable it again." +msgstr "" + #: apt-pkg/acquire-worker.cc #, c-format msgid "The method '%s' is explicitly disabled via configuration." @@ -908,12 +915,12 @@ msgstr "Težava med preimenovanje datoteke %s v %s" msgid "Problem syncing the file" msgstr "Težava med usklajevanjem datoteke" -#: apt-pkg/contrib/fileutl.cc cmdline/apt-extracttemplates.cc +#: apt-pkg/contrib/fileutl.cc #, fuzzy, c-format msgid "Unable to mkstemp %s" msgstr "Ni mogoÄe doloÄiti %s" -#: apt-pkg/contrib/fileutl.cc cmdline/apt-extracttemplates.cc +#: apt-pkg/contrib/fileutl.cc #, c-format msgid "Unable to write to %s" msgstr "Ni mogoÄe pisati na %s" @@ -1549,6 +1556,12 @@ msgstr "Neveljaven zapis v datoteki možnosti %s, ni glave paketa" msgid "Did not understand pin type %s" msgstr "Ni mogoÄe razumeti vrste bucike %s" +#: apt-pkg/policy.cc +#, c-format +msgid "" +"%s: The special 'Pin-Priority: %s' can only be used for 'Package: *' records" +msgstr "" + #: apt-pkg/policy.cc #, c-format msgid "%s: Value %s is outside the range of valid pin priorities (%d to %d)" @@ -1975,7 +1988,7 @@ msgstr "" msgid "Abort." msgstr "Prekini." -#: apt-private/private-install.cc +#: apt-private/private-install.cc cmdline/apt-mark.cc msgid "Do you want to continue?" msgstr "Ali želite nadaljevati?" @@ -2549,9 +2562,9 @@ msgstr[3] "" msgid "All packages are up to date." msgstr "" -#: cmdline/apt-cache.cc -#, fuzzy -msgid "apt-cache stats does not take any arguments" +#: cmdline/apt-cache.cc cmdline/apt-mark.cc +#, fuzzy, c-format +msgid "%s does not take any arguments" msgstr "Ukaz update ne sprejema argumentov" #: cmdline/apt-cache.cc @@ -2811,6 +2824,12 @@ msgstr "Izvedix nadgradnjo" msgid "Install new packages (pkg is libc6 not libc6.deb)" msgstr "Namesti nove pakete (paket je libc6, ne libc6.deb)" +#: cmdline/apt-get.cc +#, fuzzy +#| msgid "Install new packages (pkg is libc6 not libc6.deb)" +msgid "Reinstall packages (pkg is libc6 not libc6.deb)" +msgstr "Namesti nove pakete (paket je libc6, ne libc6.deb)" + #: cmdline/apt-get.cc msgid "Remove packages" msgstr "Odstrani pakete" @@ -2969,6 +2988,16 @@ msgstr "paket %s je bil že nastavljen na roÄno nameÅ¡Äen.\n" msgid "%s was already set to automatically installed.\n" msgstr "paket %s je bil že nastavljen kot samodejno nameÅ¡Äen.\n" +#: cmdline/apt-mark.cc +msgid "No changes necessary" +msgstr "" + +#: cmdline/apt-mark.cc +#, fuzzy +#| msgid "The following NEW packages will be installed:" +msgid "The following packages will be marked as automatically installed:" +msgstr "Naslednji NOVI paketi bodo nameÅ¡Äeni:" + #: cmdline/apt-mark.cc #, c-format msgid "%s was already set on hold.\n" @@ -3031,6 +3060,12 @@ msgstr "OznaÄi dane pakete kot samodejno nameÅ¡Äene" msgid "Mark the given packages as manually installed" msgstr "OznaÄi dane pakete kot roÄno nameÅ¡Äene" +#: cmdline/apt-mark.cc +#, fuzzy +#| msgid "Mark the given packages as automatically installed" +msgid "Mark all dependencies of meta packages as automatically installed." +msgstr "OznaÄi dane pakete kot samodejno nameÅ¡Äene" + #: cmdline/apt-mark.cc msgid "Mark a package as held back" msgstr "" @@ -3095,6 +3130,11 @@ msgstr "" msgid "install packages" msgstr "Pripeti paketi:" +#: cmdline/apt.cc +#, fuzzy +msgid "reinstall packages" +msgstr "Pripeti paketi:" + #: cmdline/apt.cc #, fuzzy msgid "remove packages" diff --git a/po/sv.po b/po/sv.po index 4a6733422f61fcafbdfa1c8393278f57656f65d4..8477a244b3a96b55f076016c7ee2ed52d02b02d6 100644 --- a/po/sv.po +++ b/po/sv.po @@ -10,7 +10,7 @@ msgid "" msgstr "" "Project-Id-Version: apt 1.0.5\n" "Report-Msgid-Bugs-To: APT Development Team <deity@lists.debian.org>\n" -"POT-Creation-Date: 2018-12-18 15:02+0100\n" +"POT-Creation-Date: 2019-02-04 15:34+0100\n" "PO-Revision-Date: 2015-08-19 21:33+0200\n" "Last-Translator: Anders Jonsson <anders.jonsson@norsjovallen.se>\n" "Language-Team: Swedish <debian-l10n-swedish@debian.org>\n" @@ -408,6 +408,13 @@ msgstr "Kan inte hitta en källa för att hämta version â€%s†av â€%sâ€" msgid "Changelog unavailable for %s=%s" msgstr "Ändringslogg för %s (%s)" +#: apt-pkg/acquire-worker.cc +#, c-format +msgid "" +"The method '%s' is unsupported and disabled by default. Consider switching " +"to http(s). Set Dir::Bin::Methods::%s to \"%s\" to enable it again." +msgstr "" + #: apt-pkg/acquire-worker.cc #, c-format msgid "The method '%s' is explicitly disabled via configuration." @@ -924,12 +931,12 @@ msgstr "Problem med att byta namn pÃ¥ filen %s till %s" msgid "Problem syncing the file" msgstr "Problem med att synkronisera filen" -#: apt-pkg/contrib/fileutl.cc cmdline/apt-extracttemplates.cc +#: apt-pkg/contrib/fileutl.cc #, c-format msgid "Unable to mkstemp %s" msgstr "Kunde inte anropa mkstemp för %s" -#: apt-pkg/contrib/fileutl.cc cmdline/apt-extracttemplates.cc +#: apt-pkg/contrib/fileutl.cc #, c-format msgid "Unable to write to %s" msgstr "Kunde inte skriva till %s" @@ -1572,6 +1579,12 @@ msgstr "Ogiltig post i konfigurationsfilen %s, â€Packageâ€-rubriken saknas" msgid "Did not understand pin type %s" msgstr "Förstod inte nÃ¥ltypen %s" +#: apt-pkg/policy.cc +#, c-format +msgid "" +"%s: The special 'Pin-Priority: %s' can only be used for 'Package: *' records" +msgstr "" + #: apt-pkg/policy.cc #, c-format msgid "%s: Value %s is outside the range of valid pin priorities (%d to %d)" @@ -2001,7 +2014,7 @@ msgstr "" msgid "Abort." msgstr "Avbryter." -#: apt-private/private-install.cc +#: apt-private/private-install.cc cmdline/apt-mark.cc msgid "Do you want to continue?" msgstr "Vill du fortsätta?" @@ -2563,9 +2576,9 @@ msgstr[1] "" msgid "All packages are up to date." msgstr "Alla paket är uppdaterade." -#: cmdline/apt-cache.cc -#, fuzzy -msgid "apt-cache stats does not take any arguments" +#: cmdline/apt-cache.cc cmdline/apt-mark.cc +#, fuzzy, c-format +msgid "%s does not take any arguments" msgstr "Uppdateringskommandot tar inga argument" #: cmdline/apt-cache.cc @@ -2830,6 +2843,12 @@ msgstr "Genomför en uppgradering" msgid "Install new packages (pkg is libc6 not libc6.deb)" msgstr "Installera nya paket (paket är libc6, inte libc6.deb)" +#: cmdline/apt-get.cc +#, fuzzy +#| msgid "Install new packages (pkg is libc6 not libc6.deb)" +msgid "Reinstall packages (pkg is libc6 not libc6.deb)" +msgstr "Installera nya paket (paket är libc6, inte libc6.deb)" + #: cmdline/apt-get.cc msgid "Remove packages" msgstr "Ta bort paket" @@ -2991,6 +3010,16 @@ msgstr "%s var redan satt till manuellt installerad.\n" msgid "%s was already set to automatically installed.\n" msgstr "%s var redan satt till automatiskt installerad.\n" +#: cmdline/apt-mark.cc +msgid "No changes necessary" +msgstr "" + +#: cmdline/apt-mark.cc +#, fuzzy +#| msgid "The following NEW packages will be installed:" +msgid "The following packages will be marked as automatically installed:" +msgstr "Följande NYA paket kommer att installeras:" + #: cmdline/apt-mark.cc #, c-format msgid "%s was already set on hold.\n" @@ -3054,6 +3083,12 @@ msgstr "Markera de angivna paketen som automatiskt installerade" msgid "Mark the given packages as manually installed" msgstr "Markera de angivna paketen som manuellt installerade" +#: cmdline/apt-mark.cc +#, fuzzy +#| msgid "Mark the given packages as automatically installed" +msgid "Mark all dependencies of meta packages as automatically installed." +msgstr "Markera de angivna paketen som automatiskt installerade" + #: cmdline/apt-mark.cc msgid "Mark a package as held back" msgstr "Markera ett paket som tillbakahÃ¥llet" @@ -3116,6 +3151,12 @@ msgstr "visa detaljer för paket" msgid "install packages" msgstr "installera paket" +#: cmdline/apt.cc +#, fuzzy +#| msgid "install packages" +msgid "reinstall packages" +msgstr "installera paket" + #: cmdline/apt.cc msgid "remove packages" msgstr "ta bort paket" diff --git a/po/th.po b/po/th.po index ce2833724461c2ae88c785adfca845d11de48d8e..c131023c15dc2829afc60f812892ce3bd0b4754b 100644 --- a/po/th.po +++ b/po/th.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: apt 1.0.5\n" "Report-Msgid-Bugs-To: APT Development Team <deity@lists.debian.org>\n" -"POT-Creation-Date: 2018-12-18 15:02+0100\n" +"POT-Creation-Date: 2019-02-04 15:34+0100\n" "PO-Revision-Date: 2014-12-12 13:00+0700\n" "Last-Translator: Theppitak Karoonboonyanan <thep@debian.org>\n" "Language-Team: Thai <thai-l10n@googlegroups.com>\n" @@ -401,6 +401,13 @@ msgstr "ไม่พบà¹à¸«à¸¥à¹ˆà¸‡à¸—ี่จะดาวน์โหลด msgid "Changelog unavailable for %s=%s" msgstr "ปูมà¸à¸²à¸£à¹à¸à¹‰à¹„ขสำหรับ %s (%s)" +#: apt-pkg/acquire-worker.cc +#, c-format +msgid "" +"The method '%s' is unsupported and disabled by default. Consider switching " +"to http(s). Set Dir::Bin::Methods::%s to \"%s\" to enable it again." +msgstr "" + #: apt-pkg/acquire-worker.cc #, c-format msgid "The method '%s' is explicitly disabled via configuration." @@ -897,12 +904,12 @@ msgstr "เà¸à¸´à¸”ปัà¸à¸«à¸²à¸‚ณะเปลี่ยนชื่à¸à¹ msgid "Problem syncing the file" msgstr "เà¸à¸´à¸”ปัà¸à¸«à¸²à¸‚ณะ sync à¹à¸Ÿà¹‰à¸¡" -#: apt-pkg/contrib/fileutl.cc cmdline/apt-extracttemplates.cc +#: apt-pkg/contrib/fileutl.cc #, c-format msgid "Unable to mkstemp %s" msgstr "ไม่สามารถ mkstemp %s" -#: apt-pkg/contrib/fileutl.cc cmdline/apt-extracttemplates.cc +#: apt-pkg/contrib/fileutl.cc #, c-format msgid "Unable to write to %s" msgstr "ไม่สามารถเขียนลงà¹à¸Ÿà¹‰à¸¡ %s" @@ -1523,6 +1530,12 @@ msgstr "ระเบียนผิดรูปà¹à¸šà¸šà¹ƒà¸™à¹à¸Ÿà¹‰à¸¡à¸„่ msgid "Did not understand pin type %s" msgstr "ไม่เข้าใจชนิดà¸à¸²à¸£à¸•รึง %s" +#: apt-pkg/policy.cc +#, c-format +msgid "" +"%s: The special 'Pin-Priority: %s' can only be used for 'Package: *' records" +msgstr "" + #: apt-pkg/policy.cc #, c-format msgid "%s: Value %s is outside the range of valid pin priorities (%d to %d)" @@ -1941,7 +1954,7 @@ msgstr "" msgid "Abort." msgstr "เลิà¸à¸—ำ" -#: apt-private/private-install.cc +#: apt-private/private-install.cc cmdline/apt-mark.cc msgid "Do you want to continue?" msgstr "คุณต้à¸à¸‡à¸à¸²à¸£à¸ˆà¸°à¸”ำเนินà¸à¸²à¸£à¸•่à¸à¹„ปหรืà¸à¹„ม่?" @@ -2478,9 +2491,9 @@ msgstr[0] "" msgid "All packages are up to date." msgstr "ปรับรุ่นทุà¸à¹à¸žà¸à¹€à¸à¸ˆà¹€à¸›à¹‡à¸™à¸£à¸¸à¹ˆà¸™à¸¥à¹ˆà¸²à¸ªà¸¸à¸”à¹à¸¥à¹‰à¸§" -#: cmdline/apt-cache.cc -#, fuzzy -msgid "apt-cache stats does not take any arguments" +#: cmdline/apt-cache.cc cmdline/apt-mark.cc +#, fuzzy, c-format +msgid "%s does not take any arguments" msgstr "คำสั่ง update ไม่รับà¸à¸²à¸£à¹Œà¸à¸´à¸§à¹€à¸¡à¸™à¸•์เพิ่ม" #: cmdline/apt-cache.cc @@ -2741,6 +2754,12 @@ msgstr "ปรับรุ่นà¹à¸žà¸à¹€à¸à¸ˆà¸•่างๆ ขึ้น" msgid "Install new packages (pkg is libc6 not libc6.deb)" msgstr "ติดตั้งà¹à¸žà¸à¹€à¸à¸ˆà¹ƒà¸«à¸¡à¹ˆ (pkg à¸à¸¢à¸¹à¹ˆà¹ƒà¸™à¸£à¸¹à¸›à¹€à¸Šà¹ˆà¸™ libc6 ไม่ใช่ libc6.deb)" +#: cmdline/apt-get.cc +#, fuzzy +#| msgid "Install new packages (pkg is libc6 not libc6.deb)" +msgid "Reinstall packages (pkg is libc6 not libc6.deb)" +msgstr "ติดตั้งà¹à¸žà¸à¹€à¸à¸ˆà¹ƒà¸«à¸¡à¹ˆ (pkg à¸à¸¢à¸¹à¹ˆà¹ƒà¸™à¸£à¸¹à¸›à¹€à¸Šà¹ˆà¸™ libc6 ไม่ใช่ libc6.deb)" + #: cmdline/apt-get.cc msgid "Remove packages" msgstr "ถà¸à¸”ถà¸à¸™à¹à¸žà¸à¹€à¸à¸ˆ" @@ -2902,6 +2921,16 @@ msgstr "%s ถูà¸à¸à¸³à¸«à¸™à¸”ให้เป็นà¸à¸²à¸£à¸•ิดตั msgid "%s was already set to automatically installed.\n" msgstr "%s ถูà¸à¸à¸³à¸«à¸™à¸”ให้เป็นà¸à¸²à¸£à¸•ิดตั้งà¹à¸šà¸šà¸à¸±à¸•โนมัติà¸à¸¢à¸¹à¹ˆà¸à¹ˆà¸à¸™à¹à¸¥à¹‰à¸§\n" +#: cmdline/apt-mark.cc +msgid "No changes necessary" +msgstr "" + +#: cmdline/apt-mark.cc +#, fuzzy +#| msgid "The following NEW packages will be installed:" +msgid "The following packages will be marked as automatically installed:" +msgstr "จะติดตั้งà¹à¸žà¸à¹€à¸à¸ˆ *ใหม่* ต่à¸à¹„ปนี้:" + #: cmdline/apt-mark.cc #, c-format msgid "%s was already set on hold.\n" @@ -2964,6 +2993,12 @@ msgstr "ทำเครื่à¸à¸‡à¸«à¸¡à¸²à¸¢à¹à¸žà¸à¹€à¸à¸ˆà¸—ี่à¸à¸³ msgid "Mark the given packages as manually installed" msgstr "ทำเครื่à¸à¸‡à¸«à¸¡à¸²à¸¢à¹à¸žà¸à¹€à¸à¸ˆà¸—ี่à¸à¸³à¸«à¸™à¸”ให้เป็นà¸à¸²à¸£à¸•ิดตั้งà¹à¸šà¸šà¹€à¸¥à¸·à¸à¸à¹€à¸à¸‡" +#: cmdline/apt-mark.cc +#, fuzzy +#| msgid "Mark the given packages as automatically installed" +msgid "Mark all dependencies of meta packages as automatically installed." +msgstr "ทำเครื่à¸à¸‡à¸«à¸¡à¸²à¸¢à¹à¸žà¸à¹€à¸à¸ˆà¸—ี่à¸à¸³à¸«à¸™à¸”ให้เป็นà¸à¸²à¸£à¸•ิดตั้งà¹à¸šà¸šà¸à¸±à¸•โนมัติ" + #: cmdline/apt-mark.cc msgid "Mark a package as held back" msgstr "ทำเครื่à¸à¸‡à¸«à¸¡à¸²à¸¢à¹à¸žà¸à¹€à¸à¸ˆà¸—ี่à¸à¸³à¸«à¸™à¸”ให้เป็นà¸à¸²à¸£à¸„งรุ่น" @@ -3026,6 +3061,12 @@ msgstr "à¹à¸ªà¸”งรายละเà¸à¸µà¸¢à¸”ขà¸à¸‡à¹à¸žà¸à¹€à¸à¸ˆ" msgid "install packages" msgstr "ติดตั้งà¹à¸žà¸à¹€à¸à¸ˆ" +#: cmdline/apt.cc +#, fuzzy +#| msgid "install packages" +msgid "reinstall packages" +msgstr "ติดตั้งà¹à¸žà¸à¹€à¸à¸ˆ" + #: cmdline/apt.cc msgid "remove packages" msgstr "ถà¸à¸”ถà¸à¸™à¹à¸žà¸à¹€à¸à¸ˆ" diff --git a/po/tl.po b/po/tl.po index 95e7fc1d655f61f8ff89670570d97d550c3f4c10..b719b9d5f4b7f4a7b741f2f045b09f0b09d358e4 100644 --- a/po/tl.po +++ b/po/tl.po @@ -10,7 +10,7 @@ msgid "" msgstr "" "Project-Id-Version: apt 1.0.5\n" "Report-Msgid-Bugs-To: APT Development Team <deity@lists.debian.org>\n" -"POT-Creation-Date: 2018-12-18 15:02+0100\n" +"POT-Creation-Date: 2019-02-04 15:34+0100\n" "PO-Revision-Date: 2007-03-29 21:36+0800\n" "Last-Translator: Eric Pareja <xenos@upm.edu.ph>\n" "Language-Team: Tagalog <debian-tl@banwa.upm.edu.ph>\n" @@ -396,6 +396,13 @@ msgstr "" msgid "Changelog unavailable for %s=%s" msgstr "Kumokonekta sa %s (%s)" +#: apt-pkg/acquire-worker.cc +#, c-format +msgid "" +"The method '%s' is unsupported and disabled by default. Consider switching " +"to http(s). Set Dir::Bin::Methods::%s to \"%s\" to enable it again." +msgstr "" + #: apt-pkg/acquire-worker.cc #, c-format msgid "The method '%s' is explicitly disabled via configuration." @@ -905,12 +912,12 @@ msgstr "Problema sa pag-sync ng talaksan" msgid "Problem syncing the file" msgstr "Problema sa pag-sync ng talaksan" -#: apt-pkg/contrib/fileutl.cc cmdline/apt-extracttemplates.cc +#: apt-pkg/contrib/fileutl.cc #, fuzzy, c-format msgid "Unable to mkstemp %s" msgstr "Hindi ma-stat ang %s" -#: apt-pkg/contrib/fileutl.cc cmdline/apt-extracttemplates.cc +#: apt-pkg/contrib/fileutl.cc #, c-format msgid "Unable to write to %s" msgstr "Hindi makapagsulat sa %s" @@ -1524,6 +1531,12 @@ msgstr "Di tanggap na record sa talaksang pagtatangi, walang Package header" msgid "Did not understand pin type %s" msgstr "Hindi naintindihan ang uri ng pin %s" +#: apt-pkg/policy.cc +#, c-format +msgid "" +"%s: The special 'Pin-Priority: %s' can only be used for 'Package: *' records" +msgstr "" + #: apt-pkg/policy.cc #, c-format msgid "%s: Value %s is outside the range of valid pin priorities (%d to %d)" @@ -1956,7 +1969,7 @@ msgstr "" msgid "Abort." msgstr "Abort." -#: apt-private/private-install.cc +#: apt-private/private-install.cc cmdline/apt-mark.cc msgid "Do you want to continue?" msgstr "Nais niyo bang magpatuloy?" @@ -2493,9 +2506,9 @@ msgstr[1] "" msgid "All packages are up to date." msgstr "" -#: cmdline/apt-cache.cc -#, fuzzy -msgid "apt-cache stats does not take any arguments" +#: cmdline/apt-cache.cc cmdline/apt-mark.cc +#, fuzzy, c-format +msgid "%s does not take any arguments" msgstr "Ang utos na update ay hindi tumatanggap ng mga argumento" #: cmdline/apt-cache.cc @@ -2759,6 +2772,12 @@ msgstr "Gumawa ng upgrade" msgid "Install new packages (pkg is libc6 not libc6.deb)" msgstr "Mag-instol ng bagong mga pakete (pkt ay libc6 hindi libc6.deb)" +#: cmdline/apt-get.cc +#, fuzzy +#| msgid "Install new packages (pkg is libc6 not libc6.deb)" +msgid "Reinstall packages (pkg is libc6 not libc6.deb)" +msgstr "Mag-instol ng bagong mga pakete (pkt ay libc6 hindi libc6.deb)" + #: cmdline/apt-get.cc msgid "Remove packages" msgstr "Mag-tanggal ng mga pakete" @@ -2914,6 +2933,16 @@ msgstr "ngunit ang %s ay iluluklok" msgid "%s was already set to automatically installed.\n" msgstr "ngunit ang %s ay iluluklok" +#: cmdline/apt-mark.cc +msgid "No changes necessary" +msgstr "" + +#: cmdline/apt-mark.cc +#, fuzzy +#| msgid "The following NEW packages will be installed:" +msgid "The following packages will be marked as automatically installed:" +msgstr "Ang sumusunod na mga paketeng BAGO ay iluluklok:" + #: cmdline/apt-mark.cc #, fuzzy, c-format msgid "%s was already set on hold.\n" @@ -2971,6 +3000,11 @@ msgstr "" msgid "Mark the given packages as manually installed" msgstr "" +#: cmdline/apt-mark.cc +#, fuzzy +msgid "Mark all dependencies of meta packages as automatically installed." +msgstr "ngunit ang %s ay iluluklok" + #: cmdline/apt-mark.cc msgid "Mark a package as held back" msgstr "" @@ -3035,6 +3069,11 @@ msgstr "" msgid "install packages" msgstr "Mga naka-Pin na Pakete:" +#: cmdline/apt.cc +#, fuzzy +msgid "reinstall packages" +msgstr "Mga naka-Pin na Pakete:" + #: cmdline/apt.cc #, fuzzy msgid "remove packages" diff --git a/po/tr.po b/po/tr.po index fc7a56710e945c00290800841d7ad6737124f829..6714c52f9211a8d373648870f76d70ae05a39eb2 100644 --- a/po/tr.po +++ b/po/tr.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: apt 1.0.5\n" "Report-Msgid-Bugs-To: APT Development Team <deity@lists.debian.org>\n" -"POT-Creation-Date: 2018-12-18 15:02+0100\n" +"POT-Creation-Date: 2019-02-04 15:34+0100\n" "PO-Revision-Date: 2018-01-03 16:32+0300\n" "Last-Translator: Mert Dirik <mertdirik@gmail.com>\n" "Language-Team: Debian l10n Turkish <debian-l10n-turkish@lists.debian.org>\n" @@ -431,6 +431,13 @@ msgstr "'%2$s' paketinin '%1$s' sürümü hiçbir kaynakta bulunamadı" msgid "Changelog unavailable for %s=%s" msgstr "%s=%s için deÄŸiÅŸim günlüğü mevcut deÄŸil" +#: apt-pkg/acquire-worker.cc +#, c-format +msgid "" +"The method '%s' is unsupported and disabled by default. Consider switching " +"to http(s). Set Dir::Bin::Methods::%s to \"%s\" to enable it again." +msgstr "" + #: apt-pkg/acquire-worker.cc #, c-format msgid "The method '%s' is explicitly disabled via configuration." @@ -948,12 +955,12 @@ msgstr "%s dosyası %s olarak yeniden adlandırılamadı" msgid "Problem syncing the file" msgstr "Dosya eÅŸitlenirken sorun çıktı" -#: apt-pkg/contrib/fileutl.cc cmdline/apt-extracttemplates.cc +#: apt-pkg/contrib/fileutl.cc #, c-format msgid "Unable to mkstemp %s" msgstr "mkstemp %s baÅŸarısız oldu" -#: apt-pkg/contrib/fileutl.cc cmdline/apt-extracttemplates.cc +#: apt-pkg/contrib/fileutl.cc #, c-format msgid "Unable to write to %s" msgstr "%s dosyasına yazılamıyor" @@ -1589,6 +1596,12 @@ msgstr "%s tercihler dosyasında geçersiz kayıt, Paket baÅŸlığı yok" msgid "Did not understand pin type %s" msgstr "İğne türü %s anlaşılamadı" +#: apt-pkg/policy.cc +#, c-format +msgid "" +"%s: The special 'Pin-Priority: %s' can only be used for 'Package: *' records" +msgstr "" + #: apt-pkg/policy.cc #, c-format msgid "%s: Value %s is outside the range of valid pin priorities (%d to %d)" @@ -2034,7 +2047,7 @@ msgstr "" msgid "Abort." msgstr "Vazgeç." -#: apt-private/private-install.cc +#: apt-private/private-install.cc cmdline/apt-mark.cc msgid "Do you want to continue?" msgstr "Devam etmek istiyor musunuz?" @@ -2597,9 +2610,10 @@ msgstr[1] "" msgid "All packages are up to date." msgstr "Tüm paketler güncel." -#: cmdline/apt-cache.cc -msgid "apt-cache stats does not take any arguments" -msgstr "apt-cache stats komutu argüman almaz" +#: cmdline/apt-cache.cc cmdline/apt-mark.cc +#, c-format +msgid "%s does not take any arguments" +msgstr "%s komutu argüman almaz" #: cmdline/apt-cache.cc msgid "Total package names: " @@ -2876,6 +2890,12 @@ msgstr "Yükseltme iÅŸlemini gerçekleÅŸtir" msgid "Install new packages (pkg is libc6 not libc6.deb)" msgstr "Yeni paket kur (paket libc6.deb deÄŸil libc6 ÅŸeklinde olmalıdır)" +#: cmdline/apt-get.cc +#, fuzzy +#| msgid "Install new packages (pkg is libc6 not libc6.deb)" +msgid "Reinstall packages (pkg is libc6 not libc6.deb)" +msgstr "Yeni paket kur (paket libc6.deb deÄŸil libc6 ÅŸeklinde olmalıdır)" + #: cmdline/apt-get.cc msgid "Remove packages" msgstr "Paket(leri) kaldır" @@ -3023,6 +3043,16 @@ msgstr "%s zaten elle kurulmuÅŸ olarak ayarlı.\n" msgid "%s was already set to automatically installed.\n" msgstr "%s zaten otomatik kurulmuÅŸ olarak ayarlı.\n" +#: cmdline/apt-mark.cc +msgid "No changes necessary" +msgstr "" + +#: cmdline/apt-mark.cc +#, fuzzy +#| msgid "The following NEW packages will be installed:" +msgid "The following packages will be marked as automatically installed:" +msgstr "AÅŸağıdaki YENİ paketler kurulacak:" + #: cmdline/apt-mark.cc #, c-format msgid "%s was already set on hold.\n" @@ -3087,6 +3117,12 @@ msgstr "Belirtilen paketleri otomatik kurulmuÅŸ olarak iÅŸaretle" msgid "Mark the given packages as manually installed" msgstr "Belirtilen paketleri elle kurulmuÅŸ olarak iÅŸaretle" +#: cmdline/apt-mark.cc +#, fuzzy +#| msgid "Mark the given packages as automatically installed" +msgid "Mark all dependencies of meta packages as automatically installed." +msgstr "Belirtilen paketleri otomatik kurulmuÅŸ olarak iÅŸaretle" + #: cmdline/apt-mark.cc msgid "Mark a package as held back" msgstr "Paketi tutulacak ÅŸekilde iÅŸaretle" @@ -3160,6 +3196,12 @@ msgstr "Paket ayrıntılarını görüntüle" msgid "install packages" msgstr "paket kur" +#: cmdline/apt.cc +#, fuzzy +#| msgid "install packages" +msgid "reinstall packages" +msgstr "paket kur" + #: cmdline/apt.cc msgid "remove packages" msgstr "paket kaldır" diff --git a/po/uk.po b/po/uk.po index 798b3bd92832d0422c791893be5d559835101421..9814c6e2fe33a25e1f7b530f9c1a62c1219f7d06 100644 --- a/po/uk.po +++ b/po/uk.po @@ -12,7 +12,7 @@ msgid "" msgstr "" "Project-Id-Version: apt 1.0.5\n" "Report-Msgid-Bugs-To: APT Development Team <deity@lists.debian.org>\n" -"POT-Creation-Date: 2018-12-18 15:02+0100\n" +"POT-Creation-Date: 2019-02-04 15:34+0100\n" "PO-Revision-Date: 2012-09-25 20:19+0300\n" "Last-Translator: A. Bondarenko <artem.brz@gmail.com>\n" "Language-Team: УкраїнÑька <uk@li.org>\n" @@ -412,6 +412,13 @@ msgstr "Ðеможливо знайти джерело Ð´Ð»Ñ Ð·Ð°Ð²Ð°Ð½Ñ‚Ð°Ð¶Ðµ msgid "Changelog unavailable for %s=%s" msgstr "Журнал змін Ð´Ð»Ñ %s (%s)" +#: apt-pkg/acquire-worker.cc +#, c-format +msgid "" +"The method '%s' is unsupported and disabled by default. Consider switching " +"to http(s). Set Dir::Bin::Methods::%s to \"%s\" to enable it again." +msgstr "" + #: apt-pkg/acquire-worker.cc #, c-format msgid "The method '%s' is explicitly disabled via configuration." @@ -927,12 +934,12 @@ msgstr "Проблема з перейменуваннÑм файла %s на %s msgid "Problem syncing the file" msgstr "Проблема з Ñинхронізацією файла" -#: apt-pkg/contrib/fileutl.cc cmdline/apt-extracttemplates.cc +#: apt-pkg/contrib/fileutl.cc #, fuzzy, c-format msgid "Unable to mkstemp %s" msgstr "Ðеможливо прочитати атрибути %s" -#: apt-pkg/contrib/fileutl.cc cmdline/apt-extracttemplates.cc +#: apt-pkg/contrib/fileutl.cc #, c-format msgid "Unable to write to %s" msgstr "Ðеможливо запиÑати в %s" @@ -1582,6 +1589,12 @@ msgstr "Ðевірний Ð·Ð°Ð¿Ð¸Ñ Ñƒ файлі налаштувань %s, в msgid "Did not understand pin type %s" msgstr "Ðе зрозумів тип %s Ð´Ð»Ñ Ñ„Ñ–ÐºÑатора пакунків (pin)" +#: apt-pkg/policy.cc +#, c-format +msgid "" +"%s: The special 'Pin-Priority: %s' can only be used for 'Package: *' records" +msgstr "" + #: apt-pkg/policy.cc #, c-format msgid "%s: Value %s is outside the range of valid pin priorities (%d to %d)" @@ -2013,7 +2026,7 @@ msgstr "" msgid "Abort." msgstr "Перервано." -#: apt-private/private-install.cc +#: apt-private/private-install.cc cmdline/apt-mark.cc msgid "Do you want to continue?" msgstr "Бажаєте продовжити?" @@ -2581,9 +2594,9 @@ msgstr[2] "" msgid "All packages are up to date." msgstr "" -#: cmdline/apt-cache.cc -#, fuzzy -msgid "apt-cache stats does not take any arguments" +#: cmdline/apt-cache.cc cmdline/apt-mark.cc +#, fuzzy, c-format +msgid "%s does not take any arguments" msgstr "Команді update не потрібні аргументи" #: cmdline/apt-cache.cc @@ -2847,6 +2860,13 @@ msgid "Install new packages (pkg is libc6 not libc6.deb)" msgstr "" "вÑтановити нові пакунки (назва пакунка вказуєтьÑÑ Ñк libc6, а не libc6.deb)" +#: cmdline/apt-get.cc +#, fuzzy +#| msgid "Install new packages (pkg is libc6 not libc6.deb)" +msgid "Reinstall packages (pkg is libc6 not libc6.deb)" +msgstr "" +"вÑтановити нові пакунки (назва пакунка вказуєтьÑÑ Ñк libc6, а не libc6.deb)" + #: cmdline/apt-get.cc msgid "Remove packages" msgstr "видалити пакунки" @@ -3009,6 +3029,16 @@ msgstr "%s вже був позначений, Ñк вÑтановлений в msgid "%s was already set to automatically installed.\n" msgstr "%s вже був позначений, Ñк автоматично вÑтановлений.\n" +#: cmdline/apt-mark.cc +msgid "No changes necessary" +msgstr "" + +#: cmdline/apt-mark.cc +#, fuzzy +#| msgid "The following NEW packages will be installed:" +msgid "The following packages will be marked as automatically installed:" +msgstr "ÐОВІ пакунки, Ñкі будуть вÑтановлені:" + #: cmdline/apt-mark.cc #, c-format msgid "%s was already set on hold.\n" @@ -3072,6 +3102,12 @@ msgstr "позначити вказані пакунки Ñк автоматич msgid "Mark the given packages as manually installed" msgstr "позначити вказані пакунки Ñк вÑтановлені вручну" +#: cmdline/apt-mark.cc +#, fuzzy +#| msgid "Mark the given packages as automatically installed" +msgid "Mark all dependencies of meta packages as automatically installed." +msgstr "позначити вказані пакунки Ñк автоматично вÑтановлені" + #: cmdline/apt-mark.cc msgid "Mark a package as held back" msgstr "" @@ -3136,6 +3172,11 @@ msgstr "" msgid "install packages" msgstr "ЗафікÑовані пакунки:" +#: cmdline/apt.cc +#, fuzzy +msgid "reinstall packages" +msgstr "ЗафікÑовані пакунки:" + #: cmdline/apt.cc #, fuzzy msgid "remove packages" diff --git a/po/vi.po b/po/vi.po index f76755e16858345e1092e9a26e29e1e08e90932a..38fc6ff70fc8cd0b7444673fba16bdc95245338f 100644 --- a/po/vi.po +++ b/po/vi.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: apt 1.0.8\n" "Report-Msgid-Bugs-To: APT Development Team <deity@lists.debian.org>\n" -"POT-Creation-Date: 2018-12-18 15:02+0100\n" +"POT-Creation-Date: 2019-02-04 15:34+0100\n" "PO-Revision-Date: 2014-09-12 13:48+0700\n" "Last-Translator: Trần Ngá»c Quân <vnwildman@gmail.com>\n" "Language-Team: Vietnamese <translation-team-vi@lists.sourceforge.net>\n" @@ -408,6 +408,13 @@ msgstr "Không tìm thấy nguồn cho việc tải vá» phiên bản “%s†o msgid "Changelog unavailable for %s=%s" msgstr "Changelog cho %s (%s)" +#: apt-pkg/acquire-worker.cc +#, c-format +msgid "" +"The method '%s' is unsupported and disabled by default. Consider switching " +"to http(s). Set Dir::Bin::Methods::%s to \"%s\" to enable it again." +msgstr "" + #: apt-pkg/acquire-worker.cc #, c-format msgid "The method '%s' is explicitly disabled via configuration." @@ -916,12 +923,12 @@ msgstr "Gặp vấn đỠkhi đổi tên táºp tin %s thà nh %s" msgid "Problem syncing the file" msgstr "Gặp vấn đỠkhi đồng bá»™ hóa táºp tin" -#: apt-pkg/contrib/fileutl.cc cmdline/apt-extracttemplates.cc +#: apt-pkg/contrib/fileutl.cc #, c-format msgid "Unable to mkstemp %s" msgstr "Không thể tạo táºp tin tạm (hà m mkstemp) %s" -#: apt-pkg/contrib/fileutl.cc cmdline/apt-extracttemplates.cc +#: apt-pkg/contrib/fileutl.cc #, c-format msgid "Unable to write to %s" msgstr "Không thể ghi và o %s" @@ -1563,6 +1570,12 @@ msgstr "" msgid "Did not understand pin type %s" msgstr "Không hiểu kiểu ghim %s" +#: apt-pkg/policy.cc +#, c-format +msgid "" +"%s: The special 'Pin-Priority: %s' can only be used for 'Package: *' records" +msgstr "" + #: apt-pkg/policy.cc #, c-format msgid "%s: Value %s is outside the range of valid pin priorities (%d to %d)" @@ -1991,7 +2004,7 @@ msgstr "" msgid "Abort." msgstr "Há»§y bá»." -#: apt-private/private-install.cc +#: apt-private/private-install.cc cmdline/apt-mark.cc msgid "Do you want to continue?" msgstr "Bạn có muốn tiếp tục không?" @@ -2535,9 +2548,9 @@ msgstr[0] "" msgid "All packages are up to date." msgstr "Má»i gói đã được cáºp nháºt." -#: cmdline/apt-cache.cc -#, fuzzy -msgid "apt-cache stats does not take any arguments" +#: cmdline/apt-cache.cc cmdline/apt-mark.cc +#, fuzzy, c-format +msgid "%s does not take any arguments" msgstr "Lệnh cáºp nháºt không chấp nháºn đối số" #: cmdline/apt-cache.cc @@ -2815,6 +2828,12 @@ msgstr "Nâng cấp lên phiên bản má»›i hÆ¡n" msgid "Install new packages (pkg is libc6 not libc6.deb)" msgstr "Cà i đặt gói má»›i (gói có dạng libc6 không phải libc6.deb)" +#: cmdline/apt-get.cc +#, fuzzy +#| msgid "Install new packages (pkg is libc6 not libc6.deb)" +msgid "Reinstall packages (pkg is libc6 not libc6.deb)" +msgstr "Cà i đặt gói má»›i (gói có dạng libc6 không phải libc6.deb)" + #: cmdline/apt-get.cc msgid "Remove packages" msgstr "Gỡ bá» gói phần má»m" @@ -2976,6 +2995,16 @@ msgstr "%s được đặt thà nh được cà i đặt bằng tay.\n" msgid "%s was already set to automatically installed.\n" msgstr "%s đã sẵn được đặt thà nh cà i đặt tá»± động rồi.\n" +#: cmdline/apt-mark.cc +msgid "No changes necessary" +msgstr "" + +#: cmdline/apt-mark.cc +#, fuzzy +#| msgid "The following NEW packages will be installed:" +msgid "The following packages will be marked as automatically installed:" +msgstr "Những gói MỚI sau sẽ được CÀI ÄẶT:" + #: cmdline/apt-mark.cc #, c-format msgid "%s was already set on hold.\n" @@ -3041,6 +3070,12 @@ msgstr "Äánh dấu các gói đưa ra là được cà i đặt tá»± động" msgid "Mark the given packages as manually installed" msgstr "Äánh dấu các gói đưa ra là được cà i đặt bằng tay" +#: cmdline/apt-mark.cc +#, fuzzy +#| msgid "Mark the given packages as automatically installed" +msgid "Mark all dependencies of meta packages as automatically installed." +msgstr "Äánh dấu các gói đưa ra là được cà i đặt tá»± động" + #: cmdline/apt-mark.cc msgid "Mark a package as held back" msgstr "Äánh dấu má»™t gói là giữ lại" @@ -3103,6 +3138,12 @@ msgstr "hiển thị thông tin chi tiết vá» gói" msgid "install packages" msgstr "cà i đặt các gói" +#: cmdline/apt.cc +#, fuzzy +#| msgid "install packages" +msgid "reinstall packages" +msgstr "cà i đặt các gói" + #: cmdline/apt.cc msgid "remove packages" msgstr "gỡ bá» các gói" diff --git a/po/zh_CN.po b/po/zh_CN.po index e40abfac2a42414d43fc53ef1b5670c7a03c280c..f7800af8ac2b5f27a0a3564bf2d3275cc17fc3f4 100644 --- a/po/zh_CN.po +++ b/po/zh_CN.po @@ -4,15 +4,15 @@ # Tchaikov <tchaikov@sjtu.org>, 2005, 2007. # Carlos Z.F. Liu <carlosliu@users.sourceforge.net>, 2004, 2006. # Aron Xu <happyaron.xu@gmail.com>, 2009, 2010. -# Mo Zhou <cdluminate@gmail.com>, 2014, 2015, 2016, 2017. +# Mo Zhou <cdluminate@gmail.com>, 2014, 2015, 2016, 2017, 2019. # Boyuan Yang <073plan@gmail.com>, 2018. # msgid "" msgstr "" "Project-Id-Version: apt 1.7.x\n" "Report-Msgid-Bugs-To: APT Development Team <deity@lists.debian.org>\n" -"POT-Creation-Date: 2018-12-18 15:02+0100\n" -"PO-Revision-Date: 2018-07-13 18:16+0800\n" +"POT-Creation-Date: 2019-02-04 15:34+0100\n" +"PO-Revision-Date: 2019-01-12 00:00+0000\n" "Last-Translator: Mo Zhou <cdluminate@gmail.com>\n" "Language-Team: Chinese (simplified) <debian-l10n-chinese@lists.debian.org>\n" "Language: zh_CN\n" @@ -405,6 +405,13 @@ msgstr "没有æºå¯ä»¥ç”¨æ¥ä¸‹è½½ %s 版本的 %s" msgid "Changelog unavailable for %s=%s" msgstr "%s=%s çš„ Changelog ä¸å¯ç”¨" +#: apt-pkg/acquire-worker.cc +#, c-format +msgid "" +"The method '%s' is unsupported and disabled by default. Consider switching " +"to http(s). Set Dir::Bin::Methods::%s to \"%s\" to enable it again." +msgstr "" + #: apt-pkg/acquire-worker.cc #, c-format msgid "The method '%s' is explicitly disabled via configuration." @@ -904,12 +911,12 @@ msgstr "é‡å‘½å文件 %s 为 %s 出错" msgid "Problem syncing the file" msgstr "åŒæ¥æ–‡ä»¶å‡ºé”™" -#: apt-pkg/contrib/fileutl.cc cmdline/apt-extracttemplates.cc +#: apt-pkg/contrib/fileutl.cc #, c-format msgid "Unable to mkstemp %s" msgstr "æ— æ³•å»ºç«‹ä¸´æ—¶æ–‡ä»¶(mkstemp) %s " -#: apt-pkg/contrib/fileutl.cc cmdline/apt-extracttemplates.cc +#: apt-pkg/contrib/fileutl.cc #, c-format msgid "Unable to write to %s" msgstr "æ— æ³•å†™å…¥ %s" @@ -1080,19 +1087,15 @@ msgid "Unable to parse package file %s (%d)" msgstr "æ— æ³•è§£æžè½¯ä»¶åŒ…文件 %s (%d)" #: apt-pkg/deb/debsystem.cc -#, fuzzy, c-format -#| msgid "" -#| "Unable to lock the administration directory (%s), is another process " -#| "using it?" +#, c-format msgid "" "Unable to acquire the dpkg frontend lock (%s), is another process using it?" -msgstr "æ— æ³•é”定管ç†ç›®å½•(%s)ï¼Œæ˜¯å¦æœ‰å…¶ä»–进程æ£å 用它?" +msgstr "æ— æ³•èŽ·å– dpkg å‰ç«¯é” (%s)ï¼Œæ˜¯å¦æœ‰å…¶ä»–进程æ£å 用它?" #: apt-pkg/deb/debsystem.cc -#, fuzzy, c-format -#| msgid "Unable to lock the administration directory (%s), are you root?" +#, c-format msgid "Unable to acquire the dpkg frontend lock (%s), are you root?" -msgstr "æ— æ³•å¯¹çŠ¶æ€åˆ—è¡¨ç›®å½•åŠ é”(%s)ï¼Œè¯·æŸ¥çœ‹æ‚¨æ˜¯å¦æ£ä»¥ root 用户è¿è¡Œï¼Ÿ" +msgstr "æ— æ³•èŽ·å– dpkg å‰ç«¯é” (%s)ï¼Œè¯·æŸ¥çœ‹æ‚¨æ˜¯å¦æ£ä»¥ root 用户è¿è¡Œï¼Ÿ" #. TRANSLATORS: the %s contains the recovery command, usually #. dpkg --configure -a @@ -1522,6 +1525,12 @@ msgstr "首选项文件 %s ä¸å‘çŽ°æœ‰æ— æ•ˆçš„è®°å½•ï¼Œæ— Package å—æ®µå¤´" msgid "Did not understand pin type %s" msgstr "æ— æ³•è¯†åˆ«é”定的类型 %s" +#: apt-pkg/policy.cc +#, c-format +msgid "" +"%s: The special 'Pin-Priority: %s' can only be used for 'Package: *' records" +msgstr "" + #: apt-pkg/policy.cc #, c-format msgid "%s: Value %s is outside the range of valid pin priorities (%d to %d)" @@ -1945,7 +1954,7 @@ msgstr "" msgid "Abort." msgstr "䏿¢ã€‚" -#: apt-private/private-install.cc +#: apt-private/private-install.cc cmdline/apt-mark.cc msgid "Do you want to continue?" msgstr "æ‚¨å¸Œæœ›ç»§ç»æ‰§è¡Œå—?" @@ -2444,10 +2453,9 @@ msgid "Failed to parse %s. Edit again? " msgstr "è§£æž %s å¤±è´¥ã€‚è¯·é‡æ–°ç¼–辑之åŽå†è¯•。" #: apt-private/private-sources.cc -#, fuzzy, c-format -#| msgid "Your '%s' file changed, please run 'apt-get update'." +#, c-format msgid "Your '%s' file changed, please run 'apt-get update'.\n" -msgstr "您的 %s 文件有过改动,请执行 ‘apt-get update’。" +msgstr "您的 %s 文件有过改动,请执行 ‘apt-get update’。\n" #: apt-private/private-unmet.cc #, c-format @@ -2478,9 +2486,10 @@ msgstr[0] "" msgid "All packages are up to date." msgstr "所有软件包å‡ä¸ºæœ€æ–°ã€‚" -#: cmdline/apt-cache.cc -msgid "apt-cache stats does not take any arguments" -msgstr "apt-cache stats 命令ä¸éœ€è¦å‚æ•°" +#: cmdline/apt-cache.cc cmdline/apt-mark.cc +#, c-format +msgid "%s does not take any arguments" +msgstr "%s 命令ä¸éœ€è¦å‚æ•°" #: cmdline/apt-cache.cc msgid "Total package names: " @@ -2746,6 +2755,12 @@ msgstr "进行一次å‡çº§" msgid "Install new packages (pkg is libc6 not libc6.deb)" msgstr "安装新的软件包(注:软件包å称是 libc6 è€Œéž libc6.deb)" +#: cmdline/apt-get.cc +#, fuzzy +#| msgid "Install new packages (pkg is libc6 not libc6.deb)" +msgid "Reinstall packages (pkg is libc6 not libc6.deb)" +msgstr "安装新的软件包(注:软件包å称是 libc6 è€Œéž libc6.deb)" + #: cmdline/apt-get.cc msgid "Remove packages" msgstr "å¸è½½è½¯ä»¶åŒ…" @@ -2891,6 +2906,16 @@ msgstr "%s å·²ç»è¢«è®¾ç½®ä¸ºæ‰‹åŠ¨å®‰è£…ã€‚\n" msgid "%s was already set to automatically installed.\n" msgstr "%s å·²ç»è¢«è®¾ç½®ä¸ºè‡ªåŠ¨å®‰è£…ã€‚\n" +#: cmdline/apt-mark.cc +msgid "No changes necessary" +msgstr "" + +#: cmdline/apt-mark.cc +#, fuzzy +#| msgid "The following NEW packages will be installed:" +msgid "The following packages will be marked as automatically installed:" +msgstr "ä¸‹åˆ—ã€æ–°ã€‘软件包将被安装:" + #: cmdline/apt-mark.cc #, c-format msgid "%s was already set on hold.\n" @@ -2952,6 +2977,12 @@ msgstr "æ ‡è®°æŒ‡å®šè½¯ä»¶åŒ…ä¸ºè‡ªåŠ¨å®‰è£…" msgid "Mark the given packages as manually installed" msgstr "æ ‡è®°æŒ‡å®šè½¯ä»¶åŒ…ä¸ºæ‰‹åŠ¨å®‰è£…" +#: cmdline/apt-mark.cc +#, fuzzy +#| msgid "Mark the given packages as automatically installed" +msgid "Mark all dependencies of meta packages as automatically installed." +msgstr "æ ‡è®°æŒ‡å®šè½¯ä»¶åŒ…ä¸ºè‡ªåŠ¨å®‰è£…" + #: cmdline/apt-mark.cc msgid "Mark a package as held back" msgstr "æ ‡è®°æŒ‡å®šè½¯ä»¶åŒ…ä¸ºä¿ç•™(held back)" @@ -3024,6 +3055,12 @@ msgstr "显示软件包细节" msgid "install packages" msgstr "安装软件包" +#: cmdline/apt.cc +#, fuzzy +#| msgid "install packages" +msgid "reinstall packages" +msgstr "安装软件包" + #: cmdline/apt.cc msgid "remove packages" msgstr "移除软件包" diff --git a/po/zh_TW.po b/po/zh_TW.po index db704f10d81bbcea2790c1841f8532e5b54e2375..94f942daeff443802ab0802dc706831e55267ebf 100644 --- a/po/zh_TW.po +++ b/po/zh_TW.po @@ -9,7 +9,7 @@ msgid "" msgstr "" "Project-Id-Version: apt 1.2.X\n" "Report-Msgid-Bugs-To: APT Development Team <deity@lists.debian.org>\n" -"POT-Creation-Date: 2018-12-18 15:02+0100\n" +"POT-Creation-Date: 2019-02-04 15:34+0100\n" "PO-Revision-Date: 2009-01-28 10:41+0800\n" "Last-Translator: Tetralet <tetralet@gmail.com>\n" "Language-Team: Debian-user in Chinese [Big5] <debian-chinese-big5@lists." @@ -395,6 +395,13 @@ msgstr "" msgid "Changelog unavailable for %s=%s" msgstr "æ£å’Œ %s (%s) 連線" +#: apt-pkg/acquire-worker.cc +#, c-format +msgid "" +"The method '%s' is unsupported and disabled by default. Consider switching " +"to http(s). Set Dir::Bin::Methods::%s to \"%s\" to enable it again." +msgstr "" + #: apt-pkg/acquire-worker.cc #, c-format msgid "The method '%s' is explicitly disabled via configuration." @@ -888,12 +895,12 @@ msgstr "åœ¨åŒæ¥æª”案時發生å•題" msgid "Problem syncing the file" msgstr "åœ¨åŒæ¥æª”案時發生å•題" -#: apt-pkg/contrib/fileutl.cc cmdline/apt-extracttemplates.cc +#: apt-pkg/contrib/fileutl.cc #, fuzzy, c-format msgid "Unable to mkstemp %s" msgstr "無法å–å¾— %s 的狀態" -#: apt-pkg/contrib/fileutl.cc cmdline/apt-extracttemplates.cc +#: apt-pkg/contrib/fileutl.cc #, c-format msgid "Unable to write to %s" msgstr "無法寫入 %s" @@ -1501,6 +1508,12 @@ msgstr "個人è¨å®šæª”䏿œ‰äº›ä¸æ£ç¢ºè³‡æ–™ï¼Œæ²’有以 Package é–‹é " msgid "Did not understand pin type %s" msgstr "無法分æžéŽ–å®šé¡žåž‹ %s" +#: apt-pkg/policy.cc +#, c-format +msgid "" +"%s: The special 'Pin-Priority: %s' can only be used for 'Package: *' records" +msgstr "" + #: apt-pkg/policy.cc #, c-format msgid "%s: Value %s is outside the range of valid pin priorities (%d to %d)" @@ -1918,7 +1931,7 @@ msgstr "" msgid "Abort." msgstr "放棄執行。" -#: apt-private/private-install.cc +#: apt-private/private-install.cc cmdline/apt-mark.cc msgid "Do you want to continue?" msgstr "是å¦ç¹¼çºŒé€²è¡Œ [Y/n]?" @@ -2453,9 +2466,9 @@ msgstr[1] "" msgid "All packages are up to date." msgstr "" -#: cmdline/apt-cache.cc -#, fuzzy -msgid "apt-cache stats does not take any arguments" +#: cmdline/apt-cache.cc cmdline/apt-mark.cc +#, fuzzy, c-format +msgid "%s does not take any arguments" msgstr "update 指令ä¸éœ€ä»»ä½•åƒæ•¸" #: cmdline/apt-cache.cc @@ -2715,6 +2728,12 @@ msgstr "進行å‡ç´š" msgid "Install new packages (pkg is libc6 not libc6.deb)" msgstr "å®‰è£æ–°å¥—件(套件å稱是 libc6 è€Œä¸æ˜¯ libc6.deb)" +#: cmdline/apt-get.cc +#, fuzzy +#| msgid "Install new packages (pkg is libc6 not libc6.deb)" +msgid "Reinstall packages (pkg is libc6 not libc6.deb)" +msgstr "å®‰è£æ–°å¥—件(套件å稱是 libc6 è€Œä¸æ˜¯ libc6.deb)" + #: cmdline/apt-get.cc msgid "Remove packages" msgstr "移除套件" @@ -2870,6 +2889,16 @@ msgstr "%s 被è¨å®šç‚ºæ‰‹å‹•安è£ã€‚\n" msgid "%s was already set to automatically installed.\n" msgstr "%s 被è¨å®šç‚ºæ‰‹å‹•安è£ã€‚\n" +#: cmdline/apt-mark.cc +msgid "No changes necessary" +msgstr "" + +#: cmdline/apt-mark.cc +#, fuzzy +#| msgid "The following NEW packages will be installed:" +msgid "The following packages will be marked as automatically installed:" +msgstr "ä¸‹åˆ—ã€æ–°ã€‘套件將會被安è£ï¼š" + #: cmdline/apt-mark.cc #, fuzzy, c-format msgid "%s was already set on hold.\n" @@ -2929,6 +2958,11 @@ msgstr "%s 被è¨å®šç‚ºæ‰‹å‹•安è£ã€‚\n" msgid "Mark the given packages as manually installed" msgstr "請檢查是å¦å·²å®‰è£äº† 'dpkg-dev' 套件。\n" +#: cmdline/apt-mark.cc +#, fuzzy +msgid "Mark all dependencies of meta packages as automatically installed." +msgstr "%s 被è¨å®šç‚ºæ‰‹å‹•安è£ã€‚\n" + #: cmdline/apt-mark.cc msgid "Mark a package as held back" msgstr "" @@ -2995,6 +3029,11 @@ msgstr "" msgid "install packages" msgstr "鎖定的套件:" +#: cmdline/apt.cc +#, fuzzy +msgid "reinstall packages" +msgstr "鎖定的套件:" + #: cmdline/apt.cc #, fuzzy msgid "remove packages" diff --git a/shippable.yml b/shippable.yml index 3978ddcb5c787a059c560a487639a66165595450..8588fcf15e25703ef6e945ee41bda6682b1ad695 100644 --- a/shippable.yml +++ b/shippable.yml @@ -4,8 +4,8 @@ env: build: pre_ci_boot: - image_name: ubuntu - image_tag: bionic + image_name: debian + image_tag: buster pull: true ci: - apt-get install -qq build-essential expect diff --git a/test/integration/test-apt-extracttemplates b/test/integration/test-apt-extracttemplates index 9b07ef79fe22976c2b342f22fa2bc9044aa8471b..a47257cfd146b057f41ac66adead94896fd5df28 100755 --- a/test/integration/test-apt-extracttemplates +++ b/test/integration/test-apt-extracttemplates @@ -44,6 +44,13 @@ Description: Some bar var testfileequal "$TEMPLATE" "$TEMPLATE_STR" CONFIG=$(cut -f4 -d' ' $OUT) testfileequal "$CONFIG" "$CONFIG_STR" + msgtest 'No extra files or directories in extraction directory' + if [ "$(find ./extracttemplates-out | wc -l)" = '3' ]; then + msgpass + else + msgfail + ls -l ./extracttemplates-out + fi # ensure that the format of the output string has the right number of dots for s in "$CONFIG" "$TEMPLATE"; do diff --git a/test/integration/test-apt-get-source-authenticated b/test/integration/test-apt-get-source-authenticated index 40710d5d69c795e1683e2d5b0d7feb699a45219e..d5a4facd5cf1c761154140bda39146be6443047d 100755 --- a/test/integration/test-apt-get-source-authenticated +++ b/test/integration/test-apt-get-source-authenticated @@ -2,7 +2,7 @@ # # Regression test for debian bug #749795. Ensure that we fail with # an error if apt-get source foo will download a source that comes -# from a unauthenticated repository +# from an unauthenticated repository # set -e diff --git a/test/integration/test-apt-sources-deb822 b/test/integration/test-apt-sources-deb822 index fdf26fe97855404e4c64f65ad513932481966d7b..8ffe0abe6dae7f65230c1cd902f7850a625d3988 100755 --- a/test/integration/test-apt-sources-deb822 +++ b/test/integration/test-apt-sources-deb822 @@ -14,6 +14,8 @@ BASE='# some comment # that contains a : as well #Types: meep +# a free-standing comment appears + Types: deb #Types: deb-src URIs: http://ftp.debian.org/debian @@ -291,3 +293,69 @@ testsuccessequal --nomsg "'http://ftp.debian.org/debian/dists/stable/InRelease' 'http://ftp.debian.org/debian2/dists/sid/non-free/binary-powerpc/Packages.xz' ftp.debian.org_debian2_dists_sid_non-free_binary-powerpc_Packages 0 'http://ftp.debian.org/debian2/dists/sid/non-free/binary-all/Packages.xz' ftp.debian.org_debian2_dists_sid_non-free_binary-all_Packages 0 'http://ftp.debian.org/debian2/dists/sid/non-free/i18n/Translation-en.xz' ftp.debian.org_debian2_dists_sid_non-free_i18n_Translation-en 0 " aptget update --print-uris + +EXPECTEDUK="'http://ftp.uk.debian.org/debian/dists/stretch/InRelease' ftp.uk.debian.org_debian_dists_stretch_InRelease 0 +'http://ftp.uk.debian.org/debian/dists/stretch/main/source/Sources.xz' ftp.uk.debian.org_debian_dists_stretch_main_source_Sources 0 +'http://ftp.uk.debian.org/debian/dists/stretch/contrib/source/Sources.xz' ftp.uk.debian.org_debian_dists_stretch_contrib_source_Sources 0 +'http://ftp.uk.debian.org/debian/dists/stretch/non-free/source/Sources.xz' ftp.uk.debian.org_debian_dists_stretch_non-free_source_Sources 0 +'http://ftp.uk.debian.org/debian/dists/stretch/main/binary-i386/Packages.xz' ftp.uk.debian.org_debian_dists_stretch_main_binary-i386_Packages 0 +'http://ftp.uk.debian.org/debian/dists/stretch/main/binary-all/Packages.xz' ftp.uk.debian.org_debian_dists_stretch_main_binary-all_Packages 0 +'http://ftp.uk.debian.org/debian/dists/stretch/main/i18n/Translation-en.xz' ftp.uk.debian.org_debian_dists_stretch_main_i18n_Translation-en 0 +'http://ftp.uk.debian.org/debian/dists/stretch/contrib/binary-i386/Packages.xz' ftp.uk.debian.org_debian_dists_stretch_contrib_binary-i386_Packages 0 +'http://ftp.uk.debian.org/debian/dists/stretch/contrib/binary-all/Packages.xz' ftp.uk.debian.org_debian_dists_stretch_contrib_binary-all_Packages 0 +'http://ftp.uk.debian.org/debian/dists/stretch/contrib/i18n/Translation-en.xz' ftp.uk.debian.org_debian_dists_stretch_contrib_i18n_Translation-en 0 +'http://ftp.uk.debian.org/debian/dists/stretch/non-free/binary-i386/Packages.xz' ftp.uk.debian.org_debian_dists_stretch_non-free_binary-i386_Packages 0 +'http://ftp.uk.debian.org/debian/dists/stretch/non-free/binary-all/Packages.xz' ftp.uk.debian.org_debian_dists_stretch_non-free_binary-all_Packages 0 +'http://ftp.uk.debian.org/debian/dists/stretch/non-free/i18n/Translation-en.xz' ftp.uk.debian.org_debian_dists_stretch_non-free_i18n_Translation-en 0 " + +msgcleantest 'Test deb822 sources.list file comments' 'top' +cat > $SOURCES <<EOF +#NOTE: Most preferred source listed first! + + +#=== NEW MULTI-LINE FORMAT =============== +Types: deb deb-src +URIs:http://ftp.uk.debian.org/debian/ +Suites: stretch +Components: main contrib non-free +EOF +testsuccessequal --nomsg "$EXPECTEDUK" aptget update --print-uris + +msgcleantest 'Test deb822 sources.list file comments' 'bottom' +cat > $SOURCES <<EOF +Types: deb deb-src +URIs:http://ftp.uk.debian.org/debian/ +Suites: stretch +Components: main contrib non-free +#=== NEW MULTI-LINE FORMAT =============== + + +#NOTE: Most preferred source listed first! +EOF +testsuccessequal --nomsg "$EXPECTEDUK" aptget update --print-uris + +msgcleantest 'Test deb822 sources.list file comments' 'both' +cat > $SOURCES <<EOF +#=== NEW MULTI-LINE FORMAT =============== + + +#NOTE: Most preferred source listed first! +Types: deb deb-src +URIs:http://ftp.uk.debian.org/debian/ +Suites: stretch +Components: main contrib non-free +#=== NEW MULTI-LINE FORMAT =============== + + +#NOTE: Most preferred source listed first! +EOF +testsuccessequal --nomsg "$EXPECTEDUK" aptget update --print-uris + + +msgcleantest 'Test deb822 sources.list file comments' 'empty' +cat > $SOURCES <<EOF +#=== NEW MULTI-LINE FORMAT =============== + + +EOF +testempty aptget update --print-uris diff --git a/test/integration/test-bug-921685-binary-detached-signature b/test/integration/test-bug-921685-binary-detached-signature new file mode 100755 index 0000000000000000000000000000000000000000..df863197aae8585fb4b7b8abb3af199e08744f7c --- /dev/null +++ b/test/integration/test-bug-921685-binary-detached-signature @@ -0,0 +1,22 @@ +#!/bin/sh +set -e + +TESTDIR="$(readlink -f "$(dirname "$0")")" +. "$TESTDIR/framework" +setupenvironment +configarchitecture 'amd64' + +insertpackage 'unstable' 'foo' 'all' '1' + +buildaptarchive +setupdistsaptarchive + +for RELEASE in $(find aptarchive -name 'Release'); do + # note the missing --armor + dosigning "keys/joesixpack" --detach-sign --sign --output "${RELEASE}.gpg" "${RELEASE}" +done + +testfailure apt show foo +testfailure aptget update +testsuccess grep 'W: .* Detached signature file .* is in unsupported binary format' rootdir/tmp/testfailure.output +testfailure apt show foo diff --git a/test/integration/test-cve-2013-1051-InRelease-parsing b/test/integration/test-cve-2013-1051-InRelease-parsing index 6238057c38d668ccc7339a6ec390feec88faed62..1f0cbda046833476bf6f2690625177276296f2a9 100755 --- a/test/integration/test-cve-2013-1051-InRelease-parsing +++ b/test/integration/test-cve-2013-1051-InRelease-parsing @@ -46,9 +46,12 @@ touch -d '+1hour' aptarchive/dists/stable/InRelease listcurrentlistsdirectory | sed '/_InRelease/ d' > listsdir.lst msgtest 'apt-get update should ignore unsigned data in the' 'InRelease' testwarningequal "Get:1 http://localhost:${APTHTTPPORT} stable InRelease [$(stat -c%s aptarchive/dists/stable/InRelease) B] +Err:1 http://localhost:${APTHTTPPORT} stable InRelease + Splitting up ${TMPWORKINGDIRECTORY}/rootdir/var/lib/apt/lists/partial/localhost:${APTHTTPPORT}_dists_stable_InRelease into data and signature failed Reading package lists... -W: Clearsigned file '${TMPWORKINGDIRECTORY}/rootdir/var/lib/apt/lists/partial/localhost:${APTHTTPPORT}_dists_stable_InRelease' contains unsigned lines. -W: Clearsigned file '${TMPWORKINGDIRECTORY}/rootdir/var/lib/apt/lists/localhost:${APTHTTPPORT}_dists_stable_InRelease' contains unsigned lines." --nomsg aptget update +W: An error occurred during the signature verification. The repository is not updated and the previous index files will be used. GPG error: http://localhost:${APTHTTPPORT} stable InRelease: Splitting up ${TMPWORKINGDIRECTORY}/rootdir/var/lib/apt/lists/partial/localhost:${APTHTTPPORT}_dists_stable_InRelease into data and signature failed +W: Failed to fetch http://localhost:${APTHTTPPORT}/dists/stable/InRelease Splitting up ${TMPWORKINGDIRECTORY}/rootdir/var/lib/apt/lists/partial/localhost:${APTHTTPPORT}_dists_stable_InRelease into data and signature failed +W: Some index files failed to download. They have been ignored, or old ones used instead." --nomsg aptget update testfileequal './listsdir.lst' "$(listcurrentlistsdirectory | sed '/_InRelease/ d')" # ensure there is no package diff --git a/test/integration/test-cve-2019-3462-Release.gpg-payload b/test/integration/test-cve-2019-3462-Release.gpg-payload new file mode 100755 index 0000000000000000000000000000000000000000..fd0f9671331faabd5ac069b3dfa80ede3e5c3609 --- /dev/null +++ b/test/integration/test-cve-2019-3462-Release.gpg-payload @@ -0,0 +1,43 @@ +#!/bin/sh +set -e + +# This is not covered by the CVE and harmless by itself, but used in +# the exploit and while harmless it is also pointless to allow it + +TESTDIR="$(readlink -f "$(dirname "$0")")" +. "$TESTDIR/framework" + +setupenvironment +configarchitecture 'amd64' + +export APT_DONT_SIGN='InRelease' + +insertpackage 'unstable' 'foo' 'all' '1' +setupaptarchive +rm -rf rootdir/var/lib/apt/lists + +verify() { + testfailure apt update + testsuccess grep '^ Detached signature file' rootdir/tmp/testfailure.output + testfailure apt show foo +} + +msgmsg 'Payload after detached signature' +find aptarchive -name 'Release.gpg' | while read FILE; do + cp -a "$FILE" "${FILE}.bak" + echo "evil payload" >> "$FILE" +done +verify + +msgmsg 'Payload in-between detached signatures' +find aptarchive -name 'Release.gpg' | while read FILE; do + cat "${FILE}.bak" >> "$FILE" +done +verify + +msgmsg 'Payload before detached signature' +find aptarchive -name 'Release.gpg' | while read FILE; do + echo "evil payload" > "$FILE" + cat "${FILE}.bak" >> "$FILE" +done +verify diff --git a/test/integration/test-cve-2019-3462-dequote-injection b/test/integration/test-cve-2019-3462-dequote-injection new file mode 100755 index 0000000000000000000000000000000000000000..a1adec6decf5f22e2f8ce0b59da4bb1f39b17b24 --- /dev/null +++ b/test/integration/test-cve-2019-3462-dequote-injection @@ -0,0 +1,66 @@ +#!/bin/sh +set -e + +TESTDIR="$(readlink -f "$(dirname "$0")")" +. "$TESTDIR/framework" +setupenvironment +configarchitecture 'amd64' + +# build two uncompressed packages +buildsimplenativepackage 'alpha' 'all' '1' 'unstable' '' '' 'section' 'optional' '' 'none' + +setupaptarchive --no-update +ORIGINAL_SHA256=$(sha256sum aptarchive/pool/alpha_1_all.deb | awk '{print $1}') +ORIGINAL_SIZE=$(wc -c aptarchive/pool/alpha_1_all.deb | awk '{print $1}') +SHA256="DEADBEEFDEADBEEFDEADBEEFDEADBEEFDEADBEEFDEADBEEFDEADBEEFDEADBEEF" +changetowebserver + +webserverconfig aptwebserver::redirect::replace::alpha_1_all.deb "beeta_1_all.deb%250a%250a201%2520URI%2520Done%250aURI:%2520http://localhost:${APTHTTPPORT}/pool/beeta_1_all.deb%250aFilename:%2520${TMPWORKINGDIRECTORY}/rootdir/var/cache/apt/archives/partial/alpha_1_all.deb%250aSize:%252020672%250aLast-Modified:%2520Fri,%252018%2520Jan%25202019%252009:52:02%2520+0000%250aSHA256-Hash:%2520${SHA256}%250aChecksum-FileSize-Hash:%252012345%250a%250a%0a" + + +testsuccess apt update -o debug::http=1 -o debug::pkgacquire::worker=1 + + +testfailureequal "Reading package lists... +Building dependency tree... +The following NEW packages will be installed: + alpha +0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded. +Need to get 20.7 kB of archives. +After this operation, 11.3 kB of additional disk space will be used. +Err:1 http://localhost:${APTHTTPPORT} unstable/main all alpha all 1 + SECURITY: URL redirect target contains control characters, rejecting. +E: Failed to fetch http://localhost:${APTHTTPPORT}/pool/alpha_1_all.deb SECURITY: URL redirect target contains control characters, rejecting. +E: Unable to fetch some archives, maybe run apt-get update or try with --fix-missing?" aptget install alpha + + + +# For reference, the following is the original reproducer/bug. It has +# been disabled using exit 0, as it will fail in fixed versions. +exit 0 + +testfailureequal "Reading package lists... +Building dependency tree... +The following NEW packages will be installed: + alpha +0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded. +Need to get 20.7 kB of archives. +After this operation, 11.3 kB of additional disk space will be used. +Err:1 http://localhost:${APTHTTPPORT} unstable/main all alpha all 1 + Hash Sum mismatch + Hashes of expected file: + - SHA256:$ORIGINAL_SHA256 + - Filesize:$ORIGINAL_SIZE [weak] + Hashes of received file: + - SHA256:DEADBEEFDEADBEEFDEADBEEFDEADBEEFDEADBEEFDEADBEEFDEADBEEFDEADBEEF + - Filesize:12345 [weak] + Last modification reported: Fri, 18 Jan 2019 09:52:02 +0000 +E: Failed to fetch http://localhost:${APTHTTPPORT}/pool/beeta_1_all.deb Hash Sum mismatch + Hashes of expected file: + - SHA256:$ORIGINAL_SHA256 + - Filesize:$ORIGINAL_SIZE [weak] + Hashes of received file: + - SHA256:DEADBEEFDEADBEEFDEADBEEFDEADBEEFDEADBEEFDEADBEEFDEADBEEFDEADBEEF + - Filesize:12345 [weak] + Last modification reported: Fri, 18 Jan 2019 09:52:02 +0000 +E: Unable to fetch some archives, maybe run apt-get update or try with --fix-missing?" aptget install alpha diff --git a/test/integration/test-method-gpgv b/test/integration/test-method-gpgv index b7cf11bdc7f1a8f4bb10fa3802c2f5f22c9c0e93..bfa5af4c2fb9c514732709cf4bb413f68690b8c1 100755 --- a/test/integration/test-method-gpgv +++ b/test/integration/test-method-gpgv @@ -10,7 +10,6 @@ configarchitecture 'i386' cat > faked-apt-key <<EOF #!/bin/sh set -e -echo "FFOO" find_gpgv_status_fd() { while [ -n "\$1" ]; do if [ "\$1" = '--status-fd' ]; then @@ -28,120 +27,159 @@ EOF chmod +x faked-apt-key testgpgv() { - echo "$3" > gpgv.output + echo "$4" > gpgv.output msgtest "$1" "$2" gpgvmethod >method.output 2>&1 || true - testsuccess --nomsg grep "$2" method.output + testsuccess --nomsg grep "^ $2\$" method.output + msgtest 'The reported signedby key is' "${3:-empty}" + testsuccess --nomsg grep "^ Signed-By:\s\+$3\$" method.output } testrun() { - testgpgv 'Good signed with long keyid' 'Good: GOODSIG 5A90D141DBAC8DAE,' '[GNUPG:] GOODSIG 5A90D141DBAC8DAE Joe Sixpack (APT Testcases Dummy) <joe@example.org> + testgpgv 'Good signed with long keyid' 'Good: GOODSIG 5A90D141DBAC8DAE' '34A8E9D18DB320F367E8EAA05A90D141DBAC8DAE!' '[GNUPG:] GOODSIG 5A90D141DBAC8DAE Joe Sixpack (APT Testcases Dummy) <joe@example.org> [GNUPG:] VALIDSIG 34A8E9D18DB320F367E8EAA05A90D141DBAC8DAE 2016-09-01 1472742625 0 4 0 1 11 00 34A8E9D18DB320F367E8EAA05A90D141DBAC8DAE' - testgpgv 'Good signed with fingerprint' 'Good: GOODSIG 34A8E9D18DB320F367E8EAA05A90D141DBAC8DAE,' '[GNUPG:] GOODSIG 34A8E9D18DB320F367E8EAA05A90D141DBAC8DAE Joe Sixpack (APT Testcases Dummy) <joe@example.org> + testgpgv 'Good signed with fingerprint' 'Good: GOODSIG 34A8E9D18DB320F367E8EAA05A90D141DBAC8DAE' '34A8E9D18DB320F367E8EAA05A90D141DBAC8DAE!' '[GNUPG:] GOODSIG 34A8E9D18DB320F367E8EAA05A90D141DBAC8DAE Joe Sixpack (APT Testcases Dummy) <joe@example.org> [GNUPG:] VALIDSIG 34A8E9D18DB320F367E8EAA05A90D141DBAC8DAE 2016-09-01 1472742625 0 4 0 1 11 00 34A8E9D18DB320F367E8EAA05A90D141DBAC8DAE' - testgpgv 'Good subkey signed with long keyid' 'Good: GOODSIG 5B6896415D44C43E,' '[GNUPG:] GOODSIG 5B6896415D44C43E Sebastian Subkey <subkey@example.org> + testgpgv 'Good subkey signed with long keyid' 'Good: GOODSIG 5B6896415D44C43E' '34A8E9D18DB320F367E8EAA05A90D141DBAC8DAE, 4281DEDBD466EAE8C1F4157E5B6896415D44C43E!' '[GNUPG:] GOODSIG 5B6896415D44C43E Sebastian Subkey <subkey@example.org> [GNUPG:] VALIDSIG 4281DEDBD466EAE8C1F4157E5B6896415D44C43E 2018-08-16 1534459673 0 4 0 1 11 00 34A8E9D18DB320F367E8EAA05A90D141DBAC8DAE' - testgpgv 'Good subkey signed with fingerprint' 'Good: GOODSIG 4281DEDBD466EAE8C1F4157E5B6896415D44C43E,' '[GNUPG:] GOODSIG 4281DEDBD466EAE8C1F4157E5B6896415D44C43E Sebastian Subkey <subkey@example.org> + testgpgv 'Good subkey signed with fingerprint' 'Good: GOODSIG 4281DEDBD466EAE8C1F4157E5B6896415D44C43E' '34A8E9D18DB320F367E8EAA05A90D141DBAC8DAE, 4281DEDBD466EAE8C1F4157E5B6896415D44C43E!' '[GNUPG:] GOODSIG 4281DEDBD466EAE8C1F4157E5B6896415D44C43E Sebastian Subkey <subkey@example.org> [GNUPG:] VALIDSIG 4281DEDBD466EAE8C1F4157E5B6896415D44C43E 2018-08-16 1534459673 0 4 0 1 11 00 34A8E9D18DB320F367E8EAA05A90D141DBAC8DAE' - testgpgv 'Untrusted signed with long keyid' 'Worthless: 34A8E9D18DB320F367E8EAA05A90D141DBAC8DAE,' '[GNUPG:] GOODSIG 5A90D141DBAC8DAE Joe Sixpack (APT Testcases Dummy) <joe@example.org> + testgpgv 'Untrusted signed with long keyid' 'Worthless: 34A8E9D18DB320F367E8EAA05A90D141DBAC8DAE' '' '[GNUPG:] GOODSIG 5A90D141DBAC8DAE Joe Sixpack (APT Testcases Dummy) <joe@example.org> [GNUPG:] VALIDSIG 34A8E9D18DB320F367E8EAA05A90D141DBAC8DAE 2016-09-01 1472742625 0 4 0 1 1 00 34A8E9D18DB320F367E8EAA05A90D141DBAC8DAE' testsuccess grep '^\s\+Good:\s\+$' method.output - testgpgv 'Untrusted signed with fingerprint' 'Worthless: 34A8E9D18DB320F367E8EAA05A90D141DBAC8DAE,' '[GNUPG:] GOODSIG 34A8E9D18DB320F367E8EAA05A90D141DBAC8DAE Joe Sixpack (APT Testcases Dummy) <joe@example.org> + testgpgv 'Untrusted signed with fingerprint' 'Worthless: 34A8E9D18DB320F367E8EAA05A90D141DBAC8DAE' '' '[GNUPG:] GOODSIG 34A8E9D18DB320F367E8EAA05A90D141DBAC8DAE Joe Sixpack (APT Testcases Dummy) <joe@example.org> [GNUPG:] VALIDSIG 34A8E9D18DB320F367E8EAA05A90D141DBAC8DAE 2016-09-01 1472742625 0 4 0 1 1 00 34A8E9D18DB320F367E8EAA05A90D141DBAC8DAE' testsuccess grep '^\s\+Good:\s\+$' method.output - testgpgv 'Weak signed with long keyid' 'Good: GOODSIG 5A90D141DBAC8DAE,' '[GNUPG:] GOODSIG 5A90D141DBAC8DAE Joe Sixpack (APT Testcases Dummy) <joe@example.org> + testgpgv 'Weak signed with long keyid' 'Good: GOODSIG 5A90D141DBAC8DAE' '34A8E9D18DB320F367E8EAA05A90D141DBAC8DAE!' '[GNUPG:] GOODSIG 5A90D141DBAC8DAE Joe Sixpack (APT Testcases Dummy) <joe@example.org> [GNUPG:] VALIDSIG 34A8E9D18DB320F367E8EAA05A90D141DBAC8DAE 2016-09-01 1472742625 0 4 0 1 2 00 34A8E9D18DB320F367E8EAA05A90D141DBAC8DAE' testsuccess grep '^Message: Signature by key 34A8E9D18DB320F367E8EAA05A90D141DBAC8DAE uses weak digest algorithm (SHA1)$' method.output - testgpgv 'Weak signed with fingerprint' 'Good: GOODSIG 34A8E9D18DB320F367E8EAA05A90D141DBAC8DAE,' '[GNUPG:] GOODSIG 34A8E9D18DB320F367E8EAA05A90D141DBAC8DAE Joe Sixpack (APT Testcases Dummy) <joe@example.org> + testgpgv 'Weak signed with fingerprint' 'Good: GOODSIG 34A8E9D18DB320F367E8EAA05A90D141DBAC8DAE' '34A8E9D18DB320F367E8EAA05A90D141DBAC8DAE!' '[GNUPG:] GOODSIG 34A8E9D18DB320F367E8EAA05A90D141DBAC8DAE Joe Sixpack (APT Testcases Dummy) <joe@example.org> [GNUPG:] VALIDSIG 34A8E9D18DB320F367E8EAA05A90D141DBAC8DAE 2016-09-01 1472742625 0 4 0 1 2 00 34A8E9D18DB320F367E8EAA05A90D141DBAC8DAE' testsuccess grep '^Message: Signature by key 34A8E9D18DB320F367E8EAA05A90D141DBAC8DAE uses weak digest algorithm (SHA1)$' method.output - testgpgv 'No Pubkey with long keyid' 'NoPubKey: NO_PUBKEY E8525D47528144E2,' '[GNUPG:] ERRSIG E8525D47528144E2 1 11 00 1472744666 9 + testgpgv 'No Pubkey with long keyid' 'NoPubKey: NO_PUBKEY E8525D47528144E2' '' '[GNUPG:] ERRSIG E8525D47528144E2 1 11 00 1472744666 9 [GNUPG:] NO_PUBKEY E8525D47528144E2' - testgpgv 'No Pubkey with fingerprint' 'NoPubKey: NO_PUBKEY DE66AECA9151AFA1877EC31DE8525D47528144E2,' '[GNUPG:] ERRSIG DE66AECA9151AFA1877EC31DE8525D47528144E2 1 11 00 1472744666 9 + testgpgv 'No Pubkey with fingerprint' 'NoPubKey: NO_PUBKEY DE66AECA9151AFA1877EC31DE8525D47528144E2' '' '[GNUPG:] ERRSIG DE66AECA9151AFA1877EC31DE8525D47528144E2 1 11 00 1472744666 9 [GNUPG:] NO_PUBKEY DE66AECA9151AFA1877EC31DE8525D47528144E2' - testgpgv 'Expired key with long keyid' 'Worthless: EXPKEYSIG 4BC0A39C27CE74F9 Rex Expired <rex@example.org>,' '[GNUPG:] EXPKEYSIG 4BC0A39C27CE74F9 Rex Expired <rex@example.org> + testgpgv 'Expired key with long keyid' 'Worthless: EXPKEYSIG 4BC0A39C27CE74F9 Rex Expired <rex@example.org>' '' '[GNUPG:] EXPKEYSIG 4BC0A39C27CE74F9 Rex Expired <rex@example.org> [GNUPG:] VALIDSIG 891CC50E605796A0C6E733F74BC0A39C27CE74F9 2016-09-01 1472742629 0 4 0 1 11 00 891CC50E605796A0C6E733F74BC0A39C27CE74F9' - testgpgv 'Expired key with fingerprint' 'Worthless: EXPKEYSIG 891CC50E605796A0C6E733F74BC0A39C27CE74F9 Rex Expired <rex@example.org>,' '[GNUPG:] EXPKEYSIG 891CC50E605796A0C6E733F74BC0A39C27CE74F9 Rex Expired <rex@example.org> + testgpgv 'Expired key with fingerprint' 'Worthless: EXPKEYSIG 891CC50E605796A0C6E733F74BC0A39C27CE74F9 Rex Expired <rex@example.org>' '' '[GNUPG:] EXPKEYSIG 891CC50E605796A0C6E733F74BC0A39C27CE74F9 Rex Expired <rex@example.org> [GNUPG:] VALIDSIG 891CC50E605796A0C6E733F74BC0A39C27CE74F9 2016-09-01 1472742629 0 4 0 1 11 00 891CC50E605796A0C6E733F74BC0A39C27CE74F9' } +echo 'Test' > message.data +cat >message.sig <<EOF +-----BEGIN PGP SIGNATURE----- + +iQFEBAEBCgAuFiEENKjp0Y2zIPNn6OqgWpDRQdusja4FAlhT7+kQHGpvZUBleGFt +cGxlLm9yZwAKCRBakNFB26yNrjvEB/9/e3jA1l0fvPafx9LEXcH8CLpUFQK7ra9l +3M4YAH4JKQlTG1be7ixruBRlCTh3YiSs66fKMeJeUYoxA2HPhvbGFEjQFAxunEYg +X/LBKv1mQWa+Q34P5GBjK8kQdLCN+yJAiUErmWNQG3GPninrxsC9tY5jcWvHeP1k +V7N3MLnNqzXaCJM24mnKidC5IDadUdQ8qC8c3rjUexQ8vBz0eucH56jbqV5oOcvx +pjlW965dCPIf3OI8q6J7bIOjyY+u/PTcVlqPq3TUz/ti6RkVbKpLH0D4ll3lUTns +JQt/+gJCPxHUJphy8sccBKhW29CLELJIIafvU30E1nWn9szh2Xjq +=TB1F +-----END PGP SIGNATURE----- +EOF + + gpgvmethod() { - echo '601 Configuration + echo "601 Configuration Config-Item: Debug::Acquire::gpgv=1 Config-Item: Dir::Bin::apt-key=./faked-apt-key Config-Item: APT::Hashes::SHA1::Weak=true 600 URI Acquire -URI: file:///dev/null -Filename: /dev/zero -' | runapt "${METHODSDIR}/gpgv" +URI: file://${TMPWORKINGDIRECTORY}/message.sig +Filename: ${TMPWORKINGDIRECTORY}/message.data +" | runapt "${METHODSDIR}/gpgv" } testrun gpgvmethod() { - echo '601 Configuration + echo "601 Configuration Config-Item: Debug::Acquire::gpgv=1 Config-Item: Dir::Bin::apt-key=./faked-apt-key Config-Item: APT::Hashes::SHA1::Weak=true 600 URI Acquire -URI: file:///dev/null -Filename: /dev/zero +URI: file://${TMPWORKINGDIRECTORY}/message.sig +Filename: ${TMPWORKINGDIRECTORY}/message.data Signed-By: /dev/null,34A8E9D18DB320F367E8EAA05A90D141DBAC8DAE -' | runapt "${METHODSDIR}/gpgv" +" | runapt "${METHODSDIR}/gpgv" } testrun gpgvmethod() { - echo '601 Configuration + echo "601 Configuration Config-Item: Debug::Acquire::gpgv=1 Config-Item: Dir::Bin::apt-key=./faked-apt-key Config-Item: APT::Hashes::SHA1::Weak=true 600 URI Acquire -URI: file:///dev/null -Filename: /dev/zero +URI: file://${TMPWORKINGDIRECTORY}/message.sig +Filename: ${TMPWORKINGDIRECTORY}/message.data Signed-By: 34A8E9D18DB320F367E8EAA05A90D141DBAC8DAE,/dev/null -' | runapt "${METHODSDIR}/gpgv" +" | runapt "${METHODSDIR}/gpgv" } testrun -testgpgv 'Good signed with long keyid but not signed-by key' 'NoPubKey: GOODSIG 4BC0A39C27CE74F9,' '[GNUPG:] GOODSIG 4BC0A39C27CE74F9 Rex Expired <rex@example.org> +testgpgv 'Good signed with long keyid but not signed-by key' 'NoPubKey: GOODSIG 4BC0A39C27CE74F9' '' '[GNUPG:] GOODSIG 4BC0A39C27CE74F9 Rex Expired <rex@example.org> [GNUPG:] VALIDSIG 891CC50E605796A0C6E733F74BC0A39C27CE74F9 2016-09-01 1472742625 0 4 0 1 11 00 891CC50E605796A0C6E733F74BC0A39C27CE74F9' testsuccess grep '^\s\+Good:\s\+$' method.output testsuccess grep 'verified because the public key is not available: GOODSIG' method.output -testgpgv 'Good signed with fingerprint but not signed-by key' 'NoPubKey: GOODSIG 891CC50E605796A0C6E733F74BC0A39C27CE74F9,' '[GNUPG:] GOODSIG 891CC50E605796A0C6E733F74BC0A39C27CE74F9 Rex Expired <rex@example.org> +testgpgv 'Good signed with fingerprint but not signed-by key' 'NoPubKey: GOODSIG 891CC50E605796A0C6E733F74BC0A39C27CE74F9' '' '[GNUPG:] GOODSIG 891CC50E605796A0C6E733F74BC0A39C27CE74F9 Rex Expired <rex@example.org> [GNUPG:] VALIDSIG 891CC50E605796A0C6E733F74BC0A39C27CE74F9 2016-09-01 1472742625 0 4 0 1 11 00 891CC50E605796A0C6E733F74BC0A39C27CE74F9' testsuccess grep '^\s\+Good:\s\+$' method.output testsuccess grep 'verified because the public key is not available: GOODSIG' method.output gpgvmethod() { - echo '601 Configuration + echo "601 Configuration Config-Item: Debug::Acquire::gpgv=1 Config-Item: Dir::Bin::apt-key=./faked-apt-key Config-Item: APT::Hashes::SHA1::Weak=true 600 URI Acquire -URI: file:///dev/null -Filename: /dev/zero +URI: file://${TMPWORKINGDIRECTORY}/message.sig +Filename: ${TMPWORKINGDIRECTORY}/message.data Signed-By: 34A8E9D18DB320F367E8EAA05A90D141DBAC8DAE! -' | runapt "${METHODSDIR}/gpgv" +" | runapt "${METHODSDIR}/gpgv" } -testgpgv 'Exact matched subkey signed with long keyid' 'Good: GOODSIG 5A90D141DBAC8DAE,' '[GNUPG:] GOODSIG 5A90D141DBAC8DAE Sebastian Subkey <subkey@example.org> +testgpgv 'Exact matched subkey signed with long keyid' 'Good: GOODSIG 5A90D141DBAC8DAE' '34A8E9D18DB320F367E8EAA05A90D141DBAC8DAE!' '[GNUPG:] GOODSIG 5A90D141DBAC8DAE Sebastian Subkey <subkey@example.org> [GNUPG:] VALIDSIG 34A8E9D18DB320F367E8EAA05A90D141DBAC8DAE 2018-08-16 1534459673 0 4 0 1 11 00 4281DEDBD466EAE8C1F4157E5B6896415D44C43E' -testgpgv 'Exact matched subkey signed with fingerprint' 'Good: GOODSIG 34A8E9D18DB320F367E8EAA05A90D141DBAC8DAE,' '[GNUPG:] GOODSIG 34A8E9D18DB320F367E8EAA05A90D141DBAC8DAE Sebastian Subkey <subkey@example.org> +testgpgv 'Exact matched subkey signed with fingerprint' 'Good: GOODSIG 34A8E9D18DB320F367E8EAA05A90D141DBAC8DAE' '34A8E9D18DB320F367E8EAA05A90D141DBAC8DAE!' '[GNUPG:] GOODSIG 34A8E9D18DB320F367E8EAA05A90D141DBAC8DAE Sebastian Subkey <subkey@example.org> [GNUPG:] VALIDSIG 34A8E9D18DB320F367E8EAA05A90D141DBAC8DAE 2018-08-16 1534459673 0 4 0 1 11 00 4281DEDBD466EAE8C1F4157E5B6896415D44C43E' -testgpgv 'Exact unmatched subkey signed with long keyid' 'NoPubKey: GOODSIG 5B6896415D44C43E,' '[GNUPG:] GOODSIG 5B6896415D44C43E Sebastian Subkey <subkey@example.org> +testgpgv 'Exact unmatched subkey signed with long keyid' 'NoPubKey: GOODSIG 5B6896415D44C43E' '' '[GNUPG:] GOODSIG 5B6896415D44C43E Sebastian Subkey <subkey@example.org> [GNUPG:] VALIDSIG 4281DEDBD466EAE8C1F4157E5B6896415D44C43E 2018-08-16 1534459673 0 4 0 1 11 00 34A8E9D18DB320F367E8EAA05A90D141DBAC8DAE' testsuccess grep '^\s\+Good:\s\+$' method.output testsuccess grep 'verified because the public key is not available: GOODSIG' method.output -testgpgv 'Exact unmatched subkey signed with fingerprint' 'NoPubKey: GOODSIG 4281DEDBD466EAE8C1F4157E5B6896415D44C43E,' '[GNUPG:] GOODSIG 4281DEDBD466EAE8C1F4157E5B6896415D44C43E Sebastian Subkey <subkey@example.org> +testgpgv 'Exact unmatched subkey signed with fingerprint' 'NoPubKey: GOODSIG 4281DEDBD466EAE8C1F4157E5B6896415D44C43E' '' '[GNUPG:] GOODSIG 4281DEDBD466EAE8C1F4157E5B6896415D44C43E Sebastian Subkey <subkey@example.org> [GNUPG:] VALIDSIG 4281DEDBD466EAE8C1F4157E5B6896415D44C43E 2018-08-16 1534459673 0 4 0 1 11 00 34A8E9D18DB320F367E8EAA05A90D141DBAC8DAE' testsuccess grep '^\s\+Good:\s\+$' method.output testsuccess grep 'verified because the public key is not available: GOODSIG' method.output + +insertpackage 'unstable' 'foo' 'all' '1' +setupaptarchive --no-update + +echo '[GNUPG:] GOODSIG 5A90D141DBAC8DAE Sebastian Subkey <subkey@example.org> +[GNUPG:] VALIDSIG 34A8E9D18DB320F367E8EAA05A90D141DBAC8DAE 2018-08-16 1534459673 0 4 0 1 11 00 4281DEDBD466EAE8C1F4157E5B6896415D44C43E' > gpgv.output +testsuccess apt update -o Dir::Bin::apt-key="./faked-apt-key" -o Debug::pkgAcquire::Worker=1 -o Debug::Acquire::gpgv=1 +rm -rf rootdir/var/lib/apt/lists + +echo '[GNUPG:] GOODSIG 5A90D141DBAC8DAE Sebastian Subkey <subkey@example.org>' > gpgv.output +testfailure apt update -o Dir::Bin::apt-key="./faked-apt-key" -o Debug::pkgAcquire::Worker=1 -o Debug::Acquire::gpgv=1 +rm -rf rootdir/var/lib/apt/lists + +echo '[GNUPG:] VALIDSIG 34A8E9D18DB320F367E8EAA05A90D141DBAC8DAE 2018-08-16 1534459673 0 4 0 1 11 00 4281DEDBD466EAE8C1F4157E5B6896415D44C43E' > gpgv.output +testfailure apt update -o Dir::Bin::apt-key="./faked-apt-key" -o Debug::pkgAcquire::Worker=1 -o Debug::Acquire::gpgv=1 +rm -rf rootdir/var/lib/apt/lists + +echo '[GNUPG:] GOODSIG 5A90D141DBAC8DAE Sebastian Subkey <subkey@example.org> +[GNUPG:] VALIDSIG 0000000000000000000000000000000000000000 2018-08-16 1534459673 0 4 0 1 11 00 4281DEDBD466EAE8C1F4157E5B6896415D44C43E' > gpgv.output +testfailure apt update -o Dir::Bin::apt-key="./faked-apt-key" -o Debug::pkgAcquire::Worker=1 -o Debug::Acquire::gpgv=1 +rm -rf rootdir/var/lib/apt/lists diff --git a/test/integration/test-packages-require-authorization b/test/integration/test-packages-require-authorization new file mode 100755 index 0000000000000000000000000000000000000000..527497ce5543a99a77743a582f481fb785981489 --- /dev/null +++ b/test/integration/test-packages-require-authorization @@ -0,0 +1,61 @@ +#!/bin/sh +set -e + +TESTDIR="$(readlink -f "$(dirname "$0")")" +. "$TESTDIR/framework" +setupenvironment +configarchitecture 'amd64' + +insertpackage 'unstable' 'cool' 'amd64' '1.0' + +export APT_DONT_SIGN='InRelease' +setupaptarchive --no-update +changetowebserver + +echo 'Packages-Require-Authorization: yes' >> aptarchive/dists/unstable/Release +signreleasefiles + +testsuccess aptget update +testsuccessequal "Package files: + 100 ${TMPWORKINGDIRECTORY}/rootdir/var/lib/dpkg/status + release a=now +-32768 http://localhost:${APTHTTPPORT} unstable/main amd64 Packages + release a=unstable,n=sid,c=main,b=amd64 + origin localhost +Pinned packages:" aptcache policy + +mkdir rootdir/etc/apt/auth.conf.d +cat > rootdir/etc/apt/auth.conf.d/myauth.conf << EOF +machine localhost +login username +password usersPassword +EOF + + +testsuccessequal "Package files: + 100 ${TMPWORKINGDIRECTORY}/rootdir/var/lib/dpkg/status + release a=now + 500 http://localhost:${APTHTTPPORT} unstable/main amd64 Packages + release a=unstable,n=sid,c=main,b=amd64 + origin localhost +Pinned packages:" aptcache policy + + +cat > rootdir/etc/apt/preferences.d/myauth.pref << EOF +Package: * +Pin: origin localhost +Pin-Priority: 990 + +Package: cool +Pin: origin localhost +Pin-Priority: 990 +EOF + +testsuccessequal "Package files: + 100 ${TMPWORKINGDIRECTORY}/rootdir/var/lib/dpkg/status + release a=now + 990 http://localhost:${APTHTTPPORT} unstable/main amd64 Packages + release a=unstable,n=sid,c=main,b=amd64 + origin localhost +Pinned packages: + cool -> 1.0 with priority 990" aptcache policy diff --git a/test/integration/test-policy-pinning b/test/integration/test-policy-pinning index 5676d1457f3cd6932ae0570158f6b9729362c071..b871f724b9f193634bc9d5d39e27a9f7377b980c 100755 --- a/test/integration/test-policy-pinning +++ b/test/integration/test-policy-pinning @@ -315,15 +315,16 @@ testsuccessequal "coolstuff: Installed: 2.0~bpo1 Candidate: $2 Version table: - 2.0~bpo2 $1 - $1 file:${tmppath}/aptarchive backports/main all Packages + 2.0~bpo2 ${3:-$1} + ${3:-$1} file:${tmppath}/aptarchive backports/main all Packages *** 2.0~bpo1 100 100 ${tmppath}/rootdir/var/lib/dpkg/status 1.0 500 500 file:${tmppath}/aptarchive stable/main all Packages" apt policy coolstuff } currentpin '32767' '2.0~bpo2' -currentpin '-32768' '2.0~bpo1' +currentpin '-32768' '2.0~bpo1' '-32767' +currentpin '-32767' '2.0~bpo1' '-32767' # Check for 0 echo "Package: coolstuff @@ -359,3 +360,74 @@ testsuccessequal "coolstuff: 100 ${tmppath}/rootdir/var/lib/dpkg/status 1.0 500 500 file:${tmppath}/aptarchive stable/main all Packages" aptcache policy coolstuff + + +# Check for override pins + +# Normal pins: First one wins +echo "Package: coolstuff +Pin: release n=backports +Pin-Priority: 990 + +Package: coolstuff +Pin: release n=backports +Pin-Priority: 991 +" > rootdir/etc/apt/preferences + +testsuccessequal "coolstuff: + Installed: 2.0~bpo1 + Candidate: 2.0~bpo2 + Version table: + 2.0~bpo2 990 + 100 file:${tmppath}/aptarchive backports/main all Packages + *** 2.0~bpo1 100 + 100 ${tmppath}/rootdir/var/lib/dpkg/status + 1.0 500 + 500 file:${tmppath}/aptarchive stable/main all Packages" aptcache policy coolstuff + + +echo "Package: coolstuff +Pin: release n=backports +Pin-Priority: 990 + +Package: * +Pin: release n=backports +Pin-Priority: never +" > rootdir/etc/apt/preferences + +testsuccessequal "coolstuff: + Installed: 2.0~bpo1 + Candidate: 2.0~bpo1 + Version table: + 2.0~bpo2 -32768 + -32768 file:${tmppath}/aptarchive backports/main all Packages + *** 2.0~bpo1 100 + 100 ${tmppath}/rootdir/var/lib/dpkg/status + 1.0 500 + 500 file:${tmppath}/aptarchive stable/main all Packages" aptcache policy coolstuff + + +msgmsg "Check that local-only versions can be pinned correctly (LP: #1821308)" +echo "Package: coolstuff +Pin: version 2.0~bpo1 +Pin-Priority: 1000" > rootdir/etc/apt/preferences +testsuccessequal "coolstuff: + Installed: 2.0~bpo1 + Candidate: 2.0~bpo1 + Version table: + 2.0~bpo2 100 + 100 file:${tmppath}/aptarchive backports/main all Packages + *** 2.0~bpo1 1000 + 100 ${tmppath}/rootdir/var/lib/dpkg/status + 1.0 500 + 500 file:${tmppath}/aptarchive stable/main all Packages" aptcache policy coolstuff + +# Check for 0 +echo "Package: coolstuff +Pin: release n=backports +Pin-Priority: never +" > rootdir/etc/apt/preferences + +testfailureequal "Reading package lists... +E: ${tmppath}/rootdir/etc/apt/preferences: The special 'Pin-Priority: never' can only be used for 'Package: *' records" \ + aptget install -s coolstuff -o PinPriority=0 diff --git a/test/interactive-helper/aptwebserver.cc b/test/interactive-helper/aptwebserver.cc index 109364d7a2b324b3a131bcf5f4958d39e7ee9c19..2243ccea94001f7a0a364534339499b12411b6a2 100644 --- a/test/interactive-helper/aptwebserver.cc +++ b/test/interactive-helper/aptwebserver.cc @@ -464,7 +464,7 @@ static bool parseFirstLine(std::ostream &log, int const client, std::string cons closeConnection = strcasecmp(LookupTag(request, "Connection", "Keep-Alive").c_str(), "close") == 0; else { - sendError(log, client, 500, request, sendContent, "Not a HTTP/1.{0,1} request", headers); + sendError(log, client, 500, request, sendContent, "Not an HTTP/1.{0,1} request", headers); return false; } diff --git a/test/libapt/openmaybeclearsignedfile_test.cc b/test/libapt/openmaybeclearsignedfile_test.cc index 1f63fb8fc370c77f7a404acaa3bbfbabef1679a6..0a4d4438a6383c4d7523039ecc2b8bbf2b057b61 100644 --- a/test/libapt/openmaybeclearsignedfile_test.cc +++ b/test/libapt/openmaybeclearsignedfile_test.cc @@ -111,7 +111,6 @@ TEST(OpenMaybeClearSignedFileTest,SignedFileWithContentHeaders) EXPECT_TRUE(fd.Eof()); } -// That isn't how multiple signatures are done TEST(OpenMaybeClearSignedFileTest,SignedFileWithTwoSignatures) { std::string tempfile; @@ -190,19 +189,16 @@ TEST(OpenMaybeClearSignedFileTest,TwoSimpleSignedFile) "-----END PGP SIGNATURE-----"); EXPECT_TRUE(_error->empty()); EXPECT_TRUE(StartsWithGPGClearTextSignature(tempfile)); - EXPECT_TRUE(OpenMaybeClearSignedFile(tempfile, fd)); + EXPECT_FALSE(OpenMaybeClearSignedFile(tempfile, fd)); if (tempfile.empty() == false) unlink(tempfile.c_str()); EXPECT_FALSE(_error->empty()); - EXPECT_TRUE(fd.IsOpen()); - char buffer[100]; - EXPECT_TRUE(fd.ReadLine(buffer, sizeof(buffer))); - EXPECT_STREQ(buffer, "Test"); - EXPECT_TRUE(fd.Eof()); - ASSERT_FALSE(_error->empty()); + EXPECT_FALSE(fd.IsOpen()); + // technically they are signed, but we just want one message + EXPECT_TRUE(_error->PendingError()); std::string msg; - _error->PopMessage(msg); + EXPECT_TRUE(_error->PopMessage(msg)); EXPECT_EQ("Clearsigned file '" + tempfile + "' contains unsigned lines.", msg); } @@ -244,19 +240,15 @@ TEST(OpenMaybeClearSignedFileTest,GarbageTop) "-----END PGP SIGNATURE-----\n"); EXPECT_FALSE(StartsWithGPGClearTextSignature(tempfile)); EXPECT_TRUE(_error->empty()); - EXPECT_TRUE(OpenMaybeClearSignedFile(tempfile, fd)); + EXPECT_FALSE(OpenMaybeClearSignedFile(tempfile, fd)); if (tempfile.empty() == false) unlink(tempfile.c_str()); - EXPECT_TRUE(fd.IsOpen()); - char buffer[100]; - EXPECT_TRUE(fd.ReadLine(buffer, sizeof(buffer))); - EXPECT_STREQ(buffer, "Test"); - EXPECT_TRUE(fd.Eof()); + EXPECT_FALSE(fd.IsOpen()); ASSERT_FALSE(_error->empty()); - ASSERT_FALSE(_error->PendingError()); + ASSERT_TRUE(_error->PendingError()); std::string msg; - _error->PopMessage(msg); + EXPECT_TRUE(_error->PopMessage(msg)); EXPECT_EQ("Clearsigned file '" + tempfile + "' does not start with a signed message block.", msg); } @@ -313,19 +305,15 @@ TEST(OpenMaybeClearSignedFileTest,GarbageBottom) "Garbage"); EXPECT_TRUE(StartsWithGPGClearTextSignature(tempfile)); EXPECT_TRUE(_error->empty()); - EXPECT_TRUE(OpenMaybeClearSignedFile(tempfile, fd)); + EXPECT_FALSE(OpenMaybeClearSignedFile(tempfile, fd)); if (tempfile.empty() == false) unlink(tempfile.c_str()); - EXPECT_TRUE(fd.IsOpen()); - char buffer[100]; - EXPECT_TRUE(fd.ReadLine(buffer, sizeof(buffer))); - EXPECT_STREQ(buffer, "Test"); - EXPECT_TRUE(fd.Eof()); + EXPECT_FALSE(fd.IsOpen()); ASSERT_FALSE(_error->empty()); - ASSERT_FALSE(_error->PendingError()); + ASSERT_TRUE(_error->PendingError()); std::string msg; - _error->PopMessage(msg); + EXPECT_TRUE(_error->PopMessage(msg)); EXPECT_EQ("Clearsigned file '" + tempfile + "' contains unsigned lines.", msg); } @@ -347,7 +335,7 @@ TEST(OpenMaybeClearSignedFileTest,BogusNoSig) std::string msg; _error->PopMessage(msg); - EXPECT_EQ("Splitting of file " + tempfile + " failed as it doesn't contain all expected parts 0 1 0", msg); + EXPECT_EQ("Splitting of clearsigned file " + tempfile + " failed as it doesn't contain all expected parts", msg); } TEST(OpenMaybeClearSignedFileTest,BogusSigStart) @@ -371,3 +359,127 @@ TEST(OpenMaybeClearSignedFileTest,BogusSigStart) _error->PopMessage(msg); EXPECT_EQ("Signature in file " + tempfile + " wasn't closed", msg); } + +TEST(OpenMaybeClearSignedFileTest,DashedSignedFile) +{ + std::string tempfile; + FileFd fd; + createTemporaryFile("dashedsignedfile", fd, &tempfile, "-----BEGIN PGP SIGNED MESSAGE-----\n" +"Hash: SHA512\n" +"\n" +"- Test\n" +"-----BEGIN PGP SIGNATURE-----\n" +"\n" +"iQFEBAEBCgAuFiEENKjp0Y2zIPNn6OqgWpDRQdusja4FAlhT7+kQHGpvZUBleGFt\n" +"cGxlLm9yZwAKCRBakNFB26yNrjvEB/9/e3jA1l0fvPafx9LEXcH8CLpUFQK7ra9l\n" +"3M4YAH4JKQlTG1be7ixruBRlCTh3YiSs66fKMeJeUYoxA2HPhvbGFEjQFAxunEYg\n" +"X/LBKv1mQWa+Q34P5GBjK8kQdLCN+yJAiUErmWNQG3GPninrxsC9tY5jcWvHeP1k\n" +"V7N3MLnNqzXaCJM24mnKidC5IDadUdQ8qC8c3rjUexQ8vBz0eucH56jbqV5oOcvx\n" +"pjlW965dCPIf3OI8q6J7bIOjyY+u/PTcVlqPq3TUz/ti6RkVbKpLH0D4ll3lUTns\n" +"JQt/+gJCPxHUJphy8sccBKhW29CLELJIIafvU30E1nWn9szh2Xjq\n" +"=TB1F\n" +"-----END PGP SIGNATURE-----\n"); + EXPECT_TRUE(StartsWithGPGClearTextSignature(tempfile)); + EXPECT_TRUE(OpenMaybeClearSignedFile(tempfile, fd)); + if (tempfile.empty() == false) + unlink(tempfile.c_str()); + EXPECT_TRUE(fd.IsOpen()); + char buffer[100]; + EXPECT_TRUE(fd.ReadLine(buffer, sizeof(buffer))); + EXPECT_STREQ(buffer, "Test"); + EXPECT_TRUE(fd.Eof()); +} +TEST(OpenMaybeClearSignedFileTest,StrangeDashArmorFile) +{ + std::string tempfile; + FileFd fd; + createTemporaryFile("strangedashfile", fd, &tempfile, "-----BEGIN PGP SIGNED MESSAGE-----\n" +"Hash: SHA512\n" +"-Hash: SHA512\n" +"\n" +"Test\n" +"-----BEGIN PGP SIGNATURE-----\n" +"\n" +"iQFEBAEBCgAuFiEENKjp0Y2zIPNn6OqgWpDRQdusja4FAlhT7+kQHGpvZUBleGFt\n" +"cGxlLm9yZwAKCRBakNFB26yNrjvEB/9/e3jA1l0fvPafx9LEXcH8CLpUFQK7ra9l\n" +"3M4YAH4JKQlTG1be7ixruBRlCTh3YiSs66fKMeJeUYoxA2HPhvbGFEjQFAxunEYg\n" +"X/LBKv1mQWa+Q34P5GBjK8kQdLCN+yJAiUErmWNQG3GPninrxsC9tY5jcWvHeP1k\n" +"V7N3MLnNqzXaCJM24mnKidC5IDadUdQ8qC8c3rjUexQ8vBz0eucH56jbqV5oOcvx\n" +"pjlW965dCPIf3OI8q6J7bIOjyY+u/PTcVlqPq3TUz/ti6RkVbKpLH0D4ll3lUTns\n" +"JQt/+gJCPxHUJphy8sccBKhW29CLELJIIafvU30E1nWn9szh2Xjq\n" +"=TB1F\n" +"-----END PGP SIGNATURE-----\n"); + EXPECT_TRUE(StartsWithGPGClearTextSignature(tempfile)); + EXPECT_FALSE(OpenMaybeClearSignedFile(tempfile, fd)); + if (tempfile.empty() == false) + unlink(tempfile.c_str()); + EXPECT_FALSE(_error->empty()); + EXPECT_FALSE(fd.IsOpen()); + + std::string msg; + EXPECT_TRUE(_error->PendingError()); + EXPECT_TRUE(_error->PopMessage(msg)); + EXPECT_EQ("Clearsigned file '" + tempfile + "' contains unexpected line starting with a dash (armor)", msg); +} +TEST(OpenMaybeClearSignedFileTest,StrangeDashMsgFile) +{ + std::string tempfile; + FileFd fd; + createTemporaryFile("strangedashfile", fd, &tempfile, "-----BEGIN PGP SIGNED MESSAGE-----\n" +"Hash: SHA512\n" +"\n" +"-Test\n" +"-----BEGIN PGP SIGNATURE-----\n" +"\n" +"iQFEBAEBCgAuFiEENKjp0Y2zIPNn6OqgWpDRQdusja4FAlhT7+kQHGpvZUBleGFt\n" +"cGxlLm9yZwAKCRBakNFB26yNrjvEB/9/e3jA1l0fvPafx9LEXcH8CLpUFQK7ra9l\n" +"3M4YAH4JKQlTG1be7ixruBRlCTh3YiSs66fKMeJeUYoxA2HPhvbGFEjQFAxunEYg\n" +"X/LBKv1mQWa+Q34P5GBjK8kQdLCN+yJAiUErmWNQG3GPninrxsC9tY5jcWvHeP1k\n" +"V7N3MLnNqzXaCJM24mnKidC5IDadUdQ8qC8c3rjUexQ8vBz0eucH56jbqV5oOcvx\n" +"pjlW965dCPIf3OI8q6J7bIOjyY+u/PTcVlqPq3TUz/ti6RkVbKpLH0D4ll3lUTns\n" +"JQt/+gJCPxHUJphy8sccBKhW29CLELJIIafvU30E1nWn9szh2Xjq\n" +"=TB1F\n" +"-----END PGP SIGNATURE-----\n"); + EXPECT_TRUE(StartsWithGPGClearTextSignature(tempfile)); + EXPECT_FALSE(OpenMaybeClearSignedFile(tempfile, fd)); + if (tempfile.empty() == false) + unlink(tempfile.c_str()); + EXPECT_FALSE(_error->empty()); + EXPECT_FALSE(fd.IsOpen()); + + std::string msg; + EXPECT_TRUE(_error->PendingError()); + EXPECT_TRUE(_error->PopMessage(msg)); + EXPECT_EQ("Clearsigned file '" + tempfile + "' contains unexpected line starting with a dash (msg)", msg); +} +TEST(OpenMaybeClearSignedFileTest,StrangeDashSigFile) +{ + std::string tempfile; + FileFd fd; + createTemporaryFile("strangedashfile", fd, &tempfile, "-----BEGIN PGP SIGNED MESSAGE-----\n" +"Hash: SHA512\n" +"\n" +"Test\n" +"-----BEGIN PGP SIGNATURE-----\n" +"\n" +"iQFEBAEBCgAuFiEENKjp0Y2zIPNn6OqgWpDRQdusja4FAlhT7+kQHGpvZUBleGFt\n" +"cGxlLm9yZwAKCRBakNFB26yNrjvEB/9/e3jA1l0fvPafx9LEXcH8CLpUFQK7ra9l\n" +"3M4YAH4JKQlTG1be7ixruBRlCTh3YiSs66fKMeJeUYoxA2HPhvbGFEjQFAxunEYg\n" +"-/LBKv1mQWa+Q34P5GBjK8kQdLCN+yJAiUErmWNQG3GPninrxsC9tY5jcWvHeP1k\n" +"V7N3MLnNqzXaCJM24mnKidC5IDadUdQ8qC8c3rjUexQ8vBz0eucH56jbqV5oOcvx\n" +"pjlW965dCPIf3OI8q6J7bIOjyY+u/PTcVlqPq3TUz/ti6RkVbKpLH0D4ll3lUTns\n" +"JQt/+gJCPxHUJphy8sccBKhW29CLELJIIafvU30E1nWn9szh2Xjq\n" +"=TB1F\n" +"-----END PGP SIGNATURE-----\n"); + EXPECT_TRUE(StartsWithGPGClearTextSignature(tempfile)); + EXPECT_FALSE(OpenMaybeClearSignedFile(tempfile, fd)); + if (tempfile.empty() == false) + unlink(tempfile.c_str()); + EXPECT_FALSE(_error->empty()); + EXPECT_FALSE(fd.IsOpen()); + + std::string msg; + EXPECT_TRUE(_error->PendingError()); + EXPECT_TRUE(_error->PopMessage(msg)); + EXPECT_EQ("Clearsigned file '" + tempfile + "' contains unexpected line starting with a dash (sig)", msg); +} diff --git a/test/libapt/tagfile_test.cc b/test/libapt/tagfile_test.cc index f455a8dcc4a27849156dbf66612714c5052653fe..8823ff7816a845984bb651b9c661abf52a747800 100644 --- a/test/libapt/tagfile_test.cc +++ b/test/libapt/tagfile_test.cc @@ -232,6 +232,8 @@ TEST(TagFileTest, Comments) FileFd fd; createTemporaryFile("commentfile", fd, NULL, "# Leading comments should be ignored.\n" "\n" +"# A wild second comment appears!\n" +"\n" "Source: foo\n" "#Package: foo\n" "Section: bar\n"