Saya memiliki komputer Ubuntu tanpa internet dan komputer Ubuntu dengan internet. Yang tanpa internet memerlukan driver untuk diinstal melalui ndiswrapper. Masalahnya adalah itu ndiswrapper-dkms
tergantung pada dkms
mana tergantung pada beberapa hal, dan beberapa hal itu tergantung pada banyak hal, yang bergantung pada lebih banyak, dan seterusnya. Saya telah mengunduh 92 dependensi secara manual sejauh ini dan saya masih membutuhkan lebih banyak. Saya sudah menggunakan kode
for i in $(apt-cache depends <package> | grep -E 'Depends|Recommends|Suggests' | cut -d ':' -f 2,3 | sed -e s/'<'/''/ -e s/'>'/''/); do sudo apt-get download $i 2>>errors.txt; done
yang menyelesaikan pekerjaan tetapi hanya untuk satu dependensi paket, bukan dependensi dependensi paket dan sebagainya. Ini telah berubah menjadi pertarungan multi-jam untuk mendapatkan semua paket dan itu sangat membosankan. Saya telah menjalankan kode ini untuk mengunduh file deb ke drive USB di komputer online saya, kemudian pindah ke komputer offline untuk memasukkan drive, kemudian berjalan sudo apt install ./*
di folder dan berharap yang terbaik. Biasanya meludahkan sesuatu seperti ini:
...
The following packages have unmet dependencies:
binutils : Depends: binutils-common (= 2.30-21ubuntu1~18.04.1) but 2.30-21ubuntu1~18.04 is to be installed
Depends: libbinutils (= 2.30-21ubuntu1~18.04.1) but 2.30-21ubuntu1~18.04 is to be installed
Depends: binutils-x86-64-linux-gnu (= 2.30-21ubuntu1~18.04.1) but 2.30-21ubuntu1~18.04 is to be installed
cpp-doc : Depends: cpp-7-doc (>= 7.4.0-1~) but it is not installable
file : Depends: libmagic1 (= 1:5.32-2ubuntu0.2) but 1:5.32-2ubuntu0.1 is to be installed
g++-7 : Depends: libstdc++-7-dev (= 7.4.0-1ubuntu1~18.04) but it is not installable
g++-multilib : Depends: g++-7-multilib (>= 7.4.0-1~) but it is not installable
gcc-7-multilib : Depends: lib32gcc-7-dev (= 7.4.0-1ubuntu1~18.04) but it is not installable
Depends: libx32gcc-7-dev (= 7.4.0-1ubuntu1~18.04) but it is not installable
gfortran : Depends: gfortran-7 (>= 7.4.0-1~) but it is not installable
glibc-doc : Depends: glibc-doc-reference (>= 2.18) but it is not installable
libasan4-dbg : Depends: libasan4 (= 7.4.0-1ubuntu1~18.04) but it is not installable
libatomic1-dbg : Depends: gcc-8-base (= 8.3.0-6ubuntu1~18.04) but 8.2.0-1ubuntu2~18.04 is to be installed
Depends: libatomic1 (= 8.3.0-6ubuntu1~18.04) but it is not installable
libbabeltrace1 : Depends: libdw1 (>= 0.126) but it is not installable
libcc1-0 : Depends: gcc-8-base (= 8.3.0-6ubuntu1~18.04) but 8.2.0-1ubuntu2~18.04 is to be installed
libcilkrts5-dbg : Depends: libcilkrts5 (= 7.4.0-1ubuntu1~18.04) but it is not installable
libfl-dev : Depends: libfl2 (= 2.6.4-6) but it is not installable
libgcc-7-dev : Depends: libitm1 (>= 7.4.0-1ubuntu1~18.04) but it is not installable
Depends: libatomic1 (>= 7.4.0-1ubuntu1~18.04) but it is not installable
Depends: libasan4 (>= 7.4.0-1ubuntu1~18.04) but it is not installable
Depends: liblsan0 (>= 7.4.0-1ubuntu1~18.04) but it is not installable
Depends: libtsan0 (>= 7.4.0-1ubuntu1~18.04) but it is not installable
Depends: libubsan0 (>= 7.4.0-1ubuntu1~18.04) but it is not installable
Depends: libcilkrts5 (>= 7.4.0-1ubuntu1~18.04) but it is not installable
Depends: libmpx2 (>= 7.4.0-1ubuntu1~18.04) but it is not installable
libgcc1 : Depends: gcc-8-base (= 8.3.0-6ubuntu1~18.04) but 8.2.0-1ubuntu2~18.04 is to be installed
libgcc1-dbg : Depends: gcc-8-base (= 8.3.0-6ubuntu1~18.04) but 8.2.0-1ubuntu2~18.04 is to be installed
libgomp1-dbg : Depends: gcc-8-base (= 8.3.0-6ubuntu1~18.04) but 8.2.0-1ubuntu2~18.04 is to be installed
Depends: libgomp1 (= 8.3.0-6ubuntu1~18.04) but 8.2.0-1ubuntu2~18.04 is to be installed
libitm1-dbg : Depends: gcc-8-base (= 8.3.0-6ubuntu1~18.04) but 8.2.0-1ubuntu2~18.04 is to be installed
Depends: libitm1 (= 8.3.0-6ubuntu1~18.04) but it is not installable
liblsan0-dbg : Depends: gcc-8-base (= 8.3.0-6ubuntu1~18.04) but 8.2.0-1ubuntu2~18.04 is to be installed
Depends: liblsan0 (= 8.3.0-6ubuntu1~18.04) but it is not installable
libmpx2-dbg : Depends: gcc-8-base (= 8.3.0-6ubuntu1~18.04) but 8.2.0-1ubuntu2~18.04 is to be installed
Depends: libmpx2 (= 8.3.0-6ubuntu1~18.04) but it is not installable
libquadmath0-dbg : Depends: gcc-8-base (= 8.3.0-6ubuntu1~18.04) but 8.2.0-1ubuntu2~18.04 is to be installed
Depends: libquadmath0 (= 8.3.0-6ubuntu1~18.04) but 8.2.0-1ubuntu2~18.04 is to be installed
libstdc++6 : Depends: gcc-8-base (= 8.3.0-6ubuntu1~18.04) but 8.2.0-1ubuntu2~18.04 is to be installed
libtsan0-dbg : Depends: gcc-8-base (= 8.3.0-6ubuntu1~18.04) but 8.2.0-1ubuntu2~18.04 is to be installed
Depends: libtsan0 (= 8.3.0-6ubuntu1~18.04) but it is not installable
libubsan0-dbg : Depends: libubsan0 (= 7.4.0-1ubuntu1~18.04) but it is not installable
libumfpack5 : Depends: libcholmod3 (>= 1:4.5.2) but it is not going to be installed
m4 : Depends: libsigsegv2 (>= 2.9) but it is not installable
E: Error, pkgProblemResolver::Resolve generated breaks, this may be caused by held packages.
Apakah ada yang tahu metode untuk hanya membuang semua file deb untuk paket dependensi dan semua subdependensi ke dalam satu folder untuk menyimpan kewarasan saya? Terima kasih!
sumber
Recommends
danSuggests
bukan hanyaDepends
saya harapkan Anda akan akhirnya menginstal seluruh internet tidak peduli paket mana yang Anda mulai.Jawaban:
Lihatlah
apt-offline
, cara (lebih banyak) yang ramah pengguna untuk mengelola dependensi offline. Anda harus menginstalnya terlebih dahulu dengan mengunduh berkas debfile dan mentransfernya ke mesin offline Anda. Anda dapat menggunakan sesuatu sepertisudo apt download apt-offline
menangani pengunduhan. Instalasi dapat dilakukan menggunakansudo dpkg -i /path/to/your/debfile.deb
di mesin offline dan hanyasudo apt install
di mesin online Anda.Setelah selesai, Anda harus menyiapkan banyak hal untuk instalasi yang sebenarnya.
Mulailah dengan membuat tanda tangan dari sistem offline Anda meminta menginstal
ndiswrapper
paket:Salin file ke mesin online Anda, dan jalankan perintah berikut pada mesin online untuk mengunduh semua file yang diperlukan:
Pindahkan bundel zipfile kembali ke mesin offline Anda dan jalankan perintah ini di atasnya:
Anda seharusnya sudah
ndiswrapper-dkms
menginstal pada titik ini dan semua harus baik-baik saja.Jika
apt-offline
paket Anda gagal diinstal, catat paket dependen yang gagal dan atasi satu per satu (menyalin secara manual sesuai kebutuhan). Ketergantungan neraka memang menyebalkan, tapi sayangnya itu salah satu masalah dengan sistem yang lebih offline.Anda dapat mencoba mengambil melihat
apt-rdepends
juga untuk menghasilkan lengkap grafik ketergantungan. Kombinasikan ini denganapt download
dan Anda mungkin memiliki solusi alternatif untuk masalah ini, meskipun pengujian saya dengan ini tidak meyakinkan untuk sedikitnya.sumber