<Sebelum | Contents [show] | Seterusnya>
Perubahan Berkaitan Berbilang Gerbang
Untuk menjadikan berbilang gerbang benar-benar berguna dan boleh digunakan, perpustakaan perlu dibungkus semula dan dipindahkan ke direktori khusus seni bina supaya berbilang salinan (mensasarkan seni bina yang berbeza) boleh dipasang bersama satu sama lain. Pakej dikemas kini sedemikian mengandungi Pelbagai Lengkungan: sama medan pengepala untuk memberitahu sistem pembungkusan bahawa pelbagai seni bina pakej boleh dipasang bersama dengan selamat (dan pakej tersebut hanya boleh memenuhi kebergantungan pakej seni bina yang sama).
$ dpkg -s libwine
dpkg-query: ralat: --status memerlukan nama pakej yang sah tetapi 'libwine' tidak: samar-samar
➥ nama pakej 'libwine' dengan lebih daripada satu contoh yang dipasang
Gunakan --help untuk mendapatkan bantuan tentang pakej pertanyaan.
$ dpkg -s libwine:amd64 libwine:i386 | grep ^Multi
Multi-Arch: sama Multi-Arch: sama
$ dpkg -L libgcc1:amd64 |grep .so
[...]
/usr/lib/x86_64-linux-gnu/wine/libwine.so.1
$ dpkg -S /usr/share/doc/libwine/copyright
libwine:amd64, libwine:i386: /usr/share/doc/libwine/copyright
$ dpkg -s libwine
dpkg-query: ralat: --status memerlukan nama pakej yang sah tetapi 'libwine' tidak: samar-samar
➥ nama pakej 'libwine' dengan lebih daripada satu contoh yang dipasang
Gunakan --help untuk mendapatkan bantuan tentang pakej pertanyaan.
$ dpkg -s libwine:amd64 libwine:i386 | grep ^Multi
Multi-Arch: sama Multi-Arch: sama
$ dpkg -L libgcc1:amd64 |grep .so
[...]
/usr/lib/x86_64-linux-gnu/wine/libwine.so.1
$ dpkg -S /usr/share/doc/libwine/copyright
libwine:amd64, libwine:i386: /usr/share/doc/libwine/copyright
Perlu diperhatikan bahawa Pelbagai Lengkungan: sama pakej mesti mempunyai nama mereka yang layak dengan seni binanya supaya dapat dikenal pasti dengan jelas. Pakej ini juga mungkin berkongsi fail dengan contoh lain bagi pakej yang sama; dpkg memastikan bahawa semua pakej mempunyai fail yang sama bit-untuk-bit apabila ia dikongsi. Selain itu, semua contoh pakej mesti mempunyai versi yang sama, oleh itu ia mesti dinaik taraf bersama.
Sokongan Multi-Arch juga membawa beberapa cabaran menarik dalam cara kebergantungan dikendalikan. Memuaskan kebergantungan memerlukan sama ada pakej bertanda Multi-Arch: asing atau pakej yang seni binanya sepadan dengan salah satu pakej yang mengisytiharkan pergantungan (dalam proses resolusi pergantungan ini, pakej bebas seni bina diandaikan sebagai seni bina yang sama seperti hos). Kebergantungan juga boleh dilemahkan untuk membolehkan mana-mana seni bina memenuhinya, dengan pakej: mana-mana sintaks, tetapi pakej asing hanya boleh memenuhi kebergantungan sedemikian jika ia ditanda Berbilang Gerbang: dibenarkan.