Provided by: util-linux-locales_2.41-4ubuntu3_all bug

НАЗВА

       setarch - зміна архітектуру, яку повідомляє система, у новому програмному середовищі і/або встановити
       прапорці індивідуальності

КОРОТКИЙ ОПИС

       setarch [архітектура] [параметри] [програма [аргумент...]]

       setarch --list|-h|-V

       arch [параметри] [програма [аргумент...]]

ОПИС

       setarch змінює домени виконання і обробляє прапорці індивідуальності.

       Домен виконання у поточній версії впливає лише на виведення uname -m. Наприклад, у системі AMD64 команда
       setarch i386 програма накаже програмі бачити тип комп’ютера i686 замість x86_64. Нею також можна
       скористатися для встановлення різноманітних параметрів індивідуальності. Типовим значенням аргументу
       програма є /bin/sh.

       Починаючи з версії 2.33, аргумент командного рядка архітектура є необов’язковим, а setarch можна
       скористатися для зміни параметрів індивідуальності (ADDR_LIMIT_*, SHORT_INODE, тощо) без внесення змін до
       домену виконання.

ПАРАМЕТРИ

       --list
           Вивести список відомих setarch архітектур. Те, чи може setarch насправді встановлювати кожну з цих
           архітектур, залежить від запущеного у системі ядра.

       --show[=personality]
           Show the currently active personality and flags. If the personality argument is provided, it is shown
           instead of the current one. personality is a hexadecimal number with values was described in
           sys/personality.h.

       --uname-2.6
           Наказує програмі бачити номер версії ядра як такий, що починається з 2.6. Вмикає UNAME26.

       -v, --verbose
           Режим докладних повідомлень.

       -3, --3gb
           Вказує, що програма має споживати не більше 3 ГБ простору адрес. Підтримку передбачено на x86. Вмикає
           ADDR_LIMIT_3GB.

       --4gb
           Цей параметр ні на що не впливає. Його зберігають лише з міркувань сумісності. Цей параметр може бути
           вилучено у наступних версіях.

       -B, --32bit
           Обмежити простір адрес до 32 бітів для емуляції апаратного забезпечення. Підтримку передбачено на ARM
           і Alpha. Вмикає ADDR_LIMIT_32BIT.

       -F, --fdpic-funcptrs
           Вважати вказівники функцій простору користувачів на обробники сигналів вказівниками на дескриптори
           адрес. Цей параметр не працює на архітектурах, де не передбачено підтримки виконуваних файлів ELF
           FDPIC. У ядрі 4.14 підтримку обмежено архітектурами процесорів ARM, Blackfin, Fujitsu FR-V та SuperH.

       -I, --short-inode
           Застарілий прапорець імітації вади. Вмикає SHORT_INODE.

       -L, --addr-compat-layout
           Забезпечує роботу застарілого компонування простору віртуальних адрес. Використовуйте, якщо у
           виконуваного файла програма не містить заголовка ELF PT_GNU_STACK. Вмикає ADDR_COMPAT_LAYOUT.

       -R, --addr-no-randomize
           Вимикає випадковість простору віртуальних адрес. Вмикає ADDR_NO_RANDOMIZE.

       -S, --whole-seconds
           Застарілий прапорець імітації вади. Вмикає WHOLE_SECONDS.

       -T, --sticky-timeouts
           Це наказує системним викликам select(2), pselect(2) і ppoll(2) зберігати значення часу очікування
           замість внесення до нього змін з метою врахувати час, який було проведено поза межами сну, при
           перериванні обробником сигналу. Користуйтеся, якщо логіка програми залежить від цієї поведінки.
           Докладніший опис часу очікування наведено на сторінці підручника щод select(2). Вмикає
           STICKY_TIMEOUTS.

       -X, --read-implies-exec
           Якщо встановлено цей параметр, PROT_READ mmap(2) також додаватиме біт PROT_EXEC, як це було у
           застарілих виконуваних файлах x86. Зауважте, що завантажувач ELF автоматично встановить цей біт, якщо
           йому трапиться застарілий виконуваний файл. Вмикає READ_IMPLIES_EXEC.

       -Z, --mmap-page-zero
           Емуляція вади у SVr4, яка призводила до встановлення для нульової сторінки mmap(2) стану «лише
           читання. Користуйтеся, коли логіка програми ґрунтується на цій поведінці, а початковий код є
           недоступним для виправлення. Вмикає MMAP_PAGE_ZERO.

       -h, --help
           Вивести текст довідки і завершити роботу.

       -V, --version
           Показати дані щодо версії і завершити роботу.

ПРИКЛАД

           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>

ТАКОЖ ПЕРЕГЛЯНЬТЕ

       personality(2), select(2)

ЯК НАДІСЛАТИ ЗВІТ ПРО ВАДИ

       Для звітування щодо вад скористайтеся системою стеження за вадами
       <https://github.com/util-linux/util-linux/issues>

ДОСТУП ДО ПРОГРАМИ

       Програма setarch є частиною пакунка util-linux, який можна отримати з архіву ядра Linux
       <https://www.kernel.org/pub/linux/utils/util-linux/>.

util-linux 2.41                                    2025-07-02                                         SETARCH(8)