설치 프로그램에 대한 질문 - cmake/make v/s 매뉴얼(?)

설치 프로그램에 대한 질문 - cmake/make v/s 매뉴얼(?)

현재 Ubuntu 17을 사용하고 있지만 이는 모든 Linux 운영 체제에 적용됩니다.

여러 번 설치하기 위해 tarball로 압축된 응용 프로그램을 접했습니다. 이런 사람을 처음 만났을 때 나는 지금 아는 것보다 훨씬 더 많은 것을 알고 있었습니다. 그 당시 나는 터미널 에 간단히 입력하여 ./executable프로그램을 실행할 수 있을 때까지 파일을 만지작거렸습니다. 이 형식의 프로그램을 사용할 때마다 내가 한 일은 폴더를 다른 폴더로 이동하여 /usr/local/lib(폴더를 막지 않도록) 모든 실행 파일과 응용 프로그램 정보가 포함된 파일을 만드는 것이었습니다 .desktop./usr/share/applications

오늘 앞서 언급한 대로 설치한 응용 프로그램을 발견했는데 설치 프로세스는 다음 명령을 실행하는 것이었습니다.

cd program_folder_to_install 
mkdir build
cd build
cmake -(options)

이 두 프로그램은 어떻게 다른가요? 내가 알 수 있는 한, 내가 설치한 방식은 잘 작동한다.

내가 설치한 프로그램이 실제로 내 컴퓨터에 설치되어 있나요?

이런 식으로 설치된 다른 모든 앱을 보면 사용 cmake또는 설치 지침이 있는 다른 앱을 찾을 수 있다고 확신 make하지만 차이점을 모르고 다시 돌아가서 이 방법으로 설치해야 하는지 여부를 알 수 없습니다. 그들을.

이에 대한 정보를 제공해 주셔서 감사합니다!

답변1

소프트웨어를 설치하는 방법에는 여러 가지가 있습니다. 일부는 컴파일이 필요하고(C, C++ 및 기타 유사한 언어), 일부는 컴파일이 필요하지 않거나 필요하지 않을 수 있습니다(셸과 같은 스크립트 언어는 컴파일이 필요하지 않으며 Ruby 또는 Perl과 같은 다른 언어는 그럴 수도 있고 그렇지 않을 수도 있습니다). 컴파일이 필요한 비트가 있습니다). 컴파일). 따라서 각 경우에 사용 가능한 문서나 파일을 검토하여 소프트웨어 구축 및 설치 방법을 이해해야 합니다. 주요 시스템은 다음과 같습니다:

  • make소프트웨어 구축 또는 설치에 대한 다양한 규칙이 있는 Makefile또는가 있으며 특정 버전의 make(또는)를 설치해야 할 수도 있습니다.GNUmakefilegmake
  • Autotools 기반 시스템에는 ./configuretarball에 스크립트가 있어야 합니다. 이론적으로는 시스템이 정말 이상하지 않는 한 대부분의 장소에서 작동해야 합니다.
  • 그러나 일부 자동화된 툴킷에는 하나의 세트 configure.ac또는 유사한 파일만 있을 수 있습니다. 실행할 수 있는 스크립트를 autoreconf생성하는 실행 또는 유사한 명령이 필요합니다 ../configure
  • Cmake 기반 시스템에 다양한 관련 명령이 필요 cmake하고 이를 실행해야 한다는 것을 알게 되었습니다.cmake

이것은 완전한 목록이 아닙니다. 소프트웨어를 구축하고 설치하기 위한 다른 시스템이 있을 것이고, 공급업체 패키지 또는 포트 시스템이 있을 것이고, 다양한 스크립팅 언어에는 해당 언어에 대한 모듈을 구축하기 위한 하나 이상의 빌드 시스템이 있을 것입니다. .

관련 정보