Myślałem o zaprzestaniu używania GNU Coreutils na moich systemach Linux, ale szczerze mówiąc, w przeciwieństwie do wielu innych komponentów GNU, nie mogę wymyślić żadnych alternatyw (w systemie Linux) . Jakie są alternatywy dla rdzeni GNU? czy potrzebuję więcej niż jednej paczki? Odnośniki do projektu są koniecznością, dodatkowe punkty za nadawanie nazw pakietom dystrybucyjnym.
Nie sugeruj też żadnych rzeczy, chyba że wiesz, że działają one w systemie Linux i możesz zapoznać się z instrukcjami. Wątpię, czy wkrótce zmienię jądra i jestem zbyt leniwy, by cokolwiek wykraczać poza proste ./configure; make; make install
. Na pewno nie zamierzam za to zhakować C.
ostrzeżenie: jeśli twoja dystrybucja używa coreutils, usunięcie ich może zakłócić funkcjonowanie twojej dystrybucji. Jednak nie posiadanie ich jako pierwszych $PATH
nie powinno niszczyć, ponieważ większość skryptów powinna używać ścieżek bezwzględnych.
Odpowiedzi:
busybox
ulubieniec systemów Embedded Linux.Dowolną nazwę coreutil można ustawić jako link do pliku binarnego busybox i będzie działać. możesz także uruchomić
busybox <command>
i to zadziała. Przykład: jeśli korzystasz z Gentoo i jeszcze go nie zainstalowałeśvi
, możesz uruchomićbusybox vi filename
i będziesz w vi. JegoArch Linux - społeczność / busybox
Gentoo Linux - sys-apps / busybox
Alpine Linux - oparty na BusyBox i uClibc, oto przegląd
źródło
Rozumiem, że to starszy temat. Jednak to rozwiązanie nigdy nie zostało wspomniane i jest stosunkowo wysoko w Google dla „Linux z bsd userland”.
Istnieje inne rozwiązanie: pamiątka. Wiem, że działa na Arch i jest spakowany w AUR (patrz na przykład gnu2sysv). Spowoduje to zastąpienie pakietu coreutils Archa i zapewni równowartość dziedzictwa. O całej rzeczy możesz przeczytać na wiki arch: https://wiki.archlinux.org/index.php/Base2heirloom
źródło
Sprawdź uutils .
Jest to wieloplatformowa implementacja jądra GNU napisana w Rust. Jest na licencji MIT. W chwili pisania tej odpowiedzi nie jest w 100% kompletna (brakuje niektórych kluczowych, takich jak
ls
icp
), ale wiele innych jest już zrobionych.źródło
Podejrzewam, że trudno ci było pozbyć się GNU Coreutils, jednak zawsze istnieją równoważne narzędzia BSD, chociaż nie są one zastępczymi narzędziami GNU.
źródło
Zwykle, gdy ktoś chce uciec od czegoś, co jest szeroko stosowane, dobrze przetestowane, zweryfikowane na wielu platformach, jest to zewnętrzny wyraz podstawowego problemu zwanego „zapachem kodu” i niekontrolowanego narastania „długu technicznego” lub „kodu” dług". Archiwum GNU narosło przez lata dość dużą liczbę długów kodu, a gdy baza kodów nie jest odpowiednio utrzymywana, może osiągnąć punkt krytyczny (starszy kod, a nawet chorobliwy starszy kod).
Zwykle w pewnych odstępach czasu przeprowadzano by proces przebudowy i refaktoryzacji, aby utrzymać to pod kontrolą. Tak więc, prawdziwe pytanie, które tu postawiono, dotyczy tego, czy opracowano przebudowaną wersję coreutils. Obejmuje to oczywiście możliwość bezpośredniej wymiany (w specjalnym przypadku) - podobnie jak Wayland jest przeznaczony dla X ... wielu jego programistów wychodzących prosto z obozu X.
Moją propozycją jest faktyczne wejście i refaktoryzacja coreutils. Ktoś musi to zrobić. I ktokolwiek podnosi kwestię zastąpienia Coreutils - Twój pomysł Twój projekt.
W tym celu wykorzystaj dostępną automatyzację: silniki refaktoryzujące, takie jak cscout, lub wszystko, co stosuje bardziej zaawansowane metody analizy / syntezy (np. Formalne sieci koncepcji). Ale dogłębna analiza jest wciąż stosunkowo nowym i otwartym obszarem aktywnych badań - i przenosi się na sztuczną inteligencję. (Inżynier oprogramowania robotów.)
Większość programów narzędziowych powinna już mieć zainstalowane zestawy testowe, więc sprawdzanie poprawności można przeprowadzić za pomocą stopniowej zmiany krokowej + etapów automatycznego testowania regresji; które mogą iść dość szybko (np. 10 lub więcej aktualizacji wersji dziennie). Komplikacja tego procesu występuje, jeśli gdziekolwiek w pakiecie oprogramowania występują zależności sprzętowe lub programowe niskiego poziomu; ponieważ wymaga to weryfikacji na wielu platformach. Niewiele wiem o tym w coreutils; powinno być w nim coś w rodzaju separacji od warstw sprzętowych lub oprogramowania niskiego poziomu (np. liczba miejsc, w których coreutils wie, jaki typsystemu plików, na którym jest włączony, powinien być minimalny, a najlepiej zerowy.) Emulatory i maszyny wirtualne, przeznaczone do testowania na wielu platformach, mają ograniczenia. Na przykład Mac OS X został specjalnie zaprojektowany w taki sposób, aby utrudniać emulację lub VM.
źródło
Solaris (od svn_140-coś) również byłby opcją.
Jeśli używasz dystrybucji, jesteś szalony. Przestań. Szukaj pomocy psychiatrycznej.
Jeśli używasz LFS , włącz się! Baw się dobrze!
Jeśli robisz dystrybucję, oklaskuję twoją odwagę.
źródło