Wie aktualisiere ich ein einzelnes Paket mit apt-get?


Zur akzeptierten Antwort gehen


Wie aktualisiere ich ein einzelnes Paket? Soweit man apt-get gesagt apt-get upgrade , wird ein Paket / eine Liste von Paketen nicht als Parameter verwendet:

Aktualisierung

Mit dem Upgrade werden die neuesten Versionen aller derzeit auf dem System installierten Pakete aus den in aufgeführten Quellen installiert /etc/apt/sources.list . Derzeit installierte Pakete, für die neue Versionen verfügbar sind, werden abgerufen und aktualisiert. Derzeit installierte Pakete werden unter keinen Umständen entfernt oder Pakete, die noch nicht installiert sind, werden abgerufen und installiert. Neue Versionen der aktuell installierten Pakete, die nicht aktualisiert werden können, ohne den Installationsstatus eines anderen Pakets zu ändern, behalten ihre aktuelle Version bei. Zuerst muss ein Update durchgeführt werden, damit apt-get weiß, dass neue Versionen von Paketen verfügbar sind.


850





2011-05-20




Anzahl der Antworten: 8


Sie müssen nur tun apt-get install --only-upgrade <packagename> . Dadurch wird nur dieses einzelne Paket aktualisiert und nur, wenn es installiert ist.

Wenn Sie das Paket installieren möchten, wenn es nicht vorhanden ist, oder wenn Sie es aktualisieren möchten, können Sie es weglassen --only-upgrade .


1057


2011-05-20

So aktualisieren Sie ein einzelnes Paket mithilfe der CLI:

 sudo apt-get install --only-upgrade <packagename>
 

z.B, sudo apt-get install --only-upgrade ack

 Reading package lists... Done
Building dependency tree       
Reading state information... Done
Skipping **ack**, it is not installed and only upgrades are requested.
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
 

132


2012-10-15

Ich kann mir zwei Möglichkeiten vorstellen:

  1. sudo apt-get install nameofpackage

    Dadurch wird das Paket aktualisiert, auch wenn es bereits installiert ist:

     ~$ sudo apt-get install emesene
    Reading package lists... Done
    Building dependency tree       
    Reading state information... Done
    The following packages will be upgraded:
      emesene
    1 upgraded, 0 newly installed, 0 to remove and 5 not upgraded.
    Need to get 1,486 kB of archives.
    After this operation, 696 kB disk space will be freed.
    Get:1 http://il.archive.ubuntu.com/ubuntu/ natty-updates/universe emesene all 2.11.4+dfsg-0ubuntu1 [1,486 kB]
     
  2. Verwenden Synaptic Package Manager : Rechtsklick → Zum Aktualisieren markieren :


    Bildbeschreibung hier eingeben

    Hinweis : Manchmal werden zusätzliche Pakete oder Abhängigkeiten angefordert. Dies ist normal.


56


2011-05-20

Nach meiner Erfahrung mit Ubuntu 12.04 LTS wird das Paket mit dem folgenden Befehl nicht aktualisiert, wenn ein separater PPA verwendet wird.

 sudo apt-get --only-upgrade install <packagename>
 

Ebenso wollte ich nicht den Upgrade-Befehl ausführen, der alle Pakete auf meinem Server aktualisiert -

 sudo apt-get dist-upgrade
 

Zum Beispiel habe ich PHP 5.3 installiert und das PPA ondrej zu meiner apt.sources hinzugefügt, indem ich -

 sudo add-apt-repository ppa:ondrej/php5
 

Wenn ich renne

 sudo apt-get install php5
 

es wird nur PHP 5.3 neu installieren.

Ich muss zuerst die Versionsnummer bestimmen, auf die das Upgrade durchgeführt werden soll

 sudo apt-cache policy php5
 

Dies listet alle verfügbaren Versionsnummern auf. Sie sollten die Versionsnummer finden, auf die Sie aktualisieren möchten, und dann die gesamte Zeichenfolge kopieren, die darauf verweist. Beispielsweise lautet die Zeichenfolge für PHP 5.5 unter Ubuntu "5.5.16 + dfsg-1 + deb.sury.org ~ exact + 2".

Jetzt können Sie den Befehl apt-get install mit der spezifischen Versionsnummer ausführen und voila!

 sudo apt-get install php5=5.5.16+dfsg-1+deb.sury.org~precise+2
 

Ich habe dies nur hinzugefügt, weil ich diese Informationen nirgendwo anders finden konnte!


25


2014-09-18

Unter Ubuntu 9.04 Jaunty

 apt-get --only-upgrade install <package>
 

ergibt:

 E: Sense only is not understood, try true or false.
 

Der Befehl

 apt-get --only-upgrade true install <package>
 

arbeitete in meinem Fall.


16


2015-04-13

Für eine Befehlszeilenlösung, die das Paket nicht installiert, wenn es noch nicht vorhanden ist:

 dpkg -s <package> 2>/dev/null | grep -q Status.*installed && sudo apt-get install <package>
 

Dies kann leicht zu einem Skript gemacht werden, zB:

upgrade-package.sh:

 #!/bin/bash

[[ -z $1 ]] && { echo "Usage: $(basename $0) package"; exit 1; }

if dpkg -s "$1" 2>/dev/null | grep -q Status.*installed; then
    echo "Attempting to upgrade $1"
    sudo apt-get install "$1"
else
    echo "Package $1 is not installed"
fi
 

10


2012-05-22

Alte, aber nette Frage, ich nehme mir die Freiheit, eine aktualisierte Antwort hinzuzufügen ... Für modernere Distributionen, in denen der passende Wrapper enthalten ist, so einfach wie:

 sudo apt upgrade <package-name>
 

1


2019-11-12

So aktualisieren Sie ein einzelnes Paket unter Ubuntu 18.04 LTS:

 sudo apt update && sudo apt install --only-upgrade <packagename>
 

So aktualisieren Sie mehrere Pakete:

 sudo apt update && sudo apt install --only-upgrade <package1> <package2> <package3>
 

0


2019-11-14