블로그 이미지
웰컴 광대

카테고리

분류 전체보기 (10)
Life (0)
컴퓨터 (10)
Total
Today
Yesterday

달력

« » 2024.4
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30

공지사항

태그목록

최근에 올라온 글

네트웍 문제 발견시 확인 사항
 1. 네트웍 카드 설정 유무 확인
 ifconfig
 2. ip,MAC,network 주소,netmask  이상시 
 vi   /etc/sysconfig/network-scripts/ifcfg-eth0
 3. gateway, hostname 이상시
 vi   /etc/sysconfig/network
 4. DNS 이상시
 vi   /etc/resolv.conf
 5. 네트웍 설정 변경시  반드시  " service  network   restart "  실행!!

@clone 방법
 1. 복사 & 붙여넣기
 2. clone 마법사 이용(clone method - Full cloen 선택)

@cloen 후에 work 컴만 부팅후 네트웍 설정
 ip : 192.168.x.20 

// 3번째의 x는 vmware 메뉴에 edit -> virtual network setting -> NAT에서 확인.
 netmask : 255.255.255.0
 gateway : 192.168.x.2  
 DNS : 192.168.x.2

@work 컴의 root 사용자 암호를 "itbank" 로 재지정!!
@work 컴의 hostname 변경
 vi   /etc/sysconfig/network
   ->  HOSTNAME=work.linuzle.com  수정
 
 service  network  restart

//항상 무언가를 수정해주었을땐 위 명령어를 잊어 먹지 말자.
 
 hostname   work.linuzle.com

 vi   /etc/hosts
   ->  127.0.0.1   serv.linzule.com  serv  localhostdoamin.~~  


serv 컴 :  vi  /etc/inittab
   -> 32행 주석 처리(시스템이 ctrl-alt-del 키로 재부팅 금지)
   -> 45 ~ 50 행중 1행만 제외하고 나머지 주석처리(쓰지 않는 곳은 막아두는 항목)
   -> 53행 주석처리(xwindow 관련항목)

 cd   /etc/rc.d  &&  ls  -l

시스템 관리자로 근무하는 도중 갑자기 한대의 서버가 재부팅되었다.
해당 서버를 확인한 결과, 무한 재부팅이 되는 사태가 발견되었다.
시스템 관리자로써 어떻게 이문제를 해결해야 할까?
 1. 싱글 유저 모드로 login
 2. vi   /etc/inittab  ->  기본 runlevel 확인(18행) // runlevel 6 으로 되잇을시 무한부팅.

 telnet   localhost  25
    ->  Ctrl + ]    ->  quit

 vi   /etc/issue    // 로그인 화면을 임의 대로 바꿔줄수 있다.
 vi   /etc/motd    // 로그인 후 화면을 임의 대로 바꿔줄수 있다.

 rpm   -qa  >  first.package    // 리다이렉션 명령으로 rpm리스트를 출력해서
 
   rpm   -e   tcpdump   // 패키지 한개를 삭제해보자.

 rpm  -qa  >  2007-08-11.package   // 현재 날짜로 리스트 출력한것을 만들어보자.

 diff   first.package       2007-08-11.package //두개를 비교 한결과가 나온다.

 rpm  -ql   vim-enhanced

RPM 패키지 설치 방법
 1. 설치 CD
 2. search Web  -  http://rpmfind.net   ->  vim-enhanced
 3. yum  명령어
 yum   -y   install     vim-enhanced


serv 컴 :  vi   /root/.vimrc

 vi   /root/.bashrc
  ->  alias  vi='vim'


serv 컴 :  vi   /etc/hosts
 ping  -c  3  work

work 컴 :  vi   /etc/hosts

참고 : C:\WINDOWS\system32\drivers\hosts 존재

 

Posted by 광대
, |

1. 퍼미션이란?


윈도98과는 달리 멀티유저 운영체제인 리눅스는 보안상의 이유로 다른 사람이 자신의 파일을 읽거나 파일에 다른 내용을 기록하는 것을 막을 수 있습니다. 이런 역할을 하는 것을 퍼미션이라고 합니다. 한 사용자가 다른 사용자의 파일을 마음대로 처리하게 될 수도 있기 때문에 이것을 예방하기 위해서 생성되는 파일이나 디렉토리에 각각의 접근허가권을 두어서 허가한 사용자(그룹)들만이 파일에 대한 접근권한을 가지게 만드는 것입니다. 이들 속성을 이용하여 각 파일 및 디렉토리들을 다른 사람들과 공유하거나 아니면 개인적인 목적으로만 사용할 수 있습니다. 퍼미션은 소유자/소유자가 속한 그룹/그외 유저(그룹)으로 나누어 주어지게 됩니다.

* 그룹(group) 이해하기

유저는 기본적으로 특정 그룹에 소속되어 있습니다. 관리자가 특별히 그룹을 지정하지 않으면 계정 이름이 그룹 이름이 됩니다. 만약 관리자가 관리의 편의를 위해 그룹을 구분지었다면 유저이름과 그룹이름이 다를 수 있습니다. 학교에서 반을 나누는 것과 같다고 생각하면 됩니다.


2. chmod 명령

 

2.1 chmod 란?

chmod 은 파일, 디렉토리, 장치, 프로그램등의 퍼미션(접근권한)을 바꾸는 명령입니다. 접근권한은 소유자, 소유 그룹, 그외 유저(그룹)의 3가지 대상으로 지정할 수 있고 각각의 대상에게 자신의 파일에 대한 읽기(read), 쓰기(write), 실행(execute) 권한을 지정할 수 있습니다.


2.2 chmod 사용하기

먼저 간략한 chmod 의 사용법부터 설명하겠습니다. 파일의 퍼미션을 바꾸려면 로그인 후 다음과 같이 하면 됩니다.

[root@junilove /root]# chmod 퍼미션값 대상

여기서에 퍼미션값은 권한변경대상과 접근권한으로 이루어져 있으면 이걸 다시 3자리 숫자로 표현할 수 있습니다. 대상은 퍼미션을 바꾸려는 파일이나 디렉토리 장치를 말합니다.

예를 들어, test.html 파일을 소유자만 읽기, 쓰기가 가능하고, 소유 그룹과 그외 유저(other)들은 읽기만을 허용하려고 하면 아래와 같이 하면 됩니다.

[root@junilove /root]# chmod 644 test.html


반복되는 특정 디렉토리 안에 모든 파일의 퍼미션을 바꾸려면 명령에 -R 옵션을 사용합니다.

예를 들어, /home/public_html/ 디렉토리와 그안에 있는 모든 파일들의 퍼미션을 755로 할려면 아래와 같이 하면 됩니다.

[root@junilove /root]# chmod -R 755 /home/public_html/


2.3 퍼미션과 값

중요한 파일 퍼미션에 대하여 간단히 설명하겠습니다. 앞서 말했듯이 리눅스에서 모든 파일과 디렉토리는 3가지 대상에 대한 접근권한을 가지고 있습니다. 소유자는 소유자 자신의 파일에 대하여 그룹과 시스템에 있는 모든 유저들에 대한 접근권한을 지정할 수 있습니다. 현재 설정된 퍼미션을 보고 싶으면 ls -l 명령을 하면 됩니다.

[root@junilove /root]$ ls -l

  total 11

  drwx------    2 ty   ty       4096 Jun  9 00:01 mail

  -rw-------    1 ty   ty        557 Jul  4 12:22 mbox

  drwx------    2 ty   ty       4096 Apr  5 20:55 nsmail

  drwx---r-x    4 ty   ty       4096 Jun 11 21:34 public_html

위 화면이 무엇을 의미하는지 아시나요?(^^) 아래에서 설명하겠습니다.

처음 부분은 파일의 퍼미션을 보여줍니다.

drwx---r-x  

처음 문자는 파일의 타입을 나타냅니다. 'd' 는 디렉토리를 의미합니다. '-'는 표준파일입니다.

다음 9 문자는 파일의 퍼미션을 나타냅니다. 처음 3문자는 파일 소유자가 가지는 퍼미션을 나타내고,

두 번째 3문자는 소유자가 속해있는 그룹에 대한 퍼미션을, 마지막 3문자는 모든 유져(그룹)에 대한 퍼미션을 나타냅니다.

drwxr-xr-x

1

root

root

1200

Aug

7

04:02

test.html

파일의 타입과 허가권

링크의 수

소유자

소유그룹

파일의 크기

 마지막 수정일

 마지막 수정 시간

파일이름




d

rwx

