표준 Linux 명령 행 도구의 소스를 찾는 가장 좋은 곳은 어디입니까? [닫은]

: 소스를 읽음으로써 배우는 것을 좋아합니다. 그러나 많은 다른 프로젝트 사이트에서 인터넷을 통해 검색하는 데 어려움을 겪고 있습니다. 한 곳에서 많은 앱의 소스가있는 중앙 탐색 가능한 리포지토리 를보고 싶습니다 .

  • 누군가가 일부 Linux 도구의 설명서를 찾으려면 가장 좋은 위치는 다음과 같습니다 man toolname.
  • “주문형”Linux 소스를 찾아 보려면 항상 다음으로 이동하십시오. Linux Cross Reference .
  • 가장 일반적인 직원을 찾으려면 Coreutils 에서 모든 소스를 찾을 수 있습니다
    .
  • 무언가를 만드는 방법을 확인하고 싶을 때 (예를 들어) http://www.archlinux.org/packages/ 로 이동하여 pkgbuild인지 확인할 수 있습니다.

대부분의 툴 소스를 한곳에 보유하고있는 레포가 있습니까? – man문서 나 Linux Cross Reference 커널 소스를 보유하고 있는 것처럼 .

나는 물건이 어떻게 구현되는지 검사하는 “빠른” “주문형”을 의미합니다. (예, Google은 알고 있지만 일상에 지쳤습니다. 1. 프로젝트 사이트 검색 2. 저장소 탐색 또는 더 나쁜 탐색-> 저장소 확인 3. 완료되면 삭제)

말:

스트레스를 받고 도구를 확인하고 싶습니다. 신속하고 빠르며 주문형입니다.

의미 : 소스를 살펴보기 위해 소스가있는 전체 앱을 설치하고 싶지 않습니다. (btw. 웹 리소스가 선호되므로 많은 컴퓨터의 소스를 확인할 수 있습니다-모든 컴퓨터에 관리자가 없습니다)



답변

다른 답변으로 귀하의 질문에 답변하겠습니다. GNU 버전뿐만 아니라 전통적인 Unix 명령 행 도구의 코드를 읽고 싶을 것 같습니다. 다른 프로젝트에서 유사한 도구의 코드를 읽는 것은 다른 아이디어와 구현을 배우는 좋은 습관입니다.

GNU는 coreutils의 저장소를위한 멋진 웹 인터페이스를 가지고 있습니다 : http://git.savannah.gnu.org/cgit/coreutils.git

BSD 제품군은 repos와 비슷한 웹 인터페이스를 가지고 있습니다 :

BSD 코드베이스는 일반적으로 동일한 도구에 대해 더 적은 코드를 사용하기 때문에 흥미 롭습니다. 즉, 기존 옵션 만 지원하고 추가 옵션은 지원하지 않으며 sh는 실제 쉘이며 다른 큰 쉘 (bash)에 대한 링크는 아닙니다. bin, sbin, usr.bin 및 usr.sbin 내에 있습니다.

타사 소프트웨어 (아치의 pkgbuild와 유사)를 빌드하기위한 코드를 읽으려는 경우 동일한 웹 인터페이스를 탐색 할 수도 있습니다. NetBSD와 DragonFly는 NetBSD 저장소의 pkgsrc를 사용합니다. OpenBSD와 FreeBSD는 각각의 저장소 내에 이러한 프레임 워크를 가지고 있습니다.

귀하의 목적에 흥미로운 다른 repos는 다음과 같습니다.


답변

오픈 소스 개발을위한 중앙 장소가 없기 때문에 대부분의 오픈 소스 소프트웨어를 포함하는 중앙 저장소는 없습니다. 일부는 GitHub, BitBucket, 개인 서버, Sourceforge, Launchpad 등을 사용합니다. 따라서 이것은 실제로 분산 된 환경이므로 소스를 복사하는 하나의 저장소 만 있으면 즉각적인 이점이 없습니다.

반면 바이너리 배포판 (소스 코드 대신 배송 바이너리)은 일반적으로 대부분의 패키지에 대한 소스를 제공하고 모든 사용자에게 제공합니다. 따라서 가장 좋은 기회는 Distributions에서 제공하는 인프라를 사용하는 것입니다. 최신 변경 사항 및 수정 사항을 반드시 포함 할 필요는 없으며 구식 일 수도 있습니다.

배포판에서 소스 패키지를 다운로드하는 방법의 예 :

yumdownloader --source packagename
apt-get source packagename

Arch의 경우 stackoverflow 에 대한 비슷한 질문대한 답변을 살펴보십시오 .

소스 코드를 다운로드하려면 packages.debian.org를 사용할 수 있습니다 (예 : link for coreutils) . 원본 패키지 ( orig.*또는 일부 패키지의 정리 된 소스)에 대한 다운로드 링크를 제공합니다 dsfg.*. Arch Linux 패키지 목록 (예 : arch coreutils page)으로 동일한 작업을 수행 할 수 있습니다. 는 Download from Mirror패키지를 다운로드합니다.