Dla początkujących w Linuksie i tych trochę zaaansowanych. Przemyślenia, wskazówki i porady... a czasem po prostu coś przyjemnego.
Kategorie: Wszystkie | Felietony | Pingwin i ja | Pingwin obok windy | Poradnik hodowcy
RSS
wtorek, 24 listopada 2009
Podstawy rozmów z pingwinem - o poleceniach słów kilka

Jesteśmy już krok dalej. Z poprzedniego artykułu dowiedzieliśmy się, czym jest konsola i dlaczego warto z niej korzystać. Kolej na dwa słowa o tym, jak należy wykorzystywać tryb tekstowy. Nie będę się rozwodził na temat wprowadzania poleceń (bo nie ma nad czym: wpisujemy polecenie i potwierdzamy klawiszem enter), skupię się na samych poleceniach

Najprostsza opcja polecenia, to to składające się tylko ze swojej nazwy. Uruchamiamy zatem konsolę (u mnie jest to klik prawym klawiszem na pulpicie i wybranie "Terminal tekstowy") i czekamy na zgłoszenie się znaku zachęty systemu. Jeśli używasz powłoki bash (opiszę niedługo co to takiego), otrzymasz pewien ciąg znaków zakończony znakiem dolara. Na przykład coś takiego:

user@domowy:~$

Spróbujmy zatem wpisać pierwsze polecenie:

user@domowy:~$ groups
disk adm dialout cdrom plugdev lpadmin admin sambashare
user@domowy:~$

Jak widać, polecenie groups spowodowało wyświetlenie wyniku polecenia (w przypadku tego konkretnego polecenia to lista grup, do których należy użytkownik), po czym system ponownie wyświetlił znak gotowości oczekując na kolejne polecenie.
Ten przykład, powiedzmy sobie szczerze, był bardzo prosty. Chodźmy głębiej.

Część poleceń dopuszcza podawanie dodatkowych opcji, które wpływają na sposób wykonania polecenia. Dobrym przykładem będzie polecenie "ls", wyświetlające zawartość bieżącego katalogu.

user@domowy:~$ ls
. .. gry dokumenty

W ten sposób otrzymaliśmy zawartość katalogu... ale czy na pewno? Domyślnie, przy poleceniu "ls" Linuks nie wyświetla plików ukrytych (plik ukryty to taki, którego nazwa zaczyna się od znaku kropki). Wyświetlmy zatem pełną listę katalogów:

user@domowy:~$ ls -a
. .. .zdjecia gry dokumenty

Jak widzisz, na liście pojawił nam się nowy katalog - "zdjęcia" - wystarczyło tylko dodać do polecenia odpowiednią opcję.

Istnieją dwa rodzaje opcji: - opcje krótkie: składające się z jednej litery, podajemy je po znaku "-" (np. ls -a); możemy podać kilka tych opcji po sobie w ramach jednego minusa (np. ls -la jest tym samym co ls -l -a), - opcje długie: składają się z całego wyrazu, podawanego po znaku "--" (np. ls --help).

Robi się coraz ciekawiej, ale to oczywiście nie wszystko. Do polecenia prócz opcji możemy podać parametr. W przeciwieństwie do opcji, parametr użytkownik wielokrotnie jest w stanie wybrać samodzielnie, podczas gdy liczba opcji jest sztywna i zależna od konkretnego polecenia. Weźmy najprostszy przykład z brzegu: stare dobre polecenie ls. Jak sądzisz, co się teraz stanie?

user@domowy:~$ ls /var

Zobaczmy...

user@domowy:~$ ls /var
account cache ftp local lost+found opt run www
adm db iptraf lock mail preserve spool yp
arpwatch empty lib log nis rap tmp

Do polecenia "ls" podaliśmy parametr "/var". Dla komputera znaczyło to "wykonaj polecenie ls na katalogu /var". Innymi słowy - wyświetliliśmy zawartość katalogu innego niż ten, w którym się znajdujemy.

Kolejną ciekawą możliwością jest połączenie (tak, to możliwe!) opcji i parametrów. Możemy bez problemu połączyć obie możliwości z powyższych przykładów i wyrzeźbić takie polecenie:

user@domowy:~$ ls -a /var

Zapewne już wiesz, co się stanie, ale na wszelki wypadek wytłumaczę, rozbijając polecenie na kolejne linie:

ls [wyświetl zawartość]
-a [pokazując również ukryte pliki i katalogi]
/var [dla katalogu /var]

