Ini ambigu. Apakah maksud Anda: repositori yang saat ini diaktifkan memberikan paket dengan nama yang diberikan, atau: repositori mana yang digunakan untuk menginstal paket dengan nama yang saat ini diinstal? (Keduanya berguna. Saya mencari yang terakhir, bukan yang pertama.)
Reinier Post
Jawaban:
112
Diperlukan Perintah:
dpkg -s <package>- memungkinkan Anda menemukan versi yang telah Anda instal. ( sumber )
apt-cache showpkg <package>- akan menampilkan daftar Versi paket yang tersedia. Untuk setiap versi, sumber paket, dalam bentuk nama file indeks, akan diberikan.
Jika Anda ingin menemukan sumber paket yang saat ini diinstal, Anda akan memerlukan output dari dpkg -s <package>. Jika tidak, Anda cukup melihat keluaran versi terbaru dengan apt-cache showpkg <package>.
Dari perintah pertama, saya dapat melihat bahwa Liferea versi 1.6.2-1ubuntu6 diinstal. Dari perintah kedua, saya dapat melihat bahwa versi itu terdaftar /var/lib/apt/lists/archive.ubuntu.com_ubuntu_dists_lucid_main_binary-i386_Packages.
Tanpa terlalu banyak usaha, saya dapat menyimpulkan bahwa garis sumber berisi archive.ubuntu.com, ubuntu, lucid, dan main.
Dan, tentu saja, saya /etc/apt/sources.listberisi baris berikut.
deb http://archive.ubuntu.com/ubuntu lucid main universe restricted multiverse
mac, terima kasih atas jawaban terinci Anda! Sayangnya itu tidak membantu saya dengan masalah awal saya tentang masalah ketergantungan yang belum terpenuhi :-( Saya mencoba untuk menginstal libqt4-opengl dan mengatakan: Paket-paket berikut memiliki dependensi yang belum terpenuhi: libqt4-opengl: Tergantung: libqtcore4 (= 4: 4.6.2-0ubuntu5.1) tetapi 4: 4.7.0 ~ beta1 + git20100522-0ubuntu1 ~ lucid1 ~ ppa1 + appmenu20100624 harus diinstal Tergantung: libqtgui4 (= 4: 4.6.2-0ubuntu5.1) tetapi 4: 4.7. 0 ~ beta1 + git20100522-0ubuntu1 ~ lucid1 ~ ppa1 + appmenu20100624 harus diinstal
dfme
Sulit untuk melihat dari situ apa masalahnya. Anda harus membuka pertanyaan baru sehingga Anda dapat memberikan detail lengkap. Jika ya, tinggalkan tautan di komentar. :-)
Apakah apt-cache {showpkg, policy} benar-benar menunjukkan dari mana paket yang diinstal diinstal , atau hanya dari mana ia akan diinstal pada saat ditanya?
Croad Langshan
1
Yang terakhir. Jika Saya biasanya menggunakan Ubuntu trustysumber paket, kemudian menambahkan sementara utopicuntuk saya sources.listuntuk menginstal versi 1.20ubuntu3 dari init-system-helpersdan kemudian menghapus repo lagi dari saya sources.list, apt-cache showpkg init-system-helpershanya akan berbohong tentang daftar paket asli dan apt-cache policy init-system-helpershanya akan menyatakan yang sudah jelas.
blubberdiblub
104
Gunakan perintah berikut. Ini memiliki output yang lebih baik:
apt-cache policy <Package Name>
Untuk Ubuntu 16.04 dan yang lebih baru ada cara yang lebih pendek untuk melakukan itu:
Ini jawaban yang benar! Perintah-perintah dalam jawaban oleh mac9416 perlu interpretasi yang membosankan + menebak berdasarkan outputnya. Untuk informasi lebih lanjut tentang apt-cache policylihat juga superuser.com/a/236605/61370
pabouk
3
apt-cache policybagus tetapi beberapa kali Anda perlu apt-cache showpkgmembandingkan jumlah MD5 dari paket. Lihat jugadebsums --changed
gavenkoa
policyopsi ini adalah yang paling berguna ketika membandingkan dengansources.list
infinite-etcet
Ini harus menjadi jawaban yang diterima! @ poabuk benar. Jawaban ini lebih relevan untuk pertanyaan daripada yang diterima saat ini.
HEXcube
Seperti @ pablo-bianchi tunjukkan dalam jawabannya , bahkan lebih sederhana apt policy <package-name>dapat digunakan, mulai 16.04LTS dan seterusnya. Setelah 14.04LTS menjadi EOL di 2018, jawaban ini mungkin diedit untuk menggunakan perintah yang lebih baru.
HEXcube
9
apt di Ubuntu 16.04+
Di samping apt-cache policy, showpkgdan show, sekarang kami memiliki sub-perintah yang lebih sederhana, dengan mudah diingat: apt(jangan bingung dengan klasik apt-*):
apt policy <package>
Atau alternatif dengan info lebih lanjut apt show <package>, baris dimulai dengan "APT-Sumber:" .
Deskripsi: Paket ini menyediakan alat baris perintah untuk mencari dan mengelola serta menanyakan informasi tentang paket sebagai akses tingkat rendah ke semua fitur pustaka libapt-pkg. Ini termasuk: apt-get, apt-cache, apt-cdrom, apt-config, apt-key.
Menghapus paket menghapus semua data paket, tetapi biasanya meninggalkan file konfigurasi pengguna yang kecil (dimodifikasi), seandainya penghapusan itu merupakan kecelakaan. Hanya mengeluarkan permintaan instalasi untuk paket yang dihapus secara tidak sengaja akan mengembalikan fungsinya seperti sebelumnya dalam kasus itu. Di sisi lain, Anda dapat membuang sisa-sisa ini dengan menelepon pembersihan bahkan pada paket yang sudah dihapus. Perhatikan bahwa ini tidak memengaruhi data atau konfigurasi apa pun yang disimpan di direktori rumah Anda.
apt upgrade - memutakhirkan sistem dengan menginstal / meningkatkan paket
apt full-upgrade - memutakhirkan sistem dengan menghapus / menginstal / meningkatkan paket
apt policy xxxtampak identik dengan apt-cache policy xxx, mungkin ini seharusnya komentar. Atau setidaknya menyebutkan bahwa apt showtampaknya perlu -aberalih untuk melihat "catatan tambahan" dari sumber lain
Xen2050
6
Sayangnya, informasi ini tidak direkam selama instalasi paket. Anda dapat membuat tebakan yang layak jika repositori masih dalam daftar sumber dan repositori masih memiliki paket:
grep -l PKG /var/lib/apt/lists/*
Bahkan synaptic tidak dapat memastikan apakah Anda menonaktifkan repositori dan memperbarui.
Jawaban:
Diperlukan Perintah:
dpkg -s <package>
- memungkinkan Anda menemukan versi yang telah Anda instal. ( sumber )apt-cache showpkg <package>
- akan menampilkan daftar Versi paket yang tersedia. Untuk setiap versi, sumber paket, dalam bentuk nama file indeks, akan diberikan.Jika Anda ingin menemukan sumber paket yang saat ini diinstal, Anda akan memerlukan output dari
dpkg -s <package>
. Jika tidak, Anda cukup melihat keluaran versi terbaru denganapt-cache showpkg <package>
.Contoh:
Dari perintah pertama, saya dapat melihat bahwa Liferea versi 1.6.2-1ubuntu6 diinstal. Dari perintah kedua, saya dapat melihat bahwa versi itu terdaftar
/var/lib/apt/lists/archive.ubuntu.com_ubuntu_dists_lucid_main_binary-i386_Packages
.Tanpa terlalu banyak usaha, saya dapat menyimpulkan bahwa garis sumber berisi
archive.ubuntu.com
,ubuntu
,lucid
, danmain
.Dan, tentu saja, saya
/etc/apt/sources.list
berisi baris berikut.sumber
apt-cache policy <package name>
(dari: superuser.com/a/236605/37279 )trusty
sumber paket, kemudian menambahkan sementarautopic
untuk sayasources.list
untuk menginstal versi 1.20ubuntu3 dariinit-system-helpers
dan kemudian menghapus repo lagi dari sayasources.list
,apt-cache showpkg init-system-helpers
hanya akan berbohong tentang daftar paket asli danapt-cache policy init-system-helpers
hanya akan menyatakan yang sudah jelas.Gunakan perintah berikut. Ini memiliki output yang lebih baik:
Untuk Ubuntu 16.04 dan yang lebih baru ada cara yang lebih pendek untuk melakukan itu:
sumber
apt-cache policy
lihat juga superuser.com/a/236605/61370apt-cache policy
bagus tetapi beberapa kali Anda perluapt-cache showpkg
membandingkan jumlah MD5 dari paket. Lihat jugadebsums --changed
policy
opsi ini adalah yang paling berguna ketika membandingkan dengansources.list
apt policy <package-name>
dapat digunakan, mulai 16.04LTS dan seterusnya. Setelah 14.04LTS menjadi EOL di 2018, jawaban ini mungkin diedit untuk menggunakan perintah yang lebih baru.apt
di Ubuntu 16.04+Di samping
apt-cache policy
,showpkg
danshow
, sekarang kami memiliki sub-perintah yang lebih sederhana, dengan mudah diingat:apt
(jangan bingung dengan klasikapt-*
):Atau alternatif dengan info lebih lanjut
apt show <package>
, baris dimulai dengan "APT-Sumber:" .Deskripsi: Paket ini menyediakan alat baris perintah untuk mencari dan mengelola serta menanyakan informasi tentang paket sebagai akses tingkat rendah ke semua fitur pustaka libapt-pkg. Ini termasuk:
apt-get
,apt-cache
,apt-cdrom
,apt-config
,apt-key
.Perintah dasar dari
apt --help
Sub-perintah lain yang juga mudah diingat:
apt list
- daftar paket berdasarkan nama paketapt search
- Cari dalam deskripsi paketapt show
- tampilkan detail paketapt update
- Perbarui daftar paket yang tersediaapt install
- instal paketapt remove
- hapus paketapt purge
- hapus paket dan file konfigurasi :apt upgrade
- memutakhirkan sistem dengan menginstal / meningkatkan paketapt full-upgrade
- memutakhirkan sistem dengan menghapus / menginstal / meningkatkan paketapt edit-sources
- edit file informasi sumbersumber
apt policy xxx
tampak identik denganapt-cache policy xxx
, mungkin ini seharusnya komentar. Atau setidaknya menyebutkan bahwaapt show
tampaknya perlu-a
beralih untuk melihat "catatan tambahan" dari sumber lainSayangnya, informasi ini tidak direkam selama instalasi paket. Anda dapat membuat tebakan yang layak jika repositori masih dalam daftar sumber dan repositori masih memiliki paket:
Bahkan synaptic tidak dapat memastikan apakah Anda menonaktifkan repositori dan memperbarui.
sumber
sumber
sumber
Ini sedikit lebih akurat:
Versi terbaru biasanya akan diinstal kecuali Anda telah memasang apt-pinning atau secara eksplisit menginstal versi tertentu.
sumber