Nie jesteś zalogowany.
Jeśli nie posiadasz konta, zarejestruj je już teraz! Pozwoli Ci ono w pełni korzystać z naszego serwisu. Spamerom dziękujemy!

Ogłoszenie

Prosimy o pomoc dla małej Julki — przekaż 1% podatku na Fundację Dzieciom „Zdążyć z Pomocą”.
Więcej informacji na dug.net.pl/pomagamy/.

#1  2026-06-01 19:52:37

  tuxcnc - Użytkownik

tuxcnc
Użytkownik
Zarejestrowany: 2026-05-10

Jeden /var/cache/apt/archives na kilku komputerach

Mam kilka komputerów z Debianem i z zasady wkurzało mnie instalowanie lub odświeżanie pakietów, które potrafią mieć po kilkaset megabajtów i ściąganie ich za każdym razem z netu nie ma sensu.
Wiem, że można tak skonfigurować pendrajwa, żeby po włożeniu w gniazdo USB sam się montował w określonym miejscu, ale na razie mi się nie chciało z tym walczyć i użyłem prostszego, choć mniej wygodnego rozwiązania, czyli skryptów do montowania i odmontowywania archiwów.
Tutaj kilka słów wyjaśnienia.
/var/cache/apt/archives nie jest w żaden sposób obsługiwany przez system. apt lub apt-get szuka tam pakietu który chcemy zainstalować i jeśli znajdzie, to go bierze stamtąd zamiast ściągać z netu. Różnica jest taka, że apt-get zapisuje tam ściągnięte pakiety, a apt nie zapisuje. Niczego więcej nie robią, więc możemy w tym folderze mieć totalny burdel i absolutnie niczym to nie grozi. Wyjątkiem jest plik lock, który jest wykorzystywany do przeciwdziałania uruchomieniu apt lub apt-get wielokrotnie. Jeśli plik lock z jakiegoś powodu zniknie, to dostaniemy stosowny komunikat i apt przerwie działanie. Wtedy wystarczy zrobić touch /var/cache/apt/archives/lock
Jest jeszcze taka opcja, że zapomnimy zamontować pendrajwa i apt-get zapisze ściągnięte pakiety lokalnie. Wtedy wystarczy skopiować je na pendrajwa.
Oczywiście, żeby to wszystko miało sens, trzeba używać apt-get.
Na pendrajwie mam normalny folder o nazwie archives i dwa skrypty jak poniżej:
mount-archives

Kod:

#!/bin/bash
touch archives/lock
mount archives /var/cache/apt/archives -o bind

umount-archives

Kod:

#!/bin/bash
umount /var/cache/apt/archives

Jakby się komuś chciało opisać jak zrobić żeby folder na pendrajwie montował się z automatu (jakoś przez /etc/udev/rules.d), to będę wdzięczny.

Offline

 

#2  Dzisiaj 08:41:53

  morfik - Cenzor wirtualnego świata

morfik
Cenzor wirtualnego świata
Skąd: ze WSI
Zarejestrowany: 2011-09-15
Serwis

Re: Jeden /var/cache/apt/archives na kilku komputerach

A nie lepiej wykorzystać mechanizm APT do tego celu w pliku /etc/apt/apt.conf ? Przykład:

Kod:

# Useful for systems with:
#  a separate /usr/ partition that is mounted in read only mode
#  a /boot/ partition that is placed on a USB stick
#  a /tmp/ partition where "noexec" option is set
# It also removes the following errors during package installation:
#  Can't exec "/tmp/*": Permission denied at /usr/share/perl/5.26/IPC/Open3.pm line 178.
#  open2: exec of /tmp/* configure 1.179 failed: Permission denied at /usr/share/perl5/Debconf/ConfModule.pm line 59.
DPkg
{
  Pre-Invoke
  {
    "mount -o remount,exec /tmp";
    "mount -o remount,exec /var/tmp";
    "if grep -q boot /proc/mounts; then mount -o remount,rw /boot; else mount -o rw /boot; fi";
    "mount -o remount,rw /usr";
  };

  Post-Invoke
  {
    "test ${NO_APT_REMOUNT:-no} = yes || mount -o remount,noexec /tmp || true";
    "test ${NO_APT_REMOUNT:-no} = yes || mount -o remount,noexec /var/tmp || true";
    "test ${NO_APT_REMOUNT:-no} = yes || umount /boot || true";
    "test ${NO_APT_REMOUNT:-no} = yes || mount -o remount,ro /usr || true";
  };
};

To powyższe używałem kiedyś jak miałem osobny /boot/, który nie był podłączony do systemu gdy ten działał — jedynie na czas startu systemu i przy aktualizacjach.

Ostatnio edytowany przez morfik (Dzisiaj 08:46:49)

Offline

 

Stopka forum

Powered by PunBB
© Copyright 2002–2005 Rickard Andersson
Nas ludzie lubią po prostu, a nie klikając w przyciski ;-)