czwartek, 27 grudnia 2012

Instalacja google chrome na debianie

W celu odnalezienie pakietu instalacyjnego .deb wpisałem w google "download chrome" i kliknąłem w link pobierz.

Po pobraniu zalogowałem się na roota, przeszedłem do katalogu Pobrane i wykonałem polecenie:

dpkg -i google-chrome-stable_current_amd64.deb

Po instalacji przeglądarka niestety nie pojawiła się w programy >> internet więc musiałem ją ręcznie dodać przez przejście w system >> preferencje >> Menu główne >> internet >> nowy element.

Wpisałem nazwę chrome oraz polecenie google-chrome, po czym zapisałem zmiany.

Po wykonaniu powyższych czynności uruchamianie przeglądarki z menu stało się możliwe.


środa, 26 grudnia 2012

Skrypt do usunięcia spacji oraz polskich znaków z nazw plików

Od czasu do czasu wykonuje działania na plikach i niektóre skrypty/programy nie radzą sobie ze spacjami lub też polskimi znakami.




Zdarza mi się regularnie konwertować pdfy do txt, ponieważ kindle czasami nie radzi sobie z dużymi pdfami (wiesza się), oraz gdy mam książkę w formacie txt mogę dowolnie modyfikować wielkość czcionki (przy pdfach tej opcji w kindle nie ma).



Powyższe skłoniło mnie do przeszukania zasobów internetu w celu znalezienia metody automagicznej zmiany nazw plików co zaowocowało następującym skryptem:




#!/bin/bash
rename 's/ą/a/g' *.* ;
rename 's/ę/e/g' *.* ;
rename 's/ś/s/g' *.* ;
rename 's/ż/z/g' *.* ;
rename 's/ź/z/g' *.* ;
rename 's/ł/l/g' *.* ;
rename 's/ó/o/g' *.* ;
rename 's/ń/n/g' *.* ;
rename 's/ć/c/g' *.* ;
rename 's/Ą/A/g' *.* ;
rename 's/Ę/E/g' *.* ;
rename 's/Ś/s/g' *.* ;
rename 's/Ż/Z/g' *.* ;
rename 's/Ź/Z/g' *.* ;
rename 's/Ł/L/g' *.* ;
rename 's/Ó/O/g' *.* ;
rename 's/Ń/N/g' *.* ;
rename 's/Ć/C/g' *.* ;
rename 's/ /_/g' *.* ;





Przykład wykonania skryptu:
root@diabel:/home/pawel/ren# touch "ęśĘŚĆŹŻżóÓŁ wesś.txt"
root@diabel:/home/pawel/ren# ls
ęśĘŚĆŹŻżóÓŁ wesś.txt skrypt.sh
root@diabel:/home/pawel/ren# ./skrypt.sh
root@diabel:/home/pawel/ren# ls
esEsCZZzoOL_wess.txt skrypt.sh




Po zmianie nazw plików robie już tylko listę pdfów po której leci pętla konwertująca pdfy do txt (program pdftotext).


Rename - czyli jak usunąć spacje z nazw plików

Skrypty/programy często mają problemy z wykonywaniem działań na plikach posiadających spacje w nazwie. Najłatwiejszą automatyczną metodą zmiany nazw wielu plików za jednym razem jest wykorzystanie programu rename z pakietu renameutils. Składnia jest dość prosta: rename from to file W moim przypadku fragment "from to" jest zapisywany w składni znanej mi z seda: rename 's/ /_/g' *.* Po wykonaniu tego polecenia do wszystkich nazw plików/katalogów zostanie wstawione podkreślenie w miejsce spacji.

czwartek, 14 czerwca 2012

Serwer DHCP na CentOS - dnsmasq

W związku z tym, że dostałem zapytanie dotyczące uruchomienia serwera DHCP postanowiłem napisać krótki tutorial.
Serwer DHCP konfigurowałem tylko raz gdy w pracy musiałem skonfigurować serwer NAS i jedyna możliwość połączenia się z nim było przydzielenie mu adresu IP za pomocą DHCP. Na wpięcie NAS'a w sieć firmową bez wcześniejszej konfiguracji nie mogłem sobie pozwolić, routerów z DHCP pod ręką nie było więc został Linux live (CentOS 6) i dnsmasq - domyślnie obecny w tej dystrybucji.

