|
|
Ten dokument jest dost�pny w nast�puj�cych j�zykach: English Castellano ChineseGB Deutsch Francais Nederlands Russian Turkce Polish |
Sandeep Grover <sandeep<at>Magma-DA.com> O Autorze: Sandeep Grover pracuje dla Magma Design Automation, Indie -- najszybciej rozwijaj�cej si� firmie w dziedzinie EDA (Electronic Design Automation). W swoim wolnym czasie odkrywa szczeg�y Linuksa i ma nadziej� jednego dnia wnie�� sw�j wk�ad w j�dro Linuksa! T�umaczenie na j�zyk polski: : Mateusz Mrozewski (homepage) Zawarto��: |
Zrozumie� system plik�w /procNotka:
J�dro Linuksa dostarcza mechanizm pozwalaj�cy na dost�p do swoich wewn�trznych struktur danych, a tak�e na zmian� ustawie� j�dra podczas jego pracy, po poprzez system plik�w /proc. Om�wimy tutaj system plik�w /proc dla architektury Intel x86, jednak podstawowe poj�cia pozostan� takie same dla Linuksa na ka�dej platformie. |
System plik�w /proc jest mechanizmem wykorzystywanym przez j�dro i jego modu�y do przesy�ania informacji do proces�w (st�d nazwa /proc). Ten pseudo system plik�w pozwala na wsp�prac� z wewn�trznymi strukturami danych j�dra, uzyskanie u�ytecznych informacji na temat proces�w oraz na zmian� ustawie� (poprzez modyfikacj� parametr�w j�dra) podczas pracy systemu. /proc jest przechowywany w pami�ci, w przeciwie�stwie do innych system�w plik�w, kt�re s� przechowywane na dysku. Je�li otworzysz plik /proc/mounts (kt�ry wypisuje wszystkie zamontowane systemy plik�w, tak jak komenda "mount"), powiniene� zobaczy� nast�puj�c� lini�:
grep proc /proc/mounts /proc /proc proc rw 0 0
/proc jest kontrolowany przez j�dro i nie ma zasadniczo �adnych urz�dze�. Poniewa� zawiera on g��wnie kontrolowane przez j�dro informacje o stanie systemu, najbardziej logicznym miejscem na ich przechowywanie jest pami�� kontrolowana przez j�dro. Wykonanie operacji 'ls -l' na katalogu /proc ukazuje, �e wi�kszo�� plik�w ma rozmiar 0 bajt�w; jednak gdy przegl�damy dany plik, mo�emy zobaczy� ca�kiem du�o informacji. Jak to jest mo�liwe? Dzieje si� tak, poniewa� system plik�w /proc rejestruje si� w warstwie wirtualnego systemu plik�w (VFS - Virtual File System). Gdy VFS wykonuje odwo�anie do i-w�z��w jego plik�w/katalog�w, system plik�w /proc tworzy te pliki/katalogi na podstawie informacji z j�dra.
Je�li system plik�w /proc nie jest zamontowany w twoim systemie,
mo�esz tego dokona� nast�puj�cym poleceniem.
mount -t proc proc /proc
Powy�sza komenda powinna zamontowa� tw�j system plik�w proc. Prosz� przeczyta� stron� podr�cznika polecenia mount w celu uzyskania szczeg��w.Pliki /proc mog� by� u�yte do uzyskania informacji o stanie j�dra, atrybutach komputera, stanie uruchomionych proces�w, itp. Wi�kszo�� plik�w w katalogu /proc dostarcza naj�wie�szy "rzut okiem" na fizyczne �rodowisko systemu. Pomimo, �e pliki /proc s� wirtualne, mog� by� przegl�dane przy pomocy dowolnego edytora plik�w, jak 'more', 'less' czy 'cat'. Kiedy dowolny edytor pr�buje otworzy� wirtualny plik, plik ten jest tworzony na bie��co z informacji z j�dra. Przedstawi� teraz interesuj�ce wyniki jakie uzyska�em w moim systemie
$ ls -l /proc/cpuinfo -r--r--r-- 1 root root 0 Dec 25 11:01 /proc/cpuinfo $ file /proc/cpuinfo /proc/cpuinfo: empty $ cat /proc/cpuinfo processor : 0 vendor_id : GenuineIntel cpu family : 6 model : 8 model name : Pentium III (Coppermine) stepping : 6 cpu MHz : 1000.119 cache size : 256 KB fdiv_bug : no hlt_bug : no sep_bug : no f00f_bug : no coma_bug : no fpu : yes fpu_exception : yes cpuid level : 2 wp : yes flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 mmx fxsr xmm bogomips : 1998.85 processor : 3 vendor_id : GenuineIntel cpu family : 6 model : 8 model name : Pentium III (Coppermine) stepping : 6 cpu MHz : 1000.119 cache size : 256 KB fdiv_bug : no hlt_bug : no sep_bug : no f00f_bug : no coma_bug : no fpu : yes fpu_exception : yes cpuid level : 2 wp : yes flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 mmx fxsr xmm bogomips : 1992.29
System plik�w /proc mo�e by� u�yty do zebrania u�ytecznych informacji
o systemie i dzia�aj�cym j�drze. Niekt�re z wa�nych plik�w zosta�y
wypisane poni�ej.
System plik�w /proc mo�e by� wykorzystany do uzyskania informacji o ka�dym dzia�aj�cym procesie. W katalogu /proc jest kilka numerowych podkatalog�w. Ka�dy numerowany katalog jest zwi�zany z id procesu (PID). W zwi�zku z tym dla ka�dego uruchomionego procesu, w katalogu /proc znajduje si� podkatalog nazwany tak, jak jego PID. Wewn�trz tych podkatalog�w znajduj� si� pliki dostarczaj�ce wa�nych szczeg��w o stanie i �rodowisku procesu. Spr�bujmy znale�� uruchomiony proces.
$ ps -aef | grep mozilla root 32558 32425 8 22:53 pts/1 00:01:23 /usr/bin/mozillaPowy�sza komenda pokazuje, �e jest uruchomiony proces mozilla z PID 32558. W zwi�zku z tym z katalogu /proc powinien by� podkatalog 32558.
$ ls -l /proc/32558 total 0 -r--r--r-- 1 root root 0 Dec 25 22:59 cmdline -r--r--r-- 1 root root 0 Dec 25 22:59 cpu lrwxrwxrwx 1 root root 0 Dec 25 22:59 cwd -> /proc/ -r-------- 1 root root 0 Dec 25 22:59 environ lrwxrwxrwx 1 root root 0 Dec 25 22:59 exe -> /usr/bin/mozilla* dr-x------ 2 root root 0 Dec 25 22:59 fd/ -r--r--r-- 1 root root 0 Dec 25 22:59 maps -rw------- 1 root root 0 Dec 25 22:59 mem -r--r--r-- 1 root root 0 Dec 25 22:59 mounts lrwxrwxrwx 1 root root 0 Dec 25 22:59 root -> // -r--r--r-- 1 root root 0 Dec 25 22:59 stat -r--r--r-- 1 root root 0 Dec 25 22:59 statm -r--r--r-- 1 root root 0 Dec 25 22:59 statusPlik "cmdline" zawiera komend� u�yt� do uruchomienia procesu. Plik "environ" zawiera zmienne �rodowiskowe dla procesu. "status" zawiera informacje o statusie procesu, zawieraj�ce numer identyfikacyjny u�ytkownika (UID) oraz grupy (GID) dla u�ytkownika, kt�ry uruchomi� proces, ID procesu-rodzica (PPID), oraz aktualny stan procesu, taki jak "Sleeping" (u�piony) czy "Running" (dzia�aj�cy). Ka�dy katalog procesu ma tak�e kilka ��czy symbolicznych. "cwd" jest ��czem roboczego katalogu procesu, "exe" jest ��czem do wykonywalnego programu uruchomionego procesu, "root" jest ��czem do katalogu, kt�ry proces "widzi" jako sw�j katalog g��wny (zazwyczaj "/"). Katalog "fd" zawiera ��cza do deskryptor�w plik�w, z kt�rych korzysta proces. "cpu" istnieje tylko na j�drach Linuxa SMP. Zawiera on rodzielenie czasu procesu przez procesor.
/proc/self jest interesuj�cym podkatalogiem, kt�ry u�atwia
programowi u�ycie /proc do odszukania informacji o swoim procesie. Wpis
/proc/self jest ��czem symbolicznym do podkatalogu /proc odnosz�cego si� do
procesu odczytuj�cego katalog /proc.
Wi�kszo�� plik�w w katalogu /proc opisanych powy�ej jest tylko do odczytu.
Jednak�e system plik�w /proc umo�liwia interakcj� z j�drem poprzez pliki
do zapisu i odczytu w katalogu /proc. Zapis do tych plik�w mo�e zmieni�
stan j�dra i w zwi�zku z tym zmiany w tych plikach powinny by�
robione bardzo ostro�nie. Katalog /proc/sys zawiera wszystkie pliki, kt�re
mo�emy zapisywa� i u�y� do zmiany zachowania j�dra.
/proc/sys/kernel - ten katalog zawiera informacje, kt�re
odzwierciedlaj� og�lne zachowanie j�dra. /proc/sys/kernel/{domainname,
hostname} zawieraj� domen� oraz nazw� hosta maszyny/sieci. Te pliki mog�
by� u�yte do zmiany tych ustawie�.
$ hostname machinename.domainname.com $ cat /proc/sys/kernel/domainname domainname.com $ cat /proc/sys/kernel/hostname machinename $ echo "new-machinename" > /proc/sys/kernel/hostname $ hostname new-machinename.domainname.comW zwi�zku z tym, poprzez modyfikacj� pliku wewn�trz katalogu /proc, mo�emy zmieni� nazw� hosta. W katalogu /proc/sys/kernel/ istnieje o wiele wi�cej plik�w konfiguracyjnych. Wypisanie ich wszystkich tutaj jest niemo�liwe, dlatego czytelnik powinien samodzielnie zajrze� do tego katalogu.
$ echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_allTo ukryje tw�j komputer w sieci poprzez wy��czenie odpowiedzi na icmp_echos. Host nie b�dzie odpowiada� na pingi z innych host�w.
$ ping machinename.domainname.com no answer from machinename.domainname.comAby ustawi� to na domy�lne zachowanie wykonaj
$ echo 0 > /proc/sys/net/ipv4/icmp_echo_ignore_allJest du�o wi�cej podkatalog�w wewn�trz /proc/sys, kt�re mo�na konfigurowa� w celu zmiany w�a�ciwo�ci j�dra. Zajrzyj do [1], [2] po szczeg�owe informacje.
System plik�w /proc dostarcza interfejs do j�dra oparty na plikach. Pomaga
on w okre�laniu stanu i konfiguracji r�nych urz�dze� i proces�w w
systemie. Zrozumienie i wykorzystanie wiedzy o nim jest kluczem do
najlepszego wykorzystania twojego Linuxa.
|
Strona prowadzona przez redakcj� LinuxFocus
© Sandeep Grover, FDL LinuxFocus.org |
t�umaczenie:
|
2004-01-30, generated by lfparser version 2.45