Problém

Takže nedávno jsem byl v situaci, kdy jsem musel použít git-půlí nástroj najít chybu, která byla příčinou mé systém přestat reagovat během rané boty. Jeden z první krok jak to udělat, je dostat jádra git strom na vašem systému, kde budete kompilovat jádro. Tak jsem to udělal následující:
debian:/usr/src/# git clone git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6

Poté, co jsem zkopírovat stávající konfigurační soubor a vydá make-kpkg kompilace příkazu.:

debian:/usr/src/# cd linux-2.6
debian:/usr/src/linux-2.6# cp /home/kushalk/.config .
debian:/usr/src/linux-2.6# make-kpkg --append-to-version=-bisect1 kernel_image

Na konci procesu kompilace mám následující chybová zpráva:

dpkg-deb: building package `linux-image-2.6.31-bisect1' in `../linux-image-2.6.31-bisect1_2.6.31-bisect1-10.00.Custom_i386.deb'.
dpkg-deb: control directory has bad permissions 2755 (must be >=0755 and <=0775)
make[2]: *** [debian/stamp/binary/linux-image-2.6.31-bisect1] Error 2
make[2]: Leaving directory `/usr/src/linux-2.6'
make[1]: *** [debian/stamp/binary/pre-linux-image-2.6.31-bisect1] Error 2
make[1]: Leaving directory `/usr/src/linux-2.6'
make: *** [kernel_image] Error 2
debian:/usr/src/linux-2.6#

Řešení

Je zřejmé, že vypadá jako problém adresáře oprávnění. Avšak nesnažte se najít a změnit na "řízení" adresář oprávnění jako zpráva označuje. Skutečným problémem je celý zdrojový adresář, který byl vyzvednout z Git stromu.

debian:/usr/src/linux-2.6# cd ..
debian:/usr/src/# ls -l
total 274744
-rw-r--r-- 1 root src 55659 2011-01-12 18:34 config-2.6.30-3-bpo50-atom
drwxr- s rx 26 root src 4096 2011-01-12 23:14 linux-2.6
drwxrwxr-x 24 root root 4096 2011-01-12 18:44 linux-2.6.30.10
-rw-r--r-- 1 root src 75791486 2009-12-04 06:05 linux-2.6.30.10.tar.gz
drwxr-xr-x 25 root root 4096 2011-01-12 19:04 linux-2.6.31
debian:/usr/src/#

Jak můžete vidět ve výše uvedeném výstupu příkazu ls, skutečný problém je, že atribut "s" (v červeném), který je nastaven na vašem zdrojovém adresáři. Musíme se zbavit následujícím příkazem:

debian:/usr/src/# chmod -R as linux-2.6

Dej si make-kpkg příkaz znovu a nebudete mít adresář oprávnění chybovou zprávu.

A je to!

Být společenský, Share!