Archiwum

2007 +

  • Wrzesień
  • Październik
  • Listopad
  • Grudzień

2008 +

  • Styczeń
  • Luty
  • Marzec
  • Kwiecień
  • Maj
  • Czerwiec
  • Lipiec
  • Sierpień
  • Wrzesień
  • Październik
  • Listopad
  • Grudzień

2009 +

  • Styczeń
  • Luty
  • Marzec
  • Kwiecień
  • Maj
  • Czerwiec
  • Lipiec
  • Sierpień
  • Wrzesień
  • Listopad
  • Grudzień

2010 +

  • Styczeń
  • Luty
  • Marzec
  • Kwiecień
  • Maj
  • Czerwiec
  • Lipiec
  • Sierpień
  • Wrzesień

Tagi

polityka

religia

społeczeństwo

akcje

Linux

Prawo

Państwo

Informatyka

recenzja

programowanie

Polska

Internet

Szkoła

blog

ZaDiS

reformy

Kościół Rzymskokatolicki

książki

Moje pomysły

święta

AboutBlogProjekty & PomysłyRegulaminRSS
29 Stycznia 2010, 23:33

Udev - problem z konfiguracją

Tagi: konfiguracja, skrypt, bash, awk, find,
Kategoria: Informatyka

Miałem ostatnio malutki problem, dotyczył on brzydkich ostrzeżeń występujących przy starcie systemu. Nie usuwałem go, bo nie za bardzo miałem kiedy. Dzisiaj się za niego wziąłem. Ostrzeżenia wyglądały tak:

SYSFS{}= will be removed in a future udev version, please use ATTR{}= to match the event device, or ATTRS{}= to match a parent device, in /etc/udev/rules.d/56-hpmud_support.rules:10
BUS= will be removed in a future udev version, please use SUBSYSTEM= to match the event device, or SUBSYSTEMS= to match a parent device, in /etc/udev/rules.d/025_logitechmouse.rules:1
Oznacza to mniej więcej tyle, że należy w plikach konfiguracyjnych wyrażenia: "SYSFS", "BUS" zamienić odpowiednio na: "ATTRS", "SUBSYSTEM", bo używanie "SYSFS" i "BUS" jest przestarzałe. Patrzę do katalogu /etc/udev/rules.d/ i trochę tych plików tam jest. Głupi nie jestem! Własnoręcznie w każdym pliku to zamieniać?! Skorzystałem z AWK i polecenia find i stworzyłem skrypt.awk:
{
	gsub("BUS", "SUBSYSTEM", $0)
	gsub("SYSFS", "ATTRS", $0)
	print $0 >> "temp";
}
END {
	printf("mv %s %sn", "temp", FILENAME) | "sh";
}
Poprzedni skrypt był zły, aż dziw, że działał on dla małych plików. Źle zrozumiałem ideę działania AWK. print $0 > FILENAME było wykonywane dla każdego wiersza, czyli z każdym wierszem był nadpisywany plik, ja myślałem, że $0 reprezentuje bieżący plik, a nie wiersz xD. Teraz skrypt zmienia w każdym wierszu to, co ma zmianiać i zapisuje to pliku temp, później w END(wykonywane raz na cały plik) plik oryginalny zastępujemy plikiem temp. Gdy mamy podobny problem, wchodzimy do katalogu /etc/udev/rules.d/ i wpisujemy polecenie: find . -name '*.rules' -EXEC awk -f /sciezka/dostepu/skrypt.awk {} ; i mamy problem z głowy. Polecenie find szuka nam w katalogu "." (bieżący katalog) plików o nazwie, która pasuje do wzorca "*.rules" (pliki z rozszerzeniem .rules), a opcja "-EXEC" wskazuje, że nie ma wyświetlić listy plików tylko wywołać polecenie awk -f /sciezka/dostepu/skrypt.awk {} w miejsce {} wstawiając tą listę plików. W skrypt.awk mamy tylko trzy linijki kodu. Pierwsza mówi, żeby wszystkie wystąpienia "BUS" zamienić na "SUBSYSTEM" w ciągu $0(aktualnie przetwarzany wiersz pliku), druga zamienia wszystkie wystąpienia "SYSFS" na "ATTRS" w $0, a trzecia wyświetla wynik tych zamian, tyle, że standardowe wyjście jest przekierowywane do pliku aktualnie przetwarzanego (czyli nadpisuje plik, z którego odczytano dane).

Heh! Dzisiaj poszukałem innych rozwiązań mojego problemu. Okazało się, że wystarczy wpisać polecenie: dpkg-reconfigure udev , aby problem zniknął.

Skorzystałem z:

  • http://gnu.univ.gda.pl/~tomasz/prog/awk/awk-intro/awk-man.html
  • http://notatnik.mekk.waw.pl/archives/207-Terminal_pod_reka.html
  • http://linuxindetails.wordpress.com/2009/12/30/udevd-sysfs-will-be-removed-in-a-future-udev-version-please-use-attr-to-match-the-event-device/

Zobacz komentarze

6 Listopada 2009, 15:20

Nowy komputer, Debian i problemy

Tagi: COMP-LAN, rodzielczość, GRUB, problemy, Debian, USB, pendrive, NVIDIA, karta sieciowa,
Kategoria: Informatyka

Nie wiem dokładnie kiedy, ale tak mniej więcej 9-10 miesięcy temu zacząłem moją przygodę z Debianem. I tak samo jak w Fedorze pewne problemy z moim sprzętem były, ale przesiadając się na Debiana zmieniłem moje nastawienie do korzystania Linuksa. Od tamtego czasu nie jestem nastawiony na gotowca, tylko na grzebanie w plikach konfiguracyjnych oraz też bardziej na dawanie niż brania, np. zacząłem tworzyć własny programik i jeszcze myślę nad kilkoma innymi(ale szkoła zabija mój wolny czas). Ale nie będę się rozpisywał na temat moich motywacji do zmiany systemy, tematem przewodnim jest przecież nowy komputer i wszystko, co z tego wynikło.

...

Przeczytaj cały artykuł i zobacz komentarze

11 Czerwca 2010, 17:28

Kompilacja kernela sposobem debiana

Tagi: jądro, kernel, konfiguracja, debian,
Kategoria: Informatyka

W końcu wziąłem się za kompilację kernela. Trochę czasu straciłem, bo kompilowałem aż trzy razy, ale rezultatem tego jest poradnik i kolejne doświadczenie. Jedak to nie było z nudów, w tym wypadku okoliczności mnie do tego zmusiły, a właściwe moduł nvidiafb.

***

Jak każdy Linuksowiec wie, względu ideologiczne nieraz należy odłożyć na bok, gdy chodzi o sprzęt, a właściwie sterowniki do niego. Chcąc grać w gry, które można nazwać grami XXI wieku, niestety jeszcze (niedługo się to zmieni) muszę używać zamkniętych sterowników od NVIDI. I właśnie w nowej wersji kernela debianowego domyślnie jest wkompilowany moduł nvidiafb (otwarty sterownik), który uniemożliwia zainstalowanie zamkniętego sterownika.

***

To była taka mała dygresja, ale wracając do tematu, musiałem przekompilować cały kernel. A jak już cały kernel, to wolałem sobie ściągnąć najnowszego, poradnik będzie pokazywał jak skompilować kernela 2.6.34 (kompilacja innych kerneli wygląda podobnie, jedynie zmieniamy numerki).

...

Przeczytaj cały artykuł i zobacz komentarze

© Godlark 2007 - 2010 | Usługi hostingowe zapewnia