r-x

r-x

파일의 타입

소유자 권한

소유자 그룹 권한

그외 유저 권한

d : 디렉토리
- : 표준파일
l : 링크파일





 다음은 퍼미션을 표현하는 문자에 대한 설명입니다. 또한, 각각의 퍼미션 문자는 대응하는 값을 가지고 있습니다.

 문자

의미

 r

읽기

4

 w

쓰기 (추가, 수정, 리네임 등)

2

 x

실행

1


그리고 이 값들을 결합시켜서 퍼미션을 지정합니다.

퍼미션

의미

---

0

 퍼미션 없음

--x

1

 실행

r--

4

 읽기 전용

r-x

5

 읽기, 실행

rw-

6

 읽기, 쓰기

rwx

7

 읽기, 쓰기, 실행


아래에 3자리 숫자를 조합하여 만들 수 있는 중요한 퍼미션 몇가지를 적어보았습니다. 기본 보안과 관련된 것이니 꼭 알아둡시다.

퍼미션

의미

-rw-------

600

 소유자만 읽기 쓰기 퍼미션을 가집니다. 그 밖에 누구에게도 어떠한 접근권한도 주지 않습니다.

-rw-r--r--

644

 소유자는 읽기, 쓰기 퍼미션을 가집니다. 그룹과 그 외 유저는 오직 읽기 퍼미션만을 가집니다.

-rw-rw-rw-

666

 *매우 위험* 모두에 대하여 읽기 쓰기 권한을 줍니다.  다른 유저가 당신의 파일을 고칠 수 있습니다.

 -rwx------

700

 소유자만 읽기, 쓰기, 실행권한을 가집니다. 소유자가 프로그램을 실행할 때 사용됩니다.

-rwx--x--x

711

 소유자는 읽기, 쓰기, 실행을 할수 있는 퍼미션입니다.  그룹과 그외는 오직 실행만 할 수 있고, 읽기와 쓰기는 되지 않습니다.

-rwxr-xr-x

755

 소유자는 읽기, 쓰기, 실행권한을 가집니다. 그룹과 그 외 유저는 읽기, 실행 권한을 줍니다. (홈페이지 계정에 사용됩니다.)

-rwxrwxrwx

777

 *매우 위험* 모두에게 읽기, 쓰기, 실행 퍼미션을 줍니다. 다른 유저가 파일을 수정할수 있고 이로 인해 문제가 생길수 있습니다.

drwx------

700

 소유자만이 디렉토리의 읽기, 쓰기가 됩니다.

drwx--x--x

711

 이 퍼미션은 디렉토리를 다른 유저의 접근으로부터 보호합니다. 오직 소유자만이 이 디렉토리안의 내용물을 보거나 수정할수 있고 다른 유저나 그룹들은 그것을 읽지는 못합니다.

drwxr-xr-x

755

 이 디렉토리는 소유자만이 바꿀수 있지만 모든 유저들이 그안의 내용을 볼 수 있습니다. (홈페이지 계정에 사용됩니다.)


3. chown 명령

 

3.1 chown 이란?

파일에 대한 소유자를 바꾸기 위해서는 chown명령을 사용합니다. 이명령은 root 만이 사용할 수 있습니다. chown을 사용하면 소유자를 바꾸면서 소유 그룹도 바꿀 수 있습니다.


3.2 chown 사용하기

파일의 소유자를 바꿀려면 root로 로그인 후에 다음과 같이 하면 됩니다.

  [root@junilove /root]# chown 소유자이름 파일이름

소유자 이름은 유저의 로그인 이름을 말하는 겁니다. 또, 파일 이름은 소유자를 바꿀 파일 이름을 나타냅니다.

예를 들어서, index.html 의 소유자를 root에서 juni로 바꿀려면 다음과 같이 하면 됩니다.

[root@junilove /root]# chown juni index.html


 또한 서브디렉토리와 파일까지 포함해서 소유자를 바꾸려면 -R 옵션을 사용하면 됩니다. 예를 들어, public_htmlf 디렉토리와 그 안의 모든 서브디렉토리와 파일의 소유자를 juni로 바꾸려면 다음과 같이 하면 됩니다.

  [root@junilove /root]# chown -R juni public_html


 또다른 옵션으로 파일의 소유자와 그룹을 같이 바꾸려면 다음과 같이 하면 됩니다.  

  [root@junilove /root]# chown 소유자.그룹 파일이름

아래의 예제는 test.html 디렉토리의 소유자는 juni로 그룹은 juni로 바꾸는 예제 입니다.

  [root@junilove /root]# chown juni.juni test.html


그리고 소유 그룹만을 바꾸기 원한다면 chgrp 명령을 사용하면 됩니다. chgrp의 사용예는 다음과 같습니다.

  [root@junilove /root]# chgrp juni test.html

test.html 의 소유 그룹을 juni로 바꾸는 명령입니다.

[출처] 퍼미션|작성자 소심옵션

Posted by 광대
, |
 

'/' - 루트 :

이 루트라 불리우는 디렉토리는 리눅스 시스템에서 가장 최상위 디렉토리이다.

헷갈리지 말아야 할것은 /root 와는 별개임을 강조해 두겠다.

리눅스를 설치할 때 파티션 나누는 화면에서 자동파티션 나누기 하면 요 루트에 용량이 쏠리게 된다~

음..그냥 쉽게 생각해서.....뭐랄까........어떤 디렉토리를 찾아갈때 시작점이라고 생각해두자~

리눅스 기본 구조가 이런거니 따지지 말고 넘어가보자~ㅎㅎ


'/bin' - 바이너리 디렉토리

리눅스에서 가장 기본이 되는 명령어들이 모여있는 디렉토리이다. 보면 파일이 다 초록색일것이다. 이것은 퍼미션이 실행 가능한 상태로 설정되어 있음을 뜻한다. 뭐 가볍게 한번 쭉~훑어보면 자신이 평소에 사용하던 명령어들을 꽤 찾아볼 수 있을것이다


'/sbin' - 시스템 바이너리 디렉토리

말 그대로 시스템을 관리하는데 필요한 명령어들이 모여있다. 음.. 마운트, 복구, 보수, 보안등을 위한 명령어들이 모여있다고 해야되려나..  디렉토리를 검색하다 보면 이 sbin 디렉토리를 많이 볼 수 있는데 이것들 역시 그 하위 디렉토리의 시스템적인 부분을 설정하는 명령어들이 모여있다고 봐도 좋다. 대표적으로 /usr/sbin, usr이 마운트된 후에 실행되는 프로그램들을 위한 시스템 명령어들이고, /usr/local/sbin은 사용자가 직접 prefix 접두사를 이용해 설치한 데몬들의 시스템 관련 명령어가 있다고 봐야겠다


'/etc' - 환경설정 디렉토리

관리자가 가장 많이 들락날락 거리는 디렉토리라고 봐야겠다. 이 디렉토리에는 리눅스 시스템에 관한 각종 환경 설정에 연관된 파일들과 디렉토리들을 가지고 있다. 쫌 중요하니까 파고들어가보자


리눅스는 확장자를 특별한 경우가 아니면 쓰지 않음을 알 수 있다. 실행파일은 파일의 퍼미션을 조정하여 만든다고 위에서 설명하였다. 물론, 그 파일이 컴파일이 완료된 이진파일이여야 가능한 얘기다. 여담이지만 shell 스크립트 언어는 컴파일 없이 직접 코드를 읽어 실행한다 ".sh"파일들...

그 중에서 ".conf"의 확장자를 가지는 파일을 꽤나 볼 수 있을것이다. 여러분들이 짐작하셨겠지만 이 파일은 configuration 파일이다. 즉 설정을 기술하는 파일이 되겠다. 정확하진 않지만 아마 파일의 내용에서 스트링 단위로 속성들을 읽어들여 실행될 것 같은 분위기다.ㅎㅎ;

여러 데몬들의 .conf파일을 다루게 될것이다. (여기서 참고로 '데몬'은 윈도우 가상시디가 아닌 리눅스 어플리케이션을 가르킨다.)

/etc/rc.d 이 디렉토리는 시스템의 부팅과 시스템 실행 레벨 변경시에 실행되는 스크립트들이 저장되어있다. 리눅스에 실행레벨이 6가지가 있음을 알고 계시리라 믿는다. 자세한건 cat /etc/inittab 라고 명령어 때려보고 연구해보거나 웹서치를 통해 배우도록 하자~^^

/etc/passwd, shadow 요것들이 사용자 정보와 패스워드에 관련된 파일 되시겠다. 나중에 다룰테니 넘어가자.

많은 부분을 다루지 못해 아쉽지만 내가 이렇게 일일히 다 설명하지 않아도 곧 설정에 대해 알게 되리라 믿고 /etc는 여기까지~


'/boot' - 부트 디렉토리

리눅스의 핵심인 커널이 계신 디렉토리 되시겠다. 리눅스 부팅을 관리하는 디렉토리이다.


'/mnt' - 마운트 디렉토리

음... 윈도우의 '플러그 앤 플레이'란 기능을 아는가? 쉽게 말하면 내가 컴퓨터 하드웨어를 잘 모르는데 하드웨어 하나 사서 끼웠을 때 그 장치를 운영체제, 즉 윈도우에서 알아서 인식해 주는 기능이다. 그렇다면 리눅스의 경우 하드웨어를 끼웠을 때 어떨까?.. 음.. X윈도우는 된다. 하지만..리눅스를 개인 운영체제로 쓰는건....음...내 입장에선 그닥...

거의 서버나 워크스테이션으로 이용하기 때문에 x윈도를 까는 경우는 거의 드물다. 뭐..정 힘들면 깔아서 병행하는것도 좋겠다.

이러한 경우에는 우리가 이 설치한 장치를 직접 "여기다 달았다!!"하고 잡아주어야 한다. /dev 폴더 안에 파일들을 보면 여러가지 색깔들이 있을것이다. 그 중 보면 sda, sdb, hda, hdb.... cdrom 등등이 있을것이다. 이러한 파일들을 이용해 마운트를 이 폴더로 걸어준다. 뭐..이건 명령어를 한번 찾아보면 알 수 있을것 같다. mount 라고 검색해 보면 되겠다.

참고로 mount 명령은 꼭 이렇게 장치만을 마운트 하는것은 아니다. 대표적으로 삼바나 nfs가 있겠다


'/usr' - 각종 응용프로그램을 위한 디렉토리

이 곳에 주로 X 시스템 관련 파일들, 리눅스 커널 소스, 각종 C 언어 관련 헤더파일등과 우리가 실제 사용하는 어플리케이션이 들어있는 디렉토리 되겠다.

그 하위에는 무수히 많은 디렉토리가 존재하는데 중요한거 몇개만 설명하고 넘어가겠다

/usr/bin - 리눅스에 깔려있는 어플리케이션의 실행파일들이 저장되어있는 디렉토리이다. 즉, 자신이 리눅스에서 어떤 프로그램을 실행시키려면 이 밑에 있는 파일을 실행시켜야 할 것이다. 뭐..바탕화면에 깔린 프로그램 클릭한다고 생각하자.

/usr/local - 관리자에 의해 소스설치되는 프로그램들이 주로 설치되는 경로 되겠다. 리눅스를 이용해봤다면 --prefix=/usr/local/xxxx 이런식의 옵션을 본 적이 있을것이다. 주로 설치할때 이 폴더 밑에 디렉토리를 만들어 설치한다.

/usr/man - 맨페이지의 내용이 들어있다. 리눅스를 이용하다가 잘 모르는 명령이 있을때 man '명령어 이름' 이런식으로 이용하는데 그 때 보여지는 파일들이 저장되어있다고 생각하자


'/home' - 사용자 계정을 위한 디렉토리

서버를 운영하다 사용자 계정을 발급할 경우가 생길것이다.

그때 그 계정들은 이 디렉토리 밑에 소유 디렉토리를 생성한다.


'/dev' - 디바이스 디렉토리

리눅스는 장비를 마운트에 의해서 이용한다. 그때 각종 장치들의 목록이 있는 디렉토리이다. 하드디스크상에 물리적인 용량을 갖지 않는다


'/proc'   프로세스 디렉토리

이 디렉토리는 각종 시스템 프로세서, 프로그램/하드웨어적인 정보가 저장되는 디렉토리이다. 하드디스크상에 물리적인 용량을 갖지 않고, 실제로 존재도 하지 않는다. 커널에 의해 메모리에 저장된다.


'/var' - 동적파일 디렉토리

시스템에서 사용되는 동적인 파일들이 저장된다. 각종 시스템 로그파일, 사용자 로그인 보안 기록, 메일, 아파치 페이지 관련 정보가 있는 디렉토리이다. 여기서 /var/log는 프로그램 로그파일들이 따로 저장되는 디렉토리이다. 여기서 wtmp와 message는 좀 알고 있어야 한다.

wtmp 는 login의 로그파일, message 는 syslog의 로그파일이다. wtmp는 시스템 모든 사용자의 로그인, 로그아웃에 대한 정보를 저장하고, message는 커널, 시스템의 모든 출력 메세지를 저장하는 파일이다.


'/tmp' - 임시 디렉토리

임시파일을 위한 디렉토리이다. 일반 사용자에게도 권한이 열려있다


'/root' - 루트 디렉토리

시스템 관리자의 홈 디렉토리이다.

 
Posted by 광대
, |

<압축과 해제>

윈도우에서는 압축을 할 때 압축을 하면 바로 압축이 되지만 리눅스에서는 아카이브 생성이라는 선행을 해준 뒤에 압축을 할 수 있다.

파일과 디렉터리를 하나의 파일로 묶어주는 것을 아카이브라 하는데, 아카이브를 생성해주는 프로그램이 tar 유틸리티이다. 아카이브로 생성된 확장자는 .tar이다.

압축을 하는 명령어에는 2가지가 있다.

① gzip은 압축률은 떨어지는 속도는 빠르다.<.gz으로 생성>

② bzip2는 압축률은 좋으나 속도는 떨어진다.<.bz2으로 생성>

둘 다 장단점이 있으므로 사용하기에 편한 걸로 사용하면 될 것 같다.

<아카이브 생성>

tar 옵션f 아카이브명.tar 디렉터리 및 파일

① c : 아카이브 생성

② v : 아카이브 생성과정을 출력하라.

③ f : tar 명령으로 파일을 만들고자 할 때

④ xf : 아카이브 파일 풀기

⑤ z : tar+gzip

⑥ j : tar+bzip2

- tar cvf home.tar /home : home이라는 디렉터리를 home.tar파일 아카이브 생성을 하는 과정을 보여준다.

- tar xvf home.tar : home.tar란 아카이브 파일을 과정을 보여주면서 풀어준다.

- tar xvfz home.tar.gz : home.tar.gz란 압축 및 아카이브 파일을 과정을 보여주면서 풀어준다.

- rm -rf * : 현재 있는 위치에 있는 모든 파일 및 디렉터리를 삭제해준다.

- gzip test.tar : test.tar를 압축해준다.

- bzip2 test.tar : test.tar를 압축해준다.

- gunzip test.tar.gz : gzip으로 압축된 test.tar.gz 파일의 압축을 풀어준다. 아카이브 파일까지 풀리지 않는다.

- bunzip2 test.tar.bz2 : bzip2로 압축된 test.tar.bz2 파일의 압축을 풀어준다. 아카이브 파일까지 풀리지 않는다.

[문제 1] 아카이브 및 압축 문제.

/var 폴더를 아카이브해서 압축해보세요.

/root/xyz/(만들어줄 폴더명)

cd~ : 루트로 이동해주자.

mkdir xyz : xyz 폴더를 만들자.

cd xyz : xyz 폴더로 이동을 하자.

아래와 같은 방법으로 압축을 해주자.

var_g.tar.gz : tar cvf var_g.tar /var => gzip var_g.tar

var_b.tar.bz2 : tar cvf var_b.tar /var => bzip2 var_b.tar

[문제2]

/test/test2/폴더로 두개의 파일을 복사하세요.

이 폴더에서 압축을 풀고 아카이브도 푸세요.

cd ~ : 루트로 이동을 한다.

pwd : 루트로 이동이 됐는지 현재 경로를 확인을 한다.

mkdir -p /test/test2: p옵션을 이용하여 /test/test2폴더를 만든다.

cd /test/test2: /test/test2폴더로 이동한다.

