setarch - ändert die vom System gemeldete Architektur
und/oder setzt neue Personalisierungs-Schalter.
ÜBERSICHT
setarch [Arch] [Optionen] [Programm
[Argumente…]]
setarch --list|-h|-V
arch [Optionen] [Programm
[Argument…]]
setarch verändert Ausführungsdomänen
und Personalitätsschalter von Prozessen.
Die Ausführungsdomänen beeinflussen derzeit nur die
Ausgabe von uname -m. Beispielsweise sorgt der Aufruf von setarch
i386 Programm auf einem AMD64-System dafür, dass das
Programm den Rechnertyp als i686 sieht (oder eine andere
relevante Architektur) anstelle von x86_64. Es ermöglicht
außerdem das Setzen verschiedener Personalisierungsoptionen. Das
vorgegebene Programm ist /bin/sh.
Seit Version 2.33 ist das Befehlszeilenargument arch
optional und setarch kann zur Veränderung der
Personalitätsschalter (ADDR_LIMIT_*, SHORT_INODE, usw.) ohne
Änderung der Ausführungsdomäne verwandt werden.
--list
listet die Architekturen auf, die setarch kennt.
Ob allerdings setarch tatsächlich eine bestimmte dieser
Architekturen setzen kann, ist von dem laufenden Kernel abhängig.
--uname-2.6
sorgt dafür, dass das Programm einen Kernel
mit einer Versionsnummer sieht, die mit 2.6 beginnt. Schaltet UNAME26
ein.
-v, --verbose
Ausführlicher Modus.
-3, --3gb
gibt an, dass Programm einen maximalen Adressraum
von 3 GB belegen soll. Unterstützt auf x86. Schaltet
ADDR_LIMIT_3GB ein.
--4gb
Diese Option hat keinen Effekt. Sie wird nur aus
Gründen der Rückwärtskompatibilität
unterstützt und kann in zukünftigen Veröffentlichungen
entfernt werden.
-B, --32bit
begrenzt den Adressraum auf 32 Bit, um Hardware zu
emulieren. Unterstützt 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 unterstützen,
keinen Effekt. In Kernel v4.14 ist die Unterstützung auf die
CPU-Architekturen ARM, Blackfin, Fujitsu FR-V und SuperH
beschränkt.
-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 über den
PT_GNU_STACK-ELF-Header verfügt. 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 führt dazu, dass die Systemaufrufe
select(2),
pselect(2) und
ppoll(2) den Wert der
Zeitüberschreitung beibehalten, anstatt ihn so zu verändern,
dass er die Zeit wiedergibt, die während einer Unterbrechung durch
einen Signal-Handler nicht geschlafen wurde. Verwenden Sie dies, wenn
Programm von diesem Verhalten abhängt. Für weitere
Details siehe die Zeitüberschreitungsbeschreibung in der Handbuchseite
select(2). Schaltet
STICKY_TIMEOUTS ein.
-X, --read-implies-exec
Falls dies gesetzt ist, wird
mmap(3p)
PROT_READ auch das Bit
PROT_EXEC hinzufügen - 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(3p) auf Seite Null
als nur lesbar setzen wird. Verwenden Sie dies, wenn
Programm von
diesem Verhalten abhängt und der Quellcode nicht zum Korrigieren
verfügbar ist. Schaltet
MMAP_PAGE_ZERO ein.
-h, --help
zeigt einen Hilfetext an und beendet das Programm.
-V, --version
zeigt die Versionsnummer an und beendet das
Programm.
setarch --addr-no-randomize mytestprog
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
Elliot Lee <sopwith@redhat.com>, Jindrich Novy
<jnovy@redhat.com>, Karel Zak <kzak@redhat.com>
Verwenden Sie zum Melden von Fehlern das Fehlererfassungssystem
auf <https://github.com/util-linux/util-linux/issues>.
Der Befehl setarch ist Teil des Pakets util-linux, welches
heruntergeladen werden kann von: Linux Kernel Archive
<https://www.kernel.org/pub/linux/utils/util-linux/>.
ÜBERSETZUNG
Die deutsche Übersetzung dieser Handbuchseite wurde von
Mario Blättermann <mario.blaettermann@gmail.com>, Dr. Tobias
Quathamer <toddy@debian.org> und Helge Kreutzmann
<debian@helgefjell.de> erstellt.
Diese Übersetzung ist Freie Dokumentation; lesen Sie die
GNU General
Public License Version 3 oder neuer bezüglich der
Copyright-Bedingungen. Es wird KEINE HAFTUNG übernommen.
Wenn Sie Fehler in der Übersetzung dieser Handbuchseite
finden, schicken Sie bitte eine E-Mail an die
Mailingliste
der Übersetzer.