Jeg har tænkt på at afbryde brugen af GNU Coreutils på mine Linux-systemer, men for at være ærlig, i modsætning til mange andre GNU-komponenter, kan jeg ikke t tænk på eventuelle alternativer (på Linux) . Hvilke alternativer er der til GNU coreutils? skal jeg bruge mere end en pakke? Links til projektet er et must, bonuspoint for navngivning af distro-pakker.

Du må heller ikke foreslå ting, medmindre du ved de fungerer på Linux og kan henvise til instruktioner. I tvivler på, at jeg snart skifter kerner, og jeg er meget for doven til noget, der er meget mere end en ligefrem ./configure; make; make install. Jeg vil bestemt ikke hacke C for det.

advarsel: hvis din distro bruger coreutils at fjerne dem kan bryde den måde, din distro fungerer på. At ikke have dem først i din $PATH bør dog ikke bryde ting, da de fleste scripts skal bruge absolutte stier.

Kommentarer

  • Nysgerrig, hvorfor leder du efter alternativer?
  • @xeno ” Mere robust ”
  • @xeno Debian bruger faktisk nu EGLIBC , hvilken slags en gaffel af GLibC. Men det følger GLibC nøje, så forskellen er ‘ t så stor.
  • Både Clang og tcc kunne (på en gang alligevel) kompilere Linux-kernen.
  • Der er mennesker, der arbejder på et GNU-brugerland på en BSD-kerne , men jeg har ikke ‘ ikke hørt omvendt. Virkelig at skifte kerner ville være lettere. Du kan prøve det først i en VM, hvis du ‘ er genert.

Svar

busybox favoritten af Indlejrede Linux-systemer.

BusyBox kombinerer små versioner af mange almindelige UNIX-værktøjer i en enkelt lille eksekverbar. Det giver erstatninger for de fleste af de hjælpeprogrammer, du normalt finder i GNU fileutils, shellutils osv. Hjælpeprogrammerne i BusyBox har generelt færre muligheder end deres fuldt udstyrede GNU fætre; Indstillingerne, der er inkluderet, giver dog den forventede funktionalitet og opfører sig meget som deres GNU-kolleger. BusyBox giver et ret komplet miljø til ethvert lille eller indlejret system.

BusyBox er skrevet med størrelse-optimering og begrænsede ressourcer i tankerne . Det er også ekstremt modulært, så du nemt kan inkludere eller ekskludere kommandoer (eller funktioner) på kompileringstidspunktet. Dette gør det nemt at tilpasse dine integrerede systemer. For at oprette et fungerende system skal du blot tilføje nogle enhedsnoder i / dev, et par konfigurationsfiler i / etc og en Linux-kerne.

Du kan stort set gøre ethvert coreutil-navn til et link til optaget binær, og det fungerer. du kan også køre busybox <command>, og det fungerer. Eksempel: hvis du “er på Gentoo og ikke har installeret din vi endnu, kan du køre busybox vi filename, og du vil være i vi . Det “s

Kommentarer

  • du er velkommen til at ændre dette med links til din distro
  • også, dette er en favorit på indlejret, så selvom et alternativ ‘ sandsynligvis ikke vil være nok for at erstatte GNU til mit desktop / servermiljø
  • Dette er den eneste praktiske løsning til pengeautomat, hvis du ikke ‘ ikke vil hacke C. Og optagede boksversioner skal være temmelig standard i overensstemmelse.

Answe r

Dette er et ældre emne, er jeg klar over. Denne løsning blev dog aldrig nævnt og kommer relativt højt op på google for “Linux med bsd userland”.

Der er en anden løsning: arvestykke. Jeg ved, det fungerer på Arch, og det er pakket i AUR (se f.eks. på gnu2sysv). Dette vil erstatte Arch “s coreutils-pakke og give arvestykkeækvivalenterne. Du kan læse om det hele på arch” s wiki: https://wiki.archlinux.org/index.php/Base2heirloom

Svar

Tjek værktøjer .

Dette er en implementering på tværs af platforme af GNU coreutils, der er skrevet i Rust. Det er MIT-licenseret.På tidspunktet for skrivningen af dette svar er det ikke 100℅ komplet (mangler nogle vigtige som ls og cp), men mange andre er færdige.

Svar

Jeg formoder, at du “ville have svært ved at slippe af med GNU Coreutils, men der er altid de ækvivalente BSD-værktøjer, selvom de ikke erstatter drop-in for GNU-værktøjerne.

