Bu Emacs paketi neden 46.1 sürümündedir? 26 bugün mümkün olan en yüksek ana sürümdür


11

Ben kendi emacs inşa ediyorum çünkü ben bazı sorunları düzeltmek ve yukarı akış düzeltmeleri almak istiyorum. Ancak, Ubuntu kendi emacs'ımı otomatik olarak kaldırmaya devam ediyor ve yeniden oluşturmaya ve yeniden yüklemeye devam etmeliyim.

apt-cache policy emacsDün gece yatağa gittiğim zaman çıktı :

~/emacs$ sudo apt-cache policy emacs
emacs:
  Installed: 26.0.50.aaron-1
  Candidate: 46.1
  Version table:
     46.1 500
        500 http://us.archive.ubuntu.com/ubuntu xenial/main amd64 Packages
        500 http://us.archive.ubuntu.com/ubuntu xenial/main i386 Packages
 *** 26.0.50.aaron-1 100
        100 /var/lib/dpkg/status

İşte uyandığımda:

~/emacs$ sudo apt-cache policy emacs
[sudo] password for excelsiora:
emacs:
  Installed: 46.1
  Candidate: 46.1
  Version table:
 *** 46.1 500
        500 http://us.archive.ubuntu.com/ubuntu xenial/main amd64 Packages
        500 http://us.archive.ubuntu.com/ubuntu xenial/main i386 Packages
        100 /var/lib/dpkg/status

Bu paket neden 24 veya 25 yerine 46 olarak sürümlendiriliyor? 26, şu anda alabileceğiniz en yüksek ana emacs sürümüdür.

Bunun bir meta paket olduğunu görebiliyorum: https://packages.debian.org/source/jessie/emacs-defaults

Ubuntu yazılım güncellemesini neden sormadan yapıyor?

Ana Soru: Ne yapmam gerekiyor - paket sürümümü sadece sopa yapmak için 46'dan daha yüksek bir sayı atayın?

Bu korkunç bir hack gibi görünüyor, ya da belki de böyle çalışması gerekiyor?


2
Gönderen değişmek : "Daha yüksek varolan herhangi emacs ikili paketin daha ilk sürümünü ayarlayın."
muru

bu beni üzüyor. : /
Aaron Hall

Yanıtlar:


15

