Jak zaktualizować Coreutils z 8.21 do 8.24 w systemie Linux Ubuntu 14.04?

8

Chcę użyć opcji statusu „ postęp ” z dd, która jest dostępna z Coreutils 8.24 w górę. Ubuntu 14.04 (Trusty) ma coreutils 8.21, a bieżąca (stabilna) wersja dla coreutils to> 8,24.

Chcę uaktualnić z wersji 8.21 do 8.24 w tym samym systemie i po przeszukaniu Internetu przekonałem się, że najprawdopodobniej musiałbym zbudować pakiet ze źródła. Ale żyjąc w Ubuntu przez cały czas w moim krótkim życiu komputerowym, nigdy nie zbudowałem pakietu ze źródła i nie mam pojęcia, jak to zrobić. Nie jestem również pewien, czy aktualizacja coreutils bez „pozwolenia” Ubuntu nie spowodowałaby awarii systemu z powodu pewnych problemów z zależnościami dla innych narzędzi.

Czy można zaktualizować Coreutils bez wpływu na mój obecny system Ubuntu? Czy ktoś mógłby wskazać sposób, w jaki można to osiągnąć?

solyarist
źródło
2
Może to nawet możliwe, ale nie polecam tego zrobić. To dlatego, że coreutilsjest bardzo wrażliwą i podstawową częścią systemu. Jeśli chcesz tę nową ddfunkcję, możesz skompilować sam plik dd i umieścić go w osobnym katalogu. Następnie możesz go uruchomić, podając bezwzględną ścieżkę. W ten sposób utworzysz piaskownicę.
Eduardo Cola,
@EduardoCola ten pomysł piaskownicy jest niesamowity. Nigdy o tym nie myślałem. Wielkie dzięki!
solyarist
@EduardoCola możesz równie dobrze udzielić odpowiedzi. Nie rozumiem jednak, dlaczego aktualizacja coreutilsmiałaby coś zepsuć. Nie zapewnia żadnych bibliotek systemowych, tylko różne pliki wykonywalne i AFAIK, zawsze są one kompatybilne wstecz.
terdon
@terdon Rozumiem cię. Ale mam na myśli to, że jest to delikatna część systemu. Jeśli coś się popsuło, jesteś zgubiony.
Eduardo Cola,
@EduardoCola, możesz zapomnieć lub coś, zasługujesz na uznanie. Ale jeśli nie zamierzasz opublikować odpowiedzi, czy pozwalasz solyaristowi na opublikowanie odpowiedzi?
user.dz

Odpowiedzi:

9

Możesz pobrać, skompilować i zainstalować coreutils do katalogu zdefiniowanego przez użytkownika do użytku niesystemowego.

Działając jako root, użyłem następujących poleceń, aby zainstalować wersję 8.27 w katalogu / root / coreutils

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

Następnie możesz uruchomić polecenie, używając bezwzględnej ścieżki zainstalowanych plików binarnych.

 $ /root/coreutils/bin/dd

Zaktualizuj adres URL wget, aby używać żądanej wersji. Wersje Coreutil można znaleźć tutaj http://ftp.gnu.org/gnu/coreutils/

Codewithcheese
źródło