[Bash] Autokonfigurator dla Ubuntu 8.04

Bash, C, C++, Java, PHP, Ruby, GTK, Qt i wiele innych - wszystko tutaj.
Awatar użytkownika
simon-phoenix
Piegowaty Guziec
Piegowaty Guziec
Posty: 4
Rejestracja: 10 paź 2007, 13:21
Płeć: Mężczyzna
Wersja Ubuntu: 8.04
Środowisko graficzne: GNOME
Kontakt:

[Bash] Autokonfigurator dla Ubuntu 8.04

Post autor: simon-phoenix »

Witam, mam taki w sumie problem ale przy okazji propozyjcję.

Używam Ubuntu w sumie od niedawna, wcześniej pracowałem na innej dystrybucji ale bardzo rzadko w zasadzie. W obecnym czasie programuję w PHP z wykorzystaniem Zend Framework i co jakiś czas wpadam na nowe pomysły jeśli chodzi o ułatwianie sobie życia na Ubuntu. System ten jest dość prosty w obsłudze i można w sumie zrobić z nim prawie wszystko jednak natknąłem się na pewne ograniczenia jeśli chodzi o język Bash-a. Uczę się go również od nie dawna (tzn kiedys się uczyłem).

Napisałem skrypt w Bash-u który:

tworzy strukturę katalogów (dla aktualnego użytkownika ale można to zmienić w pliku konfiguracyjnym), tworzy niektóre pliki projektu lub kopiuje aktualnie używane do folderu z projektami itd,

robi backupy konfiguracji apache2, pliku hosts, (pidngina również jeśli jest), itd

instaluje serwer baz danych MySQL, PHP, apache2, i inne przydatne pakiety jeśli nie zostały wcześniej zainstalowane, etc.

Wyjaśnię jak to działa może.
Po wpisanieu w konsoli ./install.sh tworzy sie struktura katalogow, kopiuja sie pliki niektore i robia backupy konfiguracji apache2, hosts, etc. jest tego troche... aha i sprawdza czy zainstalowane sa dane pakiety jak nie to instaluje

Po tej operacji wpisujemy ./addsite.sh -a default i skrypt pyta użytkownika o nazwę strony, wpisujemy np coyote.pl i enter, następnie uruchamiamy firefox-a i wpisujemy coyote.pl lub http://www.coyote.pl i strona jest tam już zainstalowana (praktycznie nie musimy nawet restartować serwera, konfiguracja apache2 i hosts, a2ensite oraz przeładowanie apache2 jest całkowicie zautomatyzowane)

lub w przypadku projektu zend framework wpisujemy ./addsite.sh -a zend i skrypt pyta o nazwe strony np pikacz.pl, a nastepnie o nazwe projektu i wpisujemy np ZF.Pikacz.Project i tworzony jest projekt domyslny dla zend framework który następnie dowolnie rozbudowujemy lub wprowadzamy zmiany w szablonach itd, to np już oszczędza czas na tworzenie systemu logowania, konfiguracji, systemu news-ow itd.

addsite.sh robi wpisy i za kazdym razem backup pliku hosts

po wpisaniu w konsole np ./uninstall.sh wszystko wraca do starej rzeczywistości, usuwane są stworzone podczas instalacji katalogi i pliki, pozostaje jedynie ukryty folder .Back.Up w którym pozostają backupy tworzone podczas instalacji i inne

myslę że takie coś mogłoby być przydatne również dla innych dlatego opisuję na tym forum co już robi zestaw skryptów, zainteresowanych współpracą w rozbudowie rozwiązania proszę o kontakt

Na koniec napiszę jakich informacji potrzebuję i na jaki natknąłem się problem. Otóż chciałbym by skrypt również zmieniał trochę menu w Gnome i wiem że w python-ie są do tego nawet rozwiązania zrobione jednak w bashu nie mogę się doszukać jak to zrobić, gdzie są pliki xml czy jakie kolwiek konfiguracyjne dla menu Gnome i jak to zrobić w bashu.

