keskiviikkona 19. maaliskuuta 2008

Missä paketissa on tiedosto xyz?

Kun käytät useampaa konetta joissa on sama käyttöjärjestelmä, kuten omassa tapauksessani useampi Kubuntu kone, huomaat että toisessa on jokin toiminto mikä toisesta puuttuu. Tällöin tarvitsee selvittää missä .deb paketissa kyseinen toiminnallisuus on saatavilla jotta osaat asentaa oikean paketin koneelle jolta paketti puuttuu.

Debian varianttien maailmassa, johon tilaan Ubuntun eri versiot kuuluvat, työkalu näiden selvittämiseen on dpkg.

Esimerkki millä itse sain selville mikä paketti pitää sisällään memalign funktion man-sivun:


% locate memalign | grep man
/usr/share/man/man3/posix_memalign.3.gz
/usr/share/man/man3/memalign.3.gz
% dpkg -S memalign.3.gz
manpages-dev: /usr/share/man/man3/memalign.3.gz
manpages-dev: /usr/share/man/man3/posix_memalign.3.gz
%


Ensimmäisellä locate komennolla löytää oikean tiedoston nimen ja jälkimmäinen dpkg kertoo oikean paketin, joka tässä tapauksessa oli manpages-dev.