“대체 엄마가 해준 게 뭔데!”

[한겨레] “엄마가 도대체 해준 게 뭐 있는데.”

항상 엄마에게 했던 말. 결혼 전까지 아니 아이 낳기 전까지 엄마 가슴 아물기도 전에 내 잘난 입으로 엄마에게 꼭 해야 내 속이 풀렸던 말들.

내 나이 8살. 난생처음 배를 탔다. 배에서 내려 무언가를 타고 도착한 곳은 산속이었다. 여기가 집이랜다. 엄마와 아빤 텐트보다 조금 큰 천막을 치고 아래에 짚을 깔고 요를 얹어 깔았다. 엄마가 계를 들어 돈을 불리려 했는데 엄마의 친구가 돈을 들고 도망을 간 것이다. 우린 하루아침에 집없는 천사들(?)이 되었다.

하지만 한동안 부모님과 떨어져 살았던 나는 엄마, 아빠와 산다는 것 자체가 즐겁고 마냥 행복했다. 그곳엔 중학교까지밖에 없어서 고등학생이었던 큰오빠, 작은오빠는 육지에서 학교를 다니고 나머지 5남매는 천막생활을 해야 했다.

이사온 지 얼마 되지 않아 겨울이 왔는데 우리는 산속 개울의 얼음을 깨고 세수를 했다. 난 고양이 세수를 하고는 춥다며 천막으로 달려들어와 이불 속에 기어들어가 오들오들 떨며 다시 잠을 자곤 했다. 그러면 엄만 우릴 두들겨 깨워 아침 일찍이 이집저집서 얻어온 밥과 반찬을 비벼 밥을 주셨다. 그래서일까? 난 지금도 비빔밥을 제일 좋아한다.

학원도 대학도 못 가고
도시락도 못 싸가고…
엄마에게 퍼부어대곤 했지만
지금은 그 눈물이 가슴을 적신다

학교 친구들은 우리를 ‘거지새끼들’ ‘땅거지’라고 불렀다. 친구들의 놀림으로 난 집까지 울면서 오곤 했다. 그때 엄마의 마음은 어땠을까?

고아였던 아빠는 어릴 적 외할아버지를 만나 품바를 배우고 동냥질을 하며 뱀을 잡으셨다. 우리 외할아버지는 자랑스럽게도 인터넷에 이름을 치면 나오는 이 시대 마지막 거지대장 천장근(천팔만)님이시다.

어찌 됐든, 집이 생겨 거지새끼라는 별명을 면했는데 땅꾼이셨던 아빠 직업 때문에 뱀장수집 딸, 뱀집 딸이 나의 별명인 동시에 우리 8남매의 별명이 되었다. 아빤 마을잔치 때면 초대받아 품바공연을 하곤 했는데 큰오빠가 너무 창피하다고, 우리가 거지새끼라는 소리 듣고 다니는 게 좋냐며 화를 내는 바람에 아빤 되도록 품바공연을 하지 않으셨다. 그 이후로 난 아빠의 품바공연을 볼 수 없었다. (후회 막심, 나라도 배워놓을걸.)

어쨌든, 난 어려운 가정형편으로 연예인이 되고 싶었던 꿈과는 달리 엄마의 권유로 돈을 벌어야 했다. ‘왜? 대체 왜 난 언니, 오빠들처럼 대학에 안 보내준다는 건데?’라는 말은 속으로 외칠 수밖에 없었다. 큰오빠가 부모님을 설득해서 실업계 고등학교에 갔다. 주산, 부기, 타자 자격증을 따야 했지만 난 친구들처럼 학원을 다닐 수도, 타자기를 살 수도 없었다. 타자기가 없어 숙제를 못한 나는 늘 매를 맞았다. 정말 학교도, 부모님도 너무 싫었다. 그러던 중 엄마가 섬에서 올라오셨다. 학교에 갔다 방에 들어오는데….

“너 이리 앉아봐라!”

“왜?”

“너 납부금 냈어? 안 냈어?”

“…”

“이 가시나가 먼 배짱으로 3개월치 납부금을 다 까묵어불고, 너는 정신차릴 때까지 한번 맞아야 디야.”

엄만 나를 때리기 시작했다. 나도 질세라 “내가 머, 언니 오빠는 대학도 다 보내주고 납부금도 다 내주면서, 나는 학원도 안 보내주고 맨날 도시락도 못 싸가고, 배 고파서 다 까먹었다. 왜? 엄마가 해준 게 머 있다고 날 때리고 난리야!” 그때 난 농어가자녀 혜택으로 납부금은 3만원 정도였다.