Ponadto skrypt instalacyjny dodaje również wpisy do sources.list ale wyświetla brak certyfikatu czy coś z niektórych repo (które są wyraźnie potrzebne) i jak to obejść.
Awatar użytkownika
el.pescado
Zakręcona Traszka
Zakręcona Traszka
Posty: 734
Rejestracja: 26 maja 2005, 11:43
Płeć: Mężczyzna
Wersja Ubuntu: inny OS
Środowisko graficzne: GNOME
Architektura: x86
Kontakt:

Odp: [Bash] Autokonfigurator dla Ubuntu 8.04

Post autor: el.pescado »

Na koniec napiszę jakich informacji potrzebuję i na jaki natknąłem się problem. Otóż chciałbym by skrypt również zmieniał trochę menu w Gnome i wiem że w python-ie są do tego nawet rozwiązania zrobione jednak w bashu nie mogę się doszukać jak to zrobić, gdzie są pliki xml czy jakie kolwiek konfiguracyjne dla menu Gnome i jak to zrobić w bashu.
Rzuć okiem na katalog /usr/share/applications
Ponadto skrypt instalacyjny dodaje również wpisy do sources.list ale wyświetla brak certyfikatu czy coś z niektórych repo (które są wyraźnie potrzebne) i jak to obejść.
Muszisz pobrać klucz publiczny, którym jest podpisywane dane repozytorium, a następnie dodać ten klucz używając apt-key.

Kod: Zaznacz cały

man apt-key
Awatar użytkownika
simon-phoenix
Piegowaty Guziec
Piegowaty Guziec
Posty: 4
Rejestracja: 10 paź 2007, 13:21
Płeć: Mężczyzna
Wersja Ubuntu: 8.04
Środowisko graficzne: GNOME
Kontakt:

Odp: [Bash] Autokonfigurator dla Ubuntu 8.04

Post autor: simon-phoenix »

Rzuć okiem na katalog /usr/share/applications
tzn, gdzie są aplikacje to wiem, ale doszukałem się jedynie pliku gdzie skonfigurowano domyślne programy dla danych typów, nie ma tam jednak nigdzie tego co mnie interesuje. To znaczy może nie określiłem się konkretniej. W Ubuntu 8.04 mam w prawym górnym rogu [Aplikacje][Miejsca][System] i chciałbym dodać lub usuwać stamtąd pozycje z poziomu bash-a a nie graficznego edytora menu. Zatem gdzie są pliki konfiguracyjne (w formie tekstowej lub xml bądź inne) odpowiadające za te pozycje i ich rozmieszczenie?
Awatar użytkownika
el.pescado
Zakręcona Traszka
Zakręcona Traszka
Posty: 734
Rejestracja: 26 maja 2005, 11:43
Płeć: Mężczyzna
Wersja Ubuntu: inny OS
Środowisko graficzne: GNOME
Architektura: x86
Kontakt:

Odp: [Bash] Autokonfigurator dla Ubuntu 8.04

Post autor: el.pescado »

No właśnie tam! Przecież nie pisałbym tego, gdyby tam byćo coś innego;D

Weźmy takiego np. GIMP-a.

Kod: Zaznacz cały

$ cat /usr/share/applications/gimp-2.2.desktop
Możemy się z tego pliku dowiedzieć, że:
Name=GIMP Image Editor
nazywa się "GIMP Image Editor"
Exec=gimp-remote-2.2 %U
Żeby go uruchomić, uruchamia się "gimp-remote-2.2"
Icon=/usr/share/gimp/2.0/images/wilber-icon.png
wiemy też jaka ikona siedzi w menu
Categories=Graphics;2DGraphics;RasterGraphics;GTK;
No i oczywiście kategoria, w której ląduje aplikacja.
ODPOWIEDZ

Wróć do „Programowanie”

Kto jest online

Użytkownicy przeglądający to forum: Obecnie na forum nie ma żadnego zarejestrowanego użytkownika i 1 gość