저는 Linux 시스템에서 GNU Coreutils의 사용을 중단하려고 생각했지만 솔직히 말해서 다른 많은 GNU 구성 요소와 달리 할 수 없습니다. (Linux에서) 대안을 생각해보세요. GNU coreutils에 대한 대안은 무엇입니까? 둘 이상의 패키지가 필요합니까? 프로젝트에 대한 링크는 배포 패키지의 이름을 지정하기위한 필수 보너스 포인트입니다.

또한 Linux에서 작동하고 지침을 참조 할 수있는 알고 항목을 제안하지 마십시오. I 곧 커널을 바꿀지 의심스럽고, 단순한 ./configure; make; make install 이상의 어떤 것도 너무 게으르다. C를 해킹하지 않을 것이다.

경고 : 배포판에서 coreutils를 사용하는 경우이를 제거하면 배포판 기능이 손상 될 수 있습니다. 그러나 대부분의 스크립트는 절대 경로를 사용해야하므로 $PATH에서 첫 번째 항목이되어서는 안됩니다.

댓글

답변

busybox 임베디드 Linux 시스템.

BusyBox는 많은 일반 UNIX 유틸리티의 작은 버전을 하나의 작은 실행 파일로 결합합니다. 일반적으로 GNU fileutils, shellutils 등에서 찾을 수있는 대부분의 유틸리티를 대체합니다. BusyBox의 유틸리티는 일반적으로 모든 기능을 갖춘 GNU 사촌보다 옵션이 적습니다. 그러나 포함 된 옵션은 예상되는 기능을 제공하며 GNU와 매우 유사하게 작동합니다. BusyBox는 소형 또는 임베디드 시스템에 대해 상당히 완벽한 환경을 제공합니다.

BusyBox는 크기 최적화와 제한된 리소스를 염두에두고 작성되었습니다. . 또한 매우 모듈 식이므로 컴파일 타임에 명령 (또는 기능)을 쉽게 포함하거나 제외 할 수 있습니다. 이를 통해 임베디드 시스템을 쉽게 사용자 정의 할 수 있습니다. 작동하는 시스템을 만들려면 / dev에 일부 장치 노드, / etc에 몇 개의 구성 파일 및 Linux 커널을 추가하기 만하면됩니다.

대부분의 coreutil 이름을 busybox 바이너리에 대한 링크로 만들 수 있으며 작동합니다. busybox <command>를 실행할 수도 있으며 작동합니다. 예 : Gentoo를 사용 중이고 아직 vi를 설치하지 않았다면 busybox vi filename를 실행할 수 있습니다. 그러면 vi에있을 것입니다. .

댓글

  • 배포판에 대한 링크를 사용하여 자유롭게 수정하십시오.
  • 또한 이것은 임베디드에서 가장 좋아하는 것이므로 대안으로 '는 충분하지 않을 것입니다. 내 데스크톱 / 서버 환경을위한 GNU 교체
  • C 해킹을 원하지 않는 경우 ' 유일한 실용적인 솔루션 atm입니다. 그리고 busybox 버전은 표준 준수.

Answe r

이것은 오래된 주제입니다. 그러나이 솔루션은 언급되지 않았으며 “BSD 사용자 영역이있는 Linux”에 대해 Google에서 비교적 높은 순위에 올랐습니다.

또 다른 해결책이 있습니다 : heirloom. Arch에서 작동한다는 것을 알고 있으며 AUR에 패키지되어 있습니다 (예를 들어 gnu2sysv 참조). 이것은 Arch “의 coreutils 패키지를 대체하고 가보에 상응하는 것을 제공합니다. arch”s wiki에서 전체 내용을 읽을 수 있습니다. https://wiki.archlinux.org/index.php/Base2heirloom

답변

답변

GNU Coreutils를 제거하는 데 어려움이있는 것 같습니다. 항상 동등한 BSD 도구이지만 “GNU 도구의 드롭 인 대체품은 아닙니다.

댓글

  • BSD 설치 방법은 무엇입니까? Linux 배포판의 도구는 어디에서 구할 수 있습니까?
  • FreeBSD '의 전체 OS는 CVS를 통해 사용할 수 있습니다. freebsd.org/cgi/cvsweb.cgi/src 그러나 BSD 사용자 영역을 Linux 커널에서 컴파일하는 것은 다소 어려울 수 있습니다. GNU '의 사용자 영역은 GNU '의 사용자 영역 (적어도 처음에는)이 여러 커널간에 이식 가능하도록 구축되었으므로 BSD보다 이식성이 더 높을 수 있습니다.
  • ea PITA, ' 어딘가에서 적어도 한 번은 리눅스 용으로 패키지를 만들 었는지 합리적으로 가능한지 확인합니다.
  • Solaris (140 개부터 사용 가능) 또한 옵션이 될 것입니다. 배포판을 사용하는 경우 미쳤습니다. 지금 멈춰. LFS 를 사용하고 계시다면 계속 진행하세요! 즐기세요! 배포판을 제작하신다면 용감한 선생님 께 박수를 보냅니다.
  • 예, 저는 ' 잘 모르겠습니다. '도 가능합니다. ' FreeBSD를 설치하고 Linux 호환성을 활성화하는 것이 더 쉬울 것입니다. FreeBSD에서 GNU coreutils를 쉽게 작동시킬 수 있지만 그 반대는 아닙니다.

