<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Apt on RESEARCHUT</title><link>https://researchut.com/tags/apt/</link><description>Recent content in Apt on RESEARCHUT</description><generator>Hugo -- gohugo.io</generator><language>en</language><managingEditor>rrs@researchut.com (Ritesh Raj Sarraf)</managingEditor><webMaster>rrs@researchut.com (Ritesh Raj Sarraf)</webMaster><lastBuildDate>Wed, 26 Feb 2025 18:56:04 +0530</lastBuildDate><atom:link href="https://researchut.com/tags/apt/index.xml" rel="self" type="application/rss+xml"/><item><title>apt-offline 1.8.6</title><link>https://researchut.com/blog/apt_offline_186/</link><pubDate>Wed, 26 Feb 2025 18:56:04 +0530</pubDate><author>rrs@researchut.com (Ritesh Raj Sarraf)</author><guid>https://researchut.com/blog/apt_offline_186/</guid><description>&lt;h2 id="apt-offline-186">apt-offline 1.8.6&lt;/h2>
&lt;p>&lt;em>&lt;strong>apt-offline&lt;/strong>&lt;/em> version 1.8.6 was released almost 3 weeks ago on 08/February/2025&lt;/p>
&lt;p>This release includes many bug fixes from community users.&lt;/p>
&lt;ul>
&lt;li>Error out if we cannot initialize the APT lock.
Thanks to Matthew Maslak&lt;/li>
&lt;li>check for checksum and handle appropriately (#217)
Thanks to Dan Whitman (Github:kyp44)&lt;/li>
&lt;li>Honor the &amp;ndash;allow-unauthenticated option.
Thanks to João A (Github: Jonybat)&lt;/li>
&lt;li>Retry when server reports 429 Too Many Requests occurs.
Thanks to Zoltan Kelemen (Github: misterzed88)&lt;/li>
&lt;li>Also support file:/// url types.
Thanks to c4bhuf@github&lt;/li>
&lt;li>Honor user specified extra gpg keyrings&lt;/li>
&lt;/ul>
&lt;h3 id="changelog">Changelog&lt;/h3>
&lt;div class="highlight">&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-text" data-lang="text">&lt;span style="display:flex;">&lt;span>apt-offline (1.8.6-1) unstable; urgency=medium
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> * Error out if we cannot initialize the APT lock.
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> Thanks to Matthew Maslak
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> * check for checksum and handle appropriately (#217)
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> Thanks to Dan Whitman (Github:kyp44)
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> * Honor the --allow-unauthenticated option.
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> Thanks to João A (Github: Jonybat)
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> * Retry when server reports 429 Too Many Requests occurs.
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> Thanks to Zoltan Kelemen (Github: misterzed88)
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> * Also support file:/// url types.
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> Thanks to c4bhuf@github
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> * Honor user specified extra gpg keyrings
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> -- Ritesh Raj Sarraf &amp;lt;rrs@debian.org&amp;gt; Sat, 08 Feb 2025 20:46:24 +0530
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;h3 id="resources">Resources&lt;/h3>
&lt;ul>
&lt;li>Tarball and Zip archive for &lt;em>&lt;strong>apt-offline&lt;/strong>&lt;/em> are available &lt;a href="https://github.com/rickysarraf/apt-offline/releases/tag/v1.8.6">here&lt;/a>&lt;/li>
&lt;li>Packages should be &lt;a href="https://packages.debian.org/apt-offline">available&lt;/a> in Debian.&lt;/li>
&lt;li>Development for &lt;em>&lt;strong>apt-offline&lt;/strong>&lt;/em> is currently hosted &lt;a href="https://github.com/rickysarraf/apt-offline">here&lt;/a>&lt;/li>
&lt;/ul></description></item><item><title>apt-offline 1.8.4</title><link>https://researchut.com/blog/apt_offline_184/</link><pubDate>Sat, 12 Feb 2022 20:47:04 +0530</pubDate><author>rrs@researchut.com (Ritesh Raj Sarraf)</author><guid>https://researchut.com/blog/apt_offline_184/</guid><description>&lt;h2 id="apt-offline-184">apt-offline 1.8.4&lt;/h2>
&lt;p>&lt;em>&lt;strong>apt-offline&lt;/strong>&lt;/em> version 1.8.4 has been released.&lt;/p>
&lt;p>This release includes many bug fixes but the important ones are:&lt;/p>
&lt;ul>
&lt;li>Better GPG signature handling&lt;/li>
&lt;li>Support for verifying InRelease files&lt;/li>
&lt;/ul>
&lt;h3 id="changelog">Changelog&lt;/h3>
&lt;div class="highlight">&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-text" data-lang="text">&lt;span style="display:flex;">&lt;span>apt-offline (1.8.4-1) unstable; urgency=medium
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> [ Debian Janitor ]
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> * Update standards version to 4.5.0, no changes needed.
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> [ Paul Wise ]
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> * Clarify file type in unknown file message
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> * Fix typos
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> * Remove trailing whitespace
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> * Update LICENSE file to match official GNU version
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> * Complain when there are no valid keyrings instead of missing keyrings
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> * Make all syncrhronised files world readable
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> * Fix usage of indefinite articles
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> * Only show the APT Offline GUI once in the menu
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> * Update out of date URLs
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> * Fix date and whitespace issues in the manual page
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> * Replace stereotyping with an appropriate word
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> * Switch more Python shebangs to Python 3
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> * Correct usage of the /tmp/ directory
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> * Fix YAML files
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> * Fix usage of the log API
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> * Make the copying of changelog lines less brittle
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> * Do not split keyring paths on whitespace
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> [ Ritesh Raj Sarraf ]
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> * Drop the redundant import of the apt module.
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> Thanks to github/dandelionred
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> * Fix deprecation of get_bugs() in debianbts
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> * Drop the unused IgnoredBugTypes
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> * Set encoding for files when opening
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> * Better error logging when apt fails
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> * Don&amp;#39;t mandate a default option
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> * Demote metadata errors to verbose
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> * Also log an error message for every failed .deb url
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> * Check hard for the url type
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> * Check for ascii armored signature files.
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> Thanks to David Klnischkies
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> * Add MIME type for InRelease files
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> * Drop patch 0001-Drop-the-redundant-import-of-the-apt-module.patch.
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> Now part of the 1.8.4 release
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> * Prepare release 1.8.3
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> * Prepare release 1.8.4
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> * debian packaging
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> + Bump debhelper compatibility to 13
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> + Update install files
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> [ Dean Anderson ]
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> * [#143] Added support for verifying InRelease files
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> -- Ritesh Raj Sarraf &amp;lt;rrs@debian.org&amp;gt; Sat, 12 Feb 2022 18:52:58 +0530
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;h3 id="resources">Resources&lt;/h3>
&lt;ul>
&lt;li>Tarball and Zip archive for &lt;em>&lt;strong>apt-offline&lt;/strong>&lt;/em> are available &lt;a href="https://github.com/rickysarraf/apt-offline/releases/tag/v1.8.4">here&lt;/a>&lt;/li>
&lt;li>Packages should be &lt;a href="https://packages.debian.org/apt-offline">available&lt;/a> in Debian.&lt;/li>
&lt;li>Development for &lt;em>&lt;strong>apt-offline&lt;/strong>&lt;/em> is currently hosted &lt;a href="https://github.com/rickysarraf/apt-offline">here&lt;/a>&lt;/li>
&lt;/ul></description></item><item><title>Apt Offline 1.8.2</title><link>https://researchut.com/blog/apt-offline-1_8_2/</link><pubDate>Sun, 09 Feb 2020 19:52:51 +0530</pubDate><author>rrs@researchut.com (Ritesh Raj Sarraf)</author><guid>https://researchut.com/blog/apt-offline-1_8_2/</guid><description>&lt;h2 id="apt-offline-182">apt-offline 1.8.2&lt;/h2>
&lt;p>I am pleased to announce the release of &lt;em>&lt;strong>apt-offline&lt;/strong>&lt;/em> version 1.8.2&lt;/p>
&lt;p>This release has many bug fixes along with a long standing issue of &lt;a href="https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=871656">signature validation&lt;/a>&lt;/p>
&lt;h3 id="2017---the-year-of-realization-and-change">2017 - The year of realization and change&lt;/h3>
&lt;p>Back in 2017, the bug was reported that &lt;em>&lt;strong>apt-offline&lt;/strong>&lt;/em> did not validate apt meta &lt;em>Packages&lt;/em> files. &lt;em>&lt;strong>apt-offline&lt;/strong>&lt;/em> was only doing a signature validation for the &lt;em>Release&lt;/em> files but did no validation of the apt meta &lt;em>Packages&lt;/em> files, which had their checksums listed in the &lt;em>Release&lt;/em> files. This validation was completely missing in &lt;em>&lt;strong>apt-offline&lt;/strong>&lt;/em> and gave the user the wrong impression that validation was in place.&lt;/p>
&lt;p>I had hoped to fix this issue soon when it was reported, to have it part of the next Debian Stable release. But that never happened. On the contrary, I think 2 stable releases happened in between. And now it is 2020.&lt;/p>
&lt;p>2017 was a year to spend a large chunk of my time on real life issues, for good. I realized that it is important to always give precedence to personal life, fix issues, set realistic priorities, spend time on realizing the happenings around, get life rolling smooth and then come back to work. This helps sustain in the longer run. Otherwise, with no self, everything can fall apart catastrophically.&lt;/p>
&lt;p>From that phase, I learned many things. I now have much more respect for people who really have been successful at committing a large amount of their time on a volunteer project like Debian. Having myself gone through the time crunch phase, I can only imagine how many of the fellow DDs manage their time, sustainably, over the years. There are many folks I have seen active for more than a decade and they still rock.&lt;/p>
&lt;h3 id="182-release">1.8.2 release&lt;/h3>
&lt;p>Because the apt meta validation was a major issue, I have decided to run through the workflow and explain how &lt;em>&lt;strong>apt-offline&lt;/strong>&lt;/em> reacts to invalid tampered data. Below are konsole captures, with snipped output, where not very relevant.&lt;/p>
&lt;!-- raw HTML omitted -->
&lt;div class="highlight">&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-plain" data-lang="plain">&lt;span style="display:flex;">&lt;span>rrs@priyasi:/var/tmp/Debian-Build/Result$ sudo apt-offline set /tmp/set.uris
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>Gathering details needed for &amp;#39;update&amp;#39; operation
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>Gathering details needed for &amp;#39;upgrade&amp;#39; operation
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>16:33 ♒ ॐ ☺ 😄 &lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>
&lt;!-- raw HTML omitted -->
&lt;p>One item to pay attention to, in this step, is some of the errors that are reported. Not all repository admins enable all the apt meta data available on their mirrors. This is commonly seen for localization related files. Similarly, not all compression types are available on all the repository servers. Some may only have &lt;code>.xz&lt;/code> based meta files hosted while others may have &lt;code>.gz&lt;/code> ones. So, for &lt;em>&lt;strong>apt-offline&lt;/strong>&lt;/em>, which has to bridge the gap of the offline &amp;lt;=&amp;gt; online setup, there is more work.&lt;/p>
&lt;p>For compression types, &lt;em>&lt;strong>apt-offline&lt;/strong>&lt;/em> cycles through the known list of types. Only if, after cycling through all the known compression types, if the return is still a 404, then we error out.&lt;/p>
&lt;p>Similarly, for localization related meta, we do the same cycling. But in addition to that, there is the possibility that the repository admin may not have enabled the localization data to be served at all. In that case, &lt;em>&lt;strong>apt-offline&lt;/strong>&lt;/em> ultimately will report and error.&lt;/p>
&lt;p>And that is what is shown below. Because I see them not breaking the functionality, I treat them as non-fatal errors.&lt;/p>
&lt;div class="highlight">&lt;div style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;display:grid;">
&lt;table style="border-spacing:0;padding:0;margin:0;border:0;">&lt;tr>&lt;td style="vertical-align:top;padding:0;margin:0;border:0;">
&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;display:grid;">&lt;code>&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"> 1
&lt;/span>&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"> 2
&lt;/span>&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"> 3
&lt;/span>&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"> 4
&lt;/span>&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"> 5
&lt;/span>&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"> 6
&lt;/span>&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"> 7
&lt;/span>&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"> 8
&lt;/span>&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"> 9
&lt;/span>&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">10
&lt;/span>&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">11
&lt;/span>&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">12
&lt;/span>&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">13
&lt;/span>&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">14
&lt;/span>&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">15
&lt;/span>&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">16
&lt;/span>&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">17
&lt;/span>&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">18
&lt;/span>&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">19
&lt;/span>&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">20
&lt;/span>&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">21
&lt;/span>&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">22
&lt;/span>&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">23
&lt;/span>&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">24
&lt;/span>&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">25
&lt;/span>&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">26
&lt;/span>&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">27
&lt;/span>&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">28
&lt;/span>&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">29
&lt;/span>&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">30
&lt;/span>&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">31
&lt;/span>&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">32
&lt;/span>&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">33
&lt;/span>&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">34
&lt;/span>&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">35
&lt;/span>&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">36
&lt;/span>&lt;span style="background-color:#3c3d38">&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">37
&lt;/span>&lt;/span>&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">38
&lt;/span>&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">39
&lt;/span>&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">40
&lt;/span>&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">41
&lt;/span>&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">42
&lt;/span>&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">43
&lt;/span>&lt;span style="background-color:#3c3d38">&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">44
&lt;/span>&lt;/span>&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">45
&lt;/span>&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">46
&lt;/span>&lt;span style="background-color:#3c3d38">&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">47
&lt;/span>&lt;/span>&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">48
&lt;/span>&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">49
&lt;/span>&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">50
&lt;/span>&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">51
&lt;/span>&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">52
&lt;/span>&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">53
&lt;/span>&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">54
&lt;/span>&lt;span style="background-color:#3c3d38">&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">55
&lt;/span>&lt;/span>&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">56
&lt;/span>&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">57
&lt;/span>&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">58
&lt;/span>&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">59
&lt;/span>&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">60
&lt;/span>&lt;span style="background-color:#3c3d38">&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">61
&lt;/span>&lt;/span>&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">62
&lt;/span>&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">63
&lt;/span>&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">64
&lt;/span>&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">65
&lt;/span>&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">66
&lt;/span>&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">67
&lt;/span>&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">68
&lt;/span>&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">69
&lt;/span>&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">70
&lt;/span>&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">71
&lt;/span>&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">72
&lt;/span>&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">73
&lt;/span>&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">74
&lt;/span>&lt;span style="background-color:#3c3d38">&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">75
&lt;/span>&lt;/span>&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">76
&lt;/span>&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">77
&lt;/span>&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">78
&lt;/span>&lt;span style="background-color:#3c3d38">&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">79
&lt;/span>&lt;/span>&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">80
&lt;/span>&lt;span style="background-color:#3c3d38">&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">81
&lt;/span>&lt;/span>&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">82
&lt;/span>&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">83
&lt;/span>&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">84
&lt;/span>&lt;span style="background-color:#3c3d38">&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">85
&lt;/span>&lt;/span>&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">86
&lt;/span>&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">87
&lt;/span>&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">88
&lt;/span>&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">89
&lt;/span>&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">90
&lt;/span>&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">91
&lt;/span>&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">92
&lt;/span>&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">93
&lt;/span>&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">94
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td style="vertical-align:top;padding:0;margin:0;border:0;;width:100%">
&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;display:grid;">&lt;code class="language-plain" data-lang="plain">&lt;span style="display:flex;">&lt;span>rrs@priyasi:/var/tmp/Debian-Build/Result$ apt-offline get /tmp/set-trimmed.uris --bundle /tmp/set.zip --threads 5
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>Fetching APT Data
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>WARNING: If you are on a slow connection, it is good to
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>WARNING: limit the number of threads to a low number like 2.
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>WARNING: Else higher number of threads executed could cause
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>WARNING: network congestion and timeouts.
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>Downloading http://deb.debian.org/debian/dists/testing/Release.gpg
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>Downloading http://deb.debian.org/debian/dists/testing/Release
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>Downloading http://deb.debian.org/debian/dists/testing/InRelease
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>Downloading http://deb.debian.org/debian/dists/unstable/Release.gpg
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>Downloading http://deb.debian.org/debian/dists/unstable/Release
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>http://deb.debian.org/debian/dists/unstable/Release.gpg done
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>Downloading http://deb.debian.org/debian/dists/unstable/InRelease
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>http://deb.debian.org/debian/dists/testing/Release.gpg done
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>Downloading http://deb.debian.org/debian/dists/experimental/Release.gpg
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>http://deb.debian.org/debian/dists/unstable/Release done
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>Downloading http://deb.debian.org/debian/dists/experimental/Release
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>http://deb.debian.org/debian/dists/testing/InRelease done
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>Downloading http://deb.debian.org/debian/dists/experimental/InRelease
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>http://deb.debian.org/debian/dists/testing/Release done
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>Downloading http://deb.debian.org/debian/dists/testing/main/source/Sources.xz
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>http://deb.debian.org/debian/dists/unstable/InRelease done
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>Downloading http://deb.debian.org/debian/dists/testing/non-free/source/Sources.xz
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>http://deb.debian.org/debian/dists/experimental/Release.gpg done
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>Downloading http://deb.debian.org/debian/dists/testing/contrib/source/Sources.xz
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>http://deb.debian.org/debian/dists/experimental/InRelease done
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>Downloading http://deb.debian.org/debian/dists/testing/main/binary-amd64/Packages.xz
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>http://deb.debian.org/debian/dists/experimental/Release done
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>Downloading http://deb.debian.org/debian/dists/testing/main/binary-i386/Packages.xz
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>http://deb.debian.org/debian/dists/testing/contrib/source/Sources.xz done
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>Downloading http://deb.debian.org/debian/dists/testing/main/binary-all/Packages.xz
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>http://deb.debian.org/debian/dists/testing/non-free/source/Sources.xz done
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>Downloading http://deb.debian.org/debian/dists/testing/main/i18n/Translation-en_IN.xz
&lt;/span>&lt;/span>&lt;span style="display:flex; background-color:#3c3d38">&lt;span>ERROR: Giving up on URL http://deb.debian.org/debian/dists/testing/main/i18n/Translation-en_IN.lzma
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>Downloading http://deb.debian.org/debian/dists/testing/main/i18n/Translation-en.xz
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>http://deb.debian.org/debian/dists/testing/main/binary-all/Packages.xz done
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>Downloading http://deb.debian.org/debian/dists/testing/main/i18n/Translation-en_US.xz
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>http://deb.debian.org/debian/dists/testing/main/source/Sources.xz done
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>Downloading http://deb.debian.org/debian/dists/testing/main/Contents-amd64.xz
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>http://deb.debian.org/debian/dists/testing/main/i18n/Translation-en.bz2 done
&lt;/span>&lt;/span>&lt;span style="display:flex; background-color:#3c3d38">&lt;span>ERROR: Giving up on URL http://deb.debian.org/debian/dists/testing/main/i18n/Translation-en_US.lzma
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>Downloading http://deb.debian.org/debian/dists/testing/main/Contents-i386.xz
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>Downloading http://deb.debian.org/debian/dists/testing/main/Contents-all.xz
&lt;/span>&lt;/span>&lt;span style="display:flex; background-color:#3c3d38">&lt;span>ERROR: Giving up on URL http://deb.debian.org/debian/dists/testing/main/Contents-all.lzma
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>Downloading http://deb.debian.org/debian/dists/testing/non-free/binary-amd64/Packages.xz
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>http://deb.debian.org/debian/dists/testing/non-free/binary-amd64/Packages.xz done
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>Downloading http://deb.debian.org/debian/dists/testing/non-free/binary-i386/Packages.xz
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>http://deb.debian.org/debian/dists/testing/non-free/binary-i386/Packages.xz done
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>Downloading http://deb.debian.org/debian/dists/testing/non-free/binary-all/Packages.xz
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>http://deb.debian.org/debian/dists/testing/non-free/binary-all/Packages.xz done
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>Downloading http://deb.debian.org/debian/dists/testing/non-free/i18n/Translation-en_IN.xz
&lt;/span>&lt;/span>&lt;span style="display:flex; background-color:#3c3d38">&lt;span>ERROR: Giving up on URL http://deb.debian.org/debian/dists/testing/non-free/i18n/Translation-en_IN.lzma
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>Downloading http://deb.debian.org/debian/dists/testing/non-free/i18n/Translation-en.xz
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>http://deb.debian.org/debian/dists/testing/non-free/i18n/Translation-en.bz2 done
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>Downloading http://deb.debian.org/debian/dists/testing/non-free/i18n/Translation-en_US.xz
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>http://deb.debian.org/debian/dists/testing/main/binary-i386/Packages.xz done
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>Downloading http://deb.debian.org/debian/dists/testing/non-free/Contents-amd64.xz
&lt;/span>&lt;/span>&lt;span style="display:flex; background-color:#3c3d38">&lt;span>ERROR: Giving up on URL http://deb.debian.org/debian/dists/testing/non-free/i18n/Translation-en_US.lzma
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>Downloading http://deb.debian.org/debian/dists/testing/non-free/Contents-i386.xz
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>http://deb.debian.org/debian/dists/testing/non-free/Contents-i386.gz done
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>Downloading http://deb.debian.org/debian/dists/testing/non-free/Contents-all.xz
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>http://deb.debian.org/debian/dists/testing/non-free/Contents-amd64.gz done
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>http://deb.debian.org/debian/dists/testing/main/binary-amd64/Packages.xz done
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>Downloading http://deb.debian.org/debian/dists/testing/contrib/binary-amd64/Packages.xz
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>Downloading http://deb.debian.org/debian/dists/testing/contrib/binary-i386/Packages.xz
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>http://deb.debian.org/debian/dists/testing/contrib/binary-amd64/Packages.xz done
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>Downloading http://deb.debian.org/debian/dists/testing/contrib/binary-all/Packages.xz
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>http://deb.debian.org/debian/dists/testing/contrib/binary-i386/Packages.xz done
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>http://deb.debian.org/debian/dists/testing/contrib/binary-all/Packages.xz done
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>Downloading http://deb.debian.org/debian/dists/testing/contrib/i18n/Translation-en_IN.xz
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>Downloading http://deb.debian.org/debian/dists/testing/contrib/i18n/Translation-en.xz
&lt;/span>&lt;/span>&lt;span style="display:flex; background-color:#3c3d38">&lt;span>ERROR: Giving up on URL http://deb.debian.org/debian/dists/testing/non-free/Contents-all.lzma
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>Downloading http://deb.debian.org/debian/dists/testing/contrib/i18n/Translation-en_US.xz
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>http://deb.debian.org/debian/dists/testing/contrib/i18n/Translation-en.bz2 done
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>Downloading http://deb.debian.org/debian/dists/testing/contrib/Contents-amd64.xz
&lt;/span>&lt;/span>&lt;span style="display:flex; background-color:#3c3d38">&lt;span>ERROR: Giving up on URL http://deb.debian.org/debian/dists/testing/contrib/i18n/Translation-en_IN.lzma
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>Downloading http://deb.debian.org/debian/dists/testing/contrib/Contents-i386.xz
&lt;/span>&lt;/span>&lt;span style="display:flex; background-color:#3c3d38">&lt;span>ERROR: Giving up on URL http://deb.debian.org/debian/dists/testing/contrib/i18n/Translation-en_US.lzma
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>Downloading http://deb.debian.org/debian/dists/testing/contrib/Contents-all.xz
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>http://deb.debian.org/debian/dists/testing/contrib/Contents-amd64.gz done
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>http://deb.debian.org/debian/dists/testing/contrib/Contents-i386.gz done
&lt;/span>&lt;/span>&lt;span style="display:flex; background-color:#3c3d38">&lt;span>ERROR: Giving up on URL http://deb.debian.org/debian/dists/testing/contrib/Contents-all.lzma
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>http://deb.debian.org/debian/dists/testing/main/Contents-i386.gz done
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>http://deb.debian.org/debian/dists/testing/main/Contents-amd64.gz done
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> 81 / 81 items: [##############################] 100.0% of 101 MiB
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>Downloaded data to /tmp/set.zip
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>ERROR: Some items failed to download. Downloaded data may be incomplete
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>ERROR: Please run in verbose mode to see details about failed items
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>16:38 ♒ ॐ ☹ 😟=&amp;gt; 100 &lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>
&lt;!-- raw HTML omitted -->
&lt;p>First, lets unpack the archive file.&lt;/p>
&lt;div class="highlight">&lt;div style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">
&lt;table style="border-spacing:0;padding:0;margin:0;border:0;">&lt;tr>&lt;td style="vertical-align:top;padding:0;margin:0;border:0;">
&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code>&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"> 1
&lt;/span>&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"> 2
&lt;/span>&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"> 3
&lt;/span>&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"> 4
&lt;/span>&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"> 5
&lt;/span>&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"> 6
&lt;/span>&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"> 7
&lt;/span>&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"> 8
&lt;/span>&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"> 9
&lt;/span>&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">10
&lt;/span>&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">11
&lt;/span>&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">12
&lt;/span>&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">13
&lt;/span>&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">14
&lt;/span>&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">15
&lt;/span>&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">16
&lt;/span>&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">17
&lt;/span>&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">18
&lt;/span>&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">19
&lt;/span>&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">20
&lt;/span>&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">21
&lt;/span>&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">22
&lt;/span>&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">23
&lt;/span>&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">24
&lt;/span>&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">25
&lt;/span>&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">26
&lt;/span>&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">27
&lt;/span>&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">28
&lt;/span>&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">29
&lt;/span>&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">30
&lt;/span>&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">31
&lt;/span>&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">32
&lt;/span>&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">33
&lt;/span>&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">34
&lt;/span>&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">35
&lt;/span>&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">36
&lt;/span>&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">37
&lt;/span>&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">38
&lt;/span>&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">39
&lt;/span>&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">40
&lt;/span>&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">41
&lt;/span>&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">42
&lt;/span>&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">43
&lt;/span>&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">44
&lt;/span>&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">45
&lt;/span>&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">46
&lt;/span>&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">47
&lt;/span>&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">48
&lt;/span>&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">49
&lt;/span>&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">50
&lt;/span>&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">51
&lt;/span>&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">52
&lt;/span>&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">53
&lt;/span>&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">54
&lt;/span>&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">55
&lt;/span>&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">56
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td style="vertical-align:top;padding:0;margin:0;border:0;;width:100%">
&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-plain" data-lang="plain">&lt;span style="display:flex;">&lt;span>rrs@priyasi:/var/tmp/Debian-Build/Result$ cd /tmp/
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>16:39 ♒ ॐ ☺ 😄
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>rrs@priyasi:/tmp$ mkdir set-folder
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>16:39 ♒ ॐ ☺ 😄
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>rrs@priyasi:/tmp$ cd set-folder/
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>16:39 ♒ ॐ ☺ 😄
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>rrs@priyasi:/tmp/set-folder$ unzip ../set.zip
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>Archive: ../set.zip
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> inflating: deb.debian.org_debian_dists_unstable_Release.gpg
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> inflating: deb.debian.org_debian_dists_testing_Release.gpg
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> inflating: deb.debian.org_debian_dists_unstable_Release
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> inflating: deb.debian.org_debian_dists_testing_InRelease
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> inflating: deb.debian.org_debian_dists_testing_Release
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> inflating: deb.debian.org_debian_dists_unstable_InRelease
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> inflating: deb.debian.org_debian_dists_experimental_Release.gpg
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> inflating: deb.debian.org_debian_dists_experimental_InRelease
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> inflating: deb.debian.org_debian_dists_experimental_Release
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> inflating: deb.debian.org_debian_dists_testing_contrib_source_Sources.xz
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> inflating: deb.debian.org_debian_dists_testing_non-free_source_Sources.xz
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> inflating: deb.debian.org_debian_dists_testing_main_binary-all_Packages.xz
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> inflating: deb.debian.org_debian_dists_testing_main_source_Sources.xz
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> inflating: deb.debian.org_debian_dists_testing_main_i18n_Translation-en.bz2
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> inflating: deb.debian.org_debian_dists_testing_non-free_binary-amd64_Packages.xz
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> inflating: deb.debian.org_debian_dists_testing_non-free_binary-i386_Packages.xz
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> inflating: deb.debian.org_debian_dists_testing_non-free_binary-all_Packages.xz
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> inflating: deb.debian.org_debian_dists_testing_non-free_i18n_Translation-en.bz2
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> inflating: deb.debian.org_debian_dists_testing_main_binary-i386_Packages.xz
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> inflating: deb.debian.org_debian_dists_testing_non-free_Contents-i386.gz
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> inflating: deb.debian.org_debian_dists_testing_non-free_Contents-amd64.gz
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> inflating: deb.debian.org_debian_dists_testing_main_binary-amd64_Packages.xz
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> inflating: deb.debian.org_debian_dists_testing_contrib_binary-amd64_Packages.xz
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> inflating: deb.debian.org_debian_dists_testing_contrib_binary-i386_Packages.xz
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> inflating: deb.debian.org_debian_dists_testing_contrib_binary-all_Packages.xz
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> inflating: deb.debian.org_debian_dists_testing_contrib_i18n_Translation-en.bz2
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> inflating: deb.debian.org_debian_dists_testing_contrib_Contents-amd64.gz
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> inflating: deb.debian.org_debian_dists_testing_contrib_Contents-i386.gz
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> inflating: deb.debian.org_debian_dists_testing_main_Contents-i386.gz
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> inflating: deb.debian.org_debian_dists_testing_main_Contents-amd64.gz
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>16:39 ♒ ॐ ☺ 😄
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>rrs@priyasi:/tmp/set-folder$ ls
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>deb.debian.org_debian_dists_experimental_InRelease deb.debian.org_debian_dists_testing_main_Contents-i386.gz
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>deb.debian.org_debian_dists_experimental_Release deb.debian.org_debian_dists_testing_main_i18n_Translation-en.bz2
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>deb.debian.org_debian_dists_experimental_Release.gpg deb.debian.org_debian_dists_testing_main_source_Sources.xz
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>deb.debian.org_debian_dists_testing_contrib_binary-all_Packages.xz deb.debian.org_debian_dists_testing_non-free_binary-all_Packages.xz
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>deb.debian.org_debian_dists_testing_contrib_binary-amd64_Packages.xz deb.debian.org_debian_dists_testing_non-free_binary-amd64_Packages.xz
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>deb.debian.org_debian_dists_testing_contrib_binary-i386_Packages.xz deb.debian.org_debian_dists_testing_non-free_binary-i386_Packages.xz
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>deb.debian.org_debian_dists_testing_contrib_Contents-amd64.gz deb.debian.org_debian_dists_testing_non-free_Contents-amd64.gz
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>deb.debian.org_debian_dists_testing_contrib_Contents-i386.gz deb.debian.org_debian_dists_testing_non-free_Contents-i386.gz
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>deb.debian.org_debian_dists_testing_contrib_i18n_Translation-en.bz2 deb.debian.org_debian_dists_testing_non-free_i18n_Translation-en.bz2
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>deb.debian.org_debian_dists_testing_contrib_source_Sources.xz deb.debian.org_debian_dists_testing_non-free_source_Sources.xz
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>deb.debian.org_debian_dists_testing_InRelease deb.debian.org_debian_dists_testing_Release
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>deb.debian.org_debian_dists_testing_main_binary-all_Packages.xz deb.debian.org_debian_dists_testing_Release.gpg
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>deb.debian.org_debian_dists_testing_main_binary-amd64_Packages.xz deb.debian.org_debian_dists_unstable_InRelease
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>deb.debian.org_debian_dists_testing_main_binary-i386_Packages.xz deb.debian.org_debian_dists_unstable_Release
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>deb.debian.org_debian_dists_testing_main_Contents-amd64.gz deb.debian.org_debian_dists_unstable_Release.gpg
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>16:39 ♒ ॐ ☺ 😄 &lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>
&lt;!-- raw HTML omitted -->
&lt;div class="highlight">&lt;div style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">
&lt;table style="border-spacing:0;padding:0;margin:0;border:0;">&lt;tr>&lt;td style="vertical-align:top;padding:0;margin:0;border:0;">
&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code>&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">1
&lt;/span>&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">2
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td style="vertical-align:top;padding:0;margin:0;border:0;;width:100%">
&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-plain" data-lang="plain">&lt;span style="display:flex;">&lt;span>rrs@priyasi:/tmp/set-folder$ echo 112312312321 &amp;gt;&amp;gt; deb.debian.org_debian_dists_testing_non-free_source_Sources.xz
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>16:40 ♒ ॐ ☺ 😄 &lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>
&lt;!-- raw HTML omitted -->
&lt;p>So in this step, we tell &lt;em>&lt;strong>apt-offline&lt;/strong>&lt;/em> to install the downloaded files. This will also include the tampered file.
The output you see below is standard and reports everything to have succeeded.&lt;/p>
&lt;p>But note that the tampered file is not in the list of synced files. That file is just simply missing from the list.&lt;/p>
&lt;div class="highlight">&lt;div style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">
&lt;table style="border-spacing:0;padding:0;margin:0;border:0;">&lt;tr>&lt;td style="vertical-align:top;padding:0;margin:0;border:0;">
&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code>&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"> 1
&lt;/span>&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"> 2
&lt;/span>&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"> 3
&lt;/span>&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"> 4
&lt;/span>&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"> 5
&lt;/span>&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"> 6
&lt;/span>&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"> 7
&lt;/span>&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"> 8
&lt;/span>&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"> 9
&lt;/span>&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">10
&lt;/span>&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">11
&lt;/span>&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">12
&lt;/span>&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">13
&lt;/span>&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">14
&lt;/span>&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">15
&lt;/span>&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">16
&lt;/span>&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">17
&lt;/span>&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">18
&lt;/span>&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">19
&lt;/span>&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">20
&lt;/span>&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">21
&lt;/span>&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">22
&lt;/span>&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">23
&lt;/span>&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">24
&lt;/span>&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">25
&lt;/span>&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">26
&lt;/span>&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">27
&lt;/span>&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">28
&lt;/span>&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">29
&lt;/span>&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">30
&lt;/span>&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">31
&lt;/span>&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">32
&lt;/span>&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">33
&lt;/span>&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">34
&lt;/span>&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">35
&lt;/span>&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">36
&lt;/span>&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">37
&lt;/span>&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">38
&lt;/span>&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">39
&lt;/span>&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">40
&lt;/span>&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">41
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td style="vertical-align:top;padding:0;margin:0;border:0;;width:100%">
&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-plain" data-lang="plain">&lt;span style="display:flex;">&lt;span>rrs@priyasi:/tmp/set-folder$ sudo apt-offline install .
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>Proceeding with installation
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>gpgv: Signature made Friday 07 February 2020 01:55:24 PM IST
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>gpgv: using RSA key 16E90B3FDF65EDE3AA7F323C04EE7237B7D453EC
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>gpgv: Good signature from &amp;#34;Debian Archive Automatic Signing Key (9/stretch) &amp;lt;ftpmaster@debian.org&amp;gt;&amp;#34;
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>gpgv: Signature made Friday 07 February 2020 01:55:43 PM IST
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>gpgv: using RSA key 0146DC6D4A0B2914BDED34DB648ACFD622F3D138
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>gpgv: Good signature from &amp;#34;Debian Archive Automatic Signing Key (10/buster) &amp;lt;ftpmaster@debian.org&amp;gt;&amp;#34;
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>gpgv: Signature made Friday 07 February 2020 01:56:44 PM IST
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>gpgv: using RSA key 16E90B3FDF65EDE3AA7F323C04EE7237B7D453EC
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>gpgv: Good signature from &amp;#34;Debian Archive Automatic Signing Key (9/stretch) &amp;lt;ftpmaster@debian.org&amp;gt;&amp;#34;
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>gpgv: Signature made Friday 07 February 2020 01:56:45 PM IST
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>gpgv: using RSA key 0146DC6D4A0B2914BDED34DB648ACFD622F3D138
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>gpgv: Good signature from &amp;#34;Debian Archive Automatic Signing Key (10/buster) &amp;lt;ftpmaster@debian.org&amp;gt;&amp;#34;
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>gpgv: Signature made Friday 07 February 2020 01:56:58 PM IST
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>gpgv: using RSA key 16E90B3FDF65EDE3AA7F323C04EE7237B7D453EC
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>gpgv: Good signature from &amp;#34;Debian Archive Automatic Signing Key (9/stretch) &amp;lt;ftpmaster@debian.org&amp;gt;&amp;#34;
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>gpgv: Signature made Friday 07 February 2020 01:56:58 PM IST
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>gpgv: using RSA key 0146DC6D4A0B2914BDED34DB648ACFD622F3D138
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>gpgv: Good signature from &amp;#34;Debian Archive Automatic Signing Key (10/buster) &amp;lt;ftpmaster@debian.org&amp;gt;&amp;#34;
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>deb.debian.org_debian_dists_testing_contrib_Contents-amd64.gz synced.
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>deb.debian.org_debian_dists_testing_contrib_Contents-i386.gz synced.
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>deb.debian.org_debian_dists_testing_contrib_binary-all_Packages.xz synced.
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>deb.debian.org_debian_dists_testing_contrib_binary-amd64_Packages.xz synced.
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>deb.debian.org_debian_dists_testing_contrib_binary-i386_Packages.xz synced.
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>deb.debian.org_debian_dists_testing_contrib_i18n_Translation-en.bz2 synced.
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>deb.debian.org_debian_dists_testing_contrib_source_Sources.xz synced.
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>deb.debian.org_debian_dists_testing_main_Contents-amd64.gz synced.
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>deb.debian.org_debian_dists_testing_main_Contents-i386.gz synced.
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>deb.debian.org_debian_dists_testing_main_binary-all_Packages.xz synced.
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>deb.debian.org_debian_dists_testing_main_binary-amd64_Packages.xz synced.
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>deb.debian.org_debian_dists_testing_main_binary-i386_Packages.xz synced.
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>deb.debian.org_debian_dists_testing_main_i18n_Translation-en.bz2 synced.
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>deb.debian.org_debian_dists_testing_main_source_Sources.xz synced.
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>deb.debian.org_debian_dists_testing_non-free_Contents-amd64.gz synced.
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>deb.debian.org_debian_dists_testing_non-free_Contents-i386.gz synced.
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>deb.debian.org_debian_dists_testing_non-free_binary-all_Packages.xz synced.
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>deb.debian.org_debian_dists_testing_non-free_binary-amd64_Packages.xz synced.
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>deb.debian.org_debian_dists_testing_non-free_binary-i386_Packages.xz synced.
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>deb.debian.org_debian_dists_testing_non-free_i18n_Translation-en.bz2 synced.
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>16:41 ♒ ॐ ☺ 😄 &lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>
&lt;!-- raw HTML omitted -->
&lt;p>So, in the above example, &lt;em>&lt;strong>apt-offline&lt;/strong>&lt;/em> discarded the tampered file and the final exit of the command was a success.
Now, let&amp;rsquo;s run the same command with the &amp;lsquo;&amp;ndash;verbose&amp;rsquo; switch. Below is the output.&lt;/p>
&lt;p>Notice the highlighted line below, where it reports that the file is tampered and does not match the checksum&lt;/p>
&lt;div class="highlight">&lt;div style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;display:grid;">
&lt;table style="border-spacing:0;padding:0;margin:0;border:0;">&lt;tr>&lt;td style="vertical-align:top;padding:0;margin:0;border:0;">
&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;display:grid;">&lt;code>&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"> 1
&lt;/span>&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"> 2
&lt;/span>&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"> 3
&lt;/span>&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"> 4
&lt;/span>&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"> 5
&lt;/span>&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"> 6
&lt;/span>&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"> 7
&lt;/span>&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"> 8
&lt;/span>&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"> 9
&lt;/span>&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">10
&lt;/span>&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">11
&lt;/span>&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">12
&lt;/span>&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">13
&lt;/span>&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">14
&lt;/span>&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">15
&lt;/span>&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">16
&lt;/span>&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">17
&lt;/span>&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">18
&lt;/span>&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">19
&lt;/span>&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">20
&lt;/span>&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">21
&lt;/span>&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">22
&lt;/span>&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">23
&lt;/span>&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">24
&lt;/span>&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">25
&lt;/span>&lt;span style="background-color:#3c3d38">&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">26
&lt;/span>&lt;/span>&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">27
&lt;/span>&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">28
&lt;/span>&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">29
&lt;/span>&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">30
&lt;/span>&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">31
&lt;/span>&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">32
&lt;/span>&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">33
&lt;/span>&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">34
&lt;/span>&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">35
&lt;/span>&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">36
&lt;/span>&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">37
&lt;/span>&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">38
&lt;/span>&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">39
&lt;/span>&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">40
&lt;/span>&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">41
&lt;/span>&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">42
&lt;/span>&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">43
&lt;/span>&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">44
&lt;/span>&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">45
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td style="vertical-align:top;padding:0;margin:0;border:0;;width:100%">
&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;display:grid;">&lt;code class="language-plain" data-lang="plain">&lt;span style="display:flex;">&lt;span>rrs@priyasi:/tmp/set-folder$ sudo apt-offline install . --verbose
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>VERBOSE: Namespace(allow_unauthenticated=False, func=&amp;lt;function installer at 0x7f6a6c7c54d0&amp;gt;, install=&amp;#39;.&amp;#39;, install_simulate=False, install_src_path=None, skip_bug_reports=False, skip_changelog=False, strict_deb_check=False, verbose=True)
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>VERBOSE: No changelog available
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>Proceeding with installation
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>VERBOSE: {}
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>VERBOSE: Great!!! No bugs found for all the packages that were downloaded.
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>VERBOSE: APT Signature verification path is: [&amp;#39;/etc/apt/trusted.gpg.d/&amp;#39;, &amp;#39;/etc/apt/trusted.gpg&amp;#39;]
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>VERBOSE: Adding /etc/apt/trusted.gpg.d/debian-archive-jessie-automatic.gpg to the apt-offline keyring
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>VERBOSE: Adding /etc/apt/trusted.gpg.d/debian-archive-jessie-security-automatic.gpg to the apt-offline keyring
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>VERBOSE: Adding /etc/apt/trusted.gpg.d/debian-archive-jessie-stable.gpg to the apt-offline keyring
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>VERBOSE: Adding /etc/apt/trusted.gpg.d/debian-archive-stretch-automatic.gpg to the apt-offline keyring
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>VERBOSE: Adding /etc/apt/trusted.gpg.d/debian-archive-stretch-security-automatic.gpg to the apt-offline keyring
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>VERBOSE: Adding /etc/apt/trusted.gpg.d/debian-archive-stretch-stable.gpg to the apt-offline keyring
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>VERBOSE: Adding /etc/apt/trusted.gpg.d/debian-archive-buster-automatic.gpg to the apt-offline keyring
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>VERBOSE: Adding /etc/apt/trusted.gpg.d/debian-archive-buster-security-automatic.gpg to the apt-offline keyring
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>.....snipped.....
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>VERBOSE: localFile ./deb.debian.org_debian_dists_testing_non-free_Contents-amd64.gz Integrity with checksum 024957d30be2acbb9e66c9802f825115d32437420300a2b28ab60ae4ecb76fcf matches
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>VERBOSE: localFile ./deb.debian.org_debian_dists_testing_non-free_Contents-i386.gz Integrity with checksum 5266d2f3ea41c4e988e71b4bbe58dd1178a23ce1ed50908c73a0cb39201136e3 matches
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>VERBOSE: localFile ./deb.debian.org_debian_dists_testing_non-free_binary-all_Packages.xz Integrity with checksum 9f0f3aa5560452d45f82c5121ea844c68e641c8fbb56ef69d570c641b6cce662 matches
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>VERBOSE: localFile ./deb.debian.org_debian_dists_testing_non-free_binary-amd64_Packages.xz Integrity with checksum 811f7752a13dfcbd748478dda267fb810c52fc14769d2d5c7871c75e35350d66 matches
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>VERBOSE: localFile ./deb.debian.org_debian_dists_testing_non-free_binary-i386_Packages.xz Integrity with checksum 7df3512b5da7258613774921023d68c71858d89fddafd694e2dfd19cef54314b matches
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>VERBOSE: localFile ./deb.debian.org_debian_dists_testing_non-free_i18n_Translation-en.bz2 Integrity with checksum 1bf3cd0cff6fadf1a74280912c3229374344cd6c347d2f533b001843d84b236d matches
&lt;/span>&lt;/span>&lt;span style="display:flex; background-color:#3c3d38">&lt;span>VERBOSE: localFile ./deb.debian.org_debian_dists_testing_non-free_source_Sources.xz integrity doesn&amp;#39;t match to checksum a94589ab3c204bb4d710d72ea21abac8007b14e5c5dacbe43be07c51ba5f0a0a
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>VERBOSE: Synchronized file to /var/lib/apt/lists/deb.debian.org_debian_dists_testing_contrib_Contents-amd64
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>VERBOSE: /var/lib/apt/lists/deb.debian.org_debian_dists_testing_contrib_Contents-amd64 file synced to APT.
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>deb.debian.org_debian_dists_testing_contrib_Contents-amd64.gz synced.
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>VERBOSE: Synchronized file to /var/lib/apt/lists/deb.debian.org_debian_dists_testing_contrib_Contents-i386
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>VERBOSE: /var/lib/apt/lists/deb.debian.org_debian_dists_testing_contrib_Contents-i386 file synced to APT.
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>deb.debian.org_debian_dists_testing_contrib_Contents-i386.gz synced.
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>VERBOSE: Synchronized file to /var/lib/apt/lists/deb.debian.org_debian_dists_testing_contrib_binary-all_Packages
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>VERBOSE: /var/lib/apt/lists/deb.debian.org_debian_dists_testing_contrib_binary-all_Packages file synced to APT.
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>deb.debian.org_debian_dists_testing_contrib_binary-all_Packages.xz synced.
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>VERBOSE: Synchronized file to /var/lib/apt/lists/deb.debian.org_debian_dists_testing_contrib_binary-amd64_Packages
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>VERBOSE: /var/lib/apt/lists/deb.debian.org_debian_dists_testing_contrib_binary-amd64_Packages file synced to APT.
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>deb.debian.org_debian_dists_testing_contrib_binary-amd64_Packages.xz synced.
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>VERBOSE: Synchronized file to /var/lib/apt/lists/deb.debian.org_debian_dists_testing_contrib_binary-i386_Packages
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>VERBOSE: /var/lib/apt/lists/deb.debian.org_debian_dists_testing_contrib_binary-i386_Packages file synced to APT.
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>deb.debian.org_debian_dists_testing_contrib_binary-i386_Packages.xz synced.
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>.....snipped.....
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>16:42 ♒ ॐ ☺ 😄&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>
&lt;p>This is pretty much the validation required and done by &lt;em>&lt;strong>apt-offline&lt;/strong>&lt;/em> for apt meta &lt;em>Packages&lt;/em> files.&lt;/p>
&lt;p>Please do file bug reports if you think the overall exit status of &lt;em>&lt;strong>apt-offline&lt;/strong>&lt;/em> under such scenarios should be different than what it is currently.&lt;/p>
&lt;p>For the tampered meta &lt;em>Packages&lt;/em> files:&lt;/p>
&lt;ul>
&lt;li>should the visual representation be different ?&lt;/li>
&lt;li>Should an error be printed ?&lt;/li>
&lt;li>What about the exit status ?&lt;/li>
&lt;/ul>
&lt;p>Similarly, for the &amp;lsquo;get&amp;rsquo; operation:&lt;/p>
&lt;ul>
&lt;li>Should we do something different for non-existing localization files on the repository server ?&lt;/li>
&lt;li>Is there any different way to go through the supported list of compression types for meta files ?&lt;/li>
&lt;/ul>
&lt;!-- raw HTML omitted -->
&lt;p>&lt;em>&lt;strong>apt-offline&lt;/strong>&lt;/em> allows a user to install a new package and all its dependencies easily on the offline machine. The below workflow will demonstrate the same and will also go through the tampering of the .deb files and see how &lt;em>&lt;strong>apt-offline/apt&lt;/strong>&lt;/em> deals with it.&lt;/p>
&lt;p>In below example, a user wants to install the &lt;code>gnome-todo&lt;/code> package on the offline machine, which has a couple of dependencies.&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-plain" data-lang="plain">&lt;span style="display:flex;">&lt;span>rrs@priyasi:/tmp/set-folder$ sudo apt install gnome-todo
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>Reading package lists... Done
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>Building dependency tree
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>Reading state information... Done
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>The following additional packages will be installed:
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> gnome-todo-common libgnome-todo libpeas-1.0-0 libpeas-common
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>The following NEW packages will be installed:
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> gnome-todo gnome-todo-common libgnome-todo libpeas-1.0-0 libpeas-common
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>0 upgraded, 5 newly installed, 0 to remove and 1 not upgraded.
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>Need to get 784 kB of archives.
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>After this operation, 2,337 kB of additional disk space will be used.
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>Do you want to continue? [Y/n] n
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>Abort.
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>16:47 ♒ ॐ ☹ 😟=&amp;gt; 1 &lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>
&lt;!-- raw HTML omitted -->
&lt;p>The below command generates a (signature) file, which will include all details about requested package and its dependencies.&lt;/p>
&lt;div class="highlight">&lt;div style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">
&lt;table style="border-spacing:0;padding:0;margin:0;border:0;">&lt;tr>&lt;td style="vertical-align:top;padding:0;margin:0;border:0;">
&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code>&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">1
&lt;/span>&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">2
&lt;/span>&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">3
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td style="vertical-align:top;padding:0;margin:0;border:0;;width:100%">
&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-plain" data-lang="plain">&lt;span style="display:flex;">&lt;span>rrs@priyasi:/tmp/set-folder$ sudo apt-offline set /tmp/gnome-todo.uris --install-packages gnome-todo
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>Gathering installation details for package [&amp;#39;gnome-todo&amp;#39;]
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>16:48 ♒ ॐ ☺ 😄 &lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>
&lt;!-- raw HTML omitted -->
&lt;p>Below is the usual step to be performed on the online machine with the generated &lt;code>gnome-todo.uris&lt;/code> signature file.&lt;/p>
&lt;div class="highlight">&lt;div style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">
&lt;table style="border-spacing:0;padding:0;margin:0;border:0;">&lt;tr>&lt;td style="vertical-align:top;padding:0;margin:0;border:0;">
&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code>&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"> 1
&lt;/span>&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"> 2
&lt;/span>&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"> 3
&lt;/span>&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"> 4
&lt;/span>&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"> 5
&lt;/span>&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"> 6
&lt;/span>&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"> 7
&lt;/span>&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"> 8
&lt;/span>&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"> 9
&lt;/span>&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">10
&lt;/span>&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">11
&lt;/span>&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">12
&lt;/span>&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">13
&lt;/span>&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">14
&lt;/span>&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">15
&lt;/span>&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">16
&lt;/span>&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">17
&lt;/span>&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">18
&lt;/span>&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">19
&lt;/span>&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">20
&lt;/span>&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">21
&lt;/span>&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">22
&lt;/span>&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">23
&lt;/span>&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">24
&lt;/span>&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">25
&lt;/span>&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">26
&lt;/span>&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">27
&lt;/span>&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">28
&lt;/span>&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">29
&lt;/span>&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">30
&lt;/span>&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">31
&lt;/span>&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">32
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td style="vertical-align:top;padding:0;margin:0;border:0;;width:100%">
&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-plain" data-lang="plain">&lt;span style="display:flex;">&lt;span>rrs@priyasi:/tmp/set-folder$ apt-offline get /tmp/gnome-todo.uris --download-dir /tmp/gnome-todo --bug-reports --threads 3
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>Fetching APT Data
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>WARNING: If you are on a slow connection, it is good to
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>WARNING: limit the number of threads to a low number like 2.
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>WARNING: Else higher number of threads executed could cause
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>WARNING: network congestion and timeouts.
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>Downloading libpeas-common - 187 KiB
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>Downloading libpeas-1.0-0 - 196 KiB
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>Downloading gnome-todo-common - 228 KiB
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>libpeas-common done
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>Fetching bug report for libpeas-common
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>libpeas-1.0-0 done
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>Fetching bug report for libpeas-1.0-0
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>gnome-todo-common done
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>Fetching bug report for gnome-todo-common
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>Fetched bug report for libpeas-common
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>Downloading libgnome-todo - 6 KiB
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>libgnome-todo done
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>Fetching bug report for libgnome-todo
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>Fetched bug report for gnome-todo-common
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>Downloading gnome-todo - 146 KiB
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>gnome-todo done
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>Fetching bug report for gnome-todo
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>Fetched bug report for libpeas-1.0-0
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>Fetched bug report for libgnome-todo
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>Fetched bug report for gnome-todo
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> 5 / 5 items: [##############################] 100.0% of 765 KiB
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>Downloaded data to /tmp/gnome-todo
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>16:49 ♒ ॐ ☺ 😄 &lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>
&lt;!-- raw HTML omitted -->
&lt;p>Note: The fact is that &lt;em>&lt;strong>apt-offline&lt;/strong>&lt;/em> will not do any checksum validation for the .deb files. The validation is completely delegated to &lt;code>apt&lt;/code>.&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-plain" data-lang="plain">&lt;span style="display:flex;">&lt;span>rrs@priyasi:/tmp/gnome-todo$ sudo apt-offline install -h
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>usage: apt-offline install [-h] [--verbose] [--simulate]
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> [--install-src-path INSTALL_SRC_PATH]
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> [--skip-bug-reports] [--skip-changelog]
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> [--allow-unauthenticated] [--strict-deb-check]
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> apt-offline-download.zip | apt-offline-download/
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>positional arguments:
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> apt-offline-download.zip | apt-offline-download/
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> Install apt-offline data, a bundle file or a directory
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>optional arguments:
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> -h, --help show this help message and exit
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> --verbose Enable verbose messages
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> --simulate Just simulate. Very helpful when debugging
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> --install-src-path INSTALL_SRC_PATH
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> Install src packages to specified path.
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> --skip-bug-reports Skip the bug report check
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> --skip-changelog Skip display of changelog
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> --allow-unauthenticated
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> Ignore apt gpg signatures mismatch
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> --strict-deb-check Perform strict checksum validaton for downloaded .deb
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> files
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>16:50 ♒ ॐ ☺ 😄 &lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>
&lt;p>and from the manpage:&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-markdown" data-lang="markdown">&lt;span style="display:flex;">&lt;span> --strict-deb-check
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> With this option enabled, apt-offline delegate&amp;#39;s .deb package checksum validation to apt. While the .debs are already avail‐
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> able, they are stored in the temporary apt cache, where apt validates its checksum, before considering it for further pro‐
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> cessing. Note: This does have the caveat that apt may need network availability even though it doesn&amp;#39;t download anything
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> over the network. But it does invoke the download routines and realizes that the payload is already available. It then fur‐
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> ther proceeds with checksum validation
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> The default behavior is to not do strict checksum validation for .deb files. Instead, apt-offline copies the .deb files to
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> apt&amp;#39;s download location. apt still does size validation of the available .deb files and discards them in case there is a mis‐
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> match.&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>
&lt;!-- raw HTML omitted -->
&lt;p>Before we proceed with the example of checksum verification for .deb files, lets do a pristine run of the downloaded files, without any tampering to them.&lt;/p>
&lt;div class="highlight">&lt;div style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;display:grid;">
&lt;table style="border-spacing:0;padding:0;margin:0;border:0;">&lt;tr>&lt;td style="vertical-align:top;padding:0;margin:0;border:0;">
&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;display:grid;">&lt;code>&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"> 1
&lt;/span>&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"> 2
&lt;/span>&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"> 3
&lt;/span>&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"> 4
&lt;/span>&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"> 5
&lt;/span>&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"> 6
&lt;/span>&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"> 7
&lt;/span>&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"> 8
&lt;/span>&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"> 9
&lt;/span>&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">10
&lt;/span>&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">11
&lt;/span>&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">12
&lt;/span>&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">13
&lt;/span>&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">14
&lt;/span>&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">15
&lt;/span>&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">16
&lt;/span>&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">17
&lt;/span>&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">18
&lt;/span>&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">19
&lt;/span>&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">20
&lt;/span>&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">21
&lt;/span>&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">22
&lt;/span>&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">23
&lt;/span>&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">24
&lt;/span>&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">25
&lt;/span>&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">26
&lt;/span>&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">27
&lt;/span>&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">28
&lt;/span>&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">29
&lt;/span>&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">30
&lt;/span>&lt;span style="background-color:#3c3d38">&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">31
&lt;/span>&lt;/span>&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">32
&lt;/span>&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">33
&lt;/span>&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">34
&lt;/span>&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">35
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td style="vertical-align:top;padding:0;margin:0;border:0;;width:100%">
&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;display:grid;">&lt;code class="language-plain" data-lang="plain">&lt;span style="display:flex;">&lt;span>rrs@priyasi:/tmp/gnome-todo$ sudo apt-offline install .
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>Proceeding with installation
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>Following are the list of bugs present.
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>822525 gnome-todo : gnome-todo: Memory leak while loading local and remote lists
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>853114 gnome-todo : no longer loads caldav lists
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>883961 libgnome-todo : libgnome-todo: Not actually a library
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>829470 libpeas-1.0-0 : libpeas: Python Plugin Broken
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>(Y) Yes. Proceed with installation
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>(N) No, Abort.
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>(R) Redisplay the list of bugs.
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>(Bug Number) Display the bug report from the Offline Bug Reports.
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>(?) Display this help message.
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>What would you like to do next: (y, N, ?)y
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>gnome-todo_3.28.1-5_amd64.deb file synced.
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>libgnome-todo_3.28.1-5_amd64.deb file synced.
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>gnome-todo-common_3.28.1-5_all.deb file synced.
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>libpeas-1.0-0_1.22.0-5_amd64.deb file synced.
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>libpeas-common_1.22.0-5_all.deb file synced.
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>16:51 ♒ ॐ ☺ 😄
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>rrs@priyasi:/tmp/gnome-todo$ sudo apt install gnome-todo
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>Reading package lists... Done
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>Building dependency tree
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>Reading state information... Done
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>The following additional packages will be installed:
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> gnome-todo-common libgnome-todo libpeas-1.0-0 libpeas-common
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>The following NEW packages will be installed:
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> gnome-todo gnome-todo-common libgnome-todo libpeas-1.0-0 libpeas-common
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>0 upgraded, 5 newly installed, 0 to remove and 1 not upgraded.
&lt;/span>&lt;/span>&lt;span style="display:flex; background-color:#3c3d38">&lt;span>Need to get 0 B/784 kB of archives.
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>After this operation, 2,337 kB of additional disk space will be used.
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>Do you want to continue? [Y/n] n
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>Abort.
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>16:51 ♒ ॐ ☹ 😟=&amp;gt; 1 &lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>
&lt;p>In the above example, everything is clean and all requirements to apt are satisfied.&lt;/p>
&lt;!-- raw HTML omitted -->
&lt;p>Here&amp;rsquo;s one more exaple, where we invoke the non-default &lt;code>--strict-deb-check&lt;/code> option.&lt;/p>
&lt;p>Everything remains the same, but apt gives a prompt saying that it needs to download the payload from the web. The reality is that if you just proceed with yes, nothing gets downloaded.&lt;/p>
&lt;p>Note: It is not possible to explain that with a still presentation and I&amp;rsquo;m lazy to make a motion object of it.&lt;/p>
&lt;div class="highlight">&lt;div style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;display:grid;">
&lt;table style="border-spacing:0;padding:0;margin:0;border:0;">&lt;tr>&lt;td style="vertical-align:top;padding:0;margin:0;border:0;">
&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;display:grid;">&lt;code>&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"> 1
&lt;/span>&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"> 2
&lt;/span>&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"> 3
&lt;/span>&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"> 4
&lt;/span>&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"> 5
&lt;/span>&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"> 6
&lt;/span>&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"> 7
&lt;/span>&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"> 8
&lt;/span>&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"> 9
&lt;/span>&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">10
&lt;/span>&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">11
&lt;/span>&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">12
&lt;/span>&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">13
&lt;/span>&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">14
&lt;/span>&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">15
&lt;/span>&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">16
&lt;/span>&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">17
&lt;/span>&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">18
&lt;/span>&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">19
&lt;/span>&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">20
&lt;/span>&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">21
&lt;/span>&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">22
&lt;/span>&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">23
&lt;/span>&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">24
&lt;/span>&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">25
&lt;/span>&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">26
&lt;/span>&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">27
&lt;/span>&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">28
&lt;/span>&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">29
&lt;/span>&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">30
&lt;/span>&lt;span style="background-color:#3c3d38">&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">31
&lt;/span>&lt;/span>&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">32
&lt;/span>&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">33
&lt;/span>&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">34
&lt;/span>&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">35
&lt;/span>&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">36
&lt;/span>&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">37
&lt;/span>&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">38
&lt;/span>&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">39
&lt;/span>&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">40
&lt;/span>&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">41
&lt;/span>&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">42
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td style="vertical-align:top;padding:0;margin:0;border:0;;width:100%">
&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;display:grid;">&lt;code class="language-plain" data-lang="plain">&lt;span style="display:flex;">&lt;span>rrs@priyasi:/tmp/gnome-todo$ sudo apt-offline install . --strict-deb-check
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>Proceeding with installation
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>Following are the list of bugs present.
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>822525 gnome-todo : gnome-todo: Memory leak while loading local and remote lists
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>853114 gnome-todo : no longer loads caldav lists
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>883961 libgnome-todo : libgnome-todo: Not actually a library
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>829470 libpeas-1.0-0 : libpeas: Python Plugin Broken
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>(Y) Yes. Proceed with installation
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>(N) No, Abort.
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>(R) Redisplay the list of bugs.
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>(Bug Number) Display the bug report from the Offline Bug Reports.
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>(?) Display this help message.
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>What would you like to do next: (y, N, ?)y
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>gnome-todo_3.28.1-5_amd64.deb file synced.
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>libgnome-todo_3.28.1-5_amd64.deb file synced.
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>gnome-todo-common_3.28.1-5_all.deb file synced.
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>libpeas-1.0-0_1.22.0-5_amd64.deb file synced.
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>libpeas-common_1.22.0-5_all.deb file synced.
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>16:52 ♒ ॐ ☺ 😄
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>rrs@priyasi:/tmp/gnome-todo$ sudo apt install gnome-todo
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>Reading package lists... Done
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>Building dependency tree
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>Reading state information... Done
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>The following additional packages will be installed:
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> gnome-todo-common libgnome-todo libpeas-1.0-0 libpeas-common
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>The following NEW packages will be installed:
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> gnome-todo gnome-todo-common libgnome-todo libpeas-1.0-0 libpeas-common
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>0 upgraded, 5 newly installed, 0 to remove and 1 not upgraded.
&lt;/span>&lt;/span>&lt;span style="display:flex; background-color:#3c3d38">&lt;span>Need to get 784 kB of archives.
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>After this operation, 2,337 kB of additional disk space will be used.
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>Do you want to continue? [Y/n]
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>Get:1 http://deb.debian.org/debian testing/main amd64 libpeas-common all 1.22.0-5 [192 kB]
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>Get:2 http://deb.debian.org/debian testing/main amd64 libpeas-1.0-0 amd64 1.22.0-5 [201 kB]
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>Get:3 http://deb.debian.org/debian testing/main amd64 gnome-todo-common all 3.28.1-5 [234 kB]
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>Get:4 http://deb.debian.org/debian testing/main amd64 libgnome-todo amd64 3.28.1-5 [6,260 B]
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>Get:5 http://deb.debian.org/debian testing/main amd64 gnome-todo amd64 3.28.1-5 [150 kB]
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>Retrieving bug reports... Done
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>Parsing Found/Fixed information... Done
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>.....snipped.....
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>16:53 ♒ ॐ ☺ 😄 &lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>
&lt;p>To sum it up, this one is an odd case because though nothing for the debs is downloaded, BUT, the network needs to be active for this co-routine to run. If, say, the network is unavailable, apt complains. I haven&amp;rsquo;t checked, but apt does invoke some network code.&lt;/p>
&lt;p>But no payload is downloaded. apt just validates and realizes that all the to-be-downloaded data, is intact and available.&lt;/p>
&lt;!-- raw HTML omitted -->
&lt;div class="highlight">&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-plain" data-lang="plain">&lt;span style="display:flex;">&lt;span>rrs@priyasi:/tmp/gnome-todo$ echo fasdfadsfasdfasdfasd &amp;gt;&amp;gt; gnome-todo_3.28.1-5_amd64.deb
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>16:54 ♒ ॐ ☺ 😄
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>rrs@priyasi:/tmp/gnome-todo$ sudo apt clean
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>16:54 ♒ ॐ ☺ 😄 &lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>
&lt;!-- raw HTML omitted -->
&lt;p>So we tampered one of the .deb files, &lt;code>gnome-todo_3.28.1-5_amd64.deb&lt;/code>. And ask &lt;em>&lt;strong>apt-offline&lt;/strong>&lt;/em> to run its &amp;lsquo;install&amp;rsquo; operation along with the new &lt;code>--strict-deb-check&lt;/code> option.&lt;/p>
&lt;div class="highlight">&lt;div style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;display:grid;">
&lt;table style="border-spacing:0;padding:0;margin:0;border:0;">&lt;tr>&lt;td style="vertical-align:top;padding:0;margin:0;border:0;">
&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;display:grid;">&lt;code>&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"> 1
&lt;/span>&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"> 2
&lt;/span>&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"> 3
&lt;/span>&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"> 4
&lt;/span>&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"> 5
&lt;/span>&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"> 6
&lt;/span>&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"> 7
&lt;/span>&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"> 8
&lt;/span>&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"> 9
&lt;/span>&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">10
&lt;/span>&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">11
&lt;/span>&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">12
&lt;/span>&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">13
&lt;/span>&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">14
&lt;/span>&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">15
&lt;/span>&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">16
&lt;/span>&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">17
&lt;/span>&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">18
&lt;/span>&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">19
&lt;/span>&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">20
&lt;/span>&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">21
&lt;/span>&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">22
&lt;/span>&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">23
&lt;/span>&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">24
&lt;/span>&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">25
&lt;/span>&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">26
&lt;/span>&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">27
&lt;/span>&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">28
&lt;/span>&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">29
&lt;/span>&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">30
&lt;/span>&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">31
&lt;/span>&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">32
&lt;/span>&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">33
&lt;/span>&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">34
&lt;/span>&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">35
&lt;/span>&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">36
&lt;/span>&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">37
&lt;/span>&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">38
&lt;/span>&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">39
&lt;/span>&lt;span style="background-color:#3c3d38">&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">40
&lt;/span>&lt;/span>&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">41
&lt;/span>&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">42
&lt;/span>&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">43
&lt;/span>&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">44
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td style="vertical-align:top;padding:0;margin:0;border:0;;width:100%">
&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;display:grid;">&lt;code class="language-plain" data-lang="plain">&lt;span style="display:flex;">&lt;span>rrs@priyasi:/tmp/gnome-todo$ sudo apt-offline install . --strict-deb-check
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>Proceeding with installation
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>Following are the list of bugs present.
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>822525 gnome-todo : gnome-todo: Memory leak while loading local and remote lists
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>853114 gnome-todo : no longer loads caldav lists
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>883961 libgnome-todo : libgnome-todo: Not actually a library
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>829470 libpeas-1.0-0 : libpeas: Python Plugin Broken
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>(Y) Yes. Proceed with installation
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>(N) No, Abort.
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>(R) Redisplay the list of bugs.
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>(Bug Number) Display the bug report from the Offline Bug Reports.
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>(?) Display this help message.
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>What would you like to do next: (y, N, ?)y
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>gnome-todo_3.28.1-5_amd64.deb file synced.
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>libgnome-todo_3.28.1-5_amd64.deb file synced.
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>gnome-todo-common_3.28.1-5_all.deb file synced.
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>libpeas-1.0-0_1.22.0-5_amd64.deb file synced.
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>libpeas-common_1.22.0-5_all.deb file synced.
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>16:54 ♒ ॐ ☺ 😄
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>rrs@priyasi:/tmp/gnome-todo$ sudo apt install gnome-todo
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>Reading package lists... Done
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>Building dependency tree
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>Reading state information... Done
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>The following additional packages will be installed:
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> gnome-todo-common libgnome-todo libpeas-1.0-0 libpeas-common
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>The following NEW packages will be installed:
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> gnome-todo gnome-todo-common libgnome-todo libpeas-1.0-0 libpeas-common
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>0 upgraded, 5 newly installed, 0 to remove and 1 not upgraded.
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>Need to get 784 kB of archives.
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>After this operation, 2,337 kB of additional disk space will be used.
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>Do you want to continue? [Y/n]
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>Get:1 http://deb.debian.org/debian testing/main amd64 libpeas-common all 1.22.0-5 [192 kB]
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>Get:2 http://deb.debian.org/debian testing/main amd64 libpeas-1.0-0 amd64 1.22.0-5 [201 kB]
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>Get:3 http://deb.debian.org/debian testing/main amd64 gnome-todo-common all 3.28.1-5 [234 kB]
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>Get:4 http://deb.debian.org/debian testing/main amd64 libgnome-todo amd64 3.28.1-5 [6,260 B]
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>Get:5 http://deb.debian.org/debian testing/main amd64 gnome-todo amd64 3.28.1-5 [150 kB]
&lt;/span>&lt;/span>&lt;span style="display:flex; background-color:#3c3d38">&lt;span>Fetched 150 kB in 1s (141 kB/s)
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>Retrieving bug reports... Done
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>Parsing Found/Fixed information... Done
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>16:55 ♒ ॐ ☹ 😟=&amp;gt; 100 &lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>
&lt;p>Pay attention to the downloaded data which is only 150 KiB, for the &lt;code>gnome-todo&lt;/code> package, which was tampered.
Even though &lt;code>apt&lt;/code> stated that it needs to download 784 KiB of data, it actually downloaded 150 KiB only. All data was already downloaded by &lt;code>apt-offline&lt;/code> but we had tampered one of the files, which resulted in it being re-downloaded.&lt;/p>
&lt;!-- raw HTML omitted -->
&lt;p>Now, lets do one more run with the default behavior of &lt;em>&lt;strong>apt-offline&lt;/strong>&lt;/em>, i.e. without the &lt;code>--strict-deb-check&lt;/code> option.
This will result in apt (internally) detecting the tampering and prompting the user that the (tampered) file needs to be downloaded&lt;/p>
&lt;div class="highlight">&lt;div style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;display:grid;">
&lt;table style="border-spacing:0;padding:0;margin:0;border:0;">&lt;tr>&lt;td style="vertical-align:top;padding:0;margin:0;border:0;">
&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;display:grid;">&lt;code>&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"> 1
&lt;/span>&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"> 2
&lt;/span>&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"> 3
&lt;/span>&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"> 4
&lt;/span>&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"> 5
&lt;/span>&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"> 6
&lt;/span>&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"> 7
&lt;/span>&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"> 8
&lt;/span>&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"> 9
&lt;/span>&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">10
&lt;/span>&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">11
&lt;/span>&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">12
&lt;/span>&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">13
&lt;/span>&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">14
&lt;/span>&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">15
&lt;/span>&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">16
&lt;/span>&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">17
&lt;/span>&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">18
&lt;/span>&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">19
&lt;/span>&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">20
&lt;/span>&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">21
&lt;/span>&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">22
&lt;/span>&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">23
&lt;/span>&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">24
&lt;/span>&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">25
&lt;/span>&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">26
&lt;/span>&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">27
&lt;/span>&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">28
&lt;/span>&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">29
&lt;/span>&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">30
&lt;/span>&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">31
&lt;/span>&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">32
&lt;/span>&lt;span style="background-color:#3c3d38">&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">33
&lt;/span>&lt;/span>&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">34
&lt;/span>&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">35
&lt;/span>&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">36
&lt;/span>&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">37
&lt;/span>&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">38
&lt;/span>&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">39
&lt;/span>&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">40
&lt;/span>&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">41
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td style="vertical-align:top;padding:0;margin:0;border:0;;width:100%">
&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;display:grid;">&lt;code class="language-plain" data-lang="plain">&lt;span style="display:flex;">&lt;span>rrs@priyasi:/tmp/gnome-todo$ sudo apt-offline install .
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>Proceeding with installation
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>Following are the list of bugs present.
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>822525 gnome-todo : gnome-todo: Memory leak while loading local and remote lists
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>853114 gnome-todo : no longer loads caldav lists
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>883961 libgnome-todo : libgnome-todo: Not actually a library
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>829470 libpeas-1.0-0 : libpeas: Python Plugin Broken
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>(Y) Yes. Proceed with installation
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>(N) No, Abort.
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>(R) Redisplay the list of bugs.
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>(Bug Number) Display the bug report from the Offline Bug Reports.
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>(?) Display this help message.
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>What would you like to do next: (y, N, ?)y
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>gnome-todo_3.28.1-5_amd64.deb file synced.
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>libgnome-todo_3.28.1-5_amd64.deb file synced.
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>gnome-todo-common_3.28.1-5_all.deb file synced.
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>libpeas-1.0-0_1.22.0-5_amd64.deb file synced.
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>libpeas-common_1.22.0-5_all.deb file synced.
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>16:56 ♒ ॐ ☺ 😄
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>rrs@priyasi:/tmp/gnome-todo$ sudo apt^C
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>16:56 ♒ ॐ ☹ 😟=&amp;gt; 130
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>rrs@priyasi:/tmp/gnome-todo$ sudo apt install gnome-todo
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>Reading package lists... Done
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>Building dependency tree
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>Reading state information... Done
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>The following additional packages will be installed:
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> gnome-todo-common libgnome-todo libpeas-1.0-0 libpeas-common
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>The following NEW packages will be installed:
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> gnome-todo gnome-todo-common libgnome-todo libpeas-1.0-0 libpeas-common
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>0 upgraded, 5 newly installed, 0 to remove and 1 not upgraded.
&lt;/span>&lt;/span>&lt;span style="display:flex; background-color:#3c3d38">&lt;span>Need to get 150 kB/784 kB of archives.
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>After this operation, 2,337 kB of additional disk space will be used.
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>Do you want to continue? [Y/n]
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>Get:1 http://deb.debian.org/debian testing/main amd64 gnome-todo amd64 3.28.1-5 [150 kB]
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>Fetched 150 kB in 0s (448 kB/s)
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>Retrieving bug reports... Done
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>Parsing Found/Fixed information... Done
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>.....snipped......
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>16:57 ♒ ॐ ☺ 😄 &lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>
&lt;p>Notice the highlighted line, which gives a less confusing, realistic summary of what needs to be done. In this case, apt is prompting the user that 150 KiB of data needs to be downloaded, which indeed is the case.&lt;/p>
&lt;!-- raw HTML omitted --></description></item><item><title>apt-offline 1.8.1 released</title><link>https://researchut.com/blog/apt-offline-181/</link><pubDate>Sun, 02 Jul 2017 07:38:15 -0400</pubDate><author>rrs@researchut.com (Ritesh Raj Sarraf)</author><guid>https://researchut.com/blog/apt-offline-181/</guid><description>&lt;p>apt-offline 1.8.1 [released](&lt;a href="https://github.com/rickysarraf/apt-">https://github.com/rickysarraf/apt-&lt;/a>
offline/releases/tag/v1.8.1).&lt;/p>
&lt;p>This is a bug fix release fixing some python3 glitches related to module
imports. Recommended for all users.&lt;/p>
&lt;p>apt-offline (1.8.1) unstable; urgency=medium&lt;/p>
&lt;ul>
&lt;li>Switch setuptools to invoke py3&lt;/li>
&lt;li>No more argparse needed on py3&lt;/li>
&lt;li>Fix genui.sh based on comments from pyqt mailing list&lt;/li>
&lt;li>Bump version number to 1.8.1&lt;/li>
&lt;/ul>
&lt;p>-- Ritesh Raj Sarraf &lt;a href="mailto:rrs@debian.org">rrs@debian.org&lt;/a> Sat, 01 Jul 2017 21:39:24 +0545&lt;/p>
&lt;p>What is apt-offline&lt;/p>
&lt;pre>&lt;code>Description: offline APT package manager
apt-offline is an Offline APT Package Manager.
.
apt-offline can fully update and upgrade an APT based distribution without
connecting to the network, all of it transparent to APT.
.
apt-offline can be used to generate a signature on a machine (with no network).
This signature contains all download information required for the APT database
system. This signature file can be used on another machine connected to the
internet (which need not be a Debian box and can even be running windows) to
download the updates.
The downloaded data will contain all updates in a format understood by APT and
this data can be used by apt-offline to update the non-networked machine.
.
apt-offline can also fetch bug reports and make them available offline.
&lt;/code>&lt;/pre></description></item><item><title>apt-offline 1.7.2 released</title><link>https://researchut.com/blog/apt-offline-172/</link><pubDate>Thu, 10 Nov 2016 12:01:26 -0500</pubDate><author>rrs@researchut.com (Ritesh Raj Sarraf)</author><guid>https://researchut.com/blog/apt-offline-172/</guid><description>&lt;p>I am happy to announce the release of &lt;a href="https://github.com/rickysarraf/apt-offline/releases/tag/v1.7.2">apt-offline
1.7.2&lt;/a>. This
has turned out in time for the next release of Debian, i.e. Debian Stretch.&lt;/p>
&lt;p>A long standing cosmetic issue in CLI of the progress bar total item count has
been fixed. There are also a bunch of other bug fixes, for which the specifics
are present in the git logs.&lt;/p>
&lt;p>Also, in this release, we&amp;rsquo;ve tried to catch-up on the Graphical Interface,
adding the GUI equivalent of the features, that were added to apt-offline in
the recent past.&lt;/p>
&lt;p>In 1.7.1, we added the changelog option, and in this release, we&amp;rsquo;ve added the
GUI equivalent of it.&lt;/p>
&lt;p>&lt;img src="https://researchut.com/images/Screenshot%20from%202016-11-10%2022-10-37.png" alt="">&lt;/p>
&lt;p>The &amp;lsquo;set&amp;rsquo; command had had many new options. So in this release the &amp;lsquo;set&amp;rsquo;
command&amp;rsquo;s GUI has those options added.&lt;/p>
&lt;p>&lt;img src="https://researchut.com/images/Screenshot%20from%202016-11-10%2022-09-57.png" alt="">&lt;/p>
&lt;p>I hope you like this release. Please test and file bug reports in time so that
we have a bug free version for Debian Stretch.&lt;/p>
&lt;p>Future tasks now will focus on porting the GUI to PyQt5 first and then apt-
offline to Python3. Any help is welcome.&lt;/p>
&lt;p>You can download apt-offline from the [github](&lt;a href="https://github.com/rickysarraf">https://github.com/rickysarraf&lt;/a>
/apt-offline) page or the &lt;a href="http://apt-offline.alioth.debian.org">alioth&lt;/a> page.
For Debian users, the package will show up in the repository soon.&lt;/p>
&lt;p>PS: What is apt-offline ?&lt;/p>
&lt;pre>&lt;code>Description: offline APT package manager
apt-offline is an Offline APT Package Manager.
.
apt-offline can fully update and upgrade an APT based distribution without
connecting to the network, all of it transparent to APT.
.
apt-offline can be used to generate a signature on a machine (with no network).
This signature contains all download information required for the APT database
system. This signature file can be used on another machine connected to the
internet (which need not be a Debian box and can even be running windows) to
download the updates.
The downloaded data will contain all updates in a format understood by APT and
this data can be used by apt-offline to update the non-networked machine.
.
apt-offline can also fetch bug reports and make them available offline.
&lt;/code>&lt;/pre></description></item><item><title>apt-offline 1.7.1 released</title><link>https://researchut.com/blog/apt-offline-171/</link><pubDate>Mon, 12 Sep 2016 06:41:50 -0400</pubDate><author>rrs@researchut.com (Ritesh Raj Sarraf)</author><guid>https://researchut.com/blog/apt-offline-171/</guid><description>&lt;p>I am happy to mention the release of apt-offline, version 1.7.1.&lt;/p>
&lt;p>This release includes many bug fixes, code cleanups and better integration.&lt;/p>
&lt;ul>
&lt;li>Integration with &lt;strong>PolicyKit&lt;/strong>&lt;/li>
&lt;li>Better integration with &lt;strong>apt gpg keyring&lt;/strong>&lt;/li>
&lt;li>Resilient to failures when a sub-task errors out&lt;/li>
&lt;li>New Feature: &lt;strong>Changelog&lt;/strong>
&lt;ul>
&lt;li>This release adds the ability to deal with package changelogs (&amp;rsquo; &lt;strong>set&lt;/strong> &amp;rsquo; command option: &lt;em>&lt;strong>--generate-changelog&lt;/strong>&lt;/em> ) based on what is installed, extract changelog (Currently support with python-apt only) from downloaded packages and display them during installation (&amp;rsquo; &lt;strong>install&lt;/strong> &amp;rsquo; command opiton: &lt;em>&lt;strong>--skip-changelog&lt;/strong>&lt;/em> , if you want to skip display of changelog)&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>New Option: &lt;em>&lt;strong>--apt-backend&lt;/strong>&lt;/em>
&lt;ul>
&lt;li>Users can now opt to choose an apt backend of their choice. Currently support: apt, apt-get (default) and python-apt&lt;/li>
&lt;/ul>
&lt;/li>
&lt;/ul>
&lt;p>Hopefully, there will be one more release, before the release to &lt;strong>Stretch&lt;/strong>.&lt;/p>
&lt;p>apt-offline can be downloaded from its
&lt;a href="https://alioth.debian.org/projects/apt-offline/">homepage&lt;/a> or from
&lt;a href="https://github.com/rickysarraf/apt-offline">Github&lt;/a> page.&lt;/p>
&lt;p>Update: The &lt;strong>PolicyKit&lt;/strong> integration requires running the &lt;em>apt-offline-gui&lt;/em>
command with &lt;em>pkexec&lt;/em> (screenshot). It also work fine with &lt;em>sudo, su&lt;/em> etc.&lt;/p>
&lt;p>&lt;img src="https://researchut.com/images/apt-offline-171-pkexec.png" alt="">&lt;/p></description></item></channel></rss>