Jak sprawdzi
Jak sprawdzić gdzie dany program przechowuje swoje dane/pliki konfiguracyjne?
Czy istnieje jakiś sposób, aby sprawdzić, gdzie dany program przechowuje swoje dane czy też pliki konfiguracyjne, itp.?
może np. komendą:
Kod: Zaznacz cały
whereis nazwa_programu
Niestety, ale:
A w repozytorium Debiana czy też Maemo nie widzę czegoś takiego jak whereis, choć na komputerze to polecenie mi działa...
Kod: Zaznacz cały
~ $ whereis angrybirds
-sh: whereis: not found
~ $
Kod: Zaznacz cały
dpkg -L nazwa_programu
dpkg -S jakiśprogram.conf
Szkoda tylko, że to na nic, bo pliki konfiguracyjne są tworzone przy uruchomieniu programu, a nie ma ich w pakiecie instalacyjnym. Można by próbować przez lsof, ale z tego co wiem, pliki konfiguracyjne są czytane przy starcie, a potem zamykane - więc to raczej tez na nic.
Spróbuj tak po uruchomieniu programu:
Polecenie to pokaże, jakich plików z katalogu /home w używa danym momencie program angrybirds.
Jeżeli to nie pokaże nic interesującego, to pozostaje tylko zajrzeć w kod programu, albo użyć debuggera, na przykład gdb ale to już znacznie trudniejsze.
P.S.
Polecenie whereis jest w pakiecie util-linux
Spróbuj tak po uruchomieniu programu:
Kod: Zaznacz cały
lsof | grep angrybirds | grep /home
Jeżeli to nie pokaże nic interesującego, to pozostaje tylko zajrzeć w kod programu, albo użyć debuggera, na przykład gdb ale to już znacznie trudniejsze.
P.S.
Polecenie whereis jest w pakiecie util-linux
Chyba nie do końca jest tak, jak waść piszesz:giaur pisze:Szkoda tylko, że to na nic, bo pliki konfiguracyjne są tworzone przy uruchomieniu programu, a nie ma ich w pakiecie instalacyjnym.
Kod: Zaznacz cały
# dpkg -S apache2.conf
apache2.2-common: /usr/share/doc/apache2.2-common/examples/apache2/apache2.conf.gz
apache2.2-common: /etc/apache2/apache2.conf
# dpkg -S my.cnf
mysql-common: /etc/mysql/my.cnf
Kolego... apache to wyjątek, bo musi posiadać domyślną konfigurację. Żaden program, który trzyma ustawienia w katalogu /home/.nazwaprogramu nie ma domyślnych plików konfiguracyjnych. Po prostu tego tak się nie robi bo nie ma takiej potrzeby. 99.9 % programów przy uruchamianiu sprawdza czy jest katalog ~/.nazwaprogramu a w nim konfiguracja - jeśli nie ma, to jest taki katalog tworzony i zapisywana jest konfiguracja domyślna, jeśli jest- konfiguracja jest odczytywana. Użytkownik z reguły nie musi/nie powinien grzebać tam samodzielnie (analogia do rejestru windows).
Apache, mysql to wyjątki, bo:
- nie działają z prawami użytkownika aktualnie zalogowanego.
- ustawienia nie są spersonalizowane dla różnych użytkowników. Konfiguracja jest jedna. I jest zawarta w specjalnym pliku, który jest do edycji przez administratora serwera i jest to jedyny sposób konfiguracji usługi.
Od razu widać, że mało używasz Linuksa jako systemu desktopowego i siedzisz raczej w serwerach jeśli takich rzeczy nie wiesz. Jeśli mi nie wierzysz, to sprawdź sobie jakikolwiek program użytkowy - np. kadu, audacious, kwrite itd.
Apache, mysql to wyjątki, bo:
- nie działają z prawami użytkownika aktualnie zalogowanego.
- ustawienia nie są spersonalizowane dla różnych użytkowników. Konfiguracja jest jedna. I jest zawarta w specjalnym pliku, który jest do edycji przez administratora serwera i jest to jedyny sposób konfiguracji usługi.
Od razu widać, że mało używasz Linuksa jako systemu desktopowego i siedzisz raczej w serwerach jeśli takich rzeczy nie wiesz. Jeśli mi nie wierzysz, to sprawdź sobie jakikolwiek program użytkowy - np. kadu, audacious, kwrite itd.