Zmiany które wprowadziłem w pliku konfiguracyjnym:

# If you want dnsmasq to listen for DHCP and DNS requests only on # specified interfaces (and the loopback) give the name of the # interface (eg eth0) here. # Repeat the line for more than one interface. #interface= # Or you can specify which interface _not_ to listen on #except-interface= # Or which to listen on by address (remember to include 127.0.0.1 if # you use this.) #listen-address= # If you want dnsmasq to provide only DNS service on an interface, # configure it as shown above, and then use the following line to # disable DHCP on it. #no-dhcp-interface=
dodałem:
listen-address=eth0
Przeważnie chcemy udostępnić DHCP dla jednego interfejsu, tego za którym znajduje się sieć lokalna.

Zdefiniowałem zakres przydzielanych adresów IP: # This is an example of a DHCP range where the netmask is given. This # is needed for networks we reach the dnsmasq DHCP server via a relay # agent. If you don't know what a DHCP relay agent is, you probably # don't need to worry about this. dhcp-range=192.168.0.50,192.168.0.150,255.255.255.0,12h Pozostałe adresy w tym przypadku mogą być ustawione statycznie.

Przypisałem adres IP do hosta z określonym adresem IP, przydatne np. dla drukarek sieciowych oraz serwerów. # Always allocate the host with ethernet address 11:22:33:44:55:66 # The IP address 192.168.0.60 dhcp-host=11:22:33:44:55:66,192.168.0.60

Można też zmienić bramę domyślną jeżeli serwer DHCP oraz router to dwie różne maszyny: # Override the default route supplied by dnsmasq, which assumes the # router is the same machine as the one running dnsmasq. dhcp-option=3,1.2.3.4

Poniżej umieściłem również opcje, które mogą okazać się przydatne ale w moim przypadku korzystanie z nich było niepotrzebne.

# Set the default time-to-live to 50 #dhcp-option=23,50

# The following DHCP options set up dnsmasq in the same way as is specified # for the ISC dhcpcd in # http://www.samba.org/samba/ftp/docs/textdocs/DHCP-Server-Configuration.txt # adapted for a typical dnsmasq installation where the host running # dnsmasq is also the host running samba. # you may want to uncomment some or all of them if you use # Windows clients and Samba. #dhcp-option=19,0 # option ip-forwarding off #dhcp-option=44,0.0.0.0 # set netbios-over-TCP/IP nameserver(s) aka WINS server(s) #dhcp-option=45,0.0.0.0 # netbios datagram distribution server #dhcp-option=46,8 # netbios node type

# Send RFC-3442 classless static routes (note the netmask encoding) #dhcp-option=121,192.168.1.0/24,1.2.3.4,10.0.0.0/8,5.6.7.8

# Send microsoft-specific option to tell windows to release the DHCP lease # when it shuts down. Note the "i" flag, to tell dnsmasq to send the # value as a four-byte integer - that's what microsoft wants. See # http://technet2.microsoft.com/WindowsServer/en/library/a70f1bb7-d2d4-49f0-96d6-4b7414ecfaae1033.mspx?mfr=true #dhcp-option=vendor:MSFT,2,1i

# Set the limit on DHCP leases, the default is 150 #dhcp-lease-max=150

# The DHCP server needs somewhere on disk to keep its lease database. # This defaults to a sane location, but if you want to change it, use # the line below. #dhcp-leasefile=/var/lib/dnsmasq/dnsmasq.leases

# Set the DHCP server to authoritative mode. In this mode it will barge in # and take over the lease for any client which broadcasts on the network, # whether it has a record of the lease or not. This avoids long timeouts # when a machine wakes up on a new network. DO NOT enable this if there's # the slighest chance that you might end up accidentally configuring a DHCP # server for your campus/company accidentally. The ISC server uses # the same option, and this URL provides more information: # http://www.isc.org/index.pl?/sw/dhcp/authoritative.php #dhcp-authoritative

