반응형
df와 du는 리눅스 시스템에서 디스크 사용량을 확인하는 데 사용되는 명령어입니다. 그러나 두 명령의 작동 방식과 출력 정보에는 차이가 있습니다.


1. df 명령어 (disk free, 디스크 사용량 확인)

리눅스 시스템 전체의 마운트된 디스크 사용량을 확인할 수 있는 명령어 입니다.

외부저장 장치인 USB 메모리나 SD 카드의 저장 공간도 여기서 확인할 수 있습니다.

이 명령의 작동 방식은 파일 시스템의 슈퍼블록을 읽어 각 파일 시스템의 총 디스크 공간, 사용된 공간, 여유 공간, 사용률 등을 계산하는 것입니다. 슈퍼블록은 파일 시스템의 메타데이터를 포함하는 특수 블록을 말합니다.

 

명령어 사용법은 다음과 같습니다.

developern@dn:~$ df
파일 시스템       1K-블록       사용      가용 사용% 마운트위치
tmpfs              400104       1564    398540    1% /run
/dev/sda3        25106692   19116416   4689592   81% /
tmpfs             2000504          0   2000504    0% /dev/shm
tmpfs                5120          4      5116    1% /run/lock
/dev/sda2          524252       6220    518032    2% /boot/efi
vm-Linux       2930134012 2629417376 300716636   90% /media/sf_vm-Linux
tmpfs              400100        116    399984    1% /run/user/1000

 

옵션 없이 df명령을 사용하면 용량이 K bite 단위로 출력이 되기 때문에 보기가 불편합니다. 이럴 경우 -h 옵션을 사용하면

메가 (M), 기가 (G) bite 단위로 출력되어 보기가 쉽습니다.

developern@dn:~$ df -h
파일 시스템     크기  사용  가용 사용% 마운트위치
tmpfs           391M  1.6M  390M    1% /run
/dev/sda3        24G   19G  4.5G   81% /
tmpfs           2.0G     0  2.0G    0% /dev/shm
tmpfs           5.0M  4.0K  5.0M    1% /run/lock
/dev/sda2       512M  6.1M  506M    2% /boot/efi
vm-Linux        2.8T  2.5T  287G   90% /media/sf_vm-Linux
tmpfs           391M  116K  391M    1% /run/user/1000

 

디스크를 지정하면 지정한 디스크의 정보만 출력됩니다.

developern@dn:~$ df -h /dev/sda2
파일 시스템     크기  사용  가용 사용% 마운트위치
/dev/sda2       512M  6.1M  506M    2% /boot/efi

 

[ 출력 정보 ]

  • 파일 시스템 이름 (Filesystem)
  • 파일 시스템 유형 (Type)
  • 총 디스크 공간 (Size)
  • 사용된 공간 (Used)
  • 여유 공간 (Available)
  • 사용률 (Use%)
  • 탑재 지점 (Mounted on)

 

2. du 명령어 (disk usage, 디렉토리 또는 디스크 사용량 확인)

특정 디렉토리의 디스크 사용량을 확인할때 사용하는 명령어로, 서브 디렉토리의 디스크 사용량도 표시됩니다.

디렉토리 이름을 지정하지 않으면 현재 디렉토리를 기준으로 디스크 사용량을 출력합니다.
이 명령의 작동 방식은 각 디렉토리를 직접 스캔하여 실제 사용하는 디스크 사용량을 계산합니다.

명령어 사용법은 다음과 같습니다.

developern@dn:~$ du
4	./비디오
8	./.vim
4	./템플릿
8	./project/php
16	./project
12	./.gnupg
4	./음악

 

df 명령과 마찬가지로 -h 옵션을 사용하면 K, M, G bite 단위로 확인할 수 있습니다.

developern@dn:~$ du -h
4.0K	./비디오
8.0K	./.vim
4.0K	./템플릿
8.0K	./project/php
16K	./project
12K	./.gnupg
4.0K	./음악

 

특정 디렉토리를 지정하면 해당 디렉토리의 사용량만 확인할 수 있습니다.

developern@dn:~$ du -h /boot
du: '/boot/efi' 디렉터리를 읽을 수 없음: 허가 거부
4.0K	/boot/efi
3.5M	/boot/grub/x86_64-efi
264K	/boot/grub/locale
2.3M	/boot/grub/fonts
2.5M	/boot/grub/i386-pc
11M	/boot/grub
189M	/boot

 

위와 같이  root권한이 필요한 디렉토리가 있을 경우는 sudo를 함께 사용하면 됩니다.

developern@dn:~$ sudo du -h /boot
[sudo] developern 암호: 
4.3M	/boot/efi/EFI/ubuntu
1.9M	/boot/efi/EFI/BOOT
6.1M	/boot/efi/EFI
6.1M	/boot/efi
3.5M	/boot/grub/x86_64-efi
264K	/boot/grub/locale
2.3M	/boot/grub/fonts
2.5M	/boot/grub/i386-pc
11M	/boot/grub
195M	/boot

 

 

3. df와 du 명령의 차이점

구분 df du
작동 방식 슈퍼블록을 읽어 계산 파일과 디렉토리를 직접 스캔
출력 정보 파일 시스템 전체의 사용 공간 특정 디렉토리 또는 파일의 사용 공간
장점 빠르고 효율적 정확하고 상세
단점 슈퍼블록의 정보가 오래되었을 경우 정확하지 않을 수 있음 시간이 오래 걸릴 수 있음

 

더 많은 옵션을 확인하려면 df --help 명령을 사용하면 됩니다.

 

리눅스 디스크 사용량 확인 명령어 df, du

반응형
블로그 이미지

DeveloperN

개발자 n의 개발 이야기(draft)

,
반응형

버츄얼 박스에서 우분투 설치를 '무인 설치(Unattended Install)'로 진행 하는 경우 터미널이 단축키로도, 메뉴선택으로도 열리지 않는 경우가 있습니다.

무인 설치라고 하는 것은 버츄얼 박스의 '새로 만들기' 메뉴로 우분투를 설치할 때 사용자 아이디와 비밀 번호까지 입력하고 부팅을 하면, 일반적인 리눅스 설치 때와는 다르게 아무 것도 묻지 않고 자동으로 설치합니다.

이렇게 설치하면 터미널이 열리지 않는 것으로 보아 버츄얼 박스의 오류인 것 같습니다만 정확하지는 않습니다.

무인 설치(Unattended Install)
무인 설치(Unattended Install)

이런 경우 조치할 수 방법은 아주 간단합니다.

 

다음 작업은 우분투를 부팅한 후 우분투에서 작업합니다.

1. Setting에서 'Language and Region'의 Language를 'United States'에서 다른 것, 예를 들어 'Canada'로 바꿉니다.

2. Logout후 다시 Login합니다.

이렇게 하면 터미널을 사용할 수 있습니다.

 

만일 자동이 아니라 메뉴얼(수동) 설치를 하면 터미널을 설치 후 즉시 정상적으로 사용할 수 있습니다.

메뉴얼 설치는 '새로 만들기'에서 'Unattended Install' 탭 바로 위에 있는 'Skip Unattended Install'을 체크해 주면 됩니다.

체크 하고 VM의 전원을 넣으면 처음부터 우분투 설치 과정을 거치게 됩니다.

'Skip Unattended Install'을 체크
' Skip  Unattended Install'을 체크

 

반응형
블로그 이미지

DeveloperN

개발자 n의 개발 이야기(draft)

,
반응형

우분투VM에서 공유폴더를 설정하기 전에 먼저 VMware setting에서 'Folder sharing'에 공유할 폴더를 등록해야 합니다.

1. 해당 VM의 'Virtual Machine Settings'에서 'Option'탭을 선택합니다.

2. 'Shared Folders' 메뉴를 선택합니다.

3. 그 다음 화면 오른쪽의 'Always enabled'를 선택합니다.

4. 'Add...' 버튼을 클릭한 후 위저드의 진행에 따라서 Host PC에 있는 공유할 폴더를 선택해 줍니다.

Virtual Machine Settings
Virtual Machine Settings
Add Shared Folder Wizard
Add Shared Folder Wizard
공유 폴더 선택 화면
폴더 선택 후 Next
폴더 선택 후 Next

5. 선택이 끝나면 'OK' 버튼을 클릭합니다.

공유 폴더 설정 완료
공유 폴더 설정 완료

여기까지가 VMware에서의 설정작업니다.


여기서 부터는 ubuntu VM에서의 설정 과정입니다.

 

[ 공유 폴더 확인 방법 ]

VM에서 터미널을 열고 다음 명령을 사용하면 공유 폴더를 확인할 수 있습니다.

vmware-hgfsclient

공유 폴더 확인
공유 폴더 확인

 

 

