Sep 17 2009

FTP tradycyjnie

ftp jest programem typu klient/serwer, umozliwiajacym transfer plikow z i do serwera. Pare prostych polecen umozliwia listowanie, nawigowanie, wgranie lub pobranie pliku z serwera.

Laczymy sie

czlowiek@maszyna:~$ ftp losoft.org

Program polaczy sie oraz poprosi o autoryzacje i po poprawnym logowaniu wyswietli sie nowy znak zachety

Connected to losoft.org.
Name: uzytkownik
Password:
230 User logged in
ftp>

Teraz mozemy juz dzialac. Na poczatek, listowanie plikow

ftp> ls

Nawigowanie

ftp> cd pub/

Nawigowanie lokalne

ftp> lcd /home/czlowiek/download/

Pobieranie

ftp> get plik_do_pobrania.tar.gz

Pobieranie wielu plikow (multiple get)

ftp> mget pliki*

Wgrywanie

ftp> lcd /home/czlowiek/upload/
ftp> put plik_do_wgrania.tar.gz

Bangi (!) – lokalne wywolywanie polecen

ftp> !ls

Wiem, ze w dobie X’ow, malo kto korzysta z konsoli do laczenia sie z ftp’em, lecz czasem zdarza sie, ze jest to jedyna sluszno-dostepna metoda ;) .


Sep 17 2009

Backup plikow

Mamy taki oto przypadek. Jest sobie komputer, brak USB, wolne lacze, brak dodatkowej karty sieciowej, a co najlepsze – brak trybu graficznego, jedyne co mamy to konsola i dzialajacy cdrw. Pozornie, komputer jest nie do uzytku ;) . Jak wiec zrobic kopie zapasowa plikow? Konsola jest najlepszym, najszybszym i niezastapiony narzedziem, jezeli znamy pare komend i wiemy jak ich uzyc.

Tworzenie cd image’a

czlowiek@maszyna:~$ mkisofs -r -o cd_image katalog_do_nagrania/

Oczywiscie, komponujemy odpowiedni obraz plyty, mieszczacy sie na plytce CD, wiec katalog_do_nagrania nie moze zawierac wiecej, niz sie na niej miesci.

Test cd image’a

czlowiek@maszyna:~$ mkdir /mnt/iso
czlowiek@maszyna:~$ mount -o loop cd_image /mnt/iso

W razie problemow z prostym montowaniem, wykonujemy nieco bardziej sparametryzowana komede

czlowiek@maszyna:~$ mount -t iso9660 -o ro,loop=/dev/loop0 cd_image /mnt/iso

Klik, klik, klik, sprawdzamy czy obraz plytki zawiera nasze pliki, jezeli jest wszystko, oraz, wielkosc obrazu jest odpowiednia, odmontowujemy

czlowiek@maszyna:~$ umount /mnt/iso

Wypalamy

czlowiek@maszyna:~$ cdrecord -data cd_image

Teoretycznie cdrecord sam wykryje, gdzie i w jaki sposob nagrac obraz, chyba, ze nie. Wtedy sprawdzamy jakie sa dostepne urzadzenia, parametryzujemy i wypalamy

czlowiek@maszyna:~$ cdrecord -v speed=48 dev=/dev/cdrw -data cd_image

Jezeli komputer nie ma monitora :>? Nie ma wiekszego problemu, komendujemy przez ssh. No i czysta plytka musi byc w napedzie. W komputerze zdalnym :) .


Sep 10 2009

Modyfikacja Grub 2

W najnowszej wersji Ubuntu (Karmic Koala) zmienil sie bootloader Grub i teraz, aby zmienic parametry uruchomienia kernela, musimy modyfikowac plik /etc/default/grub a nastepnie zaktualizowac /boot/grub/grub.cfg za pomoca polecenia update-grub.

Na poczatek prosto i standardowo, czyli, jak usunac splash screen.
Otwieramy plik z defaultowa konfiguracja

czlowiek@maszyna:~$ sudo nano /etc/default/grub

wyszukujemy linie GRUB_CMDLINE_LINUX_DEFAULT=”quiet splash” i usuwamy opcje splash. Ctrl+O, Ctrl+X i wywolujemy polecenie

czlowiek@maszyna:~$ sudo update-grub

Ta prosta modyfikacja wylaczyla splash’a podczas uruchamiania systemu, a co z innymi opcjami?

Moze, krotko na temat dostepnych opcji:

