Konwersja logów z checkinstall do pkgtools

2011-05-28 , Papiewski Łukasz , LFS - Linux From Scratch

Początkowo do logowania wszystkich pakietów używałem programu checkinstall, potem installpkg z paczki slackwarowych narzędzi. Efektem tego "było", że połowa logów pozostała niekompatybilna. Usuwanie starych, w większości rdzennych pakietów mojego distro, jak i ich zarządzanie stało się trochę uciążliwe. Poza tym sprawdzanie dwóch katalogów w celu zidentyfikowania zainstalowanej aplikacji nie jest za bardzo wydajne...

Idea jest prosta: logi z installpkg posiadają nagłówek a nim FILE LIST:, po którym znajduję się lista plików poprzedzona kropką i slashem (./). Generalnie to jest to czego brakuje bezwzględnych logach z checkinstall.

Kilka tipów na koniec: na szybko w vimie można zamienić początek linijki na ./ stosując prostego regexa:

%s/^/.//

UPDATE: działa i bez tego:)

Jako pierwszą linijkę ustawiamy FILE LIST:

Tak skonwertowany plik można wrzucić do domyślnego katalogu z logami /var/log/packages i zastosować sprytne removepkg aby pakiet usunąć.

Dalej omówię konwersja do paczek tgz w celu możliwości późniejszego ponownego zainstalowania

cat xorg-lib-libxmu  | xargs tar Pvczf xorg-lib-libxmu.tgz

Przełącznik P pozostawia wiodące slashe (don't strip leading slash)

I to chyba wszystko w tej kwestii. Na uwadze trzeba mieć to, że checkinstall w wersji DIY (czyli przy użyciu find i niepełnym wykluczeniu katalogów) jest podatny na logowanie plików dodatkowych takich jak /var/run itp., dlatego w pierwszej kolejności trzeba przejrzeć logi i ewentualnie usunąć

Cytaty

- Simplicity is the ultimate sophistication. - Leonardo da Vinci,
- Popularny człowiek wzbudza zawiść potężnych - Thufir Hawat o Leto Atrydzie (na Kaladanie),
- Szczęście następuje po smutku, a smutek po szczęściu; człowiek jest naprawdę wolny, gdy przestaje rozróżniać między smutkiem a szczęściem, między dobrem a złem - Aforyzmy buddyjskie.