# Set the cachesize here. #cache-size=150

# Normally responses which come form /etc/hosts and the DHCP lease # file have Time-To-Live set as zero, which conventionally means # do not cache further. If you are happy to trade lower load on the # server for potentially stale date, you can set a time-to-live (in # seconds) here. #local-ttl=

# Log lots of extra information about DHCP transactions. #log-dhcp

Mam nadzieję, że powyższy tutorial okazał się przydatny i uda się rozwiązać problemy z serwerem DHCP. Dnsmasq zawiera znacznie więcej opcji, opisałem jednak tylko te niezbędne do uruchomienia serwera DHCP.

poniedziałek, 9 kwietnia 2012

OpenWRT przykładowa konfiguracja WIFI

Pomyślałem sobie, że komuś może się przydać przykładowa konfiguracja WIFI, bez instalowania środowiska klikanego.

Tak jak zazwyczaj w Linux'ie pliki konfiguracyjne siedzą w katalogu /etc/ i podkatalogu config, mamy tam następujące pliki konfiguracyjne:
dhcp firewall network ubootenv uhttpd
dropbear luci system ucitrack wireless

Moja konfiguracja wifi wygląda następująco:
root@OpenWrt:/etc/config# cat wireless

config wifi-device 'radio0'
option type 'mac80211'
option macaddr 'f8:d1:11:39:73:82'
list ht_capab 'SHORT-GI-20'
list ht_capab 'SHORT-GI-40'
list ht_capab 'RX-STBC1'
list ht_capab 'DSSS_CCK-40'
option country 'US'
option txpower '26'
option channel '10'
option hwmode '11ng'
option htmode 'HT20'

config wifi-iface
option device 'radio0'
option network 'lan'
option mode 'ap'
option key 'moje_hasło'
option encryption 'psk+tkip'
option ssid 'blablabla'


Wystarczy wprowadzić jakieś hasło oraz wykonać restart networka za pomocą /etc/init.d/network restart aby sieć WIFI zaczęła działać.

Innym przydatnym poleceniem jest opkg list, opkg update oraz opkg install, możemy wówczas sprawdzić jakie pakiety są dostępne, przeprowadzić aktualizację/instalację wybranego pakietu.

tplink wr-740n i problemy z WIFI ciąg dalszy

Po zainstalowaniu OpenWRT WIFI zaczęło trochę lepiej działać (zawsze można się połączyć po zerwaniu, na oryginalnym oprogramowaniu były z tym problemy), niestety przy oglądaniu youtube.com transfer zatrzymywał się po wczytaniu fragmentu materiału.
W takich sytuacjach jedynym rozwiązaniem było kliknięcie trochę dalej na pasku i filmik leciał dalej.
Stwierdziłem więc, że jeszcze trochę podłubię w konfiguracji miałem ustawiony standard g, zmieniłem go więc na g+n i net zaczął lepiej działać.
Gdy miałem te problemy z transferem przez WIFI przetestowałem jeszcze przez podłączenie się do tplinka bezpośrednio kablem i okazało się, że net działa wówczas poprawnie (dzięki temu wiedziałem, że problem nie leży po stronie ISP).

