'\" t .\" Title: setarch .\" Author: [see the "AUTHOR(S)" section] .\" Generator: Asciidoctor 2.0.26 .\" Date: 2026-09-02 .\" Manual: Administracja systemem .\" Source: util-linux 2.42.3 .\" Language: English .\" .TH "SETARCH" "8" "2026-09-02" "util\-linux 2.42.3" "Administracja systemem" .ie \n(.g .ds Aq \(aq .el .ds Aq ' .ss \n[.ss] 0 .nh .ad l .de URL \fI\\$2\fP <\\$1>\\$3 .. .als MTO URL .if \n[.g] \{\ . mso www.tmac . am URL . ad l . . . am MTO . ad l . . . LINKSTYLE blue R < > .\} .SH "NAZWA" setarch \- zmienia zgłaszaną architekturę w środowisku nowego programu i/lub ustawia flagi osobowości .SH "SKŁADNIA" .sp \fBsetarch\fP [\fIarchitektura\fP] [opcje] [\fIprogram\fP [\fIargument\fP.\|.\|.]] .sp \fIarchitektura\fP [opcje] [\fIprogram\fP [\fIargument\fP.\|.\|.]] .SH "OPIS" .sp \fBsetarch\fP modyfikuje domenę wykonywania i przetwarza flagi osobowości. .sp Domena wykonywania obecnie wpływa jedynie na wynik polecenia \fBuname \-m\fP. Na przykład w systemie AMD64, wykonanie \fBsetarch i386\fP \fIprogram\fP spowoduje, że \fIprogram\fP zobaczy \fBi686\fP zamiast \fBx86_64\fP jako typ komputera. Domyślnym programem jest \fB/bin/sh\fP. .sp Od wersji 2.33, argument wiersza polecenia \fIarchitektura\fP jest opcjonalny a \fBsetarch\fP może służyć do zmiany flag osobowości (ADDR_LIMIT_3GB, SHORT_INODE, etc) bez modyfikowania domeny wykonywania. .SH "OPCJE" .sp \fB\-\-list\fP .RS 4 Wypisuje architektury znane narzędziu \fBsetarch\fP. To, czy \fBsetarch\fP może faktycznie ustawić każdą z tych architektur, zależy od działającego jądra. .RE .sp \fB\-\-show\fP[\fB=\fP\fIosobowość\fP] .RS 4 Pokazuje obecnie aktywną osobowość wraz z flagami. Jeśli poda się argument \fIosobowość\fP, pokazuje ją, zamiast bieżącej. \fIOsobowość\fP jest liczbą szesnastkową, której dopuszczalne wartości opisano w \fBsys/personality.h\fP. .RE .sp \fB\-p\fP, \fB\-\-pid=\fP\fIpid\fP .RS 4 Przy stosowaniu z \fB\-\-show\fP, pokazuje osobowość i flagi podanego procesu. .RE .sp \fB\-\-uname\-2.6\fP .RS 4 Powoduje, że podany \fIprogram\fP zobaczy numer wersji jądra zaczynający się od 2.6. Włącza \fBUNAME26\fP. .RE .sp \fB\-v\fP, \fB\-\-verbose\fP .RS 4 Więcej szczegółów. .RE .sp \fB\-3\fP, \fB\-\-3gb\fP .RS 4 Podany \fIprogram\fP powinien używać co najwyżej 3GB przestrzeni adresowej. Obsługiwane na x86. Włącza \fBADDR_LIMIT_3GB\fP. .RE .sp \fB\-\-4gb\fP .RS 4 Opcja nie odnosi skutku. Zachowano ją tylko ze względu na kompatybilność wsteczną i może być usunięta w przyszłych wydaniach. .RE .sp \fB\-B\fP, \fB\-\-32bit\fP .RS 4 Ogranicza przestrzeń adresową do 32 bitów, w celu emulacji sprzętu. Obsługiwane na ARM i Alpha. Włącza \fBADDR_LIMIT_32BIT\fP. .RE .sp \fB\-F\fP, \fB\-\-fdpic\-funcptrs\fP .RS 4 Traktuje wskaźniki funkcji z przestrzeni użytkownika do procedur obsługi sygnałów jako wskaźniki do deskryptorów adresów. Opcja nie odnosi skutku na architekturach nieobsługujących plików binarnych ELF \fBFDPIC\fP. W jądrze v4.14 obsługa ograniczała się do architektur ARM, Blackfin, Fujitsu FR\-V oraz SuperH CPU. .RE .sp \fB\-I\fP, \fB\-\-short\-inode\fP .RS 4 Flaga emulująca starą usterkę. Włącza \fBSHORT_INODE\fP. .RE .sp \fB\-L\fP, \fB\-\-addr\-compat\-layout\fP .RS 4 Udostępnia starszy układ wirtualnej przestrzeni adresowej. Należy stosować, gdy plik wykonywalny \fIprogramu\fP nie posiada nagłówka ELF \fBPT_GNU_STACK\fP. Włącza \fBADDR_COMPAT_LAYOUT\fP. .RE .sp \fB\-R\fP, \fB\-\-addr\-no\-randomize\fP .RS 4 Wyłącza stosowanie losowości wirtualnej przestrzeni adresowej. Włącza \fBADDR_NO_RANDOMIZE\fP. .RE .sp \fB\-S\fP, \fB\-\-whole\-seconds\fP .RS 4 Flaga emulująca starą usterkę. Włącza \fBWHOLE_SECONDS\fP. .RE .sp \fB\-T\fP, \fB\-\-sticky\-timeouts\fP .RS 4 Wywołania systemowe \fBselect\fP(2), \fBpselect\fP(2) i \fBppoll\fP(2) będą zachowywały wartość czasu przeterminowania, zamiast modyfikować ją, aby uwzględnić okres braku uśpienia przy przerwaniu przez procedurę obsługi sygnału. Opcję należy stosować, gdy \fIprogram\fP polega na tym zachowaniu. Więcej szczegółów w opisie czasu przeterminowania w podręczniku \fBselect\fP(2). Włącza \fBSTICKY_TIMEOUTS\fP. .RE .sp \fB\-X\fP, \fB\-\-read\-implies\-exec\fP .RS 4 Po podaniu opcji \fBPROT_READ\fP \fBmmap\fP(2) doda również bit \fBPROT_EXEC\fP \- jak oczekują tego stare pliki wykonywalne x86. Proszę zauważyć, że mechanizm ładujący ELF automatycznie ustawi ten bit, gdy natrafi na stary plik wykonywalny. Włącza \fBREAD_IMPLIES_EXEC\fP. .RE .sp \fB\-Z\fP, \fB\-\-mmap\-page\-zero\fP .RS 4 Emulacja usterki SVr4, ustawiająca \fBmmap\fP(2) strony zerowej jako tylko do odczytu. Należy stosować, gdy \fIprogram\fP polega na tym zachowaniu, a jego kod źródłowy jest niedostępny, uniemożliwiając jego poprawę. Włącza \fBMMAP_PAGE_ZERO\fP. .RE .sp \fB\-h\fP, \fB\-\-help\fP .RS 4 Wyświetla ten tekst i wychodzi. .RE .sp \fB\-V\fP, \fB\-\-version\fP .RS 4 Wyświetla wersję i wychodzi. .RE .SH "PRZYKŁADY" .sp .if n .RS 4 .nf .fam C 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 .fam .fi .if n .RE .SH "AUTORZY" .sp .MTO "sopwith\(atredhat.com" "Elliot Lee" "," .MTO "jnovy\(atredhat.com" "Jindrich Novy" "," .MTO "kzak\(atredhat.com" "Karel Zak" "" .SH "ZOBACZ TAKŻE" .sp \fBpersonality\fP(2), \fBselect\fP(2) *proc_pid_personality(5) .SH "ZGŁASZANIE BŁĘDÓW" .sp Problemy należy zgłaszać w \c .URL "https://github.com/util\-linux/util\-linux/issues" "systemie śledzenia błędów" "." .SH "DOSTĘPNOŚĆ" .sp Polecenie \fBsetarch\fP jest częścią pakietu util\-linux, który można pobrać ze strony \c .URL "https://www.kernel.org/pub/linux/utils/util\-linux/" "Archiwum jądra Linux" "."