GRUB_DEFAULT – ([liczba]/saved) ustawienie elementu startowego menu – numerycznie 0..n, lub saved jezeli chcemy, aby zostal zapamietany ostatni wybor, np. GRUB_DEFAULT=0, GRUB_DEFAULT=saved,
GRUB_TIMEOUT – ([liczba]) liczba sekund zanim automatycznie zostanie uruchomione domyslne wejscie, np. GRUB_TIMEOUT=5,
GRUB_HIDDEN_TIMEOUT – ([liczba]) jak wyzej, lecz w przypadku, gdy menu jest ukryte. Jezeli opcja (linia) jest wyhashowana lub ma wartosc 0, menu nie wyswietli sie. Aby wymusic wyswietlenie menu, nalezy przytrzymac klawisz Shift podczas bootowania systemu,
GRUB_HIDDEN_MENU_QUIET – (true/false) widoczne odliczanie gdy menu jest ukryte,
GRUB_DISTRIBUTOR – okresla nazwe opisowa w menu, (Ubuntu, Kubuntu, Xubuntu, Debian, itd.), np. lsb_release -i -s 2> /dev/null || echo Debian,
GRUB_CMDLINE_LINUX_DEFAULT – dodatkowe wpisy dolaczane podczas standardowego (normal) uruchomienia jadra systemu. Jest podobne do defoptions z menu.lst. Aby pozostawic czarny ekran z przewijana lista komunikatow startowych, nalezy usunac quiet splash. Ekran powitalny z ograniczona liczgo komunikatow splash, np. GRUB_CMDLINE_LINUX_DEFAULT=”splash”.

splash boot

To na tyle jezeli chdzi o podstawy do podstaw, wiecej na stronie projektu GRUB 2.


Jul 26 2009

Muzyka na pozniej – streamripper

shoutcaststreamripper – rip shoutcast radio streams to mp3 files.
Streamripper umozliwia nagrywanie strumieni shoutcast i icecast, tnac je w locie na kawalki i zapisujac na dysku jako pojedyncze pliki mp3.
Ponadto zawiera przekaznik serwera co umozliwia sluchanie nagrywanych stacji live.
Nagrywanie jest strasznie banalne. Oczywiscie najpierw musimy go zainstalowac.

czlowiek@maszyna:~$ sudo apt-get install streamripper

Teraz wystarczy juz tylko zapuscic nasza ulubiona stacje.

czlowiek@maszyna:~$ cd Muzyka
czlowiek@maszyna:~/Muzyka$ streamripper http://scfire-mtc-aa06.stream.aol.com:80/stream/1022

181FM – The Buzz – suuper radyjko . Jezeli zechcemy teraz posluchac radyjka sprzed tygodnia, no problem, sofcik utworzyl osobny katalog z nazwa stacji. Moze jednak masz ochote posluchac radia w locie jednoczesnie nagrywajac, nic trudnego, mozesz to zrobic dodaj opcje r do polecenia.

czlowiek@maszyna:~/Muzyka$ streamripper http://scfire-mtc-aa06.stream.aol.com:80/stream/1018 -r

Opcja r tworzy relay server rozsylajacy muze po porcie 8000. Teraz wystarczy zapuscic Rhythmbox’a i odpalic adres http://localhost:8000. Jezeli chcemy umozliwic innym sluchanie tej samej stacji wystarczy dodac -R 10, gdzie 10 jest maksymalna liczba sluchaczy retransmitowanej przez nas stacji.

czlowiek@maszyna:~/Muzyka$ streamripper http://scfire-mtc-aa06.stream.aol.com:80/stream/1018 -r -R 10

Nagrywany strumien ciety jest na kawalki zapisywane jako pliki mp3 i umieszczane w tymczasowym katalogu, nastepnie przenoszone do katalodu docelowego. Jezeli przenoszony plik juz istnieje program stosuje technike larger nadpisujac istniejacy plik jedynie gdy jest mniejszy. Jezeli zas stwierdzimy, ze nasza kolekcja nie powinna byc nadpisywana, mozemy uzyc opcji never, albo always gdy chcemy miec najnowsza wersje.

czlowiek@maszyna:~/Muzyka$ streamripper http://scfire-mtc-aa06.stream.aol.com:80/stream/1018 -o never
czlowiek@maszyna:~/Muzyka$ streamripper http://scfire-mtc-aa06.stream.aol.com:80/stream/1018 -o always

Co mozemy jeszcze zrobic za pomoca programiku? A no, mozemy naprzyklad przekazac do serwera, z ktorego odbieramy stream, nazwe “naszego playera” ;) . Oczywiscie wszelkie cool front end’y dla streamripper’a pod gtk oczekiwane ze zniecierpliwieniem, np plugin do Rhythmbox’a.

