OnWorks Linux و Windows Online WorkStations

الشعار

استضافة مجانية على الإنترنت لمحطات العمل

<السابق | المحتويات | التالي>

6.54.1. تركيب Coreutils

تتطلب POSIX أن تتعرف البرامج من Coreutils على حدود الأحرف بشكل صحيح حتى في مواقع متعددة البايت. يعمل التصحيح التالي على إصلاح هذا عدم الامتثال والأخطاء الأخرى المتعلقة بالتدويل.


التصحيح -Np1 -i ../coreutils-8.31-i18n-1.patch

التصحيح -Np1 -i ../coreutils-8.31-i18n-1.patch


ملاحظات

في الماضي ، تم العثور على العديد من الأخطاء في هذا التصحيح. عند إبلاغ مسؤولي صيانة Coreutils بالأخطاء الجديدة ، يرجى التحقق أولاً مما إذا كانت قابلة للتكرار بدون هذا التصحيح.

ملاحظات

في الماضي ، تم العثور على العديد من الأخطاء في هذا التصحيح. عند إبلاغ مسؤولي صيانة Coreutils بالأخطاء الجديدة ، يرجى التحقق أولاً مما إذا كانت قابلة للتكرار بدون هذا التصحيح.

صورة

قم بإلغاء الاختبار الذي يمكن أن يستمر في بعض الأجهزة إلى الأبد:


sed -i '/test.lock/s/ ^/#/' gnulib-tests / gnulib.mk

sed -i '/test.lock/s/ ^/#/' gnulib-tests / gnulib.mk

الآن قم بإعداد Coreutils للتجميع:


autoreconf -fiv FORCE_UNSAFE_CONFIGURE = 1 ./ تكوين \

--prefix = / usr \

--enable-no-install-program = kill، الجهوزية

autoreconf -fiv FORCE_UNSAFE_CONFIGURE = 1 ./ تكوين \

--prefix = / usr \

--enable-no-install-program = kill، الجهوزية

معنى خيارات التكوين:

com.autoreconf

يقوم هذا الأمر بتحديث ملفات التكوين التي تم إنشاؤها بما يتوافق مع أحدث إصدار من التشغيل التلقائي.

FORCE_UNSAFE_CONFIGURE = 1

يسمح متغير البيئة هذا بإنشاء الحزمة كمستخدم أساسي.

--enable-no-install-program = kill، الجهوزية

الغرض من رمز التبديل هذا هو منع Coreutils من تثبيت الثنائيات التي سيتم تثبيتها بواسطة الحزم الأخرى لاحقًا.

تجميع الحزمة:


جعل

جعل

تخطي لأسفل إلى "تثبيت الحزمة" إذا لم يكن تشغيل مجموعة الاختبار.

الآن مجموعة الاختبار جاهزة للتشغيل. أولاً ، قم بإجراء الاختبارات التي من المفترض أن يتم تشغيلها كمستخدم جذر:


اجعل NON_ROOT_USERNAME = لا أحد يتحقق من الجذر

اجعل NON_ROOT_USERNAME = لا أحد يتحقق من الجذر

سنجري باقي الاختبارات باسم لا أحد المستعمل. ومع ذلك ، تتطلب بعض الاختبارات أن يكون المستخدم عضوًا في أكثر من مجموعة واحدة. حتى لا يتم تخطي هذه الاختبارات سنضيف مجموعة مؤقتة ونجعل المستخدم لا أحد جزء منه:


صدى "دمية: x: 1000: لا أحد" >> / etc / group

صدى "دمية: x: 1000: لا أحد" >> / etc / group


أصلح بعض الأذونات بحيث يمكن للمستخدم غير الجذر ترجمة الاختبارات وتشغيلها:


chown -Rv لا أحد.

chown -Rv لا أحد.

قم الآن بإجراء الاختبارات. تأكد من أن المسار في ملف su تشمل البيئة / أدوات / بن.


su لا أحد- s / bin / bash \

-c "PATH = $ PATH اجعل RUN_EXPENSIVE_TESTS = فحص نعم"

su لا أحد- s / bin / bash \

-c "PATH = $ PATH اجعل RUN_EXPENSIVE_TESTS = فحص نعم"

من المعروف أن برنامج الاختبار test-getlogin يفشل في بيئة نظام مبنية جزئيًا مثل بيئة chroot هنا ، ولكنه ينجح إذا تم تشغيله في نهاية هذا الفصل. ومن المعروف أيضًا فشل برنامج الاختبار tty.sh.

إزالة المجموعة المؤقتة:


sed -i '/ dummy / d' / etc / group

sed -i '/ dummy / d' / etc / group

قم بتثبيت الحزمة:


جعل تثبيت

جعل تثبيت

انقل البرامج إلى المواقع المحددة بواسطة FHS:


mv -v / usr / bin / {cat، chgrp، chmod، chown، cp، date، dd، df، echo} / bin mv -v / usr / bin / {false، ln، ls، mkdir، mknod، mv، pwd ، rm} / بن

mv -v / usr / bin / {rmdir، stty، sync، true، uname} / bin mv -v / usr / bin / chroot / usr / sbin

mv -v /usr/share/man/man1/chroot.1 /usr/share/man/man8/chroot.8 sed -is / \ "1 \" / \ "8 \" / 1 / usr / share / man /man8/chroot.8

mv -v / usr / bin / {cat، chgrp، chmod، chown، cp، date، dd، df، echo} / bin mv -v / usr / bin / {false، ln، ls، mkdir، mknod، mv، pwd ، rm} / بن

mv -v / usr / bin / {rmdir، stty، sync، true، uname} / bin mv -v / usr / bin / chroot / usr / sbin

mv -v /usr/share/man/man1/chroot.1 /usr/share/man/man8/chroot.8 sed -is / \ "1 \" / \ "8 \" / 1 / usr / share / man /man8/chroot.8

تعتمد بعض البرامج النصية في حزمة LFS-Bootscripts على رئيس, رحلة جميلة, النومو تواصل. كما / البيرة قد لا تكون متاحة أثناء المراحل المبكرة والمتأخرة من التمهيد ، يجب أن تكون هذه الثنائيات على قسم الجذر للحفاظ على امتثال FHS:


mv -v / usr / bin / {head، nice، sleep، touch} / bin

mv -v / usr / bin / {head، nice، sleep، touch} / bin


أفضل الحوسبة السحابية لنظام التشغيل في OnWorks: