Wie aktualisiere ich Coreutils von 8.21 auf 8.24 in Linux Ubuntu 14.04?

8

Ich möchte die Statusoption ' progress ' mit dd verwenden, die mit coreutils 8.24 verfügbar ist. Ubuntu 14.04 (Trusty) hat Coreutils 8.21 und die aktuelle (stabile) Version für Coreutils ist> 8.24.

Ich möchte im selben System von 8.21 auf 8.24 aktualisieren und habe nach dem Durchsuchen des Internets festgestellt, dass ich das Paket höchstwahrscheinlich aus dem Quellcode erstellen muss. Aber da ich in meinem kurzen Computerleben die ganze Zeit in Ubuntu gelebt habe, habe ich nie ein Paket aus dem Quellcode erstellt und weiß nicht, wie. Ich bin mir auch nicht sicher, ob ein Upgrade von Coreutils ohne Ubuntus "Erlaubnis" nicht zu einem Systemabsturz aufgrund einiger Abhängigkeitsprobleme für andere Dienstprogramme führen würde.

Ist es möglich, Coreutils zu aktualisieren, ohne mein aktuelles Ubuntu-System zu beeinträchtigen? Könnte jemand darauf hinweisen, wie dies erreicht werden könnte?

Solyarist
quelle
2
Es mag sogar möglich sein, aber ich würde Ihnen nicht empfehlen, dies zu tun. Das coreutilsliegt daran, dass dies ein sehr sensibler und zentraler Bestandteil des Systems ist. Wenn Sie die neue ddFunktion möchten , können Sie dd selbst kompilieren und in einem separaten Verzeichnis ablegen. Dann können Sie es ausführen, indem Sie seinen absoluten Pfad angeben. Auf diese Weise erstellen Sie eine Sandbox.
Eduardo Cola
@EduardoCola diese Sandbox-Idee ist unglaublich. Ich habe nie so darüber nachgedacht. Vielen Dank!
Solyarist
@EduardoCola Sie können das auch in eine Antwort setzen. Ich verstehe jedoch nicht, warum ein Upgrade coreutilsirgendetwas kaputt machen würde. Es werden keine Systembibliotheken bereitgestellt, nur verschiedene ausführbare Dateien und AFAIK, sie sind immer abwärtskompatibel.
Terdon
@terdon Ich verstehe dich. Aber ich meine, dass es ein fragiler Teil des Systems ist. Wenn etwas durcheinander kommt, bist du verloren.
Eduardo Cola
@EduardoCola, Sie können vergessen oder etwas, Sie verdienen die Anerkennung. Aber wenn Sie keine Antwort veröffentlichen möchten, erlauben Sie dem Solyaristen, eine Antwort zu veröffentlichen?
user.dz

Antworten:

9

Sie können Coreutils für die Verwendung außerhalb des Systems herunterladen, kompilieren und in einem benutzerdefinierten Verzeichnis installieren.

Als root ausgeführt, habe ich die folgenden Befehle verwendet, um Version 8.27 in / root / coreutils zu installieren

cd /root
wget http://ftp.gnu.org/gnu/coreutils/coreutils-8.27.tar.xz && tar xf coreutils-8.27.tar.xz
export FORCE_UNSAFE_CONFIGURE=1
cd /root/coreutils-8.27 && ./configure \
        --prefix=/root/coreutils            \
        --libexecdir=/root/coreutils/lib    \
        --enable-no-install-program=kill,uptime && make && make install

Sie können den Befehl dann unter Verwendung des absoluten Pfads der installierten Binärdateien ausführen.

 $ /root/coreutils/bin/dd

Aktualisieren Sie die wget-URL, um die gewünschte Version zu verwenden. Coreutil-Versionen finden Sie hier http://ftp.gnu.org/gnu/coreutils/

Codewithcheese
quelle