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
Strony: 1