[ 공유 폴더 설정 ]

설정 작업은 superuser 권한이 필요합니다. 따라서 sudo su로 superuser 권한을 획득한 후 작업하는 것이 편합니다.

그렇지 않으면 sudo 명령과 함께 작업 명령을 수행합니다.

 

1. 에디터로 fstab 파일을 열어 편집합니다.

vi /etc/fstab

fstab을 에디터로 open
fstab을 에디터로 open

2. 파일이 열리면 마지막 줄에 다음 내용을 작성하고 저장합니다.

vmhgfs-fuse	/mnt/hgfs fuse defaults,allow_other 0 0

fstab 편집
fstab 편집

3. /mnt에 hgfs 폴더를 생성해 줍니다.

mkdir -p /mnt/hgfs

hgfs 폴더 생성
hgfs 폴더 생성

 

 

여기까지 하면 공유폴더를 사용할 수 있지만 /mnt/hgfs/ 아래 공유폴더가 보이지 않을 때가 있습니다.

보이지 않으면 리부팅하고 다시한번 확인해 봅니다.

 

그래도 보이지 않는 다면 공유 폴더가 unmount된 상태이기 때문입니다.

따라서 다음 명령으로 공유 폴더를 다시 mount 시켜주면 됩니다.

/usr/bin/vmhgfs-fuse .host:/ /mnt/hgfs/ -o subtype=vmhgfs-fuse,allow_other

or

sudo mount -t fuse.vmhgfs-fuse .host:/ /mnt/hgfs -o allow_other

우분투 공유폴더 설정
우분투 공유폴더 설정

반응형
블로그 이미지

DeveloperN

개발자 n의 개발 이야기(draft)

,
반응형

리눅스에서는 어떤 패키지도 자동으로 업데이트되지 않습니다.

정확히 얘기하면 update는 패키지의 목록을 갱신하는 것이고, 실제로 파일을 갱신하는 것은 upgrade라고 합니다.

물론 목록을 갱신하지 않으면 업그레이드도 되지 않습니다.

 

먼저 Git의 버전을 확인합니다.

$ git version

리눅스를 개발 PC로 사용하는 분들은 익숙하겠지 만 부팅을 하게 되면 제일 처음 하는 작업이 업데이트와 업그레이드입니다.

$ sudo apt update && sudo apt upgrade -y

그러나 위의 명령으로도 Git은 업그레이드되지 않습니다. 

왜냐하면 목록에 Git이 등록되어 있지 않기 때문입니다.

그래서 먼저 목록에 Git을 등록하고 업데이트와 업그레이드를 실행하면 다른 패키지들과 함께 업그레이드됩니다.

$ sudo add-apt-repository ppa:git-core/ppa -y
$ sudo apt update && sudo apt upgrade -y

첫 번째 명령은 git의 목록을 만들어 주는 것이고, 다음 명령은 패키지를 업그레이드하는 명령입니다.

이렇게 해주면 다음부터는 부팅 후 첫 번째 명령은 생략하고 두 번째 명령만 하면 다를 패키지들과 함께 업그레이드됩니다.

우분투에서 Git을 업데이트하는 방법
우분투에서 Git을 업데이트하는 방법

 

반응형
블로그 이미지

DeveloperN

개발자 n의 개발 이야기(draft)

,
반응형
WSL2는 virtualbox와의 충돌 문제가 있어 virtualbox를 사용할 수 없게 된다.
따라서 virtualbox를 자주 사용하는 경우라면 WSL2를 사용하지 말아야 한다.
이는 Hyper-v 공유할 수 없어 발생하는 문제로 아직 해결되지 않았다. (2020년 10월 09일 현재)
WSL과 virtualbox를 꼭 함께 사용해야 한다면 WSL1으로 다운 그래이드 해서 사용해야 한다.

1. 설치전 윈도우의 버전이 2004인지 먼저 확인한다. 이하버전인 경우 업그레이드한다.

>winver

 

윈도우 버전 확인

2. 관리자 권한으로 터미널을 열고 다음과 같이 명령어를 입력한다.

1) WSL (Windows Subsystem for Linux) 기능 활성화

>dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart

2) Virtual Machine Platform 활성화

>dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart

아래와 같은 화면이 나오면 정상적으로 설정이 된것이다.

설정이 최종 완료된 화면

3. 시스템을 리부팅한다.

 

4. WSL 2를 다음 링크에서 다운로드 받는다.

docs.microsoft.com/en-us/windows/wsl/wsl2-kernel

 

Updating the WSL 2 Linux kernel

Instructions on how to update your WSL 2 Linux kernel manually

docs.microsoft.com

 

사이트의 다운로드 링크

 

 

5. 다운 받은 wsl_update_x64.mis를 실행해서 WSL2를 설치한다.

설치 토기화면

6. WSL2를 기본값으로 설정한다. 이후 생성되는 리눅스 배포판이 WSL2로 동작한다. 명령어의 옵션간 스페이스는 존재하지 않는다는 것을 명심하자. 스페이스는 명령어와 옵션사이, 그리고 마지막 2 직전에만 있다.

>wsl --set-default-version 2

 

7. 만일 WSL을 처음 설치하는 것이라면 이번 단계는 필요하지 않다. 그러나 이전에 사용한 적이 있다면 다음 명령으로 WSL을 WSL2로 바꿔준다.

1) 기존의 WSL 배포 목록 확인

>wsl -l -v

2) WSL을 WSL 2로 변경

>wsl --set-version DISTO_NAME 2

 

8. 이제 리눅스 배포판을 Microsoft Store 앱이나 사이트를 통해 설치한다. 여기서는 Ubuntu 20.04 를 설치하도록 한다.

www.microsoft.com/ko-kr/p/ubuntu/9nblggh4msv6?activetab=pivot:overviewtab

 

Ubuntu 구매 - Microsoft Store ko-KR

Microsoft Store에서 이 Windows 10용 앱을 다운로드하세요. 스크린샷을 보고, 최신 고객 리뷰를 읽고, Ubuntu에 대한 평점을 비교하세요.

www.microsoft.com

9. 설치가 끝나고 실행하면 다음과 같은 화면이 나온다. 사용자 이름과 암호를 등록한다.

설치 후 실행한 첫 화면

사용자 이름과 등록이 끝나면 다음 화면이 나온다.

우분투가 실행된 화면

10. 마지막으로 터미널에서 설치를 다시한번 확인한다. 명령은 다음과 같다. 

>wsl -l -v

배포목록에 방금설치한 ubuntu가 WSL2에 등록된 것을 확인할 수 있다.

이제 우분투를 사용하면된다.

반응형
블로그 이미지

DeveloperN

개발자 n의 개발 이야기(draft)

,
반응형
리눅스를 윈도우 등과 멀티부팅할 경우 리눅스를 마직막으로 설치하는 것이 일반적임으로, 부트로더는 리눅스의 부트로더인 Grub를 사용하게 된다. 이 경우 기본 부팅순서는 리눅스 다음에 윈도우 등이 나오게 된다.
이 부팅 순서를 바꾸고자 한다면 다음과 같이 Grub를 수정해 주면 된다.
* 멀티부팅과 관련된 사항은 '[ ubuntu ] Windows와 Linux의 멀티부팅'을 참고.

 

우분투에서는 GNU프로젝트의  부트로더인 GRUB를 사용한다.
이 GRUB의 부팅 우선순위를 바꾸면 원하는 OS를 먼저 부팅할 수 있다.

 

1. 먼저 부팅을 할때 부팅 리스트를 확인한다.
필자의 경우 Ubuntu와 Window10 이 설치되어 이고 부팅시 부트메뉴는 다음과 같이 표시된다.

 

*Ubuntu Ubuntu용 
고급 설정 
Memory test (memtest86+) 
Memory test (memtest86+, serial console 115200) 
Windows 10 (loader) (/dev/sda1에 있는)

*(스타)표시가 있는 Ubuntu가 먼저 부팅이 되도록 세팅되어 있다.
여기서 Windows 10에 *(스타)표시를 옮겨 윈도우가 먼저 부팅되게 하면 된다.
현재 윈도우는 5번째 줄에 있기 때문에 *Ubuntu를 0으로 시작하면 윈도우는 4가 된다. Grub를 수정하여 4를 default로 해주면 윈도우가 우선 부팅되게 된다.

 

2. 다음과 같이 명령어를 실행하여 grub를 에디터로 open한다. 필자의 경우는 vi에디터를 사용했다.

$sudo vi /etc/default/grub

문서가 open되면 상단에 다음과 같은 문구를 확인할 수 있다.