Burada birçok sorun ve soru var, bu yüzden kısa olacak ama hepsini ele almaya çalışacağım.

  • emacsyalnızca emacs...şu anda Ubuntu'nun en son sürümünü gösteren bir meta pakettir emacs24. "46.1" sadece eski bir emacs paketinin yerini almak için kasıtlı olarak yüksek bir paket sürümüdür. apt show emacsBiraz daha fazla bilgi için bakın .

  • Bu emacspaketi daha düşük bir sürüm numarası paketiyle geçersiz kılıyorsunuz . Ubuntu, sürüm numarasına göre yüklenen paket sürümüne öncelik verir. En yüksek kurulum (yükleme veya yükseltme sırasında) olacak, bu nedenle sizinki sürekli şaşkın.

    Bunu apt-cache policy emacsçıktıda görebilirsiniz . Aday en yüksek versiyon.

  • Sürüm numaranızı (46.1'den yüksek bir şey) sabitleme veya fudging ile öncelikler üzerinde çalışabilirsiniz, ancak bu sorunu görmezden gelir (ve bir emacs24paketi yerinde bırakabilir ).

  • En iyi seçeneğiniz emacspaketi kaldırmak ve bunun yerine bir emacs25veya emacs26paket oluşturmak ve kurmaktır . Sen olabilir ayrıca versiyon-in-name paketine bağlı bir emacs meta paketi oluşturmak, ama bu sadece bir makyaj var. Dağıtım yapmayı planlamazsanız bunu yapmam.

  • Ubuntu'nun "sormadan" bir şeyler yapmasıyla ilgili olarak, otomatik güncellemelerin açık olup olmadığını kontrol edin. Bunun için en son kullanılabilir varsayılan davranış bu yüzden bu makinede bir hayalet yerine, ya da daha kötüsü "Ubuntu ne yaptığını anlamayan" bir durum olduğunu düşünüyorum.

  • Ve "neden sürüm 24, 25 veya 26 değil?" Gelince, altındaki Ubuntu ve Debian, kararlı, test edilmiş yazılım sürümlerini hedefliyor. 26 hala gelişme aşamasında ve 25 Eylül 2016'ya kadar çıkmadı.

    Ayrıca, Ubuntu yuvarlanan bir sürüm değildir, bu nedenle 24'lü Ubuntu sürümleri bu Ubuntu sürümlerinin ömrü boyunca 24 sürümünde kalacaktır (gerçekten çılgın bir şey olmadıkça). Güvenlik yamaları gerektiğinde desteklenecek ve uygulanacaktır, ancak yine de 24 olacaktır.


Asla "neden sürüm 24" diye sordum (bunun cevabı açıktır) sözlerim "neden bu sürüm" 46'ya atıfta bulundu, ama önceki sorudan daha fazla ve daha az net olduğu için sildim. Neyse, checkinstall argümanında emacs26 adını değiştirerek gittim - Muhtemelen daha sonra bir çözüm göndereceğim. Artı bir. Ve teşekkürler
Aaron Hall

@Oli (+1), son noktanızla ilgili olarak, Emacs'ı bir işletim sistemiyle gelen sürümün ötesine yükseltmemek için iyi bir argüman var mı? Bilinen istikrar sorunları veya başka sorunlar var mı? Ubuntu 16.04 LTS üzerinde çalışıyorum ve Emacs 25.1 sürümüne geçmek istiyorum.
n1k31t4

99 daha iyi bir sürüm numarası olurdu.
Thorbjørn Ravn Andersen

0

Ubuntu yazılım güncellemesini neden sormadan yapıyor?

Bunun Update Manager'daki (Düzen menüsü) Güncelleme Politikanızdan kaynaklandığını düşünüyorum. Orta seçeneği öneriyorum: Kararlılığı ve güvenliği optimize edin. Son seçenek istemediğiniz "Her zaman her şeyi güncelle" olacaktır.

Ayrıca "emacs-defaultults" paketini Düzenle> Tercihler> Kara listeye alınmış paketler (AKA Yok Sayılan paketler) içinde kara listeye alabilirsiniz.


0

@ Oli'nin cevabını takip ederek şöyle devam edersiniz:

emacs paketini kaldırmak ve bunun yerine sadece bir emacs25 veya emacs26 paketi oluşturmak ve kurmak.

  1. Emacs.deb dosyanızı bulun. Benim için emacs kaynak kök klasörümdeydi veemacs_25.1-1_amd64.deb
  2. Yaratacağınız yeni debian paketini tutmak için bir dizin oluşturun: $ mkdir emacs-rename
  3. Debian paketini dizine arşivden çıkarın: $ ar -x emacs_25.1-1_amd64.deb emacs-rename/
  4. Emacs-rename dizinine gidin: $ cd emacs-rename
  5. Daha fazla control.tar.gz ve data.tar.xz dosyasını ayıklayın: $ tar -xzf control.tar.gzve$ tar -xf data.tar.xz
  6. Düzenleme controldosya bu (henüz emacs'ı olmadığı için;) nano ile sonuçları - $ nano controlve değişim Package: emacsiçin Package: emacs25(veya 26, 27 vs.)
  7. Emacs-rename: içinde bir DEBIAN dizini oluşturun $ mkdir DEBIANve kontrol dosyasını buraya kopyalayın:$ cp control DEBIAN/
  8. Bir dizine gidin, emacs kaynak köküne ( $ cd ..) geri dönün ve çalıştırın $ dpkg --build emacs-rename. Bu işlem birkaç saniye sürebilir.
  9. Şimdi bir emacs-rename.deb paketiniz olmalıdır. Merak etmeyin, uygun debian paket adlandırma yapısını takip etmiyor, sadece kullanımınız için. İle yükleyin$ sudo dpkg -i emacs-rename.pkg
  10. Her şey işe yaradıysa şunu görmelisiniz:

    Emacs-rename.deb paketini açmaya hazırlanıyor ... emacs paketini
    açıyor25 (25.1-1) ...
    emacs25'i kuruyor25 (25.1-1) ...

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.