Frage Ist apt-get upgrade ein gefährlicher Befehl?


Wenn ich apt-get update und apt-get upgrade verwende, sollten einige Pakete in der neuesten Version wie folgt installiert werden:

The following packages will be upgraded:
  accountsservice apparmor apport apt apt-transport-https apt-utils binutils
  cloud-init cpp-4.8 dpkg fuse g++-4.8 gcc-4.8 gcc-4.8-base gdisk gnupg gpgv
  grub-common grub-legacy-ec2 grub-pc grub-pc-bin grub2-common initscripts
  isc-dhcp-client isc-dhcp-common libaccountsservice0 libapparmor-perl
  libapparmor1 libapt-inst1.5 libapt-pkg4.12 libasan0 libatomic1 libbsd0
  libcurl3-gnutls libdrm2 libedit2 libfuse2 libgcc-4.8-dev libgd3 libgomp1
  libitm1 libjson-c2 libjson0 libnuma1 libpam-systemd libpolkit-agent-1-0
  libpolkit-backend-1-0 libpolkit-gobject-1-0 libquadmath0 libstdc++-4.8-dev
  libstdc++6 libsystemd-daemon0 libsystemd-login0 libtsan0 libudev1 libxext6
  linux-libc-dev ntpdate openssl overlayroot patch policykit-1 ppp
  python-urllib3 python3-apport python3-problem-report python3-update-manager
  rsyslog systemd-services sysv-rc sysvinit-utils tcpdump tzdata udev
  update-manager-core
75 upgraded, 0 newly installed, 0 to remove and 4 not upgraded.

Wenn ich nicht jedes der Pakete kenne, was passiert, wenn es in der neuesten Version aktualisiert wird. Ich sollte diesen Befehl nicht ausführen (apt-get upgrade).

Beispielsweise:

Diese PHP-Version ist vor dem Upgrade

yzxu@ubuntu:/tmp/git-2.1.2$ php --version
PHP 5.6.6-1+deb.sury.org~precise+1 (cli) 
Copyright (c) 1997-2015 The PHP Group
Zend Engine v2.6.0, Copyright (c) 1998-2015 Zend Technologies
    with Zend OPcache v7.0.6-dev, Copyright (c) 1999-2015, by Zend Technologies

und nach dem Upgrade:

yzxu@ubuntu:/tmp/git-2.1.2$ php --version
PHP 5.6.10-1+deb.sury.org~precise+1 (cli) 
Copyright (c) 1997-2015 The PHP Group
Zend Engine v2.6.0, Copyright (c) 1998-2015 Zend Technologies
    with Zend OPcache v7.0.6-dev, Copyright (c) 1999-2015, by Zend Technologies

Die PHP-Version wurde geändert.Und wenn ich nicht was in zwei Versionen ändern würde, sollte ich es aktualisieren? Produkt beeinflussen?


6
2018-06-23 07:19


Ursprung


Nun, das kommt auf das Versionsschema der Paketversion an - Mr.Gosh
@ Mr.Gosh Also, wenn ich Upgrade verwenden möchte, sollte ich jedes Paket Versionsnummerierungschema beachten und sicherstellen, dass jedes Update das Produkt nicht beeinflusst hat? - 大易归真
Nein, nicht unbedingt - wenn Sie nicht sicher sind, ob ein Paket, auf das Sie angewiesen sind, etwas kaputt macht - müssen Sie recherchieren. In PHP ist das Versionsnummerierungsschema xyz wobei x = Hauptversionsnummer (ändere dies und es bricht Dinge) x = Merkmalsnummer (hier werden sich die Dinge auch ändern - aber es ist alles gut dokumentiert und sollte bei Abhängigkeitsprüfungen von Ubuntu kein Problem sein) z = bugfix release (diese werden normalerweise nicht kaputt gehen und sollten immer schnell installiert werden) - Mr.Gosh
@ Mr.Gosh habe ich gesehen apt-get Aktualisieren Sie in vielen Dokumenten auf Github oder andere Website.Es sieht aus wie Autor war es egal, was passieren wird, wenn Benutzer verwenden apt-get-Aktualisierung  um sie zu aktualisieren. Es sieht so aus, als ob sie es nur ansehen apt-get-Aktualisierung als normaler Befehl statt als gefährlicher Befehl rm -rf - 大易归真
Nun, es ist etwas, das kanonische Tests viel vor der Freigabe des Materials an seine Benutzer - so sollten Sie sich normalerweise darauf verlassen, dass apt-get upgrade nicht etwas zerstört - wenn es das tut - die Software, die Sie verwenden oder Ihr Server ist nicht unter deine volle Kontrolle wenn Sie sich auf Ihr System verlassen - Sie benötigen ein Testsystem für Tests - um sicher zu sein, dass apt-get upgrade kein Problem ist ... - Mr.Gosh


