[Linux] fstab의 구조와 옵션

fstab이란?

fstab은 Linux 시스템의 file system table을 뜻한다. mount를 쉽게 하기 위한 configuration table이다.

fstab의 구조

6개의 항목이 순서대로 구성되어야 한다.

  1. 디바이스 (Device): 보통 mount되는 디바이스의 이름 혹은 UUID이다. 예를 들면, sda1
  2. 마운트 위치 (Mount point): mount될 디렉토리의 위치
  3. 파일 시스템 타입 (File System Type): 사용되는 file system의 type
  4. 옵션 (Options): mount 옵션. 여러개를 쓸 때는 콤마(,)로 구분한다.
  5. 백업 동작 (Backup Operation): 0은 백업하지 않음. 1은 dump로 backup을 할지를 결정. 오래된 backup 방법이라서 0으로 설정해서 사용하지 않도록 한다.
  6. 파일 시스템 체크 순서 (File System Check Order): 0은 fsck로 체크하지 않음. 1은 root file system, 다른 파티션들은 2로 설정되어야 한다. 3, 4, … 로 한다고 해서 순서가 되지 않으므로 순서를 설정하지 않도록 한다. 그냥 다른 모든 파티션은 2이다.

예제

proc            /proc           proc    defaults          0       0
PARTUUID=5e3da3da-01  /boot           vfat    defaults          0       2
PARTUUID=5e3da3da-02  /               ext4    defaults,noatime  0       1
UUID=678dcc13-1b44-4ee8-80cf-7f186587054d       /mnt/NAS        ext4    defaults,noatime,rw     0       2
# a swapfile is not a swap partition, no line here
#   use  dphys-swapfile swap[on|off]  for that

다른 mount 옵션

  • auto / noauto: 부팅 시에 자동으로 mount할지 말지.
  • exec / noexec: 그 파티션이 바이너리를 실행할 수 있는지 아닌지. 보통 보안 목적으로 noexec로 설정된다.
  • ro / rw: ro는 읽기 전용 (read-only), rw는 읽기 쓰기 (read-write)
  • nouser / user: user가 mount권한을 갖을지 말지.
  • atime / noatime / relatime: access time (atime) 을 기록할지 말지. relatime은 access time이 atime data가 마지막으로 update된 (mtime) 이후에 파일이 수정되었을 때, 또는 마지막으로 access된 후 일정 시간 (기본값은 하루)이 지난 후에만 업데이트한다.
  • suid / nosuid: suid와 sgid 비트 동작을 허용할지 말지.
  • dev / nodev: character나 block special device를 interpret할지 말지.
  • defaults: 기본값을 사용. rw, suid, dev, exec, auto, nouser, async 와 같다.

참고 자료

[Samba] 공유 디렉토리 추가

가끔, 아니 매우 자주 공유 디렉토리 만들 일이 생긴다. 이건 사실 쓸 필요없다고 생각해서 그동안 안적어왔는데 귀찮을 때 긁는게 더 낫겠다.

/etc/samba.conf 에 다음 내용을 추가한다.

[Shared]

  comment = Shared directory

  path = /home/public

  writeable = yes

  browseable = no

  guest ok = yes

  read only = no

접근 경로는 위와 같다면 “\\<IP>\Shared” 이다.

물론 설정 후 삼바 서비스는 재시작한다.

sudo service smbd restart

bash 에서 파일명 및 경로 분리

간단히 말하면 dirname <인자> 하면 마지막 / 뒷부분을 날린 결과가 나오고,
basename <인자> 하면 / 뒷부분이 나온다.

http://stackoverflow.com/questions/284662/how-do-you-normalize-a-file-path-in-bash
 
 

NMake – Makefile 내부의 인라인 파일

NMake를 사용할 때 Makefile 내부에 파일을 내장해서(인라인 파일) 사용할 수 있다.
형식은 다음과 같다.

<<[Filename]
파일 내용
<<[KEEP or NOKEEP]

위와 같은 내용을 Makefile 내부에 써놓으면 << 들 사이의 내용이 파일로 저장되어 사용가능하게 된다. Filename 을 적으면 해당파일명으로 파일이 생성되고 적지 않으면 임의의 이름으로 임시파일이 생성된다. 또한, Make 세션 사용 후에 파일을 남겨두고 싶다면 KEEP을, 아니라면 NOKEEP 또는 아무것도 쓰지 않으면 된다.

파일 내용 안에는 $(변수) 등을 써두면 써둔 “$(변수)”가 아닌 변수로 치환되는 내용이 그대로 들어가므로 편리하다.

참고 : http://msdn.microsoft.com/ko-kr/library/seaaew50(VS.80).aspx

윈도우 공유폴더 다른계정으로 로그인하기

 [출처] 윈도우 공유폴더 다른계정으로 로그인하기|작성자 미네르바

 윈도우 공유폴더를 “암호 저장”으로 접근할 경우 다른 사용자로 로그인하기 꽤 까다로운 것 같다. 간단한 방법을 예전에 알았던 듯 한데 기억이 나질 않는다.
 암호 저장 외에 공유 폴더를 다른 도메인으로 접근하고 싶을 때도 이 방법은 유용하게 쓰일 수 있다. 방법을 살펴보자.

 1. 기존 연결 보기 및 상태 저장

net use

 2. 기존 연결 끊기

net use <공유경로(e.g.\\192.168.0.1\IPC$)> /delete

 3. 새로운 연결 만들기

net use <공유경로(e.g.\\192.168.0.1\IPC$)> * /user:<도메인을 포함한 사용자이름(e.g.DOMAIN\USER)>