2010년 6월 30일 수요일

자동 실행 ...

이것에도 여러가지가 있습니다만

1. 부팅시 자동실행

linux>> vi /etc/bash/bashrc


실행할 명령어 추가
:wq

2. 로그인시 계정별 실행

linux >> vi ~/.bash_profile ## ~/ 는 각 사용자별 홈폴더를 의미합니다.

하단에 scp a.sh ./aa/bb/cc/this 실행할 명령어 추가

:wq



2. 시간에 맞추어 일시분을 이용한 자동실행 ( cron 데몬이용 )



linux>> crontab -e



00 18 * * * scp a.sh ./aa/bb/cc/this ## 매년 매월 매일 저녁 6시 00분에 scp a.sh ./aa/bb/cc/this 자동 실행



:wq





=======================================================================







1.



/etc/rc.d/init.d 에 쉘스크립트를 넣는다. (심볼릭 링크로 등록)







root에서 /sbin/chkconfig --add [서비스 파일 명] (반대는 --del [서비스 파일 명])







(런레벨 설정..)







2.



crontab - 시간 요일 달 년, 스케쥴에 따라 작동시키기...



/var/spool/contab/root 에 할 일 작성 (혹은 /etc/clontab)







3. 이건 자동 실행은 아니지만 간단 실행?



링크시키기.



/ln [간단한 명령어] /bin/out







=======================================================================







.bash_profile에 해당 명령어를 alias 주는 방법이 있습니다.







예)



alias a_scp = 'a.sh ./aa/bb/cc/this'



alias ll = 'ls -l'







머 이런식으로 주시면 되구요..







여러 명령어를 한꺼번에 하시려면







aaa.sh 파일을 만드시고







#!/bin/bash



실행할 명령어1



실행항 명령어2







로 넣어주고 해당 파일에 chmod +x aaa.sh 로 실행 권한을 주셔서



해당 파일을 실행하시면 됩니다..

2010년 6월 29일 화요일

자동마운트

테스트 OS : Kubuntu 9.10




예전에 윈도에서 C와 D로 하드를 나눠쓰다가 결국 C를 밀어버리고 리눅스를 깔아버린터라

부팅할때마다 ntfs의 D드라이브와 외장하드를 마운트해줘야했다.

사실 쿠분투에서는 돌핀을 쓰면 그냥 왼쪽에 검색된 디스크 아이콘만 눌러도

자동으로 /media/disk 에 마운트 되기 때문에 큰 불편은 없었지만

윈도에서 쓰던 토커를 잊지 못해 크루세이더 Krusader를 깔았다.

이녀석이 고맙게도 마지막에 사용했던 탭들의 개수 및 경로를 기억하는 터라..

부팅한뒤 바로 크루세이더를 띄우면 마운트 되었던게 해제되어버려 상당히 귀찮게 되었다.

게다가 QBittorrent를 사용할때는 더욱이 조심해야 했다.



그래서 결국 자동 마운트를 설정하기로 결심하고 구글링을 시작...

가장 먼저나오는 글을 통해 문제를 해결했다.



참고글 1 : auto-mounting-hard-disk-at-boot-up

쉬운영어에 친절한 설명이라 쉽게 이해할 수 있지만...

자막만들던시절이 문득 떠올라 초안 수준으로 번역했다.



우리 학생들에게 전형적인 리눅스 시스템은

리눅스의 root 파티션과 우리 windows 시스템의 NTFS 시스템으로 구성된다.

그래서 리눅스를 부팅할 때마다, 먼저 task를 시작하기 위해 NTFS 파티션을 마운트해야만 한다.

어떻게 시스템이 부팅시에 디스크를 자동마운트하게 만들수 있는지 살펴보자.



모든 리눅스기반 시스템은 '/etc/fstab'라는 이름이 붙은 파일로 구성되어 있다.

운영체제가 부팅할 때마다 운영체제는 어떤 디스크가 마운트되는지

그리고 어디에 마운트 되어야 하는지를 알기위해 이 파일을 살펴본다.



그러니 이 논리는 꽤 단순하다.

그냥 OS가 자동마운트했으면 하는 파티션에 해당하는 항목를 추가하라.



/etc/fstab 안의 전형적인 항목이 어떻게 생겼는지 살펴보자.



$cat /etc/fstab

#

proc /proc proc defaults 0 0

# / was on /dev/sda2 during installation

UUID=035b3d25-c214-40e1-bce4-5c1cb7230113 / ext3 relatime,errors=remount-ro 0 1

# swap was on /dev/sda5 during installation

UUID=792a7305-b558-48bc-b1c6-3df2b95fb4ea none swap sw 0 0

/dev/scd0 /media/cdrom0 udf,iso9660 user,noauto,exec,utf8 0 0



