Bądź: Wyszukaj na stronie z użyciem Google
reklama:

piątek, 5 grudnia 2008

Ciekawe (i przydatne) funkcje Synaptica

Autor: , 18:53, piątek, 5 grudnia 2008


Synaptic to program służący do instalacji i usuwania pakietów. Przeważnie używamy go w ten sposób: zaznaczamy pakiet do zainstalowania lub usunięcia, potwierdzamy, czekamy na zakończenie operacji - i to wszystko. Synaptic ma jednakże inne, mniej znane (i rzadziej używane) funkcje, które jednak czasem mogą okazać się bardzo przydatne. Poniżej zaprezentuję jedną z nich.

[Co?]
Synaptic ma możliwość wygenerowania skryptu powłoki, który ściąga pakiety, które zaznaczyliśmy do instalacji. Tak pobrane pakiety można bez problemu potem zainstalować. Jakie może być zastosowanie tego, przedstawię na końcu.

[Jak?]
etap I - generowanie skryptu
Uruchamiamy Synaptica. Na tym etapie program może być uruchomiony na prawach zwykłego użytkownika. (Nawiasem mówiąc, "za czasów" Breezy Badgera - mój pierwszy Ubuntu! - Synaptic mógł działać tylko na prawach roota.) Oczywiście, teraz nasze uprawnienia są bardzo ograniczone - nie możemy, na przykład, instalować niczego. Ale to nie jest teraz potrzebne. Jedyne co trzeba, to zaznaczyć wybrane pakiety do instalacji. Jeśli potrzebujemy zaktualizować system, nie ma problemu (Edycja -> Zaznacz wszystko do aktualizacji...). Jeśli w pewnym miejscu pogubiliśmy się, możemy wybrać Odznacz wszystkie z menu Edycja.

po zaznaczeniu pakietu xubuntu-desktop

Nie wykonujemy zaznaczonych zmian. (Jeśli Synaptic jest uruchomiony na prawach zwykłego użytkownika, nawet nie mamy takiej możliwości.) Zamiast tego, przechodzimy do menu Plik -> Generuj skrypt do pobierania pakietów i zapisujemy gdziekolwiek z jakąkolwiek nazwą - tutaj będziemy się posługiwać nazwą pobierz.sh. Ten plik jest tak zwanym skryptem powłoki. Możemy podejrzeć jego zawartość; przykładowo:
#!/bin/sh
wget -c http://ubuntu.positive-internet.com/ubuntu/pool/main/p/psutils/psutils_1.17-24build1_i386.deb
wget -c http://ubuntu.positive-internet.com/ubuntu/pool/universe/a/a2ps/a2ps_4.14-1_i386.deb
wget -c http://ubuntu.positive-internet.com/ubuntu/pool/main/a/abiword/abiword-common_2.4.6-3ubuntu3_all.deb
wget -c http://ubuntu.positive-internet.com/ubuntu/pool/universe/a/abiword/abiword_2.4.6-3ubuntu3_i386.deb
wget -c http://ubuntu.positive-internet.com/ubuntu/pool/main/a/aiksaurus/libaiksaurus-1.2-data_1.2.1+dev-0.12-5_all.deb

itd. Jak nietrudno się domyslić, skrypt ten pozwala na zautomatyzowane pobranie wybranych pakietów.
Na tym kończymy etap pierwszy.

etap II - ściąganie
Uruchamianie tego skryptu na własnym komputerze na ogół nie ma sensu, choć jest oczywiście możliwe. Plik ma od razu ustawiony atrybut wykonywalności. Pokażę, jak należy nim się prawidłowo posługiwać.
Tworzymy nowy katalog w dowolnym miejscu w naszym systemie plików. W nim zostaną umieszczone pobrane paczki deb. Kopiujemy skrypt do tego katalogu. Następnie uruchamiamy terminal (jeśli jeszcze nie został on uruchomiony) i przechodzimy do nowo utworzonego katalogu poleceniem cd, na przykład: cd /home/ja/deb-xfce-desktop, a następnie uruchamiamy skrypt poleceniem: ./pobierz.sh (zakładając, że pobierz.sh to nazwa wygenerowanego - nie mylić ze: zdegenerowanego - skryptu).