Prawda, że proste? Na szczęście już kończymy. Na sam koniec bardzo ciekawa opcja "&". Wydaj proszę w swojej konsoli polecenie "firefox" (zakładam, że masz zainstalowaną tę przeglądarkę). Uruchomiło się okno przeglądarki... ale zauważ, że konsola została zablokowana - w ramach niej uruchomiłeś proces, który trwa, gdy go zamkniesz, konsola stanie się znów dostępna. Z pomocą przychodzi nam "magiczna" opcja "&" - wpisz proszę "firefox &". Przeglądarka uruchomiła się, ale zauważ, że konsola jest dostępna. Dzieje się to dlatego, że opcja "&" uruchamia proces w tle, nie na pierwszym planie.

Dobrze, starczy nauki, nadchodzi lekcja trzecia, w której pobiegamy nieco po systemie plików.

piątek, 20 listopada 2009
Grub kontra recovery - odzyskiwanie GRUBA, gdy nadzieje już stracone...

Tuż po tym, gdy kupiłem nowy komputer, zainstalowałem na nim linuksa. Naturalna kolej rzeczy wskazywała, że w koncu trzeba będzie zalogować się pod Vistę - GRUB miał jednak dwie pozycje oznaczone identycznie, jako Vista. Wybrałem jedną z nich, pojawiło się nieznane mi okno logowania... bach, zalogowałem się na partycję odzyskiwania systemu. Monitor zaprosił mnie do przeprowadzenia procedury odzyskiwania, ja grzecznie podziękowałem, wyłączając okno (krzyżykiem, nie było innej opcji), załadowałem komputer jeszcze raz. Pojawia się "GRUB loading..." i restart. Nieskończona pętla. Prawdopodobnie system odzyskiwania częściowo wyczyścił sektor MBR, usunął tablicę z systemami, nie usunął samego GRUBa. Trzeba to jakoś naprawić, odzyskać GRUB. Tylko jak?

Kliknij tu, jeśli chcesz przejść bezpośrednio do rozwiązania problemu.

Załóżmy, żeby było zabawniej, że odzyskanie GRUBa (ogólnie: dostępności komputera) możemy zrobić tylko w pełni legalnymi metodami.

Zaczynamy od Windowsa. Mamy dwie możliwości: użytkownik ma płytę z systemem, albo jej nie ma.

W przypadku, gdy użytkownik nie ma płyty (np. ja - mam system kupiony z komputerem), jesteśmy w lesie. Pozostaje tylko wizyta serwisowa i naprawy w ramach gwarancji, do tego: ciekawe, czy serwis zrobi to w ramach gwarancji, czy każe za to dodatkowo płacić (w końcu to jest problem, który spowodowała ingerencja użytkownika w sektor MBR!). Podsumowanie: kilka dni i być może kilka złotych straty.

Gdy użytkownik ma płytę, jest już trochę łatwiej: XP miał takie cudo jak "Konsola odzyskiwania", pewnie Vista też ma coś takiego. Jedynym minusem tej sytuacji jest wyprawa do kafejki internetowej (skądś trzeba wziąć wiedzę o tym, co w tej konsoli wpisać). Podsumowanie: godzina - dwie straty.

Zobaczmy jak sytuacja wygląda zatem z drugiej strony barykady: Linuks. Sytuacja jest tu prosta: używamy LIVE CD! Ta wspaniała funkcjonalność pozwala odpalić nam system operacyjny z płyty, mamy ponadto dostęp do wszystkich dysków i oczywiście internetu. Jeśli nie mamy takiej płytki, możemy pożyczyć od kolegi (z Windows nie możemy tak zrobić - umawialiśmy się na legalność). Podsumowanie: 5 minut ładowania systemu + 15 minut pracy przy sprawnym przeszukiwaniu Google.

Live CD to kolejny powód, dla którego warto używać Linuksa. Jeśli mam zrobioną kopię systemu na dysku zewnętrznym, w przypadku problemów mogę za pomocą Live CD skopiować pliki do systemu i powrócić do stabilnego działania.

Dobrze, czas teraz na opis przywracania GRUBa. Pożyczyłem go z forum Ubuntu, przy czym opisów tego jest sporo na rozmaitych forach. Na pewno działa pod Ubuntu, ale zdaje mi się, że winien działać pod każdym systemem.

W konsoli wpisujemy:
sudo mkdir /mnt/root
sudo mount -t extK /dev/hdaX /mnt/root

(hdX to partycja, na której zainstalowany jest Linuks, jeśli pierwszego instalowałeś Windowsa, pewnie będzie to hd2, jeśli instalowałeś linuksa na osobnym dysku, nie partycji, to pewnie będzie to hdb1, extK - wpisujemy system plików jakiego używamy: ext2, ext3 czy ext4)
Atakujemy dalej:
sudo mount -t proc none /mnt/root/proc
sudo mount -o bind /dev /mnt/root/dev
sudo chroot /mnt/root /bin/bash
sudo grub

