37

I am trying to use a file repository for updating Ubuntu GNU/Linux on a non-connected machine. The architecture for this machine (uname -a):

x86_64 GNU/Linux 

The results of dpkg --print-architecture are:

amd64 

It is a Trusty Tahr amd64 machine, and it specifically says this, for example, in the aptitude sources.list file. Also, the "About this Computer" in ubuntu specifically says the machine is 64-bit. So, I installed the amd64 packages on the machine. However, when I try to do apt-get update, I get errors such as:

W: Failed to fetch file:/var/spool/apt-mirror-trusty/mirror/archive.ubuntu.com/ubuntu/dists/trusty/main/binary-i386/Packages File not found 

So, in other words, even though it is a 64-bit machine, apt is inexplicably trying to read i386 packages. Why is it doing this and how can I make it use the 64-bit packages?

Note that there is nothing in sources.list that specifies i386.

The only uncommented line in the sources.list file is:

deb file:///var/spool/apt-mirror-trusty/mirror/archive.ubuntu.com/ubuntu trusty main restricted universe multiverse 
0

1 Answer 1

48

On Ubuntu amd64 installations, i386 is enabled as an additional architecture by default. apt & co. expect repositories to provide all configured architectures, which causes the error you're seeing.

Since your mirror only has amd64 packages, you should mark it as such:

deb [ arch=amd64 ] file:///var/spool/apt-mirror-trusty/mirror/archive.ubuntu.com/ubuntu trusty main restricted universe multiverse 

You can check whether any foreign architectures are enabled on your system with

dpkg --print-foreign-architectures 

If you aren’t using any i386 packages, you might as well remove the architecture:

dpkg --remove-architecture i386 

If you want to remove i386 packages, run

apt purge --allow-remove-essential '*:i386' 
0

You must log in to answer this question.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.