Sollte ich x86_64- oder i386-RPM-Pakete installieren? [geschlossen]

11

Ich möchte ein RPM-Paket installieren, bin mir aber nicht sicher, ob ich die x86_64- oder i386-Version installieren soll. WHM sagt CENTOS 6.5 i686 virtuozzooben.

Wie kann ich bestimmen, welche Version installiert werden soll?

Nate
quelle

Antworten:

12

Verwenden Sie in diesem Fall das Paket i386 (oder 32-Bit).

ewwhite
quelle
1
Warum? Ihre Antwort sollte Unterstützung oder Argumentation liefern.
Schlitten
6
@ArtB Nun, das liegt daran, dass das x86_64-Paket (64-Bit) nicht auf einer 32-Bit-Plattform ausgeführt werden kann.
ewwhite
Korrigieren Sie mich, wenn ich falsch liege, aber ist es nicht der Grund, warum es x86 ist? Für die verschiedenen Zahlen, die in die x-Position gehen könnten?
jpmc26
1
@ jpmc26, aber die Auswahlmöglichkeiten sind i386 und x86_64 . Beachten Sie, dass _64 "64 Bit" bedeutet. Er verwendet i686, das nicht 64-Bit ist, daher ist i386 die richtige Wahl.
Josh
@ Josh ?? Ich denke, Sie haben meinen Kommentar falsch verstanden. Ich sagte, dass x86 die Reihe der Prozessorarchitekturen beschreibt, als sie in 86 enden. Also ist i386 eine davon, bei der das x vom 3.
jpmc26
23

Ein kurzer Überblick über Architekturnamen für x86-Systeme:

  • i386: Die 80386-CPU war in der Vergangenheit das absolute Minimum für die Ausführung von Linux auf einem PC-kompatiblen System. Folglich ist ein Paket für "i386" auf maximale Kompatibilität ausgelegt und kann auf jedem x86-ähnlichen System ausgeführt werden. Ein System, das sich selbst als "i386" bezeichnet, ist entweder uralt oder exotisch und kann nur zum Ausführen von i386-Paketen verwendet werden.
  • i485, i586: Selten gesehen beziehen sich diese auf die CPUs 80486 und Pentium (80586). Fast niemand erstellt Pakete speziell für sie und zielt stattdessen entweder auf i386 oder i686 ab.
  • i686: Dies ist die "P6" -Mikroarchitektur, die von Intel für den Pentium Pro und höher verwendet wird. Es wird allgemein als Basis für "moderne" 32-Bit-x86-Systeme angesehen. Ein "i686" -Paket kann auf diesen Systemen ausgeführt werden (und ist normalerweise leistungsfähiger als eine "i386" -Version). Auf einem "i686" -System können alle i386-, i486-, i586- oder i686-Pakete ausgeführt werden.
  • x86_64: Dies ist der 64-Bit-Befehlssatz für x86-CPUs. Ein "x86_64" -Paket kann nur auf x86_64-Systemen ausgeführt werden. Ein "x86_64" -System erfordert spezielle Kernel- und Bibliotheksunterstützung (die fast alle gängigen Linux-Distributionen bieten), um Pakete aus der i * 86-Familie auszuführen.

Sie haben ein "i686" -System. Wenn Sie also zwischen "i386" und "x86_64" wählen, möchten Sie die "i386" -Version.

Kennzeichen
quelle
Und Sie sollten hinzufügen, dass diese Liste von unten nach oben gelesen wird: Sie beginnen unten, bis Sie die Architektur Ihres Systems erreichen, und Sie gehen nach oben, bis Sie eine Paketarchitektur erreichen. So'ne Art.
Calimo
8

Sie können einfach den Befehl "arch" verwenden, um Ihre Antwort zu erhalten.

Zatarra
quelle
Es heißt i686, aber das RPM-Paket ist nicht verfügbar (nur x86_64 und i386).
Nate
3
@Nate Sie bedeuten genau das gleiche für diesen Zweck.
Michael Hampton
2
Wie ewwhite sagt, entscheiden Sie sich in diesem Fall für die i386-Version.
Zatarra
3

Sie benötigen das 32-Bit-Paket (dh das i386-Paket), da der Bericht "i686" zeigt, dass Sie eine 32-Bit-Plattform ausführen.

Wenn Sie sich der Zielplattform nicht sicher sind, erhalten Sie in der Regel den 32-Bit-Build, da auf einer 64-Bit-Plattform ein 32-Bit-Image ausgeführt werden kann, nicht jedoch umgekehrt.

Gwyn Evans
quelle