9.1. 저장 공간 검사

가끔식 저장 장치에 충분한 빈 공간이 있는지 확인하는 것은 중요하다. "df" 명령을 사용하면 남은 공간에 대한 레포트를 얻을 수 있다. 그 내용은 다음과 같이 생겼다 (여기에 나온 내용은 우리 회사에 있는 인터넷 서버에서 나온 것이다):

Filesystem         1024-blocks  Used Available Capacity Mounted on
/dev/sda1            1888052  135908  1654551      8%   /
/dev/sdd1            4299828  100084  3977246      2%   /archive
/dev/hda2            3048303  897858  1992794     31%   /archive2
/dev/hda1              11677    1380     9694     12%   /boot
/dev/sdc1            4299828  350310  3727020      9%   /home
/dev/sdb1            4299828  598504  3478826     15%   /usr
/dev/sda2            1888083  700414  1090075     39%   /var
/dev/scd0             593958  593958        0    100%   /cdrom

이들 파일 시스템은 상당히 안정적이어서 아주 서서히 크기가 늘어나고 있다. (위의 그림과 아래의 설명은 짝이 맞지 않습니다. 원저자의 오류인 것으로 보입니다:역자)

"/" (즉 root) 파일 시스템은 /dev/hda1 에 마운트되어 있으며 리눅스 커널, 디바이스 드라이버 그리고 다른 디렉토리를 포함한다. 사용자의 메일 메시지가 저장되는 곳 (/var/spool/mail/) 과 로그 파일이 저장되는 곳 (/var/adm/) 도 있지만 메일 메시지는 사용자들이 받아 가버리고 로그 파일은 순환이 되도록 되어 있어서 사용가능한 공간은 상당히 안정적인 모습을 보인다 (대략 한 달에 1% 정도가 늘어난다). 로그 파일은 순환이 되며 주단위로 자동으로 예전 것을 삭제하므로 대략 한달치 정도의 로그 파일을 갖고 있게 된다.

작은 정보: 팁: 이 파일 시스템이 급속도로 커지게 되면 /var/spool/mail 디렉토리가 범인일 가능성이 높다 -- 무지 큰 메일박스를 찾아보아야 한다. (예컨대 ``find /var/spool/mail -size +1000k'' 라고 하면 1Mb 이상의 크기를 가지는 메일박스의 목록을 볼 수 있다) 만약 크기가 1Mb 를 훨씬 넘는 파일이 있다면 그 사용자가 메일을 받고 있지 않거나, 많은 양의 메일을 보내는 메일링 리스트에 가입해 있거나, 사용자의 전자메일 패키지가 메일을 읽은 후에 서버에서 메일을 지우지 않도록 설정되어 있기 때문이다. 일단 사용자와 연락을 취하고 나서 메일 파일을 비워준다. 메일 파일을 비우기 위해서는 "> 메일박스이름" 이라고 해준다 (예를 들어, ``> smithj'' 라고 하면 Joe Smith 의 메일 박스를 비운다). 또한, ``/tmp/'' 디렉토리도 검사해서 틈나는 대로 비워준다 (중단된 뉴스 일기 세션에서 생성되는 오래된 tim* 파일이나 인쇄 파일등이 여기에 들어있다).

"/usr/" (즉 사용자) 파일 시스템은 /dev/hda2 에 마운트되어 있으며 사용자가 설치한 (여기서 사용자는 시스템 관리자가 사용자로서 설치하였다는 의미이다) 소프트웨어나 당신의 웹 사이트 내용 등이 들어있다. 이는 가장 큰 파일 시스템이며 매우 서서히 증가한다. 웹 페이지에 대한 로그 파일이 여기에 저장되어서 크기가 커질 수 있다; 따라서 정기적으로 확인하여 필요하다면 적당히 잘라 주어야 한다. 내 기계에서는 매달 초에 현재 웹 로그 파일을 월간 요약 로그로 (예를 들어, 11월의 로그는 access_log.11 로) 옮겨버린다. 연말이 되면 이들 로그 파일을 모두 삭제하고 처음부터 다시 시작한다 (따라서 매년 1월 1일에는 상당히 여유공간이 많아지게 된다).