이것은 내 컴퓨터에서 cat /etc/fstab 의 결과이다.

각 항목은 6개의 옵션으로 구성된다. :



1. 파일시스템 :

마운트되는 파일시스템의 구분자.

보편적으로 디바이스에 해당하는 유일한 구분자나 /dev/sad2같은 디바이스 이름이 될 수 있다.



2. 마운트 위치 :

파일시스템의 내용이 마운트되어야 하는 디렉토리이다.

이 디렉토리는 이 파일에 기록되기 전에 반드시 시스템안에 존재해야 한다.



3. 타입 :

파티션의 파일시스템의 종류를 지정한다.

가능 타입은 ext2, ext3, ext4, ntfs, vfat, auto(파일시스템 자동감지를 위해)이다.



4. 옵션 :

부팅시 자동마운트 할 것인지 아닌지, 제한된 사용자가 파일시스템을

마운트할 수 있는지 없는지 같은 옵션들을 지정한다.

자세한 것은 살펴보지 않고, "default"키워드를 사용하여 default옵션으로 고정한다.



5. Dump :

0이 아닌 값은 파일시스템이 백업되어야 함을, 0은 백업이 없음을 말한다.

우리는 0으로 유지할 것이다.



6. Pass :

fsck옵션이다. 이것은 어떤 파일시스템이 체크되어야 하는지 순서를 확인한다.

우리는 우리 파일시스템이 체크되지 않을 것을 의미하는 0으로 유지할 것이다.



자 이제 우리는 이 파일에 항목을 넣을 준비가 되었다.

만약 당신이 당신 시스템에 SCSI 하드디스크를 더 추가하지 않을 것이 확실하다면,

당신은 그냥 디바이스 이름을 쓸 수도 있다. 나의 경우엔 이름은 /dev/sda5이다.

당신의 디스크 이름을 잘 모르겠다면 다음을 입력하라 :



$df -h

Filesystem Size Used Avail Use% Mounted on

/dev/sda7 19G 11G 6.9G 61% /

tmpfs 497M 0 497M 0% /lib/init/rw

varrun 497M 392K 497M 1% /var/run

varlock 497M 0 497M 0% /var/lock

udev 497M 164K 497M 1% /dev

tmpfs 497M 176K 497M 1% /dev/shm

lrm 497M 2.2M 495M 1% /lib/modules/2.6.28-15-generic/volatile

/dev/sda5 59G 34G 22G 61% /media/disk



이것과 비슷한 항목들을 얻을 수 있다.

/media/disk가 내가 원하는 파일시스템이고 그러므로 그 이름은 /dev/sda5 이다.



만약 SCSI디스크를 시스템에 추가할 거라면,

디스크 추가시 변경될지도 모르는 디바이스 id에 UUID를 사용하는 것이 더 낫다.

다음을 입력함으로써 UUID를 알 수 있다. :



$sudo vol_id ?uuid /dev/sda5

95dbd64c-315c-41e9-8545-15398dba2ab6



이어 나오는 문자열이 당신의 디스크 UUID 이다.



그러면 이제 항목을 추가하자.



/dev/sda5 /media/disk ntfs defaults 0 0



UUID를 입력하고 싶을 경우엔 :



UUID=95dbd64c-315c-41e9-8545-15398dba2ab6 /media/disk ntfs defaults 0 0



그러면 이제 fstab 파일은 이렇게 된다 :



$cat /etc/fstab

#

proc /proc proc defaults 0 0

# / was on /dev/sda2 during installation

UUID=035b3d25-c214-40e1-bce4-5c1cb7230113 / ext3 relatime,errors=remount-ro 0 1

# swap was on /dev/sda5 during installation

UUID=792a7305-b558-48bc-b1c6-3df2b95fb4ea none swap sw 0 0

/dev/scd0 /media/cdrom0 udf,iso9660 user,noauto,exec,utf8 0 0

# my disk to be automounted.

/dev/sda5 /media/disk ntfs defaults 0 0



이제 시스템을 재부팅하고 당신의 첫번째 자동마운트 하드디스크를 계속 즐겨라.

편의상 몇가지 임의로 수정했다.(줄맞추기 같은 거..)





실제로 해보면 마지막에 vol_id가 실행되지 않는다.(적어도 쿠분투 9.10에선)

또 다시 구글링해서...

참고글 2 : karmic-drops-vol_id-superceded-by-blkid

이것도 해석하려다 이건 정말 큰 내용없어서 요약만한다.

요는 9.10에서 vol_id를 버렸고... 그 대신 blkid를 사용할 수 있다는 것.

다만... 참고글 2처럼 바로 쓰면 안되고..

$ sudo blkid

로 실행해야 한다.