عربيالفرنسيةالإسبانية

Ad


OnWorks فافيكون

dpkg-buildflags - عبر الإنترنت في السحابة

قم بتشغيل dpkg-buildflags في موفر الاستضافة المجاني OnWorks عبر Ubuntu Online أو Fedora Online أو محاكي Windows عبر الإنترنت أو محاكي MAC OS عبر الإنترنت

هذا هو الأمر dpkg-buildflags الذي يمكن تشغيله في موفر الاستضافة المجاني OnWorks باستخدام إحدى محطات العمل المجانية المتعددة عبر الإنترنت مثل Ubuntu Online أو Fedora Online أو محاكي Windows عبر الإنترنت أو محاكي MAC OS عبر الإنترنت

برنامج:

اسم


dpkg-buildflags - يُرجع إشارات البناء لاستخدامها أثناء إنشاء الحزمة

موجز


dpkg-buildflags [خيار...] [أمر]

الوصف


dpkg-buildflags هي أداة لاسترداد علامات الترجمة لاستخدامها أثناء إنشاء دبيان
الحزم. يتم تحديد العلامات الافتراضية بواسطة البائع ولكن يمكن تمديدها/تجاوزها
في عدة طرق:

1. على مستوى النظام مع /etc/dpkg/buildflags.conf;

2. للمستخدم الحالي مع $XDG_CONFIG_HOME/dpkg/buildflags.conf أين
XDG_CONFIG_HOME دولار التخلف عن $ الصفحة الرئيسية / تكوين;

3. مؤقتا من قبل المستخدم مع متغيرات البيئة (انظر القسم البيئة);

4. ديناميكيًا بواسطة مشرف الحزمة مع تعيين متغيرات البيئة عبر
ديبيان / القواعد (انظر القسم البيئة).

يمكن أن تحتوي ملفات التكوين على نوعين من التوجيهات:

طقم علم قيمنا
تجاوز العلم المسمى علم للحصول على القيمة قيمنا.

قطاع علم قيمنا
تجريد من العلم اسمه علم جميع أعلام البناء المدرجة في قيمنا.

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

إضافة البادئة علم قيمنا
تمديد العلم المسمى علم من خلال إلحاق الخيارات الواردة في قيمنا. مساحة هي
يتم إلحاقه بالقيمة المُلحقة إذا كانت القيمة الحالية للعلم غير فارغة.

