Michael Vogt лет назад: 17
Родитель
Сommit
b69e142488
11 измененных файлов с 1270 добавлено и 715 удалено
  1. 17 2
      apt-pkg/deb/dpkgpm.cc
  2. 34 9
      cmdline/apt-get.cc
  3. 16 0
      debian/NEWS
  4. 11 4
      debian/changelog
  5. 5 2
      doc/apt-cache.8.xml
  6. 32 4
      doc/apt.conf.5.xml
  7. 11 0
      doc/pl/makefile
  8. 252 0
      doc/pl/offline.pl.sgml
  9. 285 229
      doc/po/apt-doc.pot
  10. 303 232
      doc/po/fr.po
  11. 304 233
      doc/po/ja.po

+ 17 - 2
apt-pkg/deb/dpkgpm.cc

@@ -641,6 +641,7 @@ bool pkgDPkgPM::Go(int OutStatusFd)
    // support subpressing of triggers processing for special
    // support subpressing of triggers processing for special
    // cases like d-i that runs the triggers handling manually
    // cases like d-i that runs the triggers handling manually
    bool const SmartConf = (_config->Find("PackageManager::Configure", "all") != "all");
    bool const SmartConf = (_config->Find("PackageManager::Configure", "all") != "all");
+   bool const TriggersPending = _config->FindB("DPkg::TriggersPending", false);
    if (_config->FindB("DPkg::ConfigurePending", SmartConf) == true)
    if (_config->FindB("DPkg::ConfigurePending", SmartConf) == true)
       List.push_back(Item(Item::ConfigurePending, PkgIterator()));
       List.push_back(Item(Item::ConfigurePending, PkgIterator()));
 
 
