<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  
  
  <channel>
    <title>chrisjrob: apt</title>
    <link>https://chrisjrob.com</link>
    <atom:link href="https://chrisjrob.com/tag/apt/feed/index.xml" rel="self" type="application/rss+xml" />
    <description>GNU Linux, Perl and FLOSS</description>
    <language>en-gb</language>
    <pubDate>Fri, 13 Feb 2026 17:22:31 +0000</pubDate>
    <lastBuildDate>Fri, 13 Feb 2026 17:22:31 +0000</lastBuildDate>
    
    <item>
      <title>Upgrading Ubuntu 12.04 To 14.04 With Limited Bandwidth</title>
      <link>https://chrisjrob.com/2014/09/04/upgrading-ubuntu-12-04-to-14-04-with-limited-bandwidth/</link>
      <pubDate>Thu, 04 Sep 2014 00:00:00 +0000</pubDate>
      <author>chrisjrob@gmail.com (Chris Roberts)</author>
      <guid>https://chrisjrob.com/2014/09/04/upgrading-ubuntu-12-04-to-14-04-with-limited-bandwidth</guid>
      <description>
       <![CDATA[
         
           <img src="https://chrisjrob.com/assets/ubuntu-1404-desktop.png" align="right" alt="Featured Image">
         
         <p>Upgrading Ubuntu at work can make you rather unpopular, as the Internet bandwidth
is fully utilised downloading all the updates to packages you have long
since forgotten that you installed.</p>

<p>It also takes time, time that you should be working rather
than upgrading your computer.</p>

<p>For these reasons I like to trickle download the upgrade over a day and
only perform the actual upgrade once all the packages are ready,
typically the following morning.</p>

<!--more-->

<p>This is how I performed my low-bandwidth upgrade…</p>

<p><strong>N.B. This is not the official or recommended way of upgrading between
Ubuntu versions. Specifically my method involves manually disabling some
repositories and updating others to the new release. This would normally
be done by the do-release-upgrade program itself. It works for me, but
please do be aware that you are deviating slightly from the
official method.</strong></p>

<p> </p>

<h2 id="step-1-disable-3rd-party-repositories">Step 1: Disable 3rd Party Repositories</h2>

<p>Launch the Ubuntu Software Centre and from the menu select <strong>Edit</strong>
followed by <strong>Software Sources</strong>. Under the <strong>Other Software</strong> tab
please untick all active repositories.</p>

<p>(This step should in any case be done automatically by step 4).</p>

<h2 id="step-2-update-repositories">Step 2: Update Repositories</h2>

<p>Edit <code class="language-plaintext highlighter-rouge">/etc/apt/sources.list</code> and replace all occurrences of  ”precise”
with “trusty”. If you are of a brave disposition, the following command
should do this for you:</p>

<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>$ sudo sed -i.bak 's/precise/trusty/g' sources.list
</code></pre></div></div>

<p>(This will create a copy of sources.list to sources.list.bak, in case
you wish to reverse this.)</p>

<h2 id="step-3-download-packages">Step 3: Download Packages</h2>

<p>Still in the terminal, type:</p>

<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>$ sudo apt-get updatesudo apt-get -o Acquire::http::Dl-Limit=64 -d dist-upgrade
</code></pre></div></div>

<p>The 64 will limit the bandwidth to 64 Kbps, please adjust to suit your
available bandwidth. The “-d” will instruct apt-get to merely download
the packages and not to install them.</p>

<p>I believe this stage can be aborted with Ctrl+C at any time and run
again, until such time as all the required packages are downloaded.</p>

<h2 id="step-4-upgrade">Step 4: Upgrade</h2>

<p>Still in the terminal, I tend to use GNU Screen for extra resilience,
type:</p>

<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>$ sudo do-release-upgrade
</code></pre></div></div>

<h2 id="conclusion">Conclusion</h2>

<p>I am typing this on my newly upgraded 14.04 installation, after a clean
and trouble-free reboot and an entirely fault-free upgrade.</p>

<p>The truly astonishing aspect to an upgrade is the fact that the computer
remains largely usable throughout. I lost my fonts briefly in one
application during Step 4, but otherwise I was able to work normally. It
didn’t even seem to be slowing my computer down greatly, although this
is a fairly powerful workhorse, so your mileage may vary.</p>

<p>Please do comment, if you feel I’ve left anything out in the above, or
indeed if you have found it useful.</p>

<p>Good luck with your upgrade.</p>


       ]]>
      </description>
    </item>
    
    <item>
      <title>Upgrading To Debian Squeeze</title>
      <link>https://chrisjrob.com/2011/04/05/upgrading-to-debian-squeeze/</link>
      <pubDate>Tue, 05 Apr 2011 00:00:00 +0000</pubDate>
      <author>chrisjrob@gmail.com (Chris Roberts)</author>
      <guid>https://chrisjrob.com/2011/04/05/upgrading-to-debian-squeeze</guid>
      <description>
       <![CDATA[
         
           <img src="https://chrisjrob.com/assets/debian_logo.png" align="right" alt="Featured Image">
         
         <p>I finally decided to upgrade my work desktop to Debian Squeeze:</p>

<h2 id="preparing-for-the-upgrade">Preparing for the Upgrade</h2>

<p>I manually removed all but the official lenny repositories (and removed
the Debian Volatile repository which is no longer used), and updated
them to “squeeze”:</p>

<!--more-->

<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>$ sudo vim /etc/apt/sources.list
deb http://91.121.125.139/debian/ squeeze main non-free contrib
deb-src http://91.121.125.139/debian/ squeeze main non-free contrib

deb http://security.debian.org/ squeeze/updates main non-free contrib
deb-src http://security.debian.org/ squeeze/updates main non-free contrib
</code></pre></div></div>

<p>Next, in order to minimise download time, I reviewed my installed
packages:</p>

<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>$ sudo dpkg -l | grep "ii " | less
</code></pre></div></div>

<p>And I removed all the unnecessary packages. In particular I decided to
remove all of KDE, as I am now using pekwm. When removing packages I
found apt-get kept trying to upgrade large numbers of packages. Aptitude
was much better, as instead of just trying to install a load of
packages, it reported the problem (e.g. package XYZ will be broken by
this change) and let me choose the solution. I just added the packages
that would be broken to the list of packages to be removed.</p>

<h2 id="upgrade-apt-and-dpkg">Upgrade apt and dpkg</h2>

<p>Then I installed apt and dpkg, to save these from having to be upgraded
during the upgrade process:</p>

<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>$ sudo apt-get update
$ sudo apt-get install apt dpkg
</code></pre></div></div>

<h2 id="upgrade-to-squeeze">Upgrade to Squeeze</h2>

<p>Lastly, I ran the upgrade to squeeze with:</p>

<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>$ sudo apt-get dist-upgrade
</code></pre></div></div>

<p>During the upgrade I receive warnings about <code class="language-plaintext highlighter-rouge">/lib/firmware/e100</code>
missing. Mindful of the Debian’s much touted removal of non-free
drivers, I did an <code class="language-plaintext highlighter-rouge">apt-file search e100</code> which revealed that I needed to
install the <code class="language-plaintext highlighter-rouge">firmware-linux-nonfree</code> package. This done, I rebooted.</p>

<h2 id="first-boot">First Boot</h2>

<p>It booted fine to the command prompt, but of course without a login
manager it got no further. I simply typed startx to get into pekwm and
it all worked perfectly.</p>

<h2 id="installing-kde">Installing KDE</h2>

<p>I decided to install KDE again, although I would struggle to explain
why, curiosity perhaps. I installed kde-core and it all just worked
perfectly, with a neat first time wizard to handle the migration of
configuration from KDE3.5 to KDE4, excellent work.</p>

<p>I used KDE4 for a few hours before returning to pekwm.</p>

<h2 id="conclusions">Conclusions</h2>

<p>So far Squeeze has been flawless and yet another Debian dist-upgrade
without a hitch. Well done Debian.</p>

<p>KDE looks great and seemed to work exactly as it ought. Over the few
hours I encountered no problems whatsoever. But I do wish KDE would
learn from some of the features of PekWM - I just love the
left-mouse-click on the screen edge to move to the next window, I love
the ability to group windows and I love the fact that you can resize
windows to fill the available space.</p>

<p>I am not saying that all those features should be made the default in
KDE, such matters are subjective, but they ought to at least be possible
in KDE and as far as I can tell they are not. There is a screen edge
option, but it works poorly, relying on you holding the mouse at the
screen edge for a definable period of time.</p>


       ]]>
      </description>
    </item>
    
    <item>
      <title>Limiting The Bandwidth Usage of apt-get and wget</title>
      <link>https://chrisjrob.com/2011/03/31/limiting-the-bandwidth-usage-of-apt-get-and-wget/</link>
      <pubDate>Thu, 31 Mar 2011 00:00:00 +0000</pubDate>
      <author>chrisjrob@gmail.com (Chris Roberts)</author>
      <guid>https://chrisjrob.com/2011/03/31/limiting-the-bandwidth-usage-of-apt-get-and-wget</guid>
      <description>
       <![CDATA[
         
         <p>I have to be careful about the bandwidth I use at work; so I limit the
bandwidth of apt-get and wget.</p>

<h2 id="apt-get">apt-get</h2>

<p>For apt-get you just need to create a new file:</p>

<!--more-->

<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>/etc/apt/apt.conf.d/76download
</code></pre></div></div>

<p>with the following contents:</p>

<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>$ sudo vim /etc/apt/apt.conf.d/76download 
Acquire {
    Queue-mode "access";
    http {
        Dl-Limit "128";
    };
};
$
</code></pre></div></div>

<p>The above will limit your bandwidth to 128K, adjust this figure to suit
your network.</p>

<p>Alternatively, if you don’t want this change to be set permanently, then
you can specify it in the command line:</p>

<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>$ sudo apt-get -o Acquire::http::Dl-Limit=128 upgrade
</code></pre></div></div>

<h2 id="wget">wget</h2>

<p>To rate-limit wget, simply edit <code class="language-plaintext highlighter-rouge">/etc/wgetrc</code> or your personal
configuration at <code class="language-plaintext highlighter-rouge">~/.wgetrc</code> and add or edit the following line:</p>

<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>limit-rate=128k
</code></pre></div></div>

<h2 id="other">other</h2>

<p>Other packages can be configured in different ways, but you could
install <code class="language-plaintext highlighter-rouge">trickle</code> and then read its man page to determine how to use it.
For example (from the man page):</p>

<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>$ trickle -u 128 -d 128 ncftp
</code></pre></div></div>


       ]]>
      </description>
    </item>
    
    <item>
      <title>Listing A Packages Dependencies With apt-rdepends</title>
      <link>https://chrisjrob.com/2011/03/17/listing-a-packages-dependencies-with-apt-rdepends/</link>
      <pubDate>Thu, 17 Mar 2011 00:00:00 +0000</pubDate>
      <author>chrisjrob@gmail.com (Chris Roberts)</author>
      <guid>https://chrisjrob.com/2011/03/17/listing-a-packages-dependencies-with-apt-rdepends</guid>
      <description>
       <![CDATA[
         
         <p>I sometimes find myself wondering what a package’s dependencies are.
This question is usually quickly satisfied with a
<code class="language-plaintext highlighter-rouge">$ sudo apt-get install packagename</code> and then aborting, or perhaps more
elegantly <code class="language-plaintext highlighter-rouge">$ sudo apt-get -s install packagename</code> to simulate the
installation.</p>

<!--more-->

<p>This doesn’t give you the entire picture, as it only lists the
dependencies that you don’t already have; which is usually all you care
about, but there are occasions when you would like to list all of a
package’s dependencies, for example when planning for a system that is
not built yet, or not accessible at the current time. Or just for idle
curiosity! Perhaps that’s just me.</p>

<p>Anyhow, <code class="language-plaintext highlighter-rouge">apt-rdepends</code> is the application for the job. It doesn’t just
list the package’s dependencies, but it recursively goes through each
dependency’s dependencies.</p>

<p>Install it with the usual <code class="language-plaintext highlighter-rouge">$ sudo apt-get install apt-rdepends</code> and then
simply run with:</p>

<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>$ apt-rdepends packagename | less
</code></pre></div></div>

<p>Yes, it is quite verbose, hence the “| less” - leave it out if you
prefer, or use “| more” which is more likely to be installed on your
system (tip: install “less” - less is better than more, if that makes
any sense).</p>

<p>For example, I had just installed “flite” and was amazed at how
functional it was. I wondered to myself whether it was just a front-end
to festival - but how to find out?</p>

<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>$ apt-rdepends flite
</code></pre></div></div>

<p>Which comes back with no other speech synthesis engine (e.g. festival),
so clearly flite is a speech synthesis engine in its own right.</p>


       ]]>
      </description>
    </item>
    
  </channel> 
</rss>
