LINUX의 상위 버전 RPM에서 소프트웨어 패키지를 제거한 후 빈 디렉토리가 남습니다.

LINUX의 상위 버전 RPM에서 소프트웨어 패키지를 제거한 후 빈 디렉토리가 남습니다.

RPM 버전 4.8.0:

[root@sdl34815 x8664]# rpm -ivh tmfi1700-17.00.00.00.rpm
Preparing...         ########################################### [100%]
   1:tmfi1700        ########################################### [100%]
[root@sdl34815 x8664]# rpm -ev tmfi1700
[root@sdl34815 x8664]# ls /opt/manoj
ls: cannot access /opt/manoj: No such file or directory

RPM 버전 4.11.2:

sdl34817:/opt/BASE/Packages/Linux/x8664 # rpm -ivh tmfi1700-17.00.00.00.rpm
Preparing...                   ################################# [100%]
Updating / installing...
   1:tmfi1700-17.00.00.00-1    ################################# [100%]
sdl34817:/opt/BASE/Packages/Linux/x8664 # rpm -ev tmfi1700
Preparing packages...
tmfi1700-17.00.00.00.rpm
sdl34817:/opt/BASE/Packages/Linux/x8664 # ls -R /opt/manoj
/opt/manoj:
client:
/opt/manoj/client:
17.00
/opt/manoj/client/17.00:

rpm -qlvp tmfi1700-17.00.00.00.rpm다음을 제공합니다:

drwxr-xr-x 2 root root 0 Jan 24 2019 /opt/manoj
drwxr-xr-x 2 root root 0 Jan 24 2019 /opt/manoj/client
drwxr-xr-x 2 root root 0 Jan 24 2019 /opt/manoj/client/17.00
drwxr-xr-x 2 root root 0 Jan 24 2019 /opt/manoj/client/17.00/lib64

답변1

이는 버전 때문이 아닙니다 rpm. 패키징할 때 어떤 파일과 폴더를 포함할지 결정해야 합니다. 다음을 사용하는 경우:

%files
/opt/manoj/*

그러면 패키지는 해당 디렉터리의 모든 파일을 소유 /opt/manoj하지만 디렉터리 자체는 소유하지 않습니다 /opt/manoj. 그럼 당신은 사용해야합니다

%files
/opt/manoj

이렇게 하면 패키지가 해당 /opt/manoj디렉터리(및 그 아래의 모든 항목)를 재귀적으로 소유하게 됩니다.

관련 정보