일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- Docker
- Spring Boot
- STS
- Eclipse
- Exception
- MySQL
- Thymeleaf
- 오픈소스
- Open Source
- jpa
- myBatis
- SpringBoot
- 문서
- PostgreSQL
- Source
- spring
- Core Java
- git
- Tomcat
- ubuntu
- oracle
- JDBC
- MSSQL
- AJAX
- 설정
- Python
- error
- JavaScript
- IntelliJ
- maven
- Today
- Total
헤르메스 LIFE
[Ubuntu] Ubuntu 를 사용해보려 합니다. 본문
갑자기 Linux OS를 설치하고 싶어졌습니다.
1. Ubuntu 다운로드
https://ubuntu.com/download/desktop
2. 부팅 USB 만들기
설치확인
# Ubuntu 설치 버전 확인
$ cat /etc/os-release
PRETTY_NAME="Ubuntu 22.04.3 LTS"
NAME="Ubuntu"
VERSION_ID="22.04"
VERSION="22.04.3 LTS (Jammy Jellyfish)"
VERSION_CODENAME=jammy
ID=ubuntu
ID_LIKE=debian
HOME_URL="https://www.ubuntu.com/"
SUPPORT_URL="https://help.ubuntu.com/"
BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/"
PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy"
UBUNTU_CODENAME=jammy
3. Ubuntu 설치 후 해야하는 일들
3-1. apt 소스 저장소를 카카오 미러서버로 변경
$ sudo sed -i 's/kr.archive.ubuntu.com/mirror.kakao.com/g' /etc/apt/sources.list
3-2. 패키지 업데이터, 업그래이드, 불필요한 패키지 제거
$ sudo apt update && sudo apt -y upgrade && sudo apt -y autoremove
Vim, Git, Curl 설치
Twekas 설치 - Ubuntu 시스템의 외관 및 동작을 조정할 수 있는 도구 중 하나입니다.
$ sudo apt-get update
# vim, git, curl 설치
$ sudo apt install vim git curl
# gnome-tweaks: 우분투 기본 설정에서 변경 안 되는 Gnome 환경을 더 변경할 수 있게 해 줌. 예를 들어 폰트..
$ sudo apt-get install gnome-tweaks
패키지 목록을 읽는 중입니다... 완료
의존성 트리를 만드는 중입니다... 완료
상태 정보를 읽는 중입니다... 완료
패키지 gnome-tweaks는 이미 최신 버전입니다 (42~beta-1ubuntu2).
다음 패키지가 자동으로 설치되었지만 더 이상 필요하지 않습니다:
java-common zulu-repo
'sudo apt autoremove'를 이용하여 제거하십시오.
0개 업그레이드, 0개 새로 설치, 0개 제거 및 3개 업그레이드 안 함.
3-3. 파이어폭스, 썬더버드, 리브레오피 삭제
Chrome 설치
$ sudo apt-get update
# Chrome 설치
$ wget https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb
--2024-02-08 00:59:26-- https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb
dl.google.com (dl.google.com) 해석 중... 142.250.206.238, 2404:6800:400a:80e::200e
다음으로 연결 중: dl.google.com (dl.google.com)|142.250.206.238|:443... 연결했습니다.
HTTP 요청을 보냈습니다. 응답 기다리는 중... 200 OK
길이: 106437036 (102M) [application/x-debian-package]
저장 위치: ‘google-chrome-stable_current_amd64.deb
$ sudo apt install ./google-chrome-stable_current_amd64.deb
[sudo] jypark 암호:
죄송합니다만, 다시 시도하십시오.
[sudo] jypark 암호:
패키지 목록을 읽는 중입니다... 완료
의존성 트리를 만드는 중입니다... 완료
상태 정보를 읽는 중입니다... 완료
주의, './google-chrome-stable_current_amd64.deb' 대신에 'google-chrome-stable' 패키지를 선택합니다
다음 패키지가 자동으로 설치되었지만 더 이상 필요하지 않습니다:
ibus-data ibus-gtk4 python3-ibus-1.0
'sudo apt autoremove'를 이용하여 제거하십시오.
다음 새 패키지를 설치할 것입니다:
google-chrome-stable
0개 업그레이드, 1개 새로 설치, 0개 제거 및 2개 업그레이드 안 함.
Firefox 삭제
$ type firefox
`결과가 /usr/bin/firefoxFirefox는 apt를 사용하여 설치된 것입니다.`
# firefox 삭제
$ sudo apt-get remove --purge firefox*
# 사용자 프로필 제거
$ rm -rf ~/.mozilla/firefox/
# 플래시 관련 데이터 제거
$ rm -rf ~/.macromedia/
$ rm -rf ~/.adobe/
# 기본 설정 및 사용자 프로필 삭제
$ sudo rm -rf /etc/firefox/
# 잔여 firefox 관련 디렉토리 제거
$ sudo rm -rf /usr/lib/firefox/
$ sudo rm -rf /usr/lib/firefox-addons/
`결과가 /snap/bin/firefoxFirefox는 snap를 사용하여 설치된 것입니다.`
# firefox 삭제
$ sudo snap remove firefox
# 재부팅
$ sudo reboot
# Thunderbird 삭제 ( 방법1. )
$ sudo apt-get remove --purge thunderbird*
# Thunderbird 삭제 ( 방법2. 위의 방법으로 삭제되지 않을 경우 )
# zsh의 경우
$ sudo apt-get purge thunderbird
패키지 목록을 읽는 중입니다... 완료
의존성 트리를 만드는 중입니다... 완료
상태 정보를 읽는 중입니다... 완료
다음 패키지가 자동으로 설치되었지만 더 이상 필요하지 않습니다:
libmessaging-menu0
'sudo apt autoremove'를 이용하여 제거하십시오.
다음 패키지를 지울 것입니다:
thunderbird* thunderbird-gnome-support* thunderbird-locale-en* thunderbird-locale-en-gb* thunderbird-locale-en-us*
thunderbird-locale-ko*
0개 업그레이드, 0개 새로 설치, 6개 제거 및 1개 업그레이드 안 함.
이 작업 후 259 M바이트의 디스크 공간이 비워집니다.
계속 하시겠습니까? [Y/n] y
# libreoffice 삭제 ( 방법1. )
$ sudo apt-get remove --purge libreoffice*
# Thunderbird 삭제 ( 방법2. 위의 방법으로 삭제되지 않을 경우 )
# zsh의 경우
$ sudo apt-get purge libreoffice
$ sudo apt autopurge
3-4. 한글 입력기 - KIME
https://github.com/Riey/kime/releases
kime 설치 ( kime_ubuntu-22.04_v3.0.2_amd64.deb 다운로드 )
# sudo dpkg -i 파일명.deb
$ sudo dpkg -i kime_ubuntu-22.04_v3.0.2_amd64.deb
[ 설정 ] > [ 설치된 언어 관리 ] > 키보드 입력기 > kime 선택
ibus 설치 - 한글입력을 위해 ( KIME 를 설치했으면, ibus 는 설치 하지 않아야 함. )
# ibus 설치
$ sudo apt-get install ibus
# 한글 입력기 설치
$ sudo apt-get install ibus-hangul
# ibus 삭제
$ sudo apt-get remove --purge ibus
# 한글 입력기 삭제
$ sudo apt-get remove --purge ibus-hangul
리부팅을 하는 것이 좋다고 합니다. ( 개인적으로 리부팅 하지 않고 적용은 되는 것을 확인 했습니다. )
단축키를 변경하고 싶다면, Setting - Keyboards- layout에서 한국어-Preferences를 들어가면 원하는 키로 한영 전환키를 등록할 수 있습니다.
3-5. Powerline 폰트, 나눔폰트 설치
# fontconfig 설치
sudo apt-get -y install fontconfig
# Powerline 폰트 설치
sudo apt install fonts-powerline
# 나눔폰트 설치
sudo apt install fonts-nanum-eco fonts-nanum-coding fonts-nanum-extra
https://hermeslog.tistory.com/750
3-6. Terminal 폰트 변경
기능개선 ( Twekas 설치필요 )
3-7. Fuzzy Search, zsh, oh-my-zsh 설치 ( https://github.com/ohmyzsh/ohmyzsh/wiki/Themes )
Fuzzy Search 설치
# Git 으로 부터 설치
$ git clone --depth 1 https://github.com/junegunn/fzf.git ~/.fzf
~/.fzf/install
# .zshrc 파일
plugins=(
///생략
fzf
///생략
)
# .zshrc 적용
$ source ~/.zshrc
ohj-my-zsh 설치
# 쉘을 bash에서 zsh로 변경
$ sudo apt install zsh -y && chsh -s `which zsh`
# oh-my-zsh 설치
$ sh -c "$(curl -fsSL https://raw.githubusercontent.com/robbyrussell/oh-my-zsh/master/tools/install.sh)"
# zsh-autosuggestions: 명령어 history 기반으로 입력할 명령어를 추천해줍니다.
git clone https://github.com/zsh-users/zsh-autosuggestions.git ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-autosuggestions --depth=1
# zsh-syntax-highlighting: 명령어에 하이라이팅을 넣어줍니다.
$ git clone https://github.com/zsh-users/zsh-syntax-highlighting.git ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-syntax-highlighting --depth=1
# zsh-better-npm-completion: Node.js를 사용하여 개발할 때 npm script 자동완성을 지원합니다.
$ git clone https://github.com/lukechilds/zsh-better-npm-completion ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-better-npm-completion --depth=1
# 플러그인 설치 후 ~/.zshrc 에서 설치한 플러그인을 plugins 에 추가합니다.
plugins=(
git
zsh-autosuggestions
zsh-syntax-highlighting
zsh-better-npm-completion
)
# ~/.zshrc 파일 수정 후 적용
$ source ~/.zshrc
# shell 적용되었는지 확인
$ echo $SHELL
/usr/bin/zsh
터미널 프롬프트 짧게 변경
# theme 파일 수정
# vi ~/.oh-my-zsh/themes/agnoster.zsh-theme
prompt_context() {
if [[ "$USER" != "$DEFAULT_USER" || -n "$SSH_CLIENT" ]]; then
prompt_segment black default "%(!.%{%F{yellow}%}.)$USER"
fi
}
new line 적용하기
# theme 파일 수정
# vi ~/.oh-my-zsh/themes/agnoster.zsh-theme
# theme 파일 open 후
# 순서를 지켜서 추가해야 합니다.
build_prompt() {
RETVAL=$?
prompt_status
prompt_virtualenv
prompt_context
prompt_dir
prompt_git
prompt_bzr
prompt_hg
prompt_newline <--이부분을 추가 꼭 순서 지켜서
prompt_end
}
# 하단 buld_prompt를 찾아
# 반드시 prompt_end 위에 prompt_newline을 추가합니다.
# 그다음 아래 코드를 추가합니다.
prompt_newline() {
if [[ -n $CURRENT_BG ]]; then
echo -n "%{%k%F{$CURRENT_BG}%}$SEGMENT_SEPARATOR
%{%k%F{blue}%}$SEGMENT_SEPARATOR"
else
echo -n "%{%k%}"
fi
echo -n "%{%f%}"
CURRENT_BG=''
}
적용된 모습은 아래와 같습니다.
색상 변경 ( agnoster.zsh-theme 파일은 첨부를 참조하세요. )
# theme 파일 수정
# vi ~/.oh-my-zsh/themes/agnoster.zsh-theme
# 파랑색 -> 하늘색으로 변경
# Dir: current working directory
prompt_dir() {
#prompt_segment blue $CURRENT_FG '%~'
prompt_segment 39d $CURRENT_FG '%~'
}
이모지를 활용한 프롬프트 ( .zshrc 파일 맨 아래 넣었습니다. )
# .zshrc 파일 맨 아래 넣었습니다.
# Prompt customization (random emoji)
prompt_context() {
emojis=("🌙" "🚀" "🔥" "🚦" "⚡️" "😎" "👑" "🌈" "🐵" "🦄" "🐸" "🍻" "💡" "🎉" "🔑")
RAND_EMOJI_N=$(( $RANDOM % ${#emojis[@]} + 1))
# prompt_segment black default "{사용자이름} ${emojis[$RAND_EMOJI_N]} "
prompt_segment black default "$USER ${emojis[$RAND_EMOJI_N]} "
}
.zshrc 전체 입니다.
# If you come from bash you might have to change your $PATH.
# export PATH=$HOME/bin:/usr/local/bin:$PATH
# Path to your oh-my-zsh installation.
export ZSH="$HOME/.oh-my-zsh"
# Set name of the theme to load --- if set to "random", it will
# load a random theme each time oh-my-zsh is loaded, in which case,
# to know which specific one was loaded, run: echo $RANDOM_THEME
# See https://github.com/ohmyzsh/ohmyzsh/wiki/Themes
# ZSH_THEME="robbyrussell"
ZSH_THEME="agnoster"
# Set list of themes to pick from when loading at random
# Setting this variable when ZSH_THEME=random will cause zsh to load
# a theme from this variable instead of looking in $ZSH/themes/
# If set to an empty array, this variable will have no effect.
# ZSH_THEME_RANDOM_CANDIDATES=( "robbyrussell" "agnoster" )
# Uncomment the following line to use case-sensitive completion.
# CASE_SENSITIVE="true"
# Uncomment the following line to use hyphen-insensitive completion.
# Case-sensitive completion must be off. _ and - will be interchangeable.
# HYPHEN_INSENSITIVE="true"
# Uncomment one of the following lines to change the auto-update behavior
# zstyle ':omz:update' mode disabled # disable automatic updates
# zstyle ':omz:update' mode auto # update automatically without asking
# zstyle ':omz:update' mode reminder # just remind me to update when it's time
# Uncomment the following line to change how often to auto-update (in days).
# zstyle ':omz:update' frequency 13
# Uncomment the following line if pasting URLs and other text is messed up.
# DISABLE_MAGIC_FUNCTIONS="true"
# Uncomment the following line to disable colors in ls.
# DISABLE_LS_COLORS="true"
# Uncomment the following line to disable auto-setting terminal title.
# DISABLE_AUTO_TITLE="true"
# Uncomment the following line to enable command auto-correction.
# ENABLE_CORRECTION="true"
# Uncomment the following line to display red dots whilst waiting for completion.
# You can also set it to another string to have that shown instead of the default red dots.
# e.g. COMPLETION_WAITING_DOTS="%F{yellow}waiting...%f"
# Caution: this setting can cause issues with multiline prompts in zsh < 5.7.1 (see #5765)
# COMPLETION_WAITING_DOTS="true"
# Uncomment the following line if you want to disable marking untracked files
# under VCS as dirty. This makes repository status check for large repositories
# much, much faster.
# DISABLE_UNTRACKED_FILES_DIRTY="true"
# Uncomment the following line if you want to change the command execution time
# stamp shown in the history command output.
# You can set one of the optional three formats:
# "mm/dd/yyyy"|"dd.mm.yyyy"|"yyyy-mm-dd"
# or set a custom format using the strftime function format specifications,
# see 'man strftime' for details.
# HIST_STAMPS="mm/dd/yyyy"
# Would you like to use another custom folder than $ZSH/custom?
# ZSH_CUSTOM=/path/to/new-custom-folder
# Which plugins would you like to load?
# Standard plugins can be found in $ZSH/plugins/
# Custom plugins may be added to $ZSH_CUSTOM/plugins/
# Example format: plugins=(rails git textmate ruby lighthouse)
# Add wisely, as too many plugins slow down shell startup.
plugins=(
git
fzf
zsh-autosuggestions
zsh-syntax-highlighting
zsh-better-npm-completion
)
source $ZSH/oh-my-zsh.sh
# User configuration
# export MANPATH="/usr/local/man:$MANPATH"
# You may need to manually set your language environment
# export LANG=en_US.UTF-8
# Preferred editor for local and remote sessions
# if [[ -n $SSH_CONNECTION ]]; then
# export EDITOR='vim'
# else
# export EDITOR='mvim'
# fi
# Compilation flags
# export ARCHFLAGS="-arch x86_64"
# Set personal aliases, overriding those provided by oh-my-zsh libs,
# plugins, and themes. Aliases can be placed here, though oh-my-zsh
# users are encouraged to define aliases within the ZSH_CUSTOM folder.
# For a full list of active aliases, run `alias`.
#
# Example aliases
# alias zshconfig="mate ~/.zshrc"
# alias ohmyzsh="mate ~/.oh-my-zsh"
[ -f ~/.fzf.zsh ] && source ~/.fzf.zsh
#THIS MUST BE AT THE END OF THE FILE FOR SDKMAN TO WORK!!!
export SDKMAN_DIR="$HOME/.sdkman"
[[ -s "$HOME/.sdkman/bin/sdkman-init.sh" ]] && source "$HOME/.sdkman/bin/sdkman-init.sh"
alias ll="ls -alF"
alias goL="cd ~/workspace/SimpleRestAPI2"
alias viTheme="vi ~/.oh-my-zsh/themes/agnoster.zsh-theme"
3-10. Visual Studio Code, Bitwarden, Shutter 설치
# Chromium ( Kime 에서 한글 안됨. )
# sudo snap install chromium
# Visual Studio Code
$ sudo snap install code --classic
# Bitwarden - 사용자 계정관리
$ sudo snap install bitwarden
# Shutter 설치
$ sudo apt install shutter
3-11. 마우스 연결하면 Touchpad 설정 ( touchpad-indicator 설치 )
$ sudo add-apt-repository ppa:atareao/atareao
[sudo] jypark 암호:
저장소: 'deb https://ppa.launchpadcontent.net/atareao/atareao/ubuntu/ jammy main'
설명:
Applications from atareao
자세한 정보: https://launchpad.net/~atareao/+archive/ubuntu/atareao
저장소 추가하는 중.
계속하려면 [ENTER]를 누르고, 취소하려면 Ctrl-c를 누르시오.
$ sudo apt install touchpad-indicator
패키지 목록을 읽는 중입니다... 완료
의존성 트리를 만드는 중입니다... 완료
상태 정보를 읽는 중입니다... 완료
다음의 추가 패키지가 설치될 것입니다 :
gconf-service gconf-service-backend gconf2-common gir1.2-appindicator3-0.1 gir1.2-gconf-2.0 libgconf-2-4 python3-evdev
python3-pyudev python3-xlib
제안하는 패키지:
python-evdev-doc
다음 새 패키지를 설치할 것입니다:
gconf-service gconf-service-backend gconf2-common gir1.2-appindicator3-0.1 gir1.2-gconf-2.0 libgconf-2-4 python3-evdev
python3-pyudev python3-xlib touchpad-indicator
0개 업그레이드, 10개 새로 설치, 0개 제거 및 6개 업그레이드 안 함.
1,474 k바이트 아카이브를 받아야 합니다.
이 작업 후 11.3 M바이트의 디스크 공간을 더 사용하게 됩니다.
계속 하시겠습니까? [Y/n] y
3-12. JDK 설치
3-12-1. SDKMAN 설치
https://hermeslog.tistory.com/742
3-12-2. Zulu OpenJDK 설치 / 삭제 ( SDKMAN 으로 관리 시 설치 필요없음 )
# Step #1: Import the Zulu Repository Key for Ubuntu
$ sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 0xB1998361219BD9C9
# Step #2: Add Zulu apt Repository
# ubuntu의 경우
$ sudo apt-add-repository 'deb http://repos.azulsystems.com/ubuntu stable main'
# debian의 경우
$ sudo apt-add-repository 'deb http://repos.azulsystems.com/debian stable main'
# 실행하지 않아도됨 ( repository를 등록할 수 없을 경우 )
$ sudo echo 'deb http://repos.azulsystems.com/debian stable main' > /etc/apt/sources.list.d/zulu.list
# apt 목록 update
$ sudo apt-get update
# Install Zulu OpenJDK Version 11 on Ubuntu
$ sudo apt-get install zulu-8 # Java8을 설치하는 경우
$ sudo apt-get install zulu-11 # Java11을 설치하는 경우
# JDK 삭제
$ sudo apt-get remove zulu-11
3-12-2. OpenJDK 설치 ( SDKMAN 으로 관리 시 설치 필요없음 )
sudo apt-get install openjdk-11-jdk
apt 로 설치된 JDK의 디렉토리 경로는 '/usr/lib/jvm/' 입니다.
sdk로 설치된 디렉토리 경로는 '~/.sdkman/candidates/java/' 입니다.
https://inpa.tistory.com/entry/LINUX-%F0%9F%93%9A-%EB%A6%AC%EB%88%85%EC%8A%A4-%EC%84%A4%EC%B9%98
https://luckyyowu.tistory.com/409
https://wslhub.com/wsl-firststep/firststep/ubuntu/
https://velog.io/@saemsol/Oh-My-Zsh
https://hermeslog.tistory.com/744
https://davelogs.tistory.com/126
https://hermeslog.tistory.com/750
'기타' 카테고리의 다른 글
[Docker] Ubuntu 에 Docker 설치 (2) | 2024.02.04 |
---|---|
[Ubuntu] Display 해상도 설정 (0) | 2024.02.04 |
[MacBook Pro] 2009년 MacBook Pro 에 Linux 설치 하기 (0) | 2024.02.03 |
[netstat] 사용중인 포트 찾고 종료하기 (1) | 2023.05.15 |
[루팅] 갤럭시 S7 Edge (0) | 2022.08.28 |