Cara menjadikan USB drive sebagai repositori lokal


26

Saya menyalin folder "arsip" (/ var / cache / apt / arsip) dari komputer lain yang sepenuhnya diperbarui dan memiliki beberapa paket yang saya inginkan. Dapatkah seseorang memandu saya cara menambahkan drive USB saya di daftar repositori sehingga saya dapat menginstal paket-paket itu?

Terima kasih.


Jawaban:


17

Anda harus membangun repositori di direktori lokal dan mengarahkan file:entri URI ke sumber APT Anda (lihat SPESIFIKASI URI dalam man sources.list):

deb file:/home/user/repository

Untuk membuat pekerjaan yang tepat, Anda perlu membuat daftar paket (Packages.gz) untuk dikonsumsi oleh APT. Ini dijelaskan secara rinci di sini . Untuk kasus Anda, itu seharusnya cukup mudah. Saya merujuk Anda ke bagian "Trivial Repository" dari manual. Seharusnya semudah mengubah ke, katakanlah, / home / user / repository dan running

dpkg-scanpackages binary /dev/null | gzip -9c > binary/Packages.gz

Kemudian setelah a apt-get update, paket harus tersedia. Mungkin jika Anda ingin menjadikan sumber ini lebih diutamakan daripada yang lain, Anda perlu menetapkannya sebagai prioritas yang lebih tinggi; untuk itu lihat halaman manual APT.


nb direktori lokal yang dimaksud tentu saja dapat juga berupa drive USB, seperti / media / usbdrive / repository
loevborg

Saya menulis skrip cepat dan kotor yang menunjukkan repo lokal cepat dan kotor: gist.github.com/linuxluser/3af5fd16dde41b82972a
Dave

1
Saya baru sajadpkg-scanpackages: error: binary directory binary not found
Evan Carroll

6

Saya tidak berpikir ada cara untuk menambahkan ini sebagai repositori tetapi Anda dapat menggunakannya untuk menginstal paket dengan menyalin konten ke arsip / var / cache / apt / arsip Anda. Untuk melakukan ini, tekan alt-f2, masukkan gksudo nautilusdan lakukan salin. Setelah selesai, pastikan Anda menutup jendela file manager karena itu bukan ide yang baik untuk menggunakan file manager sebagai root kecuali untuk tugas-tugas yang benar-benar membutuhkannya.

Untuk melihat / menginstal paket-paket ini, jalankan System -> Administration -> Synaptic Package Manager, klik tombol 'Asal' dan pilih 'Lokal' dari daftar.

Di masa depan, Anda lebih baik menggunakan program yang disebut aptoncd yang dapat diinstal dari repositori. Ini dapat digunakan untuk membuat gambar CD yang dapat ditambahkan sebagai sumber perangkat lunak. Gambar ini dapat diangkut pada stik usb.

Cara termudah untuk menambahkan gambar sebagai sumber perangkat lunak adalah dengan membakarnya ke CD / DVD. Anda kemudian perlu pergi ke Sistem -> Administrasi -> Sumber Perangkat Lunak, klik 'Perangkat Lunak Lain' dan klik 'Tambah CD-ROM ...'.

Jika Anda ingin menggunakan ISO image sebagai sumber perangkat lunak tanpa membakarnya, prosesnya akan sedikit lebih rumit. Anda harus membuka Aplikasi terminal -> Aksesori -> Terminal dan menjalankan perintah ini:

sudo mkdir /aptoncd-mountpoint
sudo mount /media/USB/aptoncd.iso ~/aptoncd-mountpoint -oloop
sudo apt-cdrom -d=/aptoncd-mountpoint add

(sumber: http://www.debianhelp.org/node/10486 )

Jika Anda ingin mengunduh paket di satu komputer (Linux, Mac atau Windows) dan menginstalnya di sistem Ubuntu, Anda dapat menggunakan keryx .


1
Saya rasa ini tidak akurat. Ada file: // tipe URI. Membuat gambar iso benar - benar terlalu rumit untuk tugas sederhana ini.
loevborg

1
Itu tidak bekerja. Masih mencoba me-mount / dev / sr0.
int_ua

1

Jika Anda ingin menggunakan CD / USB / ISO image resmi dari Ubuntu sebagai repositori, Anda dapat menambahkan ini ke /etc/apt/sources.list:

deb file:/media/usb xenial main restricted

pertama, Anda perlu memasang gambar Anda di / media / usb (misalnya) dan mengubahnya xenialuntuk versi gambar Anda.

Edisi server hanya berisi maindan restricted, sementara versi Desktop juga berisi universedan multiverse.

Kasus pribadi saya:

Setelah menginstal Ubuntu (di server tanpa internet), saya lupa mencentang kotak "OpenSSH server" sehingga instalasi selesai tanpa itu. Saya mencoba dpkg -i openssh....debtetapi karena memerlukan beberapa dependensi, lebih baik melakukannya dengan tepat. Pada akhirnya, jawaban yang dipilih di halaman ini membantu saya untuk mengetahui cara menggunakan gambar saya sebagai repositori dan berfungsi tanpa masalah.

Ini dapat berguna jika Anda mencari cara untuk menurunkan versi paket ke versi tertentu yang termasuk dalam gambar.


0

Anda memiliki salinan cadangan dari file paket (yang telah Anda unduh di komputer lain) di drive USB Anda. Dalam situasi ini, cukup buat folder di direktori home Anda, katakan ARCHbackUP,. Salin semua file dari USB ke folder ini dan kemudian ikuti kode di bawah ini:

cd ~
sudo chown -R username:username ARCHbackUP/.
genisoimage -o ARCHbackUP.iso -R -J ~/ARCHbackUP
mv -u ./ARCHbackUP.iso ~/
sudo apt-get clean #cleans the /var/cache/apt/archives directory.
sudo mkdir /mnt/load_iso
sudo mount -o loop ARCHbackUP.iso /mnt/load_iso #mounts the iso archive.
cd /mnt/load_iso #taking you in the mounted directory.
sudo cp -r -n ./. /var/cache/apt/archives
cd ~
sudo umount /mnt/load_iso #unmount the mounted iso archive.
sudo rmdir /mnt/load_iso #deletes the mount point load_iso.

Sekarang semua file paket dan pembaruan yang Anda unduh berada di apt-get installjalur pencarian sistem Anda. Sekarang buka terminal Anda dan terbitkan sudo apt-get install package_nameuntuk menginstal paket baru atau sudo apt-get upgradememperbarui paket yang diinstal secara offline.



0

Saya benar-benar mencari hal yang sama untuk Debian Jessie, tetapi menemukan situs ini dan menemukan utas ini lebih bermanfaat daripada yang lain. Inilah yang mungkin berhasil untuk beberapa varian ubuntu / debian-varian.

Pertama, Anda perlu memasang USB di pengelola file Anda (mungkin, Nautilus). Biasanya ini otomatis dipasang dengan pengaturan default.

Seperti yang disarankan @lepe, saya mengedit /etc/apt/sources.list dan menambahkan baris berikut setelah beberapa mengutak-atik:

deb file:/media/your_username/DEBIAN\ 8_1_/dists/jessie jessie main contirb

Itu bekerja seperti pesona. Semoga ini bisa membantu seseorang walaupun postingan ini agak lama.

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.