리눅스를 설치할 때 항상 반복하는 작업들
root user 비밀번호 설정
$ sudo passwd
패키지 관리자 저장소를 지역 미러로 설정
fedora
- fastest mirror 플러그인 활성화
$ echo "fastestmirror=True" | sudo tee -a /etc/dnf/dnf.conf && sudo dnf makecache --refresh
centos
/etc/yum.repos.d/
에 아래의 기존 repo들은 압축 후, 카카오 미러용 repo파일 추가[base] name=CentOS-$releasever - Base baseurl=http://ftp.daumkakao.com/centos/$releasever/os/$basearch/ gpgcheck=0 [updates] name=CentOS-$releasever - Updates baseurl=http://ftp.daumkakao.com/centos/$releasever/updates/$basearch/ gpgcheck=0 [extras] name=CentOS-$releasever - Extras baseurl=http://ftp.daumkakao.com/centos/$releasever/extras/$basearch/ gpgcheck=0
ubuntu
- 카카오 미러 사용
$ sudo sed -i 's/archive.ubuntu.com/mirror.kakao.com/g' /etc/apt/sources.list
소프트웨어 설치
공통
- sshd
- git
- vim
- wget
- curl
- htop
- tmux
배포마다 다름
centos
- epel-release
- ‘Development Tools’
sudo yum -y groupinstall 'Development Tools'
fedora
- ‘Development Tools’
sudo dnf -y groupinstall 'Development Tools'
- gcc-c++ (for g++)
ubuntu
- ‘build-essential’
gui 환경
자주 쓰는 소프트웨어
- docker
- docker-compose
- chrome
- fedora | centos
$ sudo dnf install -y fedora-workstation-repositories $ sudo dnf config-manager --set-enabled google-chrome $ sudo dnf install -y google-chrome-stable
- ubuntu
- fedora | centos
- miniconda3
- xrdp
- snapd
- cmake
- ctags (exuberant-ctags)
- python3
- python3-pip
- nano
selinux 끄기
/etc/selinux/config
파일을 열고 SELINUX=disabled 로 수정- reboot
방화벽 zone 설정
- (gui 툴 사용이 가능한 경우) firewall-config 설치하여 사용
- 집에서 쓰는경우 home
ssh 설정
.ssh
디렉터리 만들기. 권한 700- 키 생성
- 다른 기기에 접속하기 위한 기본 키, git ssh 용 키
$ ssh-keygen -t rsa -b 2048 -C "Default ${HOSTNAME}'s ${USER} key" -f "${HOME}/.ssh/id_rsa" $ ssh-keygen -t rsa -b 2048 -C "${HOSTNAME} ${USER}'s git key" -f "${HOME}/.ssh/${HOSTNAME}_git_key"
- 다른 기기에 접속하기 위한 기본 키, git ssh 용 키
- config 파일 생성. 권한 400
Host yourhostname
Hostname 192.168.0.1
IdentityFile ~/.ssh/id_rsa
User remote_user
Port 22
Host github.com
hostname github.com
user git
identityfile ~/.ssh/${HOSTNAME}_git_key
Host gitlab.com
hostname gitlab.com
user git
identityfile ~/.ssh/${HOSTNAME}_git_key
Host bitbucket.org
hostname bitbucket.org
user git
identityfile ~/.ssh/${HOSTNAME}_git_key
Host gitlab.diyaml.com
hostname gitlab.diyaml.com
user git
identityfile ~/.ssh/${HOSTNAME}_git_key
Host yoursecondhostname
Hostname 192.168.0.2
IdentityFile ~/.ssh/id_rsa
User remote_user
Port 22
IdentitiesOnly yes
PreferredAuthentications publickey
LocalForward 8080 127.0.0.1:8080
- 팁
$ chmod u+w "${HOME}/.ssh/config" && vim "${HOME}/.ssh/config" && chmod u-w "${HOME}/.ssh/config"
-
공개 키를 접속을 원하는 호스트에 등록
- 비밀 키 권한 600 꼭 확인하기
sshd 설정(서버의 경우)
.ssh/authorized_keys
파일 만들기. 권한 644- 키 추가
/etc/ssh/sshd_config
파일 수정- LoginGraceTime
- PermitRootLogin
- MaxAuthTries
- MaxSessions
- PubkeyAuthentication yes
- PermitEmptyPasswords
- PasswordAuthentication
- GSSAPIAuthentication
- X11Forwarding
- 방화벽의 현재 zone에서 permanent 와 runtime으로 ssh 서비스 혹은 22/tcp 포트가 허용되어 있는지 확인.
- 데몬 실행
$ sudo systemctl start sshd
$ sudo systemctl enable sshd
.bashrc 수정
# ...
# skip
alias l='ls --color=auto'
alias ls='ls --color=auto'
alias ll='ls -l --color=auto'
alias la='ls -a --color=auto'
alias lla='ls -al --color=auto'
alias sctl='sudo systemctl'
alias manc='man -Hgoogle-chrome' # if you want to install google chrome
alias manf='man -Hfirefox'
#skip
# ...
- 터미널 컬러 수정
git 설정
- 홈 디렉터리에 .gitconfig 파일 생성
[user]
name = zhixian001
email = okyjh12@naver.com
[core]
autocrlf = false
editor = code
[merge]
tool = vscode
[mergetool "vscode"]
cmd = code --wait $MERGED
[diff]
tool = vscode
[difftool "vscode"]
cmd = code --wait --diff $LOCAL $REMOTE
vim 설정
.vimrc
tmux 설정
.tmux.conf
15번째 줄에 wlo1 은 ifconfig 명령어로 확인한 네트워크 인터페이스 이름을 넣으면 됨
한글 디렉터리 링크
- 터미널에서 한글이 깨짐
$ ln -s 다운로드/ Downloads
$ ln -s 바탕화면/ Desktop