SETARCH(8)

الاسم
setarch - غيّر المعمارية المُبلغ عنها في بيئة برنامج جديد و/أو اضبط أعلام الشخصية (personality flags)

موجز

setarch [arch] [خيارات] [برنامج [وسيط...]]

arch [خيارات] [program [argument...]]

الوصف

يعدل setarch مجال التنفيذ وأعلام شخصية العملية.

يؤثر مجال التنفيذ حالياً فقط على مخرجات uname -m. على سبيل المثال، في نظام AMD64، سيؤدي تشغيل ‎setarch i386 program إلى جعل البرنامج يرى i686 بدلاً من x86_64 كنوع للجهاز. البرنامج المبدئي هو /bin/sh.

منذ الإصدار 2.33، أصبح معامل سطر الأوامر arch اختيارياً، ويمكن استخدام setarch لتغيير أعلام الشخصية (مثل: ADDR_LIMIT_3GB، و SHORT_INODE، إلخ) دون تعديل مجال التنفيذ.

الخيارات

--list
    اسرد المعماريات التي يعرفها setarch. تعتمد إمكانية قيام setarch بضبط كل من هذه المعماريات فعلياً على النواة الجارية.

--show[=personality]
    يعرض الشخصية والأعلام النشطة حالياً. إذا قُدم المعامل personality، فإنه يُعرض بدلاً من الحالي. الشخصية personality هي رقم سداسي عشري القيم الممكنة له موصوفة في sys/personality.h.

-p, --pid=pid
    عند استخدامه مع ‎--show‎، يعرض الشخصية وأعلام العملية المحددة.

--uname-2.6
    يجعل البرنامج program المحدد يرى رقم نسخة نواة يبدأ بـ 2.6. يفعل UNAME26.

-v، --verbose
    كن مسهباً.

-3، --3gb
    يجب أن يستخدم البرنامج program المحدد بحد أقصى 3 جيجابايت من مساحة العناوين. مدعوم على x86. يفعل ADDR_LIMIT_3GB.

--4gb
    ليس لهذا الخيار أي تأثير. أُبقي عليه من أجل التوافقية مع الإصدارات السابقة فقط، وقد يُزال في الإصدارات المستقبلية.

-B، --32bit
    قيد مساحة العناوين إلى 32 بت لمحاكاة العتاد. متاح على ARM و Alpha. يُفعّل ADDR_LIMIT_32BIT.

-F، --fdpic-funcptrs
    عامل مؤشرات دوال فضاء المستخدم لمعالجات الإشارات كمؤشرات لواصفات العناوين. ليس لهذا الخيار تأثير على المعماريات التي لا تدعم ثنائيات ELF من نوع FDPIC. في نسخة النواة v4.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 -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

المؤلفين

انظر أيضاً

personality(2)، select(2) *proc_pid_personality(5)

التبليغ عن الأخطاء

لتقارير العِلل، استخدم

التوفر

الأمر setarch جزء من حزمة util-linux التي يمكن تنزيلها من