Mapa myśli przedstawiająca polecenia z VIMa. Całości pochodzi ze strony: Learning Vim The Pragmatic Way.
Mapa myśli przedstawiająca polecenia z VIMa. Całości pochodzi ze strony: Learning Vim The Pragmatic Way.
Mar 1
Posted by Łukasz Stelmach in RedHat Enterprise Linux | Comments off
Po zapoznaniu się ze sposobami wyboru listy pakietów we wpisie Zadawanie zapytań w aplikacji rpm: wybór pakietów czas na poznanie sposobów wyświetlenia informacji o nich.
rpm
wyświetli nazwę i wersję pakietu:
-i
– wyświetlenie informacji o pakiecie
Polecenie to pozwala na wyświetlenie szczegółowych informacji o wybranym pakiecie:
Znaczenie powyższych pól jest następujące:
Name
– nazwa pakietu, którego dotyczyło pytane. Najczęściej jest powiązane z nazwą aplikacji jaka jest instalowana przez podany pakiet, ale nie zawsze (np. pakiety httpd
, coreutils
).Version
– główna wersja aplikacji, taka na podstawie której został stworzony pakiet instalacyjny.Release
– wersja wydania danego pakietu. Jeżeli zmienia się pole Version
to powinna mieć wartość 1
. Jest zwiększana zawsze w momencie wprowadzenia zmian w stosunku do podstawowej wersji aplikacji.Install date
– data instalacji pakietu w systemie.Group
– grupa, do której należy pakiet.Size
– łączony rozmiar wszystkich plików jakie znajdują się w danym pakiecie.Summary
– krótki opis pakietu.Description
– dłuższy, dokładniejszy opis pakietu.Packager
– kto jest odpowiedzialny za stworzenie pakietu (pakietu, nie samej aplikacji).Build Date
– data utworzenia pakietu.Build Host
– nazwa komputera, na którym nastąpiło utworzenie pakietu.Source RPM
– nazwa źródłowego pliku RPM, na podstawie którego utworzono pakiet.License
– licencja na podstawie której jest rozprowadzana dana aplikacji.URL
– adres do strony danej aplikacji.-l
– lista plikówMożna także dodatkowo dodać przełącznik -v
, który spowoduje wyświetleni dodatkowych informacji o poszczególnych plikach:
-c
– wyświetlenie plików konfiguracyjnych-d
– wyświetlenie plików z dokumentacją--provides
– zależności dostarczane przez pakiet
Można wyświetlić informacje, jakie dodatkowe zależności, możliwości udostępnia wybrany pakiet (są one potem używane przez inne pakiety do określenia co jest wymagane do instalacji danego pakietu):
--requires
– czego wymaga dany pakiet do instalacji
W każdym pakiecie może znajdować się informacja o zależnościach, które muszą zostać spełnione zanim zostanie on zainstalowany:
Jak widać, pakiet x3270-3.3.4p7-3.el5.4.i386.rpm
wymaga spełnienia szeregu różnych zależności w celu jego instalacji. Można zauważyć, że na liście są wymieniane biblioteki ibicui18n.so.36
oraz libicuuc.so.36
, które są udostępniane przez pakiet libicu-3.6-5.11.4.i386.rpm
.
--scripts
– wyświetlenie skryptów instalacyjnych
Polecenie to spowoduje wyświetlenie skryptów wykonywanych zarówno przed/po instalacji/odinstalowaniu aplikacji.
queryformat
– samodzielne utworzenie informacji o pakiecie
Polecenie to pozwala na samodzielne zdefiniowanie listy informacji, jakie zostaną wyświetlone o danym pakiecie. Pełny opis polecenie znajduje się w dokumentacji oraz na stronach podanych na końcu wpisu.
Wyświetlenie nazwy oraz wersji pakietu:
Wyświetlenie daty instalacji pakietu:
Wyświetlenie listy plików, które znajdują się w pakiecie łącznie z ich rozmiarami:
Można także wyświetlić lisŧę wszystkich tagów, jakie mogą zostać użyte w opcji queryformat
:
Opis częsci z poszczególnych tagów można znaleźć w artykule Available Tags For –queryformat
Mar 1
Posted by Łukasz Stelmach in RedHat Enterprise Linux | Comments off
Aplikacja rpm
w dystrybucjach opartych o RedHat odpowiada za zarządzeni zainstalowanymi pakietami z oprogramowaniem. Można za jej pomocą m.in. instalować, usuwać, aktualizować oprogramowanie przygotowane przez twórców dystrybucji. Aplikacja rpm
gromadzi także informacje o wszystkich zainstalowanych programach, łącznie ich plikami konfiguracyjnymi, z dokumentacją i innymi. Aby móc poznać te informacji, posiada ona rozbudowany mechanizm zadawania zapytań, który zostanie przedstawiony poniżej.
Aby przełączyć polecenie rpm
w tryb zadawania zapytań, należy użyć przełącznika -q
lub --query
łącznie z dodatkowymi parametrami, które dzielą się na dwie grupy:
Ogólna definicja polecenia wygląda następująco:
Najprostszym sposobem jest podanie listy pakietów, o których chcemy wyświetlić szczegółowe informacje:
Wyświetlone zostaną wersje zainstalowanych pakietów lub też informacje o braku danego pakietu.
Niestety, za pocą tego polecenia nie można korzystać ze znaku gwiazdki (‚*’) w celu wyboru listy pakietów:
-a
– wybór wszystkich pakietów
Przełącznik ten powoduje wybranie wszystkich zainstalowanych pakietów:
Teraz można dowiedzieć się, jakie pakiety zaczynają się od słów gnome
:
-f
– pakiet, do którego należy podany plikOczywiście, nie każdy plik, który znajduje się na dysku jest składnikiem jakiegoś pakietu. Jeżeli rpm
nie potrafi odnaleźć właściciela, wyświetli stosowny komunikat:
-p
– wybór pakietu RPMrpm
zamiast sprawdzać informacje w swojej bazie danych, odczyta je po prostu z podanego pakietu:
Można się także zapytać o grupę pakietów:
-g
– pakiety należące do tej samej grupyZa uruchamianie cykliczne zadań w systemach Linuksowych odpowiada demon cron
. Jego konfiguracja odbywa się poprzez plik crontab
, w którym są zdefiniowane jakie zdarzenie i kiedy mają wystąpić. Dokładna dokumentacja znajduje się w pliku MAN crontab(5). Przykładowy wpis może wyglądać następująco:
Poszczególne pola definiują, kiedy dana akcja ma zostać wykonana:
30
– minutę4
– godzinę1,15
– dzień miesiąca (1 lub 15)*
– miesiąc (gwiazdka oznacza każdego miesiąca)5
– dzień tygodnia (piątek)root
– użytkownik, który ma wykonać akcję/bin/backup
– co ma zostać wykonanePomiędzy poszczególnymi zapisami jest stosowany spójnik „i”, czyli zapis powyżej oznacza: wykonania skryptu /bin/backup
przez użytkownika root
każdego miesiąca, w piątek oraz kiedy dzień miesiąca jest równy 1 lub 15 o godzinie 4:30.
I tutaj pojawia się mała niespodzianka, ponieważ ta definicja nie jest prawdziwa.
W dokumentacji można przeczytać coś takiego:
Note: The day of a command’s execution can be specified by two fields — day of month, and day of week. If both fields are restricted (ie, aren’t *), the command will be run when either field matches the current time.
Co oznacza (w wolnym tłumaczeniu):
Dzień wykonania danej komendy może zostać podany w dwóch polach: dzień miesiąca oraz dzień tygodnia. Jeżeli oba pola są zdefiniowane (czyli są tam wartości inne wartości niż „*”) dana komenda zostanie wykonana jeżeli do aktualnego będzie pasowało jedno z tych pól.
Czy definicja powyżej oznacza: wykonania skryptu /bin/backup
przez użytkownika root
każdego miesiąca, w piątek lub kiedy dzień miesiąca jest równy 1 lub 15 o godzinie 4:30.
Należy zapamiętać, że jeżeli podamy oba pola, to między nimi występuje spójnik „lub”.
Lut 11
Posted by Łukasz Stelmach in Linux, Wirtualizacja | Comments off
Problem: chcemy zalogować się na maszynę wirtualną ale nie możemy użyć aplikacji virt-viewer
bądź np. ssh
.
Najlepszym rozwiązaniem wtedy powinno być użycie polecenia:
Tutaj często pojawia się jednak problem, nie jesteśmy w stanie tego zrobić. Rozwiązanie tego problemu wymaga wprowadzenia pewnych modyfikacji po stronie systemu gościa i konfiguracji konsoli podłączonej portu szeregowego.
/etc/inittab
.Dla systemu Debian:
Dla systemu RedHat:
Należy do pliku /etc/securetty
dodać nazwę konsoli na którą chcemy się zalogować (jeżeli już nie jest ona tam wymieniona)
Można jeszcze włączyć możliwość podglądu startu systemu już od momentu uruchomienia Gruba. Aby to zrobić, należy wprowadzić następujące modyfikacje do pliku /boot/grub/menu.lst
lub /boot/grub/grub.conf
(najczęściej istnieje jeden z plików, a drugi jest linkiem do pierwszego)
1 2 | serial --unit=0 --speed=115200 --word=8 --parity=no --stop=1 terminal --timeout=10 serial console |
Wpis ten powinien znaleźć się powyżej pierwszej dyrektywy title
.
Należy także dodać następujący ciąg znaków console=ttyS0,115200
do linii ze ścieżką do jądra systemu. W przypadku RedHata linia taka wyglądałaby podobnie do tej:
1 2 3 4 | title Red Hat Enterprise Linux Server (2.6.18-164.el5) root (hd0,0) kernel /vmlinuz-2.6.18-164.el5 ro root=/dev/sda2 rhgb quiet console=ttyS0,115200 initrd /initrd-2.6.18-164.el5.img |
Dla Debiana natomiast warto dodać podane instrukcje w linii zaczynającej się tak:
1 | # kopt=root=/dev/mapper/eris-root ro |
Po modyfikacji linia ta będzie miała taką postać (zwracam uwagę na znak komentarza, jest i powinien zostać):
1 | # kopt=root=/dev/mapper/eris-root ro console=ttyS0,115200 |
Teraz pozostaje tylko uruchomić polecenie update-grub
:
1 2 3 4 5 6 7 | # update-grub Searching for GRUB installation directory ... found: /boot/grub Searching for default file ... found: /boot/grub/default Testing for an existing GRUB menu.lst file ... found: /boot/grub/menu.lst Searching for splash image ... none found, skipping ... Found kernel: /vmlinuz-2.6.26-2-amd64 Updating /boot/grub/menu.lst ... done |
Powoduje ona aktualizacje wpisów w pliku konfiguracyjnym tak, że będą one wyglądały tak jak poniżej. Także po instalacji nowego jadra systemu odpowiednie wpisy zostaną dodane do konfiguracji jądra.
1 2 3 4 | title Debian GNU/Linux, kernel 2.6.26-2-amd64 root (hd0,0) kernel /vmlinuz-2.6.26-2-amd64 root=/dev/mapper/scope-root ro quiet console=ttyS0,115200 initrd /initrd.img-2.6.26-2-amd64 |
Teraz pozostaje tylko zatrzymać maszynę wirtualną i ponownie ją uruchomić.
A teraz pozostaje nam wystartować maszynę za pomocą polecenia (jeżeli dysponujemy odpowiednio nową wersją komendy virsh
, opcja --console
jest dostępna przynajmniej od wersji 0.7.0)
W przypadku starszych wersji polecenia virsh
należy użyć sekwencji poleceń:
Po tych krokach powinniśmy połączyć się z maszyną wirtualną i możemy obserwować zarówno menu GRUB jak i proces startu maszyny wirtualnej.
Także jeżeli używamy do zarządzania maszynami wirtualnymi polecenia xm
, wszystko powinno działać. Należy jedynie zmienić polecenia służące do startu i zatrzymywania maszyn wirtualnych.
Arclite theme by digitalnature | powered by WordPress