Vraag Hoe een specifieke versie van een pakket te installeren? [duplicaat]


Deze vraag heeft hier al een antwoord:

Mijn vragen zijn verdeeld in twee delen:

  1. Hoe de versie van het geïnstalleerde pakket te weten?
  2. Hoe een specifieke pakketversie te installeren?

159
2018-03-03 08:57


oorsprong


Stem alstublieft niet om dit bericht te verwijderen. Het is handig als een wegwijzer. Duplicaten dienen om anderen naar de juiste Q & A te leiden. - terdon♦


antwoorden:


Hoe de versie van het geïnstalleerde pakket te weten?

apt-cache policy <package name>

De bovenstaande opdracht toont de geïnstalleerde pakketversie en ook alle beschikbare versies in de repository volgens de versie van Ubuntu waarin u actief bent. Het toont niet de pakketversie die bedoeld was voor een andere versie van Ubuntu (niet die van u).

Voorbeeld:

$ apt-cache policy gparted
gparted:
  Installed: 0.16.1-1
  Candidate: 0.16.1-1
  Version table:
 *** 0.16.1-1 0
        500 http://ubuntu.inode.at/ubuntu/ saucy/main amd64 Packages
        100 /var/lib/dpkg/status

Dus de geïnstalleerde Gparted-versie is 0.16.1-1.

Hoe een specifieke pakketversie te installeren?

sudo apt-get install <package name>=<version>

Voorbeeld:

$ sudo apt-get install gparted=0.16.1-1
Reading package lists... Done
Building dependency tree       
Reading state information... Done
gparted is already the newest version.
0 upgraded, 0 newly installed, 0 to remove and 265 not upgraded.

226
2018-03-03 09:10



Kunt u meer details geven voor het tweede commando? Zijn er beperkingen? Kan iemand op 12.04 bijvoorbeeld een versie van een pakket installeren die beschikbaar is in 13.10? - DK Bose
In aptitude als u op Enter op de naam van het pakket drukt, wordt informatie over het pakket weergegeven en aan de onderkant van dit scherm vindt u een lijst met beschikbare versies. - karatedog
Werkt het vergelijkbare gebruik van apt-cyg in Cygwin: apt-cyg install package=version? - Danijel
In alle gevallen heb ik dit ooit geprobeerd altijd krijg de fout The following packages have unmet dependencies:, gevolgd door een lijst met pakketten. Is er een manier om dit automatisch te laten oplossen? - Hubro
Houd er rekening mee dat deze waarschijnlijk zal mislukken, omdat er meestal slechts 1 of 2 versies van het pakket beschikbaar zijn in de repository. Als u een andere versie wilt dan de huidige versie voor uw distributie, moet u deze mogelijk downloaden en installeren met sudo dkpg -i <package-file>. Afhankelijkheidsfouten moeten worden opgelost door het downloaden en installeren (ook met dkpg) alle ontbrekende pakketten (dit kan vele herhalingen duren). Als alternatief kunt u de programmabroncode downloaden, compileren en installeren (dit vereist ook een handmatige afhankelijkheidsresolutie). - nuoritoveri


Er is geen algemene manier om de versie van geïnstalleerde pakketten te controleren, maar de meeste kunnen worden gecontroleerd met behulp van de opdracht:

command -v 

bijvoorbeeld om de versie van apache2 te kennen:

apache2 -v

Maar dit werkt mogelijk niet met andere pakketten, dus het is het best om de handleiding te doorzoeken.

man XXX

en zoek naar de optie om de versie te tonen.

Om een ​​specifieke versie van een pakket te installeren:

sudo apt-get install package=version

Bijvoorbeeld:

sudo apt-get install apache2=2.3.35-4ubuntu1

4
2018-03-03 09:03



we kunnen ook de versie van het geïnstalleerde pakket controleren met dpkg -l pakketnaam - Nischay
Waar vind / vind je de meta 2.3.35-4ubuntu1 bij het opgeven van de versie? - Erutan409
@ Erutan409 De bovenstaande opmerking is hoe u dat kunt doen. - user124384
@ Erutan409 - gebruik apt-cache madison packagename - het toont alle versies die te zien zijn door de repos die u hebt geïnstalleerd / geconfigureerd (inclusief PPA's) - ivanivan