본문 바로가기
HP-UX

[HP-UX] root full 등 file delete에 대한 문의건.

by 레이루이 2008. 4. 30.
반응형

안녕하세요? hprc 정해경입니다. 문의하신 /var/adm/sw/save의 경우 예전에 한 사이트에서 임의로 지웠다가 크게 문제가 된적이 있습니다. 이유는 패치를 제거하면 필요한 경우 시스템을 해당 패치로 롤백할 수 없기때문인데, 패치를 제거하기 전에 적어도 한 가지 이상의 방법으로 시스템을 백업하는 것이 좋습니다. 백업을 해놓으실수있다면 지우시는것이 무방합니다만, (테이프손상의 경우를 대비해서 두개의 미디어에 백업받으시고 왠만하면 지우지 말것을 권장합니다.) Sys Adm: 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
반응형