netatalk
내 Raspberry Pi의 다소 오래된 버전을 대체하기 위해 소스에서 최신 버전(3.1.8)을 컴파일했습니다 .
이것은 매우 성공적이었고 다른 Raspberry Pi에서 이 버전을 사용하고 싶지만 모든 dev
라이브러리를 다운로드하고 다시 컴파일하는 것은 과도한 것 같습니다.
man
컴파일된 버전과 해당 파일 conf
등을 다른 시스템에 복사하는 프로세스가 있습니까 ?
답변1
선행은 이루기가 어렵다~의답변일반적으로 더 나은 접근 방식이지만 netatalk
이 경우에는 패키지를 최신 버전으로 업그레이드하는 것이 더 적절해 보입니다.복잡한(적어도 유통의 경우에는).
이제 로컬로 빌드된 버전이 설치되었으므로 netatalk
다음 방법을 사용하는 것이 좋습니다( netatalk
라는 디렉터리에 압축을 풀고 netatalk-3.1.8
거기에서 빌드하고 설치했다고 가정합니다).
tar
소스 코드(및 소스 트리에 내장된 바이너리)를 실행합니다.- 타르볼을 다른 Raspberry Pi에 복사합니다.
- 다른 라즈베리 파이에 설치
checkinstall
타르볼을 추출합니다. 설치 바이너리 사용
checkinstall
checkinstall -D make install
(처럼
root
).
-dev
마지막 단계에서는 사전 빌드된 소스에서 복사한 바이너리를 첫 번째 Raspberry Pi(패키지 필요 없음 )에 설치하고 .deb
이 바이너리에서 패키지를 빌드합니다. 그런 다음 .deb
패키지를 다른 Raspberry Pi 시스템에 복사 할 수 있습니다 .
필요한 라이브러리가 누락된 경우 이것이 얼마나 유용한지 잘 모르겠습니다. 따라서 ldd
먼저 첫 번째 Raspberry Pi에서 바이너리를 실행하고 두 번째 Raspberry Pi에 해당 lib...
패키지가 설치되어 있는지 확인하는 것이 좋습니다( !).-dev
하나 있다더 간단한 변형netatalk
Makefile
작업 대상이 있는 경우 uninstall
: 이 경우 첫 번째 Raspberry Pi에서
- 설치하다
checkinstall
; 제거
netatalk
:make uninstall
다음 명령을 사용하여 다시 설치하십시오
checkinstall
.checkinstall -D make install
이렇게 하면 필요한 라이브러리가 설치되어 있고 생성된 라이브러리에 .deb
적절한 종속성이 있어야 한다는 것을 알 수 있습니다.
만약에checkinstall
작동하지 않습니다, 항상 미리 빌드된 tarball 메서드가 있습니다:
tar
소스 코드(및 소스 트리에 내장된 바이너리)를 실행합니다.- 타르볼을 다른 Raspberry Pi에 복사합니다.
- 모든 Raspberry Pi에서 실행됩니다
make install
. - 모든 것이 제대로 작동하려면 별도로 설치해야 하는 라이브러리를 기록해 두세요.
답변2
yum
이것이 바로 , , 와 같은 dpkg
패키징 도구가 사용되는 이유입니다. rpm
저는 Rasbian 사용자가 아니며 netatalk가 시스템 패키지로 사용 가능한지 모르겠습니다(확인 중...것 같다).
- 가능하다면 그것이 첫 번째 기항지가 될 것입니다.
- 사용 가능하지만 버전이 너무 오래된 경우 패키지 관리자에게 연락하여 업데이트를 요청합니다.
- 사용할 수 없거나 관리자에게 연락하고 싶지 않다면 Rasbian이 사용하는 패키지 관리 시스템(데비안 패키지인 것 같습니다)을 사용하여 패키지를 빌드하는 것을 고려할 수 있습니다.이것은 가이드입니다에 대한
dpkg
및이건 또 다른 거야라트비아 링크그들만의 페이지.
바이너리 패키지를 사용하지 않는다는 것은 모든 파일이 설치된 위치를 직접 추적하고 어떻게든 패키지한 다음 tar 파일의 압축을 풀어도 대상의 내용을 덮어쓰지 않기를 바라야 함을 의미합니다. 이는 패키지 관리 도구가 수행하는 모든 작업입니다(종속성 충족 확인 등).
Rasbian은 사용자 참여에 의존하는 소규모 배포판인 것 같으니 패키지 관리자와의 친근한 대화를 나누는 것이 좋을 것 같습니다.