Jeśli macie model WR-740N i występują u Was problemy z połączeniem za pomocą WIFI sugeruję kolejno próbować:
- aktualizacja oprogramowania ze strony producenta,
- zejście z szyfrowaniem z WPA2 na WPA (WEP'a nie testowałem - ale to już przeżytek),
- zmiana kanału (może sąsiad nadaje na tym samym, wówczas powstają zakłócenia),
- zmiana standardu w którym działa WIFI w moim przypadku pomogło ustawienie 802.11g+n.

Trochę mnie to czasu kosztowało żeby WIFI zaczęło działać poprawnie ale chyba było warto.

Nie twierdzę, że ten router nie jest godny polecenia - znajoma ma go w mieszkaniu i u niej działa ok (nie wiem co prawda czy ma ustawione jakiekolwiek szyfrowanie), ale sam bym go chyba już raczej nie kupił (no chyba że w promocji za zeta :P ).

niedziela, 1 kwietnia 2012

Linux na routerze tplink, czyli OpenWRT rocks

No i stało się straciłem cierpliwość do wifi na routerze tplink WR740N.

Router dostałem od dostawcy internetu za zeta, więc pomyślałem czemu nie, zawsze jakaś stówa w kieszeni zostaje (najprawdopodobniej kupiłbym dlinka z neo24).

Skonfigurowałem sobie na tplinku sieć bezprzewodową szyfrowaną WPA2, na komputerze przypisałem na sztywno adresację IP, bramę domyślną oraz serwery DNS.

Zaczynam surfowanie, pobieranie kilku plików, oglądanie filmów na youtube i po chwili zrywa mi połączenie.

Daję więc połącz ponownie i paczę a tu komunikat "błędne hasło", no to ja na to hello przecież hasło się nie zmieniło.

Kombinuję jak tylko się da, włączam wyłączam kartę wifi w notebooku, restartuję routera i nic.
Po około 20 minutach udaje mi się połączyć.

Stwierdzam, że tak być nie może, modyfikuję konfigurację tplinka, wybieram inny kanał, ustawiam żeby działał w standardzie n (wcześniej miał mieszany) i znowu zrywa połączenie.

Przy próbie ponownego połączenia pokazuje błędne hasło.

Wchodzę na stronę producenta, znajduję aktualizację, wprowadzam ją w życie i dalej to samo ...
tracę połączenie i nie mogę się połączyć ponownie.

W końcu stwierdziłem, że albo go skonfiguruję tak, żeby działał prawidłowo albo go jakoś efektownie o coś roztrzaskam.

Okazało się, że OpenWrt jest kompatybilne z moim routerem, pobrałem więc paczkę ze strony (openwrt-ar71xx-generic-tl-wr740n-v4-squashfs-factory.bin).

Wybrałem v4 bo taki symbol ma etykieta na routerze.

Zalogowałem się na router przez przeglądarkę i zapodałem aktualizację ze wskazaniem pliku bin z instalką openWRT.

Po instalacji telnetem połączyłem się z routerem "telnet 192.168.1.1".
Ustawiłem hasło dla routera przez wpisanie polecenia passwd.

Sprawdziłem czy mam połączenie z siecią i wp odpowiedziała na pinga.

Zdecydowałem się skonfigurować wifi w trybie graficznym więc:
- zalogowałem się na router przez ssh "ssh root@192.168.1.1 -p 22",
- zainstalowałem środowisko graficzne do konfiguracji routera "opkg update", "opkg install luci",
- włączyłem automatyczne włączanie środowiska graficznego przy starcie routera "/etc/init.d/uhttpd enable",
- włączyłem środowisko graficzne "/etc/init.d/uhttpd start",
- po zalogowaniu się przez przeglądarkę na router, konfiguracja wifi zajęła mi kilka minut.

Podczas pisania tego posta zerwało mi połączenie z routerem tylko raz, ale gdy kliknąłem połącz ponownie od razu udało się nawiązać połączenie.

Wychodzi na to, że darmowe oprogramowanie OpenWRT jest lepsze nić oprogramowanie udostępniane przez firmę tplink.

Kilka rad dla osób zastanawiających się czy przeprowadzić aktualizację oprogramowania na swoim routerze:
- aktualizuj tylko wtedy gdy nie działa, działa słabo lub nie ma jakiejś funkcjonalności,
- licz się z tym, że router po aktualizacji może nie wstać i reanimacja się nie powiedzie,
- ściągnij sobie wcześniej manuale z netu dotyczące aktualizacji, konfiguracji i reanimacji routera z nowym oprogramowaniem zanim zrobisz cokolwiek - gdy net nie będzie działał już raczej tego nie zrobisz,
- jeśli to możliwe zrób backup oryginalnego systemu,
- uzyskaj akceptację i zrozumienie drugiej połówki, w przeciwnym wypadku możecie usłyszeć "Ty i ten Twój cały Linux :P", po czym mogą nastąpić nieprzewidziane zdarzenia ...


Podsumowując, OpenWRT gorąco polecam.
To pisałem ja ... Jarząbek.