Czekamy, aż grub przywita nas znakiem zachęty ">" i wpisujemy:
find /boot/grub/stage1
Otrzymamy informację o miejscu, w którym jest/powinien być zainstalowany. Będzie ona w formacie (hd0,1). Przepisujemy znalezioną wartość do obu poniższych komend.
root (hd0,1)
setup (hd0)

Na koniec żegnamy się z grubem:
quit

I koniec, można sprawdzić, czy działa!

czwartek, 19 listopada 2009
Konsola - wstęp, czyli dlaczego warto

Kategorię, w której zamierzam tworzyć artykuły przeznaczone dla osób zaczynających swoją przygodę z Linuksem, rozpocznę od przybliżenia podstaw Tego, Co Odstrasza Początkujących - trybu tekstowego, który potocznie nazywać będę konsolą.

Na forach zdarzają się wpisy osób, które albo nie chcą/nie umieją używac konsoli, albo bardzo słabo sobie z tym radzą. Cóż, należy to powiedzieć wprost: można używać Linuksa nigdy nie dotykając konsoli, ale (biorąc pod uwagę fakt, że opanowanie absolutnych podstaw jest nietrudne) jest to odbieranie sobie możliwości sprawnego zarządzania systemem i identyfikacji potencjalnych błędów.

Czym zatem jest konsola? Mówiąc najprościej (i, umówmy się, zwyklemu użytkownikowi taka definicja wystarczy), jest to tekstowy tryb pracy w systemie operacyjnym. Przekazujemy polecenia wpisując komendy z klawiatury i w określony sposób (ekran, głośniki, drukarka...) odbieramy wynik. Więcej wiedzieć nie potrzeba - ale oczywiście można, pewnie docelowo popełnię jakiś tekst dla bardziej zainteresowanych tematem.

Dlaczego warto jej używać?

1. To potężne narzędzie
Dla człowieka nawykłego do wyskakujących z każdej strony mrugających obrazów, ikonek i całej funkcjonalności związanych z tradycyjnymi środowiskami graficznymi, konsola może wyglądać jak relikt; w rzeczywistości jednak konsola jest bardziej potężnym narzędziem niż środowisko graficzne: z konsoli jesteśmy w stanie zrobić wszystko, ze środowiska graficznego - tylko to, do czego graficzny interfejs (okienko albo inne cudo) przygotował nam programista. Dotyczy to zarówno administracji systemem, jak i poszukiwania źródeł napotkanych błędów.

2. Jest szybsza niż myszka
Brzmi dziwnie, ale to prawda. Dla osób, które potrafią pisać szybko na klawiaturze, jest to oczywiste - wiele rzeczy można o wiele szybciej wypisać niż wyklikać. Dobrze umiejscowiony skrót klawiszowy odpowiadający za uruchomienie konsoli może tylko sprawę przyspieszyć. Niemniej jednak, osoby piszące nieco wolniej, również będą w stanie efektywnie (i wielokrotnie szybciej niż klikając) używać klawiatury.
Dodatkowo (dzięki, ramarren!), w przypadku, gdy szukając określonych danych musimy posiłkować się pomocą innych (np. przez forum), konsola zyskuje dodatkowy, ogromny plus: łatwiej jest napisać komuś konkretne polecenie, niż rozpisywać się o tym, jak doklikać się do jakiegoś parametru i jak go potem zmienić. Działa to też w drugą stronę: wklejenie gotowego polecenia i klepnięcie "enter" jest dużo szybsze niż "doklikiwanie" się do czegoś przy jednoczesnym zczytywaniu kolejnych kroków z forum.

3. Jest przyjemną alternatywą
Powiem szczerze, że mnie praca w konsoli bardzo uspokaja - i zapewne nie tylko mnie; wiadome jest, że spokojne, jednostajne tło, z którego nie wyskakują powiadomienia i inne błyszczące obrazki, bardziej sprzyja spokojnej, przyjemnej pracy. Wielokrotnie warto zrezygnować z wygody i potrzebny plik czy stronę internetową (sic!) przeglądnąć właśnie w trybie tekstowym. Bez graficznego edytora czy tradycyjnej przeglądarki.

W następnej części pojawią się podstawy poruszania się w trybie tekstowym, tymczasem, podsumowując niniejszy artykuł, powtórzę: w Linuksie można pracować bez konsoli, jednak znajomość (choćby podstaw!) zwróci się szybciej, niż można przypuścić.