يمكن أن تحتوي ملفات التكوين على تعليقات على الأسطر التي تبدأ بالعلامة (#). فارغ
يتم تجاهل الخطوط أيضًا.

أوامر


--أحمق قم بطباعة جميع إشارات التجميع وقيمها إلى الإخراج القياسي. يطبع علم واحد
لكل سطر مفصول عن قيمته بعلامة المساواة ("علم=قيمنا"). هذا ال
حدث اساسي.

--قائمة اطبع قائمة العلامات التي يدعمها البائع الحالي (واحدة لكل سطر). انظر
أيد FLAGS قسم لمزيد من المعلومات عنهم.

--الحالة
اعرض أي معلومات يمكن أن تكون مفيدة لشرح سلوك
dpkg-buildflags (منذ dpkg 1.16.5): متغيرات البيئة ذات الصلة، الحالية
البائع، حالة جميع أعلام الميزات. قم أيضًا بطباعة إشارات المترجم الناتجة باستخدام
أصلهم.

والمقصود أن يتم تشغيل هذا من ديبيان / القواعد، بحيث يظل سجل البناء واضحًا
تتبع أعلام البناء المستخدمة. يمكن أن يكون هذا مفيدًا لتشخيص المشكلات المتعلقة
لهم.

- التصدير =شكل
الطباعة إلى أوامر الإخراج القياسية التي يمكن استخدامها لتصدير كل التجميع
أعلام لبعض الأدوات المحددة. إذا شكل لا يتم إعطاء القيمة، sh يفترض.
يتم تضمين علامات الترجمة التي تبدأ بحرف كبير فقط، وغيرها
من المفترض أنها غير مناسبة للبيئة. التنسيقات المدعومة:

sh أوامر Shell لتعيين وتصدير جميع إشارات الترجمة في ملف
بيئة. يتم نقل قيم العلامة بحيث يكون الإخراج جاهزًا
التقييم بواسطة قذيفة.

كمدلاين
وسيطات لتمريرها إلى سطر أوامر برنامج البناء لاستخدام كافة
أعلام التجميع (منذ dpkg 1.17.0). يتم اقتباس قيم العلم في Shell
بناء الجملة.

تكوين
هذا هو الاسم المستعار القديم لـ كمدلاين.

جعل قم بإعداد توجيهات لتعيين وتصدير جميع إشارات التجميع في ملف
بيئة. يمكن كتابة الإخراج إلى جزء ملف تعريف وتقييمه
باستخدام تتضمن التوجيه.

--احصل على علم
اطبع قيمة العلم على الإخراج القياسي. يخرج بـ 0 إذا كان العلم معروفًا
خلاف ذلك يخرج مع 1.

--الأصل علم
طباعة أصل القيمة التي يتم إرجاعها بواسطة --احصل على. يخرج مع 0 إذا كان العلم
ومن المعروف وإلا يخرج بـ 1. ويمكن أن يكون الأصل إحدى القيم التالية:

بائع يتم إرجاع العلم الأصلي الذي وضعه البائع؛

نظام يتم تعيين/تعديل العلامة من خلال تكوين على مستوى النظام؛

المستخدم يتم تعيين/تعديل العلامة بواسطة تكوين خاص بالمستخدم؛

الحياة الفطرية يتم تعيين/تعديل العلامة بواسطة تكوين خاص بالبيئة.

--query-features منطقة
اطبع الميزات الممكّنة لمنطقة معينة (منذ dpkg 1.16.2). الوحيد
المناطق المعترف بها حاليًا على دبيان ومشتقاتها هي qa, قابلة للتكرار, عقم
و تصلبانظر أحدث المناطق القسم لمزيد من التفاصيل. يخرج مع 0 إذا كان
المنطقة معروفة وإلا يخرج بـ 1.

الإخراج بتنسيق RFC822، مع قسم واحد لكل ميزة. على سبيل المثال:

الميزة: فطيرة
تمكين: لا

الميزة: حامي المكدس
تمكين: نعم

--مساعدة إظهار رسالة الاستخدام والخروج.

--الإصدار
إظهار الإصدار والخروج.

أيد FLAGS


CFLAGS خيارات للمترجم C. تتضمن القيمة الافتراضية التي حددها البائع -g و
مستوى التحسين الافتراضي (-O2 عادة، أو -O0 إذا كان DEB_BUILD_OPTIONS
يحدد متغير البيئة noopt).

CPPFLAGS
خيارات للمعالج المسبق C. القيمة الافتراضية: فارغة.

CXXFLAGS
خيارات للمترجم C++. مثل CFLAGS.

OBJCFLAGS
خيارات للمترجم الهدف C. مثل CFLAGS.

OBJCXXFLAGS
خيارات للمترجم الهدف C++. مثل CXXFLAGS.

GCJFLAGS
خيارات مترجم GNU Java (gcj). مجموعة فرعية من CFLAGS.

فلاغز خيارات مترجم Fortran 77. مجموعة فرعية من CFLAGS.

FCFLAGS
خيارات مترجم Fortran 9x. مثل فلاغز.

أعلام لدفلاغس
تم تمرير الخيارات إلى المترجم عند ربط الملفات التنفيذية أو الكائنات المشتركة (إذا كان
يتم استدعاء الرابط مباشرة، ثم -WL و , يجب تجريده من هذه الخيارات).
القيمة الافتراضية: فارغة.

يمكن إضافة أعلام جديدة في المستقبل إذا دعت الحاجة (على سبيل المثال لدعم أخرى
اللغات).

أحدث المناطق


يمكن تمكين وتعطيل كل ميزة في المنطقة في DEB_BUILD_OPTIONS و
DEB_BUILD_MAINT_OPTIONS قيمة منطقة متغير البيئة مع '+'و'-' المعدل.
على سبيل المثال، لتمكين تصلب ميزة "الفطيرة" وتعطيل ميزة "التحصين" لديك
يمكن القيام بذلك في ديبيان / القواعد:

تصدير DEB_BUILD_MAINT_OPTIONS=تصلب=+فطيرة،-تحصين

الميزة الخاصة من جميع (صالحة في أي منطقة) يمكن استخدامها لتمكين أو تعطيل كل المنطقة
الميزات في نفس الوقت. وبالتالي تعطيل كل شيء في تصلب المنطقة والتمكين
يمكن تحقيق "التنسيق" و"التحصين" فقط من خلال:

تصدير DEB_BUILD_MAINT_OPTIONS=تصلب=-الكل،+تنسيق،+تحصين

qa
يمكن استخدام العديد من خيارات وقت الترجمة (المفصلة أدناه) للمساعدة في اكتشاف المشكلات في ملف
كود المصدر أو نظام البناء.

علة يضيف هذا الإعداد (المعطل افتراضيًا) أي خيار تحذير يمكن اكتشافه بشكل موثوق
كود المصدر الإشكالي. التحذيرات قاتلة.

كناري يضيف هذا الإعداد (المعطل افتراضيًا) خيارات الكناري الوهمية إلى إشارات البناء، لذلك
أنه يمكن التحقق من سجلات البناء لمعرفة كيفية نشر إشارات البناء والسماح بها
العثور على أي إغفال لإعدادات علامة البناء العادية. الوحيد المعتمد حاليًا
الأعلام هي CPPFLAGS, CFLAGS, OBJCFLAGS, CXXFLAGS و OBJCXXFLAGS مع تعيين الأعلام على
-D__DEB_CANARY_علم_معرف عشوائي__و أعلام لدفلاغس تعيين إلى -Wl,-z,ديب-كناري-معرف عشوائي.

عقم
يمكن استخدام العديد من خيارات وقت الترجمة (المفصلة أدناه) للمساعدة في تطهير النتائج
ثنائي ضد تلف الذاكرة، وتسريبات الذاكرة، والاستخدام بعد سباقات البيانات المجانية وترابطها
أخطاء سلوكية غير محددة.

العنوان
يضيف هذا الإعداد (معطلًا افتراضيًا). -fsanitize = العنوان إلى أعلام لدفلاغس و
-fsanitize = العنوان -fno-حذف-مؤشر الإطار إلى CFLAGS و CXXFLAGS.

خيط يضيف هذا الإعداد (معطلًا افتراضيًا). -فسانيتيز = خيط إلى CFLAGS, CXXFLAGS و
أعلام لدفلاغس.

تسرب يضيف هذا الإعداد (معطلًا افتراضيًا). -فسانيتيز = تسرب إلى أعلام لدفلاغس. تحصل
يتم تعطيله تلقائيًا في حالة العنوان أو ال خيط يتم تمكين الميزات، كما
أنها تشير إلى ذلك.

غير محدد
يضيف هذا الإعداد (معطلًا افتراضيًا). -fsanitize = غير محدد إلى CFLAGS, CXXFLAGS
و أعلام لدفلاغس.

تصلب
يمكن استخدام العديد من خيارات وقت الترجمة (المفصلة أدناه) للمساعدة في تقوية النتيجة
ثنائي ضد هجمات تلف الذاكرة، أو تقديم رسائل تحذير إضافية أثناء
التحويل البرمجي. باستثناء ما هو مذكور أدناه، يتم تمكين هذه العناصر افتراضيًا للبنيات التي
ادعمهم.

شكل يضيف هذا الإعداد (ممكّنًا افتراضيًا). -Wformat -الخطأ = تنسيق-الأمن إلى CFLAGS,
CXXFLAGS, OBJCFLAGS و OBJCXXFLAGS. سيحذرك هذا من سلسلة التنسيق غير الصحيحة
الاستخدامات، وسوف تفشل عند استخدام وظائف التنسيق بطريقة ممكنة
مشاكل أمنية. في الوقت الحاضر، هذا يحذر من المكالمات إلى printf و scanf وظائف
حيث لا تكون سلسلة التنسيق عبارة عن سلسلة حرفية ولا توجد وسائط تنسيق،
كما في printf(foo); بدلا من برينتف ("%s"، فو)؛ قد يكون هذا ثغرة أمنية إذا كان
سلسلة التنسيق جاءت من إدخال غير موثوق به وتحتوي على '%n'.

حصن
يضيف هذا الإعداد (ممكّنًا افتراضيًا). -D_FORTIFY_SOURCE = 2 إلى CPPFLAGS. خلال الكود
يعرف المترجم قدرًا كبيرًا من المعلومات حول أحجام المخزن المؤقت (حيث
ممكن)، ويحاول استبدال استدعاءات دالة المخزن المؤقت غير الآمنة وغير المحدودة الطول
مع تلك محدودة الطول. وهذا مفيد بشكل خاص للرموز القديمة المزعجة.
بالإضافة إلى ذلك، يتم حظر سلاسل التنسيق الموجودة في الذاكرة القابلة للكتابة والتي تحتوي على '%n'. لو
يعتمد التطبيق على سلسلة التنسيق هذه، وسيحتاج إلى حل المشكلة.

لاحظ أنه لكي يكون لهذا الخيار أي تأثير، يجب أيضًا تجميع المصدر معه
-O1 أو أعلى. إذا كان متغير البيئة DEB_BUILD_OPTIONS يحتوي noopt، ثم
حصن سيتم تعطيل الدعم بسبب التحذيرات الجديدة الصادرة عن glibc 2.16
و لاحقا.

حامي المكدس
يضيف هذا الإعداد (الذي يتم تمكينه افتراضيًا إذا لم يكن Stackprotectorstrong قيد الاستخدام).
-حامي-فسك --param=ssp-buffer-size=4 إلى CFLAGS, CXXFLAGS, OBJCFLAGS,
OBJCXXFLAGS, GCJFLAGS, فلاغز و FCFLAGS. وهذا يضيف فحوصات السلامة ضد المكدس
الكتابة فوق. يؤدي هذا إلى إحباط العديد من هجمات حقن التعليمات البرمجية المحتملة
مواقف. وفي أفضل الأحوال، يؤدي هذا إلى تحويل الثغرات الأمنية المتعلقة بإدخال التعليمات البرمجية إلى حالة إنكار
الخدمة أو في غير القضايا (حسب التطبيق).

تتطلب هذه الميزة الارتباط بـ glibc (أو مزود آخر لـ glibc).
__stack_chk_fail)، لذلك يجب تعطيله عند البناء باستخدام -نوستدليب or
-تقرير أو مشابه.

