سؤال

وأنا أحاول أن إنشاء حزمة ديبيان، ولكن أنا عندي هذه المشكلة الزائفة دليل غريبة. أركض:

$ fakeroot debian/rules binary

ولقد بنيت ثنائي من قبل، ولكن شيئا ما يجب أن تغيرت على نظام بلدي. الآن dh_md5sums أخطاء من والعوائد:

md5sum: include: Is a directory
dh_md5sums: command returned error code
make: *** [binary-arch] Error 1

والواقع، include هو الدليل. لذلك، وأضفت بعض التصريحات التصحيح لdh_md5sums، لمعرفة لماذا كان يجري تجزئته include على الرغم من الخط الذي كان من المفترض أن تصفية الدلائل. مضيفا:

doit("ls", "-l", "$tmp");

ويظهر هذا، في الواقع، include ليس دليلا عند تشغيل dh_md5sums:

total 28
drwxr-xr-x 2 root root 4096 2009-06-18 13:36 bin
-rwxr-xr-x 3 root root 4096 2009-06-18 13:36 include
drwxr-xr-x 3 root root 4096 2009-06-18 13:36 var
# some directories removed for brevity's sake

وهكذا، يمكنني إزالته؟ وأضفت:

doit("rm", "$tmp/include");

ووحصلت على:

rm: cannot remove `debian/myproject/include': Is a directory

وربما ذلك ... تحولت إلى دليل؟ وأضاف لي ls -l آخر تحت rm وحصلت على:

total 28
drwxr-xr-x 2 root root 4096 2009-06-18 13:36 bin
-rwxr-xr-x 3 root root 4096 2009-06-18 13:36 include
drwxr-xr-x 3 root root 4096 2009-06-18 13:36 var

وعند الانتهاء من تشغيل البرامج النصية، يمكنني القيام به:

$ ls -l
drwxr-xr-x 2 x x 4096 2009-06-18 13:48 bin
drwxr-xr-x 3 x x 4096 2009-06-18 13:48 include
drwxr-xr-x 3 x x 4096 2009-06-18 13:48 var

... وهو غريب، ويصبح include دليل والتغييرات الملكية (x هو اسمي). include حتى يحتوي على كافة الملفات رأس أنه من المفترض أن.

لا أحد يعرف ما الذي يحدث؟

هل كانت مفيدة؟

المحلول

total 28
drwxr-xr-x 2 root root 4096 2009-06-18 13:36 bin
-rwxr-xr-x 3 root root 4096 2009-06-18 13:36 include
drwxr-xr-x 3 root root 4096 2009-06-18 13:36 var
# some directories removed for brevity's sake

لاحظ أن include لديه عدد الارتباط من 3، مشيرا إلى أنه إما دليل مع 1 دليل فرعي، أو ملف مع 3 وصلات الصعبة. يبدو من المرجح السابق.

وهذا يبدو وكأنه تفاعل سيئة مع fakeroot. رأيته قبل حيث fakeroot أحيانا "نسي" الأذونات، لذلك الاختيار المزدوج أنه عندما يجري إنشاؤها أو تعديلها include أن لديها الحق في نوع (وأن أيا من هذه يكون للتغيرات الأخيرة).

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top