Czasem w prostych skryptach warto nadać zmiennym wartość domyślną. W moim przypadku chodzi głównie o nazwy plików konfiguracyjnych, które są ściśle określone ale też można podać opcjonalnie inne pliki. Można to zrobić na dwa sposoby, jeden to oczywiście walka z if i else ale drugi jest bardziej przyjemny.
W przypadku bardzo prostych skryptów mozna użyć zmiennej $1:
Drobne wyjaśnienie:
Zmienne można zapisywać w dwa sposoby: jako $ + NAZWA_ZMIENNEJ (bardzo to ogranicza wszystkie zabawy z zmienną) oraz jako $ { NAZWA_ZMIENNEJ}. W drugim przypadku możemy używać większej ilości operacji, jak tutaj podstawiania wartości domyślnej.
Cóż, nie zawsze nasze systemy linuksowe mamy przy sobie, czasem są one w zdalnych serwerowniach. Jak wskazać interesujący nas port sieciowy, jeżeli mamy ich kilka? Z pomocą przychodzi nam polecenie ethetool i parametr -p wskazujący interface (ostatni parametr to czas wskazywania). W lepszych serwerach (kartach sieciowych) zapali się specjalna dioda, w gorszych podświetli się dioda od ruchu sieciowego (nawet jak nie ma kabla). Przykład wywołania komendy:
Jako użytkownik Linuksa (jakoś nie chciało mi się przerzucać na Windowsa jako stacji roboczej) postanowiłem zmienić ulubioną stacje właśnie na trójkę (Polskie Radio program 3). NIestety ich odtwarzacz umieszczony na stronie nie działa na mojej platformie! (ach to PUBLICZNE radio z MISJĄ). Czytaj dalej Jak słuchać trójki na Linuksie?→
Tworząc reguły firewall-a często przydałoby się skomentować skąd one wzieły się. Możemy to oczywiście zrobić w własnym skrypcie ale większość dystrybucji (wszystkie?) mają skrypty startowe, gotowe rozwiązania, narzędzia wspomagające itp. Poza tym przyjemnie byłby listując reguły firewall-a widzieć ich przeznaczenie. Na szczęście niektórzy pomyśleli o tym przede mną i mamy moduł „comment”. Efekt jego urzycia jest następujący:
No i naszła chwila, gdy musiałem zainstalować multikomunikator, za dużo ludzi, którzy odeszli z firmy nie używało GG (kurcze, co za czasy by w Ruminii czy Czechach nie używanego tego doskonałego softu?). Myślałem, że bedzie z tym problem ale nie ma, nowe gg (0.9.0) potrafi ładnie współpracować z gtalkiem jak również facebook-iem. jedyną wadą dla mnie jest brak sprawdzania pisowni, może brakuje mi jakieś wtyczki a może będę musiał zainstalować inny :/
W przypadku dużych środowisk, mówimy o setkach jak nie tysiącach systemów, musimy być pewni że środowiska mają taką samą konfigurację (takie same wersje pakietów). wynika to z faktu, iż nie możemy pozwolić sobie na jakiekolwiek problemy, oprogramowanie przetestowane na serwerach testowych musi być zainstalowane dokładnie w tych samych wersjach na serwerach produkcyjnych.
Gdy używamy up2date lub yum zostaną zaisntalowane ostatnie dostępne aktualizacje, czyli systemy aktualizowane ostatnio a aktualizowane 2 tygodnie temu będą się różnić.
Bardzo przydatną komendą w przypadku korzystania z HMC w trybie tekstowym (tak, lubie udawać że potrafie pisać skrypty) jest lssyscfg. W przypadku przeglądania cech lpar-a pojawia się jednak problem, trzeba podać na jakiej maszynie znajduje się dany lpar :/. Jak to znależć? Wystarczą 2 proste pętle:
for MACHINE in `lssyscfg -r sys -F "name"`; do lssyscfg -r lpar -m $MACHINE -F "name" | while read LPAR; do echo "$MACHINE;$LPAR"; done; done
Powyższe polecenia pozwala stworzyć listę w formacie CSV. Prosty grep i cut pozwalają wydobyć poszukiwaną informację:
for MACHINE in `lssyscfg -r sys -F "name"`; do lssyscfg -r lpar -m $MACHINE -F "name" | while read LPAR; do echo "$MACHINE;$LPAR;"; done; done | grep "Szukany_LPAR" | cut -d ";" -f 1
Więszkość z nas zaczyna używać wirtualizacji w następujący sposób: serwer wirtualizujący oraz urządzenia zdalne, które pozwalają się połączyć do serwera wirtualizującego (laptop, netbook itp). W związku z tym należy przekonfigurować zasady dostępu do VNC aby można było łączyć się zdalnie. Czytaj dalej libvirt: qemu i VNC→