Saya mencoba menggunakan repositori file untuk memperbarui linux / ubuntu pada mesin yang tidak terhubung. Arsitektur untuk mesin ini (uname -a):
x86_64 GNU/Linux
Hasilnya dpkg --printarchitecture
adalah:
amd64
Ini adalah mesin Trusty Tahr amd64, dan secara spesifik mengatakan ini, misalnya, dalam file aptitude sources.list. Juga, "Tentang Komputer Ini" di ubuntu secara khusus mengatakan mesinnya 64-bit. Jadi, saya menginstal paket amd64 di mesin. Namun, ketika saya coba lakukan apt-get update
, saya mendapatkan kesalahan seperti:
W: Failed to fetch file:/var/spool/apt-mirror-trusty/mirror/archive.ubuntu.com/ubuntu/dists/trusty/main/binary-i386/Packages File not found
Jadi, dengan kata lain, meskipun itu adalah mesin 64-bit, apt tidak bisa dijelaskan mencoba untuk membaca paket i386. Mengapa ia melakukan ini dan bagaimana saya bisa membuatnya menggunakan paket 64-bit?
Perhatikan bahwa tidak ada apa pun di sources.list yang menentukan i386.
Satu-satunya baris tanpa komentar dalam file sources.list adalah:
deb file:///var/spool/apt-mirror-trusty/mirror/archive.ubuntu.com/ubuntu trusty main restricted universe multiverse
sumber
dpkg
dikonfigurasi secara default untuk menerima amd64 dan itu 32bit saudara. Saya katakan "mungkin" karena saya belum menemukan dokumentasi resmi dengan informasi ini. Hanya 2 sen saya.Jawaban:
Pada
amd64
instalasi Ubuntu ,i386
diaktifkan sebagai arsitektur tambahan secara default.apt
& rekan mengharapkan repositori untuk menyediakan semua arsitektur yang dikonfigurasi, yang menyebabkan kesalahan yang Anda lihat.Karena mirror Anda hanya memiliki
amd64
paket, Anda harus menandainya sebagai:sumber
dpkg --print-foreign-architectures
akan menampilkan arsitektur apa pun yang mendukung dukungan multiarch; Saya memiliki masalah yang sama dan (mungkin tidak mengejutkan) perintah di atas melaporkan:i386
[arch=amd64]
ke setiapdeb
baris bukanlah solusi yang baik. Ini menjelaskan cara melakukannya: superuser.com/a/714392/376867i386
untuk menangani satu repositori yang merepotkan agak berlebihan. Perhatikan bahwa jika Anda memiliki beberapa repositori yang menyebabkan masalah yang dijelaskan dalam pertanyaan, itu menunjukkan masalah dengan bidang Arsitektur repositori , bukan dengan konfigurasi lokal.