작은 정보: 팁: 만약 이 파일 시스템이 빠르게 커진다면 ``/usr/local/etc/httpd/logs'' 와 ``/usr/local/squid/logs/'' 디렉토리를 검사해 볼 필요가 있다 (만약 있다면). 여기에는 (만약, 웹 사이트에 방문자가 엄청나게 많다면) 지나치게 커진 로그 파일이 있을 수 있다. 하지만 만약, 내가 하듯이 정기적으로 이전의 파일을 지워준다면 이 파일 시스템에서 공간 문제가 발생하지 않을 것이다 (사실, 로그는 내 사이트에 대한 방문통계를 만드는데 쓰고 있어서 가급적 안지우려고 한다). 그 외 혹시 지워야 할 파일이 있을 만 한 곳으로는 ``/usr/tmp/'' 디렉토리가 있다.

"/home/" (즉, 각 사용자의 홈 디렉토리) 파일 시스템은 /dev/hda3 에 마운트되며 모든 사용자의 디렉토리와 파일이 저장된다. 각 사용자에게 쉘 계정을 주지 않는 한 이 영역의 대부분은 사용자에게 쓸모없거나 접근불가능한 영역이 된다. (각 사용자 계정을 만들 때마다 여기에 디렉토리가 만들어지며 사용자 메일의 전달 등에 활용된다.) 하지만, 쉘 계정을 가지고 있는 사용자나 쉘은 아니라도 웹 페이지 사용자 (예를 들어, 개인 홈 페이지 사용자) 는 자기의 파일을 여기에 저장한다. 게다가 다른 배포판에서는 대개 웹 서비스의 기본 서버 페이지를 /usr 파일 시스템에 저장하는데 반하여, 레드햇에서는 기본 서버 페이지가 여기에 있는 /home/httpd 디렉토리 아래에 저장된다. (이에 대한 자세한 정보는 7.1절 을 참조하시요.)

이 파일 시스템은 쉘 계정을 아주 많이 만들어주지 않는 한, 아마 가장 느리게 크기가 커질 것이다.

작은 정보: 팁: 이 파일 시스템의 크기가 갑자기 커진다면 사용자들 중 누군가가 자기 디렉토리에 웹 페이지나 바이너리 파일을 왕창 넣었기 때문일 가능성이 크다. 사용자가 어떤 웹 페이지를 추가하였는지를 보여주는 ``/var/adm/xferlog.*'' 로그 파일을 검사하여 최근에 추가된 내용을 살펴보면 된다.

내 시스템에는 "/archive/" (즉, 저장용) 파일 시스템이 /dev/hdb1 에 마운트되어 있으며 그 크기는 1.02 Gb 로서 어떤 파일이건 (예를 들어, 데이터 파일이든 소프트웨어 키트 건 간에) 저장하는데 사용한다. 나는 (약 70%에 달하는) 상당히 많은 영역을 현재 시스템에 대한 디스크-대-디스크 완전 백업을 위한 용도로 사용한다. 간단히 말하자면 필요에 따라서 장치를 추가 마운트하여 이런 식으로 활용하면 된다.

씨디롬 드라이브는 "/mnt/cdrom/" 라는 이름으로 /dev/scd0 에 마운트 된다. 이 장치는 24배속 씨디롬으로서 ISO9660 포맷의 어떤 씨디라도 읽을 수 있다. 이 장치는 기본적으로 소프트웨어 설치를 위하여 사용되지만 도스/윈도용 씨디를 마운트하여 삼바 서비스를 통하여 윈도 3.x/95/NT 네트웍 공유로 사용하기도 한다. (이에 대한 상세한 내용은 7.4절 을 참조하시요.)

"rm" 명령은 파일을 삭제한다. 사용법은 ``rm 파일이름'' 이다. 확인을 해가며 파일을 지우려면 "-i" 옵션을 사용한다 (예. ``rm -i *''). 이렇게 하면 각 파일에 대하여 지울 것인지를 물어볼 것이다.

참고: (주의: 이는 보통의 쉘 사용자에게는 디폴트이지만 주의할 것은 -- 루트 계정은 "-i" 옵션을 지정하지 않는 한 파일을 지울 때 확인을 하지 않는다는 점이다!)

이 명령을 사용할 때에는 오타를 하지 않도록 특별히 주의하여야 한다 -- 특히 "루트" 로 로그인하였을 때에는 -- 왜냐하면 엉뚱한 파일을 지워서 후회하게 될 것이기 때문이다.