From 46e39c8e14dc98045107cfb38af8cecb8a4773b0 Mon Sep 17 00:00:00 2001 From: Michael Vogt Date: Fri, 8 Jan 2010 22:28:49 +0100 Subject: * French manpage translation update * spot & fix various typos in all manpages * German manpage translation update * cmdline/apt-cache.cc: - remove translatable marker from the "%4i %s\n" string * buildlib/po4a_manpage.mak: - instruct debiandoc to build files with utf-8 encoding * buildlib/tools.m4: - fix some warning from the buildtools * apt-pkg/acquire-item.cc: - add configuration PDiffs::Limit-options to not download too many or too big patches (Closes: #554349) * debian/control: - let all packages depend on ${misc:Depends} * share/*-archive.gpg: - remove the horrible outdated files. We already depend on the keyring so we don't need to ship our own version * cmdline/apt-key: - errors out if wget is not installed (Closes: #545754) - add --keyring option as we have now possibly many * methods/gpgv.cc: - pass all keyrings (TrustedParts) to gpgv instead of using only one trusted.gpg keyring (Closes: #304846) * methods/https.cc: - finally merge the rest of the patchset from Arnaud Ebalard with the CRL and Issuers options, thanks! (Closes: #485963) --- .bzrignore | 2 + apt-pkg/acquire-item.cc | 62 +- apt-pkg/contrib/configuration.cc | 41 +- apt-pkg/contrib/fileutl.cc | 50 ++ apt-pkg/contrib/fileutl.h | 3 + apt-pkg/indexcopy.cc | 4 +- apt-pkg/pkgcache.cc | 2 +- apt-pkg/policy.cc | 37 +- apt-pkg/sourcelist.cc | 43 +- buildlib/po4a_manpage.mak | 2 +- buildlib/tools.m4 | 12 +- cmdline/apt-cache.cc | 2 +- cmdline/apt-key | 47 +- configure.in | 6 +- debian/apt.dirs | 1 + debian/apt.postinst | 6 - debian/changelog | 36 + debian/control | 10 +- debian/rules | 1 - doc/apt-key.8.xml | 24 +- doc/apt.conf.5.xml | 15 +- doc/apt.ent | 13 + doc/examples/apt-https-method-example.conf | 21 + doc/examples/configure-index | 12 +- doc/guide.sgml | 6 +- doc/makefile | 2 +- doc/offline.sgml | 8 +- doc/po/de.po | 1147 ++++++++++++++++++---------- doc/po/fr.po | 46 +- doc/sources.list.5.xml | 2 +- methods/gpgv.cc | 102 +-- methods/https.cc | 26 +- po/apt-all.pot | 9 +- share/debian-archive.gpg | Bin 2280 -> 0 bytes share/ubuntu-archive.gpg | Bin 1724 -> 0 bytes 35 files changed, 1144 insertions(+), 656 deletions(-) delete mode 100644 share/debian-archive.gpg delete mode 100644 share/ubuntu-archive.gpg diff --git a/.bzrignore b/.bzrignore index 45db3c607..ac276b3fb 100644 --- a/.bzrignore +++ b/.bzrignore @@ -8,6 +8,8 @@ aclocal.m4 autom4te.cache/ build/ configure +buildlib/config.sub +buildlib/config.guess # generated files in the progress to build all # apt man pages and other documentation diff --git a/apt-pkg/acquire-item.cc b/apt-pkg/acquire-item.cc index afb3daad3..d2aca597e 100644 --- a/apt-pkg/acquire-item.cc +++ b/apt-pkg/acquire-item.cc @@ -219,19 +219,19 @@ bool pkgAcqDiffIndex::ParseDiffIndex(string IndexDiffFile) /*{{{*/ if(TF.Step(Tags) == true) { - string local_sha1; bool found = false; DiffInfo d; string size; - string tmp = Tags.FindS("SHA1-Current"); + string const tmp = Tags.FindS("SHA1-Current"); std::stringstream ss(tmp); - ss >> ServerSha1; + ss >> ServerSha1 >> size; + unsigned long const ServerSize = atol(size.c_str()); FileFd fd(CurrentPackagesFile, FileFd::ReadOnly); SHA1Summation SHA1; SHA1.AddFD(fd.Fd(), fd.Size()); - local_sha1 = string(SHA1.Result()); + string const local_sha1 = SHA1.Result(); if(local_sha1 == ServerSha1) { @@ -248,20 +248,56 @@ bool pkgAcqDiffIndex::ParseDiffIndex(string IndexDiffFile) /*{{{*/ std::clog << "SHA1-Current: " << ServerSha1 << std::endl; // check the historie and see what patches we need - string history = Tags.FindS("SHA1-History"); + string const history = Tags.FindS("SHA1-History"); std::stringstream hist(history); - while(hist >> d.sha1 >> size >> d.file) + while(hist >> d.sha1 >> size >> d.file) { - d.size = atoi(size.c_str()); // read until the first match is found + // from that point on, we probably need all diffs if(d.sha1 == local_sha1) found=true; - // from that point on, we probably need all diffs - if(found) + else if (found == false) + continue; + + if(Debug) + std::clog << "Need to get diff: " << d.file << std::endl; + available_patches.push_back(d); + } + + if (available_patches.empty() == false) + { + // patching with too many files is rather slow compared to a fast download + unsigned long const fileLimit = _config->FindI("Acquire::PDiffs::FileLimit", 0); + if (fileLimit != 0 && fileLimit < available_patches.size()) + { + if (Debug) + std::clog << "Need " << available_patches.size() << " diffs (Limit is " << fileLimit + << ") so fallback to complete download" << std::endl; + return false; + } + + // see if the patches are too big + found = false; // it was true and it will be true again at the end + d = *available_patches.begin(); + string const firstPatch = d.file; + unsigned long patchesSize = 0; + std::stringstream patches(Tags.FindS("SHA1-Patches")); + while(patches >> d.sha1 >> size >> d.file) + { + if (firstPatch == d.file) + found = true; + else if (found == false) + continue; + + patchesSize += atol(size.c_str()); + } + unsigned long const sizeLimit = ServerSize * _config->FindI("Acquire::PDiffs::SizeLimit", 100); + if (sizeLimit > 0 && (sizeLimit/100) < patchesSize) { - if(Debug) - std::clog << "Need to get diff: " << d.file << std::endl; - available_patches.push_back(d); + if (Debug) + std::clog << "Need " << patchesSize << " bytes (Limit is " << sizeLimit/100 + << ") so fallback to complete download" << std::endl; + return false; } } } @@ -270,7 +306,7 @@ bool pkgAcqDiffIndex::ParseDiffIndex(string IndexDiffFile) /*{{{*/ if(found) { // queue the diffs - string::size_type last_space = Description.rfind(" "); + string::size_type const last_space = Description.rfind(" "); if(last_space != string::npos) Description.erase(last_space, Description.size()-last_space); new pkgAcqIndexDiffs(Owner, RealURI, Description, Desc.ShortDesc, diff --git a/apt-pkg/contrib/configuration.cc b/apt-pkg/contrib/configuration.cc index 4e8586e83..08faf22b5 100644 --- a/apt-pkg/contrib/configuration.cc +++ b/apt-pkg/contrib/configuration.cc @@ -22,14 +22,8 @@ #include #include -#include #include #include - -#include -#include -#include -#include using namespace std; /*}}}*/ @@ -835,39 +829,8 @@ bool ReadConfigFile(Configuration &Conf,const string &FName,bool AsSectional, // ReadConfigDir - Read a directory of config files /*{{{*/ // --------------------------------------------------------------------- /* */ -bool ReadConfigDir(Configuration &Conf,const string &Dir,bool AsSectional, - unsigned Depth) -{ - DIR *D = opendir(Dir.c_str()); - if (D == 0) - return _error->Errno("opendir",_("Unable to read %s"),Dir.c_str()); - - vector List; - - for (struct dirent *Ent = readdir(D); Ent != 0; Ent = readdir(D)) - { - if (Ent->d_name[0] == '.') - continue; - - // Skip bad file names ala run-parts - const char *C = Ent->d_name; - for (; *C != 0; C++) - if (isalpha(*C) == 0 && isdigit(*C) == 0 && *C != '_' && *C != '-') - break; - if (*C != 0) - continue; - - // Make sure it is a file and not something else - string File = flCombine(Dir,Ent->d_name); - struct stat St; - if (stat(File.c_str(),&St) != 0 || S_ISREG(St.st_mode) == 0) - continue; - - List.push_back(File); - } - closedir(D); - - sort(List.begin(),List.end()); +{ + vector const List = GetListOfFilesInDir(Dir, "", true); // Read the files for (vector::const_iterator I = List.begin(); I != List.end(); I++) diff --git a/apt-pkg/contrib/fileutl.cc b/apt-pkg/contrib/fileutl.cc index 4240d9f49..cce8a4512 100644 --- a/apt-pkg/contrib/fileutl.cc +++ b/apt-pkg/contrib/fileutl.cc @@ -34,9 +34,11 @@ #include #include #include +#include #include #include #include +#include /*}}}*/ using namespace std; @@ -195,6 +197,54 @@ bool FileExists(string File) return true; } /*}}}*/ +// GetListOfFilesInDir - returns a vector of files in the given dir /*{{{*/ +// --------------------------------------------------------------------- +/* If an extension is given only files with this extension are included + in the returned vector, otherwise every "normal" file is included. */ +std::vector GetListOfFilesInDir(string const &Dir, string const &Ext, + bool const &SortList) +{ + std::vector List; + DIR *D = opendir(Dir.c_str()); + if (D == 0) + { + _error->Errno("opendir",_("Unable to read %s"),Dir.c_str()); + return List; + } + + for (struct dirent *Ent = readdir(D); Ent != 0; Ent = readdir(D)) + { + if (Ent->d_name[0] == '.') + continue; + + if (Ext.empty() == false && flExtension(Ent->d_name) != Ext) + continue; + + // Skip bad file names ala run-parts + const char *C = Ent->d_name; + for (; *C != 0; ++C) + if (isalpha(*C) == 0 && isdigit(*C) == 0 + && *C != '_' && *C != '-' && *C != '.') + break; + + if (*C != 0) + continue; + + // Make sure it is a file and not something else + string const File = flCombine(Dir,Ent->d_name); + struct stat St; + if (stat(File.c_str(),&St) != 0 || S_ISREG(St.st_mode) == 0) + continue; + + List.push_back(File); + } + closedir(D); + + if (SortList == true) + std::sort(List.begin(),List.end()); + return List; +} + /*}}}*/ // SafeGetCWD - This is a safer getcwd that returns a dynamic string /*{{{*/ // --------------------------------------------------------------------- /* We return / on failure. */ diff --git a/apt-pkg/contrib/fileutl.h b/apt-pkg/contrib/fileutl.h index 73b5ea3be..2807c29d9 100644 --- a/apt-pkg/contrib/fileutl.h +++ b/apt-pkg/contrib/fileutl.h @@ -23,6 +23,7 @@ #include +#include using std::string; @@ -81,6 +82,8 @@ bool RunScripts(const char *Cnf); bool CopyFile(FileFd &From,FileFd &To); int GetLock(string File,bool Errors = true); bool FileExists(string File); +std::vector GetListOfFilesInDir(string const &Dir, string const &Ext, + bool const &SortList); string SafeGetCWD(); void SetCloseExec(int Fd,bool Close); void SetNonBlock(int Fd,bool Block); diff --git a/apt-pkg/indexcopy.cc b/apt-pkg/indexcopy.cc index 57c9f95ca..53eb11172 100644 --- a/apt-pkg/indexcopy.cc +++ b/apt-pkg/indexcopy.cc @@ -275,7 +275,7 @@ bool IndexCopy::CopyPackages(string CDROM,string Name,vector &List, _error->Warning("No valid records were found."); if (NotFound + WrongSize > 10) - _error->Warning("Alot of entries were discarded, something may be wrong.\n"); + _error->Warning("A lot of entries were discarded, something may be wrong.\n"); return true; @@ -847,7 +847,7 @@ bool TranslationsCopy::CopyTranslations(string CDROM,string Name, /*{{{*/ _error->Warning("No valid records were found."); if (NotFound + WrongSize > 10) - _error->Warning("Alot of entries were discarded, something may be wrong.\n"); + _error->Warning("A lot of entries were discarded, something may be wrong.\n"); return true; diff --git a/apt-pkg/pkgcache.cc b/apt-pkg/pkgcache.cc index b0ce6e598..e8ee75b96 100644 --- a/apt-pkg/pkgcache.cc +++ b/apt-pkg/pkgcache.cc @@ -298,7 +298,7 @@ const char * pkgCache::PkgIterator::CandVersion() const { //TargetVer is empty, so don't use it. - VerIterator version = pkgPolicy::pkgPolicy(Owner).GetCandidateVer(*this); + VerIterator version = pkgPolicy(Owner).GetCandidateVer(*this); if (version.IsGood()) return version.VerStr(); return 0; diff --git a/apt-pkg/policy.cc b/apt-pkg/policy.cc index 81fdb0431..393181b6d 100644 --- a/apt-pkg/policy.cc +++ b/apt-pkg/policy.cc @@ -27,14 +27,12 @@ #include #include #include +#include #include #include - + #include -#include -#include -#include #include #include /*}}}*/ @@ -282,36 +280,7 @@ bool ReadPinDir(pkgPolicy &Plcy,string Dir) return true; } - DIR *D = opendir(Dir.c_str()); - if (D == 0) - return _error->Errno("opendir",_("Unable to read %s"),Dir.c_str()); - - vector List; - - for (struct dirent *Ent = readdir(D); Ent != 0; Ent = readdir(D)) - { - if (Ent->d_name[0] == '.') - continue; - - // Skip bad file names ala run-parts - const char *C = Ent->d_name; - for (; *C != 0; C++) - if (isalpha(*C) == 0 && isdigit(*C) == 0 && *C != '_' && *C != '-') - break; - if (*C != 0) - continue; - - // Make sure it is a file and not something else - string File = flCombine(Dir,Ent->d_name); - struct stat St; - if (stat(File.c_str(),&St) != 0 || S_ISREG(St.st_mode) == 0) - continue; - - List.push_back(File); - } - closedir(D); - - sort(List.begin(),List.end()); + vector const List = GetListOfFilesInDir(Dir, "", true); // Read the files for (vector::const_iterator I = List.begin(); I != List.end(); I++) diff --git a/apt-pkg/sourcelist.cc b/apt-pkg/sourcelist.cc index 4b3abe918..929259961 100644 --- a/apt-pkg/sourcelist.cc +++ b/apt-pkg/sourcelist.cc @@ -17,13 +17,6 @@ #include #include - -// CNC:2003-03-03 - This is needed for ReadDir stuff. -#include -#include -#include -#include -#include /*}}}*/ using namespace std; @@ -322,41 +315,7 @@ bool pkgSourceList::GetIndexes(pkgAcquire *Owner, bool GetAll) const /* */ bool pkgSourceList::ReadSourceDir(string Dir) { - DIR *D = opendir(Dir.c_str()); - if (D == 0) - return _error->Errno("opendir",_("Unable to read %s"),Dir.c_str()); - - vector List; - - for (struct dirent *Ent = readdir(D); Ent != 0; Ent = readdir(D)) - { - if (Ent->d_name[0] == '.') - continue; - - // CNC:2003-12-02 Only accept .list files as valid sourceparts - if (flExtension(Ent->d_name) != "list") - continue; - - // Skip bad file names ala run-parts - const char *C = Ent->d_name; - for (; *C != 0; C++) - if (isalpha(*C) == 0 && isdigit(*C) == 0 - && *C != '_' && *C != '-' && *C != '.') - break; - if (*C != 0) - continue; - - // Make sure it is a file and not something else - string File = flCombine(Dir,Ent->d_name); - struct stat St; - if (stat(File.c_str(),&St) != 0 || S_ISREG(St.st_mode) == 0) - continue; - - List.push_back(File); - } - closedir(D); - - sort(List.begin(),List.end()); + vector const List = GetListOfFilesInDir(Dir, "list", true); // Read the files for (vector::const_iterator I = List.begin(); I != List.end(); I++) diff --git a/buildlib/po4a_manpage.mak b/buildlib/po4a_manpage.mak index dfa215d29..6eec9d031 100644 --- a/buildlib/po4a_manpage.mak +++ b/buildlib/po4a_manpage.mak @@ -57,5 +57,5 @@ endif # Debian Doc SGML Documents SOURCE := $(wildcard *.$(LC).sgml) -DEBIANDOC_HTML_OPTIONS=-l $(LC) +DEBIANDOC_HTML_OPTIONS=-l $(LC).UTF-8 include $(DEBIANDOC_H) diff --git a/buildlib/tools.m4 b/buildlib/tools.m4 index d1d692331..433d5ca32 100644 --- a/buildlib/tools.m4 +++ b/buildlib/tools.m4 @@ -1,4 +1,4 @@ -AC_DEFUN(ah_HAVE_GETCONF, +AC_DEFUN([ah_HAVE_GETCONF], [AC_ARG_WITH(getconf, [ --with-getconf Enable automagical buildtime configuration], [if test "$withval" = "yes"; then @@ -14,7 +14,7 @@ AC_DEFUN(ah_HAVE_GETCONF, ]) dnl ah_GET_CONF(variable, value ..., [default]) -AC_DEFUN(ah_GET_GETCONF, +AC_DEFUN([ah_GET_GETCONF], [AC_REQUIRE([ah_HAVE_GETCONF]) if test ! -z "$GETCONF";then old_args="[$]@" @@ -28,7 +28,7 @@ AC_DEFUN(ah_GET_GETCONF, eval $1="$3" fi ]) -AC_DEFUN(ah_NUM_CPUS, +AC_DEFUN([ah_NUM_CPUS], [AC_MSG_CHECKING([number of cpus]) AC_ARG_WITH(cpus, [ --with-cpus The number of cpus to be used for building(see --with-procs, default 1)], @@ -56,7 +56,7 @@ AC_DEFUN(ah_NUM_CPUS, AC_MSG_RESULT([$ah_NUM_CPUS_msg]) AC_SUBST(NUM_CPUS) ]) -AC_DEFUN(ah_PROC_MULTIPLY, +AC_DEFUN([ah_PROC_MULTIPLY], [AC_REQUIRE([ah_NUM_CPUS]) AC_MSG_CHECKING([processor multiplier]) AC_ARG_WITH(proc-multiply, @@ -72,7 +72,7 @@ AC_DEFUN(ah_PROC_MULTIPLY, AC_SUBST(PROC_MULTIPLY) ]) -AC_DEFUN(ah_NUM_PROCS, +AC_DEFUN([ah_NUM_PROCS], [AC_REQUIRE([ah_PROC_MULTIPLY]) AC_REQUIRE([ah_NUM_CPUS]) AC_MSG_CHECKING([number of processes to run during make]) @@ -89,7 +89,7 @@ AC_DEFUN(ah_NUM_PROCS, AC_SUBST(NUM_PROCS) ]) -AC_DEFUN(ah_GCC3DEP,[ +AC_DEFUN([ah_GCC3DEP],[ AC_MSG_CHECKING(if $CXX -MD works) touch gcc3dep.cc ${CXX-c++} -MD -o gcc3dep_test.o -c gcc3dep.cc diff --git a/cmdline/apt-cache.cc b/cmdline/apt-cache.cc index 7d7f58a62..286f306cd 100644 --- a/cmdline/apt-cache.cc +++ b/cmdline/apt-cache.cc @@ -1620,7 +1620,7 @@ bool Policy(CommandLine &CmdL) if (SrcList->FindIndex(VF.File(),Indx) == false && _system->FindIndex(VF.File(),Indx) == false) return _error->Error(_("Cache is out of sync, can't x-ref a package file")); - printf(_(" %4i %s\n"),Plcy.GetPriority(VF.File()), + printf(" %4i %s\n",Plcy.GetPriority(VF.File()), Indx->Describe(true).c_str()); } } diff --git a/cmdline/apt-key b/cmdline/apt-key index 5f4e02fdf..e45468fd4 100755 --- a/cmdline/apt-key +++ b/cmdline/apt-key @@ -5,10 +5,8 @@ unset GREP_OPTIONS # We don't use a secret keyring, of course, but gpg panics and # implodes if there isn't one available - GPG_CMD="gpg --ignore-time-conflict --no-options --no-default-keyring --secret-keyring /etc/apt/secring.gpg --trustdb-name /etc/apt/trustdb.gpg" -GPG="$GPG_CMD --keyring /etc/apt/trusted.gpg" - +GPG="$GPG_CMD" MASTER_KEYRING="" ARCHIVE_KEYRING_URI="" @@ -56,7 +54,14 @@ add_keys_with_verify_against_master_keyring() { # (otherwise it does not make sense from a security POV) net_update() { if [ -z "$ARCHIVE_KEYRING_URI" ]; then - echo "ERROR: no location for the archive-keyring given" + echo "ERROR: no location for the archive-keyring given" + exit 1 + fi + # in theory we would need to depend on wget for this, but this feature + # isn't useable in debian anyway as we have no keyring uri nor a master key + if ! which wget >/dev/null 2>&1; then + echo "ERROR: an installed wget is required for a network-based update" + exit 1 fi if [ ! -d /var/lib/apt/keyrings ]; then mkdir -p /var/lib/apt/keyrings @@ -108,7 +113,7 @@ update() { usage() { - echo "Usage: apt-key [command] [arguments]" + echo "Usage: apt-key [--keyring file] [command] [arguments]" echo echo "Manage apt's list of trusted keys" echo @@ -122,8 +127,40 @@ usage() { echo " apt-key finger - list fingerprints" echo " apt-key adv - pass advanced options to gpg (download key)" echo + echo "If no specific keyring file is given the command applies to all keyring files." } +# Determine on which keyring we want to work +if [ "$1" = "--keyring" ]; then + #echo "keyfile given" + shift + TRUSTEDFILE="$1" + if [ -r "$TRUSTEDFILE" ]; then + GPG="$GPG --keyring $TRUSTEDFILE --primary-keyring $TRUSTEDFILE" + else + echo >&2 "Error: The specified keyring »$TRUSTEDFILE« is missing or not readable" + exit 1 + fi + shift +# otherwise use the default +else + #echo "generate list" + TRUSTEDFILE="/etc/apt/trusted.gpg" + if [ -r "$TRUSTEDFILE" ]; then + GPG="$GPG --keyring $TRUSTEDFILE" + fi + GPG="$GPG --primary-keyring $TRUSTEDFILE" + TRUSTEDPARTS="/etc/apt/trusted.gpg.d" + if [ -d "$TRUSTEDPARTS" ]; then + #echo "parts active" + for trusted in $(run-parts --list $TRUSTEDPARTS --regex '^.*\.gpg$'); do + #echo "part -> $trusted" + GPG="$GPG --keyring $trusted" + done + fi +fi +#echo "COMMAND: $GPG" + command="$1" if [ -z "$command" ]; then usage diff --git a/configure.in b/configure.in index fe30d4ca1..302d88d51 100644 --- a/configure.in +++ b/configure.in @@ -96,10 +96,10 @@ AC_MSG_RESULT($archset) AC_DEFINE_UNQUOTED(COMMON_ARCH,"$archset") dnl We use C99 types if at all possible -AC_CACHE_CHECK([for C99 integer types],c9x_ints,[ +AC_CACHE_CHECK([for C99 integer types],apt_cv_c9x_ints,[ AC_TRY_COMPILE([#include ], [uint8_t Foo1;uint16_t Foo2;uint32_t Foo3;], - c9x_ints=yes,c9x_ints=no)]) + apt_cv_c9x_ints=yes,apt_cv_c9x_ints=no)]) dnl Single Unix Spec statvfs AC_CHECK_FUNC(statvfs,[HAVE_STATVFS=yes]) @@ -150,7 +150,7 @@ AC_C_BIGENDIAN dnl We do not need this if we have inttypes! HAVE_C9X=yes -if test x"$c9x_ints" = x"no"; then +if test x"$apt_cv_c9x_ints" = x"no"; then AC_CHECK_SIZEOF(char,$size_char) AC_CHECK_SIZEOF(int,$size_int) AC_CHECK_SIZEOF(short,$size_short) diff --git a/debian/apt.dirs b/debian/apt.dirs index fb6716c35..66556e453 100644 --- a/debian/apt.dirs +++ b/debian/apt.dirs @@ -5,6 +5,7 @@ etc/apt etc/apt/apt.conf.d etc/apt/preferences.d etc/apt/sources.list.d +etc/apt/trusted.gpg.d etc/logrotate.d var/cache/apt/archives/partial var/lib/apt/lists/partial diff --git a/debian/apt.postinst b/debian/apt.postinst index 88fb932df..cc0d8b1fe 100644 --- a/debian/apt.postinst +++ b/debian/apt.postinst @@ -15,13 +15,7 @@ set -e case "$1" in configure) - - if ! test -f /etc/apt/trusted.gpg; then - cp /usr/share/apt/debian-archive.gpg /etc/apt/trusted.gpg - fi - apt-key update - ;; abort-upgrade|abort-remove|abort-deconfigure) diff --git a/debian/changelog b/debian/changelog index 53dfcce12..56d3f79c0 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,39 @@ +apt (0.7.25.1) UNRELEASED; urgency=low + + [ Christian Perrier ] + * French manpage translation update + + [Chris Leick] + * spot & fix various typos in all manpages + * German manpage translation update + + [ David Kalnischkies ] + * cmdline/apt-cache.cc: + - remove translatable marker from the "%4i %s\n" string + * buildlib/po4a_manpage.mak: + - instruct debiandoc to build files with utf-8 encoding + * buildlib/tools.m4: + - fix some warning from the buildtools + * apt-pkg/acquire-item.cc: + - add configuration PDiffs::Limit-options to not download + too many or too big patches (Closes: #554349) + * debian/control: + - let all packages depend on ${misc:Depends} + * share/*-archive.gpg: + - remove the horrible outdated files. We already depend on + the keyring so we don't need to ship our own version + * cmdline/apt-key: + - errors out if wget is not installed (Closes: #545754) + - add --keyring option as we have now possibly many + * methods/gpgv.cc: + - pass all keyrings (TrustedParts) to gpgv instead of + using only one trusted.gpg keyring (Closes: #304846) + * methods/https.cc: + - finally merge the rest of the patchset from Arnaud Ebalard + with the CRL and Issuers options, thanks! (Closes: #485963) + + -- Michael Vogt Fri, 08 Jan 2010 20:17:28 +0100 + apt (0.7.25) unstable; urgency=low [ Christian Perrier ] diff --git a/debian/control b/debian/control index 357fb3f5f..d756871d1 100644 --- a/debian/control +++ b/debian/control @@ -11,7 +11,7 @@ Vcs-Bzr: http://bzr.debian.org/apt/debian-sid/ Package: apt Architecture: any -Depends: ${shlibs:Depends}, debian-archive-keyring +Depends: ${shlibs:Depends}, debian-archive-keyring, ${misc:Depends} Replaces: libapt-pkg-doc (<< 0.3.7), libapt-pkg-dev (<< 0.3.7) Provides: ${libapt-pkg:provides} Suggests: aptitude | synaptic | wajig, dpkg-dev, apt-doc, bzip2, lzma, python-apt @@ -26,6 +26,7 @@ Description: Advanced front-end for dpkg Package: apt-doc Architecture: all Priority: optional +Depends: ${misc:Depends} Replaces: apt (<< 0.5.4.9) Section: doc Description: Documentation for APT @@ -35,7 +36,7 @@ Description: Documentation for APT Package: libapt-pkg-dev Architecture: any Priority: optional -Depends: apt (= ${binary:Version}), apt-utils (= ${binary:Version}), ${libapt-pkg:provides}, ${libapt-inst:provides} +Depends: apt (= ${binary:Version}), apt-utils (= ${binary:Version}), ${libapt-pkg:provides}, ${libapt-inst:provides}, ${misc:Depends} Section: libdevel Description: Development files for APT's libapt-pkg and libapt-inst This package contains the header files and libraries for @@ -45,6 +46,7 @@ Description: Development files for APT's libapt-pkg and libapt-inst Package: libapt-pkg-doc Architecture: all Priority: optional +Depends: ${misc:Depends} Section: doc Description: Documentation for APT development This package contains documentation for development of the APT @@ -52,7 +54,7 @@ Description: Documentation for APT development Package: apt-utils Architecture: any -Depends: ${shlibs:Depends} +Depends: ${shlibs:Depends}, ${misc:Depends} Provides: ${libapt-inst:provides} Replaces: apt (<< 0.5.9) Description: APT utility programs @@ -65,7 +67,7 @@ Description: APT utility programs Package: apt-transport-https Architecture: any -Depends: ${shlibs:Depends} +Depends: ${shlibs:Depends}, ${misc:Depends} Priority: optional Description: APT https transport This package contains a APT https transport. It makes it possible to diff --git a/debian/rules b/debian/rules index d01b57cd6..37c96ef20 100755 --- a/debian/rules +++ b/debian/rules @@ -213,7 +213,6 @@ apt: build build-doc debian/shlibs.local cp debian/bugscript debian/$@/usr/share/bug/apt/script cp debian/apt.logrotate debian/$@/etc/logrotate.d/apt - cp share/debian-archive.gpg debian/$@/usr/share/$@ cp debian/apt.conf.autoremove debian/$@/etc/apt/apt.conf.d/01autoremove # head -n 500 ChangeLog > debian/ChangeLog diff --git a/doc/apt-key.8.xml b/doc/apt-key.8.xml index 7b0691b5e..8f445b7f9 100644 --- a/doc/apt-key.8.xml +++ b/doc/apt-key.8.xml @@ -26,7 +26,8 @@ apt-key - command/ + + command @@ -135,11 +136,24 @@ + Options +Note that options need to be defined before the commands described in the previous section. + + --keyring filename + With this option it is possible to specify a specific keyring + file the command should operate on. The default is that a command is executed + on the trusted.gpg file as well as on all parts in the + trusted.gpg.d directory, through trusted.gpg + is the primary keyring which means that e.g. new keys are added to this one. + + + + + Files - /etc/apt/trusted.gpg - Keyring of local trusted keys, new keys will be added here. - + + &file-trustedgpg; /etc/apt/trustdb.gpg Local trust database of archive keys. @@ -153,8 +167,6 @@ Keyring of Debian archive removed trusted keys. - - diff --git a/doc/apt.conf.5.xml b/doc/apt.conf.5.xml index d7ad51cfb..500079f24 100644 --- a/doc/apt.conf.5.xml +++ b/doc/apt.conf.5.xml @@ -166,10 +166,10 @@ DPkg::Pre-Install-Pkgs {"/usr/sbin/dpkg-preconfigure --apt";}; longer guaranteed to work as their dependency on A is not longer satisfied. The immediate configuration marker is also applied to all dependencies which can generate a problem if the dependencies e.g. form a circle as a dependency with the immediate flag is comparable with a Pre-Dependency. So in theory it is possible - that APT encounters a situation in which it is unable to perform immediate configuration, error out and - refers to this option so the user can deactivate the immediate configuration temporary to be able to perform + that APT encounters a situation in which it is unable to perform immediate configuration, errors out and + refers to this option so the user can deactivate the immediate configuration temporarily to be able to perform an install/upgrade again. Note the use of the word "theory" here as this problem was only encountered by now - in real world a few times in non-stable distribution versions and caused by wrong dependencies of the package + in real world a few times in non-stable distribution versions and was caused by wrong dependencies of the package in question or by a system in an already broken state, so you should not blindly disable this option as the mentioned scenario above is not the only problem immediate configuration can help to prevent in the first place. Before a big operation like dist-upgrade is run with this option disabled it should be tried to @@ -221,7 +221,14 @@ DPkg::Pre-Install-Pkgs {"/usr/sbin/dpkg-preconfigure --apt";}; PDiffs Try to download deltas called PDiffs for Packages or Sources files instead of downloading whole ones. True - by default. + by default. + Two sub-options to limit the use of PDiffs are also available: + With FileLimit can be specified how many PDiff files + are downloaded at most to patch a file. SizeLimit + on the other hand is the maximum precentage of the size of all patches + compared to the size of the targeted file. If one of these limits is + exceeded the complete file is downloaded instead of the patches. + Queue-Mode diff --git a/doc/apt.ent b/doc/apt.ent index 0b341ec14..da43d8f3d 100644 --- a/doc/apt.ent +++ b/doc/apt.ent @@ -353,3 +353,16 @@ Configuration Item: Dir::State::Lists (implicit partial). "> + +/etc/apt/trusted.gpg + Keyring of local trusted keys, new keys will be added here. + Configuration Item: Dir::Etc::Trusted. + + + /etc/apt/trusted.gpg.d/ + File fragments for the trusted keys, additional keyrings can + be stored here (by other packages or the administrator). + Configuration Item Dir::Etc::TrustedParts. + +"> diff --git a/doc/examples/apt-https-method-example.conf b/doc/examples/apt-https-method-example.conf index 0067171bd..cc7889044 100644 --- a/doc/examples/apt-https-method-example.conf +++ b/doc/examples/apt-https-method-example.conf @@ -36,6 +36,8 @@ to access its content. - The certificate presented by both server have (as expected) a CN that matches their respective DNS names. + - We have CRL available for both dom1.tld and dom2.tld PKI, and intend + to use them. - It somtimes happens that we had other more generic https available repository to our list. We want the checks to be performed against a common list of anchors (like the one provided by ca-certificates @@ -56,10 +58,13 @@ Acquire::https::CaInfo "/etc/ssl/certs/ca-certificates.pem"; // Use a specific anchor and associated CRL. Enforce issuer of // server certificate using its cert. Acquire::https::secure.dom1.tld::CaInfo "/etc/apt/certs/ca-dom1-crt.pem"; +Acquire::https::secure.dom1.tld::CrlFile "/etc/apt/certs/ca-dom1-crl.pem"; +Acquire::https::secure.dom1.tld::IssuerCert "/etc/apt/certs/secure.dom1-issuer-crt.pem"; // Like previous for anchor and CRL, but also provide our // certificate and keys for client authentication. Acquire::https::secure.dom2.tld::CaInfo "/etc/apt/certs/ca-dom2-crt.pem"; +Acquire::https::secure.dom2.tld::CrlFile "/etc/apt/certs/ca-dom2-crl.pem"; Acquire::https::secure.dom2.tld::SslCert "/etc/apt/certs/my-crt.pem"; Acquire::https::secure.dom2.tld::SslKey "/etc/apt/certs/my-key.pem"; @@ -97,6 +102,22 @@ Acquire::https::secure.dom2.tld::SslKey "/etc/apt/certs/my-key.pem"; used for the https entries in the sources.list file that use that repository (with the same name). + Acquire::https[::repo.domain.tld]::CrlFile "/path/to/all/crl.pem"; + + Like previous knob but for passing the list of CRL files (in PEM + format) to be used to verify revocation status. Again, if the + option is defined with no specific mirror (probably makes little + sense), this CRL information is used for all defined https entries + in sources.list file. In a mirror specific context, it only applies + to that mirror. + + Acquire::https[::repo.domain.tld]::IssuerCert "/path/to/issuer/cert.pem"; + + Allows to constrain the issuer of the server certificate (for all + https mirrors or a specific one) to a specific issuer. If the + server certificate has not been issued by this certificate, + connection fails. + Acquire::https[::repo.domain.tld]::Verify-Peer "true"; When authenticating the server, if the certificate verification fails diff --git a/doc/examples/configure-index b/doc/examples/configure-index index ced390447..b22603ed7 100644 --- a/doc/examples/configure-index +++ b/doc/examples/configure-index @@ -90,11 +90,6 @@ APT TrustCDROM "false"; // consider the CDROM always trusted }; - GPGV - { - TrustedKeyring "/etc/apt/trusted.gpg"; - }; - // Some general options Ignore-Hold "false"; Clean-Installed "true"; @@ -176,7 +171,10 @@ Acquire Source-Symlinks "true"; PDiffs "true"; // try to get the IndexFile diffs - + PDiffs::FileLimit "4"; // don't use diffs if we would need more than 4 diffs + PDiffs::SizeLimit "50"; // don't use diffs if size of all patches excess + // 50% of the size of the original file + // HTTP method configuration http { @@ -308,6 +306,8 @@ Dir "/" SourceParts "sources.list.d"; VendorList "vendors.list"; VendorParts "vendors.list.d"; + Trusted "trusted.gpg"; + TrustedParts "trusted.gpg.d"; }; // Locations of binaries diff --git a/doc/guide.sgml b/doc/guide.sgml index 1b7e1d8f3..ff727f6ca 100644 --- a/doc/guide.sgml +++ b/doc/guide.sgml @@ -56,7 +56,7 @@ requires another package to be installed at the same time to work properly.

For instance, mailcrypt is an emacs extension that aids in encrypting email -with GPG. Without GPGP installed mail-crypt is useless, so mailcrypt has a +with GPG. Without GPGP installed mailcrypt is useless, so mailcrypt has a simple dependency on GPG. Also, because it is an emacs extension it has a simple dependency on emacs, without emacs it is completely useless. @@ -171,7 +171,7 @@ the dselect package selection GUI. dselect is used to select the packages to be installed or removed and APT actually installs them.

-To enable the APT method you need to to select [A]ccess in dselect +To enable the APT method you need to select [A]ccess in dselect and then choose the APT method. You will be prompted for a set of Sources which are places to fetch archives from. These can be remote Internet sites, local Debian mirrors or CDROMs. Each source can provide @@ -239,7 +239,7 @@ prompt until you have specified all that you want.

Before starting to use dselect it is necessary to update the -available list by selecting [U]pdate from the menu. This is a super-set of +available list by selecting [U]pdate from the menu. This is a superset of apt-get update that makes the fetched information available to dselect. [U]pdate must be performed even if apt-get update has been run before. diff --git a/doc/makefile b/doc/makefile index 6fb604e4e..6e6186466 100644 --- a/doc/makefile +++ b/doc/makefile @@ -8,7 +8,7 @@ include ../buildlib/defaults.mak # Debian Doc SGML Documents SOURCE = $(wildcard *.sgml) -DEBIANDOC_HTML_OPTIONS=-l en +DEBIANDOC_HTML_OPTIONS=-l en.UTF-8 include $(DEBIANDOC_H) # Do not use XMLTO, build the manpages directly with XSLTPROC diff --git a/doc/offline.sgml b/doc/offline.sgml index 99e260bc3..e7ede14de 100644 --- a/doc/offline.sgml +++ b/doc/offline.sgml @@ -50,7 +50,7 @@ no connection.

This is achieved by creatively manipulating the APT configuration file. The -essential premis to tell APT to look on a disc for it's archive files. Note +essential premise to tell APT to look on a disc for it's archive files. Note that the disc should be formated with a filesystem that can handle long file names such as ext2, fat32 or vfat. @@ -129,7 +129,7 @@ configuration file in /usr/share/doc/apt/examples/apt.conf.

On the target machine the first thing to do is mount the disc and copy /var/lib/dpkg/status to it. You will also need to create the directories -outlined in the Overview, archives/partial/ and lists/partial/ +outlined in the Overview, archives/partial/ and lists/partial/. Then take the disc to the remote machine and configure the sources.list. On the remote machine execute the following: @@ -141,9 +141,9 @@ On the remote machine execute the following: [ APT fetches all the packages needed to upgrade the target machine ] -The dist-upgrade command can be replaced with any-other standard APT commands, +The dist-upgrade command can be replaced with any other standard APT commands, particularly dselect-upgrade. You can even use an APT front end such as -dselect However this presents a problem in communicating your +dselect. However this presents a problem in communicating your selections back to the local computer.

diff --git a/doc/po/de.po b/doc/po/de.po index 3ec7c4a5b..00ebf7b3d 100644 --- a/doc/po/de.po +++ b/doc/po/de.po @@ -8,7 +8,7 @@ msgstr "" "Project-Id-Version: apt-doc 0.7.24\n" "Report-Msgid-Bugs-To: APT Development Team \n" "POT-Creation-Date: 2009-11-27 00:05+0100\n" -"PO-Revision-Date: 2009-10-28 23:51+GMT\n" +"PO-Revision-Date: 2009-12-31 17:41+GMT\n" "Last-Translator: Chris Leick \n" "Language-Team: German \n" "MIME-Version: 1.0\n" @@ -42,7 +42,7 @@ msgstr "NAME" #. type: Plain text #: apt.8:20 msgid "apt - Advanced Package Tool" -msgstr "apt - Fortschrittliches Paketierungswerkzeug (Advanced Package Tool)" +msgstr "apt - Fortschrittliches Paketwerkzeug (Advanced Package Tool)" #. type: SH #: apt.8:20 @@ -350,13 +350,7 @@ msgstr "" #. type: Plain text #: apt.ent:84 -#, fuzzy, no-wrap -#| msgid "" -#| "\n" -#| " dpkg\n" -#| " 8\n" -#| " \"\n" -#| ">\n" +#, no-wrap msgid "" "\n" " dpkg\n" @@ -366,7 +360,7 @@ msgid "" msgstr "" "\n" " dpkg\n" -" 8\n" +" 1\n" " \"\n" ">\n" @@ -404,13 +398,7 @@ msgstr "" #. type: Plain text #: apt.ent:102 -#, fuzzy, no-wrap -#| msgid "" -#| "\n" -#| " dpkg-scanpackages\n" -#| " 8\n" -#| " \"\n" -#| ">\n" +#, no-wrap msgid "" "\n" " dpkg-scanpackages\n" @@ -420,19 +408,13 @@ msgid "" msgstr "" "\n" " dpkg-scanpackages\n" -" 8\n" +" 1\n" " \"\n" ">\n" #. type: Plain text #: apt.ent:108 -#, fuzzy, no-wrap -#| msgid "" -#| "\n" -#| " dpkg-scansources\n" -#| " 8\n" -#| " \"\n" -#| ">\n" +#, no-wrap msgid "" "\n" " dpkg-scansources\n" @@ -442,19 +424,13 @@ msgid "" msgstr "" "\n" " dpkg-scansources\n" -" 8\n" +" 1\n" " \"\n" ">\n" #. type: Plain text #: apt.ent:114 -#, fuzzy, no-wrap -#| msgid "" -#| "\n" -#| " dselect\n" -#| " 8\n" -#| " \"\n" -#| ">\n" +#, no-wrap msgid "" "\n" " dselect\n" @@ -464,7 +440,7 @@ msgid "" msgstr "" "\n" " dselect\n" -" 8\n" +" 1\n" " \"\n" ">\n" @@ -1375,13 +1351,6 @@ msgstr "" #. type: Content of: #: apt-cache.8.xml:152 -#, fuzzy -#| msgid "" -#| "Missing is the number of package names that were " -#| "referenced in a dependency but were not provided by any package. Missing " -#| "packages may be in evidence if a full distribution is not accessed, or if " -#| "a package (real or virtual) has been dropped from the distribution. " -#| "Usually they are referenced from Conflicts or Breaks statements." msgid "" "Missing is the number of package names that were " "referenced in a dependency but were not provided by any package. Missing " @@ -1408,8 +1377,9 @@ msgstr "" "Total distinct Versionen ist die Anzahl der im " "Zwischenspeicher gefundenen Paketversionen. Dieser Wert ist daher meistens " "gleich der Anzahl der gesamten Paketnamen. Wenn auf mehr als eine " -"Distribution (zum Beispiel »stable« und »unstable« zusammen) zugegriffen wird, " -"kann dieser Wert deutlich größer als die gesamte Anzahl der Paketnamen sein." +"Distribution (zum Beispiel »stable« und »unstable« zusammen) zugegriffen " +"wird, kann dieser Wert deutlich größer als die gesamte Anzahl der " +"Paketnamen sein." #. type: Content of: #: apt-cache.8.xml:166 @@ -1584,11 +1554,6 @@ msgstr "" #. type: Content of: #: apt-cache.8.xml:234 -#, fuzzy -#| msgid "" -#| "Note that a package which APT knows of is not nessasarily available to " -#| "download, installable or installed, e.g. virtual packages are also listed " -#| "in the generated list." msgid "" "Note that a package which APT knows of is not necessarily available to " "download, installable or installed, e.g. virtual packages are also listed in " @@ -2017,7 +1982,7 @@ msgid "" "add ident " msgstr "" "apt-cdrom " -"hinzufügenIdentifikation" @@ -2030,7 +1995,7 @@ msgid "" "the structure of the disc as well as correcting for several possible mis-" "burns and verifying the index files." msgstr "" -"apt-cdrom wird benutzt, um eine neue CDROM zu APTs Liste " +"apt-cdrom wird benutzt, um eine neue CD-ROM zu APTs Liste " "der verfügbaren Quellen hinzuzufügen. apt-cdrom kümmert " "sich um die festgestellte Struktur des Mediums, sowie die Korrektur für " "mehrere mögliche Fehlbrennungen und prüft die Indexdateien." @@ -2062,7 +2027,7 @@ msgid "" "title." msgstr "" "add wird benutzt, um ein neues Medium zur Quellenliste " -"hinzuzufügen. Es wird das CDROM-Gerät aushängen, verlangen, dass ein Medium " +"hinzuzufügen. Es wird das CD-ROM-Gerät aushängen, verlangen, dass ein Medium " "eingelegt wird und dann mit den Einlesen und Kopieren der Indexdateien " "fortfahren. Wenn das Medium kein angemessenes disk-" "Verzeichnis hat, werden Sie nach einem aussagekräftigen Titel gefragt." @@ -2074,7 +2039,7 @@ msgid "" "maintains a database of these IDs in &statedir;/cdroms.list" msgstr "" -"APT benutzt eine CDROM-ID, um nachzuverfolgen, welches Medium gerade im " +"APT benutzt eine CD-ROM-ID, um nachzuverfolgen, welches Medium gerade im " "Laufwerk ist und verwaltet eine Datenbank mit diesen IDs in " "&statedir;/cdroms.list" @@ -2341,9 +2306,9 @@ msgid "" "names, d returns directories, b returns true or false and i returns an " "integer. Each of the returns is normalized and verified internally." msgstr "" -"An das Konfigurationselement kann /[fdbi] angehängt werden. f gibt " -"Dateinamen zurück, d gibt Verzeichnisse zurück, b gibt true oder false " -"zurück und i gibt eine Ganzzahl zurück. Jede Rückgabe ist normiert und " +"An das Konfigurationselement kann /[fdbi] angehängt werden. »f« gibt " +"Dateinamen zurück, »d« gibt Verzeichnisse zurück, »b« gibt true oder false " +"zurück und »i« gibt eine Ganzzahl zurück. Jede Rückgabe ist normiert und " "intern geprüft." #. type: Content of: @@ -2426,10 +2391,10 @@ msgid "" "XXXX and package.config.XXXX" msgstr "" "Schablonendatei und Konfigurationsskript werden in das temporäre Verzeichnis " -"geschrieben, das durch -t oder --tempdir (APT::ExtractTemplates::" -"TempDir) Verzeichnis mit Dateinamen der Form package." -"template.XXXX und package.config.XXXX " -"angegeben wurde" +"geschrieben, das durch »-t« oder »--tempdir« " +"(APT::ExtractTemplates::TempDir) Verzeichnis mit " +"Dateinamen der Form package. template.XXXX und " +"package.config.XXXX angegeben wurde" #. type: Content of: #: apt-extracttemplates.1.xml:60 apt-get.8.xml:488 @@ -2443,11 +2408,6 @@ msgstr "" #. type: Content of: #: apt-extracttemplates.1.xml:62 -#, fuzzy -#| msgid "" -#| "Temporary directory in which to write extracted debconf template files " -#| "and config scripts Configuration Item: APT::ExtractTemplates::" -#| "TempDir" msgid "" "Temporary directory in which to write extracted debconf template files and " "config scripts. Configuration Item: APT::ExtractTemplates::" @@ -2469,15 +2429,11 @@ msgstr "" #. The last update date #. type: Content of: #: apt-ftparchive.1.xml:13 -#, fuzzy -#| msgid "" -#| "&apt-author.moconnor; &apt-author.team; &apt-email; &apt-product; 9 " -#| "August 2009" msgid "" "&apt-author.jgunthorpe; &apt-author.team; &apt-email; &apt-product; 17 " "August 2009" msgstr "" -"&apt-author.moconnor; &apt-author.team; &apt-email; &apt-product; 9. " +"&apt-author.jgunthorpe; &apt-author.team; &apt-email; &apt-product; 17. " "August 2009" #. type: Content of: @@ -2567,9 +2523,9 @@ msgid "" "automatically performs file-change checks and builds the desired compressed " "output files." msgstr "" -"Intern kann apt-ftparchive von Programmdatenbänken " +"Intern kann apt-ftparchive von Programmdatenbanken " "Gebrauch machen, um die Inhalte einer .deb-Datei zwischenzuspeichern und es " -"verlässt sich nicht auf irgendwelche externen Programme, abgesehen von " +"verlasst sich nicht auf irgendwelche externen Programme, abgesehen von " "&gzip;. Wenn eine vollständige Generierung erfolgt, werden automatisch " "Dateiänderungsprüfungen durchgeführt und die gewünschten gepackten " "Ausgabedateien erzeugt." @@ -2587,8 +2543,8 @@ msgid "" "emitting a package record to stdout for each. This command is approximately " "equivalent to &dpkg-scanpackages;." msgstr "" -"Der packages-Befehl generiert eine Paketdatei aus einem Verzeichnisbaum. Er " -"nimmt ein vorgegebenes Verzeichnis und durchsucht es rekursiv nach .deb-" +"Der »packages«-Befehl generiert eine Paketdatei aus einem Verzeichnisbaum. " +"Er nimmt ein vorgegebenes Verzeichnis und durchsucht es rekursiv nach .deb-" "Dateien, wobei es für jede einen Paketdatensatz auf stdout ausgibt.Dieser " "Befehl entspricht etwa &dpkg-scanpackages;." @@ -2626,8 +2582,9 @@ msgid "" "change the source override file that will be used." msgstr "" "Wenn eine Override-Datei angegeben ist, wird nach einer Quellen-Override-" -"Datei mit einer .src-Dateiendung gesucht. Die Option --source-override kann " -"benutzt werden, um die Quellen-Override-Datei, die benutzt wird, zu ändern." +"Datei mit einer .src-Dateiendung gesucht. Die Option »--source-override« " +"kann benutzt werden, um die Quellen-Override-Datei, die benutzt wird, zu " +"ändern." #. type: Content of: #: apt-ftparchive.1.xml:97 @@ -2766,12 +2723,6 @@ msgstr "Dir-Abschnitt" #. type: Content of: #: apt-ftparchive.1.xml:159 -#, fuzzy -#| msgid "" -#| "The Dir section defines the standard directories " -#| "needed to locate the files required during the generation process. These " -#| "directories are prepended to certain relative paths defined in later " -#| "sections to produce a complete an absolute path." msgid "" "The Dir section defines the standard directories needed " "to locate the files required during the generation process. These " @@ -3212,7 +3163,6 @@ msgstr "" "Wenn ein Tree-Abschnitt bearbeitet wird, führt " "apt-ftparchive eine Operation aus, die folgender ähnelt:" -# report, that this string is missing in man page #. type: Content of: #: apt-ftparchive.1.xml:354 #, no-wrap @@ -3489,7 +3439,7 @@ msgid "" "Configuration Item: APT::FTPArchive::DB." msgstr "" "Benutzt eine Programmzwischenspeicherdatenbank. Dies hat keine Auswirkung " -"auf den generate-Befehl. Konfigurationselement: APT::FTPArchive::" +"auf den »generate«-Befehl. Konfigurationselement: APT::FTPArchive::" "DB." #. type: Content of: @@ -3542,7 +3492,7 @@ msgstr "" "Führt Inhaltsgenerierung durch. Wenn diese Option gesetzt ist und " "Paketindizes mit einer Zwischenspeicherdatenbank generiert werden, dann wird " "die Dateiliste auch extrahiert und für spätere Benutzung in der Datenbank " -"gespeichert. Wenn der generate-Befehl benutzt wird, erlaubt diese Option " +"gespeichert. Wenn der »generate«-Befehl benutzt wird, erlaubt diese Option " "außerdem die Erzeugung beliebiger Contents-Dateien. Die Vorgabe ist an. " "Konfigurationselement: APT::FTPArchive::Contents." @@ -3578,10 +3528,8 @@ msgstr "" #. type: Content of: #: apt-ftparchive.1.xml:547 -#, fuzzy -#| msgid "" msgid "" -msgstr "" +msgstr "" #. type: Content of: #: apt-ftparchive.1.xml:549 @@ -3592,6 +3540,12 @@ msgid "" "that it is currently not possible to create these files with apt-" "ftparchive." msgstr "" +"Diese Konfigurationsoption ist standardmäßig »true« und " +"sollte nur auf »false« gesetzt werden, wenn das mit " +"&apt-ftparchive; generierte Archiv außerdem " +"Translation-Dateien bereitstellt. Beachten Sie, dass " +"es derzeit nicht möglich ist, diese Dateien mit " +"apt-ftparchive zu erstellen." #. type: Content of: #: apt-ftparchive.1.xml:561 apt.conf.5.xml:1011 apt_preferences.5.xml:462 @@ -3612,8 +3566,8 @@ msgid "" "packages (.deb): <placeholder type=\"programlisting\" id=\"0\"/>" msgstr "" "Um eine gepackte Paketdatei für ein Verzeichnis zu erstellen, das " -"Programmpakete (.deb) enthält: <placeholder type=\"programlisting\" id=\"0\"/" -">" +"Programmpakete (.deb) enthält: <placeholder type=\"programlisting\" " +"id=\"0\"/>" #. type: Content of: <refentry><refsect1><para> #: apt-ftparchive.1.xml:577 @@ -3885,8 +3839,8 @@ msgstr "" "ausgewählt werden. Dies bewirkt, dass diese Version gesucht und zum " "Installieren ausgewählt wird. Alternativ kann eine bestimmte Distribution " "durch den Paketnamen gefolgt von einem Schrägstrich und der Version der " -"Distribution oder des Archivnamens (stable, testing, unstable) ausgewählt " -"werden." +"Distribution oder des Archivnamens (»stable«, »testing«, »unstable«) " +"ausgewählt werden." #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> #: apt-get.8.xml:210 @@ -3939,13 +3893,13 @@ msgid "" "expression." msgstr "" "Wenn keine Pakete dem angegebenen Ausdruck entsprechen und der Ausdruck " -"entweder ».«,»,«,»?« oder »*« enthält, dann wird vermutet, dass es sich um einen " -"regulären POSIX-Ausdruck handelt und er wird auf alle Paketnamen in der " -"Datenbank angewandt. Jeder Treffer wird dann installiert (oder entfernt). " -"Beachten Sie, dass nach übereinstimmenden Zeichenkettenteilen gesucht wird, " -"so dass »lo.*« auf »how-lo« und »lowest« passt. Wenn dies nicht gewünscht wird, " -"hängen Sie an den regulären Ausdruck ein »^«- oder »$«-Zeichen, um genauere " -"reguläre Ausdruck zu erstellen." +"entweder ».«,»,«,»?« oder »*« enthält, dann wird vermutet, dass es sich um " +"einen regulären POSIX-Ausdruck handelt und er wird auf alle Paketnamen in " +"der Datenbank angewandt. Jeder Treffer wird dann installiert (oder " +"entfernt). Beachten Sie, dass nach übereinstimmenden Zeichenkettenteilen " +"gesucht wird, so dass »lo.*« auf »how-lo« und »lowest« passt. Wenn dies " +"nicht gewünscht wird, hängen Sie an den regulären Ausdruck ein »^«- oder " +"»$«-Zeichen, um genauere reguläre Ausdruck zu erstellen." #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> #: apt-get.8.xml:237 @@ -3990,15 +3944,6 @@ msgstr "source" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> #: apt-get.8.xml:251 -#, fuzzy -#| msgid "" -#| "<literal>source</literal> causes <command>apt-get</command> to fetch " -#| "source packages. APT will examine the available packages to decide which " -#| "source package to fetch. It will then find and download into the current " -#| "directory the newest available version of that source package while " -#| "respect the default release, set with the option <literal>APT::Default-" -#| "Release</literal>, the <option>-t</option> option or per package with " -#| "with the <literal>pkg/release</literal> syntax, if possible." msgid "" "<literal>source</literal> causes <command>apt-get</command> to fetch source " "packages. APT will examine the available packages to decide which source " @@ -4026,7 +3971,7 @@ msgid "" "from. If you don't do this you will properly get another (newer, older or " "none) source version than the one you have installed or could install." msgstr "" -"Paketquellen werden von Programmpaket getrennt über <literal>deb-src</" +"Paketquellen werden vom Programmpaket getrennt über <literal>deb-src</" "literal>-Typzeilen in der &sources-list;-Datei nachverfolgt. Das bedeutet, " "dass Sie für jedes Depot, aus dem Sie Quellen erhalten wollen, eine solche " "Zeile hinzufügen müssen. Wenn Sie dies nicht tun, werden Sie eine andere als " @@ -4035,12 +3980,6 @@ msgstr "" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> #: apt-get.8.xml:266 -#, fuzzy -#| msgid "" -#| "If the <option>--compile</option> options is specified then the package " -#| "will be compiled to a binary .deb using <command>dpkg-buildpackage</" -#| "command>, if <option>--download-only</option> is specified then the " -#| "source package will not be unpacked." msgid "" "If the <option>--compile</option> option is specified then the package will " "be compiled to a binary .deb using <command>dpkg-buildpackage</command>, if " @@ -4150,7 +4089,7 @@ msgstr "" "Zwischenspeicher über eine lange Zeitspanne zu betreuen, ohne dass er " "unkontrolliert anwächst. Die Konfigurationsoption <literal>APT::Clean-" "Installed</literal> wird installierte Pakete vor der Löschung bewahren, wenn " -"sie auf off gesetzt ist." +"sie auf »off« gesetzt ist." #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> #: apt-get.8.xml:312 @@ -4165,7 +4104,7 @@ msgid "" "are no more needed." msgstr "" "<literal>autoremove</literal> wird benutzt, um Pakete, die automatisch " -"installiert wurden, um Abhängigkeiten für einige Pakete zu erfüllen und und " +"installiert wurden, um Abhängigkeiten für einige Pakete zu erfüllen und " "die nicht mehr benötigt werden, zu entfernen." #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> @@ -4202,7 +4141,6 @@ msgstr "" msgid "<option>--fix-broken</option>" msgstr "<option>--fix-broken</option>" -# s/Any Package that are specified/Any package that is specified/ #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> #: apt-get.8.xml:334 msgid "" @@ -4219,7 +4157,7 @@ msgid "" "Get::Fix-Broken</literal>." msgstr "" "Beheben; Versucht ein System von vorhandenen beschädigten Abhängigkeiten zu " -"korrigieren. Diese Option kann, wenn sie mit install/remove benutzt wird, " +"korrigieren. Diese Option kann, wenn sie mit »install«/»remove« benutzt wird, " "einige Pakete weglassen, um es APT zu erlauben, eine wahrscheinliche Lösung " "herzuleiten. Jedes Paket, das angegeben ist, muss das Problem vollständig " "korrigieren. Die Option ist manchmal nötig, wenn APT zum ersten Mal " @@ -4335,18 +4273,12 @@ msgstr "" "(<literal>Debug::NoLocking</literal>) automatisch deaktivieren. Außerdem " "wird eine Mitteilung angezeigt, die angibt, dass dies nur eine Simulation " "ist, wenn die Option <literal>APT::Get::Show-User-Simulation-Note</literal> " -"gesetzt ist (Vorgabe ist true). Weder NoLocking noch die Mitteilung werden " +"gesetzt ist (Vorgabe ist »true«). Weder NoLocking noch die Mitteilung werden " "ausgelöst, wenn es als root ausgeführt wird (root sollte ohne weitere " "Warnungen von <literal>apt-get</literal> wissen, was er tut)." #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> #: apt-get.8.xml:392 -#, fuzzy -#| msgid "" -#| "Simulate prints out a series of lines each one representing a dpkg " -#| "operation, Configure (Conf), Remove (Remv), Unpack (Inst). Square " -#| "brackets indicate broken packages with and empty set of square brackets " -#| "meaning breaks that are of no consequence (rare)." msgid "" "Simulate prints out a series of lines each one representing a dpkg " "operation, Configure (Conf), Remove (Remv), Unpack (Inst). Square brackets " @@ -4558,7 +4490,6 @@ msgstr "" msgid "<option>--purge</option>" msgstr "<option>--purge</option>" -# s/equivalent for/equivalent to the/ #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> #: apt-get.8.xml:467 msgid "" @@ -4567,10 +4498,11 @@ msgid "" "<option>remove --purge</option> is equivalent for <option>purge</option> " "command. Configuration Item: <literal>APT::Get::Purge</literal>." msgstr "" -"»remove« »purge« für alles zu entfernende benutzen. Ein Stern (»*«) wird bei " -"Paketen angezeigt, die zum vollständigen Entfernen vorgemerkt sind. " -"<option>remove --purge</option> entspricht dem Befehl <option>purge</" -"option>. Konfigurationselement: <literal>APT::Get::Purge</literal>." +"»purge« anstelle von »remove« für alles zu entfernende benutzen. Ein " +"Stern (»*«) wird bei Paketen angezeigt, die zum vollständigen Entfernen " +"vorgemerkt sind. <option>remove --purge</option> entspricht dem Befehl " +"<option>purge</option>. Konfigurationselement: " +"<literal>APT::Get::Purge</literal>." #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> #: apt-get.8.xml:474 @@ -4606,8 +4538,8 @@ msgstr "" "<command>apt-get</command> den Inhalt von <filename>&statedir;/lists</" "filename> automatisch verwalten, um sicherzustellen, dass veraltete Dateien " "gelöscht werden. Nur das häufige Ändern der Quelllisten stellt den einzigen " -"Grund zum Ausschalten der Option dar.Konfigurationselement: <literal>APT::" -"Get::List-Cleanup</literal>." +"Grund zum Ausschalten der Option dar. Konfigurationselement: " +"<literal>APT::Get::List-Cleanup</literal>." #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> #: apt-get.8.xml:489 @@ -5111,15 +5043,11 @@ msgstr "showauto" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> #: apt-mark.8.xml:82 -#, fuzzy -#| msgid "" -#| "<literal>showauto</literal> is used to print a list of manually installed " -#| "packages with each package on a new line." msgid "" "<literal>showauto</literal> is used to print a list of automatically " "installed packages with each package on a new line." msgstr "" -"<literal>showauto</literal> wird benutzt, um eine Liste manuell " +"<literal>showauto</literal> wird benutzt, um eine Liste automatisch " "installierter Pakete mit einem Paket in jeder neuen Zeile, auszugeben." #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> @@ -5266,14 +5194,6 @@ msgstr "Vertrauenswürdige Archive" #. type: Content of: <refentry><refsect1><para> #: apt-secure.8.xml:67 -#, fuzzy -#| msgid "" -#| "The chain of trust from an apt archive to the end user is made up of " -#| "different steps. <command>apt-secure</command> is the last step in this " -#| "chain, trusting an archive does not mean that the packages that you trust " -#| "it do not contain malicious code but means that you trust the archive " -#| "maintainer. Its the archive maintainer responsibility to ensure that the " -#| "archive integrity is correct." msgid "" "The chain of trust from an apt archive to the end user is made up of " "different steps. <command>apt-secure</command> is the last step in this " @@ -5323,15 +5243,6 @@ msgstr "" #. type: Content of: <refentry><refsect1><para> #: apt-secure.8.xml:92 -#, fuzzy -#| msgid "" -#| "Once the uploaded package is verified and included in the archive, the " -#| "maintainer signature is stripped off, an MD5 sum of the package is " -#| "computed and put in the Packages file. The MD5 sum of all of the packages " -#| "files are then computed and put into the Release file. The Release file " -#| "is then signed by the archive key (which is created once a year and " -#| "distributed through the FTP server. This key is also on the Debian " -#| "keyring." msgid "" "Once the uploaded package is verified and included in the archive, the " "maintainer signature is stripped off, an MD5 sum of the package is computed " @@ -5465,48 +5376,34 @@ msgstr "" #. type: Content of: <refentry><refsect1><itemizedlist><listitem><para> #: apt-secure.8.xml:160 -#, fuzzy -#| msgid "" -#| "<literal>Create a toplevel Release file</literal>. if it does not exist " -#| "already. You can do this by running <command>apt-ftparchive release</" -#| "command> (provided in apt-utils)." msgid "" "<emphasis>Create a toplevel Release file</emphasis>, if it does not exist " "already. You can do this by running <command>apt-ftparchive release</" "command> (provided in apt-utils)." msgstr "" -"<literal>Create a toplevel Release file</literal>, wenn es nicht bereits " -"existiert. Sie können dies tun, indem Sie <command>apt-ftparchive release</" -"command> (aus apt-utils) ausführen." +"<emphasis>Erzeugen einer Release-Datei der obersten Stufe</emphasis>, wenn " +"sie nicht bereits existiert. Sie können dies erledigen, indem Sie " +"<command>apt-ftparchive release</command> (aus apt-utils) ausführen." #. type: Content of: <refentry><refsect1><itemizedlist><listitem><para> #: apt-secure.8.xml:165 -#, fuzzy -#| msgid "" -#| "<literal>Sign it</literal>. You can do this by running <command>gpg -abs -" -#| "o Release.gpg Release</command>." msgid "" "<emphasis>Sign it</emphasis>. You can do this by running <command>gpg -abs -" "o Release.gpg Release</command>." msgstr "" -"<literal>Sign it</literal>. Sie können dies tun, indem Sie <command>gpg -abs " -"-o Release.gpg Release</command> ausführen." +"<emphasis>Es signieren</emphasis>. Sie können dies tun, indem Sie " +"<command>gpg -abs -o Release.gpg Release</command> ausführen." #. type: Content of: <refentry><refsect1><itemizedlist><listitem><para> #: apt-secure.8.xml:168 -#, fuzzy -#| msgid "" -#| "<literal>Publish the key fingerprint</literal>, 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>, that way your users will " "know what key they need to import in order to authenticate the files in the " "archive." msgstr "" -"<literal>Publish the key fingerprint</literal>, derart, dass Ihre Anwender " -"wissen, welchen Schlüssel sie importieren müssen, um die Dateien im Archiv " -"zu authentifizieren." +"<emphasis>Veröffentlichen Sie den Schlüsselfingerabdruck</emphasis>, damit " +"Ihre Anwender wissen, welchen Schlüssel sie importieren müssen, um die " +"Dateien im Archiv zu authentifizieren." #. type: Content of: <refentry><refsect1><para> #: apt-secure.8.xml:175 @@ -5680,13 +5577,6 @@ msgstr "" #. type: Content of: <refentry><refsect1><para> #: apt.conf.5.xml:50 -#, fuzzy -#| msgid "" -#| "The configuration file is organized in a tree with options organized into " -#| "functional groups. option specification is given with a double colon " -#| "notation, for instance <literal>APT::Get::Assume-Yes</literal> is an " -#| "option within the APT tool group, for the Get tool. options do not " -#| "inherit from their parent groups." msgid "" "The configuration file is organized in a tree with options organized into " "functional groups. Option specification is given with a double colon " @@ -5702,15 +5592,6 @@ msgstr "" #. type: Content of: <refentry><refsect1><para> #: apt.conf.5.xml:56 -#, fuzzy -#| msgid "" -#| "Syntactically the configuration language is modeled after what the ISC " -#| "tools such as bind and dhcp use. Lines starting with <literal>//</" -#| "literal> are treated as comments (ignored), as well as all text between " -#| "<literal>/*</literal> and <literal>*/</literal>, just like C/C++ " -#| "comments. Each line is of the form <literal>APT::Get::Assume-Yes \"true" -#| "\";</literal> The trailing semicolon is required and the quotes are " -#| "optional. A new scope can be opened with curly braces, like:" msgid "" "Syntactically the configuration language is modeled after what the ISC tools " "such as bind and dhcp use. Lines starting with <literal>//</literal> are " @@ -5729,9 +5610,14 @@ msgstr "" "literal> beginnen, werden als Kommentar betrachtet (und ignoriert), ebenso " "wie jeglicher Text zwischen <literal>/*</literal> und <literal>*/</literal>, " "wie bei C/C++-Kommentaren. Jede Zeile hat die Form <literal>APT::Get::Assume-" -"Yes \"true\";</literal>. Das abschließende Semikolon wird benötigt und " -"Klammern sind optional. Ein neuer Geltungsbereich kann mit geschweiften " -"Klammern geöffnet werden, wie:" +"Yes \"true\";</literal>. Das abschließende Semikolon und die " +"Anführungszeichen werden benötigt. Der Wert muss in einer Zeile stehen und " +"es gibt keine Möglichkeit Zeichenketten aneinander zu hängen. Er darf keine " +"inneren Anführungszeichen enthalten. Das Verhalten des Backslashs »\\« " +"und maskierter Zeichen innerhalb eines Wertes ist nicht festgelegt und diese " +"sollten nicht benutzt werden. Ein Optionsname darf alphanumerische Zeichen " +"und die Zeichen »/-:._+« enthalten. Ein neuer Geltungsbereich kann mit " +"geschweiften Klammern geöffnet werden, wie:" #. type: Content of: <refentry><refsect1><informalexample><programlisting> #: apt.conf.5.xml:70 @@ -5808,14 +5694,6 @@ msgstr "" #. type: Content of: <refentry><refsect1><para> #: apt.conf.5.xml:98 -#, fuzzy -#| msgid "" -#| "Two specials are allowed, <literal>#include</literal> and " -#| "<literal>#clear</literal>: <literal>#include</literal> will include the " -#| "given file, unless the filename ends in a slash, then the whole directory " -#| "is included. <literal>#clear</literal> is used to erase a part of the " -#| "configuration tree. The specified element and all its descendants are " -#| "erased. (Note that these lines also need to end with a semicolon.)" msgid "" "Two specials are allowed, <literal>#include</literal> (which is deprecated " "and not supported by alternative implementations) and <literal>#clear</" @@ -5825,13 +5703,15 @@ msgid "" "The specified element and all its descendants are erased. (Note that these " "lines also need to end with a semicolon.)" msgstr "" -"Es sind die beiden Spezialfälle <literal>#include</literal> und " -"<literal>#clear</literal> erlaubt: <literal>#include</literal> wird die " -"angegebene Datei einfügen außer, wenn der Dateiname mit einem Schrägstrich " -"endet, dann wird das ganze Verzeichnis eingefügt. <literal>#clear</literal> " -"wird benutzt, um einen Teil des Konfigurationsbaums zu löschen. Das " -"angegebene Element und alle davon absteigenden Elemente werden gelöscht. " -"(Beachten Sie, dass diese Zeilen auch mit einem Semikolon enden müssen.)" +"Es sind die beiden Spezialfälle <literal>#include</literal> (das " +"missbilligt ist und von alternativen Implementierungen nicht unterstützt " +"wird) und <literal>#clear</literal> erlaubt: <literal>#include</literal> " +"wird die angegebene Datei einfügen außer, wenn der Dateiname mit einem " +"Schrägstrich endet, dann wird das ganze Verzeichnis eingefügt. " +"<literal>#clear</literal> wird benutzt, um einen Teil des " +"Konfigurationsbaums zu löschen. Das angegebene Element und alle davon " +"absteigenden Elemente werden gelöscht. (Beachten Sie, dass diese Zeilen " +"auch mit einem Semikolon enden müssen.)" #. type: Content of: <refentry><refsect1><para> #: apt.conf.5.xml:106 @@ -5944,8 +5824,8 @@ msgid "" msgstr "" "Standard-Release von dem Pakete installiert werden, wenn mehr als eine " "Version verfügbar ist. Enthält Release-Name, Codename oder Release-Version. " -"Beispiele: »stable«, »testing, »unstable«, »lenny«, »squeeze«, »4.0«, »5.0«. Siehe " -"auch &apt-preferences;." +"Beispiele: »stable«, »testing, »unstable«, »lenny«, »squeeze«, »4.0«, »5.0«. " +"Siehe auch &apt-preferences;." #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> #: apt.conf.5.xml:146 @@ -6018,6 +5898,42 @@ msgid "" "distribution and to the APT team with the buglink below so they can work on " "improving or correcting the upgrade process." msgstr "" +"Standardmäßig »on«, wodurch APT veranlasst wird, »essential«- oder " +"»important«-Pakete so schnell wie möglich in der " +"»install«-/»upgrade«-Operation zu installieren. Dies wird getan, um den " +"Effekt eines gescheiterterten &dpkg;-Aufrufs zu begrenzen: Wenn diese " +"Option ausgeschaltet ist, behandelt APT ein »important«-Paket auf die " +"gleiche Weise wie ein »extra«-Paket: Zwischen dem Entpacken des " +"»important«-Pakets A und seiner Konfiguration können dann viele andere " +"Entpack- oder Konfigurationsaufrufe liegen, z.B. für Paket B, das keine " +"Beziehung zu A hat, aber den dpkg-Aufruf zum Scheitern bringt (z.B. weil " +"das Betreuerskript von Paket B Fehler generiert), die als Ergebnis einen " +"Systemstatus haben, in dem Paket A entpackt, aber nicht konfiguriert ist " +"und für kein von A abhängendes Paket länger gewährleistet ist, dass es " +"funktioniert, weil die Abhängigkeit zu A nicht länger befriedigt wird. Das " +"unmittelbare Konfigurationskennzeichen wird außerdem auf alle " +"Abhängigkeiten angewandt, was zu einem Problem führen könnten, falls die " +"Abhängigkeiten z.B. einen Kreis bilden, so dass eine Abhängigkeit mit der " +"Unmittelbarmarkierung mit einer Vorabhängigkeit vergleichbar ist. So ist es " +"theoretisch möglich, dass APT einer Situation begegnet, in der keine " +"unmittelbare Konfiguration durchgeführt, ein Fehler ausgegeben und sich auf " +"diese Option bezogen werden kann, so dass der Anwender die unmittelbare " +"Konfiguration zeitweise deaktivieren kann, um in der Lage zu sein, erneut " +"ein »install«/»upgrade« durchzuführen. Beachten Sie, dass hier das Wort " +"»theoretisch« benutzt wird, denn dieses Problem ist bis jetzt in der " +"Realität nur ein paar mal in unstabilen Distributionsversionen aufgetreten " +"und wurde durch falsche Abhängigkeiten des fraglichen Pakets ausgelöst oder " +"durch ein System in bereits kaputtem Status, so dass Sie diese Option nicht " +"unbesehen abschalten sollten, da das oben erwähnte Szenario nicht das " +"einzige unmittelbare Problem ist, das die Konfiguration überhaupt " +"verhindern sollte. Bevor eine große Operation wie " +"<literal>dist-upgrade</literal> mit dieser ausgeschalteten Option " +"ausgeführt wird, sollte explizit versucht werden, " +"<literal>install</literal> des Pakets durchzuführen. APT ist nicht in der " +"Lage unmittelbar zu konfigurieren, aber stellen Sie sicher, dass Sie Ihr " +"Problem außerdem an Ihre Distribution und an das APT-Team berichten mit " +"nachstehendem Fehlerverweis, so dass es am Verbessern oder Korrigieren des " +"Upgrade-Prozesses arbeiten kann." #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> #: apt.conf.5.xml:181 @@ -6102,7 +6018,7 @@ msgstr "" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> #: apt.conf.5.xml:209 msgid "CDROM" -msgstr "CDROM" +msgstr "CD-ROM" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> #: apt.conf.5.xml:210 @@ -6110,7 +6026,7 @@ msgid "" "The CDROM subsection controls the &apt-cdrom; tool, please see its " "documentation for more information about the options here." msgstr "" -"Der CDROM-Unterabschnitt steuert das &apt-cdrom;-Werkzeug. Lesen Sie bitte " +"Der CD-ROM-Unterabschnitt steuert das &apt-cdrom;-Werkzeug. Lesen Sie bitte " "dessen Dokumentation, um weitere Informationen über die Optionen hier zu " "erhalten." @@ -6246,15 +6162,6 @@ msgstr "" #. type: Content of: <refentry><refsect1><para><variablelist><varlistentry><listitem><para> #: apt.conf.5.xml:267 -#, fuzzy -#| msgid "" -#| "One setting is provided to control the pipeline depth in cases where the " -#| "remote server is not RFC conforming or buggy (such as Squid 2.0.2) " -#| "<literal>Acquire::http::Pipeline-Depth</literal> can be a value from 0 to " -#| "5 indicating how many outstanding requests APT should send. A value of " -#| "zero MUST be specified if the remote host does not properly linger on TCP " -#| "connections - otherwise data corruption will occur. Hosts which require " -#| "this are in violation of RFC 2068." msgid "" "One setting is provided to control the pipeline depth in cases where the " "remote server is not RFC conforming or buggy (such as Squid 2.0.2). " @@ -6296,6 +6203,10 @@ msgid "" "User-Agent for the http download method as some proxies allow access for " "clients only if the client uses a known identifier." msgstr "" +"<literal>Acquire::http::User-Agent</literal> kann benutzt werden, um einen " +"unterschiedlichen User-Agent für die HTTP-Download-Methode zu setzten, da " +"einige Proxys den Clients nur dann Zugriff gewähren, wenn der Client einen " +"bekannten Bezeichner verwendet." #. type: Content of: <refentry><refsect1><para><variablelist><varlistentry><term> #: apt.conf.5.xml:286 @@ -6304,11 +6215,6 @@ msgstr "https" #. type: Content of: <refentry><refsect1><para><variablelist><varlistentry><listitem><para> #: apt.conf.5.xml:287 -#, fuzzy -#| msgid "" -#| "HTTPS URIs. Cache-control and proxy options are the same as for " -#| "<literal>http</literal> method. <literal>Pipeline-Depth</literal> option " -#| "is not supported yet." msgid "" "HTTPS URIs. Cache-control, Timeout, AllowRedirect, Dl-Limit and proxy " "options are the same as for <literal>http</literal> method and will also " @@ -6316,9 +6222,12 @@ msgid "" "not explicitly set for https. <literal>Pipeline-Depth</literal> option is " "not supported yet." msgstr "" -"HTTPS-URIs. Zwischenspeichersteuerung und Proxy-Optionen entsprehen denen " -"der <literal>http</literal>-Methode. Die Option <literal>Pipeline-Depth</" -"literal> wird noch nicht unterstützt." +"HTTPS-URIs. Zwischenspeichersteuerung-, Zeitüberschreitung-, AllowRedirect-, " +"Dl-Limit- und Proxy-Optionen entsprechen denen der " +"<literal>http</literal>-Methode und werden auch für die Optionen der " +"Methode <literal>http</literal> vorgegeben, falls sie nicht explizit für " +"HTTPS gesetzt sind. Die Option <literal>Pipeline-Depth</literal> wird noch " +"nicht unterstützt." #. type: Content of: <refentry><refsect1><para><variablelist><varlistentry><listitem><para> #: apt.conf.5.xml:293 @@ -6453,10 +6362,9 @@ msgstr "cdrom" #. type: Content of: <refentry><refsect1><para><variablelist><varlistentry><listitem><para><literallayout> #: apt.conf.5.xml:356 -#, fuzzy, no-wrap -#| msgid "\"/cdrom/\"::Mount \"foo\";" +#, no-wrap msgid "/cdrom/::Mount \"foo\";" -msgstr "\"/cdrom/\"::Mount \"foo\";" +msgstr "/cdrom/::Mount \"foo\";" #. type: Content of: <refentry><refsect1><para><variablelist><varlistentry><listitem><para> #: apt.conf.5.xml:351 @@ -6471,12 +6379,12 @@ msgid "" "can be specified using UMount." msgstr "" "CDROM-URIs; Die einzige Einstellung für CDROM-URIs ist der Einhängepunkt " -"<literal>cdrom::Mount</literal>, der der Einhängepunkt des CDROM-Laufwerks " +"<literal>cdrom::Mount</literal>, der der Einhängepunkt des CD-ROM-Laufwerks " "sein muss, wie er in <filename>/etc/fstab</filename> angegeben wurde. Es ist " "möglich alternative Ein- und Aushängebefehle anzugeben, falls Ihr " "Einhängepunkt nicht in der fstab aufgelistet werden kann (so wie beim " "Einhängen per SMB und alten Mount-Paketen). Die Syntax besteht darin, " -"<placeholder type=\"literallayout\" id=\"0\"/> in den CDROM-Block " +"<placeholder type=\"literallayout\" id=\"0\"/> in den CD-ROM-Block " "einzufügen. Der abschließende Schrägstrich ist wichtig. Aushängebefehle " "können per UMount angegeben werden." @@ -6622,7 +6530,7 @@ msgstr "" #. type: Content of: <refentry><refsect1><para><variablelist><varlistentry><term> #: apt.conf.5.xml:396 msgid "Languages" -msgstr "" +msgstr "Sprachen" #. type: Content of: <refentry><refsect1><para><variablelist><varlistentry><listitem><para> #: apt.conf.5.xml:397 @@ -6636,12 +6544,21 @@ msgid "" "long Languagecodes are rare, so please inform you which ones are available " "before you set here impossible values." msgstr "" +"Der Unterabschnitt Languages steuert welche " +"<filename>Translation</filename>-Dateien heruntergeladen werden und in " +"welcher Reihenfolge APT versucht, die Beschreibungsübersetzungen anzuzeigen. " +"APT wird versuchen, die erste verfügbare Beschreibung für die zuerst " +"aufgelistete Sprache anzuzeigen. Sprachen können durch ihre kurzen oder " +"langen Sprachcodes definiert sein. Beachten Sie, dass nicht alle Archive " +"<filename>Translation</filename>-Dateien für jede Sprache bereitstellen, " +"besonders lange Sprachcodes sind selten. Informieren Sie sich deshalb bitte " +"welche verfügbar sind, bevor Sie hier unmögliche Werte einsetzen." #. type: Content of: <refentry><refsect1><para><variablelist><varlistentry><listitem><para><programlisting> #: apt.conf.5.xml:413 #, no-wrap msgid "Acquire::Languages { \"environment\"; \"de\"; \"en\"; \"none\"; \"fr\"; };" -msgstr "" +msgstr "Acquire::Languages { \"environment\"; \"de\"; \"en\"; \"none\"; \"fr\"; };" #. type: Content of: <refentry><refsect1><para><variablelist><varlistentry><listitem><para> #: apt.conf.5.xml:403 @@ -6665,6 +6582,26 @@ msgid "" "order would be \"fr, de, en\". <placeholder type=\"programlisting\" id=\"0" "\"/>" msgstr "" +"Die Standardliste beinhaltet »environment« und »en«. " +"»<literal>environment</literal>« hat hier eine besondere Bedeutung: Es wird " +"zur Laufzeit durch die Sprachcodes ersetzt, die aus der Umgebungsvariable " +"<literal>LC_MESSAGES</literal> extrahiert wurden. Es wird außerdem " +"sicherstellen, dass diese Codes nicht zweimal in der Liste enthalten sind. " +"Falls <literal>LC_MESSAGES</literal> auf »C« gesetzt ist, wird nur die " +"Datei <filename>Translation-en</filename> (falls verfügbar) benutzt. Um APT " +"zu zwingen, keine Übersetzungsdatei zu benutzen, benutzen Sie die Einstellung " +"<literal>Acquire::Languages=none</literal>. »<literal>none</literal>« ist " +"ein weiterer Code mit besonderer Bedeutung, der die Suche nach einer " +"passenden <filename>Translation</filename>-Datei stoppen wird. Dies kann " +"vom Systemadministrator benutzt werden, um APT mitzuteilen, dass es auch " +"diese Dateien herunterladen soll ohne sie aktuell zu benutzen, falls die " +"Umgebungsvariable diese Sprachen nicht angibt. Daher wird die folgende " +"Beispielkonfiguration in der Reihenfolge »en,de« zu einer englischen und " +"»de,en« zu einer deutschen Lokalisierung führen. Beachten Sie, dass »fr« " +"heruntergeladen, aber nicht benutzt wird, falls APT nicht in einer " +"französischen Lokalisierung benutzt wird. In einer solchen Umgebung wäre " +"die Reihenfolge »fr, de, en«. <placeholder type=\"programlisting\" id=\"0" +"\"/>" #. type: Content of: <refentry><refsect1><para> #: apt.conf.5.xml:217 @@ -6820,13 +6757,13 @@ msgid "" "for instance). pre-auto performs this action before downloading new " "packages." msgstr "" -"Zwischenspeicherbereinigungsmodus; Dieser Wert kann entweder always, prompt, " -"auto, pre-auto oder never sein. always und prompt werden, nachdem das " -"Upgrade durchgeführt wurde, alle Pakete aus dem Zwischenspeicher entfernen, " -"prompt (die Vorgabe) tut dies bedingt. auto entfernt nur jene Pakete, die " -"nicht länger heruntergeladen werden können (zum Beispiel, weil sie durch " -"eine neue Version ersetzt wurden). pre-auto führt diese Aktion vor dem " -"Herunterladen neuer Pakete durch." +"Zwischenspeicherbereinigungsmodus; Dieser Wert kann entweder »always«, " +"»prompt«, »auto«, »pre-auto« oder »never« sein. »always« und »prompt« " +"werden, nachdem das Upgrade durchgeführt wurde, alle Pakete aus dem " +"Zwischenspeicher entfernen, »prompt« (die Vorgabe) tut dies bedingt. »auto« " +"entfernt nur jene Pakete, die nicht länger heruntergeladen werden können " +"(zum Beispiel, weil sie durch eine neue Version ersetzt wurden). »pre-auto« " +"führt diese Aktion vor dem Herunterladen neuer Pakete durch." #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> #: apt.conf.5.xml:485 @@ -7058,16 +6995,6 @@ msgstr "DPkg::NoTriggers" #. type: Content of: <refentry><refsect1><refsect2><variablelist><varlistentry><listitem><para> #: apt.conf.5.xml:567 -#, fuzzy -#| msgid "" -#| "Add the no triggers flag to all dpkg calls (expect the ConfigurePending " -#| "call). See &dpkg; if you are interested in what this actually means. In " -#| "short: dpkg will not run the triggers then this flag is present unless it " -#| "is explicit called to do so in an extra call. Note that this option " -#| "exists (undocumented) also in older apt versions with a slightly " -#| "different meaning: Previously these option only append --no-triggers to " -#| "the configure calls to dpkg - now apt will add these flag also to the " -#| "unpack and remove calls." msgid "" "Add the no triggers flag to all dpkg calls (except the ConfigurePending " "call). See &dpkg; if you are interested in what this actually means. In " @@ -7085,7 +7012,7 @@ msgstr "" "außerdem in älteren APT-Versionen mit einer geringfügig anderen Bedeutung " "existiert (nicht dokumentiert): Vorher hing diese Option nur --no-triggers " "an die Konfigurationsaufrufe für Dpkg an – nun wird APT diese Markierung " -"außerdem an die unpack- und remove-Aufrufe anhängen." +"außerdem an die »unpack«- und »remove«-Aufrufe anhängen." #. type: Content of: <refentry><refsect1><refsect2><variablelist><varlistentry><term> #: apt.conf.5.xml:574 @@ -7094,20 +7021,6 @@ msgstr "PackageManager::Configure" #. type: Content of: <refentry><refsect1><refsect2><variablelist><varlistentry><listitem><para> #: apt.conf.5.xml:575 -#, fuzzy -#| msgid "" -#| "Valid values are \"<literal>all</literal>\", \"<literal>smart</literal>\" " -#| "and \"<literal>no</literal>\". \"<literal>all</literal>\" is the default " -#| "value and causes APT to configure all packages explicit. The " -#| "\"<literal>smart</literal>\" way is it to configure only packages which " -#| "need to be configured before another package can be unpacked (Pre-" -#| "Depends) and let the rest configure by dpkg with a call generated by the " -#| "next option. \"<literal>no</literal>\" on the other hand will not " -#| "configure anything and totally relay on dpkg for configuration (which " -#| "will at the moment fail if a Pre-Depends is encountered). Setting this " -#| "option to another than the all value will implicit activate also the next " -#| "option per default as otherwise the system could end in an unconfigured " -#| "status which could be unbootable!" msgid "" "Valid values are \"<literal>all</literal>\", \"<literal>smart</literal>\" " "and \"<literal>no</literal>\". \"<literal>all</literal>\" is the default " @@ -7142,14 +7055,6 @@ msgstr "DPkg::ConfigurePending" #. type: Content of: <refentry><refsect1><refsect2><variablelist><varlistentry><listitem><para> #: apt.conf.5.xml:586 -#, 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 automatic per default if the previous option is " -#| "not set to <literal>all</literal>, but deactivating could be useful if " -#| "you want to run APT multiple times in a row - e.g. in an installer. In " -#| "this 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 " @@ -7342,7 +7247,7 @@ msgid "" "in CDROM IDs." msgstr "" "<literal>Debug::IdentCdrom</literal> schaltet das Einbeziehen von statfs-" -"Daten in CDROM-IDs aus." +"Daten in CD-ROM-IDs aus." #. type: Content of: <refentry><refsect1><para> #: apt.conf.5.xml:684 @@ -7607,8 +7512,8 @@ msgid "" "there is none or if it is the same version as the installed. " "<literal>section</literal> is the name of the section the package appears in." msgstr "" -"Generiert Fehlersuchmeldungen, die beschreiben, welches Paket als keep/" -"install/remove markiert ist, währen der ProblemResolver seine Arbeit " +"Generiert Fehlersuchmeldungen, die beschreiben, welches Paket als »keep«/" +"»install«/»remove« markiert ist, während der ProblemResolver seine Arbeit " "verrichtet. Jedes Hinzufügen oder Löschen kann zusätzliche Aktionen " "auslösen. Sie werden nach zwei eingerückten Leerzeichen unter dem " "Originaleintrag angezeigt. Jede Zeile hat das Format <literal>MarkKeep</" @@ -7957,7 +7862,7 @@ msgid "" "Note also that downgrading a package can be risky.)" msgstr "" "Führen Sie niemals ein Downgrade durch, außer wenn die Priorität verfügbarer " -"Pakete 1000 übersteigt. »Downgrading« ist das Installieren einer weniger " +"Pakete 1000 übersteigt. (»Downgrading« ist das Installieren einer weniger " "aktuellen Version, an Stelle einer aktuelleren Version. Beachten Sie, dass " "keine Standardpriorität von APT 1000 übersteigt. So hohe Prioritäten können " "nur durch die Einstellungsdatei gesetzt werden. Beachten Sie außerdem, dass " @@ -8110,7 +8015,7 @@ msgid "" msgstr "" "Dieser Eintrag in allgemeiner Form in der APT-Einstellungsdatei verwendet " "nur Gruppen von Paketen. Der folgende Eintrag weist zum Beispiel allen " -"Paketversionen eine hohe Priorität zu, die lokale liegen." +"Paketversionen eine hohe Priorität zu, die lokal liegen." #. type: Content of: <refentry><refsect1><refsect2><para><itemizedlist><listitem><programlisting> #: apt_preferences.5.xml:175 @@ -8952,7 +8857,7 @@ msgstr "" "Mit einer geeigneten &sources-list;-Datei und der obigen Einstellungsdatei " "wird jeder der folgenden Befehle APT veranlassen, ein Upgrade auf die letzte" "(n) Version(en) im Release mit Codenamen <literal>squeeze</literal> " -"durchzuführen.<placeholder type=\"programlisting\" id=\"0\"/>" +"durchzuführen. <placeholder type=\"programlisting\" id=\"0\"/>" #. type: Content of: <refentry><refsect1><refsect2><para><programlisting> #: apt_preferences.5.xml:608 @@ -9002,12 +8907,6 @@ msgstr "Paketressourcenliste für APT" #. type: Content of: <refentry><refsect1><para> #: sources.list.5.xml:34 -#, fuzzy -#| msgid "" -#| "The package resource list is used to locate archives of the package " -#| "distribution system in use on the system. At this time, this manual page " -#| "documents only the packaging system used by the Debian GNU/Linux system. " -#| "This control file is located in <filename>/etc/apt/sources.list</filename>" msgid "" "The package resource list is used to locate archives of the package " "distribution system in use on the system. At this time, this manual page " @@ -9017,21 +8916,11 @@ msgstr "" "Die Paketquellenliste wird benutzt, um Archive des Paketverteilungssystems, " "das auf dem System benutzt wird, zu finden. Momentan dokumentiert diese " "Handbuchseite nur das vom Debian-GNU/Linux-System benutzte " -"Paketierungssystem. Die Steuerungsdatei befindet sich in <filename>/etc/apt/" -"sources.list</filename>." +"Paketierungssystem. Diese Steuerungsdatei ist " +"<filename>/etc/apt/sources.list</filename>." #. type: Content of: <refentry><refsect1><para> #: sources.list.5.xml:39 -#, fuzzy -#| msgid "" -#| "The source list 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 format of each line is: " -#| "<literal>type uri args</literal> The first item, <literal>type</literal> " -#| "determines the format for <literal>args</literal> <literal>uri</literal> " -#| "is a Universal Resource Identifier (URI), which is a superset of the more " -#| "specific and well-known Universal Resource Locator, or URL. The rest of " -#| "the line can be marked as a comment by using a #." msgid "" "The source list 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 " @@ -9083,17 +8972,6 @@ msgstr "Die Typen deb und deb-src" #. type: Content of: <refentry><refsect1><para> #: sources.list.5.xml:61 -#, fuzzy -#| msgid "" -#| "The <literal>deb</literal> type describes a typical two-level Debian " -#| "archive, <filename>distribution/component</filename>. Typically, " -#| "<literal>distribution</literal> is generally one of <literal>stable</" -#| "literal> <literal>unstable</literal> or <literal>testing</literal> while " -#| "component is one of <literal>main</literal> <literal>contrib</literal> " -#| "<literal>non-free</literal> or <literal>non-us</literal> The <literal>deb-" -#| "src</literal> type describes 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 describes a typical two-level Debian " "archive, <filename>distribution/component</filename>. Typically, " @@ -9118,10 +8996,6 @@ msgstr "" #. type: Content of: <refentry><refsect1><para> #: sources.list.5.xml:73 -#, fuzzy -#| msgid "" -#| "The format for a <filename>sources.list</filename> entry using the " -#| "<literal>deb</literal> and <literal>deb-src</literal> types are:" msgid "" "The format for a <filename>sources.list</filename> entry using the " "<literal>deb</literal> and <literal>deb-src</literal> types is:" @@ -9137,16 +9011,6 @@ msgstr "deb URI Distribution [Komponente1] [Komponente2] [...]" #. type: Content of: <refentry><refsect1><para> #: sources.list.5.xml:78 -#, 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>distribution</literal> can specify an exact path, in which case " -#| "the components must be omitted and <literal>distribution</literal> must " -#| "end with a slash (/). This is useful for when only a particular sub-" -#| "section of the archive denoted by the URI is of interest. If " -#| "<literal>distribution</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. " @@ -9275,14 +9139,6 @@ msgstr "" #. type: Content of: <refentry><refsect1><para><variablelist><varlistentry><listitem><para> #: sources.list.5.xml:141 -#, fuzzy -#| msgid "" -#| "The http scheme specifies an HTTP server for the archive. If an " -#| "environment variable <envar>http_proxy</envar> is set with the format " -#| "http://server:port/, the proxy server specified in <envar>http_proxy</" -#| "envar> will be used. Users of authenticated HTTP/1.1 proxies may use a " -#| "string of the format http://user:pass@server:port/ Note that this is an " -#| "insecure method of authentication." msgid "" "The http scheme specifies an HTTP server for the archive. If an environment " "variable <envar>http_proxy</envar> is set with the format http://server:" @@ -9364,7 +9220,7 @@ msgstr "" #. type: Content of: <refentry><refsect1><para><variablelist><varlistentry><term> #: sources.list.5.xml:178 msgid "more recongnizable URI types" -msgstr "" +msgstr "weitere erkennbare URI-Typen" #. type: Content of: <refentry><refsect1><para><variablelist><varlistentry><listitem><para> #: sources.list.5.xml:180 @@ -9378,6 +9234,15 @@ msgid "" "<citerefentry> <refentrytitle><filename>apt-transport-debtorrent</filename></" "refentrytitle> <manvolnum>1</manvolnum></citerefentry>." msgstr "" +"APT kann mit weiteren Methoden, die in anderen optionalen Paketen geliefert " +"werden, die dem Namensschema " +"<literal>apt-transport-<replaceable>Methode</replaceable></literal> folgen " +"sollten, erweitert werden. Das APT-Team betreut z.B. außerdem das Paket " +"<literal>apt-transport-https</literal>, das Zugriffsmethoden für HTTPS-URIs " +"mit Funktionen bereitstellt, die denen der HTTP-Methode ähneln, bei der " +"aber andere Methoden für z.B. debtorrent verfügbar sind, siehe " +"<citerefentry> <refentrytitle><filename>apt-transport-debtorrent</filename></" +"refentrytitle> <manvolnum>1</manvolnum></citerefentry>." #. type: Content of: <refentry><refsect1><para> #: sources.list.5.xml:122 @@ -9385,8 +9250,8 @@ msgid "" "The currently recognized URI types are cdrom, file, http, ftp, copy, ssh, " "rsh. <placeholder type=\"variablelist\" id=\"0\"/>" msgstr "" -"Die aktuell erkannten URI-Typen sind cdrom, file, http, ftp, copy, ssh, rsh. " -"<placeholder type=\"variablelist\" id=\"0\"/>" +"Die aktuell erkannten URI-Typen sind »cdrom«, »file«, »http«, »ftp«, " +"»copy«, »ssh«, »rsh«. <placeholder type=\"variablelist\" id=\"0\"/>" #. type: Content of: <refentry><refsect1><para> #: sources.list.5.xml:194 @@ -9407,7 +9272,8 @@ msgstr "deb file:/home/jason/debian stable main contrib non-free" #: sources.list.5.xml:198 msgid "As above, except this uses the unstable (development) distribution." msgstr "" -"Wie oben, außer das dies die unstable- (Entwicklungs-) Distribution benutzt." +"Wie oben, außer das dies die »unstable«- (Entwicklungs-) Distribution " +"benutzt." #. type: Content of: <refentry><refsect1><literallayout> #: sources.list.5.xml:199 @@ -9458,12 +9324,6 @@ msgstr "deb ftp://ftp.debian.org/debian stable contrib" #. type: Content of: <refentry><refsect1><para> #: sources.list.5.xml:212 -#, fuzzy -#| msgid "" -#| "Uses FTP to access the archive at ftp.debian.org, under the debian " -#| "directory, and uses only the unstable/contrib area. If this line appears " -#| "as well as the one in the previous example in <filename>sources.list</" -#| "filename>. a single FTP session will be used for both resource lines." msgid "" "Uses FTP to access the archive at ftp.debian.org, under the debian " "directory, and uses only the unstable/contrib area. If this line appears as " @@ -9519,8 +9379,8 @@ msgstr "" "<filename>unstable/binary-m68k</filename> auf m68k und so weiter für andere " "unterstützte Architekturen, gefunden werden. [Beachten Sie, dass dieses " "Beispiel nur anschaulich macht, wie die Platzhaltervariable benutzt wird. " -"non-us ist nicht länger so strukturiert] <placeholder type=\"literallayout\" " -"id=\"0\"/>" +"»non-us« ist nicht länger so strukturiert] " +"<placeholder type=\"literallayout\" id=\"0\"/>" #. type: Content of: <refentry><refsect1><para> #: sources.list.5.xml:234 @@ -9530,28 +9390,30 @@ msgstr "&apt-cache; &apt-conf;" #. type: <title> #: guide.sgml:4 msgid "APT User's Guide" -msgstr "" +msgstr "APT-Benutzerhandbuch" #. type: #: guide.sgml:6 offline.sgml:6 msgid "Jason Gunthorpe jgg@debian.org" -msgstr "" +msgstr "Jason Gunthorpe jgg@debian.org" #. type: #: guide.sgml:7 msgid "$Id: guide.sgml,v 1.7 2003/04/26 23:26:13 doogie Exp $" -msgstr "" +msgstr "$Id: guide.sgml,v 1.7 2003/04/26 23:26:13 doogie Exp $" #. type: #: guide.sgml:11 msgid "" "This document provides an overview of how to use the the APT package manager." msgstr "" +"Dieses Dokument stellt eine Übersicht bereit, wie das " +"APT-Paketverwaltungsprogramm benutzt wird." #. type: #: guide.sgml:15 msgid "Copyright © Jason Gunthorpe, 1998." -msgstr "" +msgstr "Copyright © Jason Gunthorpe, 1998." #. type:

#: guide.sgml:21 offline.sgml:22 @@ -9561,6 +9423,10 @@ msgid "" "published by the Free Software Foundation; either version 2 of the License, " "or (at your option) any later version." msgstr "" +"»APT« und dieses Dokument sind freie Software. Sie können sie weitergeben " +"und/oder verändern unter den Bedingungen der GNU General Public License, " +"wie sie von der Free Software Foundation veröffentlicht wird; entweder " +"Version 2 der Lizenz oder (optional) jeder späteren Version." #. type:

#: guide.sgml:24 offline.sgml:25 @@ -9568,13 +9434,13 @@ msgid "" "For more details, on Debian GNU/Linux systems, see the file /usr/share/" "common-licenses/GPL for the full license." msgstr "" +"Siehe für weitere Details auf Debian-Systemen die Datei " +"/usr/share/common-licenses/GPL, die die vollständige Lizenz enthält." #. type: #: guide.sgml:32 -#, fuzzy -#| msgid "generate" msgid "General" -msgstr "generate" +msgstr "Allgemein" #. type:

#: guide.sgml:38 @@ -9584,11 +9450,16 @@ msgid "" "provide a way to install and remove packages as well as download new " "packages from the Internet." msgstr "" +"Das Paket APT enthält derzeit zwei Abschnitte, die " +"APT-dselect-Methode und die Anwenderschnittstelle " +"apt-get für die Befehlszeile. Beide stellen eine Möglichkeit " +"bereit, Pakete zu installieren, zu entfernen, sowie neue Pakete aus dem " +"Internet herunterzuladen." #. type: #: guide.sgml:39 msgid "Anatomy of the Package System" -msgstr "" +msgstr "Anatomie des Paketsystems" #. type:

#: guide.sgml:44 @@ -9597,6 +9468,10 @@ msgid "" "with each package to help assure that it integrates cleanly and easily into " "the system. The most prominent of its features is the dependency system." msgstr "" +"Das Debian-Paketierungssystem besitzt eine große Anzahl von Informationen, " +"die mit jedem Paket verbunden sind, um zu helfen sicherzustellen, dass es " +"ordentlich und leicht in das System integriert wird. Das bekannteste seiner " +"Funktionen ist das Abhängigkeitssystem." #. type:

#: guide.sgml:52 @@ -9607,6 +9482,12 @@ msgid "" "things the average user is required to install. Also, it allows for choices " "in mail transport agents, X servers and so on." msgstr "" +"Das Abhängigkeitssystem erlaubt individuellen Programmen, Gebrauch von " +"gemeinsam im System benutzten Elementen, wie Bibliotheken, zu machen. Es " +"vereinfacht, selten benutze Teile eines Programms in separaten Paketen zu " +"platzieren, um die Zahl von Dingen zu verringern, die der " +"Durchschnittsanwender installieren sollte. Außerdem erlaubt es die Auswahl " +"von Mail-Transport-Agenten, X-Servern und so weiter." #. type:

#: guide.sgml:57 @@ -9616,6 +9497,11 @@ msgid "" "package requires another package to be installed at the same time to work " "properly." msgstr "" +"Der erste Schritt zum Verständnis des Abhängigkeitssystems besteht darin, " +"das Konzept einer einfachen Abhängigkeit zu begreifen. Die Bedeutung einer " +"einfachen Abhängigkeit besteht darin, dass ein Paket ein anderes Paket " +"benötigt, das zu gleichen Zeit installiert sein muss, um ordentlich zu " +"funktionieren." #. type:

#: guide.sgml:63 @@ -9625,6 +9511,11 @@ msgid "" "simple dependency on GPG. Also, because it is an emacs extension it has a " "simple dependency on emacs, without emacs it is completely useless." msgstr "" +"Mailcrypt ist zum Beispiel eine Emacs-Erweiterung, die hilft, E-Mails mit " +"GPG zu verschlüsseln. Ohne installiertes GPG ist Mailcrypt unbrauchbar, " +"deshalb hat Mailcrypt eine einfache Abhängigkeit von GPG. Da es außerdem " +"eine Emacs-Erweiterung ist, hat es ebenfalls eine einfache Abhängigkeit von " +"Emacs. Ohne Emacs ist es komplett unbenutzbar." #. type:

#: guide.sgml:73 @@ -9638,6 +9529,16 @@ msgid "" "system so all mail transport agents have a conflicting dependency with all " "other mail transport agents." msgstr "" +"Die andere wichtige Abhängigkeit, die es zu verstehen gilt, ist eine in " +"Konflikt stehende Abhängigkeit. Das bedeutet, dass das Paket, wenn es mit " +"einem anderen Paket installiert ist, nicht funktioniert und möglicherweise " +"extrem schädlich für das System sein könnte. Stellen Sie sich als Beispiel " +"einen Mail-Transport-Agenten wie Sendmail, Exim oder QMail vor. Es ist " +"nicht möglich, zwei Mail-Transport-Agenten installiert zu haben, da beide " +"im Netzwerk auf zu empfangende Mails warten. Der Versuch, zwei zu " +"installieren, würde das System ernsthaft beschädigen, weshalb alle " +"Mail-Transport-Agenten in Konflikt stehende Abhängigkeiten mit allen " +"anderen Mail-Transport-Agenten haben." #. type:

#: guide.sgml:83 @@ -9651,6 +9552,15 @@ msgid "" "depend on mail-transport-agent. This can add a great deal of confusion when " "trying to manually fix packages." msgstr "" +"Als zusätzliche Komplikation besteht die Möglichkeit, dass ein Paket " +"vortäuscht, ein anderes Paket zu sein. Bedenken Sie, dass Exim und Sendmail " +"in vieler Hinsicht identisch sind – sie liefern beide E-Mails aus und " +"verstehen eine gemeinsame Schnittstelle. Daher hat das Paketsystem " +"die Möglichkeit, beide als Mail-Transport-Agenten zu deklarieren. Deshalb " +"deklarieren Exim und Sendmail, dass sie einen Mail-Transport-Agenten " +"bereitstellen und andere Pakete, die einen Mail-Transport-Agenten benötigen, " +"dass sie von einem Mail-Transport-Agenten abhängen. Die kann zu großer " +"Verwirrung führen, wenn manuell versucht wird, Pakete zu reparieren." #. type:

#: guide.sgml:88 @@ -9660,6 +9570,11 @@ msgid "" "issues by providing a number of automatic algorithms that help in selecting " "packages for installation." msgstr "" +"Zu jeder Zeit könnte eine einzelne Abhängigkeit von Paketen vorgefunden " +"werden, die bereits installiert sind oder nicht. APT versucht beim Auflösen " +"von Abhängigkeitsproblemen zu helfen, indem es eine Anzahl automatischer " +"Algorithmen bereitstellt, die bei der Auswahl von Paketen zur Installation " +"helfen." #. type:

#: guide.sgml:102 @@ -9669,6 +9584,10 @@ msgid "" "understand .deb files, it works with the package's proper name and can only " "install .deb archives from a Source." msgstr "" +"apt-get stellt eine einfache Möglichkeit zu Verfügung, Pakete " +"auf der Befehlszeile zu installieren. Anders als dpkg versteht " +"apt-get keine .deb-Dateien. Es arbeitet mit dem Eigennamen des " +"Pakets und kann .deb-Archive nur aus einer Quelle installieren." #. type:

#: guide.sgml:109 @@ -9680,6 +9599,12 @@ msgid "" "packages are available. This is done with apt-get update. For " "instance," msgstr "" +"Das Erste

Falls Sie einen HTTP-Proxy-Server benutzen, müssen " +"Sie zuerst die Umgebungsvariable »http_proxy« setzen, siehe " +"sources.list(5)

, das Sie vor der Benutzung von " +"apt-get tun sollten, ist es, die Paketlisten von der " +"Quelle herunterzuladen, so dass es weiß, welche Pakete verfügbar " +"sind. Dies wird mit apt-get update erledigt. Zum Beispiel," #. type: #: guide.sgml:116 @@ -9691,11 +9616,17 @@ msgid "" "Reading Package Lists... Done\n" "Building Dependency Tree... Done" msgstr "" +"# apt-get update\n" +"OK http://ftp.de.debian.org/debian-non-US/ stable/binary-i386/ Packages\n" +"OK http://llug.sep.bnl.gov/debian/ testing/contrib Packages\n" +"Paketlisten werden gelesen... Fertig\n" +"Abhängigkeitsbaum wird aufgebaut... Fertig" #. type:

#: guide.sgml:120 msgid "Once updated there are several commands that can be used:" msgstr "" +"Einmal aktualisiert stehen mehrere Befehl zur Benutzung zur Verfügung:" #. type:

#: guide.sgml:131 @@ -9708,6 +9639,16 @@ msgid "" "on new packages or conflict with some other package. dselect or " "apt-get install can be used to force these packages to install." msgstr "" +"»Upgrade« wird versuchen, ein behutsames Upgrade des ganzen Systems " +"durchzuführen. »Upgrade« wird niemals ein neues Paket installieren oder " +"entfernen, noch wird es jemals ein Upgrade eines Pakets durchführen, das " +"andere Pakete beschädigen könnte. Dies kann täglich dazu benutzt werden, um " +"ein relativ sicheres Upgrade des Systems durchzuführen. »Upgrade« wird alle " +"Pakete auflisten, von denen es kein Upgrade durchführen kann, was " +"üblicherweise bedeutet, dass sie von neuen Paketen abhängen oder Konflikte " +"mit anderen Paketen haben. dselect oder " +"apt-get install können benutzt werden, um die Installation von " +"diesen Paketen zu erzwingen." #. type:

#: guide.sgml:140 @@ -9720,6 +9661,14 @@ msgid "" "listed packages and will print a summary and ask for confirmation if " "anything other than its arguments are changed." msgstr "" +"»Install« wird benutzt, um Pakete nach Namen zu installieren. Das Paket wird " +"automatisch heruntergeladen und installiert. Dies kann nützlich sein, wenn " +"Sie bereits den Namen des zu installierenden Pakets kennen und keine GUI " +"aufrufen möchten, um es auszuwählen. Jede Anzahl von Paketen könnte zum " +"Installieren übergeben werden, sie werden alle heruntergeladen. " +"»Install« versucht automatisch Abhängigkeitsprobleme mit den aufgelisteten " +"Paketen aufzulösen, wird eine Zusammenfassung ausgeben und nach einer " +"Bestätigung fragen, wenn sich etwas anderes als dessen Argumente ändert." #. type:

#: guide.sgml:149 @@ -9732,6 +9681,16 @@ msgid "" "dselect. Once dist-upgrade has completed then dselect can be used to install any packages that may have been left out." msgstr "" +"»Dist-upgrade« führt vollständige Upgrades durch. Es wurde entworfen, um " +"Upgrades zwischen Releases von Debian zu vereinfachen. Es benutzt einen " +"ausgeklügelten Algorithmus, um die beste Zusammenstellung von Paketen zum " +"Installieren, für das Upgrade oder zum Entfernen festzulegen, um soviel wie " +"möglich vom System auf das neuste Release zu bekommen. In einigen " +"Situationen könnte es eher gewünscht sein, »dist-upgrade« zu benutzen, als " +"Zeit in das manuelle Auflösen von Abhängigkeiten in dselect " +"zu investieren. Ist »Dist-upgrade« erst vollständig, dann kann " +"dselect benutzt werden, um einige Pakete zu installieren, die " +"außen vor geblieben sind." #. type:

#: guide.sgml:152 @@ -9739,6 +9698,8 @@ msgid "" "It is important to closely look at what dist-upgrade is going to do, its " "decisions may sometimes be quite surprising." msgstr "" +"Es ist wichtig, genau zu schauen, was »Dist-upgrade« tun wird, seine " +"Entscheidungen können manchmal ziemlich überraschend sein." #. type:

#: guide.sgml:163 @@ -9751,13 +9712,20 @@ msgid "" "the downloaded archives can be installed by simply running the command that " "caused them to be downloaded again without -d." msgstr "" +"apt-get hat mehrere Befehlszeilenoptionen, die sich detailliert " +"in dessen Handbuchseite, finden. Die " +"nützlichste Option ist -d, die die heruntergeladenen Dateien nicht " +"installiert. Falls das System eine große Anzahl Pakete herunterladen soll, " +"würde es nicht erwünscht sein, wenn die Installation in dem Fall gestartet " +"würde, wenn etwas schief läuft. Falls -d benutzt wird, können die " +"heruntergeladenen Archive dadurch installiert werden, indem einfach der " +"Befehl, der das Herunterladen veranlasste, erneut ohne -d ausführt " +"wird." #. type: #: guide.sgml:168 -#, fuzzy -#| msgid "APT in DSelect" msgid "DSelect" -msgstr "APT in DSelect" +msgstr "DSelect" #. type:

#: guide.sgml:173 @@ -9767,6 +9735,10 @@ msgid "" "to select the packages to be installed or removed and APT actually installs " "them." msgstr "" +"Die APT-dselect-Methode stellt das komplette APT-System mit " +"dem dselect-Paketauswahl-GUI bereit. dselect wird " +"benutzt, um Pakete zum Installieren oder Entfernen auszuwählen und APT " +"installiert sie tatsächlich." #. type:

#: guide.sgml:184 @@ -9781,6 +9753,17 @@ msgid "" "have access to the latest bug fixes. APT will automatically use packages on " "your CDROM before downloading from the Internet." msgstr "" +"Um die APT-Methode einzuschalten, müssen Sie [Z]ugriff in " +"dselect auswählen und dann die APT-Methode wählen. Sie werden " +"nach einer Zusammenstellung von Quellen gefragt. Dies sind Plätze, " +"von denen Archive heruntergeladen werden. Dies können ferne Internetsites, " +"lokale Debian-Spiegel oder CD-ROMs sein. Jede Quelle kann einen Ausschnitt " +"des gesamten Debian-Archives bereitstellen. APT wird sie automatisch " +"kombinieren, um eine komplette Zusammenstellung von Paketen zu formen. " +"Falls Sie eine CD-ROM haben, ist es eine gute Idee, sie als erstes und dann " +"den Spiegel anzugeben, so dass Sie Zugriff auf die neusten Fehlerbehebungen " +"haben. APT wird automatisch Pakete auf der CD-ROM benutzen, bevor es sie " +"aus dem Internet herunterlädt." #. type: #: guide.sgml:198 @@ -9799,6 +9782,18 @@ msgid "" " \n" " URL [http://llug.sep.bnl.gov/debian]:" msgstr "" +" eine Liste mit Orten von Distributionsquellen einrichten\n" +"\t \n" +" Bitte geben Sie die Basis-URL der Debian-Distribution an.\n" +" Die bekannten Zugriffsschemata dafür sind: http file\n" +"\t \n" +" Zum Beispiel:\n" +" file:/mnt/debian,\n" +" ftp://ftp.debian.org/debian,\n" +" http://ftp.de.debian.org/debian,\n" +" \n" +" \n" +" URL [http://llug.sep.bnl.gov/debian]:" #. type:

#: guide.sgml:205 @@ -9807,6 +9802,9 @@ msgid "" "archive, defaulting to a HTTP mirror. Next it asks for the distribution to " "get." msgstr "" +"Das Einrichten der Quellen beginnt durch das Erfragen der Basis " +"des Debian-Archives, vorgegeben ist ein HTTP-Spiegel. Als nächstes wird " +"nach der zu erhaltenden Distribution gefragt." #. type: #: guide.sgml:212 @@ -9818,6 +9816,11 @@ msgid "" " \n" " Distribution [stable]:" msgstr "" +" Bitte geben Sie die zu erhaltende Distributionskennzeichnung oder den mit " +" einem / endenden Pfad zum Paket an. Die Distributionskennzeichnungen sind " +" normalerweise etwas wie: stable unstable testing non-US\n" +" \n" +" Distribution [stable]:" #. type:

#: guide.sgml:222 @@ -9829,6 +9832,13 @@ msgid "" "that cannot be exported from the United States. Importing these packages " "into the US is legal however." msgstr "" +"Die Distribution bezieht sich auf die Debian-Version im Archiv, " +"stable bezieht sich auf die zuletzt veröffentlichte Version und " +"unstable bezieht sich auf die Entwicklungsversion. non-US " +"ist nur auf einigen Spiegeln verfügbar und bezieht sich auf Pakete, die " +"Verschlüsselungstechnologie oder andere Dinge enthalten, die nicht aus den " +"Vereinigten Staaten exportiert werden können. Diese Pakete in die USA zu " +"importieren ist jedoch legal." #. type: #: guide.sgml:228 @@ -9839,6 +9849,10 @@ msgid "" " \n" " Components [main contrib non-free]:" msgstr "" +" Bitte geben Sie die Komponenten an, die Sie erhalten möchten\n" +" Die Komponenten sind normalerweise etwas wie: »main« »contrib« »non-free«\n" +" \n" +" Komponenten [main contrib non-free]:" #. type:

#: guide.sgml:236 @@ -9848,6 +9862,11 @@ msgid "" "packages while contrib and non-free contain things that have various " "restrictions placed on their use and distribution." msgstr "" +"Die Komponentenliste bezieht sich auf die Liste von Unter-Distributionen " +"zum Herunterladen. Die Distribution ist auf Basis von Software-Lizenzen " +"unterteilt, »Main« besteht aus Paketen die gemäß der DFSG frei sind, während " +"»Contrib« und »Non-free« Dinge enthalten, die verschiedene Einschränkungen " +"in ihrer Benutzung und ihren Vertrieb haben." #. type:

#: guide.sgml:240 @@ -9855,6 +9874,9 @@ msgid "" "Any number of sources can be added, the setup script will continue to prompt " "until you have specified all that you want." msgstr "" +"Jegliche Anzahl von Quellen kann hinzugefügt werden, das Einrichtungsskript " +"wird mit Nachfragen fortfahren, bis Sie alles angegeben haben, was Sie " +"möchten." #. type:

#: guide.sgml:247 @@ -9865,6 +9887,12 @@ msgid "" "dselect. [U]pdate must be performed even if apt-get update has been run before." msgstr "" +"Bevor sie beginnen, dselect zu benutzen, ist es notwendig, die " +"Verfügbarkeitsliste zu aktualisieren, indem sie aus dem Menü [E]rneuern " +"auswählen. Dies ist eine Obermenge von apt-get update, das " +"dselect heruntergeladene Informationen zur Verfügung stellt. " +"[E]rneuern muss auch dann durchgeführt werden, wenn vorher " +"apt-get update ausgeführt wurde." #. type:

#: guide.sgml:253 @@ -9874,6 +9902,10 @@ msgid "" "[R]emove commands have no meaning, the [I]nstall command performs both of " "them together." msgstr "" +"Sie können dann fortfahren und Ihre Auswahl per [A]uswähle treffen und dann " +"die Installation mit [I]nstall. vornehmen. Wenn Sie die APT-Methode " +"benutzen, haben die Befehle Kon[f]ig. und [L]öschen keine Bedeutung, der " +"Befehl [I]nstall. führt beides gleichermaßen aus." #. type:

#: guide.sgml:258 @@ -9882,11 +9914,14 @@ msgid "" "have been successfully installed. To change this behavior place Dselect::" "clean \"prompt\"; in /etc/apt/apt.conf." msgstr "" +"Standardmäßig wird APT automatisch die Paketdateien (.deb) entfernen, " +"sobald sie erfolgreich installiert sind. Um dieses Verhalten zu ändern, " +"platzieren Sie Dselect::clean \"prompt\"; in /etc/apt/apt.conf." #. type: #: guide.sgml:264 msgid "The Interface" -msgstr "" +msgstr "Die Schnittstelle" #. type:

#: guide.sgml:278 @@ -9900,11 +9935,20 @@ msgid "" "then will print out some informative status messages so that you can " "estimate how far along it is and how much is left to do." msgstr "" +"Sowohl die APT-Methode dselect, als auch apt-get " +"teilen sich die gleiche Schnittstelle. Es ist ein einfaches System, das " +"üblicherweise mitteilt, was es tun wird und es dann tut.

Die " +"Methode dselect ist tatsächlich eine Zusammenstellung von " +"Wrapper-Skripten für apt-get. Die Methode stellt tatsächlich " +"mehr Funktionalitäten bereit, als in apt-get allein vorhanden " +"sind.

Nach der Ausgabe einer Zusammenfassung was passieren " +"wird, gibt APT einige informative Statusmeldungen aus, so dass Sie " +"abschätzen können, wie weit es ist und wieviel noch zu tun ist." #. type: #: guide.sgml:280 msgid "Startup" -msgstr "" +msgstr "Anfang" #. type:

#: guide.sgml:284 @@ -9914,6 +9958,10 @@ msgid "" "At any time these operations can be performed by running apt-get check." msgstr "" +"Vor allen Operationen, ausgenommen »update«, führt APT eine Reihe von " +"Aktionen durch, um seinen internen Status vorzubereiten. Es macht außerdem " +"einige Prüfungen des Systemstatus. Diese Operationen können jederzeit durch " +"Ausführung von apt-get check durchgeführt werden." #. type: #: guide.sgml:289 @@ -9923,6 +9971,9 @@ msgid "" "Reading Package Lists... Done\n" "Building Dependency Tree... Done" msgstr "" +"# apt-get check\n" +"Paketlisten werden gelesen... Fertig\n" +"Abhängigkeitsbaum wird aufgebaut" #. type:

#: guide.sgml:297 @@ -9932,6 +9983,11 @@ msgid "" "If some of the package files are not found then they will be ignored and a " "warning will be printed when apt-get exits." msgstr "" +"Das erste was es tut, ist das Einlesen aller Paketdateien in den Speicher. " +"APT benutzt ein Zwischenspeicherschema, so dass diese Operation beim " +"zweiten Ausführen schneller laufen wird. Falls einige der Paketdateien nicht " +"gefunden werden, werden sie ignoriert und beim Beenden von Apt-get wird eine " +"Warnung ausgegeben." #. type:

#: guide.sgml:303 @@ -9941,6 +9997,11 @@ msgid "" "package and considers if it is OK. Should this find a problem then a report " "will be printed out and apt-get will refuse to run." msgstr "" +"Die letzte Operation führt eine detaillierte Analyse der Abhängigkeiten des " +"Systems durch. Sie prüft jede Abhängigkeit jedes installierten oder " +"entpackten Pakets und berücksichtigt, ob es in Ordnung ist. Sollte sie ein " +"Problem finden, dann wird eine Meldung ausgegeben und apt-get " +"wird die Ausführung verweigern." #. type: #: guide.sgml:320 @@ -9962,6 +10023,22 @@ msgid "" " Depends: xlib6g (>= 3.3-5) but it is not installed\n" " libreadlineg2: Conflicts:libreadline2 (<< 2.1-2.1)" msgstr "" +"# apt-get check\n" +"Paketlisten werden gelesen... Fertig\n" +"Abhängigkeitsbaum wird aufgebaut\n" +"Status-Informationen einlesen... Fertig\n" +"Probieren Sie „apt-get -f install“, um diese zu korrigieren:\n" +"Die folgenden Pakete haben nichterfüllte Abhängigkeiten:\n" +" 9fonts: Hängt ab: xlib6g ist aber nicht installiert\n" +" uucp: Hängt ab: mailx ist aber nicht installiert\n" +" blast: Hängt ab: xlib6g (>= 3.3-5) ist aber nicht installiert\n" +" adduser: Hängt ab: perl-base ist aber nicht installiert\n" +" aumix: Hängt ab: libgpmg1 ist aber nicht installiert\n" +" debiandoc-sgml: Hängt ab: sgml-base ist aber nicht installiert\n" +" bash-builtins: Hängt ab: bash (>= 2.01) but 2.0-3 ist installiert\n" +" cthugha: Hängt ab: svgalibg1 ist aber nicht installiert\n" +" Hängt ab: xlib6g (>= 3.3-5) ist aber nicht installiert\n" +" libreadlineg2: Conflicts:libreadline2 (<< 2.1-2.1)" #. type:

#: guide.sgml:329 @@ -9972,6 +10049,11 @@ msgid "" "that are unmet. A short explanation of why the package has a dependency " "problem is also included." msgstr "" +"In diesem Beispiel hat das System viele Probleme, einschließlich eines " +"ernsten Problems mit libreadlineg2. Für jedes Paket, das nichterfüllte " +"Abhängigkeiten hat, wird eine Zeile ausgegeben, die das Paket mit dem " +"Problem anzeigt und die Abhängigkeiten, die nicht erfüllt sind. Eine kurze " +"Erklärung, warum das Paket ein Abhängigkeitsproblem hat, ist inbegriffen." #. type:

#: guide.sgml:337 @@ -9984,6 +10066,14 @@ msgid "" "situation a package may have been unpacked without its dependents being " "installed." msgstr "" +"Es gibt zwei Möglichkeiten, wie ein System in einen kaputten Status wie " +"diesen kommen kann. Die erste wird dadurch verursacht, dass " +"dpkg einige feine Beziehungen zwischen Paketen übersieht, wenn " +"Upgrades durchgeführt werden.

APT berücksichtigt jedoch alle " +"bekannten Abhängigkeiten und versucht, kaputte Pakete zu vermeiden" +"

. Die zweite tritt auf, falls eine Paketinstallation während " +"der Ausführung fehlschlägt. In dieser Situation könnte ein Paket entpackt " +"worden sein, ohne dass die von ihm Abhängigen installiert sind." #. type:

#: guide.sgml:345 @@ -9995,6 +10085,13 @@ msgid "" "dselect method always supplies the -f option to allow " "for easy continuation of failed maintainer scripts." msgstr "" +"Die zweite Situation ist weit weniger ernst als die erste, weil APT " +"bestimmte Beschränkungen in der Reihenfolge setzt, in der Pakete installiert " +"werden. In beiden Fällen veranlasst die Option -f " +"apt-get, eine mögliche Lösung für das Problem zu folgern und " +"dann fortzufahren. Die APT-Methode dselect liefert immer die " +"Option -f, zum einfachen Fortfahren von gescheiterten " +"Betreuerskripten." #. type:

#: guide.sgml:351 @@ -10005,11 +10102,17 @@ msgid "" "necessary to manually use dpkg (possibly with forcing options) to correct " "the situation enough to allow APT to proceed." msgstr "" +"Falls jedoch die Option -f benutzt wird, um ein ernsthaft kaputtes " +"System zu korrigieren, das vom ersten Fall verursacht wurde, dann ist es " +"möglich, dass es entweder sofort fehlschlägt oder die Installationsabfolge " +"fehlschlagen wird. In beiden Fällen ist es nötig, Dpkg (möglicherweise mit " +"erzwingenden Optionen) manuell zu benutzen, um die Situation ausreichend zu " +"korrigieren, so dass es APT ermöglicht wird, fortzufahren." #. type: #: guide.sgml:356 msgid "The Status Report" -msgstr "" +msgstr "Der Statusbericht" #. type:

#: guide.sgml:363 @@ -10020,11 +10123,17 @@ msgid "" "final state of things, taking into account the -f option and any " "other relevant activities to the command being executed." msgstr "" +"Bevor es fortfährt, wird apt-get einen Bericht darüber " +"präsentieren, was geschehen wird. Im Allgemeinen spiegelt der Bericht den Typ " +"der Operation, die ausgeführt wird, wider, aber es gibt auch mehrere " +"geläufige Elemente. Auf jeden Fall spiegelt die Liste den Endstatus der Dinge " +"wider, bezieht die Option -f in Betracht und alle andere " +"relevante Aktivitäten zum Befehl, der ausgeführt wird." #. type: #: guide.sgml:364 msgid "The Extra Package list" -msgstr "" +msgstr "Die zusätzliche Paketliste" #. type: #: guide.sgml:372 @@ -10037,6 +10146,12 @@ msgid "" " squake pgp-i python-base debmake ldso perl libreadlineg2\n" " ssh" msgstr "" +"Die folgenden Pakete werden zusätzlich installiert:\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" +" squake pgp-i python-base debmake ldso perl libreadlineg2\n" +" ssh" #. type:

#: guide.sgml:379 @@ -10046,11 +10161,16 @@ msgid "" "generated for an install command. The listed packages are often the " "result of an Auto Install." msgstr "" +"Die zusätzliche Paketliste zeigt alle Pakete, die installiert werden oder " +"von denen ein Upgrade durchgeführt wird, zusätzlich zu den auf der " +"Befehlszeile angegebenen. Sie wird nur für einen " +"install-Befehl generiert. Die aufgelisteten Pakete sind häufig das " +"Ergebnis einer automatischen Installation." #. type: #: guide.sgml:382 msgid "The Packages to Remove" -msgstr "" +msgstr "Die zu entfernenden Pakete" #. type: #: guide.sgml:389 @@ -10062,6 +10182,11 @@ msgid "" " xadmin xboard perl-debug tkined xtetris libreadline2-dev perl-suid\n" " nas xpilot xfig" msgstr "" +"Die folgenden Pakete werden ENTFERNT:\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" +" nas xpilot xfig" #. type:

#: guide.sgml:399 @@ -10074,11 +10199,19 @@ msgid "" "that are going to be removed because they are only partially installed, " "possibly due to an aborted installation." msgstr "" +"Die Liste der zu entfernenden Pakete zeigt all die Pakete, die vom System " +"entfernt werden. Sie kann für jede der Operationen angezeigt werden und " +"sollte einer sorgfältige Überprüfung unterzogen werden, um sicherzustellen, " +"dass nichts Wichtiges weggenommen wird. Die Option -f ist " +"insbesondere gut darin, Pakete zum Entfernen vorzumerken, so dass in diesem " +"Fall mit extremer Vorsicht vorgegangen werden sollte. Die Liste könnte " +"Pakete enthalten, die entfernt werden, weil sie nur teilweise installiert " +"sind, möglicherweise aufgrund einer abgebrochenen Installation." #. type: #: guide.sgml:402 msgid "The New Packages list" -msgstr "" +msgstr "Die Liste neuer Pakete" #. type: #: guide.sgml:406 @@ -10087,6 +10220,8 @@ msgid "" "The following NEW packages will installed:\n" " zlib1g xlib6g perl-base libgdbmg1 quake-lib gmp2 pgp-i python-base" msgstr "" +"Die folgenden NEUEN Pakete werden zusätzlich installiert:\n" +" zlib1g xlib6g perl-base libgdbmg1 quake-lib gmp2 pgp-i python-base" #. type:

#: guide.sgml:411 @@ -10095,11 +10230,14 @@ msgid "" "listed are not presently installed in the system but will be when APT is " "done." msgstr "" +"Die Liste neuer Pakete ist einfache eine Erinnerung, was geschehen " +"wird. Die aufgelisteten Pakete sind zurzeit nicht auf dem System " +"installiert, werden es aber sein, wenn APT fertig ist." #. type: #: guide.sgml:414 msgid "The Kept Back list" -msgstr "" +msgstr "Die Liste zurückgehaltener Pakete" #. type: #: guide.sgml:419 @@ -10109,6 +10247,9 @@ msgid "" " compface man-db tetex-base msql libpaper svgalib1\n" " gs snmp arena lynx xpat2 groff xscreensaver" msgstr "" +"Die folgenden Pakete werden zurückgehalten:\n" +" compface man-db tetex-base msql libpaper svgalib1\n" +" gs snmp arena lynx xpat2 groff xscreensaver" #. type:

#: guide.sgml:428 @@ -10120,11 +10261,18 @@ msgid "" "to install is with apt-get install or by using dselect " "to resolve their problems." msgstr "" +"Jedesmal, wenn ein Upgrade des ganzen Systems durchgeführt wird, besteht die " +"Möglichkeit, dass neue Versionen von Paketen nicht installiert werden " +"können, weil sie neue Dinge benötigen oder einen Konflikt mit bereits " +"installierten Dingen haben. In diesem Fall wird das Paket auf der Liste " +"zurückgehaltener Pakete erscheinen. Der beste Weg dort aufgeführte Pakete " +"zur Installation zu bewegen, ist per apt-get install oder indem " +"dselect zum Lösen ihrer Probleme benutzt wird." #. type: #: guide.sgml:431 msgid "Held Packages warning" -msgstr "" +msgstr "Warnung wegen zurückgehaltener Pakete" #. type: #: guide.sgml:435 @@ -10133,6 +10281,8 @@ msgid "" "The following held packages will be changed:\n" " cvs" msgstr "" +"Die folgenden zurückgehaltenen Pakete werden geändert:\n" +" cvs" #. type:

#: guide.sgml:441 @@ -10141,17 +10291,23 @@ msgid "" "case it prints out a warning that the held package is going to be changed. " "This should only happen during dist-upgrade or install." msgstr "" +"Manchmal können Sie APT bitten, ein auf »zurückgehalten« gesetztes Paket zu " +"installieren. In einem solchen Fall gibt es eine Warnung aus, dass das " +"zurückgehaltene Paket geändert wird. Dies sollte nur während »Dist-upgrade« " +"oder »Install« vorkommen." #. type: #: guide.sgml:444 msgid "Final summary" -msgstr "" +msgstr "Abschließende Zusammenfassung" #. type:

#: guide.sgml:447 msgid "" "Finally, APT will print out a summary of all the changes that will occur." msgstr "" +"Abschließend wird APT eine Zusammenfassung aller Änderungen ausgeben, die " +"auftreten werden." #. type: #: guide.sgml:452 @@ -10161,6 +10317,11 @@ msgid "" "12 packages not fully installed or removed.\n" "Need to get 65.7M/66.7M of archives. After unpacking 26.5M will be used." msgstr "" +"206 Pakete aktualisiert, 8 zusätzlich installiert, 23 werden entfernt und " +"51 nicht aktualisiert.\n" +"12 Pakete nicht vollständig installiert oder entfernt.\n" +"Muss 65,7MB/66,7MB an Archiven herunterladen. Nach dem Entpacken werden " +"26,5MB zusätzlich belegt sein." #. type:

#: guide.sgml:470 @@ -10179,6 +10340,20 @@ msgid "" "If a large number of packages are being removed then the value may indicate " "the amount of space that will be freed." msgstr "" +"Die erste Zeile der Zusammenfassung ist bloß eine Zusammenfassung von all " +"den Listen und umfasst die Anzahl der Upgrades – das sind bereits " +"installierte Pakete, für die neue Versionen verfügbar sind. Die zweite " +"Zeile zeigt die Anzahl von schlecht konfigurierten Paketen, die " +"möglicherweise das Ergebnis einer abgebrochenen Installation sind. Die " +"letzt Zeile zeigt den Speicherbedarf, den die Installation benötigt. Das " +"erste Zahlenpaar bezieht sich auf die Größe der Archivdateien. Die erste " +"Zahl zeigt die Anzahl der Bytes an, die von fernen Orten heruntergeladen " +"werden müssen und die zweite zeigt die gesamte Größe aller benötigten " +"Archive an. Die nächste Zahl zeigt den Größenunterschied zwischen den " +"derzeit installierten Paketen und den neu installierten Paketen. Es " +"entspricht ungefähr dem in /usr benötigten Speicher nachdem alles erledigt " +"ist. Wenn eine große Anzahl Pakete entfernt wird, dann kann der Wert den " +"Betrag des freiwerdenden Speichers anzeigen." #. type:

#: guide.sgml:473 @@ -10186,11 +10361,14 @@ msgid "" "Some other reports can be generated by using the -u option to show packages " "to upgrade, they are similar to the previous examples." msgstr "" +"Einige andere Berichte können durch Benutzung der Option »-u« generiert " +"werden, um Pakete anzuzeigen, von denen ein Upgrade durchgeführt werden " +"soll. Dies ist den vorherigen Beispielen ähnlich." #. type: #: guide.sgml:477 msgid "The Status Display" -msgstr "" +msgstr "Der Anzeigestatus" #. type:

#: guide.sgml:481 @@ -10198,6 +10376,8 @@ msgid "" "During the download of archives and package files APT prints out a series of " "status messages." msgstr "" +"Während des Herunterladens von Archiven und Paketdateien gibt APT eine " +"Reihe von Statusmeldungen aus." #. type: #: guide.sgml:490 @@ -10211,6 +10391,13 @@ msgid "" "Get:5 http://llug.sep.bnl.gov/debian/ testing/non-free Packages\n" "11% [5 testing/non-free `Waiting for file' 0/32.1k 0%] 2203b/s 1m52s" msgstr "" +"# apt-get update\n" +"Hole:1 http://ftp.de.debian.org/debian-non-US/ stable/non-US/ Packages\n" +"Hole:2 http://llug.sep.bnl.gov/debian/ testing/contrib Packages\n" +"Treffer http://llug.sep.bnl.gov/debian/ testing/main Packages\n" +"Hole:4 http://ftp.de.debian.org/debian-non-US/ unstable/binary-i386/ Packages\n" +"Hole:5 http://llug.sep.bnl.gov/debian/ testing/non-free Packages\n" +"11% [5 testing/non-free 'Warte auf Datei' 0/32.1k 0%] 2203b/s 1m52s" #. type:

#: guide.sgml:500 @@ -10222,6 +10409,13 @@ msgid "" "apt-get update estimates the percent done which causes some " "inaccuracies." msgstr "" +"Die Zeilen, die mit Hole beginnen, werden ausgegeben, wenn APT " +"anfängt, eine Datei herunterzuladen, während die letzte Zeile den " +"Fortschritt des Herunterladens anzeigt. Die erste Prozentzahl der " +"Fortschrittszeile zeigt die gesamt erledigte Prozentzahl aller Dateien an. " +"Unglücklicherweise schätzt apt-get update die erledigte " +"Prozentzahl, da die Größe der Pakete unbekannt ist, was einige " +"Ungenauigkeiten bewirkt." #. type:

#: guide.sgml:509 @@ -10234,6 +10428,15 @@ msgid "" "The next word is the short form name of the object being downloaded. For " "archives it will contain the name of the package that is being fetched." msgstr "" +"Der nächste Abschnitt der Statuszeile wird für jeden Download-Thread " +"wiederholt und zeigt die durchgeführte Operation, sowie einige nützliche " +"Informationen darüber an was geschieht. Manchmal wird dieser Abschnitt " +"einfach nur Forking darstellen, was bedeutet, dass das " +"Betriebssystem das Download-Modul am Laden ist. Das erste Wort nach dem " +"»[« ist die Ladenummer, wie sie auf den Verlaufszeilen angezeigt wird. Das " +"nächste Wort ist Name in Kurzform des Ojektes, das heruntergeladen wird. " +"Für Archive wird es den Namen des Paketes enthalten, das heruntergeladen " +"wird." #. type:

#: guide.sgml:524 @@ -10252,6 +10455,21 @@ msgid "" "regularly and reflects the time to complete everything at the shown transfer " "rate." msgstr "" +"Innerhalb von einzelnen Anführungszeichen folgt eine informative " +"Zeichenkette, die den Fortschritt der Übertragungsphase des Downloads " +"anzeigt. Normalerweise schreitet sie fort von Verbinde zu Warte " +"auf Datei zu Lade herunter oder Nehme wieder auf. " +"Der letzte Wert ist die Anzahl der von der fernen Site heruntergeladenen " +"Bytes. Sobald der Download beginnt, zeigt sich dies wie 102/10.2k " +"was anzeigt, dass 102 Bytes heruntergeladen und 10,2 Kilobytes erwartet " +"werden. Die Gesamtgröße wird immer in vierstelliger Schreibweise " +"dargestellt, um Platz zu sparen. Nach der Größenanzeige ist eine " +"Prozentangabe für die Datei selbst. Das zweitletzte Element ist die " +"augenblickliche Fortschrittsgeschwindigkeit. Dieser Wert wird alle fünf " +"Sekunden aktualisiert und spiegelt die Datenübertragungsgeschwindigkeit in " +"dieser Periode wider. Am Ende wird die geschätzte Übertragungszeit " +"angezeigt. Dies wird regelmäßig aktualisiert und spiegelt die Zeit zum " +"Vervollständigen bei der angezeigten Datenübertragungsgeschwindigkeit wider." #. type:

#: guide.sgml:530 @@ -10262,11 +10480,17 @@ msgid "" "for logging to a file, use the -q option to remove the status " "display." msgstr "" +"Die Statusanzeige aktualisiert sich alle halbe Sekunde, um eine " +"gleichmäßige Rückmeldung über den Download-Fortschritt bereitzustellen, " +"während die »Hole«-Zeilen bei jeder gestarteten neuen Datei zurückscrollen. " +"Da die Statusanzeige ständig aktualisiert wird, ist sie für die " +"Protokollierung in eine Datei ungeeignet. Benutzen Sie die Option " +"-q, um die Statusanzeige zu entfernen." #. type: #: guide.sgml:535 msgid "Dpkg" -msgstr "" +msgstr "Dpkg" #. type:

#: guide.sgml:542 @@ -10278,16 +10502,23 @@ msgid "" "each question there is usually a description of what it is asking and the " "questions are too varied to discuss completely here." msgstr "" +"APT benutzt dpkg, um die Archive zu installieren und wird " +"zu der dpkg-Schnittstelle herüberschalten, sobald der " +"Download vollständig ist. dpkg wird außerdem eine Reihe von " +"Fragen stellen, während es die Pakete abarbeitet und die Pakete können auch " +"mehrere Fragen stellen . Vor jeder Frage ist üblicherweise eine " +"Beschreibung des Gefragten und die Fragen sind zu vielfältig, um sie " +"vollständig hier zu besprechen." #. type: #: offline.sgml:4 msgid "Using APT Offline" -msgstr "" +msgstr "APT offline verwenden" #. type: #: offline.sgml:7 msgid "$Id: offline.sgml,v 1.8 2003/02/12 15:06:41 doogie Exp $" -msgstr "" +msgstr "$Id: offline.sgml,v 1.8 12.02.2003 15:06:41 doogie Exp $" #. type: #: offline.sgml:12 @@ -10295,23 +10526,24 @@ msgid "" "This document describes how to use APT in a non-networked environment, " "specifically a 'sneaker-net' approach for performing upgrades." msgstr "" +"Dieses Dokument beschreibt, wie APT in einer Umgebung ohne Netzwerk, " +"speziell einem »Turnschuhnetzwerk«, an die Durchführung von Upgrades " +"herangeht." #. type: #: offline.sgml:16 msgid "Copyright © Jason Gunthorpe, 1999." -msgstr "" +msgstr "Copyright © Jason Gunthorpe, 1999." #. type: #: offline.sgml:32 msgid "Introduction" -msgstr "" +msgstr "Einleitung" #. type: #: offline.sgml:34 offline.sgml:65 offline.sgml:180 -#, fuzzy -#| msgid "OverrideDir" msgid "Overview" -msgstr "OverrideDir" +msgstr "Übersicht" #. type:

#: offline.sgml:40 @@ -10321,6 +10553,11 @@ msgid "" "machine is on a slow link, such as a modem and another machine has a very " "fast connection but they are physically distant." msgstr "" +"Normalerweise benötigt APT direkten Zugang zu einem Debian-Archiv, entweder " +"von einem lokalen Medium oder über ein Netz. Eine andere häufige " +"Beanstandung ist, dass eine Debian-Maschine an einer langsamen Anbindung, " +"wie einem Modem, hängt und eine andere Maschine eine sehr schnelle " +"Verbindung hat, sie jedoch physisch fern sind." #. type:

#: offline.sgml:51 @@ -10335,6 +10572,17 @@ msgid "" "the machine downloading the packages, and target host the one with " "bad or no connection." msgstr "" +"Die Lösung dazu besteht darin, große Wechselmedien, wie eine Zip-Platte " +"oder eine SuperDisk zu benutzen. Diese Platten sind nicht groß genug, um " +"ein ganzes Debian-Archiv zu speichern, können aber leicht eine Untermenge " +"aufnehmen, die für die meisten Anwender groß genug ist. Die Idee besteht " +"darin, APT zu benutzen, um eine Liste benötigter Pakete zu generieren und " +"diese dann mit einer anderen Maschine mit guter Verbindung auf die Platte " +"herunterzuladen. Es ist sogar möglich, eine andere Debian-Maschine mit APT " +"oder ein komplett unterschiedliches Betriebssystem und ein " +"Download-Werkzeug wie Wget zu benutzen. Nennen wir die Maschine, die die " +"Pakete herunterlädt ferner Rechner und die mit der schlechten oder " +"fehlenden Verbindung Zielrechner." #. type:

#: offline.sgml:57 @@ -10344,11 +10592,16 @@ msgid "" "that the disc should be formated with a filesystem that can handle long file " "names such as ext2, fat32 or vfat." msgstr "" +"Dies wird durch kreatives Manipulieren der APT-Konfigurationsdatei " +"erreicht. Die wesentliche Voraussetzung besteht darin, APT mitzuteilen, " +"dass es für seine Archivdateien auf einer Platte nachsieht. Beachten Sie, " +"dass diese Platte mit einem Dateisystem formatiert sein sollte, das mit " +"langen Dateinamen umgehen kann, so wie ext2, fat32 oder vfat." #. type: #: offline.sgml:63 msgid "Using APT on both machines" -msgstr "" +msgstr "APT auf beiden Maschinen benutzen" #. type:

#: offline.sgml:71 @@ -10358,6 +10611,11 @@ msgid "" "remote machine to fetch the latest package files and decide which packages " "to download. The disk directory structure should look like:" msgstr "" +"Ein verfügbares APT auf beiden Maschinen stellt die einfachste Konfiguration " +"dar. Die Grundidee besteht darin, eine Kopie der Statusdatei auf der Platte " +"zu platzieren und die ferne Maschine zu benutzen, um die neusten " +"Paketdateien herunterzuladen und zu entscheiden, welche Pakete " +"heruntergeladen werden. Die Plattenverzeichnisstruktur sollte so aussehen:" #. type: #: offline.sgml:80 @@ -10372,13 +10630,19 @@ msgid "" " sources.list\n" " apt.conf" msgstr "" +" /Platte/\n" +" Archive/\n" +" partial/\n" +" lists/\n" +" partial/\n" +" status\n" +" sources.list\n" +" apt.conf" #. type: #: offline.sgml:88 -#, fuzzy -#| msgid "User configuration" msgid "The configuration file" -msgstr "Benutzerkonfiguration" +msgstr "Die Konfigurationsdatei" #. type:

#: offline.sgml:96 @@ -10390,6 +10654,13 @@ msgid "" "target host. Please note, if you are using a local archive you must " "use copy URIs, the syntax is identical to file URIs." msgstr "" +"Die Konfigurationsdatei sollte APT mitteilen, dass es seine Dateien auf der " +"Platte speichert und obendrein die Konfigurationsdateien auf der Platte " +"benutzt. Die »sources.list« sollte genau die Sites enthalten, die Sie " +"auf der fernen Maschine benutzen möchten und die Statusdatei sollte eine " +"Kopie von /var/lib/dpkg/status vom Zielrechner sein. " +"Bitte beachten Sie, falls Sie lokale Archive benutzen, dass Sie »copy«-URIs " +"benutzen müssen. Die Syntax entspricht der von »file«-URIs." #. type:

#: offline.sgml:100 @@ -10397,6 +10668,8 @@ msgid "" "apt.conf must contain the necessary information to make APT use the " "disc:" msgstr "" +"apt.conf muss die nötigen Informationen enthalten, damit APT die " +"Platte benutzt:" #. type: #: offline.sgml:124 @@ -10426,6 +10699,30 @@ msgid "" " Etc \"/disc/\";\n" " };" msgstr "" +" APT\n" +" {\n" +" /* Dies ist nicht nötig, falls die beiden Maschinen die gleiche\n" +" Architektur haben. Es teilt dem fernen APT mit, welche Architektur " +" die Zielmaschine hat */\n" +" Architecture \"i386\";\n" +" \n" +" Get::Download-Only \"true\";\n" +" };\n" +" \n" +" Dir\n" +" {\n" +" /* Die Platte für Statusinformationen benutzen und die Statusdatei\n" +" umleiten von /var/lib/dpkg default */\n" +" State \"/disc/\";\n" +" State::status \"status\";\n" +"\n" +" // Programmzwischenspeicher werden lokal gespeichert\n" +" Cache::archives \"/disc/archives/\";\n" +" Cache \"/tmp/\";\n" +" \n" +" // Ort der Quellenliste.\n" +" Etc \"/disc/\";\n" +" };" #. type:

#: offline.sgml:129 @@ -10433,6 +10730,8 @@ msgid "" "More details can be seen by examining the apt.conf man page and the sample " "configuration file in /usr/share/doc/apt/examples/apt.conf." msgstr "" +"Weitere Details finden sich in der apt.conf-Handbuchseite und der " +"Musterkonfigurationsdatei in /usr/share/doc/apt/examples/apt.conf." #. type:

#: offline.sgml:136 @@ -10443,6 +10742,12 @@ msgid "" "em> Then take the disc to the remote machine and configure the sources.list. " "On the remote machine execute the following:" msgstr "" +"Das Erste, was auf der Zielmaschine getan werden muss, ist das Einhängen " +"der Platte und das Kopieren von /var/lib/dpkg/status dorthin. Sie " +"werden außerdem die in der Übersicht umrissenen Verzeichnisse " +"archives/partial/ und lists/partial/ erstellen müssen. " +"Dann bringen Sie die Platte zu der fernen Maschine und konfigurieren Sie " +"die »sources.list«. Führen Sie das folgende aus:" #. type: #: offline.sgml:142 @@ -10451,9 +10756,15 @@ msgid "" " # export APT_CONFIG=\"/disc/apt.conf\"\n" " # apt-get update\n" " [ APT fetches the package files ]\n" -" # apt-get dist-upgrade\n" +" apt-get dist-upgrade\n" " [ APT fetches all the packages needed to upgrade the target machine ]" msgstr "" +" # export APT_CONFIG=\"/disc/apt.conf\"\n" +" # apt-get update\n" +" [ APT lädt die Paketdateien herunter ]\n" +" # apt-get dist-upgrade\n" +" [ APT lädt all die Pakete herunter, die die Zielmaschine benötigt, um ein\n" +" Upgrade durchzuführen ]" #. type:

#: offline.sgml:149 @@ -10463,6 +10774,10 @@ msgid "" "such as dselect However this presents a problem in communicating " "your selections back to the local computer." msgstr "" +"Der Befehl »dist-upgrade« kann durch alle anderen Standard-APT-Befehle " +"ersetzt werden, insbesondere »dselect-upgrade«. Sie können sogar eine " +"APT-Oberfläche, wie dselect, benutzen. Jedoch stellt dies ein " +"Problem dar, Ihre Auswahl zurück an den lokalen Rechner zu kommunizieren." #. type:

#: offline.sgml:153 @@ -10470,6 +10785,9 @@ msgid "" "Now the disc contains all of the index files and archives needed to upgrade " "the target machine. Take the disc back and run:" msgstr "" +"Nun enthält die Platte alle Indexdateien und Archive, die nötig sind, um " +"ein Upgrade der Zielmaschine druchzuführen. Bringen Sie die Platte zurück " +"und starten Sie:" #. type: #: offline.sgml:159 @@ -10481,6 +10799,11 @@ msgid "" " # apt-get --no-d -o dir::state::status=/var/lib/dpkg/status dist-upgrade\n" " [ Or any other APT command ]" msgstr "" +" # export APT_CONFIG=\"/disc/apt.conf\"\n" +" # apt-get check\n" +" [ APT generiert eine lokale Kopie der Zwischenspeicherdateien ]\n" +" # apt-get --no-d -o dir::state::status=/var/lib/dpkg/status dist-upgrade\n" +" [ Oder irgendeinen anderen APT-Befehl ]" #. type:

#: offline.sgml:165 @@ -10488,6 +10811,8 @@ msgid "" "It is necessary for proper function to re-specify the status file to be the " "local one. This is very important!" msgstr "" +"Es ist für ordentliches Funktionieren notwendig, die Statusdatei erneut als " +"die lokale anzugeben. Dies ist sehr wichtig!" #. type:

#: offline.sgml:172 @@ -10498,11 +10823,18 @@ msgid "" "the local machine - but this may not always be possible. DO NOT copy the " "status file if dpkg or APT have been run in the mean time!!" msgstr "" +"Wenn Sie Dselect benutzen, können Sie die sehr riskante Operation " +"durchführen, disc/status auf /var/lib/dpkg/status zu kopieren, so dass die " +"von Ihnen gemachte Auswahl auf der fernen Maschine aktualisiert wird. Es " +"wird in höchstem Maße empfohlen, dass Leute nur auf der lokalen Maschine " +"Auswahlen treffen – aber dies könnte manchmal unmöglich sein. Kopieren Sie " +"die Statusdatei NICHT, falls Dpkg oder APT in der Zwischenzeit benutzt " +"wurden!" #. type: #: offline.sgml:178 msgid "Using APT and wget" -msgstr "" +msgstr "APT und Wget benutzen" #. type:

#: offline.sgml:185 @@ -10511,6 +10843,10 @@ msgid "" "any machine. Unlike the method above this requires that the Debian machine " "already has a list of available packages." msgstr "" +"wget ist eine populäres und portierbares Download-Werkzeug, das " +"auf nahezu jeder Maschine laufen kann. Anders als die Methode oben wird " +"hierfür benötigt, dass die Debian-Maschine bereits eine Liste verfügbarer " +"Pakete hat." #. type:

#: offline.sgml:190 @@ -10520,13 +10856,16 @@ msgid "" "option to apt-get and then preparing a wget script to actually fetch the " "packages." msgstr "" +"Die Grundidee besteht darin, eine Platte zu erzeugen, die nur die " +"heruntergeladenen Archivdateien von der fernen Site enthält. Die wird durch " +"Benutzen der apt-get-Option »--print-uris« und dem anschließenden " +"Vorbereiten eines Wget-Skripts getan, um die eigentlichen Pakete " +"herunterzuladen." #. type: #: offline.sgml:196 -#, fuzzy -#| msgid "Options" msgid "Operation" -msgstr "Optionen" +msgstr "Betrieb" #. type:

#: offline.sgml:200 @@ -10534,6 +10873,9 @@ msgid "" "Unlike the previous technique no special configuration files are required. " "We merely use the standard APT commands to generate the file list." msgstr "" +"Anders als bei der vorherigen Technik werden keine speziellen " +"Konfigurationsdateien benötigt. Es werden lediglich die Standard-APT-Befehle " +"benutzt, um die Dateiliste zu erstellen." #. type: #: offline.sgml:205 @@ -10544,6 +10886,11 @@ msgid "" " # apt-get -qq --print-uris dist-upgrade > uris\n" " # awk '{print \"wget -O \" $2 \" \" $1}' < uris > /disc/wget-script" msgstr "" +" # apt-get dist-upgrade \n" +" [ Antworten Sie »nein« auf gestellte Fragen, wenn Sie mit den Aktionen\n" +" zufrieden sind ]\n" +" # apt-get -qq --print-uris dist-upgrade > uris\n" +" # awk '{print \"wget -O \" $2 \" \" $1}' < uris > /Platte/wget-script" #. type:

#: offline.sgml:210 @@ -10551,6 +10898,8 @@ msgid "" "Any command other than dist-upgrade could be used here, including dselect-" "upgrade." msgstr "" +"Jeder andere Befehl als »dist-upgrade« könnte hier benutzt werden, " +"einschließlich »upgrade«." #. type:

#: offline.sgml:216 @@ -10560,11 +10909,15 @@ msgid "" "with the current directory as the disc's mount point so as to save the " "output on the disc." msgstr "" +"Die Datei /Platte/wget-script wird nun eine Liste der Wget-Befehle enthalten, " +"um die erforderlichen Archive herunterzuladen. Dieses Skript sollte mit dem " +"aktuellen Verzeichnis als Platteneinhängepunkt ausgeführt werden, so dass " +"die Ausgabe auf die Platte gespeichert wird." #. type:

#: offline.sgml:219 msgid "The remote machine would do something like" -msgstr "" +msgstr "Die ferne Maschine würde etwas wie das folgende tun" #. type: #: offline.sgml:223 @@ -10574,6 +10927,9 @@ msgid "" " # sh -x ./wget-script\n" " [ wait.. ]" msgstr "" +" # cd /Platte\n" +" # sh -x ./wget-script\n" +" [ warten ... ]" #. type: #: offline.sgml:228 @@ -10581,28 +10937,17 @@ msgid "" "Once the archives are downloaded and the disc returned to the Debian machine " "installation can proceed using," msgstr "" +"Sobald die Archive heruntergeladen und die Platte zur Debian-Maschine " +"zurückgekehrt ist, kann die Installation fortfahren durch Benutzung von " #. type: #: offline.sgml:230 #, no-wrap msgid " # apt-get -o dir::cache::archives=\"/disc/\" dist-upgrade" -msgstr "" +msgstr " # apt-get -o dir::cache::archives=\"/Platte/\" dist-upgrade" #. type:

#: offline.sgml:234 msgid "Which will use the already fetched archives on the disc." msgstr "" - -#~ msgid "" -#~ "Disable Immediate Configuration; This dangerous option disables some of " -#~ "APT's ordering code to cause it to make fewer dpkg calls. Doing so may be " -#~ "necessary on some extremely slow single user systems but is very " -#~ "dangerous and may cause package install scripts to fail or worse. Use at " -#~ "your own risk." -#~ msgstr "" -#~ "Sofortkonfiguration ausschalten; Diese gefährliche Option schaltet " -#~ "einigen Befehlscode von APT aus, um es zu veranlassen, Dpkg seltener " -#~ "aufzurufen. Dies zu tun, könnte auf besonders langsamen " -#~ "Einzelbenutzersystemen nötig sein, ist aber gefährlich und könnte " -#~ "Paketinstallationsskripte zum Scheitern oder schlimmeren veranlassen. " -#~ "Benutzen Sie es auf eigene Gefahr." +"Es wird die bereits auf die Platte heruntergeladenen Archive benutzen." \ No newline at end of file diff --git a/doc/po/fr.po b/doc/po/fr.po index 22b4435b5..afdd579b7 100644 --- a/doc/po/fr.po +++ b/doc/po/fr.po @@ -2597,7 +2597,8 @@ msgstr "" #. type: Content of: #: apt-ftparchive.1.xml:82 apt-ftparchive.1.xml:106 -msgid "The option can be used to specify a binary caching DB." +msgid "" +"The option can be used to specify a binary caching DB." msgstr "" "On peut se servir de l'option pour demander un cache " "binaire." @@ -2752,8 +2753,10 @@ msgstr "" #. type: Content of: #: apt-ftparchive.1.xml:155 -msgid "The generate configuration has 4 separate sections, each described below." -msgstr "Ce fichier de configuration possède quatre sections, décrites ci-dessous." +msgid "" +"The generate configuration has 4 separate sections, each described below." +msgstr "" +"Ce fichier de configuration possède quatre sections, décrites ci-dessous." #. type: Content of: #: apt-ftparchive.1.xml:157 @@ -4949,7 +4952,8 @@ msgstr "<filename>/etc/apt/trusted.gpg</filename>" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> #: apt-key.8.xml:141 msgid "Keyring of local trusted keys, new keys will be added here." -msgstr "Trousseau de clés locales fiables : les nouvelles clés y seront ajoutées." +msgstr "" +"Trousseau de clés locales fiables : les nouvelles clés y seront ajoutées." #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> #: apt-key.8.xml:144 @@ -4973,8 +4977,10 @@ msgstr "Trousseau des clés fiables de l'archive Debian." #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> #: apt-key.8.xml:152 -msgid "<filename>/usr/share/keyrings/debian-archive-removed-keys.gpg</filename>" -msgstr "<filename>/usr/share/keyrings/debian-archive-removed-keys.gpg</filename>" +msgid "" +"<filename>/usr/share/keyrings/debian-archive-removed-keys.gpg</filename>" +msgstr "" +"<filename>/usr/share/keyrings/debian-archive-removed-keys.gpg</filename>" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> #: apt-key.8.xml:153 @@ -5114,8 +5120,10 @@ msgstr "" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> #: apt-mark.8.xml:93 -msgid "<option>-f=<filename><replaceable>FILENAME</replaceable></filename></option>" -msgstr "<option>-f=<filename><replaceable>FICHIER</replaceable></filename></option>" +msgid "" +"<option>-f=<filename><replaceable>FILENAME</replaceable></filename></option>" +msgstr "" +"<option>-f=<filename><replaceable>FICHIER</replaceable></filename></option>" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> #: apt-mark.8.xml:94 @@ -5866,6 +5874,7 @@ msgstr "" #. type: Content of: <refentry><refsect1><para> #: apt.conf.5.xml:118 +#, fuzzy msgid "" "Note that you can use :: only for appending one item per line to a list and " "that you should not use it in combination with the scope syntax. (The scope " @@ -7413,7 +7422,8 @@ msgstr "<literal>Debug::Acquire::cdrom</literal>" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> #: apt.conf.5.xml:693 -msgid "Print information related to accessing <literal>cdrom://</literal> sources." +msgid "" +"Print information related to accessing <literal>cdrom://</literal> sources." msgstr "" "Affiche les informations concernant les sources de type <literal>cdrom://</" "literal>" @@ -7426,7 +7436,8 @@ msgstr "<literal>Debug::Acquire::ftp</literal>" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> #: apt.conf.5.xml:704 msgid "Print information related to downloading packages using FTP." -msgstr "Affiche les informations concernant le téléchargement de paquets par FTP." +msgstr "" +"Affiche les informations concernant le téléchargement de paquets par FTP." #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> #: apt.conf.5.xml:711 @@ -7436,7 +7447,8 @@ msgstr "<literal>Debug::Acquire::http</literal>" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> #: apt.conf.5.xml:715 msgid "Print information related to downloading packages using HTTP." -msgstr "Affiche les informations concernant le téléchargement de paquets par HTTP." +msgstr "" +"Affiche les informations concernant le téléchargement de paquets par HTTP." #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> #: apt.conf.5.xml:722 @@ -7597,7 +7609,8 @@ msgstr "<literal>Debug::pkgAcquire::Worker</literal>" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> #: apt.conf.5.xml:844 -msgid "Log all interactions with the sub-processes that actually perform downloads." +msgid "" +"Log all interactions with the sub-processes that actually perform downloads." msgstr "" "Affiche toutes les interactions avec les processus enfants qui se chargent " "effectivement des téléchargements." @@ -7738,7 +7751,8 @@ msgstr "<literal>Debug::pkgPackageManager</literal>" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> #: apt.conf.5.xml:945 -msgid "Output status messages tracing the steps performed when invoking &dpkg;." +msgid "" +"Output status messages tracing the steps performed when invoking &dpkg;." msgstr "Affiche le détail des opérations liées à l'invocation de &dpkg;." #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> @@ -7959,7 +7973,8 @@ msgstr "une priorité égale à 990" #. type: Content of: <refentry><refsect1><refsect2><para><variablelist><varlistentry><listitem><simpara> #: apt_preferences.5.xml:94 -msgid "to the versions that are not installed and belong to the target release." +msgid "" +"to the versions that are not installed and belong to the target release." msgstr "" "est affectée aux versions qui ne sont pas installées et qui appartiennent à " "la distribution par défaut." @@ -8444,7 +8459,8 @@ msgstr "" #. type: Content of: <refentry><refsect1><refsect2><title> #: apt_preferences.5.xml:306 msgid "Determination of Package Version and Distribution Properties" -msgstr "Détermination de la version des paquets et des propriétés des distributions" +msgstr "" +"Détermination de la version des paquets et des propriétés des distributions" #. type: Content of: <refentry><refsect1><refsect2><para> #: apt_preferences.5.xml:308 diff --git a/doc/sources.list.5.xml b/doc/sources.list.5.xml index e2993db2c..c71ae6bdd 100644 --- a/doc/sources.list.5.xml +++ b/doc/sources.list.5.xml @@ -180,7 +180,7 @@ deb http://http.us.debian.org/debian dists/stable-updates/ APT can be extended with more methods shipped in other optional packages which should follow the nameing scheme <literal>apt-transport-<replaceable>method</replaceable></literal>. The APT team e.g. maintains also the <literal>apt-transport-https</literal> package which - provides access methods for https-URIs with features similiar to the http method, but other + provides access methods for https-URIs with features similar to the http method, but other methods for using e.g. debtorrent are also available, see <citerefentry> <refentrytitle><filename>apt-transport-debtorrent</filename></refentrytitle> <manvolnum>1</manvolnum></citerefentry>. diff --git a/methods/gpgv.cc b/methods/gpgv.cc index 150c1d315..c58e6cc45 100644 --- a/methods/gpgv.cc +++ b/methods/gpgv.cc @@ -1,10 +1,9 @@ #include <apt-pkg/error.h> #include <apt-pkg/acquire-method.h> #include <apt-pkg/strutl.h> +#include <apt-pkg/fileutl.h> #include <apti18n.h> -#include <sys/stat.h> -#include <unistd.h> #include <utime.h> #include <stdio.h> #include <fcntl.h> @@ -45,42 +44,47 @@ string GPGVMethod::VerifyGetSigners(const char *file, const char *outfile, vector<string> &WorthlessSigners, vector<string> &NoPubKeySigners) { + bool const Debug = _config->FindB("Debug::Acquire::gpgv", false); // setup a (empty) stringstream for formating the return value std::stringstream ret; ret.str(""); - if (_config->FindB("Debug::Acquire::gpgv", false)) - { - std::cerr << "inside VerifyGetSigners" << std::endl; - } + if (Debug == true) + std::clog << "inside VerifyGetSigners" << std::endl; + pid_t pid; int fd[2]; FILE *pipein; int status; - struct stat buff; - string gpgvpath = _config->Find("Dir::Bin::gpg", "/usr/bin/gpgv"); - string pubringpath = _config->Find("APT::GPGV::TrustedKeyring", "/etc/apt/trusted.gpg"); - if (_config->FindB("Debug::Acquire::gpgv", false)) + string const gpgvpath = _config->Find("Dir::Bin::gpg", "/usr/bin/gpgv"); + // FIXME: remove support for deprecated APT::GPGV setting + string const trustedFile = _config->FindFile("Dir::Etc::Trusted", + _config->Find("APT::GPGV::TrustedKeyring", "/etc/apt/trusted.gpg").c_str()); + string const trustedPath = _config->FindDir("Dir::Etc::TrustedParts", "/etc/apt/trusted.gpg.d"); + if (Debug == true) { - std::cerr << "gpgv path: " << gpgvpath << std::endl; - std::cerr << "Keyring path: " << pubringpath << std::endl; + std::clog << "gpgv path: " << gpgvpath << std::endl; + std::clog << "Keyring file: " << trustedFile << std::endl; + std::clog << "Keyring path: " << trustedPath << std::endl; } - if (stat(pubringpath.c_str(), &buff) != 0) + vector<string> keyrings = GetListOfFilesInDir(trustedPath, "gpg", false); + if (FileExists(trustedFile) == true) + keyrings.push_back(trustedFile); + + if (keyrings.empty() == true) { - ioprintf(ret, _("Couldn't access keyring: '%s'"), strerror(errno)); + // TRANSLATOR: %s is the trusted keyring parts directory + ioprintf(ret, _("No keyring installed in %s."), trustedPath.c_str()); return ret.str(); } + if (pipe(fd) < 0) - { return "Couldn't create pipe"; - } pid = fork(); if (pid < 0) - { return string("Couldn't spawn new process") + strerror(errno); - } else if (pid == 0) { const char *Args[400]; @@ -90,8 +94,17 @@ string GPGVMethod::VerifyGetSigners(const char *file, const char *outfile, Args[i++] = "--status-fd"; Args[i++] = "3"; Args[i++] = "--ignore-time-conflict"; - Args[i++] = "--keyring"; - Args[i++] = pubringpath.c_str(); + for (vector<string>::const_iterator K = keyrings.begin(); + K != keyrings.end(); ++K) + { + Args[i++] = "--keyring"; + Args[i++] = K->c_str(); + // check overflow (minus a bit of extra space at the end) + if(i >= sizeof(Args)/sizeof(char*)-5) { + std::clog << _("E: Too many keyrings should be passed to gpgv. Exiting.") << std::endl; + exit(111); + } + } Configuration::Item const *Opts; Opts = _config->Tree("Acquire::gpgv::Options"); @@ -103,8 +116,9 @@ string GPGVMethod::VerifyGetSigners(const char *file, const char *outfile, if (Opts->Value.empty() == true) continue; Args[i++] = Opts->Value.c_str(); - if(i >= 395) { - std::cerr << _("E: Argument list from Acquire::gpgv::Options too long. Exiting.") << std::endl; + // check overflow (minus a bit of extra space at the end) + if(i >= sizeof(Args)/sizeof(char*)-5) { + std::clog << _("E: Argument list from Acquire::gpgv::Options too long. Exiting.") << std::endl; exit(111); } } @@ -113,14 +127,14 @@ string GPGVMethod::VerifyGetSigners(const char *file, const char *outfile, Args[i++] = outfile; Args[i++] = NULL; - if (_config->FindB("Debug::Acquire::gpgv", false)) + if (Debug == true) { - std::cerr << "Preparing to exec: " << gpgvpath; + std::clog << "Preparing to exec: " << gpgvpath; for(unsigned int j=0;Args[j] != NULL; j++) - std::cerr << " " << Args[j]; - std::cerr << std::endl; + std::clog << " " << Args[j]; + std::clog << std::endl; } - int nullfd = open("/dev/null", O_RDONLY); + int const nullfd = open("/dev/null", O_RDONLY); close(fd[0]); // Redirect output to /dev/null; we read from the status fd dup2(nullfd, STDOUT_FILENO); @@ -159,8 +173,8 @@ string GPGVMethod::VerifyGetSigners(const char *file, const char *outfile, break; *(buffer+bufferoff) = '\0'; bufferoff = 0; - if (_config->FindB("Debug::Acquire::gpgv", false)) - std::cerr << "Read: " << buffer << std::endl; + if (Debug == true) + std::clog << "Read: " << buffer << std::endl; // Push the data into three separate vectors, which // we later concatenate. They're kept separate so @@ -168,33 +182,33 @@ string GPGVMethod::VerifyGetSigners(const char *file, const char *outfile, // it will be better. if (strncmp(buffer, GNUPGBADSIG, sizeof(GNUPGBADSIG)-1) == 0) { - if (_config->FindB("Debug::Acquire::gpgv", false)) - std::cerr << "Got BADSIG! " << std::endl; + if (Debug == true) + std::clog << "Got BADSIG! " << std::endl; BadSigners.push_back(string(buffer+sizeof(GNUPGPREFIX))); } if (strncmp(buffer, GNUPGNOPUBKEY, sizeof(GNUPGNOPUBKEY)-1) == 0) { - if (_config->FindB("Debug::Acquire::gpgv", false)) - std::cerr << "Got NO_PUBKEY " << std::endl; + if (Debug == true) + std::clog << "Got NO_PUBKEY " << std::endl; NoPubKeySigners.push_back(string(buffer+sizeof(GNUPGPREFIX))); } if (strncmp(buffer, GNUPGNODATA, sizeof(GNUPGBADSIG)-1) == 0) { - if (_config->FindB("Debug::Acquire::gpgv", false)) - std::cerr << "Got NODATA! " << std::endl; + if (Debug == true) + std::clog << "Got NODATA! " << std::endl; BadSigners.push_back(string(buffer+sizeof(GNUPGPREFIX))); } if (strncmp(buffer, GNUPGKEYEXPIRED, sizeof(GNUPGKEYEXPIRED)-1) == 0) { - if (_config->FindB("Debug::Acquire::gpgv", false)) - std::cerr << "Got KEYEXPIRED! " << std::endl; + if (Debug == true) + std::clog << "Got KEYEXPIRED! " << std::endl; WorthlessSigners.push_back(string(buffer+sizeof(GNUPGPREFIX))); } if (strncmp(buffer, GNUPGREVKEYSIG, sizeof(GNUPGREVKEYSIG)-1) == 0) { - if (_config->FindB("Debug::Acquire::gpgv", false)) - std::cerr << "Got REVKEYSIG! " << std::endl; + if (Debug == true) + std::clog << "Got REVKEYSIG! " << std::endl; WorthlessSigners.push_back(string(buffer+sizeof(GNUPGPREFIX))); } if (strncmp(buffer, GNUPGGOODSIG, sizeof(GNUPGGOODSIG)-1) == 0) @@ -204,17 +218,17 @@ string GPGVMethod::VerifyGetSigners(const char *file, const char *outfile, while (*p && isxdigit(*p)) p++; *p = 0; - if (_config->FindB("Debug::Acquire::gpgv", false)) - std::cerr << "Got GOODSIG, key ID:" << sig << std::endl; + if (Debug == true) + std::clog << "Got GOODSIG, key ID:" << sig << std::endl; GoodSigners.push_back(string(sig)); } } fclose(pipein); waitpid(pid, &status, 0); - if (_config->FindB("Debug::Acquire::gpgv", false)) + if (Debug == true) { - std::cerr << "gpgv exited\n"; + std::clog << "gpgv exited\n"; } if (WEXITSTATUS(status) == 0) @@ -305,7 +319,7 @@ bool GPGVMethod::Fetch(FetchItem *Itm) if (_config->FindB("Debug::Acquire::gpgv", false)) { - std::cerr << "gpgv succeeded\n"; + std::clog << "gpgv succeeded\n"; } return true; diff --git a/methods/https.cc b/methods/https.cc index 5d8e63f47..aa6786aa8 100644 --- a/methods/https.cc +++ b/methods/https.cc @@ -133,7 +133,7 @@ bool HttpsMethod::Fetch(FetchItem *Itm) string cainfo = _config->Find("Acquire::https::CaInfo",""); string knob = "Acquire::https::"+remotehost+"::CaInfo"; cainfo = _config->Find(knob.c_str(),cainfo.c_str()); - if(cainfo != "") + if(cainfo.empty() == false) curl_easy_setopt(curl, CURLOPT_CAINFO,cainfo.c_str()); // Check server certificate against previous CA list ... @@ -151,18 +151,25 @@ bool HttpsMethod::Fetch(FetchItem *Itm) default_verify = 0; curl_easy_setopt(curl, CURLOPT_SSL_VERIFYHOST, verify); + // Also enforce issuer of server certificate using its cert + string issuercert = _config->Find("Acquire::https::IssuerCert",""); + knob = "Acquire::https::"+remotehost+"::IssuerCert"; + issuercert = _config->Find(knob.c_str(),issuercert.c_str()); + if(issuercert.empty() == false) + curl_easy_setopt(curl, CURLOPT_ISSUERCERT,issuercert.c_str()); + // For client authentication, certificate file ... string pem = _config->Find("Acquire::https::SslCert",""); knob = "Acquire::https::"+remotehost+"::SslCert"; pem = _config->Find(knob.c_str(),pem.c_str()); - if(pem != "") + if(pem.empty() == false) curl_easy_setopt(curl, CURLOPT_SSLCERT, pem.c_str()); // ... and associated key. string key = _config->Find("Acquire::https::SslKey",""); knob = "Acquire::https::"+remotehost+"::SslKey"; key = _config->Find(knob.c_str(),key.c_str()); - if(key != "") + if(key.empty() == false) curl_easy_setopt(curl, CURLOPT_SSLKEY, key.c_str()); // Allow forcing SSL version to SSLv3 or TLSv1 (SSLv2 is not @@ -177,6 +184,13 @@ bool HttpsMethod::Fetch(FetchItem *Itm) final_version = CURL_SSLVERSION_SSLv3; curl_easy_setopt(curl, CURLOPT_SSLVERSION, final_version); + // CRL file + string crlfile = _config->Find("Acquire::https::CrlFile",""); + knob = "Acquire::https::"+remotehost+"::CrlFile"; + crlfile = _config->Find(knob.c_str(),crlfile.c_str()); + if(crlfile.empty() == false) + curl_easy_setopt(curl, CURLOPT_CRLFILE, crlfile.c_str()); + // cache-control if(_config->FindB("Acquire::https::No-Cache", _config->FindB("Acquire::http::No-Cache",false)) == false) @@ -196,7 +210,7 @@ bool HttpsMethod::Fetch(FetchItem *Itm) curl_easy_setopt(curl, CURLOPT_HTTPHEADER, headers); // speed limit - int dlLimit = _config->FindI("Acquire::https::Dl-Limit", + int const dlLimit = _config->FindI("Acquire::https::Dl-Limit", _config->FindI("Acquire::http::Dl-Limit",0))*1024; if (dlLimit > 0) curl_easy_setopt(curl, CURLOPT_MAX_RECV_SPEED_LARGE, dlLimit); @@ -208,7 +222,7 @@ bool HttpsMethod::Fetch(FetchItem *Itm) "Debian APT-CURL/1.0 ("VERSION")").c_str()).c_str()); // set timeout - int timeout = _config->FindI("Acquire::https::Timeout", + int const timeout = _config->FindI("Acquire::https::Timeout", _config->FindI("Acquire::http::Timeout",120)); curl_easy_setopt(curl, CURLOPT_CONNECTTIMEOUT, timeout); //set really low lowspeed timeout (see #497983) @@ -216,7 +230,7 @@ bool HttpsMethod::Fetch(FetchItem *Itm) curl_easy_setopt(curl, CURLOPT_LOW_SPEED_TIME, timeout); // set redirect options and default to 10 redirects - bool AllowRedirect = _config->FindB("Acquire::https::AllowRedirect", + bool const AllowRedirect = _config->FindB("Acquire::https::AllowRedirect", _config->FindB("Acquire::http::AllowRedirect",true)); curl_easy_setopt(curl, CURLOPT_FOLLOWLOCATION, AllowRedirect); curl_easy_setopt(curl, CURLOPT_MAXREDIRS, 10); diff --git a/po/apt-all.pot b/po/apt-all.pot index ac231dff9..00e81a27c 100644 --- a/po/apt-all.pot +++ b/po/apt-all.pot @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2009-12-10 22:06+0100\n" +"POT-Creation-Date: 2010-01-01 19:13+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Language-Team: LANGUAGE <LL@li.org>\n" @@ -144,11 +144,6 @@ msgstr "" msgid " Version table:" msgstr "" -#: cmdline/apt-cache.cc:1623 -#, c-format -msgid " %4i %s\n" -msgstr "" - #: cmdline/apt-cache.cc:1718 cmdline/apt-cdrom.cc:134 cmdline/apt-config.cc:70 #: cmdline/apt-extracttemplates.cc:225 ftparchive/apt-ftparchive.cc:547 #: cmdline/apt-get.cc:2665 cmdline/apt-sortpkgs.cc:144 @@ -2781,7 +2776,7 @@ msgstr "" msgid "Can not write log, openpty() failed (/dev/pts not mounted?)\n" msgstr "" -#: apt-pkg/deb/dpkgpm.cc:908 +#: apt-pkg/deb/dpkgpm.cc:909 msgid "Running dpkg" msgstr "" diff --git a/share/debian-archive.gpg b/share/debian-archive.gpg deleted file mode 100644 index da1aa5e97..000000000 Binary files a/share/debian-archive.gpg and /dev/null differ diff --git a/share/ubuntu-archive.gpg b/share/ubuntu-archive.gpg deleted file mode 100644 index 2ce60d454..000000000 Binary files a/share/ubuntu-archive.gpg and /dev/null differ -- cgit v1.2.3