본문 바로가기

개발 이야기/리눅스 개발

ArchLinux 설치 따라하기

728x90

그냥 제가 쓰기 위해 정리해놓은것 공개 합니다.

 

도커를 위한 서버 셋팅이며...

 

btrfs 를 이용해서 timeshift 로 스냅샷을 저장하는 설정까지 포함되어 있습니다.

 

편의상 존대는 생략되어있습니다. 양해 부탁 드립니다.

 

##############################

# ArchLinux 설치 법

##############################

 

# archlinux 부팅 USB 만드는 방법은 생략 합니다.

 

# 우선 usb 로 부팅이 완료되면

 

# root 비밀번호 설정

passwd 

 

# ssh server 실행

systemctl start sshd

 

# 서버 IP 확인

ip addr

 

# 이후 다른 피씨에서 ssh 로 접속 

----- 여기까지는 옵션입니다. 다른 피씨로 컨트롤C 컨트롤V 를 편하게 하기위한 셋팅 입니다. 

----- 그냥 아래부터 서버에서 직접 타이핑 하셔도 됩니다.

 

# 설치할 디스크 정보 확인

lsblk 

 

##############################

root@archiso # lsblk

NAME   MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT

loop0    7:0    0 602.6M  1 loop /run/archiso/sfs/airootfs

sda      8:0    0 465.8G  0 disk 

├─sda1   8:1    0   512M  0 part 

├─sda2   8:2    0     8G  0 part 

└─sda3   8:3    0 457.3G  0 part 

sdb      8:16   1   7.5G  0 disk 

├─sdb1   8:17   1   669M  0 part /run/archiso/bootmnt

├─sdb2   8:18   1    65M  0 part 

└─sdb3   8:19   1   300K  0 part 

##############################

 

# sda 에 설치 예정

 

# 파티션 나누기

cfdisk /dev/sda

 

# 하드디스크 파티션 정보 전부 삭제

[ Delete ]

 

# 전부 삭제후 

 

[ New ]

Partition size: 512M

[ Type ]

EFI System

 

[ New ]

Partition size: 8G #스왑 용량 설정

[ Type ]

Linux swap

 

[ New ]

Partition size: 루트 용량 설정

[ Type ]

Linux filesystem

 

[ Write ]

yes

[ quit ]

 

# 부팅파티션 포멧

mkfs.vfat -F32 /dev/sda1

 

# 스왑파티션 포멧

mkswap /dev/sda2

 

# 스왑사용 설정

swapon /dev/sda2

 

##############################

# ext4 로 포멧할 경우

##############################

 

# 리눅스파티션 포멧

mkfs.ext4 -j /dev/sda3

 

mount /dev/sda3 /mnt

 

mkdir /mnt/boot

 

mount /dev/sda1 /mnt/boot

 

##############################

# btrfs 로 포멧할 경우

############################## 

 

# 리눅스파티션 포멧

mkfs.btrfs -f /dev/sda3

 

mount /dev/sda3 /mnt

 

cd /mnt

 

btrfs subvolume create @

 

btrfs subvolume create @home

 

cd /

 

umount /mnt

 

mount -o rw,noatime,compress=lzo,space_cache=v2,subvol=@ /dev/sda3 /mnt

 

mkdir /mnt/home

 

mkdir /mnt/boot

 

mount -o rw,noatime,compress=lzo,space_cache=v2,subvol=@home /dev/sda3 /mnt/home

 

mount /dev/sda1 /mnt/boot

 

# archlinux 패키지 설치

 

# 기본 패키지

pacstrap /mnt base linux linux-firmware 

 

# 기본 패키지 + 자주 사용하는 패키지

pacstrap /mnt base linux linux-firmware openssh nano dhcpcd base-devel ntp btrfs-progs

 

# 설명

openssh #openssh 접속을 위한 패키지

nano #파일 편집을 위한 패키지

dhcpcd #ip 를 dhcp 로 받아오기 위한 패키지

base-devel #컴파일을 위한 개발용 패키지

ntp #인터넷으로 시간을 동기화 시키지 위한 패키지

btrfs-progs #btrfs 로 포멧시 필요한 명령어 패키지

 

# 파일시스템 마운트 정보 저장

genfstab -U /mnt >> /mnt/etc/fstab

 

############################## 

# btrfs 로 포멧하고 timeshift 를 사용할 경우 수정 시작

##############################

 

nano /mnt/etc/fstab

 

/, /home 마운트 옵션에서 

 

subvolid=???,subvol=/@

subvolid=???,subvol=/@home


이부분을 삭제

 

아래 subvol 정보만 남겨 놓는다

 

subvol=@

subvol=@home

 

############################## 

# btrfs 로 포멧하고 timeshift 를 사용할 경우 수정 끝

##############################

 

#아치리눅스 진입

arch-chroot /mnt

 