Antworten:


apt-get update

Aktualisiert die Repositorys und ruft Informationen zu Paketen ab, die online verfügbar sind.

apt-get upgrade

Downloadet und installiert Updates für alle installierten Pakete - solange es keine Abhängigkeiten behebt (neue Pakete installieren, alte entfernen oder eine Repoquelle überqueren (ein Paket von einem Repo zu einem anderen wechseln)).

apt-get dist-upgrade

Führt dasselbe wie "upgrade" aus, aktualisiert jedoch ein Paket auch, wenn Abhängigkeiten oder Quellen geändert werden (etwas, das Sie auf Servern ohne weitere Tests vermeiden möchten).

Zum Schluss - ein Update kann Dinge brechen, aber es ist notwendig! Wenn Sie also auf einem Desktop arbeiten, sollten Sie normalerweise Folgendes tun:

sudo apt-get update && sudo apt-get dist-upgrade

Ohne etwas zu zerstören.

Auf einem Server meistens:

sudo apt-get update && sudo apt-get upgrade

sollte genug sein und Sicherheitsupdates sollten automatisch installiert werden (auf Servern und Desktops)

Update auf 16.04

Inzwischen ist der "apt" -Wrapper der Standardweg in Ubuntu, also sind die Befehle jetzt:

sudo apt update        #to update the repo-information

sudo apt upgrade       #to install all security fixes and changes that doesn't harm the system or change the behaviour

sudo apt full-upgrade  #the new "dist-upgrade" that isntalls newer versions that can break backwords-compatibility

TL; DR!

