Linux에서 항목을 어디에 넣을지 어떻게 알 수 있나요?

Linux에서 항목을 어디에 넣을지 어떻게 알 수 있나요?

Windows에 무언가를 설치하려면 버튼만 클릭하면 됩니다. 하지만 APT에 없는 것을 Linux에 설치하려고 할 때마다 혼란스럽습니다.

압축된 폴더를 다운로드하면 어떻게 되나요? 운이 좋으면 readme 파일이 있고 일부 문서를 참조할 수 있으며 운이 좋으면 도움이 될 수도 있습니다.

APT에 없는 확장 프로그램과 애플리케이션을 "설치"하는 방법에 대한 팁이 있습니까?

나는 리눅스를 좋아하지만 이 문제가 매일 나를 괴롭힌다.

답변1

다음 규칙을 따르는 소프트웨어인 경우파일 시스템 계층 표준/usr/local적절한 하위 디렉터리(예 bin: lib, , share, ...) 에 넣어야 합니다 .

다른 소프트웨어는 자체 디렉토리에 배치해야 합니다 /opt. 그런 다음 PATH변수를 포함 bin디렉터리 또는 실행 파일을 저장했거나 /usr/local/bin.

답변2

이 질문에 대한 쉬운 대답은 없지만 작동 방식에 대한 개요를 알려드릴 수 있습니다.

대부분의 Linux 소프트웨어는 작성자("업스트림")가 소스 코드 형식으로 제공합니다. 이를 통해 특정 플랫폼 및 시스템 구성에 적합한 컴파일러를 사용하는 모든 사람이 소스 코드를 다운로드하고 직접 컴파일할 수 있습니다. 불행하게도 많은 프로그램은 다른 프로그램과 소프트웨어 라이브러리(종속성)에서 제공하는 기능에 의존합니다.

Windows 소프트웨어는 일반적으로 미리 컴파일된 형태로 제공됩니다. 즉, 모든 Windows 시스템에 대한 공통 실행 파일이 있으며 종속성은 일반적으로 설치 패키지에 포함됩니다.

Linux 배포판은 소스 코드를 가져와 사전 컴파일한 후 소프트웨어 패키지로 제공합니다. 패키지에는 종속성이 포함되어 있지 않지만 종속성을 참조하고 패키지 시스템이 이를 설치하도록 강제합니다(경험한 것처럼 이로 인해 혼란이 발생할 수 있음).

미리 컴파일된 패키지가 없으면 언제든지 소스 코드를 다운로드하여 직접 컴파일할 수 있습니다. 대부분의 경우 다음이 작동합니다.

./configure
make
(sudo) make install (or sudo checkinstall)

./configure 라인은 컴파일 프로세스의 단계를 설정합니다(종속성이 충족되지 않으면 오류가 발생합니다). make 라인은 프로그램의 모든 부분을 컴파일하는 스크립트인 Makefile을 실행합니다.

일반적으로 소프트웨어를 설치하려면 make install을 사용합니다. 일반적으로 실행 파일은 /usr/local/bin에 저장됩니다.

apt를 사용하고 있으므로 checkinstall을 사용하는 것이 좋습니다. .deb 패키지를 생성하는 make install 대신 이것을 사용할 수 있습니다. 이렇게 하면 나중에 소프트웨어를 완전히 제거하기가 더 쉬워집니다.

cmake와 같은 다른 컴파일 시스템도 있습니다. 일부 소프트웨어는 미리 컴파일되어 있지만 패키지로 제공되지는 않습니다(이 경우 압축을 푼 폴더에서 직접 실행할 수 있음). 일부 소프트웨어는 스크립트 모음으로 제공됩니다. 예, 실행해야 합니다. 당신 자신. SVN에서 오는 새 코드에는 구성 스크립트가 없는 경우가 있으므로 먼저 autoconf 툴체인을 실행해야 합니다... 어쩌구 저쩌고... 이 규칙에 대한 많은 예외를 발견할 수 있지만 약간의 경험을 통해 가장 신비한 다운로드를 처리하는 방법을 알려줄 수 있습니다. 구성-확인-설치가 좋은 시작입니다.

추신. 한두 주말 정도 시간을 내어 스스로 프로그래밍하는 방법을 배우면 상황이 매우 명확해질 것입니다. :-)

폴리페닐렌 설파이드. Linux 소프트웨어 작성자가 소스 코드 대신 미리 컴파일된 패키지를 제공하지 않는 이유가 궁금할 것입니다. 글쎄요, 가끔 그렇죠. 그러나 다양한 플랫폼과 Linux 배포판에는 고유한 패키지 형식과 파일 시스템 규칙이 있으므로 개발자는 가능한 모든 구성에 대해 패키지를 제공해야 합니다. 이는 매우 힘든 일입니다. Ubuntu 패키지는 일반적으로 가장 쉽게 찾을 수 있습니다. PPA가 무엇인지, 어떻게 작동하는지 알아야 합니다!

답변3

당신은 그것을 확인해야합니다설치 확인. 바꾸다

./configure
make
sudo make install

당신은 그렇습니다

./configure
make
sudo checkinstall

apt를 통해 설치한 것처럼 패키지를 관리할 수 있습니다.

답변4

이것이 너무 혼란스럽고 성가신 인공물 이유인 타당하고 합법적인 이유가 있습니다...

Unix는 다중 사용자의 역사를 가지고 있으며 대부분의 사용자는 특정 액세스 권한이 부여된 영역 외부에 응용 프로그램을 설치할 권한이 없습니다.

따라서 이론은 홈 디렉토리에 무언가를 만든 다음 이를 제어하는 ​​영역(자신의 프로젝트 영역 또는 공유 영역)에 복사한다는 것입니다.

Windows PC는 일반적으로 단일 사용자 시스템이므로 이러한 제한이 없습니다. 어쨌든 모든 것이 프로그램 파일에 있습니다.

또한 새로운 버전의 Unix가 나올 때마다 제작자는 위치를 변경할 필요성을 느끼지만 자동화 스크립트를 위해서는 이전 위치가 여전히 존재해야 한다는 어리 석고 짜증나는 사실도 있습니다. 이는 동일한 목적을 가진 여러 개의 연결된 디렉토리를 제공합니다.

초기화 시스템은 훨씬 더 나쁩니다.

관련 정보