# root 비밀번호 설정

passwd

 

# 로케일 설정

nano /etc/locale.gen

 

# en_US.UTF-8 찾아서 앞에 주석 제거

 

# 로케일 설정 내용 적용

locale-gen

 

# 언어 설정

echo LANG=en_US.UTF-8 > /etc/locale.conf

 

export LANG=en_US.UTF-8

 

# 호스트네임 지정

echo arch > /etc/hostname

 

# 타임존 설정

ln -sf /usr/share/zoneinfo/Asia/Seoul /etc/localtime

 

# 사용자 계정 만들기 ex) rubyon

useradd -m -g users -G wheel -s /bin/bash rubyon 

 

# 사용자 비밀번호 설정

passwd rubyon

 

# 사용자에게 sudo 권한 부여

EDITOR=nano visudo

 

# 주석제거

%wheel ALL=(ALL) ALL 

 

 

# 부트로더설치

pacman -Syu

 

pacman -S grub efibootmgr

 

grub-install --target=x86_64-efi --efi-directory=/boot --bootloader-id=arch --recheck

 

grub-mkconfig -o /boot/grub/grub.cfg

 

 

# 각종 서비스 enable 

systemctl enable sshd

 

systemctl enable dhcpcd

 

systemctl enable ntpd

 

# arch-chroot 나오기

exit

 

# 언마운트

umount -lR /mnt

 

# 재부팅 

reboot

 

# 재부팅 프로세스가 끝나면 부팅되기전 USB 제거

 

# timeshift 설치

sudo pacman -S git

 

git clone https://aur.archlinux.org/timeshift.git

 

cd timeshift

 

makepkg -si

 

# 첫 실행으로 환경정보 보기

sudo timeshift --list

 

##############################

First run mode (config file not found)

Selected default snapshot type: BTRFS

Mounted '/dev/sda3' at '/run/timeshift/backup'

Selected default snapshot device: /dev/sda3

Device : /dev/sda3

UUID   : 49be6b15-44f6-40ec-9ed8-d10df2139fd3

Path   : /run/timeshift/backup

Mode   : BTRFS

Status : No snapshots on this device

First snapshot requires: 0 B

 

No snapshots found

##############################

 

# 첫 실행이 완료되면 timeshift.json 파일이 생성되는데 위의 정보를 참고하여 아래와 같이 수정

sudo nano /etc/timeshift/timeshift.json

 

##############################

{

  "backup_device_uuid" : "49be6b15-44f6-40ec-9ed8-d10df2139fd3",

  "parent_device_uuid" : "49be6b15-44f6-40ec-9ed8-d10df2139fd3",

  "do_first_run" : "false",

  "btrfs_mode" : "true",

  "include_btrfs_home_for_backup" : "true",

  "include_btrfs_home_for_restore" : "true",

  "stop_cron_emails" : "true",

  "btrfs_use_qgroup" : "true",

  "schedule_monthly" : "false",

  "schedule_weekly" : "false",

  "schedule_daily" : "false",

  "schedule_hourly" : "false",

  "schedule_boot" : "false",

  "count_monthly" : "2",

  "count_weekly" : "3",

  "count_daily" : "5",

  "count_hourly" : "6",

  "count_boot" : "5",

  "snapshot_size" : "0",

  "snapshot_count" : "0",

  "date_format" : "%Y-%m-%d %H:%M:%S",

  "exclude" : [],

  "exclude-apps" : []

}

##############################

 

# 첫 스냅샷 저장

sudo timeshift --create --comments "Fresh install"

 

 

# 스냅샷 목록보기

sudo timeshift --list

 

# 저장한 스냅삿으로 복구시

sudo timeshift -–restore

 

# 원하는 스냅샷 번호 선택

# 재부팅해야 적용됨

sudo reboot

 

 

##############################

# 도커 설치

##############################

 

sudo pacman -S docker docker-compose

 

sudo systemctl enable docker

 

sudo systemctl start docker

 

sudo usermod -a -G docker rubyon

 

exit

 

다시 로그인

 

# 도커 설치후 스냅샷 저장

sudo timeshift --create --comments "Docker install"

 

 

 

(광고1)

주식과 증권 커뮤니티 최신 동향을 한번에 모아서 볼 수 있는 앱이 있습니다.

'주식통' 이라는 앱인데 하기에서 다운로드 가능합니다.

https://play.google.com/store/apps/details?id=com.opensupport.StockTong 

 

(광고2)

이젠 여기저기 있는 중고거래앱들을 번거롭게 일일이 찾아드릴 필요가 없이

중고장터거래 앱들의 원하는 아이템을 한번에 검색해 볼 수있는 앱이 있습니다. 

다운로드는하기에서 가능합니다.

https://play.google.com/store/apps/details?id=com.opensupport.UsedSearch 

 

 

그럼,

    공유합니다.