Ja, du solltest php in diesem Beispiel updaten - weil es ein Sicherheitsfix ist (was man durch das Nummerierungsschema von PHP sehen kann und sonst wäre es nicht in den "upgrade" Zweig von ubuntu geschoben worden ...


7
2018-06-23 08:25



Guter Rat auf dem dist-upgrade Option für Server, da es oft Ihre Konfigurationsdateien wegfallen lässt! +1 - Arronical
Ich verstehe diff zwischen Upgrade und dist-upgrade.Mein Rätsel ist, wenn ich nicht wüsste, was sich tatsächlich zwischen zwei Versionen ändert, sollte ich es upgraden? Vielleicht wird es das Produkt beeinflussen. - 大易归真
hum .. Aber es ist gefährlich? Ich habe eine gute 16,04 LTS , mit dem apt-get upgrade  Befehl werde ich verlieren die LTS-Garantie? - Peter Krauss
nein - du wirst nicht - LTS bedeutet, dass du neue Updates im "upgrade" -Kanal für eine längere Zeit erhältst als in der Nicht-LTS-Version ... - Mr.Gosh
Wie kann ich wissen, wann das apt-get-Upgrade abgeschlossen ist? - TheCrazyProfessor


Wenn du rennst apt-get upgradeEs aktualisiert alle installierten Pakete auf Ihrem System. Es ist vollkommen sicher (es sei denn, Sie schneiden es ab, bevor es fertig ist), da alle Pakete aus den Repos stammen (Sie sollten nur die Ihres Vertrauens installieren) und sind (wahrscheinlich) vor dem Hochladen gut getestet.

Das einzige kleine Risiko ist das Risiko von Bugs in den Paketen selbst, aber dies könnte passieren, dass auf jedem Betriebssystem, das aktualisiert wurde, Bugs in jeder Software üblich sind und basierend auf der Version kommen und gehen.

Solltest du ein Upgrade durchführen? Nun, das liegt an dir, ich würde ja sagen, wenn du es nicht magst upgrade benutze die application-updater App, gleiche Sache keine Ausgabe, um Sie besorgt zu machen.

Hier ist eine Dokumentation für apt damit du mehr erfahren kannst


1
2018-06-23 08:15



hum ... Aber es ist "LTS gefährlich"? Ich habe eine gute 16,04 LTS , mit dem apt-get upgrade  Befehl werde ich verlieren die LTS-Garantie? - Peter Krauss
@PeterKrauss Ich weiß nicht, was du meinst, alle Upgrades aktualisieren das aktuelle System, es wird deine Ubuntu-Version nicht ändern, aktualisiere nur aktuelle Pakete. - Mark Kirby
Danke deine Antwort. Beispiel: if apt-get upgrade Befehl ändert sich von 16.04 LTS zu 17 (oder jedem anderen 16.X nicht-LTS), ich werde "LTS Garantie" verlieren. Wenn keine Verwirrung und kein Upgrade in der LTS Subversion bleiben, ok. - Peter Krauss
das wird nicht tun, es aktualisiert Pakete, nicht das Betriebssystem, der Befehl, den Sie dafür verwenden, ist Do-Release-Upgrade - Mark Kirby


Könnte sein. Aber Sie sollten Ihr System regelmäßig aktualisieren. Updates können ein Risiko haben, ja. Dieses Risiko hängt auch von Dingen ab, die ich nicht kenne, wie z. B. welche PPAs Sie hinzugefügt haben oder nicht, oder anderen Quellen. Aber im Allgemeinen ist es eine gute Idee, das System auf dem neuesten Stand zu halten. Wenn Sie aktualisieren, erhalten Sie Stabilitätsprobleme und Sicherheitsupdates. Also werde ich sagen, dass es noch gefährlicher ist, Ihr System nicht zu aktualisieren (upgraden).


1
2018-06-23 07:27





sudo apt-get update
  • Dies aktualisiert nur alle installierten Softwares.
  • Dies ist auch notwendig, wenn Sie das Betriebssystem zum ersten Mal installiert haben. Da es zunächst Update benötigt, können Sie nur die installierten Softwares verwenden.

Bearbeiten: Und Upgrade wird verwendet, um die Pakete zu aktualisieren, die nicht korrekt installiert wurden.


-1
2018-06-23 07:45



Ich dachte, dass updatedient zum Aktualisieren der Paketlisten und upgrade um die Pakete zu aktualisieren. Und dist-upgrade um installierte Pakete zu aktualisieren + neue Pakete zu installieren - daltonfury42
-1 Das ist falsch update aktualisiert nur die Quellen und upgrade aktualisiert die Pakete - Mark Kirby


Manchmal haben Sie möglicherweise ein defektes System, wenn Sie PPA von Drittanbietern in Ihrem Repository hinzufügen, nachdem Sie es aktualisiert haben sudo apt-get update. Es ist nicht gefährlich und eigentlich sollten Sie dies tun, um Ihr System auf dem neuesten Stand zu halten. Ein Vorschlag von mir, nur deaktivieren Sie vorgeschlagene und Backports Repository von Softwarequellen.


-1
2018-06-23 07:49



-1 Sehen Sie nicht, wie sich das auf die Frage bezieht upgrade - Mark Kirby