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
E: Release '20190413-27-g1acfefa-0ubuntu1~bionic' for 'fontforge' was not found
voor mijapt-mark
ook voor de afhankelijkheden? En hoe zou ik in de toekomst controleren op updates en bijwerken vanuit de andere repository?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 ;-).