Di Ubuntu / Debian, bagaimana cara saya menandai paket sebagai non-otomatis yang bisa dilepas?

9

Misalkan saya memiliki paket (paket Python dalam kasus ini) yang saya instal menggunakan Synaptic. Karena versi paket ini agak ketinggalan jaman, saya menghapusnya di Synaptic dan kemudian menginstalnya menggunakan easy_install. Salah satu dependensinya juga diinstal menggunakan Synaptic, tetapi saya lebih suka menyimpan versi yang terinstal Synaptic daripada easy_installingitu juga.

Satu-satunya masalah adalah bahwa ketergantungan sekarang ditandai dilepas otomatis. Apakah ada cara untuk menandainya sebagai yang diinstal secara manual selain untuk menghapus dan menginstalnya kembali? Jika ada bedanya, saya menggunakan Ubuntu Jaunty.

Jason Baker
sumber

Jawaban:

3

Anda dapat "memegang" paket di Ubuntu.

Memegang sebuah paket pada dasarnya berarti Anda memberi tahu manajer paket untuk mempertahankan versi yang sekarang, apa pun yang terjadi. Ini berguna jika versi yang lebih baru dari program yang sedang berjalan rusak setelah pembaruan.

Anda dapat melakukannya melalui Synaptic atau pada command-line via apt / dpkg. Versi baris perintah untuk menampung paket adalah:

echo package_name hold | dpkg --set-selections

Dokumentasi Komunitas Ubuntu memiliki panduan yang lebih lengkap menjelaskan cara menyematkan atau menahan paket .


sumber
Terima kasih! askubuntu.com/questions/140136/…
Andrejs Cainikovs
2
Tahan biasanya digunakan untuk mencegah peningkatan ke versi yang lebih baru; seharusnya tidak digunakan untuk menyimpan paket. Menggunakan ruang tunggu akan menghalangi Anda untuk menerima pembaruan keamanan dan distro, dan akan menjadi beban tambahan selama peningkatan. Menandai paket sebagai yang diinstal secara manual harus dengan cara yang benar (lihat jawaban saya ...).
Thomas Guyot-Sionnest
6

Saya tahu Anda bisa melakukannya dengan bakat. Anda dapat melakukannya di GUI dengan memilih paket dan menekan 'm' atau memilih "Tandai manual" dari menu "Paket", atau menggunakan baris perintah:

aptitude install <package_name> & m
danadam
sumber
5

Anda dapat menggunakannya apt-mark manual <package>untuk itu, dari dari Synaptic, Package=> [ ] Automatically Installed(hapus centang).

ex:

# Mark <some_package> as manually-installed:
apt-mark manual <some_package>

# Mark <other_package> as automatically-installed (ex if you know it's a
# dependency to something else and you want to make sure it'll be
# auto-removable if it's no longer used):
apt-mark auto <other_package>

Juga, jika Anda menggunakan apt-get install <package>paket yang sudah diinstal, itu akan secara implisit ditandai sebagai manual.

Thomas Guyot-Sionnest
sumber
Ini tampaknya melakukan persis seperti yang diinginkan. Itu mengubah status paket saya dari [installed,auto-removable]hanya menjadi [installed].
mwfearnley