Answer

보통, 누군가가 “광범위하게 사용되고, 잘 테스트되고, 많은 플랫폼에서 검증 된 무언가로부터 벗어나도록 요구할 때, 그것은”코드 냄새 “라고 알려진 근본적인 문제의 외적인 표현과”기술적 부채 “의 통제되지 않은 축적 또는 “코드 부채”. GNU 아카이브는 수년 동안 상당히 많은 양의 코드 부채를 쌓아 왔으며 코드베이스가 제대로 유지되지 않으면 중단 점에 도달 할 수 있습니다 (레거시 코드, 심지어 병적 레거시 코드).

일반적으로 ,이를 제어하기 위해 일정 간격으로 리엔지니어링 및 리팩토링 프로세스를 수행합니다. 그래서 여기서 제기되는 진짜 질문은 coreutils의 리팩토링 된 버전이 개발되었는지 여부입니다. 물론 이것은 (특별한 경우로) 완전히 교체 될 가능성을 포함합니다. Wayland가 X … 많은 개발자들이 X 캠프에서 곧바로 나옵니다.

제 제안은 실제로 coreutils에 들어가 리팩토링하는 것입니다. 누군가는해야합니다. 그리고 누구든지 coreutils를 교체하는 문제를 제기합니다. 여러분의 프로젝트 아이디어입니다.

이를 위해 cscout과 같은 리팩토링 엔진 또는 고급 분석 / 합성 방법을 적용하는 모든 것 중에서 찾을 수있는 자동화를 활용하십시오. (예 : 공식적인 개념 격자). 그러나 심층 분석은 여전히 비교적 새롭고 활발한 연구 분야이며 인공 지능으로 넘어갑니다. (로봇 소프트웨어 엔지니어.)

대부분의 유틸리티에는 이미 테스트 도구 모음이 있어야하므로 점진적 단계적 변경 + 자동화 된 회귀 테스트 단계로 유효성 검사를 수행 할 수 있습니다. 매우 빠르게 진행될 수 있습니다 (예 : 하루에 10 개 이상의 개정 업데이트). 소프트웨어 제품군에 하드웨어 또는 낮은 수준의 소프트웨어 종속성이있는 경우이 프로세스가 복잡해집니다. 여러 플랫폼에서 유효성 검사가 필요하기 때문입니다. coreutils에 있다는 사실을 많이 알지 못합니다. 하드웨어 또는 저수준 소프트웨어 계층과는 일종의 분리가 있어야합니다 (예 : coreutils가 유형 을 알고있는 위치의 수). 파일 시스템은 최소한이거나 0이어야합니다.) 다중 플랫폼 테스트를 위해 사용하는 에뮬레이터와 가상 머신에는 한계가 있습니다. 예를 들어 Mac OS X는 기능을 방해하는 방식으로 특별히 설계되었습니다. 에뮬레이션 또는 VM.

Answer

Solaris (svn_140-something 기준)도 옵션입니다.

배포판을 사용하는 경우 미쳤습니다. 지금 중단하고 정신과의 도움을 받으십시오.

LFS 를 사용하는 경우, 즐기세요!

배포판을 제작하시는 분께 박수를 보냅니다.

댓글

  • 이 ' " 사용할 수있는 배포 "에 대한 질문이 아닙니다.

    opensolaris coreutils를 언급하지 않는 이상 '? 또한 이것은 FreeBSD 옵션보다 PITA가 적습니까?

  • OpenSolaris의 소스 코드는 단지 Solaris입니다. svn_14x까지의 Solaris 소스 코드는 CDDL에 따라 Sun / Oracle에 의해 릴리스되었습니다. 기본적으로 Unix 사용자 영역에는 세 가지 주요 유산이 있습니다." 유 네틱 " Unix (Solaris, AIX, True64 등, AT에서 제공됨 & T 코드는 거의 닫혀 있지만 Solaris는 한동안 열려있었습니다), BSD (4.4-lite 기준으로 드디어 ' s 소유) 및 GNU. 그러나 저는 GNU에서 벗어나는 것이 BSD 나 Solaris를 사용하는 것과 똑같이 어렵거나 쉬울 것이라고 생각합니다. 아니면 정말 야심 차게 xenocore-utils를 만들 수 있습니다;-)

답글 남기기

이메일 주소를 발행하지 않을 것입니다. 필수 항목은 *(으)로 표시합니다