com.stackprotectorstrong
يضيف هذا الإعداد (ممكّنًا افتراضيًا). - حامي - قوي إلى CFLAGS,
CXXFLAGS, OBJCFLAGS, OBJCXXFLAGS, GCJFLAGS, فلاغز و FCFLAGS. وهذا أقوى
البديل حامي المكدسولكن دون فرض عقوبات كبيرة على الأداء.

تعطيل حامي المكدس سيتم أيضًا تعطيل هذا الإعداد.

هذه الميزة لها نفس المتطلبات حامي المكدس، وبالإضافة إلى ذلك أيضا
يتطلب دول مجلس التعاون الخليجي 4.9 والإصدارات الأحدث.

relro يضيف هذا الإعداد (ممكّنًا افتراضيًا). -Wl، -z، relro إلى أعلام لدفلاغس. خلال البرنامج
عند التحميل، يجب كتابة العديد من أقسام ذاكرة ELF بواسطة الرابط. هذا الأعلام
يقوم المُحمل بتحويل هذه الأقسام للقراءة فقط قبل تسليم التحكم إلى
برنامج. وأبرزها أن هذا يمنع هجمات الكتابة الفوقية GOT. إذا كان هذا الخيار
معاق، com.bindnow سوف تصبح معطلة كذلك.

