CentOS to system operacyjny, który jest przekompilowaną komercyjną wersją dystrybucji RedHat Enterprise (z pewnymi wyjątkami). Jako że RedHat Enterprise jest powszechnie używany postanowiłem zainstalować CentOS-a ;). Niestety brakuje w nim dużo oprogramowania dostępnego w normalnych dystrybucjach :/ Jakby ktoś szukał Baculi, znajdzie pod adresem: http://www.pramberger.at/peter/services/repository/rhel5/ (będzie działać także w CentOS-ie).
Archiwum kategorii: Systemy operacyjne
Linux: LVM na dysku USB
Spędziłem pół dnia męcząc się z nowym dyskiem USB, postanowiłem wyrzucić partycję NTFS i stworzyć tam partycje linuskowe z LVM-ami. Wszystko ładnie dało się zrobić, tylko że po restarcie nic nie było! Po pół dniu walki okazało się że vg na dysku nie jest automatycznie włączane :D. Prosta komenda rozwiązuje to:
[root@centos etc]# vgchange -a y datavg3 2 logical volume(s) in volume group "datavg3" now active
Tak wiem, powinienem to wiedzieć jako Linux specialist 😉
Linux: vi – numerowanie linii
Cóż, każdy kto choć trochę używa edytora vi natyka się na problem: jak pokazać numery linii. Otóż należy użyć wtedy komendy:
:set number
Jeżeli chcemy wyłączyć numerowanie (np. by się łatwiej gdzieś kopiowało), wywołujemy:
:set nonumber
Prawda że proste i intuicyjne? 😉
Linux: Bash – if z dwoma warunkami
Stanąłem dzisiaj przed problemem dość prostym ale zwyczajowo pomijanym w typowych kursach Bash-a w internecie. Otóż jak zrobić warunek if z dwoma lub więcej warunkami? Rozwiązanie jest całkiem proste i oczywiste 😉 :
if [ -z $URL ] && [ -z $FILE ]; then echo "Brak url (opcja --url) lub pliku (opcja --file) "; exit 2; fi
Linux: RPM – tworzenie własnych pakietów
Planuje napisanie własnej aplikacji wspomagającej prowadzenie kursów no i oczywiście najlepiej, gdyby była ona dostarczana w postaci pakietów. Aplikacja będzie składała się z kilku skryptów perlowych więc nic nie będzie kompilowane. No i tutaj zaczeły się problemy: wszystkie HOWTO, wpisy w blogach itp pokazywały jak ściągnąć aplikacje napisane w C/C++, skompilować itd. No więc po dłuższej bitwie doszedłem jak to zrobić:
- Skrypty należy umieścić w katalogu BUILD, struktura zależy od Ciebie,
- katalog SOURCES może być pusty ;),
- BuildArch ustaw na noarch,
- zdefinuj sobie BuildRoot, tam rpmbuild będzie umieszczał katalogi w czasie tworzenia pakietu,
Nie zapomnij też zdefiniować sekcji %clean, straciłem trochę czasu by znaleźć, czemu rpmbuild raportuje mi pliki, których nie powinno być ;). Otóż sekcja clean pozwala czyścić katalog BuildRoot przed stworzeniem nowego pakietu (tak samo jak i po). Życzcie mi powodzenia przy tworzeniu tej aplikacji 🙂
Linux: ekologia sprzętowa
Od dawna uważałem, że Linux pozwala używać stare sprzęty w sposób bardziej optymalny, daje im drugie życie. Mam taki stary komputerek (DELL 450 MHz, 256 RAMu) i:
- Chciałem podłączyć większy dysk ale niestety 🙁 BIOS sobie nie radzi :(,
- Większy dysk podłączyłem przez USB, niestety mam tam tylko USB 1.1, szybkością to nie powala :(, nie mogę jednocześnie sciągać z Internetu i przesyłać danych gdzieś w sieci lokalnej (osiągam w praktyce 1 -1,2 MB/s),
- Chciałem dołożyć do niego kartę Wi-fi, po długich bojach okazało się że mam za stare PCI.
Ekologia ekologią ale chyba czas na nowy sprzęt.
Linux: Bash – kilka uwag
Bawie się ostatnio skryptami powłoki i postanowiłem napisać kilka uwag, które pozwolą tworzyć lepsze skrypty automatyzujące pracę systemu:
- skrypt zawsze powinien logować swoje uruchomienie łącznie z czasem i parametrami, które zostały do niego podane (pozwala to określić czy skrypt został uruchomiony, kiedy został uruchomiony oraz jak powinien się zachować),
- basename pozwoli okreslić Ci nazwę skryptu, który uruchamiasz bez całej ścieżki,
- dirname pozwoli określić, gdzie skrypt się znajduje, możesz to wykorzystać do określenia położenia innych elementów
Wiem, mało tego 😉
AIX: HA (dawniej HACMP) i migracja dysków między data storage
W weekend miałem przenieść dane z jednego data storage (opartego na ESS) na drugi (oparty na DS, dokładnie DS8000). Szukaliśmy komend typowo klastrowych ale raczej nic takiego nie ma ;). Po pierwszym teście okazało się że bezproblemowo można użyć migratelp :D. Jedna uwaga: oczywiście przenoszenie powinniśmy wykonywać z aktywnego noda.
AIX: porządki na dyskach
Czasem trzeba posprzątać na dyskach, okazuje się że mirrory są źle zrobione albo ze względów wydajnościowych trzeba inaczej rozłożyć pp. Oczywiście możemy tutaj wykorzystać komende migratelp. Może tutaj przydać się prosty skrypt:
#!/bin/ksh integer i=1 # counter for lp integer b=2 # counter for pp integer end=255 #last lp to move while ((i <= $end)); do print "moving logical partition $i " ; migratelp samba_lv/$i/1 hdisk4/$b ; migratelp samba_lv/$i/2 hdisk5/$b ; (( i = i + 1)) ; (( b = b + 1)) ; done
Dla przypomnienia migratelp ma następującą składnie: migratelp logical_volumen/LP number/Mirror PVNAME(hdiskxx)/PPOn_disk
AIX i Perl: Storage report (część 4) – gotowy skrypt
Skrypt analizuje listę volumenów grup, następnie dla każdej grupy tworzy listę logicznych volumenów a na koniec dla każdego z nich tworzy listę fizycznych volumenów, na których się on znajduje. Wynikowa lista jest w formacie csv.
Dostępny jest na stronie z skryptami: Skrypty / scripts