Git w zastosowaniach nieprogramistycznych

02 marca 2008, 19:05:30

W sumie nie jest to nic bardzo odkrywczego, ale warto odnotować, że Git przydaje się nie tylko do śledzenia zmian w kodzie źródłowym. Ostatnio używam go do rejestrowania zmian w plikach konfiguracyjnych serwera.

I tak dla przykładu: w katalogu w którym znajdują się pliki ze strefami DNS (/var/cache/bind/) założyłem repozytorium Git (git init; git add .; git commit -a -m "hello world"). Dodatkowo, do pliku .git/hooks/post-commit wpisałem linijkę "rndc reload" oraz nadałem mu prawo wykonywalności (chmod +x).

Teraz wszystkie zmiany w strefach zatwierdzam przez git commit -a, wpisuję opis i powód zmian, których dokonałem, a reszta robi się sama.

Jeśli mamy serwer, którym administruje kilka osób (i używa do tego sudo), możemy łatwo rejestrować, kto dokonuje zmian w konfiguracji. Każdy z adminów musi jedynie (na swoim koncie) wykonać polecenie git config --global user.name "Imie i nazwisko", a dokonywane przez niego zmiany będą podpisane jego nazwiskiem. Co najważniejsze: wszystko odbywa się bez żadnych dodatkowych (prywatnych, lokalnych) kopii repozytoriów.

Podobnego rozwiązania można używać też do śledzenia zmian konfiguracji innych usług serwera, np. Apache'a, albo i całego drzewa /etc/

Obsługa SQLite w Midnight Commander

29 listopada 2007, 20:33:58

Podglądanie (F3) plików w MC jest na ogół mało wygodne, gdy są to pliki binarne. Można jednak nauczyć MC, aby wyświetlał ich zawartość zinterpretowaną przez odpowiedni program rozumiejący dany format i przedstawiający jego zawartość w zrozumiałej formie.

Wymyśliłem dziś, żeby zastosować ten trick do plików SQLite, na których ostatnio pracuję. Zabawa sprowadza się do dodania do pliku /etc/mc/mc.ext (w Slackware /usr/share/mc/) następujących regułek:


type/^SQLite.*3
    View=%view{ascii} sqlite3 %f .dump
    Open=sqlite3 %f
    Edit=sqlite3 %f

type/^SQLite
    View=%view{ascii} sqlite %f .dump
    Open=sqlite %f
    Edit=sqlite %f

I już możemy wchodzić uruchamiać linię poleceń SQLite po naciśnięciu Entera lub klawisza edycji (F4), a co najważniejsze - widzieć w ludzkiej formie zawartość bazy danych po naciśnięciu F3.

Powyższe można zmodyfikować, np. aby wyświetlać jedynie strukturę bazy danych, bez zawartości. Wystarczy w tym celu zamienić .dump na .schema.

Można też dopisać sobie konkretne regułki na pliki o danej nazwie. Np. do pliku cookies.sqlite znajdującego się w profilu Firefoksa, można wyobrazić sobie filtr:

regex/^cookies\.sqlite$
    View=%view{ascii} sqlite3 -line %f 'select name || "=" || value as cookie, host from moz_cookies'
    Open=sqlite3 %f

(Uwaga: trzeba ten filtr umieścić powyżej ogólniejszej regułki na wszystkie pliki SQLite 3, inaczej tamta zadziała pierwsza.)

W najbliższym czasie rozszerzę ten wpis o info, jak wygodnie edytować pliki SQLite w MC (poprzez edycję kodu).

Bitmapowe fonty w GNOME Terminalu.

13 września 2007, 23:35:40

Fonty ze zmiękczonymi krawędziami niespecjalnie pasują do pracy w terminalu. Jest natomiast pewien ładny font "Console" (kiedyś domyślny w terminalu KDE), który do tego celu nadaje się według mnie idealnie. Poniżej instrukcja instalacji fontu w GNOME-owym Terminalu. Instrukcja jest dedykowana dla dystrybucji Ubuntu 7.10, ale powinna działać w każdym innym systemie.

  1. pobieramy font console.pcf.gz i zapisujemy go w katalogu /usr/share/fonts/
  2. pobieramy plik 10-bitmap-console-font.conf i zapisujemy w katalogu /etc/fonts/conf.d/
  3. wpisujemy w terminalu fc-cache -f i zamykamy wszystkie okna terminala
  4. wchodzimy w modyfikacje profilu
    modyfikacja profilu
  5. wybieramy zainstalowany font "Console" oraz wyłączamy pogrubianie tekstu
    wybór fontu
  6. cieszymy się z ładnego terminala
    terminal z fontem Console i mc

Fontu console.pcf.gz nie trzeba pobierać ode mnie, można go szukać w pakietach swojej dystrybucji. Można też zastąpić go innym PCF.

Na wariujący readline basha...

28 marca 2005, 00:20:26

Zdarza wam się, że linia edycji polecenia basha wariuje po zmianie rozmiaru terminala? Dzisiaj przypadkiem odkryłem, jak łatwo to naprawić. Do pliku ~/.bashrc dopisujemy linijkę:

shopt -s checkwinsize

I po sprawie!

xpde - nie dotykać

18 listopada 2004, 22:33:03

Jakiś czas temu znalazłem w sieci projekt o nazwie XPDE. Obrazki wyglądały tak zachęcająco, że dzisiaj - w ramach wolnej chwili - postanowiłem sobie to zainstalować. Muszę przyznać, że ładne to jest to tylko na obrazku. W użyciu - kompletnie niepraktyczne, beznadziejne i niedopracowane. Dobra rada: trzymać się z dala :-P