HP-UX 11.00 시스템에서 이전 패치 제거
문]
HP-UX 11.00 시스템의 /var/adm/sw/save에서 일부 패치 파일을 제거하려고
합니다. 'cleanup' 유틸리티는 11.0 패치가 저장소에 있지 않으면 해당 패치에
대해 작동하지 않습니다.
/var/adm/sw/save/에서 패치 파일을 제거하려면 어떻게 해야 합니까?
구성
운영 체제 - HP-UX
버전 - 11.00
하드웨어 시스템 - HP9000
부속 시스템 - 시스템 관리
답]
cleanup 유틸리티는 10.X에서 11.0으로 업데이트한 다음 이전의 10.X 패치를
제거하는 데는 사용할 수 있지만 패치 저장소를 관리하지 않는 경우 11.0
시스템에 대해서는 사용 범위가 제한됩니다.
/var/adm/sw/save/는 이전에 설치된 패치에서 저장된 파일을 통해서만 전체를
얻을 수 있습니다. 공간에 여유가 있는 경우 이러한 패치를 제거하지 않는 것이 좋습니다. 패치를 제거하면 필요한 경우 시스템을 해당 패치로 롤백할 수 없습니다. 패치를 제거하기 전에 적어도 한 가지 이상의 방법으로 시스템을
백업하는 것이 좋습니다.
다음은 패치를 커밋하는 방법에 대한 설명입니다. 이 내용은 swmodify man
페이지에서 확인할 수 있습니다. 패치를 커밋하여 패치 롤백에 대해 저장한
패치 파일을 제거하려면
swmodify -x patch_commit=true PATCH
/var/adm/sw/save에서 대체된 패치 파일을 모두 제거하려면
1. 대체된 패치의 목록을 표시합니다.
swlist -l patch -a patch_state |grep superseded > /tmp/file
2. vi, awk 또는 cut 명령을 통해 /tmp/file을 수정합니다.
A. 각각의 PHXX.XXXXX를 하나씩만 나열하고 다른 모든 줄을 제거합니다.
B. PHXX.XXXXX 앞에 있는 #을 제거합니다.
C. PHXX_XXXXX 다음에 나오는 내용을 모두 .*로 교체합니다.
예를 들어, edit를 편집한 후 파일은 다음과 같은 형식이어야 합니다.
# more /tmp/file
PHCO_13811.*
PHCO_16345.*
3. 패치를 커밋합니다.
swmodify -x patch_commit=true -f /tmp/file
또는
단일 패치를 제거합니다.
다음은 대체된 패치 PHCO_16405를 제거하는 방법에 대한 예제입니다.
A. swlist -l patch -a patch_state |grep 16405 명령을 실행하여 다음과 같이
출력합니다.
PHCO_16405.ADMN-ENG-A-MAN,l=/,r=1.0,a=HP-UX_B.11.00_32/64,
v=HP,fa=HP-UX_B.11.00_32/64 superseded
PHCO_16405.SYS-ADMIN,l=/,r=1.0,a=HP-UX_B.11.00_32/64,v=HP,
fa=HP-UX_B.11.00_32/64 superseded
PHCO_16405.UX-CORE,l=/,r=1.0,a=HP-UX_B.11.00_32/64,v=HP,
fa=HP-UX_B.11.00_32/64 superseded
#PHCO_16405
#PHCO_16405.ADMN-ENG-A-MAN superseded
#PHCO_16405.SYS-ADMIN superseded
#PHCO_16405.UX-CORE superseded
B. swmodify -x patch_commit=true PHCO_16405.*를 실행하여 swlist 명령에서
볼 수 있는 것과 같이 patch_state를 커밋된 상태로 변경합니다.
swlist -l patch -a patch_state | grep 16405
PHCO_16405.ADMN-ENG-A-MAN,l=/,r=1.0,a=HP-UX_B.11..00_32/64,
v=HP,fa=HP-UX_B.11.00_32/64committed
PHCO_16405.SYS-ADMIN,l=/,r=1.0,a=HP-UX_B.11.00_32/64,v=HP,
fa=HP-UX_B.11.00_32/64 committed
PHCO_16405.UX-CORE,l=/,r=1.0,a=HP-UX_B.11.00_32/64,v=HP,
fa=HP-UX_B.11.00_32/64 committed
#PHCO_16405
#PHCO_16405.ADMN-ENG-A-MAN committed
#PHCO_16405.SYS-ADMIN committed
#PHCO_16405.UX-CORE committed
swmodify 명령을 실행하면 /var/adm/sw/save/PHCO_16405 디렉토리 전체가 더
이상 존재하지 않게 됩니다. 이를 통해 시스템이 해당 패치로 롤백되지 않는
이유를 설명할 수 있습니다.
또 추가로 아래 내용의 문서가 도움이 되실것같아 보내드립니다.
패치 관리에 대한 도움이 필요합니다. 디스크 공간이 더 필요합니다
문]
사용 중인 대부분의 시스템에 /var/adm/sw/patch에 있는 모든 패치를 보관할 수 있는 충분한 공간이 없습니다.
답]
/var/adm/sw/patch에 패치 디렉토리가 있으므로 이 위치에 있는 어떤 데이터도 변경해서는 안됩니다.
제어 스크립트가 저장, 생성 또는 참조하는 모든 데이터는 /var/adm/sw/patch에 격리되어 있습니다.
그러나 다음과 같은 방법으로 디스크 공간을 좀 더 확보할 수 있습니다.
다음은 /var/adm/sw/patch 디렉토리에 있는 파일을 삭제하지 않고 공간을 확보할 수 있는 대안 방법입니다.
1. /var 파일 시스템을 루트 이외의 다른 디스크에 배치하십시오.
주: 이렇게 하면 /var가 계속 증대하므로 유연성이 더 커집니다.
- /var/adm/sw를 별도의 파일 시스템으로 만듭니다.
- /var/adm/sw 파일을 테이프에 백업한 다음 삭제하십시오.
- 테이프 중 하나에 장애가 발생하는 경우를 대비하여 최소 2개의 사본을 만드십시오.
이 파일을 복원할 수 없으면 패치를 swremove할 수 없습니다. 최악의 경우, 중요 운영 체제를
다시 설치해야 합니다.
2. cleanup -t
위 명령은 패치 설치 중에 백업 파일이 저장되는 데 소비되는 디스크 공간을 관리하는 데 사용합니다..
이 모드에서 실행되는 cleanup은 /var/adm/sw/sw*.log에 있는 모든 SD 로그 파일을 간단히 삭제합니다.
이러한 로그 파일은 가장 최근 사용한 5개의 엔트리만 남고 다른 부분은 모두 삭제됩니다.
로그 파일만 삭제할 경우에는 확인 단계가 없습니다.
cleanup -t 명령이 디스크 공간의 재확보를 지원할 수 있는 유일한 방법입니다..
이 명령을 사용하면 로그 파일을 삭제할 수 있습니다..
로그 파일을 삭제하면 대체된 패치 정보도 삭제할 수 있습니다.
cleanup 명령에는 HP-UX 11.X에서 HP-UX 패치를 처리할 때 유용한 두 가지 기능이 있습니다.
- HP-UX 11.X로 업데이트한 후 설치된 제품 데이터베이스에서 모든 10.X 패치를 제거하는 데도 사용합니다.
- 소프트웨어 저장소에 있는 패치 중 동일 저장소에서 사용 가능한 패치로 대체된 패치를 제거하는데도 사용합니다..
11.0으로 업그레이드한 경우 다음과 같이 할 수 있습니다.
1.. cleanup -i 실행
이렇게 하면 설치된 제품 데이터베이스에 포함된 패치가 HP-UX 11.X 업그레이드로부터 남은
10.X 패치인지의 여부를 파악할 수 있습니다.
이러한 패치는 IPD에서 제거되므로 swlist(1M) command.remove 10.20 패치 목록 출력에
더 이상 표시되지 않습니다. (11.0으로 업그레이드한 후 패치에 swremove를 수행하지 마십시오.)
2. cleanup -d 실행
이렇게 하면 소프트웨어 저장소에 있는 패치 중 동일 저장소에서 사용 가능한 다른 패치로
대체된 패치를 파악할 수 있습니다.
대체된 패치는 소프트웨어 저장소에서 제거됩니다.
cleanup -d 명령은 소프트웨어 저장소에 패치를 추가할 때마다 실행해야 합니다.
대체된 패치를 소프트웨어 저장소에서 삭제할 필요는 없지만 삭제하면 디스크 공간을 절약하고
충돌을 방지할 수 있습니다.
대체된 패치가 대체한 패치와 동일한 저장소에 있으면 HP-UX 11.X의 SD-UX가 이 상황을 알맞게 처리합니다.
cleanup 명령을 사용하면 모든 정보가 /var/adm/cleanup.log에 기록됩니다.
업그레이드 후 /var/adm/sw/save의 디스크 공간을 복원하는 데 지원되는 메커니즘은
cleanup 유틸리티를 사용하는 것이 아니라 swmodify(1M)용 patch_commit 옵션을 사용하는 것입니다.
patch_commit=false로 설정하면 이 옵션은 패치 롤백을 위해 저장된 파일을 제거하여 패치를 커밋합니다.
true로 설정하면 패치가 수정한 관련 기본 소프트웨어를 제거하기 전까지는 패치를 롤백(제거)할 수 없습니다.
패치 커밋(패치 롤백을 위해 저장한 파일 제거)
swmodify -x patch_commit=true PATCH
/var/adm/sw/save의 디스크 공간 복원에 지원되는 프로세스는 cleanup 유틸리티를 사용하는 것이 아니라
patch_commit을 사용하는 것입니다.
이렇게 하면 패치 롤백을 위해 저장된 파일을 제거하여 패치를 커밋할 수 있습니다..
패치가 수정한 관련 기본 소프트웨어를 제거하기 전까지는 패치를 롤백(제거)할 수 없습니다.
패치 커밋(패치 롤백을 위해 저장한 파일 제거)
swmodify -x patch_commit=true PATCH
1차 루트에서 운용 중일 경우에는 target_selection을 지정할 필요가 없습니다. (대상 /이 가정됩니다.)
소프트웨어 저장소에서 운용 중일 경우에는 target_selection에 해당 저장소의 경로를 지정합니다.
-d를 지정하고 target_selection은 지정하지 않으면 기본 distribution_target_directory가 가정됩니다.
swmodify -d을 실행하려면 1차 또는 대체 루트 이외의 저장소에서 수정하십시오.
지정한 target_selection은 저장소이어야 합니다.
기본값은 다음에 있습니다.
/var/adm/sw/defaults 시스템 전반에 사용되는 기본값.
distribution_target_directory=/var/spool/sw
대상 저장소의 기본 배포 디렉토리를 정의합니다.
target_selection 피연산자는 이 기본값을 겹쳐 씁니다.
명령 행에 -x 또는 -X 옵션을 사용하여 기본값을 겹쳐 쓸 수도 있습니다.
command -x option=value
command -X option_file
문]
HP-UX 11.00 시스템의 /var/adm/sw/save에서 일부 패치 파일을 제거하려고
합니다. 'cleanup' 유틸리티는 11.0 패치가 저장소에 있지 않으면 해당 패치에
대해 작동하지 않습니다.
/var/adm/sw/save/에서 패치 파일을 제거하려면 어떻게 해야 합니까?
구성
운영 체제 - HP-UX
버전 - 11.00
하드웨어 시스템 - HP9000
부속 시스템 - 시스템 관리
답]
cleanup 유틸리티는 10.X에서 11.0으로 업데이트한 다음 이전의 10.X 패치를
제거하는 데는 사용할 수 있지만 패치 저장소를 관리하지 않는 경우 11.0
시스템에 대해서는 사용 범위가 제한됩니다.
/var/adm/sw/save/는 이전에 설치된 패치에서 저장된 파일을 통해서만 전체를
얻을 수 있습니다. 공간에 여유가 있는 경우 이러한 패치를 제거하지 않는 것이 좋습니다. 패치를 제거하면 필요한 경우 시스템을 해당 패치로 롤백할 수 없습니다. 패치를 제거하기 전에 적어도 한 가지 이상의 방법으로 시스템을
백업하는 것이 좋습니다.
다음은 패치를 커밋하는 방법에 대한 설명입니다. 이 내용은 swmodify man
페이지에서 확인할 수 있습니다. 패치를 커밋하여 패치 롤백에 대해 저장한
패치 파일을 제거하려면
swmodify -x patch_commit=true PATCH
/var/adm/sw/save에서 대체된 패치 파일을 모두 제거하려면
1. 대체된 패치의 목록을 표시합니다.
swlist -l patch -a patch_state |grep superseded > /tmp/file
2. vi, awk 또는 cut 명령을 통해 /tmp/file을 수정합니다.
A. 각각의 PHXX.XXXXX를 하나씩만 나열하고 다른 모든 줄을 제거합니다.
B. PHXX.XXXXX 앞에 있는 #을 제거합니다.
C. PHXX_XXXXX 다음에 나오는 내용을 모두 .*로 교체합니다.
예를 들어, edit를 편집한 후 파일은 다음과 같은 형식이어야 합니다.
# more /tmp/file
PHCO_13811.*
PHCO_16345.*
3. 패치를 커밋합니다.
swmodify -x patch_commit=true -f /tmp/file
또는
단일 패치를 제거합니다.
다음은 대체된 패치 PHCO_16405를 제거하는 방법에 대한 예제입니다.
A. swlist -l patch -a patch_state |grep 16405 명령을 실행하여 다음과 같이
출력합니다.
PHCO_16405.ADMN-ENG-A-MAN,l=/,r=1.0,a=HP-UX_B.11.00_32/64,
v=HP,fa=HP-UX_B.11.00_32/64 superseded
PHCO_16405.SYS-ADMIN,l=/,r=1.0,a=HP-UX_B.11.00_32/64,v=HP,
fa=HP-UX_B.11.00_32/64 superseded
PHCO_16405.UX-CORE,l=/,r=1.0,a=HP-UX_B.11.00_32/64,v=HP,
fa=HP-UX_B.11.00_32/64 superseded
#PHCO_16405
#PHCO_16405.ADMN-ENG-A-MAN superseded
#PHCO_16405.SYS-ADMIN superseded
#PHCO_16405.UX-CORE superseded
B. swmodify -x patch_commit=true PHCO_16405.*를 실행하여 swlist 명령에서
볼 수 있는 것과 같이 patch_state를 커밋된 상태로 변경합니다.
swlist -l patch -a patch_state | grep 16405
PHCO_16405.ADMN-ENG-A-MAN,l=/,r=1.0,a=HP-UX_B.11..00_32/64,
v=HP,fa=HP-UX_B.11.00_32/64committed
PHCO_16405.SYS-ADMIN,l=/,r=1.0,a=HP-UX_B.11.00_32/64,v=HP,
fa=HP-UX_B.11.00_32/64 committed
PHCO_16405.UX-CORE,l=/,r=1.0,a=HP-UX_B.11.00_32/64,v=HP,
fa=HP-UX_B.11.00_32/64 committed
#PHCO_16405
#PHCO_16405.ADMN-ENG-A-MAN committed
#PHCO_16405.SYS-ADMIN committed
#PHCO_16405.UX-CORE committed
swmodify 명령을 실행하면 /var/adm/sw/save/PHCO_16405 디렉토리 전체가 더
이상 존재하지 않게 됩니다. 이를 통해 시스템이 해당 패치로 롤백되지 않는
이유를 설명할 수 있습니다.
또 추가로 아래 내용의 문서가 도움이 되실것같아 보내드립니다.
패치 관리에 대한 도움이 필요합니다. 디스크 공간이 더 필요합니다
문]
사용 중인 대부분의 시스템에 /var/adm/sw/patch에 있는 모든 패치를 보관할 수 있는 충분한 공간이 없습니다.
답]
/var/adm/sw/patch에 패치 디렉토리가 있으므로 이 위치에 있는 어떤 데이터도 변경해서는 안됩니다.
제어 스크립트가 저장, 생성 또는 참조하는 모든 데이터는 /var/adm/sw/patch에 격리되어 있습니다.
그러나 다음과 같은 방법으로 디스크 공간을 좀 더 확보할 수 있습니다.
다음은 /var/adm/sw/patch 디렉토리에 있는 파일을 삭제하지 않고 공간을 확보할 수 있는 대안 방법입니다.
1. /var 파일 시스템을 루트 이외의 다른 디스크에 배치하십시오.
주: 이렇게 하면 /var가 계속 증대하므로 유연성이 더 커집니다.
- /var/adm/sw를 별도의 파일 시스템으로 만듭니다.
- /var/adm/sw 파일을 테이프에 백업한 다음 삭제하십시오.
- 테이프 중 하나에 장애가 발생하는 경우를 대비하여 최소 2개의 사본을 만드십시오.
이 파일을 복원할 수 없으면 패치를 swremove할 수 없습니다. 최악의 경우, 중요 운영 체제를
다시 설치해야 합니다.
2. cleanup -t
위 명령은 패치 설치 중에 백업 파일이 저장되는 데 소비되는 디스크 공간을 관리하는 데 사용합니다..
이 모드에서 실행되는 cleanup은 /var/adm/sw/sw*.log에 있는 모든 SD 로그 파일을 간단히 삭제합니다.
이러한 로그 파일은 가장 최근 사용한 5개의 엔트리만 남고 다른 부분은 모두 삭제됩니다.
로그 파일만 삭제할 경우에는 확인 단계가 없습니다.
cleanup -t 명령이 디스크 공간의 재확보를 지원할 수 있는 유일한 방법입니다..
이 명령을 사용하면 로그 파일을 삭제할 수 있습니다..
로그 파일을 삭제하면 대체된 패치 정보도 삭제할 수 있습니다.
cleanup 명령에는 HP-UX 11.X에서 HP-UX 패치를 처리할 때 유용한 두 가지 기능이 있습니다.
- HP-UX 11.X로 업데이트한 후 설치된 제품 데이터베이스에서 모든 10.X 패치를 제거하는 데도 사용합니다.
- 소프트웨어 저장소에 있는 패치 중 동일 저장소에서 사용 가능한 패치로 대체된 패치를 제거하는데도 사용합니다..
11.0으로 업그레이드한 경우 다음과 같이 할 수 있습니다.
1.. cleanup -i 실행
이렇게 하면 설치된 제품 데이터베이스에 포함된 패치가 HP-UX 11.X 업그레이드로부터 남은
10.X 패치인지의 여부를 파악할 수 있습니다.
이러한 패치는 IPD에서 제거되므로 swlist(1M) command.remove 10.20 패치 목록 출력에
더 이상 표시되지 않습니다. (11.0으로 업그레이드한 후 패치에 swremove를 수행하지 마십시오.)
2. cleanup -d 실행
이렇게 하면 소프트웨어 저장소에 있는 패치 중 동일 저장소에서 사용 가능한 다른 패치로
대체된 패치를 파악할 수 있습니다.
대체된 패치는 소프트웨어 저장소에서 제거됩니다.
cleanup -d 명령은 소프트웨어 저장소에 패치를 추가할 때마다 실행해야 합니다.
대체된 패치를 소프트웨어 저장소에서 삭제할 필요는 없지만 삭제하면 디스크 공간을 절약하고
충돌을 방지할 수 있습니다.
대체된 패치가 대체한 패치와 동일한 저장소에 있으면 HP-UX 11.X의 SD-UX가 이 상황을 알맞게 처리합니다.
cleanup 명령을 사용하면 모든 정보가 /var/adm/cleanup.log에 기록됩니다.
업그레이드 후 /var/adm/sw/save의 디스크 공간을 복원하는 데 지원되는 메커니즘은
cleanup 유틸리티를 사용하는 것이 아니라 swmodify(1M)용 patch_commit 옵션을 사용하는 것입니다.
patch_commit=false로 설정하면 이 옵션은 패치 롤백을 위해 저장된 파일을 제거하여 패치를 커밋합니다.
true로 설정하면 패치가 수정한 관련 기본 소프트웨어를 제거하기 전까지는 패치를 롤백(제거)할 수 없습니다.
패치 커밋(패치 롤백을 위해 저장한 파일 제거)
swmodify -x patch_commit=true PATCH
/var/adm/sw/save의 디스크 공간 복원에 지원되는 프로세스는 cleanup 유틸리티를 사용하는 것이 아니라
patch_commit을 사용하는 것입니다.
이렇게 하면 패치 롤백을 위해 저장된 파일을 제거하여 패치를 커밋할 수 있습니다..
패치가 수정한 관련 기본 소프트웨어를 제거하기 전까지는 패치를 롤백(제거)할 수 없습니다.
패치 커밋(패치 롤백을 위해 저장한 파일 제거)
swmodify -x patch_commit=true PATCH
1차 루트에서 운용 중일 경우에는 target_selection을 지정할 필요가 없습니다. (대상 /이 가정됩니다.)
소프트웨어 저장소에서 운용 중일 경우에는 target_selection에 해당 저장소의 경로를 지정합니다.
-d를 지정하고 target_selection은 지정하지 않으면 기본 distribution_target_directory가 가정됩니다.
swmodify -d을 실행하려면 1차 또는 대체 루트 이외의 저장소에서 수정하십시오.
지정한 target_selection은 저장소이어야 합니다.
기본값은 다음에 있습니다.
/var/adm/sw/defaults 시스템 전반에 사용되는 기본값.
distribution_target_directory=/var/spool/sw
대상 저장소의 기본 배포 디렉토리를 정의합니다.
target_selection 피연산자는 이 기본값을 겹쳐 씁니다.
명령 행에 -x 또는 -X 옵션을 사용하여 기본값을 겹쳐 쓸 수도 있습니다.
command -x option=value
command -X option_file