najczęstsze błędy w tym miejscu
bash: cd: /home/coś: No such file or directory - podałeś złą nazwę katalogu
bash: ./pobierz.sh: No such file or directory - jesteś w złym katalogu albo podałeś nieprawidłową nazwę pliku
bash: ./pobierz.sh: Permission denied - najczęściej oznacza to, że plik nie ma atrybutu wykonywalności; zmień to poleceniem chmod a+x pobierz.sh

Rozpocznie się pobieranie. Jeśli z chcesz je przerwać, wciśnij ctrl+c. Trzeba ponowić? Uruchom skrypt jeszcze raz. Dzięki parametrowi -c program wget pominie pliki, które mamy już pobrane oraz będzie kontynuował ściąganie tych, które są pobrane tylko w części. Mała rzecz, a cieszy. :-)
pobieranie na Windowsie
Pliku służącego do pobrania pakietów można użyć w systemie znanym jako Windows. Wystarczy usunąć pierwszą linijkę (zaczynającą się od #), a plik zapisać z rozszerzeniem .bat. Trzeba jeszcze zainstalować program wget dla tego systemu operacyjnego.

etap III - happy end
Teraz wystarczy tylko pobrane pakiety... zainstalować. W tym celu uruchamiamy Synaptica (już jako root, czyli domyślnie) i z menu Plik wybieramy Dodaj pobrane wcześniej pakiety. Wskazujemy na odpowiedni katalog i pozwalamy programowi na zainstalowanie go. To wszystko! Uwielbiam użyteczność zawartą w prostocie Linuksa.

[Po co?]
Niektórzy z was mogą się zastanawiać, czemu taka funkcja może służyć. Otóż, jeśli mamy wolne łącze (powolne), pakiety możemy pobrać sobie u na przykład u kolegi. Jeśli w ogóle nie mamy Internetu, a chcemy na przykład zaktualizować system, możemy pokombinować: pościągać pliki z opisami pakietów (Packages, Packages.gz), umieścić w odpowiednich miejscach i użyć Synaptica do wygenerowania skryptu. Czy ktoś używa Ubuntu, nie mając dostępu do Internetu? Zapewne tak. Ja kiedyś należałem do tej grupy. Niestety, o pewnych rzeczach wtedy nie wiedziałem i dla własnych potrzeb ściągałem wszystko ręcznie.
Komentarze 5 comments
Anonimowy pisze...

Co?? "[...] w systemie znanym jako Windows [...]". A śrubokręt znany jest jako ... (zgadnij) ;p

EuGene pisze...

... jako wkrętak prostoliniowy, prawo lub lewoskrętny - w zależności od rodzaju śruby.
Idąc dalej tym tropem: młotek - impulsownik kinetyczny z naprowadzaczem trzonkowym.

A w temacie - komputer bez internetu??? toż to jak kalkulator!

Kacper86 pisze...

@EuGene:
Ogolnie rzecz biorac masz racje. Czasami jednak zdarzaja sie sytuacje, w ktorych musisz postawic system na kilku komputerach, ktore beda docelowo staly gdzies indziej. chcialbys zapewnic im dana funkcjonalnosc nie podlaczajac ich wszystkich do netu na czas instalacji systemu.

rozie pisze...

Do takich offline'owych instalacji w Debianie jest jigdo (http://www.debian.org/CD/jigdo-cd/). W Ubuntu nie ma?
Tak czy inaczej wystarcza zwykłe wajig clean; wajig download nazwy_pakietów, skopiowanie zawartości katalogu /var/cache/apt/archives, a następnie wajig install lista_plików_z_pakietami.

koliberek pisze...

Ciekawy wpis, dziękuję. Nie wiedziałem o tym, a mam komputer, którego do Internetu podpiąć nie mogę... Bardzo się przyda.
A propos "Systemu znanego jako Windows" - ponoć były podejrzenia, że Windows jest wirusem, ale okazało się, że nie - wirusy zwykle coś robią. I są bardziej stabilne :-D
A propos sposobu podanego przez rozie - Synaptic w tym przypadku jest jednak wygodniejszy: pliki lądują w dowolnym katalogu, nie trzeba się dogrzebywać do /var/cache/apt/archives, do wykonania opisanych operacji wajig potrzebne są prawa roota na komputerze z Internetem. Moim zdaniem 1:0 dla Synaptica; na szczęście jednak Linux nie wskazuje "jedynie słusznej" drogi i każdy może korzystać z takich narzędzi z jakich lubi :-) I to mi się w nim podoba.

Prześlij komentarz


Popularne posty

Etykiety