“이년이 아직도 정신을 못 차리고, 오늘 너 죽고 나 죽자!” 그날 난 진짜 죽도록 맞았다. 세월이 지난 지금도 내 마음에는 어린 시절의 아물지 않은 상처가 남아 있다. 어느덧 결혼을 하고 아이를 낳아 기르면서 거지라고 놀림받을 정도로 가난했던 시절 우리 8남매를 키운 엄마, 아빠의 땀방울과 아직도 마르지 않은 그분들의 눈물을 이 글을 쓰면서 내 뺨에 흐르는 눈물 속에 느껴본다.

[RPM] 설치된 RPM 패키지 변경가능성 여부 검증하기

1. 설치된 RPM 패키지 변경가능성 여부 검증하기

– 사용형식 : rpm -V [옵션] 패키지명

– RPM 패키지 관리에 있어서 무엇보다 중요한 것은 설치한 패키지들의 무셜성을 확인하는 것임. 특정 패키지를 설치한 후에 이 패키지에 의해 설치된 파일들이 변조된 흔적을 조사하기 위하여 주기적으로 특정 패키지의 특정 패키지의 무결성을 확인해야할 필요성이 있음.

– 검증시 확인 되는 8가지 문자열의 의미

표시문자       |         의           미           |            설                명
—————————————————————————————————————————————–
5               |      MD5 체크섬           | 현재파일의 내용이 설치당시의 내용과 같은가를 확인함.
S              |       파일크기                 | 파일의 크기를 설치당시의 크기와 비교 검사함
L               |       심볼릭링크           | 심볼릭 링크를 검사함
T               |     파일최종변경시간  | 최근 갱신날짜를 설치당시의 날짜와 비교 검사함
D              |             장치                 | 장치 정보를 검사함
U              |          사용자                | 파일의 소유자를 설치당시의 소유자 정보와 비교 검사함
G             |           그룹                    | 파일의 소유그룹을 설치당시의 소유그룹과 비교검사함
M            | 파일허가권 또는 파일형식 모드 | 파일의 퍼미션( permission ) 을 설치당시의 퍼미션과
비교 검사함.

[RPM] RPM 패키지 설치정보 확인하기

1. 패키지의 설치정보를 확인하기 위한 사용형식

– 사용형식 : rpm -q[ 옵션 ] 패키지명

2. 현재 시스템에 설치되어 있는 모든 패키지를 출력하기

– -qa 옵션을 사용함.

– rpm -qa

– 해당 결과를 파일에 저장하여 확인하는 방법
rpm -qa > rpmlist
만약 기존에 존재하는 내용에 추가하여 결과를 저장하고자 한다면
rpm -qa >> rpmlist
특정 파일에 저장하지 않고 화면에서 바로 한화면씩 확인하고자 한다면
rpm -qa | more

3. 특정 파일이나 이름으로 패키지의 설치여부 확인하기

– 사용형식 : rpm -qa | grep 확인하고자하는패키지이름문자열

4. 특정 파일명이 어떤 패키지에 속해있는지 확인하기

– 사용형식 : rpm -qf 파일명

– 어떤 파일을 수정하거나, 삭제,  또는 변경하려고 할 때, 혹은 특정 파일을 실수로 삭제하였는데 이를 RPM 재설치 방법으로 복구하여야 할 경우에 매우 유용하게 사용됨.

– rpm 명령어 사용시 사용되는 파일명을 절대경로를 지정하여 주는 것이 좋음.

– 확인하고자하는 모든 파일이 가능한 것은 아니며 RPM 으로 설치된 파일일 경우에만 확인이 가능하다는 점에 유의할 것.

5. 특정 패키지에 의해 설치된 파일들 확인하기

– 사용형식 : rpm -ql 패키지명

– 특정 패키지를 설치할 때에 생성되는 파일들의 리스트를 확인하고자 한다면 위의 방법으로 확인이 가능함.

6. 특정 패키지의 상세한 정보 확인하기

– 사용형식 : rpm -qi 패키지명

