Scroll to navigation

SETARCH(8) Керування системою SETARCH(8)

НАЗВА

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

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

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

setarch --list|-h|-V

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

ОПИС

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

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

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

ПАРАМЕТРИ

Вивести список відомих setarch архітектур. Те, чи може setarch насправді встановлювати кожну з цих архітектур, залежить від запущеного у системі ядра.
Наказує програмі бачити номер версії ядра як такий, що починається з 2.6. Вмикає UNAME26.
Режим докладних повідомлень.
-3, --3gb
Вказує, що програма має споживати не більше 3 ГБ простору адрес. Підтримку передбачено на x86. Вмикає ADDR_LIMIT_3GB.
--4gb
Цей параметр ні на що не впливає. Його зберігають лише з міркувань сумісності. Цей параметр може бути вилучено у наступних версіях.
Обмежити простір адрес до 32 бітів для емуляції апаратного забезпечення. Підтримку передбачено на ARM і Alpha. Вмикає ADDR_LIMIT_32BIT.
Вважати вказівники функцій простору користувачів на обробники сигналів вказівниками на дескриптори адрес. Цей параметр не працює на архітектурах, де не передбачено підтримки виконуваних файлів ELF FDPIC. У ядрі 4.14 підтримку обмежено архітектурами процесорів ARM, Blackfin, Fujitsu FR-V та SuperH.
Застарілий прапорець імітації вади. Вмикає SHORT_INODE.
Забезпечує роботу застарілого компонування простору віртуальних адрес. Використовуйте, якщо у виконуваного файла програма не містить заголовка ELF PT_GNU_STACK ELF. Вмикає ADDR_COMPAT_LAYOUT.
Вимикає випадковість простору віртуальних адрес. Вмикає ADDR_NO_RANDOMIZE.
Застарілий прапорець імітації вади. Вмикає WHOLE_SECONDS.
Це наказує системним викликам select(2), pselect(2) і ppoll(2) зберігати значення часу очікування замість внесення до нього змін з метою врахувати час, який було проведено поза межами сну, при перериванні обробником сигналу. Користуйтеся, якщо логіка програми залежить від цієї поведінки. Докладніший опис часу очікування наведено на сторінці підручника щод select(2). Вмикає STICKY_TIMEOUTS.
Якщо встановлено цей параметр, PROT_READ mmap(3p) також додаватиме біт PROT_EXEC, як це було у застарілих виконуваних файлах x86. Зауважте, що завантажувач ELF автоматично встановить цей біт, якщо йому трапиться застарілий виконуваний файл. Вмикає READ_IMPLIES_EXEC.
Емуляція вади у SVr4, яка призводила до встановлення для нульової сторінки mmap(3p) стану «лише читання. Користуйтеся, коли логіка програми ґрунтується на цій поведінці, а початковий код є недоступним для виправлення. Вмикає MMAP_PAGE_ZERO.
Вивести дані щодо версії і завершити роботу.
Вивести текст довідки і завершити роботу.

ПРИКЛАДИ

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
Jindrich Novy
Karel Zak

ДИВ. ТАКОЖ

personality(2), select(2)

ДОСТУПНІСТЬ

Програма setarch є частиною пакунка util-linux і доступна з архіву ядра Linux.

ПЕРЕКЛАД

Український переклад цієї сторінки посібника виконано Yuri Chornoivan <yurchor@ukr.net>

Цей переклад є безкоштовною документацією; будь ласка, ознайомтеся з умовами GNU General Public License Version 3. НЕ НАДАЄТЬСЯ ЖОДНИХ ГАРАНТІЙ.

Якщо ви знайшли помилки у перекладі цієї сторінки підручника, будь ласка, надішліть електронний лист до списку листування перекладачів: trans-uk@lists.fedoraproject.org.

Грудень 2017 року util-linux