SETARCH(8) System-Administration SETARCH(8) BEZEICHNUNG setarch - andert die vom System gemeldete Architektur und/oder setzt neue Personalitats-Schalter. UBERSICHT setarch [Architektur] [Optionen] [Programm [Argument...]] arch [Optionen] [Programm [Argument...]] BESCHREIBUNG setarch verandert die Ausfuhrungsdomain und die Personalitatsschalter von Prozessen. Die Ausfuhrungsdomains beeinflussen derzeit nur die Ausgabe von uname -m. Beispielsweise sorgt der Aufruf von setarch i386 Programm auf einem AMD64-System dafur, dass das Programm den Rechnertyp als i686 sieht (oder eine andere relevante Architektur) anstelle von x86_64. Das vorgegebene Programm ist /bin/sh. Seit Version 2.33 ist das Befehlszeilenargument Architektur optional und setarch kann zur Veranderung der Personalitatsschalter (ADDR_LIMIT_3GB, SHORT_INODE, usw.) ohne Anderung der Ausfuhrungsdomain verwendet werden. OPTIONEN --list listet die Architekturen auf, die setarch kennt. Ob allerdings setarch tatsachlich eine bestimmte dieser Architekturen setzen kann, ist von dem laufenden Kernel abhangig. --show[=Personalitat] zeigt die aktuell aktive Personalitat und die Markierungen an. Wenn das Argument Personalitat angegeben ist, wird diese anstelle des aktuellen Arguments angezeigt. Die Personalitat ist eine Hexadezimalzahl, deren mogliche Werte in sys/personality.h beschrieben sind. -p, --pid=ID zeigt bei Verwendung mit --show die Personalitat und die Flags des angegebenen Prozesses an. --uname-2.6 sorgt dafur, dass das angegebene Programm einen Kernel mit einer Versionsnummer sieht, die mit 2.6 beginnt. Schaltet UNAME26 ein. -v, --verbose aktiviert den ausfuhrlichen Modus. -3, --3gb gibt an, dass das angegebene Programm einen maximalen Adressraum von 3 GB belegen soll. Unterstutzt auf x86. Schaltet ADDR_LIMIT_3GB ein. --4gb Diese Option hat keinen Effekt. Sie wird nur aus Grunden der Abwartskompatibilitat unterstutzt und kann in zukunftigen Veroffentlichungen entfernt werden. -B, --32bit begrenzt den Adressraum auf 32 Bit, um Hardware zu emulieren. Unterstutzt auf ARM und Alpha. Schaltet ADDR_LIMIT_32BIT ein. -F, --fdpic-funcptrs behandelt Funktionszeiger des Anwendungsraums auf Signal-Handler als Zeiger auf Adressdeskriptoren. Diese Option hat auf Architekturen, die keine FDPIC-ELF-Programme unterstutzen, keinen Effekt. In Kernel v4.14 ist die Unterstutzung auf die CPU-Architekturen ARM, Blackfin, Fujitsu FR-V und SuperH beschrankt. -I, --short-inode Veralteter Fehleremulationsschalter. Schaltet SHORT_INODE ein. -L, --addr-compat-layout stellt das alte Layout des virtuellen Adressraums bereit. Verwenden Sie dies, falls das Programm nicht uber den PT_GNU_STACK-ELF-Header verfugt. Schaltet ADDR_COMPAT_LAYOUT ein. -R, --addr-no-randomize deaktiviert die Randomisierung des virtuellen Adressraums. Schaltet ADDR_NO_RANDOMIZE ein. -S, --whole-seconds Veralteter Fehleremulationsschalter. Schaltet WHOLE_SECONDS ein. -T, --sticky-timeouts Dies fuhrt dazu, dass die Systemaufrufe select(2), pselect(2) und ppoll(2) den Wert der Zeituberschreitung beibehalten, anstatt ihn so zu verandern, dass er die Zeit wiedergibt, die wahrend einer Unterbrechung durch einen Signal-Handler nicht geschlafen wurde. Verwenden Sie dies, wenn das Programm von diesem Verhalten abhangt. Fur weitere Details siehe die Zeituberschreitungsbeschreibung in der Handbuchseite select(2). Schaltet STICKY_TIMEOUTS ein. -X, --read-implies-exec Falls dies gesetzt ist, wird mmap(2) PROT_READ auch das Bit PROT_EXEC hinzufugen - wie dies von alten x86-Programmen erwartet wird. Beachten Sie, dass der ELF-Lader dieses Bit automatisch setzen wird, wenn es ein altes Programm antrifft. Schaltet READ_IMPLIES_EXEC ein. -Z, --mmap-page-zero SVr4-Fehleremulation, die mmap(2) auf Seite Null als nur lesbar setzen wird. Verwenden Sie dies, wenn das Programm von diesem Verhalten abhangt und der Quellcode nicht zum Korrigieren verfugbar ist. Schaltet MMAP_PAGE_ZERO ein. -h, --help zeigt einen Hilfetext an und beendet das Programm. -V, --version zeigt Versionsinformationen an und beendet das Programm. BEISPIELE setarch --addr-no-randomize mytestprog setarch ppc32 rpmbuild --target=ppc --rebuild foo.src.rpm setarch ppc32 -vL3 rpmbuild --target=ppc --rebuild bar.src.rpm setarch ppc32 --32bit rpmbuild --target=ppc --rebuild foo.src.rpm setarch --show setarch --show=$(cat /proc/9284/personality) setarch --show --pid 9284 AUTOREN Elliot Lee , Jindrich Novy , Karel Zak SIEHE AUCH personality(2), select(2) *proc_pid_personality(5) FEHLER MELDEN Nutzen Sie zum Melden von Fehlern das Fehlererfassungssystem . VERFUGBARKEIT Der Befehl setarch ist Teil des Pakets util-linux, welches aus dem Linux-Kernel-Archiv heruntergeladen werden kann. util-linux 2.42.3 2026-09-02 SETARCH(8)