Efektywna praca z konsolą w Linuksie cz.2

Wpis zamieszczony o 17:15:39, 19 marca 2007 Trackback


Mój poprzedni wpis dotyczący poprawy wydajności pracy pod konsolą spotkał się z dość ciepłym przyjęciem, postanowiłem więc kontynuować ten temat i przedstawić Wam 5 kolejnych narzędzi, bez których żyć nie potrafię. Jeśli któregoś z nich nie będziecie mogli znaleźć w Waszym systemie - skorzystajcie ze znanych już Wam narzędzi jak apt-cache, apropos (pierwsza propozycja na dziś) i innych. Wszystkie są dostępne w repozytoriach Ubuntu i Debiana.



1. Jaka to była komenda...

W czasie pracy w konsoli może nam się zdarzyć zapomnieć o jakiejś komendzie, znamy jednak jej zastosowanie. Możemy sobie z tym bardzo prosto poradzić. Wpisujemy
$ apropos {słowo klucz}
Gdzies {słowo klucz} to słowo, które jest powiązane z działaniem komendy. Dla przykładu - gdy szukamy polecenia, które umożliwia nam sprawdzenie miejsca na dysku wpisujemy:
$ apropos disk
aby zawęzić "grono podejrzanych" możemy zastosować standardowe narzędzia i otrzymujemy:

[16:31:44] root@orion:/serwer/konta/download# apropos disk | grep usage
df (1)               - report file system disk space usage
quota (1)            - display disk usage and limits
quotacheck (8)       - scan a filesystem for disk usage, create, check and repair quota files

Nic prostszego. Przecież nikt z nas nie zna na pamięć wszystkich potrzebnych komend. :-)


2. Co mi tyle miejsca zajmuje..

Z czasem wszyscy zaczynamy z przerażeniem patrzeć na ilość zajętego miejsca na naszej głównej partycji. Wartość ta jakkolwiek duża by nie była partycja w którymś momencie zaczyna nas niepokoić. Stosuję wtedy szybki chwyt aby zobaczyć co gdzie i czemu mi zabiera tyle miejsca. Komenda:
$ du -h -c --max-depth=1 zwraca nam w całkiem przystępnej formie ilość zajętego miejsca w każdym katalogu poczynając od miejsca wykonania polecenia. W ten sposób, zaczynając od / możemy sprawdzić, co tak naprawdę zabiera najwięcej wolnego miejsca i spróbować się tego pozbyć. Nie raz nie dwa sposób ten pozwolił mi zaoszczędzić godziny poszukiwań. Polecam!


3.Alternatywa dla fdisk'a

Nie potrafię obsługiwać fdiska. Przyznaję się bez bicia. To toporny i nieintuicyjny program. Po co mi męczyć się z tym programem.. Mam przecież coś lepszego!
# cfdisk
Nigdy w życiu nie widziałem lepszego zarządcy partycji dla Linuksa. Używam go regularnie od kilkudziesięciu tygodni i sprawdza się po prostu znakomicie. Zdaję sobie sprawę, że partycjonowania nie wykonujemy codziennie, jednak posiadanie pod ręką wspomnianego narzędzia w sytuacji "kryzysowej" jest nieocenione.


4.Co mi się dzieje w systemie...

Analiza logów systemowych to temat - rzeka. Za czasów gdy dinozaury przechadzały się po naszej planecie Linuksowcy przeglądali je ręcznie, co sprytniejsi grepowali, awkowali, sedowali i co się tam jescze dało. Po co?
# logwatch
Po krótkiej chwili na Wasze lokalne (skonfigurowane!) konto mailowe przyjdzie wiadomość w "ludzkim formacie" podsumowująca działanie systemu przez ostatnie 24 godziny (licząc od dnia wczorajszego). Jeśli nie mamy skonfigurowanego konta mailowego możemy wydrukować raport na konsolę - odsyłam do pomocy samego programu. Logwatch jest najlepszym moim zdaniem automatycznym analizatorem logów systemowych. Możliwość pełnego oskryptowania, dodawania swoich własnych modułów, mobilność i prostota użycia przy bardzo dokładnej analizie końcowej - nieocenione. 10/10!


5.Limitowanie upload/download

I ostatnie już narzędzie - trickle. Służy ono do cięcia naszego łącza internetowego dokładnie tak, jak my chcemy. Przykład:
$ trickle -u 1 -d 70 wget -c http://kernel.org/pub/linux/kernel/v2.6/linux-2.6.20.3.tar.bz2
Wywołanie takie spowoduje ściąganie najnowszego dostępnego na chwilę obecną kernela linuksa z prędkością 70KB/s, nigdy wyższą. Możemy dzięki temu uruchomić kilka różnych sesji wget'a i nadal dysponować łączem na przeglądanie np. stron internetowych lub wygodną rozmowę poprzez komunikatory internetowe. Osobiście używam trickle do przeprowadzania transparentnych aktualizacji na swoim serwerze. Użytkownicy nawet nie widzą spadku wydajności a system spokojnie się update'uje. Wygodne :-)

Na dziś to tyle. Jak zwykle:

Enjoy!

