Hoe apt-get te dwingen om de nieuwste versie te installeren vanuit de fontforge-repository

Volledige Linux noobie die ik ben, ik kan “niet lijken te krijgen apt-get om de nieuwste versie van font-forge te installeren.

Achtergrond: ik voer het Ubuntu-subsysteem uit in Windows 10 en heb zelfs GUI-applicaties die draaien met Xming Server. Ja, ik zou een VM kunnen draaien, maar ik had het gevoel dat ik “het gewoon eens zou proberen als een proof-of-concept. Hoe dan ook, ik denk niet dat het te maken heeft met mijn echte probleem, ik dacht gewoon dat ik” d noem mijn setup voor het geval dat.

De Ubuntu-versie die ik draai is 18.04.4 LTS (Bionic Beaver). Ik heb apt-get update en apt-get upgrade uitgevoerd, alles is up-to-date.

Dus volgde ik de fontforge installatie-instructies voor Ubuntu en voerde de volgende opdrachten uit:

sudo apt-get install software-properties-common sudo add-apt-repository ppa:fontforge/fontforge sudo apt-get update sudo apt-get install fontforge 

Dit installeerde fontforge, en dat doet openen en verschijnen, maar het probleem is dat het “een oude versie is: 1:20170731~dfsg-1.

Het commando fontforge -v shows

... Based on sources from 11:21 UTC 24-Sep-2017-ML-D. Based on source from git with hash: no xdefs_filename! ... fontforge 11:21 UTC 24-Sep-2017 libfontforge 20170924 

Deze pagina bevat 20190413-27-g1acfefa-0ubuntu1~bionic als de nieuwste versie voor Bionic, maar er staat ook " (nieuwere versie beschikbaar) " ernaast en een link naar deze pagina , die lijkt te zeggen dat de versie van de Ubuntu-standaardrepositorys wordt behandeld als nieuwer dan die van de fontforge-repository. Ik weet niet waarom dit zo is het geval, en ik zou apt-get willen vertellen om de andere te installeren r, recentere versie.

Ik denk dat het veiligste pad zou zijn om vanuit de broncode te compileren, aangezien de versie in de fontforge-repo een behoorlijke tijd achterloopt, maar ik zou er echt de voorkeur aan geven dat niet te hoeven doen.


zoals gevraagd, de uitvoer van apt-cache policy fontforge:

apt-cache policy fontforge fontforge: Installed: 1:20170731~dfsg-1 Candidate: 1:20170731~dfsg-1 Version table: *** 1:20170731~dfsg-1 500 500 http://archive.ubuntu.com/ubuntu bionic/universe amd64 Packages 100 /var/lib/dpkg/status 20190413-27-g1acfefa-0ubuntu1~bionic 500 500 http://ppa.launchpad.net/fontforge/fontforge/ubuntu bionic/main amd64 Packages 

Answer

De 1: aan het begin van de versie in de Ubuntu-repositories (bekend als het tijdperk) veroorzaakt apt om die versie als nieuwer te beschouwen dan de versie in de PPA. Om dit laatste te installeren, moet je apt vragen om dit expliciet te doen:

sudo apt install fontforge=20190413-27-g1acfefa-0ubuntu1~bionic 

Je hebt dan nodig om het vast te houden, of een pinprioriteit toe te voegen aan de PPA, om te voorkomen dat apt het pakket “upgradet” naar de versie in de Ubuntu-repositories:

sudo apt-mark hold fontforge 

Reacties

  • Het eerste commando resulteert in E: Release '20190413-27-g1acfefa-0ubuntu1~bionic' for 'fontforge' was not found voor mij
  • Maakt niet uit, moet een typefout hebben gehad of zoiets. Nu ' klagen over " niet-vervulde afhankelijkheden " die niet zullen worden geïnstalleerd . Ik ' m probeer die nu handmatig te installeren
  • Dat werkte! Ik denk dat ik ' moet gebruiken apt-mark ook voor de afhankelijkheden? En hoe zou ik in de toekomst controleren op updates en bijwerken vanuit de andere repository?
  • Ik denk niet dat je de afhankelijkheden moet vasthouden; zodra fontforge is geïnstalleerd, worden ze op de juiste manier beperkt. Als u een bewaarplicht gebruikt, moet u handmatig op upgrades controleren; pin-prioriteiten zouden beter zijn (maar ik kan de vereiste configuratie nu niet controleren). De beste oplossing voor iedereen zou natuurlijk zijn dat de PPA ook een epoch gebruikt ;-).

Geef een reactie

Het e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *