반응형

1. fallocate

 -. 해당 명령어는 파일에 공간을 사전할당하여, 원하는 사이즈의 파일을 만들 수 있음.

 -. 실제 내용은 빈칸으로 구성되어있으며, 만들기 매우 간편.

 

 

 

2. fallocate를 통해 100M 생성해보기

fallocate -l 100M '파일명'

여기서 파일 크기 변경하여 생성하면 됨.

 

-. 생성 결과

 

 

 

3. 참고

fallocate --help

 

 

-. 리눅스로 생성한 파일을 윈도우로 옮겨 사용해도, 파일크기 동일(당연한 얘기지만..)하니까 테스트용으로 쓰면 됨

반응형

'Linux' 카테고리의 다른 글

Timezone 변경 방법  (0) 2020.11.23
Linux 부팅 문제 발생 시, 대처 방법  (0) 2020.11.22
LVM 생성  (0) 2020.11.06
[Linux] fstab  (0) 2020.07.10
반응형

1. Timezone 변경 방법

  1. rdate : 서버와 NTP 서버(ex. time.bora.net) 시간을 동기화하는 방법

  2. timedatectl : 내가 설정한 시간 확인이 가능하며, 옵션을 통해 설정 변경 가능

  timedate set-timzone을 통해 hwclock(Hardware Clock)까지 변경 가능.

 

date

명령어를 입력하면 system의 시간 입력

 

 

hwclock

하드웨어 시간 출력

 

 

 

2. rdate

rdate -s time.bora.net

위 명령어를 입력하면 time.bora.net(보편적으로 사용하는 NTP 서버)의 시간을 동기화할 수 있음.

rdate는 경우에 따라, 설치가 필요할 수 있으니 인터넷이 되는 환경에서 yum을 통해 설치.

 

- time.bora.net 서버가 나타내는 시간은 -p 옵션을 통해 확인 가능.

- NTP 서버와 통신을 위해서 포트가 열려있는지 확인이 필요함.(UDP 37, UDP 123 오픈 필요)

 

 

3. timedatectl

timedatectl

Local time(한국 기준 KST), Universal time(UTC)를 확인 가능. 해당 명령어는 NTP서버를 보고 있는게(?) 아니기 때문에 시스템이 재부팅되더라도 HW시간, 서버을 걱정하지 않아도 됨. 경우에 따라 재부팅 시에 시스템 시간을 따라가는 경우가 있고, 하드웨어 시간을 따라가는 경우도 있음.

 

 

 

 

timedatectl set-timezone [대륙/지역]

위에서는 'timedatectl set-timezeon America/New_York'이 입력되었으며, America/New-York은 탭키를 누르면서 찾을 수 있음(ex. Asia/Tokyo는 A + 'tab'/Toky + 'tab' 키를 입력하여 찾을 수 있음)

 

 

timedatectl을 추천합니다.

 

 

* 주기적으로 시간을 맞춰주고자 할때는 crontab을 같이 사용.

 

반응형

'Linux' 카테고리의 다른 글

fallocate - 원하는 용량의 파일 생성  (0) 2021.11.02
Linux 부팅 문제 발생 시, 대처 방법  (0) 2020.11.22
LVM 생성  (0) 2020.11.06
[Linux] fstab  (0) 2020.07.10
반응형

1. Linux 부팅 문제 발생 확인

 AWS 콘솔창에서 인스턴스 우클릭 후 'Get Instance Screenshot'을 보면 위와 같이 부팅에 문제가 생긴 것을 확인할 수 있음.

화면에 Control-D를 누르면 계속할 수 있다지만, On-Prem 환경이 아니기때문에 직접 누를 수 없음. 재부팅을 계속 한다고해서 해결되지 않고 같은 부분에서 부팅 문제가 발생한다.

 

 

 

2. 해결방안

1. Volume Tag.

문제가 발생한 Volume에 Tag를 먼저 할 것.(다른 Volume과 헷갈릴 수 있음)

 

2. 새로운 인스턴스 생성 및 Mount

 인스턴스를 새롭게 생성해서 해당 인스턴스를 Attach.

Root Volume이지만, 다른 인스턴스에 Mount 시키기 때문에 위에서는 /dev/sdf 로 Attach.

 

parted -l

디스크 확인은 parted -l로 했음.

/dev/xvdf를 보니, Attach는 제대로 됐음.

 

 