czlowiek@maszyna:~/Muzyka$ streamripper http://scfire-mtc-aa06.stream.aol.com:80/stream/1022 -u "Super hiper wypasiony player ; )"

Jezeli powyzsze informacje juz nie wystarczaja polecam manual,

czlowiek@maszyna:~$ man streamripper

albo stronke online, ktora robi to rownie dobrze pwet.fr.

Strona domowa projektu jest tutaj.

No tak, a skad te adresy stacji? Z najbardziej wypasionego serwisu jaki znam www.shoutcast.com.


Jul 22 2009

Popularne polecenia

Listowanie

czlowiek@maszyna:~$ ls
czlowiek@maszyna:~$ ls -la

Kopiowanie

czlowiek@maszyna:~$ cp plik.txt ~/katalog/

Przenoszenie

czlowiek@maszyna:~$ mv plik.txt ~/katalog/

Zmiana nazwy

czlowiek@maszyna:~$ mv plik.txt plik2.txt

Tworzenie katalogu

czlowiek@maszyna:~$ mkdir katalog

Tworzenie pliku

czlowiek@maszyna:~$ touch plik.txt
czlowiek@maszyna:~$ nano plik.txt

Wyswietlenie pliku

czlowiek@maszyna:~$ nano -v plik.txt
czlowiek@maszyna:~$ less plik.txt
czlowiek@maszyna:~$ more plik.txt

Zmiana praw

czlowiek@maszyna:~$ chmod a+rwx plik.txt
czlowiek@maszyna:~$ chmod ugo-rw plik.txt
czlowiek@maszyna:~$ chmod 777 plik.txt
czlowiek@maszyna:~$ chmod 000 plik.txt

Zmiana wlasciciela

czlowiek@maszyna:~$ chown czlowiek2 plik.txt

Wyszukiwanie

czlowiek@maszyna:~$ find /home/czlowiek/ -name plik?.*
czlowiek@maszyna:~$ find /home/czlowiek/ -name pli\*.txt
czlowiek@maszyna:~$ ls | grep plik.txt
czlowiek@maszyna:~$ more plik.txt | grep "wyszukiwana tresc w pliku"
czlowiek@maszyna:~$ ps ax | grep cron

Porownanie plikow

czlowiek@maszyna:~$ diff plik.txt plik2.txt

Usuwanie pliku

czlowiek@maszyna:~$ rm plik.txt

Usuwanie katalogu

czlowiek@maszyna:~$ rmdir katalog
czlowiek@maszyna:~$ rm -fr katalog

Zmiana sciezki

czlowiek@maszyna:~$ cd /home/czlowiek/katalog/katalog2
czlowiek@maszyna:~/katalog/katalog2$ cd ../katalog3
czlowiek@maszyna:~/katalog/katalog3$ cd ../..
czlowiek@maszyna:~$ cd ..

Pomoc

czlowiek@maszyna:~$ nano --help
czlowiek@maszyna:~$ man nano

Kto zalogowany

czlowiek@maszyna:~$ who

Kim jestem

czlowiek@maszyna:~$ whoami

Gdzie jestem

czlowiek@maszyna:~$ pwd

Lokalizacja programow

czlowiek@maszyna:~$ whereis nano

System

czlowiek@maszyna:~$ uname -a

Czas pracy

czlowiek@maszyna:~$ uptime

Aktualny czas

czlowiek@maszyna:~$ date

Wolna pamiec

czlowiek@maszyna:~$ free

Utworzenie archiwum tar

czlowiek@maszyna:~$ tar cvf archiwum.tar /katalog/do/spakowania

Rozpakowanie archiwum tar

czlowiek@maszyna:~$ tar xvf archiwum.tar -C /katalog/wypakowania

Utworzenie archiwum tar.gz

czlowiek@maszyna:~$ tar czvf archiwum.tar.gz /katalog/do/spakowania

Rozpakowanie archiwum tar.gz

czlowiek@maszyna:~$ tar xzvf archiwum.tar.gz -C /katalog/wypakowania

Utworzenie archiwum tar.bz

czlowiek@maszyna:~$ tar cjvf archiwum.tar.bz /katalog/do/spakowania

Rozpakowanie archiwum tar.bz

czlowiek@maszyna:~$ tar xjvf archiwum.tar.bz -C /katalog/wypakowania

Ciecie duzych plikow

czlowiek@maszyna:~$ split -b 700M very-big.iso prefix_
czlowiek@maszyna:~$ ls -l
...
very-big.iso
prefix_aa
prefix_ab
prefix_ac
prefix_ad
prefix_ae
prefix_af
prefix_ag

Sklejanie pocietych plikow

czlowiek@maszyna:~$ cat prefix_* > very-big.iso