com.bindnow
يضيف هذا الإعداد (معطلًا افتراضيًا). -Wl ، -z ، الآن إلى أعلام لدفلاغس. أثناء تحميل البرنامج
يتم حل جميع الرموز الديناميكية، مما يسمح بوضع علامة "مقروءة" على معاهدة قانون البراءات بأكملها
فقط (بسبب relro فوق). لا يمكن تمكين الخيار إذا relro ليس
تمكين.

فطيرة يضيف هذا الإعداد (معطلًا افتراضيًا). -fPIE إلى CFLAGS, CXXFLAGS, OBJCFLAGS,
OBJCXXFLAGS, GCJFLAGS, فلاغز و FCFLAGSو -fPIE -فطيرة إلى أعلام لدفلاغس. موضع
هناك حاجة إلى ملف تنفيذي مستقل للاستفادة من تخطيط مساحة العنوان
العشوائية، بدعم من بعض إصدارات النواة. في حين ASLR يمكن أن يكون بالفعل
يتم فرضها على مناطق البيانات في المكدس والكومة (brk وmmap)، ويجب أن تكون مناطق التعليمات البرمجية
يتم تجميعها على أنها مستقلة عن الموقف. تقوم المكتبات المشتركة بهذا بالفعل (-fPIC)، لذا
يكتسبون ASLR تلقائيًا، لكن مناطق النص الثنائي تحتاج إلى إنشاء PIE للحصول على ذلك
ASLR. عندما يحدث هذا، تكون هجمات ROP (البرمجة الموجهة نحو العودة) أصعب بكثير
نظرًا لعدم وجود مواقع ثابتة يمكن الارتداد منها أثناء تلف الذاكرة
هجوم.

