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!
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/.
Strony: 1
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
#!/bin/bash touch archives/lock mount archives /var/cache/apt/archives -o bind
umount-archives
#!/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





Cenzor wirtualnego świata
A nie lepiej wykorzystać mechanizm APT do tego celu w pliku /etc/apt/apt.conf ? Przykład:
# 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

Użytkownik


tuxcnc napisał(-a):
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.
Do tego celu jest gotowe rozwiązanie AptCacherNg - czyli lokalny serwer cache dla pakietów (nie tyko) debianowych. W skrócie: instalujesz apt-cacher-ng na jednym kompie - serwerze. Potem na wszystkich kompach w sieci (na serwerze też) dodajesz plik /etc/apt/apt.conf.d/02proxy:
Acquire::http::proxy "http://CacheServerIp:3142";
Wtedy jakikolwiek pobierany w sieci lokalnej pakiet trafi również do cache serwera. A przy ponownym pobieraniu (przez np. inny komp w lokalnej sieci) apt pobierze go właśnie z lokalnego cache.
Tutaj dokładna dokumentacja:
https://www.unix-ag.uni-kl.de/~bloch/acng/html/index.html
Ostatnio edytowany przez seler (Dzisiaj 14:10:07)
Offline
Na razie spróbowałem przez udev.
Zmarnowałem trochę czasu, żeby dowiedzieć się, że znowu jacyś paranoicy postanowili popsuć Linuksa...
Aczkolwiek udev formalnie działa, ale tego co potrzeba uruchomić się nim nie da, choć dawniej było to możliwe...
W każdym razie nie da się uruchomić montowania po włożeniu pamięci USB, co bez problemu robi np. thunar-volman.
Tyle że on montuje dysk w /media i żadnego bind nie zrobi.
Żeby było gorzej, to nie zamontuje dysku na istniejącym folderze, tylko utworzy nowy o innej nazwie, więc nie da się /var/cache/apt/archives skopiować i zlinkować do /media...
Nie mam pojęcia jak wytłumaczyć tym geniuszom, że nie należy naprawiać tego co działa...
Offline
Strony: 1