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:
Zobacz komentarze
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
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