cp /root/xyz/* . : root/xyz폴더에 있는 모든 파일과 디렉터리를 현재 경로로 복사를 한다.

ls -la : 복사가 잘 됐는지 내용을 출력해보자.

gunzip var_g.tar.gz : var_g.tar.gz의 압축을 풀어 아카이브 파일이 생성되게 하자.

tar xvf var_g.tar : var_g.tar 아카이브 파일을 풀어주자.

bunzip2 var_b.tar.bz2 : var_b.tar.bz2의 압축을 풀어 아카이브 파일이 생성되게 하자.

tar xvf var_b.tar : var_b.tar 아카이브 파일을 풀어주자.

ls -la : 압축이 잘 풀렸는지 확인해보자.

아래는 똑같은 명령어이다.

- gunzip var_b.tar.gz = gzip -d var_b.tar.gz

- bunzip2 var_b.tar.bz2 = bzip2 -d var_b.tar.bz2

- tar cvfz var_g.tar.gz / var : cvfz 옵션은 아카이브를 생성하면서 gzip압축까지 한 번에 해준다.

- tar cvfj var_b.tar.gz / var : cvfj 옵션은 아카이브를 생성하면서 bzip2압축까지 한 번에 해준다.

- tar xvfj var_b.tar.bz2 : xvfj 옵션은 압축도 풀면서 아카이브까지 풀어준다.

- tar xvfz var_g.tar.bz2 : xvfz 옵션은 압축도 풀면서 아카이브까지 풀어준다.

- tar xvfj /root/L8/bg.tar.bz2 -C /root/L8 : C옵션은 아카이브 풀리는 위치를 지정할 수 있다.

<ftp 클라이언트 명령>

- ftp : ftp 실행을 위한 창으로 들어갑니다.

- open www.test.kr : www.test.kr ftp 서버를 열어준다.

(www.test.kr는 임의의 ftp 서버입니다.)

- dir : ls -la와 똑같은 명령어이다.

- cd test : test로 이동해준다.

- get Linux-1.pdf : ftp 서버에 있는 파일을 자신의 컴퓨터로 가져올 때 사용한다.

- ctrl+shift+t : 새로운 탭을 열어 새로운 터미널을 만들어주며 파일을 가져올 때 파일을 받고 있음을 용량을 통해 확인해볼 수 있다.

- 참고로 루트폴더에서 ftp를 열었으면 루트 폴더에 다운받아지고 있음을 알아두자.

- close : 연결한 ftp 서버를 빠져나오게 해준다.

- quit : ftp에서 완전히 빠져나오게 해준다.

- get Linux-1 Linux-2 Linux-3: 여러 개의 파일을 같이 받을 때 사용한다.

- mdelete a.txt b.txt : a.txt와 b.txt를 삭제해준다.

- put : 자신의 컴퓨터에서 ftp 서버로 파일을 업로드해준다.

- mput : 여러 개의 파일을 업로드해준다.

- status : 현재의 상태를 알려준다.

- open www.kernel.org : 익명으로 접근 가능한 ftp 서버이다.

anonymous : 익명 계정 / password : 자신의 메일주소를 쳐주자.

/pub/linux/kernel/v2.6/이란 폴더로 가보자.

dir linux-2.6.22* 이러한 파일을 있는지 검색해보자.

현재 linux-2.6.22.3.tar.gz2가 최신 파일임을 알 수 있다.

< 알아둬야 할 명령어>

- uname -r : 현재 설치되어 있는 커널의 버전을 알 수 있다.

- system-config-network : 네트워크 설정

- service network restart : 네트워크의 수정된 값을 토대로 리스타트 해준다.

cd /etc/sysconfig/network-scripts/ifcfg-eth0 : 첫 번째 랜카드의 설정 값들이 저장되어 있다.

vi ifcfg-eth0 : 명령어로 네트워크 창을 열지 않아도 값을 바꿔서 설정할 수 있다.

단 서비스 네트워크를 리스타트 해주어야 한다.

그리고 이 파일에는 ip address, 게이트웨이, 서브넷 마스크 3가지가 저장되어 있다.

cat /etc/resolv.conf : DNS는 이 파일에 저장이 되어있다.

- system-config-packages : 패키지 추가 설치(윈도우의 프로그램 설치/삭제와 똑같은 기능이다.)

- system-config-securitylevel : 보안수준 설정

다른 건 몰라도 system-config-network / system-config-packages / system-config-securitylevel이 3가지는 알고 있도록 하자.

Posted by 광대
, |

- useradd test01 : test01 계정을 만들 수 있다.

루트 계정 아니면 계정을 만들 수 없다.

참고로 shutdown -r now 역시 루트계정만 사용 가능하다.

useradd 대신에 adduser라고 바꿔서 해줘도 상관없습니다.

- passwd test01 : test01의 암호를 설정할 수 있다.

새로운 암호와, 암호 재확인까지 2번을 물어본다.

암호를 설정해 줄시 에는 심플한 암호나 6자 이내의 암호를 설정이 안 된다.

단, 루트에서는 강제적으로 가능하다.(ex)1234, aaaa )

- su test01 : test01 계정으로 이동해준다.

- su - : 루트 계정으로 이동한다.

- passwd : 현재 로그온 되어 있는 계정의 암호를 변경할 수 있다.

- cd ~ : 홈 디렉터리로 이동해준다.

- useradd -d /AAA/test06 test06 : d옵션은 홈 디렉터리 지정을 하면서 계정을 만들어줄 수 있다.

- useradd -d /AAA/test07 -u 510 -g 500 -c "고 고 싱" -s /bin/csh test07

① d : 홈 디렉터리 지정

② u : 계정 고유번호 지정(사용하지 않는 계정 고유번호를 지정)

③ g : 그룹 고유번호 지정(그룹 고유번호는 존재하는 고유번호를 지정)

④ c : 설명 지정(" " 사이에 설명을 넣으면 공백을 포함시킬 수 있다.)

⑤ s : 쉘 지정

옵션은 생략 가능하다.

- 참고로 일반 계정에서는 프롬프트 옆에 $가 표시/루트 계정에서는 프롬프트 옆에 #가 표시

- 부팅과 관련된 내용이 저장되어 있는 파일 경로 : /etc/inittab

계정과 관련된 내용이 저장되어 있는 파일 경로 : /etc/passwd

위의 파일의 정보를 보고 싶으시면 이미 언급한 명령어지만,

cat /etc/inittab 또는 cat /etc/passwd 로 파일의 내용을 살펴보실 수 있습니다.

단, vi /etc/passwd 명령어로 함부로 내용을 수정하지 마시기 바랍니다.

만약에 xWindow으로 기본부팅이 되어 있어서 텍스트 기반으로 기본부팅으로 하고 싶으실 경우

vi /etc/inittab으로 들어가셔서 id:5:initdefault: 라고 되어 있는 라인에서 5를 3으로 바꿔주시면 됩니다.

- init 명령어

0번 : 종료모드

1번 : 단일 사용자 모드(시스템 복구시 사용)

2번 : 사용안함

3번 : 다중 사용자 모드(텍스트 모드)

4번 : 사용안함

5번 : 다중 사용자 모드(X 윈도우)

6번 : 재가동 모드(리부팅)

- test01:x:503:503:고고:/home/test03:/bin/bash : 이것은 계정을 생성할 때 /etc/passwd/ 저장되는 아랫줄에 보시면 나와 있는 내용입니다. 위의 것을 간단하게나마 설명하고자 한다면,

test01 : 계정명

x : 암호(암호화)

503(첫 번째) : UID(계정의 고유번호)

503(두 번째) : GID(그룹의 고유번호)

:고고: : 설명

/home/test03 : 홈 디렉터리(환경설정 파일이 저장되어 있음)

/bin/bash : 쉘

- usermod -u 520 test10 : 계정의 고유번호를 변경한다.

- usermod -g 501 test10 : 그룹의 고유번호를 변경한다.

- usermod -c "안녕" test10 : 설명 변경.

- usermod -d /home/test10 test10 : 홈 디렉터리 변경.

(홈 디렉터리 변경을 할시 에는 예전에 있는 폴더에서 그 디렉터리를 가져와야 한다.

mv /AAA/KKK/test10 /home/

ls -la /home 명령어로 확인해 볼 수 있다.)

- /etc/shadow : 이 파일에 패스워드(암호)와 관련된 정보가 저장되어 있다.

- grub : grub에 입장하는 명령어로 암호를 치면 암호화됨을 확인해볼 수 있다.

종료를 할시 에는 quit라고 쳐주면 된다.

- md5crypt : 1234입력하면 암호화돼서 출력된다.(grub에서 확인가능)

똑같음 암호라도 입력할 때마다 암호화는 다르게 적용된다.

grub> md5crypt

Password: ****(1234)

Encrypted: $1$stew8$adIQ.jRZgF5DVKGN.QkPr.

- userdel test10 : test10 계정 삭제한다. 단, 계정은 삭제되지만 홈 디렉터리는 삭제되어있지 않다.

ls -la /home에서 확인해볼 수 있다. 이렇게 삭제하면 생성된 홈 디렉터리를 찾아 삭제해주어야 한다. rm -rf /home/test10라고 명령어를 쳐주면 된다.

- userdel -r test10 : test10 계정을 생성하면서 생성된 홈 디렉터리까지 함께 삭제해준다.

- useradd -D -b /AAA : 기본 홈 디렉터리 지정(기본적으로 /home폴더에 만들어짐)

- useradd -D -s /bin/tcsh : 기본 쉘 지정(기본적으로 /bin/bash폴더로 생성)

- useradd -D -b /home -s /bin/bash : 원래대로 돌려놓도록 하자.

- -D옵션의 나머지 : g옵션은 기본 그룹을, e는 기본 만료일 지정

- chage -l UserID : linuxer 계정에 대해서 chage 명령을 통해서 제약 조건을 걸 수 있다.

- chage -m 30 -M 60 ytbing : ytbing이라는 계정에 대해서 30일 후에 비밀번호를 바꿀 수 있으며, 60일 이내에 비밀번호를 바꿔야 한다는 제약 조건을 걸고 있다.

- chage -E 07/09/17 ytbing : 2007년 9월 17일에 계정 사용을 만료시키는 명령이다.

- groupadd groupA : groupA 그룹을 생성한다.

- cat /etc/group : 그룹을 만들면 group에 저장이 된다.

- gpasswd groupA : groupA 그룹에 암호를 만든다.

- cat /etc/gshadow : 그룹 암호는 암호화되어 gshadow에 저장이 된다.

- groupdel groupA : groupA 그룹을 삭제한다.

- vi /etc/group한 후에 groupA 그룹 옆에 계정을 입력하여 포함시킬 수 있다.

( ex) fedora.test01.test02 : .으로 각각의 계정을 구분)

- 파일을 보는 방법이다.

아래의 파일은 install.log의 변경되기 전의 본래 파일 정보이다.

-rw-r--r--1 root root 73288 6월14 11:26 install.log

① -(가장 첫 번째 있는 것) : d(디렉터리) 나 l(링크)가 올 수 있다. 파일 유형 자리이다.

② rw-r--r-- => rw- r-- r-- : 3자리씩 구분되어진다.

rw- : 소유자 권한 / r-- : 그룹 권한 / r-- : 기타 계정(사용자) 권한

권한이 다 채워져 있다면 rwx로, r는 읽기, w는 쓰기, x는 실행이다.

③ 1 : 링크 수

④ root(첫 번째) : 소유주 이름

⑤ root(두 번째) : 그룹 이름

⑥ 73288 : 파일 크기

⑦ 6월14 11:26 : 마지막 변경날짜

⑨ install.log : 파일이름

소유권과 허가권은 소유주만이 줄 수 있다.

- chmod u+x install.log : install.log 파일의 소유자에게 실행 권을 준다. u는 소유자를 의미한다.

- chmod u-rwx install.log : install.log 파일의 소유자에게 모든 권한을 해제한다.

- chmod g+wx install.log : install.log 파일의 그룹소유자에게 쓰기와 실행 권한을 준다. g는 그룹을 의미한다.

- chmod o-r+wx install.log : install.log 파일의 기타계정에게 읽기 권한을 빼고, 쓰기와 실행 권한을 준다.

- chmod 763 install.log : 실제로 위의 명령어보다 이 명령어가 자주 사용한다.

7은 소유자, 6은 그룹, 3은 기타사용자 (r = 4, w = 2, x = 1)

- chown test10.groupCCC install.log : install.log 파일의 소유주를 test10으로, 그룹 이름을 groupCCC라고 변경해준다. chown .fedora install.log : install.long 파일의 그룹만 fedora로 변경해준다. .앞쪽은 계정, 뒤쪽은 그룹이다.

풀이 문제 1)

test10 계정을 생성

홈 디렉터리 : /AAA/KKK/test10

UID : 520

GID : 500

shell : /bin/tcsh

설명 : "이름, 전화번호, 주소, 직업"

풀이 문제 2)

install.log에 r-x--xrwx 권한 할당을 해줘라. 517

install.log에 ---rw--w- 권한 할당을 해줘라. 062

install.log에 rw---x-wx 권한 할당을 해줘라. 613

install.log에 rwx----wx 권한 할당을 해줘라. 703

install.log에 --xr---wx 권한 할당을 해줘라. 143

install.log에 -w--w-r-- 권한 할당을 해줘라. 224

풀이 문제 3)

install.log의

소유주 : test50

그룹 : groupCCC 으로 변경하세요.

Posted by 광대
, |

- who : 현재 시스템에 접속된 사용자의 정보를 상세히 나열한다.

- whoami : 유효사용자ID 확인 명령

- id : 사용자정보, uid, gid, 그룹정보를 확인하는 명령어이다.

- history : 명령어 히스토리 및 지난 명령어 재사용(재사용용 : - !번호 )

- pwd : 현재 경로를 알려준다.

- cd .. : 상위 디렉터리로 이동해준다. (대소문자 구분 확실히 해줘야한다.)

- cd / : 바로 최상위 디렉터리로 이동해준다.

- cd ../../ : 그만큼 상위 디렉터리로 이동해준다.(상대경로)

- cd /AAA/ccc : 어느 폴더에서든 ccc 폴더로 이동해준다.(/는 절대경로)

- ls : dir과 똑같은 기능. 현 경로의 디렉터리를 내용을 출력해준다.

- ls -l : 그 디렉터리를 자세히 출력해준다. (이름 위치, 그룹, 용량 만들어진 날짜, 시간 등)

- ls -a : 숨겨진 파일을 출력해준다.

- ls -la : 숨겨진 파일까지 출력해준다.

- ls -la /AAA : AAA폴더의 내용을 출력해줘라.

- clear : 창을 깨끗이 해준다.

- mkdir AAA : AAA 폴더를 만들어준다.(다중으로 만들 수 있다. ex) mkdir aaa bbb ccc CCC)

- mkdir -p eee/fff/ggg/hhh : p 옵션은 하위 디렉터리까지 만들어준다.

- rmdir ccc : ccc폴더를 삭제해준다.(단 디렉터리가 비워있어야 한다.)

- touch aaa.txt bbb.txt : aaa.txt와 bbb.txt 빈 파일을 생성해줘라.

- rm aaa.txt : aaa.txt 파일을 삭제하겠다.(rm은 파일 삭제)

- rm -f aaa.txt : 삭제하겠냐고 묻지 않고 강제 삭제해준다.

- rm -r : 파일 삭제 명령어지만 r 옵션은 디렉터리를 삭제해준다.(하위 디렉터리까지 삭제해준다.)

- rm -rf DDD : 삭제하겠냐고 묻지 않고 강제적으로 DDD 폴더를 삭제해준다.

- cal : 달력이 출력된다.

- date : 날짜가 출력된다.

- date 101203102002 : 10월 12일 3시 10분 2002년으로 세팅하여 출력해준다.(월 일 시 분 년도 순으로 입력)

- rdate -s time.bora.net : 보라넷의 시간을 출력해온다. 정확한 현재 시간.(단 인터넷이 연결되어 있어야 한다.)

- cp aaa.txt ddd.txt : aaa.txt를 ddd.txt로 복사를 해준다.(리눅스에서는 확장자 의미가 없다.)

- cp aaa.txt .. : aaa.txt 파일을 상위 디렉터리에 복사해준다.

- cp /etc/inittab . : 입력된 절대경로의 파일을 현재 경로로 복사해온다.

- cp -r bbb kkk: cp에서 r 옵션은 하위 폴더까지 전부 복사할 때 사용한다.

- cat inittab | more : |는 여러 명령어를 사용할 때 사용하는 것으로, more 끊어서 출력해준다.

스페이스는 한 단락씩, 엔터는 한 문장씩.(파일 내용 보기 : cat, head, tail)

- mv aaa.txt CCC : aaa.txt를 CCC 폴더로 이동해준다.

- mv ddd.txt ccc.txt : ddd.txt를 ccc.txt로 이름을 변경해준다.

- du, df : 디스크 사용량 확인하는 명령

- ps, uptime, top : 시스템 모니터링 및 프로세서 관리

- free : 메모리 사용 현황

- w : 사용자들이 현재 어떤 작업을 하고 있는 알 수 있는 명령

- last : 모든 계정들의 서버 접속정보 ( last ytbing)

- lastlog : 각 계절의 최근 접속 정보

- vi kkk.txt : i나 a를 누르면 입력모드 // esc는 명령모드 // esc 누르고 :(콜론) 누르면 라인모드

<명령모드>

h는 왼쪽 한 칸, l은 오른쪽 한 칸

j는 아래쪽 한 칸, k는 위쪽 한 칸

yy는 한라인 복사, 7yy는 7라인 복사, p는 붙여넣기

x는 한 글자 삭제, dw는 단어 삭제

dd는 한 라인 삭제, 5dd는 5 라인 삭제

<라인모드>

:wq는 저장하고 나오고, :q는 저장하지 않고 나온다.

:wq!는 위의 방법으로 종료가 안 될시 강제 종료시킨다.

:set nu(number)는 번호출력

/default : default가 있는지 검색해준다.

n은 다음 찾는 곳으로 커서를 이동해준다.


Posted by 광대
, |

<마운트(mount)>

- 참고로 여기에 쓰이는 명령어 CD는 FC4-i386-DVD파일입니다.

Fedora Core4 iso 이미지 파일이니 설치하셨던 분은 눈치 채실 수 있을 겁니다.

- df -T : 현재의 마운트 상태를 보여준다. cd를 빼기 위해서는 umount 명령어를 이용해줘야 한다.

- umount /media/cdrom : cd-rom을 umount시킨다. 단, cd-rom 파일들을 벗어난 상태에서 사용해야 한다.

=> cd /(최상위 폴더로 올라가서 언 마운트 시켜주면 될 듯)

- mount -t iso9660 /dev/hdc /media/cdrom

: hdc(Secondary Master) 장치를 cd-rom으로 연결해준다.

iso9660 파일 시스템을 이용하도록 하자.

① iso9660 : 파일시스템

② /dev/hdc : 장치 파일

③ /media/cdrom : 마운트 포인트

- mount -t iso9660 /dev/hdc /media/cdrom = mount -t iso9660 /dev/cdrom /media/cdrom

둘다 똑같은 명령어니 hdc로 하시든 cdrom으로 하시든 편하신 방향으로 하길 바랍니다.

- mount -auto /dev/hdc /media/cdrom : 시디롬을 자동으로 마운트

- mount /dev/cdrom /mnt/cdrom : 다른 리눅스에서는 이렇게 해줘야할 때가 있다.

예) c:\ linux / d:\ xp / e:\ window98 / f:\ 2000

위의 예처럼 파티션이 4개로 분할되어 있다고 가상했을 때 다른 파티션의 내용을 보기 위해서는 마운트 시켜줘야 한다.

① wind98에서는 fat이나 fat32로 되어 있는데, 마운트 시킬시 에는 => mount -t vfat /dev/hda3 /win98

② 2000을 마운트 시킬시 에는 => mount -t ntfs /dev/hda4 /windows2000

③ 리눅스 파일 시스템 마운트 시킬시 에는 => mount -t ext3 /dev/hda1 / linuxtest

④ usb 저장 디스크 마운트 시에는 => mount -t vfat(또는 ntfs) /dev/sda1 /media/usbdisk

<IDE 구성>

- Primary Master(0:0) HDD hda

Slave(0:1) hdb

Secondary Mster(1:0) CD-ROM hdc

Slave(1:1) hdd

- cd /media/cdrom : 시디롬에 마운트된 파일들

cd /media/cdrom/Fedora/RPMS : RPMS 폴더에 리눅스의 모든 설치파일들이 저장되어 있다.

<mkisofs 프로그램을 이용하여 iso 이미지 파일 생성 방법>

- mkisofs -r -J -input-hfs-charset UTF-8 -o /root/test.iso /boot

: /boot 폴더를 test.iso라는 이름으로 만들어 /root 폴더에 저장한다.

"-r -J -input-hfs-charset UTF-8 -o"는 옵션 값이다.(이건 외우도록 해주자)

<이미지 파일 마운트>

- mount -o loop /root/test.iso /media/cdrom

: test.iso 마운트 해준다. "-o loop" 옵션은 이미지 파일 마운트 시켜준다.

cd /media/cdrom : 포인트 지점은 /media/cdrom으로 이동

ls -la : 내용을 출력

umount /media/cdrom : 어마운트

이렇게 하면 이미지 파일 내용을 확인해볼 수 있다.

(테스트해볼 목적의 순서이니 원하는 대로 테스트해보도록 하자.)

[문제] /AAA의 파일을 iso 파일로 만든 후 이를 마운트 시켜보자.

(/AAA는 가상의 폴더이므로 없으시면 만드셔도 되고 임의의 폴더를 지정해주자.)

(가능하면 아래의 순서는 안보고 해보도록 하자.)

1. umount /media/cdrom : 기존의 시디롬을 어마운트

2. df -T : 어마운트가 됐는지 확인

3. mkisofs -r -J -input-hfs-charset UTF-8 -o /root/test2.iso /AAA : iso 파일 생성

4. mount -o loop /root/test2.iso /media/cdrom : iso 이미지 파일 마운트

5. cd /media/cdrom : 마운트 포인트 지점으로 이동

6. ls -la : 내용 출력

7. umount /media/cdrom : 출력 확인 후 다시 어마운트

8. df -T : 어마운트가 됐는지 재확인

<리눅스와 프로그램 설치 확인>

- rpm -qa : 프로그램이 설치되어 있는지 확인해보는 명령어

- rpm -qa mkisofs : iso이미지 파일에 있는 만드는 프로그램인 mkisofs 프로그램이 설치되어 있는지 확인해본다. 참고로 mkisofs 프로그램은 가상머신을 깔면 자동으로 깔리는 프로그램이다.

- rpm -qa mc : mc라는 프로그램이 컴퓨터에 설치되어 있는지 확인해본다. 설치되어 있지 않다면 아무것도 출력하지 않는다.

<RPMS 설치>

- RPM이란 Redhat Package Manager의 약자이다. 윈도우의 setup.exe와 비슷하게 프로그램을 설치한 후에 바로 실행할 수 있는 설치 파일로 제작되어 있고, 확장명은 *.rpm이며, 이를 패키지라고 부른다.

- mount -t iso9660 /dev/hdc /media/cdrom 명령어로 마운트 시킨다.

cd /media/cdrom/Fedora/RPMS 명령어로 이동하자.

예 ) firefox-1.0.4-4.i386.rpm => <패키지이름><버전><릴리즈번호>.<아키텍처>.rpm

(i386은 인텔기반임을 의미로, 대부분 i386으로 되어 있다.)

① 패키지이름: firefox 프로그램의 이름

② 버전: 1.0.4 대개 3자리 수로 구성되며 높을수록 최신버전

③ 릴리즈번호: 4 문제점을 개선할 때마다 붙이는 번호

④ 아키텍처: CPU 즉, 이 파일이 설치 가능한 CPU를 의미(CPU 정보를 알수 있는 명령 : arch)

참고: 아키텍처부분에 올 수 있는 것은 다음과 같다.

i386, i486, i586, i686 : 인텔 또는 AMD 계열의CPU

alpha/sparc/ia64 : 해당 CPU를 의미

src : 소스파일패키지. 설치 후에는 별도로 컴파일 해야 함

noarch : 모든 CPU에 설치 가능(NO ARCHitecture)

- rpm -qa mc(x) // rpm -qa mkisofs // rpm -qa bind // rpm -qa vsftpd(x)

일단 위의 명령어로 설치하고자 하는 rpm 프로그램의 설치 유무를 확인해보자.

(위의 명령어는 임의로 한 명령어니 깔고자 하는 프로그램을 확인해보도록 하자.)

cd /media/cdrom/Fedora/RPMS

ls -la mc* : mc로 시작하는 프로그램을 찾는다.

rpm -iv mc(tap키는 자동 완성 기능) : i옵션은 설치, v 옵션은 설치과정을 확인, h옵션은 설치 진행 과정을 # 마크로 출력.

rpm -Uvh mc(tap키는 자동 완성 기능) : U옵션은 기존의 패키지가 설치가 안 되어 있으면 설치하고, 설치가 되어 있다면 업데이트를 한다.

rpm -e mc : mc 프로그램 삭제

mc : 과거의 도스와 똑같은 프로그램이다. 빠져나올시 에는 exit라고 쳐주면 된다.

- 최상위 루트에서 설치

rpm -Uvh /media/cdrom/Fedora/RPMS/mc(tab)

rpm -ql mc : mc 프로그램에 어떠한 파일들이 포함되어 있는지 출력

rpm -qi mc : 설치된 패키지의 상세정보 출력

- rpm 설치/삭제/확인 옵션인 -Uvh, -e, -qa 이 3가지는 반드시 알고 있자.

<파일검색>

* find: 사용자가 지정한 특정 범위에 해당하는 모든 파일을 검색($ find 옵션1 옵션2)

옵션(1)

기능

옵션(2)

기능

-atime N

n일 전에 액세스(access)된 파일을 찾습니다.

-exec CMD

명령(CMD)을 실행합니다. 명령행의 끝은 반드시 \; 로 닫아 주어야 합니다.

현재 찾은 파일이름의 배열을 {}로 입력으로 사용할 수 있습니다. 아래 명령은 확장자가 bak인 모든 파일을 찾아 삭제합니다.

find ./ -name '*.bak' -exec rm -f {} \;

-mtime N

n일 전에 수정(modify)된 파일을 찾습니다.

-ok CMD

명령을 실행하기 전에 사용자 입력을 기다립니다.

-newer USR

file보다 늦게 수정된 파일을 찾습니다.

-print

표준출력(stdout)으로 출력합니다. 기본설정입니다.

-size n

n*512 바이트 길이를 가지는 파일을 찾습니다.

-ptint0

-print와 같이 동작하지만 출력의 끝에 개행 문자를 붙이지 않습니다.

-name WORD

파일 이름으로 검색합니다. 이름에는 메타 문자(*, ?, [])를 사용할 수 있습니다.

-fprint FILE

-print와 같이 동작하면서 출력을 지정한 파일로 보냅니다.

-perm MODE

퍼미션으로 검색합니다. (-perm +2000)

-printf FORM

c 스타일의 포맷을 사용하여 출력합니다.

man 3 printf

-type LETTER

파일형식으로 검색합니다. f는 보통 파일, d는 디렉토리 파일을 의미합니다.

-ls

ls -dils 형식으로 파일 정보를 자세히 출력합니다.

-user USR

사용자 이름이 usr인 파일을 찾습니다.

-fls

-ls 와 같이 동작하면서 출력을 지정한 파일로 보냅니다.

-nouser

파일 소유자 이름이 등록되어 있지 않은 파일을 찾습니다.

-nogrp

파일 소유 그룹 이름이 등록되어 있지 않은 파일을 찾습니다.

- find / -name test1.c -print : 최상위 루트 디렉토리부터 검색하여 검색된 파일을 한 행에 하나씩 표준 출력

- find . -name test1.c -print : 현제의 작업 디렉토리에서 검색

- find / -size +1000 -print : 최상위 루트에서 크기가 1000블록 이상인 파일 검색

- find . -size -1000 -print : 현 디렉토리에서 크기가 1000블록 이하인 파일 검색

- find . -mtime +10 -print : 10일 이전에 수정된 파일 검색

- find . -mtime -10 exec rm {} \; : 10일 이내에 수정한 파일을 검색하여 모두 지운다.

<yum을 이용한 rpm 프로그램 설치>

- find /media/cdrom -name dovecot* : 메일관련 프로그램 검색

- rpm -Uvh /media/cdrom/Fedora/RPMS/dovecot(tab) : 오류 발생

=> 종종 설치가 안 되는 프로그램이 있다.

이것이 RPM의 단점으로 의존성에 있다.

즉 어떠한 프로그램이 설치되어 있어야 깔고자 하는 프로그램이 설치되는 것이다.

이러한 초보자들의 불편한 점을 해결해주는 것이 yum 명령이다.

yum은 인터넷에 연결해서 설치해준다.(미러 사이트에서 다운받아서 설치한다)

* yum 기본 명령

yum list : 업데이트 가능한 모든 소프트웨어 리스트 보이기

yum check-update OR yum list updates : 업데이트 가능한 패키지 보기

yum update : 업데이트 가능한 패키지 업데이트하기

yum install : 특정 패키지 업데이트 하기

yum search : 패키지 검색

yum info : 패키지의 기본 정보보기

- yum install dovecot : yum 명령어를 이용한 인스톨(의존성이 있는 패키지)

- 설치가 잘 됐는지 확인

rpm -qa dovecot

rpm -qa mysql

rpm -qa qa perl-DBI

- 설치한 것을 삭제

rpm -e dovecot

rpm -e mysql

rpm -e qa perl-DBI

=> 의존성이 이는 패키지의 경우 삭제할 때는 순서를 지켜줘야 한다.

위에서도 언급했지만 의존성이란 단점 때문이다.

위의 프로그램은 dovecot -> mysql -> perl-DBI 순으로 삭제를 해줘야한다.

만약에 순서를 틀리게 되면 이러한 프로그램부터 삭제를 해줘야 한다는 문장과 함께 오류가 걸릴 것이니 알아두자.

- 잘 지워졌는지 확인

rpm -qa dovecot

rpm -qa mysql

rpm -qa qa perl-DBI

- yum -y install dovecot : y 옵션은 설치할 것이냐고 묻지 않고 강제로 예스가 되며 설치.

- yum remove mysql : mysql을 삭제해준다.(의존성이 있는 패키지일 경우)

- yum -y remove mysql : 강제적으로 y를 해줌으로써 질문에 대답을 자동으로 해준다.

- yum과 관련된 파일이 있는 폴더이다.

cd /etc/yum

cd /etc/yum.repos.d/

<업데이트>

- yum check-update : 업데이트가 가능한 패키지를 출력한다.

- rpm -qa firefox : firefox가 설치되어 있는지 확인한다.

- yum info firefox : firefox 정보 출력한다.

- yum update firefox : firefox를 업데이트한다.(1.0.4 => 1.0.8)

- yum update : 컴퓨터의 모든 패키지를 업데이트해준다.

=> 직접 해본적은 없으나 듣기로는 대략 6시간 정도 걸린다고 함. 컴퓨터에 따라 달라질지는 알 수는 없다.

- rpm -qa firefox : 업데이트가 잘 되어졌는지 확인해보자.

만약에 설치가 잘 안된다든지 뭔가 이상이 생겼다면 이럴 때는 초반에 snapshot을 해놓은 것이 있을 겁니다. 초반 상태로 되돌려줍시다.

본인도 설치에 약간 문제가 생겨 초반에 해놓은 상태도 되돌려 다시금 실행해보니 잘 되었습니다.

리눅스는 초반에 설치한 후 인터넷이 잘되는지 확인을 한 후 snapshot을 해놓은 것은 필수입니다.

이미 언급한 내용이지만 중요한 파일을 지운다거나 한다면 리눅스 실행에 있어서 문제가 발생하기에 초반에 snapshot은 해놓으셔야 합니다.

만약에 안 해놓고 문제가 발생하면 그런 경우는 다시 설치하는 것을 권해드립니다.

Posted by 광대
, |
012345678910111213141516

Posted by 광대
, |

VMware는 컴퓨터 속에 또 다른 가상PC를 만들어 주는 프로그램입니다.

 

만약 내 컴퓨터에 다른 운영체제를 설치하고 싶다면, 하드의 파티션을 나누고 운영체제를 설치한 후 시작 때 마다 멀티부팅에서 사용하고자 하는 운영체제를 선택해야 합니다.

운영체제를 전환하기 위해서는 다시 재부팅을 해야 하는 번거로움을 겪어야만 합니다.

그러나 VMware Workstation이 설치되어 있다면 언제든지 가상PC를 띄워 다른 OS로 접근할 수 있습니다.

 

한 컴퓨터에 여러 OS를 설치하여 운용한다든지 특정 OS를 필요로 하는 프로그램을 구동시킨다던가 혹은 두개의 OS를 동시에 띄워놓고 작업해야할 경우가 많다면 VMware Workstation을 설치하는 것을 고려해 보아야 할 것입니다.

 

단, VMware Workstation은 실제 PC에 가상의 PC를 에뮬레이팅 해주는 프로그램이기 때문에 어느정도 시스템 사양이 따라주어야 원활하게 동작합니다. 저사양의 컴퓨터에서는 느리게 동작할 수 있습니다.

 

현재 VMware Workstation은 버젼 5.5 까지 릴리스 되었고 설치할 수 있는 운영체제는 MS Dos 에서부터 Windows 3.1, 95, 98, Me, 2000, XP, Server 2003, Vista 와 Red Hat Linux, SUSE, Novell, Sun Java, NetWare, Solaris 등 거의 모든 운영체제를 지원하고 있습니다.


 

VMware Workstation 설치 및 실행


VMware는 리눅스용과 윈도우즈용이 있으며 http://www.vmware.com/download/ws/ 에서 다운로드 받을 수 있습니다.

 

자신의 OS에 맞는 버젼으로 다운받아 설치하시면 됩니다. 단, 쉐어웨어이므로 등록을 하지 않을 경우 30일 간의 사용제한이 있습니다.

 

다운 받은 파일을 실행하면 다음과 같은 화면이 나타납니다.

 



설치가 진행되면 라이센스 동의 화면이 나오고 이어 설치할 폴더를 선택하는 화면이 나타납니다. 설치 중에 CD -ROM 자동 실행기능을 비활성화 할 것을 권유하는 메세지가 나타날 수 있습니다. Finish 버튼을 눌러 설치를 종료합니다.




VMware Workstation을 실행하면 위와 같은 창이 열립니다. 여기서 처음으로 가상머신을 만들어야 하므로 New Virtual Machine을 클릭합니다.




가상머신 위자드의 첫째 화면에서 일반 설정과 사용자 설정 중에 하나를 택해야 합니다. 일반 설정은 대부분 설정이 자동으로 맞추어 지고 좀 더 세밀하게 지정하고 싶은 분들은 사용자 설정을 선택합니다. 여기서는 일반 설정으로 지정하겠습니다.




운영체제를 선택할 수 있는 페이지입니다. 자신이 설치하고자 하는 운영체제를 선택한 후 다음 버튼을 누릅니다. Windows Me를 설치해 보겠습니다.

 


 

가상PC의 이름과 파일이 저장될 위치를 지정해 줍니다.




가상PC에 사용될 네트워크 환경을 설정해 주는 부분입니다.

  • Use bridged networking : 현재 호스트PC에서 사용하는 인터넷 설정을 가상PC에서도 그대로 적용하여 사용
     
  • Use network address translation [NAT] : 가상PC에서 호스트 내부IP를 할당하여 사용
     
  • Use host-only networking : 호스트PC만 네트워크를 사용
     
  • Do not use a network connection : 네트워크 연결을 사용하지 않음

첫번째 옵션에서 인터넷이 연결되지 않는다면 두번째 옵션을 선택하면 대부분 연결이 되며, 옵션값은 나중에 변경이 가능하므로 여기서는 디폴트 값으로 선택합니다.




가상머신에 할당할 하드공간을 설정합니다. 예전 버전에서는 할당할 수 있는 최고 용량이 4G였는데, 5.5에서는 자유롭게 할당할 수 있게 되었습니다. 원하는 적당한 크기로 용량을 할당해 줍니다.

  • Allocate all disk space now : 사용 가능한 모든 디스크 용량을 미리 할당
     
  • Split disk into 2 GB files : 디스크의 크기를 2GB로 분할

마침 버튼을 누르면 새로운 가상PC가 생성됩니다.

 



위 그림과 같이 새로운 가상PC가 생성된 것을 볼 수 있습니다. 빨간 박스안의 메뉴는 '가상머신 시작', '가상머신 설정 변경', '가상머신 복제' 입니다. 일단, 가상머신이 만들어 졌다고 해도 OS를 설치하지 않고는 쓸 수 없습니다.

 

이제 OS 설치부분으로 넘어가겠습니다. OS 설치 시디를 시디롬에 넣고 'Start this Virtual Machine'을 클릭합니다.

 



부팅이 시작되면서 위와 같은 화면이 나타납니다. 이 때 검은 화면을 마우스로 한번 클릭한 후 F2 키를 누릅니다. 검은 화면을 클릭하는 이유는 마우스와 키보드의 컨트롤을 가상PC로 넘기기 위해서 입니다. 다시 원래 호스트 PC로 돌아올려면 Ctrl + Alt 키를 누르면 됩니다.

 



익숙한 화면이 나타나는데, 바로 CMOS SETUP 화면입니다. 물론 가상PC의 CMOS 설정은 실제 하드웨어에는 아무런 영향을 주지 않으므로 걱정하지 않아도 됩니다. 여기서는 OS를 설치하기 위해 부팅 순서를 바꿔 주어야 합니다. 방향키와 +/- 키를 이용해 CD 혹은 플로피로 먼저 부팅이 되게 설정한 후 저장하고 나옵니다.

 



CD - ROM에 설치 시디가 있다면 시디로 부팅이 되면서 메뉴가 나타나는데 윈도우를 설치한 경험이 있으신 분이라면 무리없이 위와 같이 설치화면으로 이동할 수 있을 것입니다. 안내에 따라 OS를 설치하시기 바랍니다.




OS 설치를 모두 마치고 정상적으로 가상PC가 구동되고 나면 한가지 해야 할 일이 더 있습니다. 바로 VMware Tools를 설치하는 것인데, VM 메뉴에서 'Install VMware Tools...'를 클릭하셔서 설치하시면 됩니다.



가상PC 화면에 위와 같은 그림이 나타나면 'Next' 버튼을 클릭하여 설치를 완료합니다. 이 도구는 가상PC의 해상도 변경과 사운드를 지원해 주는 도구입니다.


이상으로 VMware의 설치에서 가상PC를 만드는 것까지 모두 마쳤습니다. 다음 부팅 때 CMOS에서 부팅 순서를 하드가 처음으로 오게 하는 것 잊지 마시고, 참고로 전체화면 단축키는 Alt + Ctrl + Enter 입니다.

Posted by 광대
, |

파일 시스템 및 디렉토리 구조

구 분

내 용

파일시스템

시스템 디스크파티션에 파일들을 저장하는 연속적이고 일정한 규칙들의 방식 제시 역할

파일시스템의 구조

슈퍼블록, 아이노드, 데이터블록, 디렉토리블록, 간접블록, 홀

파일시스템의 종류

minix

리눅스 파일 시스템 대부분의 기능을 제공하는 파일 시스템

xiafs

파일이름과 파일시스템에 대한 제한을 보안한 미닉스 수정 버전

(현재 사용도 낮음)

nfs

네트워크 파일 시스템

ext

리눅스 초기 파일시스템 호환성이 없던 ext2의 구버전

ext2

ext를 보안하여 기능적인 측면보다는 파일시스템의 효율과 퍼포먼스에 중점을 두고 디자인된 파일 시스템

(파일내용 수정도중 시스템문제가 생길 경우 파일시스템 손상,

파일시스템 복기기능이 지원되지만 긴 복구시간이 문제점)

ext3

ext2의 단점을 보안, 시스템의 무결성은 물론 복구기능 보유,

저널링(fsck보다 빠르고 안정적인 복구기능 기술) 제공

저널링 파일 시스템의 구조

로그영역

수정을 위한 로그 데이터를 저장

파일시스템영역

관리영역과 데이터 영역으로 구성

트랜잭션 : 저널링파일시스템에서 로그에 내용을 저장하는 수행단위

트랜잭션 수행과정

①트랜잭션 할당단계 ②트랜잭션 추가단계 ③트랜잭션 위탁단계

파일 시스템 관리

명령어

fsck

파일 시스템 복구 명령어

※ fsck명령을 사용하기 위해 먼저 점검할 장치를 언마운트 하지 않으면 파일 시스템이 깨질수 있음

tune2fs

파일 시스템 튜닝 명령어(시스템 설정 변경 명령어)

※잘못 사용할 경우 파일 시스템에 치명적

디렉토리 구조

/bin

시스템의 기본적인 바이너리, 실행파일 디렉토리

/dev

디바이스 드라이버 디렉토리

/dev/console

시스템의 콘솔

/dev/ttys, /dev/cua

시리얼 포트

/dev/hd

하드 디스크

/dev/lp

패러럴 포트

/dev/tty

가상 콘솔

/etc

다양한 시스템 설정 파일 디렉토리

/sbin

/bin에 대비되는 디렉토리, 시스템관리자의 필수사용 바이너리

/home

사용자들의 홈 디렉토리

/lib

시스템전체 운영에 필수적인 공유라이브러리 이미지가 들어있음

/proc

메모리에 존재하는 가상파일시스템 디렉토리

/usr

시스템에 영향을 주지 않는 선택적 프로그램과 설정파일을 지닌 하위디렉토리들을 가지고 있음

/var

시스템운영 도중에 파일크기가 변하는 요소들(에러, 로그파일, 로그, 스풀링)을 담고 있는 디렉토리

Posted by 광대
, |

최근에 달린 댓글

최근에 받은 트랙백

글 보관함