هذا غير متوافق مع -fPIC لذا يجب الحذر عند البناء المشترك
شاء.

بالإضافة إلى ذلك، نظرًا لأنه يتم تنفيذ PIE عبر سجل عام، فإن بعض البنيات
(أبرزها i386) يمكن أن تشهد خسائر في الأداء تصل إلى 15% في مقطع نصي للغاية-
أعباء عمل التطبيقات الثقيلة؛ ترى معظم أعباء العمل أقل من 1%. العمارة مع
لا ترى السجلات الأكثر عمومية (مثل AMD64) عقوبة عالية في أسوأ الحالات.

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

خالد
يضيف هذا الإعداد (ممكّنًا افتراضيًا). -تاريخ الوقت إلى CPPFLAGS. هذا سوف يسبب
تحذيرات عندما __الوقت__, __تاريخ__ و __الطابع الزمني__ يتم استخدام وحدات الماكرو.

البيئة


هناك مجموعتان من متغيرات البيئة تقومان بنفس العمليات، المجموعة الأولى
(ديب_علم_op) لا ينبغي أبدا أن تستخدم في الداخل ديبيان / القواعد. إنه مخصص لأي مستخدم يريد
لإعادة بناء الحزمة المصدر باستخدام علامات بناء مختلفة. المجموعة الثانية
(ديب_علم_MAINT_op) ينبغي أن تستخدم فقط في ديبيان / القواعد بواسطة مشرفي الحزمة للتغيير
أعلام البناء الناتجة.

ديب_علم_تعيين
ديب_علم_MAINT_SET
يمكن استخدام هذا المتغير لفرض القيمة التي يتم إرجاعها للمعطى علم.

ديب_علم_يجرد
ديب_علم_MAINT_STRIP
يمكن استخدام هذا المتغير لتوفير قائمة مفصولة بمسافة من الخيارات التي سيتم
تجريدها من مجموعة الأعلام المعادة للمعطى علم.

ديب_علم_ألحق
ديب_علم_MAINT_APPEND
يمكن استخدام هذا المتغير لإلحاق خيارات تكميلية بالقيمة التي يتم إرجاعها
العطاء علم.

ديب_علم_التقديم
ديب_علم_MAINT_PREPEND
يمكن استخدام هذا المتغير لإضافة الخيارات الإضافية إلى القيمة التي يتم إرجاعها
من أجل المعطى علم.

DEB_BUILD_OPTIONS
DEB_BUILD_MAINT_OPTIONS
يمكن للمستخدم أو المشرف استخدام هذه المتغيرات لتعطيل/تمكين مناطق مختلفة
الميزات التي تؤثر على بناء الأعلام. ال DEB_BUILD_MAINT_OPTIONS تجاوزات متغيرة
أي إعداد في DEB_BUILD_OPTIONS مناطق مميزة. انظر أحدث المناطق قسم
للتفاصيل.

استخدم dpkg-buildflags عبر الإنترنت باستخدام خدمات onworks.net


خوادم ومحطات عمل مجانية

قم بتنزيل تطبيقات Windows و Linux

أوامر لينكس

Ad