Komentarze do “Efektywna praca z konsolą w Linuksie cz.2”


  1. wget ma parametr --limit-rate


  2. 1, 4 i 5 się przyda ;) Ale z jednym się nie zgodzę, konkretnie z tym:
    "Przecież nikt z nas nie zna na pamięć wszystkich potrzebnych komend. :-)"


  3. @rash - wget akurat ma, to prawda (nie wiedziałem o tym, zwracam honor!), jednak trickle świetnie się sprawdza wraz z apt-get, rtorrent i innymi cudactwami, które chcemy limitować przez userspace. Wget w przykładzie rzeczywiście troszkę niefortunnie wygląda :-).


  4. apt-get nie korzysta z wgeta? Ja w Gentoo dodaje po prostu do make.conf FETCHCOMMAND="/usr/bin/wget --limit-rate=50k \${URI} -P \${DISTDIR}

    rtorrent też ma built-in ogranicznik ;-)


  5. rtorrent'owy ogranicznik mi nie działa :( Dziś w nocy ściągałem sobie muzyczkę z jamendo, użyłem tych limitów wbudowanych i... ciągnęło pełnym łączem.. :/ Muszę nad tym posiedzieć.

    Powiem Ci szczerze że nigdy się nie zagłębiałem w kod apt-get'a. Z tego co można organoleptycznie sprawdzić nie używa on wget'a, zajrzę jednak do source'codeu i może go strace'uje - czegoś się dowiem. To że emerge korzysta z wget to akurat widać gołym okiem - w Debianie sytuacja nie jest tak oczywista.


  6. Mi się logwatch spodobał :)


  7. Logwatch jest niesamowity :-) Bardzo długo szukałem dobrego i szybkiego analizatora logów. Oczywiście można przeglądać każdy plik i szukać w nim błędów, jednak po co? :-) Świetne narzędzie - przeskanowałem sieć i wypróbowałem wiele analizatorów. Ten jest idealny.

  8. Michał Górny

    Ad. 3) Ja długi czas GNU parteda używałem ( ;. Jakoś „fdisk” mi się windzianie kojarzyło.

    Ad. 5) O trickle jeszcze nie słyszałem, ale skoro potrafi i upbound limitować, to przyjemne musi być. Ach, ile to ja się męczyłem z traffic shaperem… a potem chamy i tak go zdeprecjonowali > ;.


  9. trickle - po co? HTB od czegos sluzy..... i jest to bardziej globalne...


    ps. czy ta strona kiedys zapamienta jaki mam nick, zebym nie musial go wklepywac? :P


  10. Nie każdemu na desktop chce się używać HTB - czasem trzeba szybkiego rozwiązania działającego w userspace.

    Mi zapamiętuje nick. Innym też. ;]


  11. ad 2. ja wolę du -c --max-depth 1 | sort -n :)
    [bez -h. czyli bez human-readable, za to przesyłamy do sorta, -n traktuje jako liczby]

    a no i du się jeszcze w jednej sytuacji przydaje...:
    cd /home; deluser --remove-all-files "`du -s * | sort -n | tail -1 | sed -re 's/^[0-9]+//'`"


  12. To jeszcze dodam ad 1:
    apropos = man -k
    Prostsze do wpisania;)


  13. Odnośnie cięcia pasma i wget -
    ( Debian ) - zajrzyj(cie) do /etc/apt/apt-file.conf ( paczka apt-file ).

    I można ustawiać co i gdzie się chce.

    Oczywiście, to bez sensu ustawiać w ten sposób każdy program, ale w przypadku apt da się.


  14. A propos zachwytu nad cfdiskiem. Zrób trochę partycji za pomocą fdisk albo (g)parted i spróbuj je obsłużyć cfdiskiem. Masz duże szanse, że program wywali błąd nakładki partycji. Żeby dokładniej zobrazować o co mi biega: zrób w fdisku partycję, której początek będzie w dokładnie tym samym sektorze co koniec poprzedniej. Każdy inny program sobie radzi z taką nakładką, tylko nie cfdisk.


  15. Partycje tworzę za pomocą cfdisk, więc nie mam takich problemów. :]
    Poza tym, nie spotkałem się jeszcze z partycją, która zaczyna się na sektorze poprzedniej. Żaden ze znanych mi partycjonerów tak nie robi.


  16. Robi robi. Chociażby wymienione przez mnie wyżej.


  17. Krótkie i zwięzłe howto - to lubię :)
    Rzeczy które chciałem znaleźć, ale jakoś mi się nie chciało szukać. Otwieram jakilinux.org a tam newsik z linkiem - rozwiązanie samo do mnie przyszło :)
    Gratki


  18. :) więcej takich opisów!!


  19. miałem napisać, że wget ma opcję --limit-rate, ale widzę już ktoś mnie uprzedził :P Ale wielkie dzięki za TRICKLE taki program jest mi czasem potrzebny, a jakoś nigdy nie miałem czasu go poszukać ;]
    Jak będzie chwila to zerknę i na LOGWATCH ;)


  20. Co do limitowania apt'a przez trickle właśnie jest w sieci fajny tutorial: http://ubuntuforums.org/archive/index.php/t-20342.html

    Cała sztuczka polega na podmianie programu pobierającego (/usr/lib/apt/methods/http) na skrypt wywołujący trickle z odpowiednim parametrem.


  21. Dziękuję za opisy, logwatch mi się przydał. Szukałem tego. :)

Dodaj komentarz

Textile jest włączony. Zobacz składnię (wiki.jogger.pl)

code