'xvdf1' 디스크를 마운트 시킨다

 

 

'/FIX' 위치에 마운트 시켰음

 

 

'/FIX'에 들어가보면 위와 같이 Linux 기본 디렉토리들이 확인 가능함

내가 겪은 문제의 원인은 fstab을 수정했는데, 정상적으로 적용이 되지 않고 임시파일(?) 비슷한 문서 에디터 비정상종료에 따른 swap파일이 생겼음.

rm /FIX/etc/.fstab.swp

rm 명령어를 통해 삭제했음

삭제 후 umount를 통해 정상적으로 마운트 제거하여 나머지 작업 진행!

 

 

 

작업 완료 후 처음 인스턴스에 다시 Attach하고 부팅하면 끝!

반응형

'Linux' 카테고리의 다른 글

fallocate - 원하는 용량의 파일 생성  (0) 2021.11.02
Timezone 변경 방법  (0) 2020.11.23
LVM 생성  (0) 2020.11.06
[Linux] fstab  (0) 2020.07.10
반응형

1. LVM 생성 순서

 -. LVM은 PV, VG, LV 순으로 만들어야하며, 트리형식으로 생각하면 된다.

 

PV를 만들면 하위에 Volume Group를 여러 개, 생성 가능하고, 각 각의 VG에 LV를 생성할 수 있다.

 

 

2. 생성하기

lsblk 명령어를 통해 LVM으로 만들 디스크를 선택한다.

pvcreate를 통해 Attachment Disk 이름을 입력해준다.(해당 디스크를 PV로 설정하는 것.)

   >> pvcreate /dev/xvdf

 

 

앞에서 xvdfPV로 설정하였으므로, xvdfVolumeGroup를 설정해준다.

아래에서 vg01은 임의로 작성한 이름이며, 사용자 목적에 맞게 네이밍한다.

  >> vgcreate vg01 /dev/xvdf

참고) 만약xvdf2개의 VG를 만들고 싶다면,

  >> vgcreate vg02 /dev/xvdf와 같이 작성.

(동일한 이름은 사용 불가함. 같은 이름을 사용하여도 Overwrite 바로 안되기때문에 걱정할 것 없음.)

 

 

lvcreate 명령어를 통해 LV를 생성 가능하며, -L 명령어는 정확한 용량을 입력해줘야함.

