Debian

Pergantungan Pakej Debian

Pergantungan Pakej Debian
Untuk pengedaran Linux seperti Debian GNU / Linux, terdapat lebih dari 60.000 pakej perisian yang berbeza. Kesemuanya mempunyai peranan tertentu. Dalam artikel ini kami menerangkan bagaimana pengurusan pakej menguruskan sebilangan besar pakej perisian ini dengan pasti semasa pemasangan, kemas kini, atau penghapusan untuk memastikan sistem anda berfungsi dan stabil sepenuhnya.

Untuk Debian GNU / Linux, ini merujuk kepada alat apt, apt-get, aptitude, apt-cache, apt-depend, apt-rdepends, dpkg-deb dan apt-mark.

Ketersediaan pakej perisian

Seperti yang telah disebutkan di atas, sebaran Linux terdiri daripada banyak paket perisian yang berbeza. Sehingga hari ini perisian agak kompleks, dan itulah sebabnya adalah biasa untuk membahagikan perisian kepada beberapa pakej tunggal. Pakej ini boleh dikategorikan berdasarkan fungsi atau peranan seperti pakej binari, perpustakaan, dokumentasi, contoh penggunaan serta koleksi khusus bahasa dan menyediakan bahagian perisian yang dipilih, hanya. Tidak ada peraturan tetap untuknya, dan pembagian dibuat oleh pasukan pengembangan alat, atau penyelenggara pakej yang mengurus paket perisian untuk pengedaran Linux anda. Dengan menggunakan kemampuan, Gambar 1 menyenaraikan pakej yang mengandungi terjemahan untuk pelbagai bahasa untuk penyemak imbas web Mozilla Firefox.

Gambar 1: aptitude-firefox.png

Cara kerja ini memungkinkan setiap pakej dapat diselenggarakan oleh pembangun yang berbeza atau secara keseluruhan pasukan. Tambahan pula, pembahagian ke dalam komponen tunggal membolehkan pakej perisian lain menggunakannya untuk tujuan mereka sendiri. Fungsi yang diperlukan dapat diterapkan dan tidak perlu diciptakan semula.

Organisasi Pakej

Alat pengurusan pakej pada pengedaran Debian GNU / Linux sentiasa menjaga agar kebergantungan pakej yang dipasang terpenuhi sepenuhnya. Ini terutama berlaku jika pakej perisian dimaksudkan untuk dipasang, dikemas kini, atau dihapus pada atau dari sistem anda. Pakej yang hilang ditambahkan ke sistem, atau pakej yang dipasang dikeluarkan dari sistem sekiranya tidak diperlukan lagi. Gambar 2 menunjukkan ini untuk penghapusan pakej 'mc-data' menggunakan 'apt-get'. Pakej 'mc-data' mengesyorkan untuk menghapus pakej 'mc' secara automatik juga, kerana tidak masuk akal lagi untuk dipasang tanpa 'mc-data'.

Gambar 2: apt-get-remove-mc.png

Tanda pakej dan bendera

Semasa menjalankannya, alat pengurusan pakej menghormati bendera dan tanda pakej yang telah ditetapkan. Mereka ditetapkan secara automatik, atau ditetapkan secara manual oleh pentadbir sistem. Terutama tingkah laku ini merujuk kepada bendera 'paket penting' yang ditetapkan untuk pakej yang tidak boleh dikeluarkan. Amaran yang jelas dikeluarkan sebelum anda melakukannya (lihat Gambar 3).

Gambar 3: apt-get-remove.png

Juga, tiga tanda 'automatik', 'manual' dan 'tahan' diambil kira. Mereka menandakan pakej sebagai dipasang secara automatik, dipasang secara manual, atau tidak boleh dikemas kini (tahan versi semasa). Pakej perisian ditandakan 'automatik' atau 'manual' tetapi tidak kedua-duanya.

Antara lain, perintah 'apt-mark' mengendalikan tanda dan bendera menggunakan subkomen berikut:

Untuk menyenaraikan semua pakej yang dipasang secara manual, keluarkan arahan ini:

showmanual $ apt-mark
kata kunci
panduan abs
ack-grep
acl
acpi

$

Untuk menahan versi pakej, gunakan subkomersial 'tahan'. Contoh di bawah menunjukkan ini untuk pakej 'mc'.

# apt-mark tahan mc
mc ditahan
#

Subcommand 'showhold' menyenaraikan pakej yang ditahan (dalam kes kami adalah pakej 'mc' sahaja):

pameran # apt-mark
mc
#

Dengan menggunakan kaedah alternatif berjudul 'apt pinning', pakej dikelaskan mengikut keutamaan. Apt menerapkannya untuk memutuskan bagaimana menangani pakej perisian ini dan versi yang tersedia dari repositori perisian.

Penerangan pakej

Dengan menggunakan kaedah alternatif berjudul 'apt pinning', pakej dikelaskan mengikut keutamaan. Apt menerapkannya untuk memutuskan bagaimana menangani pakej perisian ini dan versi yang tersedia dari repositori perisian.