GRUB_DEFAULT=0 
#GRUB_HIDDEN_TIMEOUT=0 
GRUB_HIDDEN_TIMEOUT_QUIET=true 
GRUB_TIMEOUT=10 
GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian` 
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash" 
GRUB_CMDLINE_LINUX=""

여기서 첫번째 줄에 있는 GRUB_DEFAULT=0를 GRUB_DEFAULT=4로 수정한 후 저장한다.

 

3. 마지막으로 다음 명령으로 grub 업데이트를 적용한다.

sudo update-grub

위 명령을 실행하면 다음과 같은 메시지가 나타나고 업데이트를 마무리 한다.

grub 설정 파일을 형성합니다 ... 
리눅스 이미지를 찾았습니다: /boot/vmlinuz-4.13.0.37-generic 
initrd 이미지를 찾았습니다: /boot/initrd.img-4.13.0.37-generic 
리눅스 이미지를 찾았습니다: /boot/vmlinuz-4.13.0.26-generic 
initrd 이미지를 찾았습니다: /boot/initrd.img-4.13.0.26-generic 
Found memtest86+ image: /boot/memtest86+.elf 
Found memtest86+ image: /boot/memtest86+.bin 
Windows 10에서 /dev/sda1를 찾았습니다. 
완료되었습니다.

4. rebooting을 하면 윈도우에 *(스타)가 표시되고 우선 순위가 변동된 것을 확인할 수 있습니다.

Ubuntu 
Ubuntu용 고급 설정 
Memory test (memtest86+) 
Memory test (memtest86+, serial console 115200) 
*Windows 10 (loader) (/dev/sda1에 있는)

우분투 부트로더의 부팅 순서 변경하기
우분투 부트로더의 부팅 순서 변경하기

반응형
블로그 이미지

DeveloperN

개발자 n의 개발 이야기(draft)

,
반응형
새로운 버전으로 업그레이드 하기 전에 자신의 시스템이 현재 어떤 버전을 사용하고 있는지 확인하는 명령어를 알아보자.

 

확인방법은 간단하다. 다음과 같이 lsb_release명령을 사용하면 Distributor ID, Description, Release, Codename 을 확인할 수 있다.

 

lsb_release -a

 

이 밖에 kernel release등 시스템의 더 많은 정보를 확인하려면 uname명령을 사용한다. uname명령의 옵션은 -a, -s, -n, -r, -v, -m, -p, -i, -o 등 아홉 가지가 있다.
물론 -a 하나면 모든 것을 다 확인할 수 있으니 충분하지만, 프로그래밍을 할경우 옵션들이 필요할 수 있으므로 정리해 두는 것이 좋다. 명령어도 직관적이어서 쉽게 외울 수 있다. What's your name?

 

woogee@ubuntu:~$ uname -a

 

-a, --all print all information, in the following order, except omit -p and -i if unknown:
-s, --kernel-name print the kernel name
-n, --nodename print the network node hostname
-r, --kernel-release print the kernel release
-v, --kernel-version print the kernel version
-m, --machine print the machine hardware name
-p, --processor print the processor type (non-portable)
-i, --hardware-platform print the hardware platform (non-portable)
-o, --operating-system print the operating system

 

우분투 버전 확인 명령어
우분투 버전 확인 명령어

반응형
블로그 이미지

DeveloperN

개발자 n의 개발 이야기(draft)

,
반응형

[ 최종 수정: 2023.03.12 ]

우분투에서 터미널 사용하는 일이 많을 경우 단축키를 사용하면 편리합니다.
우분투의 터미널 실행과 관련된 단축키는 다음과 같습니다.

 

  1.  Ctrl + Alt + T        : 바탕화면에서 터미널을 실행
  2.  Ctrl + Shift + T     : 터미널내에서 새탭으로 터미널을 실행
  3.  Ctrl + Shift + N    : 터미널내에서 새로운 터미널을 실행
  4.  Ctrl + Shift + W   : 탭으로 실행된 터미널을 종료
  5.  Ctrl + Shift + Q    : 현재 터미널을 종료(탭포함)
  6.  Ctrl + Shift + F     : 터미널내에 문자열검색
  7.  Alt + 숫자              : 탭간에 이동
  8.  Ctrl + PageUp       : 다음 탭으로 이동
  9.  Ctrl + PageDown : 이전 탭으로 이동

터미널 실행 Shortcuts
터미널 실행 Shortcuts

반응형
블로그 이미지

DeveloperN

개발자 n의 개발 이야기(draft)

,