Kommentarer

  • hvordan ville jeg gå til installation af BSD værktøjer på en Linux-distro? hvor skulle jeg få dem?
  • FreeBSD ‘ hele OS er tilgængeligt via CVS freebsd.org/cgi/cvsweb.cgi/src , men det ville være ret vanskeligt at få BSD-brugerlandet til at kompilere under en Linux-kerne. GNU ‘ s brugerland er sandsynligvis mere bærbar end BSD, da GNU ‘ s brugerland (i det mindste i starten) blev bygget til at være bærbart mellem flere kerner.
  • det lyder som ea PITA, sikker på om det ‘ er rimeligt muligt, at nogen et sted har pakket det mindst én gang til linux.
  • Solaris (fra og med 140-noget er også tilgængeligt) ville også være en mulighed. Hvis du bruger en distro, er du skør. Stop nu. Hvis du bruger LFS , skal du fortsætte! Hav det sjovt! Hvis du laver en distro, bifalder jeg din tapperhed sir.
  • Ja, jeg ‘ er ikke sikker på, at det ‘ det er endda muligt. Det ‘ ville sandsynligvis være lettere at bare installere FreeBSD og aktivere linux-kompatibilitet. Du kan let få GNU-kernemoduler til at fungere under FreeBSD, men ikke omvendt.

Svar

Normalt, når nogen beder om at komme væk fra noget, der “er i udbredt brug, velprøvet, verificeret på mange platforme, er det et ydre udtryk for et underliggende problem kendt som” kodelugt “og den ukontrollerede ophobning af” teknisk gæld “eller “kode gæld”. GNU-arkivet havde opbygget en forholdsvis stor mængde kodegæld gennem årene, og når en kodebase ikke vedligeholdes ordentligt, kan den nå et brudpunkt (ældre kode og endda morbid ældre kode).

Normalt , man ville udføre en proces med re-engineering og refactoring med mellemrum for at holde dette under kontrol. Så det virkelige spørgsmål, der stilles her, er, om der er blevet udviklet en ombygget version af kernerne. Dette inkluderer naturligvis muligheden for en direkte erstatning (som et specielt tilfælde) – ligesom Wayland bliver sat op for at være for X … mange af dets udviklere kommer lige ud af X-lejren.

Mit forslag er faktisk at gå ind og omlægge kerneforbruget. Nogen skal gøre det. Og den, der rejser spørgsmålet om udskiftning af coreutils – din idé dit projekt.

Til dette formål skal du drage fordel af den automatisering, du kan finde: refactoring motorer, som cscout, eller alt, hvad der anvender mere avancerede analyse / syntesemetoder (f.eks. formelle konceptgitter). Men dyb analyse er stadig et relativt nyt og åbent område med aktiv forskning – og krydser over i kunstig intelligens. (En robottesoftwaretekniker.)

De fleste af hjælpeprogrammerne skal allerede have testpakker på plads, så validering kan udføres med progressive trinvise ændringer + automatiserede regressionstesttrin; som kan gå ret hurtigt (f.eks. 10 eller flere opdateringsopdateringer / dag). En komplikation til denne proces opstår, hvis der er hardware- eller softwareafhængigheder på lavt niveau overalt i softwarepakken; da det medfører validering på flere platforme. Jeg ved ikke meget af, at der findes i kernetilbehør. Der bør være en slags adskillelse i det fra hardware eller softwarelag på lavt niveau (f.eks. Antallet af steder, hvor kernetilskud ved, hvad type af filsystem, det er tændt på, skal være minimalt eller bedre, nul.) Emulatorer og virtuelle maskiner, der bruges til at udføre test på flere platforme, har begrænsninger. F.eks. er Mac OS X specielt designet til at forhindre evnen at efterligne eller VM det.

Svar

Solaris (fra og med svn_140-noget) ville også være en mulighed.

Hvis du bruger en distro, er du vild. Stop nu. Søg psykiatrisk hjælp.

Hvis du bruger LFS , rock on! Have det sjovt!

Hvis du laver en distro, bifalder jeg din tapperhed.

Kommentarer

  • dette isn ‘ et spørgsmål om ” hvilken distro ” kan jeg bruge, det

    handler om at erstatte coreutils på Linux. Medmindre du ‘ henviser til opensolaris coreutils? er dette også mindre af en PITA end FreeBSD-indstillingen?

  • Kildekoden til OpenSolaris er bare Solaris. Solaris kildekoden indtil svn_14x blev frigivet af Sun / Oracle under CDDL. Der er grundlæggende tre hovedarv til Unix brugerland.” Genetisk ” Unix (Solaris, AIX, True64 osv., der kom fra AT & T-kode og er stort set lukket, men Solaris var åben i et stykke tid), BSD (som endelig stod på den ‘ s egen fra 4.4-lite) og GNU. Men jeg tror, at det at flytte væk fra GNU vil være lige så svært (eller let) uanset om du går med BSD eller Solaris. Eller du kan blive virkelig ambitiøs og lave xenocore-værktøjer 😉

Skriv et svar

Din e-mailadresse vil ikke blive publiceret. Krævede felter er markeret med *