Чи будуть якісь негативні побічні ефекти спільного використання / var / cache / apt / між двома системами?


10

В інтересах збереження пропускної здатності я розглядаю можливість встановлення хоста VirtualBox /var/cache/aptяк /var/cache/aptу гостях. І хост, і гість - 32-розрядні Ubuntu 10.10. Чи будуть якісь негативні наслідки для цього?

Мені відомо про більш надійні рішення, такі як apt-proxy, але я вважаю за краще це більш просте рішення, якщо це можливо для того, щоб пощадити хоста на додаткові послуги.

Відповіді:


10

Я вважаю, що /var/cache/apt/{,src}pkgcache.binмістить поточні встановлені пакети.

Замість обміну /var/cache/apt/поділіться /var/cache/apt/archives/каталогом, який містить незалежні файли. Ви повинні зробити певну настройку, тому що /var/cache/apt/archivesналежить і записується лише корінь. Одним із варіантів було б встановлення групи /var/cache/apt/archivesдо apt-cache-writerта додавання встановленого біта до каталогу. Додайте себе до apt-cache-writerгрупи та встановіть umaskщось на кшталт 0002або 0007замість цього 0022.

Зауважте, що sudo apt-get cleanочищає цей каталог ( /var/cache/apt/archives).


На Ubuntu 14 я спробував це, щоб виявити, що ексклюзивний модульний блокування заснований на файлі в цьому каталозі! (Що !? файл блокування в каталозі кешу!) Тож обмін буквальною файловою системою з VM чи подібним може не бути хорошим рішенням. Я також рекомендую використовувати належний сервіс apt-кешування, докладно обговорюваний тут: askubuntu.com/q/3503/250556
ThorSummoner

4

Замість того, щоб поділитися цією папкою, буде більш "здоровим" створити локальний сховище за допомогою APT-CACHER

ось підручник з цим програмним забезпеченням


Недоліком такого підходу є те, що VirtualBox буде споживати більше місця на диску. Це не повинно бути проблемою, якщо у вас жорсткий диск на 1 ТБ, але з невеликими SSD, це так.
Лекенштейн

4

Ваше найкраще рішення - використовувати Apt-Cacher-NG на хост-машині. Вам не потрібно турбуватися про виділення мережевого комп'ютера aptcacher, оскільки він працює як проста програма з простою установкою / конфігурацією. Єдина думка, на яку слід стежити - це кількість дискового простору, за який ви маєте плату, але я користувався цією установкою досить довгий час, і це не було проблемою.

Це може здатися дивним, але ви також можете використовувати apt-cacher для машини, на якій встановлений apt-cacher. Це означає, що якщо ваш VM оновиться перед вашим хостом, він заповнить кеш і Хост зможе отримати пакет з кешу.

Ви також зможете побачити статистичні дані про те, скільки кешується і яка частота звернень, додавши URL-адресу: "http: // your-apt-cacher-ng-server: 3142" у вашому браузері (див. Нижче).

Хороше просте пояснення, як налаштувати apt-cacher, можна знайти тут: http://acidborg.wordpress.com/2010/06/24/how-to-install-and-configure-apt-cacher-ng-on -ubuntu-сервер-10-04 /, який я вставлю нижче для повноти.

  1. Установка: apt-get install apt-cacher-ng
  2. Конфігурація: редагуйте /etc/apt-cacher-ng/acng.confза допомогою наступного вмісту:
CacheDir: /var/cache/apt-cacher-ng
LogDir: /var/log/apt-cacher-ng
Port:3142
BindAddress: 0.0.0.0
Remap-debrep: file:deb_mirror*.gz /debian ; file:backends_debian
Remap-uburep: file:ubuntu_mirrors /ubuntu ; file:backends_ubuntu
PidFile: /var/run/apt-cacher-ng/pid
ExTreshold: 4
  1. Перезапустіть Apt-Cacher NG: /etc/init.d/apt-cacher-ng restart
  2. Створіть на решті машин Debian / Ubuntu в мережі файл /etc/apt/apt.conf.d/02proxyіз таким вмістом:

    Acquire::http { Proxy "http://your-apt-cacher-ng-server:3142"; };


Перш ніж витрачати день на один конкретний фрагмент програмного забезпечення для кешування (як я), я рекомендую прочитати на askubuntu.com/q/3503/250556 - у мене виникли найменші проблеми з squid-deb-proxy, ні apt-cacher (брутто перл ) або apt-cacaher-ng (приємніший безлад питона з конфігураційними файлами) працював для мене дуже добре 14.04 LTS біля часової позначки цього повідомлення.
ThorSummoner
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.