SLES15 SP4 | "/usr/lib/1sb/install _initd: 해당 파일 또는 디렉터리 없음"으로 인해 %post 스크립트가 실패하면 rpm 패키지 설치가 실패함

SLES15 SP4 | "/usr/lib/1sb/install _initd: 해당 파일 또는 디렉터리 없음"으로 인해 %post 스크립트가 실패하면 rpm 패키지 설치가 실패함

.specrpm 설치 파일이 있습니다 . 설치 후 다음 코드 조각이 있습니다(%post 스크립트릿).

%post -n %{package_name}
# Enable the service at boot time
%if %{?suse_version:1}0
  /usr/lib/lsb/install_initd %{_initrddir}/%{package_name}
%else
  chkconfig --add %{package_name}
%endi

설치 후 단계 에서 zypper install package_name다음 오류로 인해 실패합니다.

/var/tmp/rpm-tmp.Z5R29N: line 2: /usr/lib/1sb/install _initd: No such file or directory
warning: %post (package_name.sles15.x86_64) scriptlet failed, exit status 127

rpm용 .spec 파일을 처음 사용하지만 /usr/lib/lsb/SLES 15 SP4에 디렉터리가 없기 때문에 이 스크립렛이 실패합니다.

내 질문은 다음과 같습니다

  1. 이 스크립트는 정확히 무엇을 하고 있나요?
  2. /lsb/SLES 15 SP4에서 이 경로를 생성할 수 있도록 이 패키지를 어디서 구할 수 있습니까 ? SLES 15 SP4에 lsb-xxx 패키지가 사전 설치되어 있는지 확인했지만 여기서는 작동하지 않습니까?
  3. 이 스크립틀릿 내에서 sles 15 SP4에 대한 사례 확인을 수행해야 합니까? 좋다:
%if 0%{?sle_version} == 150400 && 0%{?is_opensuse}
// do somthing
%endif

답변1

이 사양은 매우 구식입니다.

이 스크립트는 정확히 무엇을 하고 있나요?

이 코드 조각이 하는 일은 init.d다음 위치에 스크립트를 설치하는 것입니다.sysv-init, 시작 시 서비스를 시작합니다.

SLE 12 이후 SUSE(및 전환된 대부분의 다른 배포판)는systemd, init.d완전히 구식이며 서비스로 전환이 보장됩니다.

SLES 15 SP4에서 이 경로를 생성할 수 있도록 이 /lsb/ 패키지를 어디서 구할 수 있습니까? SLES 15 SP4에 lsb-xxx 패키지가 사전 설치되어 있는지 확인했지만 여기서는 작동하지 않습니까?

할 수 없습니다. 현재 서비스를 시작하고 관리하는 이러한 방법에 대한 지원은 매우 제한적입니다. 그 중 하나는 다음과 같습니다.systemd-sysv-generatorsystemd, 이것은 솔루션이지만 이것이 중요한 소프트웨어라면 기본 솔루션을 사용하겠습니다.

chkconfig하지만 해당 코드 조각은 SLES 15에서 실행되지 않으며 실행될 수 없기 때문에 완전히 다시 작성해야 합니다.

이 스크립틀릿 내에서 sles 15 SP4에 대한 사례 확인을 수행해야 합니까? 좋다:

여전히 지원을 받고 SLE < 12있으며 기존 방식을 유지해야 한다면 그렇게 할 수 있습니다.


네이티브로 만들고 싶다면 다음을 수행해야 합니다.

  • 설치하려는 스크립트를 찾으세요.
  • 이 스크립트를 참조로 사용하여시스템 서비스 단위 파일
  • 소스가 있고 수정할 수 있으면 소스에 추가하세요. 수정할 소스 코드가 없으면 빌드 시 패치해야 합니다.
  • 해당 조각을 제거하고 따르십시오.가이드(openSUSE에서, SLE에서는 잘 작동함) 이것을 코드에 구축하세요

%if 0%{?sle_version} == 150400 && 0%{?is_opensuse}

참고로 이는 openSUSE Leap 15.4에만 일치하고 SLE 15.4에는 일치하지 않는 조건입니다. Leap과 SLE는 동일하므로 문제가 되지 않지만 의외일 수도 있습니다.

관련 정보