This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
advanced-unix:capitole:capitol-02 [2016/05/10 11:30] razvan [chroot și executabile statice] |
advanced-unix:capitole:capitol-02 [2016/05/16 12:28] (current) razvan [Compilare pe 32 de biți] |
||
---|---|---|---|
Line 104: | Line 104: | ||
</note> | </note> | ||
- | ==== Compilare pe 32 de biți ==== | + | ==== Compilare fișier ==== |
- | Creați un fișier ''.c'' care să afișeze mesajul ''Hello, world!''. Compilați-l pentru a obține un executabil pe 32 de biți. Verificați folosind comanda ''file'' că este un executabil format ELF (//Executable and Linking Format//) pe 32 de biți. Apoi rulați-l. | + | Creați un fișier ''.c'' care să afișeze mesajul ''Hello, world!''. Compilați-l pentru a obține un executabil. Verificați folosind comanda ''file'' că este un executabil format ELF (//Executable and Linking Format//). Apoi rulați-l. |
==== debsums ==== | ==== debsums ==== | ||
Line 141: | Line 141: | ||
Încercați apoi același lucru pe un executabil dinamic. Observați că nu funcționează. Copiați în directorul de chroot (''/tmp/chroot/'') bibliotecile aferente în directoarele corespunzătoare, astfel încât să funcționeze. | Încercați apoi același lucru pe un executabil dinamic. Observați că nu funcționează. Copiați în directorul de chroot (''/tmp/chroot/'') bibliotecile aferente în directoarele corespunzătoare, astfel încât să funcționeze. | ||
+ | |||
+ | <note tip> | ||
+ | Bibliotecile le determinați cu ajutorul comenzii ''ldd'' peste executabilul dinamic. | ||
+ | </note> | ||
+ | |||
+ | <note tip> | ||
+ | Folosiți opțiunea ''%%--parents%%'' pentru ''cp'' pentru a crea la destinație calea completă către fișierele de tip bibliotecă. | ||
+ | </note> | ||
Adăugați în fișierul ''C'' un apel de tipul ''sleep'' sau ''pause'' și refaceți pașii de mai sus. În timp ce executabilul rulează porniți, din altă consolă, o comandă ''lsof'' pentru a afișa fișierele deschide de acest proces. Observați directorul rădăcină al procesului (''rtd''). | Adăugați în fișierul ''C'' un apel de tipul ''sleep'' sau ''pause'' și refaceți pașii de mai sus. În timp ce executabilul rulează porniți, din altă consolă, o comandă ''lsof'' pentru a afișa fișierele deschide de acest proces. Observați directorul rădăcină al procesului (''rtd''). |