내가 아는 것: src.rpm에는 일반적으로 앱/라이브러리/패키지에 대한 일종의 tar 또는 압축된 소스 코드가 포함되어 있습니다. 때때로 사람들은 패키지가 작동하지 않는 경우 소스에서 컴파일하도록 권장합니다.
내가 모르는 것: 왜 소스에서 다시 컴파일하겠습니까? 소스에서 컴파일하려면 무엇이 필요합니까? gcc? xlc?
내가 알고 싶은 것: 가정적으로, src rpm이 있다면 해당 rpm을 Fedora에서 실행하도록 컴파일한 다음 동일한 src rpm을 AIX로 가져와 AIX에서 실행되도록 컴파일할 수 있습니까?
답변1
음, .src.rpm에는 소스 코드가 포함되어 있습니다.그리고다양한 파일과 실행 파일을 복사(설치)해야 하는 위치에 대한 정보입니다.
그렇습니다. Fedora와 AIX 모두에서 소스를 컴파일할 수 있어야 합니다. 그러나 이것이 "rpm을 설치"할 수도 있다는 의미는 아닙니다. 설치는 등 의 다양한 시스템 폴더에 파일을 복사하는 작업으로 구성됩니다 /usr
. /etc
운영 체제에 따라 특정 파일이 다른 위치에 있을 것으로 예상하므로 Fedora용 .rpm이 AIX에 설치될 수 있다는 보장은 없습니다. 실제로 그럴 가능성은 거의 없습니다.
컴파일의 경우 소스에서 컴파일하여 특정 하드웨어에 최적화된 바이너리를 갖거나 특정 라이브러리의 위치와 같은 특정 컴파일 플래그를 활성화할 수 있습니다. 일반적으로 소스에서 컴파일해야 하는 이유를 모른다면 그렇게 해서는 안 됩니다.
컴파일을 선택하는 경우 적절한 컴파일러가 필요합니다. 이는 (다른 것 중에서) gcc
또는 xlc
C나 C++로 작성된 소프트웨어, Java 등일 수 있습니다 javac
. 어떤 것을 사용해야 하는지는 설치하는 소프트웨어와 개인 취향에 따라 다릅니다. 때때로 소프트웨어는 특정 컴파일러를 염두에 두고(컴파일 시 특정 옵션을 사용하여) 작성되었으며 다른 컴파일러로 컴파일하려고 하면 불평을 할 것입니다.
마지막으로 대부분의 *nix 소스 타르볼에는 Makefile과 구성 스크립트가 포함되어 있습니다. 이를 사용하려면 필요한 도구가 필요합니다. 구성 스크립트는 일반적으로 간단한 BLASH 스크립트이므로 BASH가 설치되어 있으면 문제가 없습니다. Makefile을 사용하려면 make
명령이 필요합니다. 또한 필요한 다른 기본 도구(예: autoconf, automake 등)도 있습니다. 나는 수년간 RH 기반 배포판에 대해 작업한 적이 없지만 메모리가 충분하다면 이 명령을 사용하여 필요한 모든 것을 설치해야 합니다.
yum groupinstall "Development Tools"