Setiap pakej perisian dilengkapi dengan keterangan pakejnya yang terseragam. Di antara bidang lain, keterangan ini secara eksplisit menentukan pakej mana yang lebih bergantung. Alat khusus pengedaran mengekstrak maklumat ini dari keterangan pakej, dan kemudian hitung dan gambarkan pergantungan untuk anda. Contoh seterusnya menggunakan perintah 'apt-cache show' untuk memaparkan keterangan pakej 'poppler-utils' pakej (lihat Gambar 4).

Gambar 4: pakej-deskripsi-poppler-utils.png

Keterangan pakej mengandungi bahagian yang disebut 'Bergantung'. Bahagian ini menyenaraikan pakej perisian lain dan nombor versi yang bergantung pada pakej semasa. Dalam Gambar 4 bahagian ini dibingkai dengan warna merah dan menunjukkan bahawa 'poppler-utils' bergantung pada pakej 'libpoppler64', 'libc6', 'libcairo2', 'libfreetype6', 'liblcms2-2', 'libstdc ++ 6' dan 'zlib1g'.

Tunjukkan kebergantungan pakej

Membaca keterangan pakej adalah cara sukar untuk mengetahui kebergantungan pakej. Seterusnya, kami akan menunjukkan cara mempermudah ini.

Terdapat beberapa cara untuk menunjukkan kebergantungan paket pada baris arahan. Untuk pakej deb sebagai fail tempatan gunakan perintah 'dpkg-deb' dengan dua parameter - nama fail pakej, dan kata kunci 'Tergantung'. Contoh di bawah menunjukkan ini untuk pakej 'skypeforlinux-64.deb ':

$ dpkg-deb -f Muat turun / skypeforlinux-64.deb Bergantung
gconf-service, libasound2 (> = 1.0.16), libatk1.0-0 (> = 1.12.4), libc6 (> = 2.17),
libcairo2 (> = 1.2.4), libcups2 (> = 1.4.0), libexpat1 (> = 2.0.1),
libfreetype6 (> = 2.4.2), libgcc1 (> = 1: 4.1.1), libgconf-2-4 (> = 3.2.5),
libgdk-pixbuf2.0-0 (> = 2.22.0), libglib2.0-0 (> = 2.31.8), libgtk2.0-0 (> = 2.24.0),
libnspr4 (> = 2: 4.9-2 ~), libnss3 (> = 2: 3.13.4-2 ~), libpango-1.0-0 (> = 1.14.0),
libpangocairo-1.0-0 (> = 1.14.0), libsecret-1-0 (> = 0.7), libv4l-0 (> = 0.5.0),
libx11-6 (> = 2: 1.4.99.1), libx11-xcb1, libxcb1 (> = 1.6), libxcomposite1 (> = 1: 0.3-1),
libxcursor1 (>> 1.1.2), libxdamage1 (> = 1: 1.1), libxext6, libxfixes3,
libxi6 (> = 2: 1.2.99.4), libxrandr2 (> = 2: 1.2.99.3), libxrender1, libxss1,
libxtst6, apt-transport-https, libfontconfig1 (> = 2.11.0), libdbus-1-3 (> = 1.6.18),
libstdc ++ 6 (> = 4.8.1)
$

Untuk melakukan perkara yang sama untuk pakej yang dipasang, gunakan 'apt-cache'. Contoh pertama menggabungkan subcommand 'show' diikuti dengan nama pakej. Output dihantar ke perintah 'grep' yang menyaring baris 'Depends':

rancangan $ apt-cache xpdf | grep Bergantung
Bergantung: libc6 (> = 2.4), libgcc1 (> = 1: 4.1.1), libpoppler46 (> = 0.26.2),
libstdc ++ 6 (> = 4.1.1), libx11-6, libxm4 (> = 2.3.4), libxt6
$

Perintah 'grep-status -F package -s Depends xpdf' akan melaporkan maklumat yang sama.

Lebih spesifik, contoh kedua sekali lagi menggunakan 'apt-cache' tetapi dengan subcommand 'tergantung', sebagai gantinya. Subkomersial diikuti dengan nama pakej:

$ apt-cache bergantung kepada xpdf
xpdf
Bergantung: libc6
Bergantung: libgcc1
Bergantung: libpoppler46
Bergantung: libstdc ++ 6
Bergantung: libx11-6
Bergantung: libxm4
Bergantung: libxt6
Mengesyorkan: poppler-utils
poppler-utils: i386
Mengesyorkan: poppler-data
Mengesyorkan: gsfonts-x11
Mengesyorkan: cups-bsd
cawan-bsd: i386
Bertembung dengan:
Bertembung dengan:
Bertembung dengan:
Bertembung dengan:
Menggantikan:
Menggantikan:
Menggantikan:
Menggantikan:
Bertembung dengan: xpdf: i386
$