@@ -701,9 +702,23 @@ bool pkgDPkgPM::Go(int OutStatusFd)
    // this loop is runs once per operation
    // this loop is runs once per operation
    for (vector<Item>::const_iterator I = List.begin(); I != List.end();)
    for (vector<Item>::const_iterator I = List.begin(); I != List.end();)
    {
    {
+      // Do all actions with the same Op in one run
       vector<Item>::const_iterator J = I;
       vector<Item>::const_iterator J = I;
-      for (; J != List.end() && J->Op == I->Op; J++)
-	 /* nothing */;
+      if (TriggersPending == true)
+	 for (; J != List.end(); J++)
+	 {
+	    if (J->Op == I->Op)
+	       continue;
+	    if (J->Op != Item::TriggersPending)
+	       break;
+	    vector<Item>::const_iterator T = J + 1;
+	    if (T != List.end() && T->Op == I->Op)
+	       continue;
+	    break;
+	 }
+      else
+	 for (; J != List.end() && J->Op == I->Op; J++)
+	    /* nothing */;
 
 
       // Generate the argument list
       // Generate the argument list
       const char *Args[MaxArgs + 50];
       const char *Args[MaxArgs + 50];

+ 34 - 9
cmdline/apt-get.cc

@@ -1049,17 +1049,42 @@ bool TryToInstall(pkgCache::PkgIterator Pkg,pkgDepCache &Cache,
 		  pkgProblemResolver &Fix,bool Remove,bool BrokenFix,
 		  pkgProblemResolver &Fix,bool Remove,bool BrokenFix,
 		  unsigned int &ExpectedInst,bool AllowFail = true)
 		  unsigned int &ExpectedInst,bool AllowFail = true)
 {
 {
-   /* This is a pure virtual package and there is a single available 
-      provides */
-   if (Cache[Pkg].CandidateVer == 0 && Pkg->ProvidesList != 0 &&
-       Pkg.ProvidesList()->NextProvides == 0)
+   /* This is a pure virtual package and there is a single available
+      candidate providing it. */
+   if (Cache[Pkg].CandidateVer == 0 && Pkg->ProvidesList != 0)
    {
    {
-      pkgCache::PkgIterator Tmp = Pkg.ProvidesList().OwnerPkg();
-      ioprintf(c1out,_("Note, selecting %s instead of %s\n"),
-	       Tmp.Name(),Pkg.Name());
-      Pkg = Tmp;
+      pkgCache::PkgIterator Prov;
+      bool found_one = false;
+
+      for (pkgCache::PrvIterator P = Pkg.ProvidesList(); P; P++)
+      {
+	 pkgCache::VerIterator const PVer = P.OwnerVer();
+	 pkgCache::PkgIterator const PPkg = PVer.ParentPkg();
+
+	 /* Ignore versions that are not a candidate. */
+	 if (Cache[PPkg].CandidateVer != PVer)
+	     continue;
+
+	 if (found_one == false)
+	 {
+	    Prov = PPkg;
+	    found_one = true;
+	 }
+	 else if (PPkg != Prov)
+	 {
+	    found_one = false; // we found at least two
+	    break;
+	 }
+      }
+
+      if (found_one == true)
+      {
+	 ioprintf(c1out,_("Note, selecting %s instead of %s\n"),
+		  Prov.Name(),Pkg.Name());
+	 Pkg = Prov;
+      }
    }
    }
-   
+
    // Handle the no-upgrade case
    // Handle the no-upgrade case
    if (_config->FindB("APT::Get::upgrade",true) == false &&
    if (_config->FindB("APT::Get::upgrade",true) == false &&
        Pkg->CurrentVer != 0)
        Pkg->CurrentVer != 0)

+ 16 - 0
debian/NEWS

@@ -1,3 +1,19 @@
+apt (0.7.24) unstable; urgency=low
+
+  * Allready included in the last version but now with better documentation
+    is the possibility to add/prefer different compression types while
+    downloading archive informations, which can decrease the time needed for
+    update on slow machines. See apt.conf (5) manpage for details.
+  * APT manages his manpage translations now with po4a, thanks to Nicolas
+    François and Kurasawa Nozomu, who also provide the ja translation.
+    Thanks to Christian Perrier we have already a fr translation and
+    a few more are hopefully added in the near future.
+  * This version also introduces some _experimental_ configuration options
+    to make more aggressive use of dpkg's triggers. If you want to help
+    testing these _experimental_ options see apt.conf (5) manpage.
+
+ -- David Kalnischkies <kalnischkies@gmail.com>  Thu, 24 Sep 2009 15:13:16 +0200
+
 apt (0.7.23) unstable; urgency=low
 apt (0.7.23) unstable; urgency=low
 
 
   * Code that determines which proxy to use was changed. Now
   * Code that determines which proxy to use was changed. Now

+ 11 - 4
debian/changelog

@@ -30,10 +30,15 @@ apt (0.7.24) UNRELEASED; urgency=low
   * apt-pkg/contrib/strutl.cc:
   * apt-pkg/contrib/strutl.cc:
     - replace unknown multibytes with ? in UTF8ToCharset (Closes: #545208)
     - replace unknown multibytes with ? in UTF8ToCharset (Closes: #545208)
   * doc/apt-get.8.xml:
   * doc/apt-get.8.xml:
-    - fix two little typos in the --simulate description.
+    - fix two little typos in the --simulate description. (Closes: #545059)
   * apt-pkg/aptconfiguration.cc, doc/apt.conf.5.xml:
   * apt-pkg/aptconfiguration.cc, doc/apt.conf.5.xml:
     - add an order subgroup to the compression types to simplify reordering
     - add an order subgroup to the compression types to simplify reordering
       a bit and improve the documentation for this option group.
       a bit and improve the documentation for this option group.
+  * doc/apt.conf.5.xml:
+    - document the Acquire::http::Dl-Limit option
+    - try to be cristal clear about the usage of :: and {} (Closes: #503481)
+  * doc/apt-cache.8.xml:
+    - clarify the note for the pkgnames command (Closes: #547599)
   * doc/apt.ent, all man pages:
   * doc/apt.ent, all man pages:
     - move the description of files to globally usable entities
     - move the description of files to globally usable entities
   * doc/apt_preferences.5.xml:
   * doc/apt_preferences.5.xml:
@@ -49,14 +54,16 @@ apt (0.7.24) UNRELEASED; urgency=low
   * apt-pkg/deb/dpkgpm.cc, apt-pkg/packagemanager.cc, apt-pkg/orderlist.cc:
   * apt-pkg/deb/dpkgpm.cc, apt-pkg/packagemanager.cc, apt-pkg/orderlist.cc:
     - add and document _experimental_ options to make (aggressive)
     - add and document _experimental_ options to make (aggressive)
       use of dpkg's trigger and configuration handling (Closes: #473461)
       use of dpkg's trigger and configuration handling (Closes: #473461)
+  * cmdline/apt-get.cc:
+    - ignore versions that are not candidates when selecting a package
+      instead of a virtual one (by Marius Vollmer, Closes: #547788)
 
 
   [ Christian Perrier ]
   [ Christian Perrier ]
   * doc/fr/*, doc/po/fr.po:
   * doc/fr/*, doc/po/fr.po:
     - remove the old fr man page translation and replace it with
     - remove the old fr man page translation and replace it with
       the new po4a-powered translation
       the new po4a-powered translation
-  * doc/pl, doc/de: dropped (pl translation is useless as the translated
-    document is not provideed anymore and the de translation is too
-    incomplete to be used)
+  * doc/de: dropped (translation is too incomplete to be useful in
+      the transition to the po4a-powered translations)
 
 
  -- David Kalnischkies <kalnischkies@gmail.com>  Fri, 28 Aug 2009 09:40:08 +0200
  -- David Kalnischkies <kalnischkies@gmail.com>  Fri, 28 Aug 2009 09:40:08 +0200
 
 

+ 5 - 2
doc/apt-cache.8.xml

@@ -226,11 +226,14 @@ Reverse Provides:
      </varlistentry>
      </varlistentry>
 
 
      <varlistentry><term>pkgnames <replaceable>[ prefix ]</replaceable></term>
      <varlistentry><term>pkgnames <replaceable>[ prefix ]</replaceable></term>
-     <listitem><para>This command prints the name of each package in the system. The optional
+     <listitem><para>This command prints the name of each package APT knows. The optional
      argument is a prefix match to filter the name list. The output is suitable
      argument is a prefix match to filter the name list. The output is suitable
      for use in a shell tab complete function and the output is generated 
      for use in a shell tab complete function and the output is generated 
      extremely quickly. This command is best used with the 
      extremely quickly. This command is best used with the 
-     <option>--generate</option> option.</para></listitem>
+     <option>--generate</option> option.</para>
+     <para>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.
+     </para></listitem>
      </varlistentry>
      </varlistentry>
      
      
      <varlistentry><term>dotty <replaceable>pkg(s)</replaceable></term>
      <varlistentry><term>dotty <replaceable>pkg(s)</replaceable></term>

+ 32 - 4
doc/apt.conf.5.xml

@@ -86,17 +86,40 @@ DPkg::Pre-Install-Pkgs {"/usr/sbin/dpkg-preconfigure --apt";};
    <para>The names of the configuration items are not case-sensitive. So in the previous example
    <para>The names of the configuration items are not case-sensitive. So in the previous example
    you could use <literal>dpkg::pre-install-pkgs</literal>.</para>
    you could use <literal>dpkg::pre-install-pkgs</literal>.</para>
 
 
-   <para>Two specials are allowed, <literal>#include</literal> and <literal>#clear</literal> 
+   <para>Names for the configuration items are optional if a list is defined as it can be see in
+   the <literal>DPkg::Pre-Install-Pkgs</literal> example above. If you don't specify a name a
+   new entry will simply add a new option to the list. If you specify a name you can override
+   the option as every other option by reassigning a new value to the option.</para>
+
+   <para>Two specials are allowed, <literal>#include</literal> and <literal>#clear</literal>:
    <literal>#include</literal> will include the given file, unless the filename
    <literal>#include</literal> will include the given file, unless the filename
    ends in a slash, then the whole directory is included.  
    ends in a slash, then the whole directory is included.  
    <literal>#clear</literal> is used to erase a part of the configuration tree. The
    <literal>#clear</literal> is used to erase a part of the configuration tree. The
-   specified element and all its descendants are erased.</para>
+   specified element and all its descendants are erased.
+   (Note that these lines also need to end with a semicolon.)</para>
+
+   <para>The #clear command is the only way to delete a list or a complete scope.
+   Reopening a scope or the ::-style described below will <emphasis>not</emphasis>
+   override previewsly written entries. Only options can be overridden by adressing a new
+   value to it - lists and scopes can't be overridden, only cleared.</para>
 
 
    <para>All of the APT tools take a -o option which allows an arbitrary configuration 
    <para>All of the APT tools take a -o option which allows an arbitrary configuration 
    directive to be specified on the command line. The syntax is a full option
    directive to be specified on the command line. The syntax is a full option
    name (<literal>APT::Get::Assume-Yes</literal> for instance) followed by an equals
    name (<literal>APT::Get::Assume-Yes</literal> for instance) followed by an equals
    sign then the new value of the option. Lists can be appended too by adding 
    sign then the new value of the option. Lists can be appended too by adding 
-   a trailing :: to the list name.</para>
+   a trailing :: to the list name. (As you might suspect: The scope syntax can't be used
+   on the commandline.)</para>
+
+   <para>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 syntax implicit insert ::) Using both syntaxes together will trigger a bug
+   which some users unfortunately relay on: An option with the unusual name "<literal>::</literal>"
+   which acts like every other option with a name. These introduces many problems
+   including that a user who writes multiple lines in this <emphasis>wrong</emphasis> syntax in
+   the hope to append to a list will gain the opposite as only the last assignment for this option
+   "<literal>::</literal>" will be used. Upcoming APT versions will raise errors and
+   will stop working if they encounter this misuse, so please correct such statements now
+   as long as APT doesn't complain explicit about them.</para>
  </refsect1>
  </refsect1>
 
 
  <refsect1><title>The APT Group</title>
  <refsect1><title>The APT Group</title>
@@ -227,7 +250,12 @@ DPkg::Pre-Install-Pkgs {"/usr/sbin/dpkg-preconfigure --apt";};
      indicating how many outstanding requests APT should send. A value of
      indicating how many outstanding requests APT should send. A value of
      zero MUST be specified if the remote host does not properly linger
      zero MUST be specified if the remote host does not properly linger
      on TCP connections - otherwise data corruption will occur. Hosts which
      on TCP connections - otherwise data corruption will occur. Hosts which
-     require this are in violation of RFC 2068.</para></listitem>
+     require this are in violation of RFC 2068.</para>
+
+     <para>The used bandwidth can be limited with <literal>Acquire::http::Dl-Limit</literal>
+     which accepts integer values in kilobyte. The default value is 0 which deactivates
+     the limit and tries uses as much as possible of the bandwith (Note that this option implicit
+     deactivates the download from multiple servers at the same time.)</para></listitem>
      </varlistentry>
      </varlistentry>
 
 
      <varlistentry><term>https</term>
      <varlistentry><term>https</term>

+ 11 - 0
doc/pl/makefile

@@ -0,0 +1,11 @@
+# -*- make -*-
+BASE=../..
+SUBDIR=doc/pl
+
+# Bring in the default rules
+include ../../buildlib/defaults.mak
+
+# Debian Doc SGML Documents
+SOURCE = offline.pl.sgml
+DEBIANDOC_HTML_OPTIONS=-l pl
+include $(DEBIANDOC_H)

+ 252 - 0
doc/pl/offline.pl.sgml

@@ -0,0 +1,252 @@
+<!doctype debiandoc  PUBLIC  "-//DebianDoc//DTD DebianDoc//EN">
+<!-- -*- mode: sgml; mode: fold -*- -->
+<book>
+<title>Używanie APT w trybie offline</title>
+
+<author>Jason Gunthorpe <email>jgg@debian.org</email></author>
+<author>Polskie tłumaczenie Krzysztof Fiertek <email>akfedux@megapolis.pl</email></author>
+<version>$Id: offline.sgml,v 1.8 2003/02/12 15:06:41 doogie Exp $</version>
+
+<abstract>
+Dokument ten opisuje używanie programu APT w środowiskach pozbawionych dostępu,
+do sieci, a w szczególności metodę pozwalającą na robienie aktualizacji systemu.
+</abstract>
+
+<copyright>
+Copyright &copy; Jason Gunthorpe, 1999.
+<p>
+Copyright &copy; polskiego tłumaczenia Krzysztof Fiertek, 2004.
+<p>
+"APT" i ten dokument są oprogramowaniem wolnodostępnym; możesz
+rozpowszechniać je i/lub zmieniać w zgodzie z postanowieniami
+"Ogólnej Licencji Publicznej GNU" (GNU General Public License)
+takiej, jak została opublikowana przez "Fundacje Wolnego
+Oprogramowania (Free Software Foundation); albo w wersji 2 tejże
+licencji, albo (twój wybór) w dowolnej późniejszej.
+
+<p>
+Więcej szczegółów można uzyskać, przeglądając plik zawierający pełny tekst
+licencji (w systemach Debian jest to plik /usr/share/common-licenses/GPL).
+</copyright>
+
+<toc sect>
+
+<chapt>Wstęp
+<!-- Overview                                                         {{{ -->
+<!-- ===================================================================== -->
+<sect>Wprowadzenie
+
+<p>
+Normalnie APT wymaga bezpośredniego dostępu do archiwów Debiana przez
+sieć lokalną albo przez sieć internetową. Kolejną niedogodnością może być
+fakt, że nasz komputer, który pracuje na powolnym łączu takim jak modem,
+jest znacznie oddalony od innego komputera z szybkim łączem.
+
+<p>
+Rozwiązaniem tego problemu jest użycie pojemnych przenośnych nośników
+takich jak dyskietka Zip lub dysk SuperDisk. Nośniki te nie są
+wystarczająco pojemne, by zgromadzić kompletne archiwum Debiana, ale można
+śmiało dopasować podzbiór dużego archiwum wystarczający dla większości
+użytkowników. Pomysł polega na tym, by użyć programu APT do wygenerowania
+listy pakietów, które są wymagane, a następnie pobraniu ich na dysk, używając
+innego komputera z właściwą zwartością. Jest nawet możliwe, by użyć innego
+komputera z Debianem z zainstalowanym programem APT lub zupełnie innym
+systemem operacyjnym i programem narzędziowym do pobierania plików takim
+jak wget.
+
+<p>
+Osiągane jest to przez twórcze manipulowanie plikiem konfiguracyjnym
+programu APT. Rzeczą niezbędną jest poinformowanie programu APT, aby wskazywał
+na dysk z plikami archiwum. Należy zauważyć, że dysk powinien być
+sformatowany do obsługi systemu plików pozwalającego posługiwać się długimi 
+nazwami plików (np. ext2, fat32 albo vfat).
+
+
+</sect>
+                                                                  <!-- }}} -->
+
+<chapt>Używanie programu APT na obu komputerach
+<!-- Overview                                                         {{{ -->
+<!-- ===================================================================== -->
+<sect>Wprowadzenie
+
+<p>
+APT będący do dyspozycji na obu komputerach daje najprostszą kombinację.
+Zasadniczym pomysłem tej metody jest umieszczenie kopii pliku status na dysku
+i użycie odległego komputera, aby uzyskać najnowsze pliki pakietów
+i zdecydować, które pakiety trzeba pobrać. Struktura katalogów na dysku
+powinna wyglądać następująco:
+
+<example>
+  /disc/
+    archives/
+       partial/
+    lists/
+       partial/
+    status
+    sources.list
+    apt.conf
+</example>
+
+</sect>
+                                                                  <!-- }}} -->
+<!-- The configuration file                                            {{{ -->
+<!-- ===================================================================== -->
+<sect>Plik konfiguracyjny
+
+<p>
+Plik konfiguracyjny powinien informować program APT, aby przechowywał swoje
+pliki na dysku, a także używał plików konfiguracyjnych z dysku. Plik
+sources.list powinien zawierać prawidłowe odnośniki, których należy 
+użyć na zdalnym komputerze, a plik status powinien być kopią 
+<em>/var/lib/dpkg/status</em>. Zauważ, że jeśli używasz lokalnego archiwum 
+musisz użyć tych samych odnośników o identycznej składni.
+
+<p>
+<em>apt.conf</em> musi zawierać niezbędne wpisy, by APT korzystał z dysku:
+
+<example>
+ APT
+ {
+   /* Ten wpis nie jest wymagany, jeśli oba komputery mają tę samą
+      architekturę; mówi on programowi APT na komputerze pobierającym 
+      pakiety, jaka jest architektura naszego komputera */
+   Architecture "i386";
+   
+   Get::Download-Only "true";
+ };
+ 
+ Dir
+ {
+   /* Użyj katalogu disc na informacje stanu i przekieruj plik status
+      z domyślnego /var/lib/dpkg */
+   State "/disc/";
+   State::status "status";
+
+   // Katalog lokalnie przechowywanych pakietów binarnych
+   Cache::archives "/disc/archives/";
+
+   Cache "/tmp/";
+
+   // Lokalizacja pliku sources.list.
+   Etc "/disc";
+ }; 
+</example>
+
+Więcej szczegółów można zobaczyć w stronie podręcznika apt.conf i w przykładowym 
+pliku konfiguracyjnym <em>/usr/share/doc/apt/examples/apt.conf</em>.
+
+<p>
+Pierwszą rzeczą, jaką należy zrobić na oddalonym komputerze z Debianem to
+zamontować dysk i przekopiować na niego plik <em>/var/lib/dpkg/status</em>.
+Trzeba także utworzyć stukturę katalogów przedstawioną we "Wprowadzeniu":
+<em>archives/partial/</em> i <em>lists/partial/</em>. Następnie niesiemy
+dysk do oddalonego komputera z szybkim łączem i konfigurujemy plik
+sources.list. Na oddalonym komputerze wykonujemy kolejno:
+
+<example>
+ # export APT_CONFIG="/disc/apt.conf"
+ # apt-get update
+ [ APT aktualizuje ustawienia ]
+ # apt-get dist-upgrade
+ [ APT pobiera wszystkie pakiety potrzebne do aktualizacji Twojego systemu ]
+
+</example>
+
+Polecenie dist-upgrade można zastąpić każdym innym podstawowym poleceniem
+APT, w szczególności dselect-upgrade. Można nawet użyć APT jako metody
+dostępu dla <em>dselect</em>. Jednak stworzy to problem w przeniesieniu
+Twoich operacji wyborów z powrotem na lokalny komputer.
+
+<p>
+W tej chwili katalog disc zawiera wszystkie pliki indeksowe oraz archiwa
+niezbędne do aktualizacji maszyny z Debianem. Bierzemy dysk z powrotem do
+siebie i wpisujemy:
+
+<example>
+  # export APT_CONFIG="/disc/apt.conf"
+  # apt-get check
+  [ APT tworzy lokalną kopię plików cache ]
+  # apt-get --no-d -o dir::state::status=/var/lib/dpkg/status dist-upgrade
+  [ Może też być inne polecenie programu APT ]
+</example>
+
+<p> 
+Do prawidłowego działania koniecznie należy podać plik status z lokalnej
+maszyny. To jest bardzo ważne!
+
+<p>
+Jeśli używasz dselect, możesz wykonać bardzo ryzykowną operację skopiowania
+disc/status do /var/lib/dpkg/status, tak że  wszystkie zmiany, których
+dokonałeś na odległym komputerze, będą przeniesione. Mocno zalecam, aby
+dokonywać doboru pakietów tylko na lokalnym komputerze, ale nie zawsze
+jest to możliwe. NIE podmieniaj pliku status, jeśli dpkg lub APT były
+uruchamiane w międzyczasie!!
+
+</sect>
+                                                                  <!-- }}} -->
+
+<chapt>Używanie programów APT i wget
+<!-- Overview                                                         {{{ -->
+<!-- ===================================================================== -->
+<sect>Wprowadzenie
+
+<p>
+<em>wget</em> jest popularnym i przenośnym programem narzędziowym
+pobierania plików, który działa prawie na każdym komputerze.
+W przeciwieństwie do metody opisanej powyżej ta wymaga, aby na lokalnym komputerze
+była aktualna lista dostępnych pakietów.
+
+<p>
+Należy stworzyć katalog disc tylko na pakiety do pobrania z innego
+komputera. Użyta zostanie do tego opcja --print-uris programu apt-get,
+a następnie przygotujemy skrypt dla programu wget, który pobierze właściwe
+pakiety.
+
+</sect>
+                                                                  <!-- }}} -->
+<!-- Operation                                                         {{{ -->
+<!-- ===================================================================== -->
+<sect>Kolejne kroki
+
+<p>
+W odróżnieniu od poprzedniej metody działania ta nie wymaga specjalnych
+plików konfiguracyjnych. Używamy jedynie podstawowych poleceń APT, by
+wygenerować listę plików.
+
+<example>
+ # apt-get dist-upgrade 
+ [ Wybierz "no" po znaku zachęty, upewnij się, czy to właściwy wybór ]
+ # apt-get -qq --print-uris dist-upgrade > uris
+ # awk '{print "wget -O " $2 " " $1}' < uris > /disc/wget-script
+</example>
+
+Także inne opcje niż dist-upgrade mogą tu być użyte, włączając
+dselect-upgrade.
+
+<p>
+Plik skryptu /disc/wget-script będzie teraz zawierać listę wywołań programu 
+wget, niezbędnych do pobrania potrzebnych archiwów.
+Skrypt ten należy uruchomić w bieżącym katalogu o punkcie montowania disc,
+tak aby tu zapisywał dane na dysku.
+
+<p>
+Na oddalonym komputerze należy wykonać coś takiego
+
+<example>
+  # cd /disc
+  # sh -x ./wget-script
+  [ czekaj.. ]
+</example>
+
+Gdy archiwa zostaną pobrane i dysk wróci do komputera z Debianem,
+instalowanie można prowadzić dalej poleceniem:
+
+<example>
+  # apt-get -o dir::cache::archives="/disc/" dist-upgrade
+</example>
+
+które użyje pobranych uprzednio archiwów z dysku.
+</sect>
+                                                                  <!-- }}} -->
+</book>

Разница между файлами не показана из-за своего большого размера
+ 285 - 229
doc/po/apt-doc.pot


Разница между файлами не показана из-за своего большого размера
+ 303 - 232
doc/po/fr.po


Разница между файлами не показана из-за своего большого размера
+ 304 - 233
doc/po/ja.po