– 특정 패키지의 이름과 버전, 패키지 개발사, 그리고 배포횟수( release ) , 컴파일 날짜, 설치날짜, 패키지용량( size ) , 라이센스정보, 소스 RPM 명, 용도( Summary ) , 간단한 설명( Description ) , 등에 대한 정보를 확인하는 명령어임.

7. 특정 패키지에 의해 설치된 파일들의 정상여부 점검하기

– 사용형식 : rpm -qs 패키지명

– 특정 패키지를 설치한 후에 이 패키지에 의해서 설치된 모든 파일들이 현재 시스템에서 이상없이 정상적으로 사용이 되고 있는가를 확인하려면 rpm 명령어에 -qs 옵션을 사용하면 됨.

– 특정 패키지의 설치로 생성된 모든 파일들의 정상여부를 확인한다는 의미는 특정 서비스를 위한 패키지의 정상여부 또는 시스템의 정상여부를 확인하는 한 부분이 되기도 함.

8. 특정 패키지의 설정파일들 확인하기

– 사용형식 : rpm -qc 패키지명

– 특정 패키지의 설치로 생성되는 많은 파일들 가운데 설정파일들만을 확인하는 방법임.

9. 설치된 패키지의 문서파일위치 확인하기

– 사용형식 : rpm -qd 패키지명

– 특정 패키지에 의해 설치되는 모든 파일들 가운데에 메뉴얼파일, 즉 man 페이지 관련 파일들만을 확인하는 방법임.

10. 패키지 의존성 관계 확인하기

– rpm -qRp 패키지명

– rpm 명령어에 -qRp 옵션을 사용하여 특정 패키지의 의존성 관계를 확인할 때에 패키지명은 전체 패키지파일명으로 지정을 해야 함.

[RPM] 설치된 RPM패키지 삭제( 제거 ) 하기

1. 이미 설치된 RPM 패키지를 삭제하려면 간단히 -e 옵션을 사용하면 됨.

2. RPM 패키지 삭제의 가장 일반적인 방법

– 패키지를 삭제하는 가장 간단한 방법은 rpm 명령어에 -e 옵션을 사용하면 됨.

– rpm -e qouta-3.06-9

3. RPM 패키지 삭제시 의존성문제 해경방법 #1 : 의존하는 패키지 선 삭제후 삭제하기

– 패키지 삭제시 가장 흔하게 발생하는 에러가 ” 패키지 의존성 에러 ” 로 인한 패키지 삭제 실패임. 특정 패키지를 삭제할 때에 의존성문제로 인하여 패키지가 삭제되지 않을 경우에는 두가즤 해결방법이 있음.

– 첫번째는 의존성문제를 해결한 후에 삭제하는 방법임. 의존성관계에 있는 패키지를 모두 삭제해 준 후에 삭제하고자하는 원래의 패키지를 삭제하는 것.

– 두번째는 의존성문제를 무시하고 지정된 패키지만 삭제하는 방법임. 이방법은 –nodeps 옵션으로 간단히 해결할 수 있음.

– 확실하게 불필요하다는 것을 확인하지 않은 상태에서 의존성 관계에 있는 모든 패키지를 삭제한다는 것은 자치 시스템 장애를 발생할 수 있음.

4. RPM 패키지 삭제시 의존성문제 해결방법 #2 : 의존성 무시 삭제하기

– 의존성 관계에 있는 모든 패키지들을 삭제한 후에 원래 삭제하고자 했던 패키지를 마지막에 삭제하는 방법이 있지만 이 방법으로 삭제를 하게되면 의존성관계를 파알하는 시간도 많이 소요될 뿐아니라 자칫 시스템에 꼭 필요한 패키지까지 삭제를 하게되는 잘못을 범하게 될 수도 있음.

– 의존성 관계를 무시하고 삭제하고자하는 원래 패키지 하나만을 삭제하는 것이 보다 바람직할 것임.

– 의존성 관계를 무시하고 살제하고자 한다면 –nodeps 옵션을 사용하면 됨.

[RPM] rpm 명령어로 패키지 업그레이드 및 설치하기 실무

1. RPM 패키지를 설치할 때에 주로 -ivh 옵션을 사용하여 설치 함. 하지만 실제 실무에서는 -ivh 옵션 보다는 -Uvh 옵션을 사용하여 보다 안전하게 설치하는 방법을 사용함.

– -U 옵션을 사용하여 설치하면 기존에 설치되어 있던 RPM 패키지의 파일들을 삭제하는 것이 아니라 ” 기존파일명.rpmsave ” 라는 파일명으로 보관한 후에 새롭게 설치하게 됨.

