Scroll to navigation

SETARCH(8) Administrare sistem SETARCH(8)

NUME

setarch - schimbă arhitectura raportată în noul mediu de program și/sau stabilește fanioanele de personalitate

REZUMAT

setarch [arhitectura] [opțiuni] [program [argument...]]

setarch --list|-h|-V

arch [opțiuni] [program [argument...]]

DESCRIERE

setarch modifică domeniile de execuție și fanioanele de personalitate ale procesului.

Domeniile de execuție afectează în prezent numai rezultatul uname -m. De exemplu, pe un sistem AMD64, rularea setarch i386 program va face ca program să vadă i686 în loc de x86_64 ca tip de mașină. De asemenea, poate fi utilizat pentru a configura diverse opțiuni de personalitate. programul implicit este /bin/sh.

Începând cu versiunea 2.33, argumentul arhitectura din linia de comandă este opțional, iar setarch poate fi utilizat pentru a schimba fanioanele de personalitate (ADDR_LIMIT_*, SHORT_INODE, etc.) fără a modifica domeniul de execuție.

OPȚIUNI

--list

Listează arhitecturile pe care setarch le cunoaște. Faptul că setarch poate stabili efectiv fiecare dintre aceste arhitecturi depinde de nucleul care rulează.

--show[=personalitatea]

Afișează personalitatea și fanioanele active în prezent. Dacă este furnizat argumentul personalitatea, aceasta este afișată în locul celei curente. personalitatea este un număr hexazecimal cu valorile care au fost descrise în sys/personality.h.

--uname-2.6

Determină ca programul să vadă un număr de versiune de nucleu care începe cu 2.6. Activează UNAME26.

-v, --verbose

Oferă informații detaliate la ieșire.

-3, --3gb

Specifică faptul că programul trebuie să utilizeze maximum 3GB de spațiu de adresare. Compatibil cu x86. Activează ADDR_LIMIT_3GB.

--4gb

Această opțiune nu are niciun efect. Este păstrată doar pentru compatibilitate retroactivă și poate fi eliminată în versiunile viitoare.

-B, --32bit

Limitează spațiul de adrese la 32 de biți pentru a emula hardware-ul. Compatibil cu ARM și Alpha. Activează ADDR_LIMIT_32BIT.

-F, --fdpic-funcptrs

Tratează indicatorii de funcție din spațiul utilizatorului către gestionarii de semnal ca indicatori către descriptori de adresă. Această opțiune nu are niciun efect asupra arhitecturilor care nu acceptă binare ELF FDPIC. În nucleul v4.14, suportul este limitat la arhitecturile de procesoare ARM, Blackfin, Fujitsu FR-V și SuperH.

-I, --short-inode

Fanion de emulare a erorilor învechit. Activează SHORT_INODE.

-L, --addr-compat-layout

Furnizează o dispunere a spațiului de adrese virtuale moștenit. Se utilizează atunci când programul binar nu are antetul ELF PT_GNU_STACK. Activează ADDR_COMPAT_LAYOUT.

-R, --addr-no-randomize

Dezactivează generarea aleatorie a spațiului de adrese virtuale. Activează ADDR_NO_RANDOMIZE.

-S, --whole-seconds

Fanion de emulare a erorilor învechit. Activează WHOLE_SECONDS.

-T, --sticky-timeouts

Acest lucru face ca apelurile de sistem select(2), pselect(2) și ppoll(2) să păstreze valoarea de așteptare, în loc să o modifice pentru a reflecta perioada de timp nelucrată atunci când este întreruptă de un gestionar de semnal. Se utilizează atunci când program depinde de acest comportament. Pentru mai multe detalii, consultați descrierea „timeout” (așteptare) în pagina de manual select(2). Activează STICKY_TIMEOUTS.

-X, --read-implies-exec

Dacă această opțiune este stabilită, atunci mmap(2) PROT_READ va adăuga și bitul PROT_EXEC - așa cum se așteaptă binarele x86 tradiționale. Rețineți că încărcătorul ELF va activa automat acest bit atunci când întâlnește un binar vechi. Activează READ_IMPLIES_EXEC.

-Z, --mmap-page-zero

Emulare eroare SVr4 care va stabili pagina zero mmap(2) ca fiind numai-pentru-citire. Se utilizează atunci când program depinde de acest comportament, iar codul sursă nu este disponibil pentru a fi corectat. Activează MMAP_PAGE_ZERO.

-h, --help

Afișează acest mesaj de ajutor și iese.

-V, --version

Afișează informațiile despre versiune și iese.

EXEMPLU

setarch --addr-no-randomize programulmeudetestare
setarch ppc32 rpmbuild --target=ppc --rebuild foo.src.rpm
setarch ppc32 -v -vL3 rpmbuild --target=ppc --rebuild bar.src.rpm
setarch ppc32 --32bit rpmbuild --target=ppc --rebuild foo.src.rpm

AUTORI

Elliot Lee <sopwith@redhat.com>, Jindrich Novy <jnovy@redhat.com>, Karel Zak <kzak@redhat.com>

CONSULTAȚI ȘI

personality(2), select(2)

RAPORTAREA ERORILOR

Pentru rapoarte de eroare, folosiți sistemul de urmărire al erorilor la <https://github.com/util-linux/util-linux/issues>.

DISPONIBILITATE

Comanda setarch face parte din pachetul util-linux care poate fi descărcat de la Linux Kernel Archive <https://www.kernel.org/pub/linux/utils/util-linux/>.

2025-02-05 util-linux 2.40.4