(-l 명령어는 Percent 단위로 사용 // -l과 -L은 차이가 있음)

(-n 명령어는 네이밍을 주기 위함. vg01lv_data라는 lv를 생성.)

 

 

LV까지 생성한 후에는 LV DISK를 필요한 타입 설정 후 초기화 시켜줘야 함.

위에서는 ext4 타입으로 초기화하였으며, disk 위치는 /dev/mapper/[VG이름-LV이름]으로 되어있음.

 

 

 

 

3. FSTAB 추가

전에도 작성했지만, fstab에 추가해줘야 재부팅이 되었을 때, 디스크가 마운팅된 상태로 시스템이 부팅됨.

blkid명령어를 통해 UUID를 확인할 수 있으며, fstab에 추가하여 Mount시켜야함.

‘/dev/mapper/vg01-lv_data=UUID(으브브브브)‘라고 써진 부분에서 UUID를 복사하여

 > ‘/etc/fstab에 추가 필요

 

 

/etc/fstab

UUID 2개 중 위는, 기본 root볼륨의 UUID이고, 아래가 추가한 UUID.

UUID / Mounting Point / Type  순으로 작성하면 되고,

defaults 0 0을 보통 입력하며 해당 옵션은 이전 글 참고.

 

Fstab 입력 후 ‘mount –a’ 혹은 ‘mount /dev/mapper/vg01-lv_data [Mounting Point]를 통해 마운트를 완료

 

4. LV 추가하기

초기에 ‘vg01-lv_data’를 만들었으며, 처음과 동일한 방식으로 lv_data2를 만들었음.

여기서 참고할 사항은 1개의 PV 안에 위치한 2개의 LV 이지만, 서로 다른 타입의 디스크를 사용해도 됨.(ext4, xfs)

  --- 특징

xfs의 경우, 디스크 크기 증가는 가능하지만, 감소는 불가.

ext4의 경우, 디스크 크기 증가 및 감소 모두 가능.

 

 

5. LV 용량 증가시키기

초기에 설정한 LV 용량이 부족하다면 명령어를 통해 용량 증가 가능.(초기화 아님)

처음 생성한 LV 용량이 부족하여 용량 증가를 하고자 한다면 아래와 같은 명령어로 가능.

  >> lvextend –r –L +40G /dev/vg/lv_data (-r 명령어는 resizefs, -L 명령어는 정확한 디스크 size)

 

  --- 참고

-L 명령어는 정확한 사이즈 입력 필요.

 

 

6. 무조건 조심해야할 주의사항

 위의 설정은 fstab을 수정해주는데, 설정이 잘못된 경우 부팅이 되지 않을 수 있으니, 테스트가 아니고서야 무조건 조심해야할 필요가 있음.

 혹시나 /etc/fstab을 잘못 설정하여 부팅이 되지 않는 경우, 포멧을 생각하지 말고

문제가 발생한 루트 디스크를 다른 장비로 마운트시켜 /'마운팅포인트'/etc/fstab 의 경로로 이동하여 fstab에서 잘못된 설정을 수정하여 다시 마운트 시키면 해결됨!

반응형

'Linux' 카테고리의 다른 글

Timezone 변경 방법  (0) 2020.11.23
Linux 부팅 문제 발생 시, 대처 방법  (0) 2020.11.22
[Linux] fstab  (0) 2020.07.10
Linux Directory 구조와 각 Directory 용도  (0) 2020.06.29
반응형

1. FSTAB의 용도

 - 파일시스템 정보가 저장되어 있음.

 - 해당 탭에 저장되지 않은 파일시스템이 있을 경우, 재부팅했을 때 기록되어 있지 않은 파일시스템은 마운트가 빠짐.

 - /etc/fstab 에 위치하고 있으며, 지속적으로 마운트시키고 싶은 경우에는 에디터를 이용하여 내용 수정이 필요.

 - 즉, 영구적 마운트를 설정하는 탭

 

 

2. FSTAB 구성

에디터를 이용하여 fstab의 내용 수정때 화면

명령어 : vi /etc/fstab

 

편집기를 사용하여 fstab을 수정할 경우, 위와 같은 화면이 나타난다.

[파일시스템장치] - [마운트 위치] - [파일시스템 종류] - [옵션] - [덤프] - [파일체크 옵션] 순으로 기록되어 있음.

 

 

[파일시스템 장치]

: 파일시스템 장치명이 입력되어야 하며, 명령어 df -h 를 입력할 경우 파일시스템 장치명을 확인할 수 있다.(ex. /dev/xvda1 과 같음.)

 

 

[마운트 위치]

 : 말 그대로, 마운트 위치를 어느곳으로 할 지 입력하면 됨. 다른 글에도 작성했던 것 처럼, 마운트는 대체로 /mnt 에 위치시키기는 하지만 원하는 곳으로도 변경이 가능하다. /mnt 파일 안에 mkdir point1(point1 이라는 디렉토리 생성)을 입력하여 mnt 디렉토리 하위에 point1(이름은 알아서..)을 만들고 그 곳에 마운트 되도록 입력해주면 됨. 예시를 든 것이기 때문에 원하는 위치에 디렉토리를 생성하여 사용.

 

fstab은 현재 붙어있는 디스크를 영구적으로 마운트 시키는게 대부분이기 때문에 현재 마운트된 위치에 해주는 것이 바람직.

 

 

[파일시스템 종류]

 : 파일 시스템은 다양. ext, ext2, ext3, ext4, nfs 등등이 있으며, 현재 마운트시키는 디스크의 종류가 무엇인지 필히 확인 후 입력해야한다.

파일시스템 타입을 확인하는 방법

명령어 : df -T  (대소문자 구분)

 

해당 명령어를 입력해보면 현재 마운트되어있는 파일의 시스템 종류 확인이 가능.(옵션 T는 Type)

파일시스템 종류를 확인 후 fstab에 입력해주면 된다.

 

 

[옵션]

 : 파일시스템을 용도에 맞게 사용하기 위한 속성을 설정하는 옵션. 옵션은 아래와 같은 종류가 있으며,

특별한 옵션 설정이 필요하지 않으면 default를 사용.

 

default : rw, suid, dev, exec, auto, nouser, async 옵션을 모두 선택한 것과 같다.

auto : 부팅시 자동으로 마운트 된다.

exec : 실행파일이 실행되는 것을 허용하는 파일 시스템이다.

suid : SetUID SetGID의 사용을 허용하는 파일 시스템이다.

ro : 읽기 전용 파일시스템이다.(Read Only)

rw : 읽고 쓰기(Read Write) 파일시스템으로 사용된다.

user : 일반 계정사용자들도 마운트를 할 수 있는 파일시스템이다.

nouser : root만 마운트할 수 있는 파일시스템이다.

noauto : 부팅시 자동으로 마운트 되지 않게하는 파일시스템이다

noexec : 실행파일을 실행되지 못하게 하는 파일시스템이다.

nosuid : SetUID SetGID의 사용을 허용하지 않은 파일시스템이다.

usrquota : 개별 계정사용자의 Quota설정이 가능한 파일시스템이다.(쿼터:사용자별로 디스크 할당을 조정(제한))

grp : 그룹별 Quota설정이 가능한 파일 시스템



 

[덤프]

 : 0 or 1의 설정만 가능하며, 백업이 되어야 하는지 설정하는 필드.

  0 - 백업이 불가능

  1 - 백업이 가능

 

 

[파일체크 옵션]

 : 0 or 1 or 2 의 옵션 설정이 가능.

  0 - 무결성 검사를 진행하지 않음.

  1 - 우선순위로 1순위. 보통 루트 파일시스템에 설정.(위 사진에서도 맨 윗줄에 1 옵션이 기록되어 있음.)

  2 - 1순위 검사 후 2순위 검사 진행.

 

 

반응형

'Linux' 카테고리의 다른 글

Linux 부팅 문제 발생 시, 대처 방법  (0) 2020.11.22
LVM 생성  (0) 2020.11.06
Linux Directory 구조와 각 Directory 용도  (0) 2020.06.29
Linux Mastar  (0) 2019.12.08
반응형

Linux Directory의 구조는 트리 형식으로 되어있으며, /usr/bin (root디렉토리>usr디렉토리>bin디렉토리) 처럼 상/하위 디렉토리로 구성되어 있음.

 

처음 루트 디렉토리에서 ls 명령어를 입력해보면, 해당 디렉토리에 대한 용도는 생각해보지 않고 사용하였으나 제대로 인지하고 목적에 맞게 사용하면 좋을 것 같아 정리.

 

(디렉토리는 윈도우의 폴더라고 생각하면 됨)

 

리눅스에서 ls command를 입력했을 때, 화면

/ (루트)

 - 최상위 디렉토리이며, 트리 형식의 리눅스 모든 디렉토리 중 꼭대기의 디렉토리

 

/bin

 - 기본적인 명령어가 저장된 디렉토리이며, 리눅스를 사용하면서 입력하는 command 들이 이 곳에 저장되어 있음. ls, rm, netstat 등의 명령어들이 저장됨

 

/dev

 - 시스템 디바이스 파일을 저장하는 디렉토리. device를 의미하며, CD-ROM, 장치 드라이버, 프린터 등의 주변 장치들이 존재하는 디렉토리

 

/home

 - 사용자가 접속 시, 초기에 들어가는 화면임. 사용자에게 할당된 개인에 대한 부분. useradd로 계정 생성 시, 해당 디렉토리에 사용자 계정의 디렉토리가 생성됨.

 

/lib64, /lib

 - 커널모듈, 시스템에 필요한 라이브러리가 저장되어있는 디렉토리.

 - 리눅스 기반의 MAC의 경우, 'uname' command를 입력하면 darwin 이라는 뜸(TMI)

 

/mnt, /media

 - 마운트 포인트로 사용하는 디렉토리. 사용자가 직접 마운트하는 포인트로 사용되며, /media 와 마운트한다는 측면에서는 비슷하지만 CD-ROM과 USB를 연결하면 /media 디렉토리에 자동으로 마운트 되는 차이.(/media 는 자동 마운트 경로, /mnt 는 사용자가 마운트 시키는 경로

 

/proc

 - 여러 프로세스 이름에 따라 많은 디렉토리들이 존재. 현재 실행중인 프로세스에 대한 정보와 데이터를 가지고 있으며, 실제 존재하지 않으며 메모리상으로 존재함. '가상파일시스템'이라고도 불리우며, cpu 사용값, I/O 포트 등의 프로세스에 대한 다양한 정보가 들어있음.

 

/run

 - 시스템의 현재 정보를 저장하고 있는 디렉토리

 

/srv

 - 서버를 위한 디렉토리로, 외부 사용자와 공유를 위해 사용하는 디렉토리. 따라서 비교적 접근 권한이 낮게 설정되어있음.

 

/tmp

 - 임시 파일을 위한 디렉토리로 윈도우 OS의 tmp와 같은 역할을 한다고 생각하면 됨.

 

/var

 - 로그, 캐싱 파일등이 위치할 수 있으며 파일의 크기가 추후 계속 확장되는 경우 사용함.(로그 축적과 같이 점차 증가하는 경우)

 

/boot

 - Boot Loader 가 존재하는 디렉토리이며,  시스템 부팅에 필요한 파일들이 위치하기에 조심해야함.

 

/etc

 - 시스템의 거의 모든 설정이 저장되어있는 디렉토리. 'passwd'와 'fstab', 'profile' 등이 들어있음.

 

/opt

 - 유닉스 계열은 이 디렉토리에 응용 프로그램을 설치하지만, redhat 계열은 /usr/local 프로그램별로 설치하거나, RPM(Redhat package Manager)가 필요한 곳에 자동 설치.

 

/root

 - 시스템 루트 관리자의 홈디렉토리

 

/sbin

 - /bin 디렉토리의 역할과 비슷하지만, 루트유저만 사용할 수 있는 명령어가 저장되어있음.

 

/sys

 - 커널 하드웨어 정보를 제공하며, 매번 다시 시작할때마다 새로 생성.

 

/usr

 - 시스템이 아닌 사용자가 주로 사용하는 디렉토리이며, 각 사용자의 개인영역(루트 사용자는 접근 가능). 여러 언어 관련 헤더 파일들도 저장되는 디렉토리

반응형

'Linux' 카테고리의 다른 글

LVM 생성  (0) 2020.11.06
[Linux] fstab  (0) 2020.07.10
Linux Mastar  (0) 2019.12.08
Linux에서 su 명령어가 정상적으로 작동하지 않을 때.  (0) 2019.11.20
반응형

umask : 새폴더 새파일의 퍼미션을 결정하는


옵션값

-a : all

-l : long

-s : Size(파일의 크기순으로)

-r : reverse 출력(기본 ls 출력은 알파벳 . -r 입력하여 반대로)

-R : recursive(하위 디렉토리까지)

-h : human(사람이 있도록)


procfs(proc file system)

부트타임에 /proc 매핑됨.

커널영역과 사용자 영역 사이 통신에 대한 방식 제공


Shell 종류

bash : 쉘과 호환. GNU 프로젝트에 의해 만들어지고 배포.

csh : 버클리에서 개발. 명령행 편집기능은 제공하지 않음.

ksh : 일반적으로 유닉스에서 가장 많이 사용하고 있는 . 본쉘과 호환

chsh(Change Shell) : 쉘을 변경.


~(Tilde) : 홈디렉토리


ps aux : 사용중인 프로세스 사용량을 많이 차지하는 위주 출력

ps ax : 사용중인 프로세스 PID 순으로 출력

ps -ef : PID 부모인 PPID 출력함

반응형
반응형

[root@localhost ~]# vi /etc/pam.d/su
      1 #%PAM-1.0
      2 auth            sufficient      pam_rootok.so
      3 # Uncomment the following line to implicitly trust users in the "wheel" group.
      4 #auth           sufficient      pam_wheel.so trust use_uid
      5 # Uncomment the following line to require a user to be in the "wheel" group.
      6 #auth           required        pam_wheel.so use_uid
      7 auth            include         system-auth
      8 account         sufficient      pam_succeed_if.so uid = 0 use_uid quiet
      9 account         include         system-auth
     10 password        include         system-auth
     11 session         include         system-auth
     12 session         optional        pam_xauth.so
~

6번 LINE을 주석처리하면 su 명령어 정상 작동

반응형

'Linux' 카테고리의 다른 글

Linux Directory 구조와 각 Directory 용도  (0) 2020.06.29
Linux Mastar  (0) 2019.12.08
[About] crontab (리눅스 스케줄러)  (0) 2019.07.31
find 명령어를 사용하여 경로 찾기  (0) 2019.07.09

+ Recent posts