Bagaimana cara menambahkan paket ke cache squid-deb-proxy?

10

Untuk menghemat bandwidth dan data pada paket Internet saya, saya telah menginstal squid-deb-proxy pada desktop, dan klien di dalamnya dan beberapa mesin lain yang saya punya. Namun, berdasarkan posting yang menempatkan saya pada ini, sepertinya jika saya membawa laptop saya * ke jaringan yang berbeda dan memperbaruinya di sana, pembaruan yang diunduh TIDAK akan secara otomatis disalin kembali ke server proxy squid-deb-proxy ketika saya mendapatkan kembali ke jaringan saya.

Dengan asumsi bahwa ini benar (saya akan menguji nanti), apakah ada cara saya bisa menempel paket ini ke dalam cache sehingga saya tidak perlu mengunduhnya sekali lagi untuk mesin lain di jaringan?


* Seperti yang tercantum dalam komentar, saya hanya bisa menjadikan laptop server proxy, tetapi dalam kasus khusus saya, laptop tersebut sebenarnya 1) VM yang tidak berjalan sepanjang waktu, 2) di laptop yang tidak membuka semua waktu. Dengan demikian, solusi itu, meskipun bagus, tidak berfungsi dalam kasus saya.

zpletan
sumber
Dari berbicara dengan penulis tentang hal itu di masa lalu melakukan hal ini secara mengejutkan tidak sepele, mungkin seseorang dapat membuat sesuatu yang pintar sekalipun.
Jorge Castro
Mungkin askubuntu.com/q/113983/8724 dapat membantu. . . .
zpletan
Apakah laptop ini yang Anda gunakan di jaringan yang berbeda, squid-deb-proxyserver?
saji89
@ saji89: tidak, semua mesin berada di jaringan yang sama.
zpletan
Saya kira Anda tidak mengerti pertanyaan yang diajukan @ saji89, dan saya memiliki pertanyaan yang sama. Jika Anda menginstal squid-deb-proxy di laptop, dan squid-deb-proxy-client di desktop dan laptop, maka laptop menjadi proxy dan menggunakan proxy secara lokal. Karena itu ketika Anda jauh dari rumah, itu akan membuat pembaruan pada laptop. Ketika Anda kembali ke rumah desktop akan mendapatkan pembaruan dari laptop.
popey

Jawaban:

2

Anda bisa menggunakan apt-move(dari paket dengan nama yang sama) untuk membuat repositori apt lokal dari file-file di cache apt laptop Anda. Kemudian gunakan rsyncuntuk menyimpan salinan repositori ini pada LAN Anda. Akhirnya, arahkan mesin LAN lain ke salinan LAN Anda dari repositori lokal di bagian atas sources.list, sehingga lebih memilih repositori lokal daripada yang jauh.

Robie Basak
sumber
0

Ini masih merupakan jawaban yang tidak lengkap, tetapi mungkin itu jawaban terbaik, jadi bacalah jika ingin tahu tentang kemungkinan solusi parsial / jelek / rumit.

Pertanyaan yang menarik, saya pernah mengalami masalah yang sama tetapi saya tidak pernah memperbaikinya, sebaliknya saya hanya mencoba membatasi kecakapan saya di luar lan lokal saya. Benar-benar tidak sepadan dengan kerumitannya, paling-paling saya menyia-nyiakan 20MB selama setahun terakhir. Penyemaian torrent iso saya menebusnya. Tapi!

  1. Anda dapat mengatur terowongan / proxy antara laptop dan rumah untuk memanfaatkan cache rumah Anda (ini adalah ide yang bagus untuk alasan privasi), tetapi, maka Anda akan bergantung pada kecepatan unggah Anda. Tidak hanya itu lambat, tetapi Anda akan menggunakan 2x bandwidth untuk mengunduh hal yang sama. 1x masuk ke lan Anda dari mirror Ubuntu dan 1x ke kedai kopi.

  2. Saya mengusulkan bahwa mungkin untuk menjalankan server cache pada laptop Anda dan kemudian menggunakan rsync untuk tetap sinkron dengan server rumah Anda. Ini menghadirkan masalah namun ketika Anda berada di rumah server di laptop Anda masih akan berjalan. Untuk mengatasinya saya bisa melihat dua kemungkinan. 1. hentikan server cache di laptop Anda saat di rumah 2. simpan semua salinan yang di-cache yang ada di server rumah Anda di laptop Anda juga (persyaratan ruang tambahan) dan selesaikan ini dengan tidak hanya mendorong data cache ke server Anda saat Anda mendapatkan pulang dengan rsync, tetapi juga secara teratur menarik data cache ke server laptop Anda. Dalam menyarankan ini, saya telah membuat asumsi bahwa squid-deb-proxy cache pada satu server kompatibel dengan yang lain dan bahwa Anda dapat bertukar file masuk dan keluar seperti itu. Opsi-opsi ini juga tentunya membutuhkan beberapa skrip.

David A
sumber
0

Kami menggunakan pendekatan sederhana dan bodoh: squid-deb-proxy dapat menggunakan dirinya sebagai proxy. Karena itu saya hanya melakukan:

  1. Saya menginstal perangkat lunak klien di Server squid-deb-proxy:

    apt-get install squid-deb-proxy-client

  2. Saya membuat skrip sederhana yang mencantumkan semua paket yang diinstal - dan mengunduh ulang setiap paket:

    #!/bin/bash  
    # Create temp dir & change into it
    tmpdir=$(mktemp -d) 
    pushd $tmpdir   
    # Get all installed packages and re-download them
    for package in $(dpkg --get-selections | cut -f 1); do apt-get download $package; done;
    popd
    # Delete tmp dir
    

Dengan cara ini kita sudah memiliki cache dasar yang tidak terlalu buruk.

Jika kami ingin menambahkan semua paket dari server yang ada ke cache, maka kami hanya menjalankan prosedur yang sama 1) dan 2)

Tom
sumber