– -i 옵션이 패키지 설치시에 사용하는 옵션이라면 -U 옵션은 패키지 업그레이드에 사용하는 옵션임. -U 옵션을 독립적으로 사용하여도 패키지 업그레이드가 가능하지만 -Uvh 옵션을 함께 사용하여 보다 자세한 업그레이드 내역을 보여주면서 설치하도록 하는 것이 보다 일반적인 패키지 업그레이드 방식임.

– -Uvh 옵션을 사용하여 패키지를 업그레이드 할 때에 설치하고자하는 패키지가 설치되어 있지않을 경우에는 설치를 하게 되고, 만약 하위버전이 설치되어 있을 경우에는 기존의 설치된 패키지 파일들을 ” 기존파일명.rpmsave ” 라는 파일명으로 보관한 후에 업그레이드 해주기 때문임.

– -Uvh 옵션은 설치와 업그레이드를 자동으로 알아서 해주며 기존파일을 보관하므로 보다 안전한 설치방법이 되기 때문.

– -Uvh 옵션을 사용하여 업그레이드를 할 때에 이미 동일한 버전의 패키지가 설치되어 있다면 ” Package 패키지명 is already installed ” 라는 메시지를 출력하면서 중복설치의 위험성을 사전에 차단할 수 있음.

– -Uvh 옵션으로 패키지를 업그레이드 할 때에 이미 상위버전이 설치되어 있다면 ” package 패키지명 ( which is newer ) is already installed ” 라는 메시지를 출력하면서 시스템에 현재 패키지보다 상위버전이 이미 설치되어 있음을 알려줌.

– -Uvh 옵션을 사용하면 패키지 의존성 문제가 발생하였을 경우에 ” failed dependencies ” 라는 메시지를 출력하면서 의존성 관계를 알려줌.

2. RPM 패키지의 간단한 업그레이드 설치방법

– rpm -U qouta-3.06-9.i386.rpm

3. RPM 패키지의 가장 일반적인 업그레이드 설치방법

– rpm -Uvh qouta-3.06-9.i386.rpm

– 대부분의 실무관리자들은 -U 옵션보다는 -Uvh 옵션을 선호함.

– -v 옵션 : 패키지 업그레이드 설치시에 자세한 설치상황을 알려 줌.

– -h 옵션 : 설치과정을 해쉬문자( # ) 로 표시해 줌.

4. 이미 설치된 중복패키지 문제 해결방법

– -Uvh 옵션으로 패키지를 업그레이드 할 경우에 업그레이드 하고자 하는 패키지가 이미 시스템에 설치되어 있을 경우에는 ” package 패키지명 is aleady installed ” 라는 메시지와 함께 중복설치되지 않으므로 업그레이드 되지 않음.

– 이런 경우 –replacepkgs 라는 옵션을 사용하면 설치하고자하는 패키지가 이미 시스템에 있는 경우라도 이를 무시하고 업그레이드 설치를 할 수 있음.

5. 다른 패키지의 파일과 충돌문제 해결 방법

– 패키지 업그레이드나 설치에서 문제가 되는 경우는 설치하고자하는 패키지의 파일이 이미 설치되어 있는 다름 패키지의 파일과 충돌( conflict ) 이 발생하는 경우도 있음.

– 패키지 충돌( conflict ) 이 발생하는 경우에 이를 무시하더라도 설치를 해야한다면 –replacefiles 라는 옵션을 사용하면 됨.

6. 중복과 충돌문제 발생시 무시하고 강제 설치하기

– –force 옵션을 함께 사용

– 업그레이드 설치를 하고자하는 패키지가 현재 시스템에 이미 설치되어 있어 중복이 되거나 또는 이미 설치되어 있는 다른 패키지의 일부 파일들과 충돌( conflict ) 이 발생하는 경우네는 업그레이드가 되지 않음. 앞의 두가지 옵션 –replacepkgs 옵션과 –replacefiles 옵션 그리고 –oldpackage 옵션을 동시에 사용하는 효과를 볼 수 있는 옵션이 –force 옵션임.

7. 의존성문제 무시하고 설치하기

– –nodeps 옵션을 사용.

– –nodeps 옵션을 사용하면 패키지 의존성을 완전히 무시하고 지정한 패키지를 업그레이드 설치를 하게 됨.