Senarai di atas agak panjang, dan dapat dipendekkan dengan menggunakan suis '-i' (singkatan dari '-penting'):

$ apt-cache bergantung -i xpdf
xpdf
Bergantung: libc6
Bergantung: libgcc1
Bergantung: libpoppler46
Bergantung: libstdc ++ 6
Bergantung: libx11-6
Bergantung: libxm4
Bergantung: libxt6
$

Perintah 'apt-rdepends' melakukan perkara yang sama tetapi dengan maklumat versi jika ditentukan dalam keterangan:

$ apt-rdepends xpdf
Membaca senarai pakej ... Selesai
Membina pokok pergantungan
Membaca maklumat keadaan ... Selesai
xpdf
Bergantung: libc6 (> = 2.4)
Bergantung: libgcc1 (> = 1: 4.1.1)
Bergantung: libpoppler46 (> = 0.26.2)
Bergantung: libstdc ++ 6 (> = 4.1.1)
Bergantung: libx11-6
Bergantung: libxm4 (> = 2.3.4)
Bergantung: libxt6
libc6
Bergantung: libgcc1

$

Perintah 'aptitude' juga berfungsi dengan suis. Untuk kebergantungan, gunakan suis '~ R' diikuti dengan nama pakej. Gambar 5 menunjukkan ini untuk pakej 'xpdf'. Huruf 'A' di lajur kedua keluaran 'aptitude' mengidentifikasi paket sebagai dipasang secara automatik.

Gambar 5: kebolehan-bergantung.png

Pergantungan pakej boleh menjadi agak sukar. Mungkin membantu menunjukkan kebergantungan pakej secara grafik. Gunakan perintah 'utang hutang' diikuti dengan nama paket untuk membuat gambaran grafik kebergantungan paket. Alat 'titik' dari pakej Graphviz mengubah keterangan menjadi gambar seperti berikut:

$ hutang xpdf | dot -Tpng> graf.png

Dalam Rajah 6 anda melihat gambar PNG yang dibuat yang mengandungi graf ketergantungan.

Gambar 6: titik.png

Tunjukkan kebergantungan terbalik

Hingga kini kami menunjukkan bahawa kami telah menjawab soalan yang mana paket yang diperlukan untuk satu paket. Terdapat juga sebaliknya - yang disebut ketergantungan terbalik. Contoh seterusnya berkaitan dengan pakej dan juga pakej yang bergantung padanya. Contoh nombor satu menggunakan 'apt-cache' dengan subcommand 'rdepends' seperti berikut:

$ apt-cache bergantung kepada xpdf
xpdf
Bergantung Terbalik:
| oktaf-dokumen
xpdf: i386
libfontconfig1: i386
| xmds-doc
xfe
wiipdf
| vim-latexsuite
python-scapy
| ruby-tioga
| python-tables-doc
| kekacauan halaman
| oktaf-dokumen
| manual muttprint
pemacu mozplugger
mlpost
libmlpost-ocaml-dev

$

Pakej, yang bergantung pada bungkusan lain ditandai dengan simbol paip. Pakej ini tidak perlu dipasang pada sistem anda tetapi harus disenaraikan dalam pangkalan data pakej.

Contoh seterusnya menggunakan 'aptitude' untuk menyenaraikan pakej yang mempunyai rujukan sukar untuk pakej 'xpdf' (lihat Gambar 7).

Gambar 7: carian bakat.png

Sahkan pemasangan untuk pakej yang hilang

'Apt-get' menawarkan 'cek' subcommand yang memungkinkan untuk mengesahkan pemasangan. Sekiranya anda melihat output berikut tidak ada pakej yang hilang:

# apt-dapatkan cek
Membaca senarai pakej ... Selesai
Membina pokok pergantungan
Membaca maklumat keadaan ... Selesai
#

Kesimpulannya

Mencari kebergantungan pakej berfungsi dengan baik dengan alat yang betul. Menggunakannya dengan betul dapat membantu anda memahami mengapa pakej dipasang dan mana yang mungkin hilang.

Pautan dan Rujukan

Buat semula butang tetikus anda secara berbeza untuk perisian yang berbeza dengan X-Mouse Button Control
Mungkin anda memerlukan alat yang dapat mengubah kawalan tetikus anda dengan setiap aplikasi yang anda gunakan. Sekiranya ini berlaku, anda boleh menc...
Kajian Tetikus Tanpa Wayar Microsoft Sculpt Touch
Saya baru-baru ini membaca mengenai Sentuhan Microsoft Sculpt tetikus tanpa wayar dan memutuskan untuk membelinya. Setelah menggunakannya sebentar, sa...
Trackpad dan Mouse Pointer pada skrin Windows AppyMouse untuk Tablet Windows
Pengguna tablet sering kehilangan penunjuk tetikus, terutama ketika mereka biasa menggunakan komputer riba. Telefon pintar dan tablet skrin sentuh dil...