Bagaimana cara menghapus bendera "terpasang secara manual" dan kembali ke "dipasang secara otomatis" dengan apt-get?

103

Untuk mengkompilasi sesuatu, saya perlu zlib1g-devpaket untuk diinstal jadi saya meluncurkan apt-get install zlib1g-dev.

apt-get memberi tahu saya dengan baik bahwa paket itu sudah diinstal secara otomatis karena paket lain, dan bahwa saya mengerti bahwa saya ingin menginstalnya secara eksplisit sekarang:

# apt-get install zlib1g-dev
zlib1g-dev is already the newest version.
zlib1g-dev set to manually installed.

Kompilasi saya selesai, saya tidak perlu lagi secara eksplisit, jadi saya ingin mengembalikan statusnya ke yang sebelumnya: otomatis diinstal. Dengan cara ini akan dipangkas secara otomatis ketika tidak akan diperlukan lagi dengan sederhana apt-get autoremove.

Saya tidak bisa melakukan apt-get remove zlib1g-devkarena beberapa paket masih tergantung padanya.

Jadi bagaimana saya dapat mengembalikan status zlib1g-devinstalasi paket ke terinstal otomatis ?

Saya tahu bahwa saya dapat mengedit /var/lib/apt/extended_statesdengan tangan dari

Package: zlib1g-dev
Auto-Installed: 0

untuk

Package: zlib1g-dev
Auto-Installed: 1

... tapi rasanya tidak benar.

Steve Schnepp
sumber

Jawaban:

81

Aptitude dapat membantu Anda saat Anda menginstal paket:

aptitude install "zlib1g-dev&M"

Atau, setelah Anda menginstal paket:

aptitude markauto "zlib1g"

Sunting: Jika Anda tidak memiliki bakat, Anda dapat menggunakan

apt-mark auto zlib1g-dev
Mikael S
sumber
4
Jawaban yang bagus, tetapi saya menggunakan jawaban @ ArvindSing saya +1 apt-markkarena tidak mengharuskan Anda menginstal aptitude. apt-markdilengkapi dengan aptpaket yang seharusnya sudah dimiliki semua orang.
Christopher Schultz
106

apt-mark dapat membantu Anda:

apt-mark auto zlib1g-dev

Untuk 11,04 atau lebih tua, gunakan "markauto" alih-alih "otomatis"

Arvind Singh
sumber
8

Ini yang kamu cari.

sudo apt-get markauto first-package second-package etc-package

Sumber:

apt-get --help
Mosty Mostacho
sumber
12
Harap dicatat bahwa ini sudah tidak digunakan lagi karena apt-mark
Joril