elsa in mac

mac:Fedora-Asahi Remix, free space(여유공간)을 확보하자. 본문

Asahi Linux

mac:Fedora-Asahi Remix, free space(여유공간)을 확보하자.

elsa in mac 2024. 2. 15. 19:45

이번 포스트에서는 fedora linux에서 root partition의 여유공간을 확보하는 몇 가지 tip을 알아보도록 합시다.

fedora linux를 사용하면서 자주는 아니지만 df -h 명령을 통해 free space를 확인해 보면, 특별히 새로 설치한 것도 없는데 저장 공간이 점점 줄어드는 것을 발견하게 됩니다.  이렇게 특별한 이유 없이 저장공간이 점점 줄어드는 원인은 패키지 업데이트나 추가 설치, 또는 각종 서비스나 시스템 관리 프로세스의 로그/케시 때문인 경우가 대부분 입니다. 512GB 이상의 SSD를 내장한 mac의 경우에는 크게 고민하지 않아도 되지만, 256GB 기본형 모델을 사용하는 사용자라면 macOS와 Linux를 설치해서 사용할 경우 아무래도 저장용량의 압박을 느끼게 됩니다.

package manager
fedora에서는 package manager로 dnf를 사용합니다. dnf 는 autoremove 명령과 함께 clean 명령을 포함하고 있는데, clean 명령에는 옵션에 따라, dbcache, expire-cache, metadata, cached packages 등을 제거할 수 있는 명령들이 존재합니다. 이 모든 것들을 일괄적으로 처리하려면, dnf clean all 명령을 사용하면 됩니다.

❯ sudo dnf clean all

 

docker
docker를 사용하고 있다면, 사용하지 않는 컨테이너와 해당 컨테이너에 assign된 networks요소, 사용하지 않는 image들을 한 번에 정리할 수 있는 명령이 있습니다. 

❯ sudo docker system prune -a

WARNING! This will remove:
  - all stopped containers
  - all networks not used by at least one container
  - all images without at least one container associated to them
  - all build cache

Are you sure you want to continue? [y/N]

주의할 점은..  사용할 container는 실행 상태로 만들어 놓은 상태에서 명령을 실행하시기 바랍니다.

 

core dump
fedora의 경우,  /var/lib/systemd/coredump 폴더에 특정 프로세스의 core dump 파일을 저장하고 있는 경우가 있습니다. 프로세스 core dump는 실행 중에 오류가 발생하거나, 비정상적으로 종료를 시킨 경우 혹은 프로세스가 crash 된 경우 디버깅을 위해 해당 프로세스의 정보를 저장하는 것입니다.  core dump 는 일반적으로 매우 큰 사이즈의 정보를 저장하게 됩니다 아래는 예 입니다.

용량이 무려 3GB가 넘는 것을 알 수 있습니다. 이는 사용자에 따라 다릅니다. 특별히 나중에 검토할 것이 아니라면, 해당 파일들을 제거해 주면 여유 공간 확보에 큰 도움이 됩니다.

 

ABRT
fedora 등 linux에서 /var/spool/abrt 폴더에는 ABRT(Automatic Bug Reporting Tool)이 생성한 오류 보고서와 관련 데이터를 저장합니다. core dump 와 마찬가지로 운영체제 사용 중 발생한 각종 문제와 충돌에 대한 정보를 수집, 이를 보고서 형식으로 저장하여 관리합니다. 해당 폴더에는 많은 디렉토리가 존재할 수 있는데,  ccpp- 로 시작하는 폴더는 C/C++ 프로그램의 충돌 및 오류와 관련된 정보를 저장합니다. kernel 또는 vmcore- 로 시작하는 폴더는 커널 관련 오류 정보를 포함하며, python- 으로 시작하는 폴더는 파이썬 프로그램의 충돌 혹은 오류와 관련된 정보를 포함합니다.  일반 유저가 검토할 정보가 아니니 제거해도 무방합니다.

❯ sudo su
❯ rm -Rf /var/spool/abrt/*

abrt 서비스를 중단하고 싶다면, 아래와 같이 합니다.

❯ systemctl stop abrtd
❯ systemctl disable abrtd

 

Journal log
이 부분은 저널 로그 관리 포스트를 참조하기 바랍니다.

 

Fedora update version cache
Fedora의 38에서 39 등으로 메이저 업데이트를 한 경우, 일반적으로는 업데이트 시 사용되는 파일들에 대한 정리를 자동으로 하지만 상황에 따라서는 케시 데이터가 남아 있을 수 있습니다. 업데이트를 완료한 경우 아래와 같이 케시 데이터 정리 명령을 수행해 봅니다.

❯ sudo dnf system-upgrade clean
내려받기된 자료를 정리 중...
❯

 

swap partition
fedora-asahi remix의 경우 기본적으로 sawpfile을 8GB 정도 잡게 됩니다. 이는 root partition에 만들기 때문에 free space에서 8GB를 낭비하게 됩니다. root partition에 여유공간이 넉넉하지 않다면.. swapfile 대신에 swap partiton을 사용하면 root partition에서 8GB를 확보할 수 있게 됩니다.  swap partition을 사용하려면, macOS에서 macOS의 free space를 분할하여 별도의 partition을 생성하고, 이를 fedora linux에서 swap partition으로 설정하는 일련의 과정을 진행해야 합니다.

우선, macOS에서 Disk Utility앱을 통해 macOS 파티션을 8GB 정도의 크기로 분할 파티셔닝 했다고 가정합니다. fedora로 부팅을 한 후,  fedora-asahi remix의 swap 설정 shell-script를 제거해야 합니다.

❯ cd /usr/libexec/fedora-asahi-remix-scripts
❯ mv setup-swap.sh setup-wap.sh.backup

다음, swap을 off 시킨 후, 추가로 설정한 partition을 swap partition으로 만들어 줍니다.

❯ sudo swapoff -a 
❯ lsblk
NAME        MAJ:MIN RM   SIZE RO TYPE MOUNTPOINTS
nvme0n1     259:0    0 233.8G  0 disk
├─nvme0n1p1 259:1    0   500M  0 part
├─nvme0n1p2 259:2    0 174.2G  0 part
├─nvme0n1p3 259:3    0   7.5G  0 part 
├─nvme0n1p4 259:4    0   2.3G  0 part
├─nvme0n1p5 259:5    0   500M  0 part /boot/efi
├─nvme0n1p6 259:6    0     1G  0 part /boot
├─nvme0n1p7 259:7    0  42.8G  0 part /home
│                                     /
└─nvme0n1p8 259:8    0     5G  0 part
nvme0n2     259:9    0     3M  0 disk
nvme0n3     259:10   0   128M  0 disk

위의 예를 보면, nvme0nlp3 7.5GB 를 swap partition 용으로 사용할 것입니다.  이것은 예시입니다. 사용자의 파티션 분할 상황에 따라 device 명은 달라질 수 있습니다.

❯ sudo mkswap /dev/nvme0n1p3
❯ sudo swapon /dev/nvme0n1p3

영구적으로 설정을 하려면, /etc/fstab에 아래의 내용을 끝에 추가해 줍니다.

/dev/nvme0n1p3 none swap sw 0 0

 

flatpak
flatpak으로 설치했다가 제거를 한 경우, --delete-data flag를 사용하여 제거하지 않은 경우에 데이터 및 런타임 라이브러리 등의 잔재물이 남아 있게 됩니다.  해당 데이터들은 ~/.var/app 에 남아 있으니 터미널에서 flatpak list 명령으로 현재 설치된 flatpak app의 목록을 확인하고, ~/.var/app 에서 제거한 앱과 관련된 디렉토리를 제거하여 정리합니다.  만일 flatpak으로 설치한 모든 app들과 runtime-library 등을 일괄적으로 모두 제거 하려면 flatpack uninstall --all --delete-data 명령을 내리면 됩니다. 

참고로, 설치된 flatpak app의 종류와 크기를 확인하는 방법은 다음과 같습니다.

❯ flatpak --columns=name,size list
Name                                               Installed size
Reco                                                 2.0 MB
Tauon Music Box                                    111.7 MB
Typora                                             459.8 MB
LosslessCut                                        283.2 MB
Freedesktop Platform                               544.1 MB
Mesa                                               377.0 MB
Mesa (Extra)                                       377.0 MB
ffmpeg-full                                         17.8 MB
openh264                                           580.6 kB
그누 이미지 처리 프로그램                          342.9 MB
GNOME Application Platform version 45                1.1 GB
문서 스캐너                                         26.8 MB
KDE Application Platform                           946.3 MB
Skanpage                                           139.0 MB

fedora-asahi remix를 설치하고, 위에 나열된 것들만 확인해서 대략 10GB 이상을 추가로 확보할 수 있었습니다. 물론, swap의 경우는 swapfile을 swap partition으로 변경하는 것이므로 전체 저장장치 용량 측면에서는 변화는 없는 셈입니다 만,  root partition free space 확보 차원에서는 효과적입니다. 

공유하기 링크
Comments