Instalacja

Gdy instalujesz w swoim systemie nowy pakiet oprogramowania musisz najpierw utworzyć nowe konto
użytkownika, grupę. Jeśli podążasz za wskazówkami z tego poradnika dotyczącymi wykorzystania
katalogów domowych użytkowników, powinieneś je również utworzyć. Tworzenie tego wszystkiego
manualnie to spora porcja pracy. Skrypty add_package_user i install_package z archiwum
more_control_helpers zostały napisane w celu automatyzacji tych zadań.

Skrypt install_package jest tym, którego powinieneś używać do instalacji nowego pakietu. Pobiera
trzy parametry: opis pakietu, nazwa konta użytkownika pakietu i nazwę jego podstawowej grupy. Jeśli
skorzystasz z rekomendowanego tutaj schematu user=group i jesteś tak kreatywny opisując pakiety jak
ja, instalując lpakiet „foo” wydasz polecenie:

install_package foo foo foo

To polecenie robi dwie rzeczy. Najpierw wywołuje skrypt add_package_user z dostarczoną nazwą,
grupą i opisem oraz pewnymi domyślnymi wartościami będącymi parametrami dla tego skryptu. Później,
gdy add_package_user utworzył konto użytkownika pakietu, install_package automatycznie korzysta z
polecania su w celu przelogowania się na nowo utworzone konto. Jeśli domyślny .bashrc i
.bash_profile zawiera polecenie „cd” tak jak w przykładzie w more_control_helpers zostaniesz
przeniesiony prosto do katalogu domowego użytkownika pakietu i będziesz mógł od razu zacząć
instalację.

Skrypt add_package_user jest odpowiedzialny za faktyczne utworzenie nowego konta użytkownika
pakietu. Wywołany z nazwą, nazwą grupy i opiesem tworzy nowe konto z określoną grupą główną i
przynależnością do grupy install jako grupy dodatkowej. Grupy zostaną utworzone jeśli jest taka
konieczność. add_package_user pobiera kilka argumentów określających zakres liczbowy w który
wykorzysta do tworzenia nowego UID i GID dla nowych użytkowników i grup. Nie tylko tworzy konta
użytkownika lecz również konfiguruje dla niego kataog domowy. Możesz dokonfigurować dowolną ścieżkę
lub wykorzystać domyślną: /usr/src/, gdzie jest nazwą nowego konta. Jeśli katalog
domowy już istnieje jego prawa własności i wszystkich w nim znajdujących się plików zostaną
przeniesione na nowego użytkownika. Jeśli nie istnieje – zostanie utworzony.

Zawartość /etc/pkgusr/skel-package zostanie skopiowana do nowo utworzonego katalogu domowego
(bez nadpisywania istniejących plików). more_control_helpers zawiera przyklady użytecznych
katalogow skel-package. Zauważ, że dowiązania symboliczne będą kopiowane jako dowiązania
symboliczne więc jest to idealne miejsce do umieszczenie dowiązań .bashrc i .bash_profile do jednej
centralnej lokacji. Wszystkie konta użytkowników pakietów będą wtedy miały takie samo środowisko.
Szczególnie przyda się to by zapewnić, że każdy ma katalogi skryptów otaczających w swoim PATH.