새 소스는 기존 소스 위에 설치됩니다.

새 소스는 기존 소스 위에 설치됩니다.

내 컴퓨터에는 Slackware가 설치되어 있고 소스에서 많은 소프트웨어가 설치되어 있습니다. 이제 ffmpeg더 많은 옵션을 사용하여 다시 컴파일하기 위해 소스에서 설치 하고 싶습니다 . 하지만 ffmpeg내 컴퓨터에 이미 설치되어 있는데 어떻게 되나요?

이전 설치를 덮어쓰게 됩니까, 아니면 새 파일을 생성하게 됩니까? 그렇다면 설치된 두 버전을 어떻게 구별합니까?

또한 Slack에서 프로그램을 다시 컴파일하는 더 좋은 방법이 있다면 알려주시기 바랍니다. 매우 관심이 있기 때문입니다.

답변1

configure, make, 루틴을 사용하여 Linux 배포판에 소프트웨어를 설치하는 경우 make install새 버전은대개이전 것을 덮어씁니다. 주의해야 할 유일한 점은 새 버전이 설치 위치나 일부 파일의 이름을 변경하는 경우 컴퓨터에 이전 버전 또는 그 일부가 남아 있을 수 있다는 것입니다.

따라서 Slackware에서는 이런 방식으로 프로그램을 설치하는 것을 권장하지 않습니다. 권장되는 접근 방식은 .txz표준 Slackware 패키지 설치 프로그램을 사용하여 설치할 수 있는 패키지를 만드는 것입니다 . 이는 또한 .NET을 사용하여 패키지를 완전히 제거하거나 새 버전으로 업그레이드할 수 있음을 의미합니다. 패키지를 컴파일하고 생성하기 위한 많은 스크립트(ffmpeg용 스크립트 포함)는 다음에서 찾을 수 있습니다..tgzinstallpkgremovepkgupgradepkgSlack빌드. 동일한 디렉터리의 소스에서 제공된 스크립트를 실행하면 .txz.

대부분의 Slackware 사용자는 비공식 소프트웨어를 설치하기 위해 Slackbuilds를 많이 사용합니다.

답변2

소스 코드(즉, 배포판의 패키지가 아님)를 다운로드하는 경우 일반적으로 컴파일된 소프트웨어를 설치할 위치를 지정할 수 있는 구성 스크립트가 포함됩니다. 일반적으로 기본값은 /usr/local다음 옵션을 사용하여 이 설정을 변경할 수 있습니다.

$ ./configure --prefix=/foo

모든 소프트웨어가 이런 방식으로 수행되는 것은 아니지만 그렇지 않은 경우는 드뭅니다. 배포판은 /usr 아래에 소프트웨어를 설치하므로 시스템에 두 가지 버전이 있다는 의미입니다. ffmpeg를 /opt/ffmpeg에 설치한 경우 바이너리 디렉터리(아마도 /opt/ffmpeg/bin)를 PATH에 추가하기만 하면 됩니다.

소스 코드에 정말로 관심이 있다면 Linux From Scratch 및 Gentoo를 확인해 보세요.

답변3

(설치가 필요하지 않음) 을 사용 make하여 소스 코드를 컴파일하고 테스트할 수 있습니다. 그런 다음 이를 사용하여 make install새 빌드 파일을 시스템에 넣을 수 있습니다 .

관련 정보