Jak sprawdzi

Ogólne pytania dotyczące systemu
Kamil1000
Beginner
Posty: 108
Rejestracja: 30 sierpnia 2009, 14:15

Jak sprawdzić gdzie dany program przechowuje swoje dane/pliki konfiguracyjne?

Post autor: Kamil1000 »

Czy istnieje jakiś sposób, aby sprawdzić, gdzie dany program przechowuje swoje dane czy też pliki konfiguracyjne, itp.?
mlodir
Posty: 30
Rejestracja: 31 maja 2009, 16:45

Post autor: mlodir »

może np. komendą:

Kod: Zaznacz cały

whereis nazwa_programu
Kamil1000
Beginner
Posty: 108
Rejestracja: 30 sierpnia 2009, 14:15

Post autor: Kamil1000 »

Niestety, ale:

Kod: Zaznacz cały

~ $ whereis angrybirds
-sh: whereis: not found
~ $
A w repozytorium Debiana czy też Maemo nie widzę czegoś takiego jak whereis, choć na komputerze to polecenie mi działa...
Awatar użytkownika
lessmian2
Member
Posty: 1088
Rejestracja: 30 kwietnia 2008, 19:38
Lokalizacja: Kraków

Post autor: lessmian2 »

Kod: Zaznacz cały

dpkg -L nazwa_programu
dpkg -S jakiśprogram.conf
Pierwsze wyświetli wszystkie pliki zainstalowane wraz z paczką X, drugie wyświetli nazwę paczki w której jest podany plik.
Kamil1000
Beginner
Posty: 108
Rejestracja: 30 sierpnia 2009, 14:15

Post autor: Kamil1000 »

Pierwsze polecenie wypisuje tyle tego, że nie widać wszystkiego. A drugie nic nie znajduje.
Awatar użytkownika
lessmian2
Member
Posty: 1088
Rejestracja: 30 kwietnia 2008, 19:38
Lokalizacja: Kraków

Post autor: lessmian2 »

Aha, ok. I?

To już Twój problem aby z wyników pierwszego polecenia wyłuskać przydatne dla siebie informację. Skąd ktoś ma wiedzieć czego Ty szukasz? Nie możesz użyć np. grepa?
fnmirk
Senior Member
Posty: 8295
Rejestracja: 03 grudnia 2007, 06:37

Post autor: fnmirk »

&quot pisze:Nie możesz użyć np. grepa?
Albo programu pozwalającego na przewijanie informacji wyświetlanych w konsoli. Np. less. Można też wynik przekierować do pliku tekstowego i wygodnie analizować w jakimś edytorze, nawet w innym systemie operacyjnym.
giaur
Member
Posty: 1915
Rejestracja: 25 maja 2007, 22:16

Post autor: giaur »

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:

Kod: Zaznacz cały

lsof | grep angrybirds | grep /home
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
Awatar użytkownika
lessmian2
Member
Posty: 1088
Rejestracja: 30 kwietnia 2008, 19:38
Lokalizacja: Kraków

Post autor: lessmian2 »

giaur pisze:Szkoda tylko, że to na nic, bo pliki konfiguracyjne są tworzone przy uruchomieniu programu, a nie ma ich w pakiecie instalacyjnym.
Chyba nie do końca jest tak, jak waść piszesz:

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
Kamil1000, napisz może o jaki program Ci chodzi i czy w ogóle jest on zainstalowany z repozytorium/paczki deb.
giaur
Member
Posty: 1915
Rejestracja: 25 maja 2007, 22:16

Post autor: giaur »

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.
ODPOWIEDZ