Debian

Fluxbox – dodawanie pozycji do menu.

Dodawanie własnego menu do menu fluxboksa (i innych menadżerów okien) to prosta sprawa. Na początek należy zainstalować pakiet menu

# aptitude install menu

Aby wygodnie dodawać własne pozycje do menu fluxboksa należy utworzyć katalog ~/menu:

% mkdir ~/.menu

Następnie zakładamy w wcześniej utworzonym katalogu plik np. amule

% editor ~/.menu/amule

o następującej zawartości:

?package(local.amule):needs=”x11″ section=”Apps/Net” title=”aMule” hints=”ed2k clients” \
command=”/usr/local/bin/amule” icon=”/usr/share/pixmaps/amule.xpm”

?package(local.amule) – zawiera listę nazw pakietów, rozdzielaną przecinkami, które są niezbędne aby pozycja pojawiła się w menu np. (amule,amulecmd). Jeśli nie mamy zainstalowanej takiej paczki, np. instalowaliśmy program innym sposobem, to w wpisujemy wartość (local.amule). W tej sytuacji automat potraktuje to jakby pakiet był zainstalowany.

needs=”x11″ – informuje automat w jakim środowisku uruchamia się program, w naszym przypadku jest to środowisko graficzne X (więcej file:///usr/share/doc/menu/html/ch3.html#s3.4)

section=”Apps/Net” – określa sekcję w menu w jakiej pojawi się nasza pozycja, pełna lista sekcji znajduje się pod adresem: file:///usr/share/doc/menu/html/ch3.html#s3.5

title=”aMule” – tytuł jaki będzie wyświetlany w menu

command=”/usr/local/bin/amule” – ścieżka do programu wykonywalnego.

hints=”ed2k clients” – pole jest opcjonalne, po informacje można zajrzeć pod file:///usr/share/doc/menu/html/ch3.html#s3.8

Obowiązkowe pola to: needs, section, title i command.

Kiedy nasz plik jest już gotowy wydajemy polecenie

update-menus

W przypadku fluxboksa należy się upwenić, że w pliku ~/.fluxbox/init klucz session.menuFile: ma wartość ~/.fluxbox/fluxbox-menu

session.menuFile: ~/.fluxbox/fluxbox-menu

Po uruchomieniu fluxboksa nasza nowa pozycja powinna pojawić się w menu. Szczegółowa dokumentacja: file:///usr/share/doc/menu/html/index.html

By grzeszy on Maj 17, 2009 | Linux | A comment?
Tagi: , ,

Aptitude – kilka podpowiedzi


Czasem należy wykonać kilka bardziej złożonych operacji przy pomocy aptitude. Pełną pomoc do aptitude można znaleźć w podręczniku użytkownika aptitude, jednak zdarzają się przypadki, kiedy nie ma czasu zgłębiać dokumentacji. W niniejszym wpisie zamieszczam kika zastosowań aptitude w przypadkach, z którymi się zetknąłem lub sam miałem do czynienia.

Wyszukiwanie pakietów po nazwie i opisie:

% aptitude search "?or(~nnetwork, ~dnetwork)"

Polecenie wyszuka wszystkie pakiety, które w opisie bądź w nazwie zawierają słowo network.

Wyszukiwanie pakietów zainstalowanych z danego archiwum.

Wyszukiwanie pakietów np. z archiwum experimental i wyświetlenie samych nazw pakietów, np. w celu użycia jako argument dla innego polecenia.

% aptitude aptitude search ~i~Aexperimental -F "%p"

Zmiana zaznaczenia pakietów z automatycznie instalowanych na ręcznie instalowane.

Kiedy instalujemy pakiet przy pomocy aptitude, pakiety zależne są instalowane automatycznie poprzez zależności. Takie automatycznie zainstalowane pakiety są zaznaczanie prze menadżera pakietów jako A – instalowane automatycznie. Czasem przy usuwaniu pakietu, takie zależności również są usuwane, gdyż zostały automatycznie zainstalowane. Czasem jest to zachowanie niepożądane w stosunku do niektórych pakietów, np. takich które chcemy jednak zostawić. Podczas odinstalowywania pakietu widzimy, które pakiety będą automatycznie odinstalowane. Należy przerwać proces i wszystkim pakietom, które chcemy zostawić usunąć flagę A – auto.

# aptitude unmarkauto pakiet1 pakiet2

Można użyć wyników wyszukiwania jako argumentów polecenia, np. gdy chcemy usunąć metapakiet kde4, ale nie usuwać całego kde4

# aptitude unmarkauto `apt-cache depends kde4 | awk '{if ($1=="Depends:") print $2}'`

Następnie można usunąć metapakiet kde4 po to aby spokojnie usunąć tę część kde, której nie używamy, np. kdegames.

# aptitude remove kdegames

Wyszukiwanie pakietów z zepsutymi zależnościami (broken dependencies) i ich naprawa.

% aptitude search ~i~b

Załóżmy, że to pakiet mplayer-nogui ma złamane zależności:

iBA mplayer-nogui – The Ultimate Movie Player For Linux

Szukamy teraz pakietu, z którym jest problem:

#aptitude search `apt-cache depends mplayer-nogui | awk '{if ($1=="Depends:") print $2}'`

Pakiety, które (w moim przypadku) są interesujące to libxvmc1 oraz libxv1.

idA libxv1 – X11 Video extension library
iBA libxvmc1 – X11 Video extension library

Problem polegał na tym, że pakiet libxv1 był zaznaczony do usunięcia – flaga d. Wystarczyło polecenie:

# aptitude install libxv1

Blokada aktualizacji danego pakietu.

# aptitude hold pakiet

Usuwanie wszystkich pakietów należących do danej sekcji.

Załóżmy, że przestaliśmy lubić kde i chcemy znaleźć każdy zainstalowany program z sekcji kde, aby pozbyć się kde raz na zawsze. Następnie użyć listy do usunięcia kde. 😉

% aptitude search ~skde | egrep "^i" | awk '{ if($2 ~/A/){ print $3} else print $2}'

# aptitude purge `aptitude search ~skde | egrep "^i" | awk '{ if($2 ~/A/){ print $3} else print $2}'`

Brak pliku przy kompilacji programu.

Jak sobie poradzić? Nie jest to trudne, ale nie zawsze rozwiązuje problem, ze względu na różne czynniki.

# apt-file search usr/lib/gcc/i486-linux-gnu/4.2/include/limits.h | awk -F ':' '{print $1}' | xargs aptitude install

Program apt-file musi być zainstalowany i jego baza zaktualizowana (apt-file update)

Usuwanie plików pozostałych po odinstalowanych pakietach.

# COLUMNS=140 dpkg -l|grep ^rc|awk {'print $2'}|xargs dpkg -P

lub

aptitude purge `aptitude search ~c -F %p`

Można by było przywołać więcej niestandardowych zastosowań aptitude i innych narzędzi do zarządzania pakietami. Po więcej zapraszam do poczytania podręcznika do aptitude. Dwa istotnie linki z tego podręcznika:

By grzeszy on Luty 2, 2009 | Administrowanie, Linux | A comment?
Tagi: , , ,

Mplayer w Debianie – instalacja na szybko.

Mplayer to znany i ceniony odtwarzacz filmów dla systemu linux i nie tylko. Inne systemy nas jednak nie interesują.

Konfiguracja repozytorium apt – z konta root.

Do pliku /etc/apt/sources.list należy dodać wpis z repozytorium debiana (dowolnym edytorem tekstowym).

  • dla debiana lenny (stable):

    deb http://www.debian-multimedia.org lenny main

  • dla debiana etch (oldstable):

    deb http://www.debian-multimedia.org etch main

  • dla debiana testing (obecnie squeeze):

    deb http://www.debian-multimedia.org testing main

  • dla debiana sid (unstable):

    deb http://www.debian-multimedia.org sid main

Należy też dodać odpowiednie klucze do repozytorium aby aktualizacja repozytorium przebiegła bez błędu. Należy ściągnąć pakiet debian-multimedia-keyring_2008.10.16_all.deb i zainstalować go.

dpkg -i debian-multimedia-keyring_2008.10.16.deb

Aktualizujemy informacje o pakietach w repozytorium:

aptitude update

Instalacja pakietów – z konta root.

Stable (lenny), oldstable (etch), testing (lenny), unstable (sid)

  • dla architektury i386:

    aptitude install mplayer mplayer-doc w32codecs ttf-dejavu

  • dla architektury amd64:

    aptitude install mplayer mplayer-doc w64codecs sttf-dejavu

Polskie napisy i podstawowa domyślna konfiguracja – z konta użytkownika.

Jeśli masz już ustawienia mplayera to zarchiwizuj stare pliki, tak aby nowe utworzyły się od podstaw.

mv ~/.mplayer ~/.mplayer.bak && mkdir ~/.mplayer

Otwieramy plik konfiguracyjny Mplayera

editor $HOME/.mplayer/config

i wpisujemy do niego następującą zawartość:

fontconfig = „1”
font = „dejavu sans”
subfont-text-scale = „3,3”
subcp = „cp1250”
sub-fuzziness = „2”
vo = „xv”
ao = „alsa”

Zapisujemy plik.

sub-fuzziness – Dostosowuje niedokładność dopasowywania przy szukaniu napisów:

  • 0 dokładne dopasowanie
  • 1 Wczytaj wszystkie napisy zawierające nazwę filmu.
  • 2 Wczytaj wszystkie napisy z aktualnego katalogu.

subfont-text-scale <0-100> – (tylko FreeType)- ustawia wskaźnik automatycznego skalowania napisów jako procent rozmiaru ekranu (domyślnie: 5).

Uwaga: W przypadku gdy mamy włączoną akcelerację sprzętową (direct rendering), sterownik xv należy zastąpić sterownikiem gl2. Możemy sprawdzić to poleceniem glxinfo | grep direct z pakietu mesa-utils. Akceleracja sprzętowa jest włączona jeśli wynik polecenia jest jak poniżej

direct rendering: Yes

Klawiszowe sterowanie napisami i parametrami obrazu

  • v – Przełącza wyświetlanie napisów
  • b/j – Przełącza dostępne napisy
  • F (shift+f) – Przełącza wyświetlanie tylko wymuszonych napisów
  • z i x – Zmienia opóźnienie napisów o +/- 0.1 sekund
  • r i t – Przesuwa napisy w górę/w dół
  • 1 i 2 – Modyfikuje kontrast
  • 3 i 4 – Modyfikuje jasność
  • 5 i 6 – Modyfikuje barwę (kolorów)
  • 7 i 8 – Modyfikuje nasycenie.
  • * i `/ z numerycznej oraz 9 i 0 z normalnej – modyfikuje głośność

Reszta sterujących skrótów klawiszowych – man mplayer.

Polska dokumentacja

Pełną dokumentację do mplayera znajdziemy w pliku file:///usr/share/doc/mplayer-doc/HTML/pl/index.html

Więcej informacji o repozytorium na stronie www.debian-multimedia.org

By grzeszy on Grudzień 7, 2008 | Administrowanie, Debian, Linux | A comment?
Tagi: , , , ,

Lokalny walidator do HTML w Debianie

W pracy na dokumentami HTML często zachodzi potrzeba sprawdzenia zgodności kodu strony ze standardami W3C. Jeśli kod jest statyczną stroną html to często edytor sprawdza poprawność na bieżąco przy edycji dokumentu. Gorzej, gdy strona dokument html jest generowany dynamicznie na bazie jednego lub więcej szablonów. Najprostszym sposobem sprawdzenia dokumentu wynikowego jest sprawdzenie go jakimś walidatorem. Bardzo znanym walidatorem jest usługa W3CMarkup Validation Service. Innym również popularnym jest WDG Html Validator. Jednak sprawdzanie przez Internet trwa dużo dłużej niż lokalnie na własnym komputerze. Co zrobić aby to przyspieszyć?

Bardzo dobrym sposobem jest zainstalowanie jednego w wyżej wymienionych walidatorów na swoim komputerze. W Debianie robimy to w prosty sposób instalując pakiet
wdg-html-validator.

aptitude install wdg-html-validator

Walidator będzie dostępny pod adresem http://localhost/wdg-html-validator.html

Istnieje też możliwość sprawdzenia pliku z linii poleceń za pomocą komendy validate. Oto przykłady polecenia:

validate http://127.0.0.1:1234/

validate plik.html

Lub jeśli chcemy od razu otworzyć wynikowy plik html w edytorze aby sprawdzić gdzie jest ten błąd:

lynx --source http://127.0.0.1:8080/ | tee /tmp/tmp.html | validate || gvim /tmp/tmp.html

Jeśli test przejdzie pomyślnie edytor nie otworzy się.

By grzeszy on | Administrowanie, Debian, Linux | A comment?
Tagi:

Konfguracja prostego access pointa w Debianie

Instalacja prostego access pointa – karta wi-fi pci atheros (Debian)

Przygotowanie do konfiguracji.

W pierwszej kolejności należy włożyć kartę wi-fi do komputera i zobaczyć czy nasza karta została poprawnie zidentyfikowana przez system Linux. Po uruchomieniu komputera dla pewności, że mamy aktualną bazę urządzeń PCI możemy najpierw wykonać polecenie update-pciids. Po uruchomieniu systemu wydajemy polecenie:

lspci

Jeśli karta jest wykryta to powinniśmy widzieć linię opisującą nasze urządzenie wi-fi:

04:0a.0 Ethernet controller: Atheros Communications Inc. AR2413 802.11bg NIC (rev 01)

Następnie powinniśmy zainstalować kilka pakietów, które będą niezbędne do skonfigurowania dostępu. Są to pakiety dhcp3-server, hostapd, wpasupplicant. Do zainstalowania będzie jeszcze pakiet madwifi do ściągnięcia ze strony projektu na sourceforge. Bezpośredni link do najnowszej wersji pakietu: MadWifi v0.9.4

Pakiety binarne w Debianie instalujemy poleceniem:

aptitude install dhcp3-server hostapd

Przy instalacji dhcp3-server zostaniemy poproszeni o podanie nazwy interfejsu na którym ma nasłuchiwać serwer DHCP. Na razie możemy nic nie wpisywać.

Madwifi ze źródeł instalujemy trochę inaczej. Najpierw będziemy potrzebować nagłówków jądra Linux aby skompilować moduły madwifi. Przy zainstalowanym jądrze ze źródeł będziemy wiedzieli co robić, natomiast jeśli używamy firmowego jądra (zainstalowanego z systemem) to należy zainstalować pakiet z nagłówkami. Sprawdzamy wersję jądra i wynik podstawiamy do następnego polecenia:

uname -r

Wynik:

2.6.18-4-amd64

Wykonujemy polecenie instalacji nagłówków:

aptitude install linux-headers-2.6.18-4-amd64

lub wszystko za jednym razem:

aptitude install linux-headers-`uname -r`

Ściągamy i instalujemy madwifi:
wget http://heanet.dl.sourceforge.net/sourceforge/madwifi/madwifi-0.9.4.tar.gz
tar xf madwifi-0.9.4.tar.gz
cd madwifi-0.9.4
make
make install

Konfiguracja access pointa.

Zaczynamy konfigurację od skonfigurowania interfejsu. Otwieramy plik /etc/network/interfaces:

editor /etc/network/interfaces

i wstawiamy do niego następującą zawartość:

auto ath0
iface ath0 inet static
        pre-up /usr/local/bin/wlanconfig ath0 destroy
        pre-up /usr/local/bin/wlanconfig ath0 create wlandev wifi0 wlanmode ap
        pre-down /usr/local/bin/wlanconfig ath0 destroy
        address 192.168.38.1
        netmask 255.255.255.0
        broadcast 192.168.38.255
        post-up /etc/init.d/dhcp3-server restart
        post-down /etc/init.d/dhcp3-server restart

Konfiguracja serwera dhcp. Otwieramy plik /etc/dhcp3/dhcpd.conf i wstawiamy do niego zawartość:

subnet 192.168.38.0 netmask 255.255.255.0 {
  range 192.168.38.2 192.168.38.127;
  option domain-name-servers 62.179.1.62, 62.179.1.63;
  option routers 192.168.38.1;
  option subnet-mask 255.255.255.0;
  option broadcast-address 192.168.38.255;
  default-lease-time 600;
  max-lease-time 7200;
}

Pod option domain-name-servers wpisujemy te adresy DNS, które mamy w pliku /etc/resolv.conf

cat /etc/resolv.conf

W pliku /etc/default/dhcp edytujemy linię zawirającą INTERFACES tak aby jej treść była następująca:

INTERFACES=”ath0″

Konfigurujemy hostapd. Interesuje nas plik /etc/hostapd/hostapd.conf. Oryginalny plik z pakietu możemy sobie zachować kopiując go:

mv /etc/hostapd/hostapd.conf /etc/hostapd/hostapd.conf.orig

Wybieramy sobie wartość ssid, będzie to nazwa pod jaką chcemy aby nasza sieć była rozgłaszana, i generujemy klucz psk:

wpa_passphrase my_essid naszehaslo

Dostaniemy coś takiego:

network={
        ssid="my_essid"
        #psk="romekromek"
        psk=b9fa13c443eb82dec550cc535ca1fad38e8ab47c3fec4a298b8bcd5db5e4d171
}

i to co jest w zmiennej psk wpisujemy pod wpa_psk w pliku /etc/hostapd/hostapd.conf

wpa_psk=b9fa13c443eb82dec550cc535ca1fad38e8ab47c3fec4a298b8bcd5db5e4d171

Otwieramy nasz plik:

editor /etc/hostapd/hostapd.conf

i wpisujemy do niego zawartość. Poniżej jest pokazana terść wynikowa pliku:

interface=ath0
driver=madwifi
logger_syslog=-1
logger_syslog_level=2
logger_stdout=--1
logger_stdout_level=2
debug=0
ctrl_interface_group=0
macaddr_acl=0
deny_mac_file=/etc/hostapd/hostapd.deny
auth_algs=3
eapol_key_index_workaround=0
eap_server=0
dump_file=/tmp/hostapd.dump
ssid=my_essid
wpa=3
wpa_psk=b9fa13c443eb82dec550cc535ca1fad38e8ab47c3fec4a298b8bcd5db5e4d171
wpa_key_mgmt=WPA-PSK
wpa_pairwise=TKIP CCMP

W pliku /etc/default/hostapd odkomentowujemy jedną linię:

RUN_DAEMON="yes"

Pozostaje skonfigurowanie „maskarady”. Wystarczy na to jedna prosta reguła firewalla:

iptables -t nat -A POSTROUTING -o eth0 -s 192.168.38.0/24 -j MASQUERADE

i włączenie ip forward w jądrze

echo 1 > /proc/sys/net/ipv4/ip_forward

Zamiast eth0 wstawiamy nazwę interfejsu sieciowego, który jest „wyjściem „na świat.

Konfiguracji firewalla nie będę tu omawiał, gdyż to jest temat na osobny artykuł.

Restartujemy komputer i sprawdzamy czy po restarcie wszystko działa. Należy pamiętać, że jest to bardzo prosta konfiguracja i można ją udoskonalić w zależności od potrzeb.`

By grzeszy on Grudzień 3, 2008 | Debian, Linux | A comment?
Tagi: , , ,