๋ฐ˜์‘ํ˜•

๐Ÿ“‚ System/Linux 9

[Linux] ์„œ๋น„์Šค๋ž€? ์„œ๋น„์Šค ๋“ฑ๋ก, ์„œ๋น„์Šค ๊ธฐ๋™, ์„œ๋น„์Šค ๋กœ๊ทธ ๋ณด๊ธฐ

์„œ๋น„์Šค(Service)๋ž€? ๋ฐฑ๊ทธ๋ผ์šด๋“œ ํ”„๋กœ์„ธ์Šค๋กœ ์ฃผ๋กœ ์‹œ์Šคํ…œ ๋ถ€ํŒ…์‹œ์— ์ž๋™์œผ๋กœ ํ”„๋กœ๊ทธ๋žจ์ด ๋™์ž‘ํ•˜๋„๋ก ํ•˜๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ์„œ๋น„์Šค๋Š” ์ฃผ๋กœ systemd๋ฅผ ํ†ตํ•ด ๊ด€๋ฆฌ๊ฐ€ ๋˜๋ฉฐ, systemctl์€ systemd๋ฅผ ํ†ตํ•ด ์„œ๋น„์Šค๋ฅผ ๊ด€๋ฆฌํ•˜๋Š”๋ฐ ์‚ฌ์šฉํ•˜๋Š” ๋ช…๋ น์–ด ์ž…๋‹ˆ๋‹ค. ์„œ๋น„์Šค ๋“ฑ๋กํ•˜๋Š” ๋ฐฉ๋ฒ• ์„œ๋น„์Šค๋ฅผ ๋“ฑ๋กํ•˜๋ ค๋ฉด /etc/systemd/system ๋˜๋Š” /lib/systemd/system ๋””๋ ‰ํ„ฐ๋ฆฌ์— [์„œ๋น„์Šค๋ช…].service๋ผ๋Š” ์ด๋ฆ„์˜ ํŒŒ์ผ์„ ๋งŒ๋“ค๋ฉด ๋ฉ๋‹ˆ๋‹ค. ์•„๋ž˜๋Š” nginx๋ฅผ ์„œ๋น„์Šค๋กœ ๋“ฑ๋กํ•˜๋Š” ์˜ˆ์‹œ์ž…๋‹ˆ๋‹ค. # nginx.service [Unit] Description=Nginx service # After๋Š” ํ•ด๋‹น ์„œ๋น„์Šค๊ฐ€ ์–ด๋–ค ๋‹ค๋ฅธ ์„œ๋น„์Šค์ด ์ดํ›„์— ํ™œ์„ฑํ™” ๋˜์–ด์•ผ ํ•จ์„ ์ง€์ •ํ•ฉ๋‹ˆ๋‹ค. # ์„œ๋น„์Šค ๊ฐ„์˜ ์˜์กด์„ฑ์„ ๊ด€๋ฆฌํ•˜๋Š” ๊ฒฝ..

[Linux] alias ์„ค์ •ํ•˜๊ธฐ

alias : ์ž์ฃผ ์‚ฌ์šฉํ•˜๋Š” ๋ช…๋ น์–ด๋ฅผ ๋ณ„์นญ์œผ๋กœ ์‚ฌ์šฉํ• ์ˆ˜ ์žˆ๋Š” ๊ธฐ๋Šฅ alias ์ ์šฉํ•˜๊ธฐ /etc/profile : ์ „์ฒด์‚ฌ์šฉ์ž์˜ ํ™˜๊ฒฝ์„ค์ • /etc/bashrc : ์ „์ฒด ์‚ฌ์šฉ์ž์˜ BASH ํ™˜๊ฒฝ์„ค์ • /etc/zshrc : ์ „์ฒด ์‚ฌ์šฉ์ž์˜ ZSH ํ™˜๊ฒฝ ์„ค์ • ~/.bashrc : ๊ฐœ๋ณ„ ์‚ฌ์šฉ์ž์˜ Bash ํ™˜๊ฒฝ์„ค์ • ~/.zshrc : ๊ฐœ๋ณ„ ์‚ฌ์šฉ์ž์˜ ZSH ํ™˜๊ฒฝ์„ค์ • alias ๋“ฑ๋ก ์˜ˆ์‹œ alias ps_java='ps -ef | grep java' alias port_LISTEN='netstat -nutplea | grep LISTEN'

[Linux] SWAP ์˜์—ญ ๋งŒ๋“ค๊ธฐ

Swap Space(์Šค์™‘ ์˜์—ญ) ๋ฆฌ๋ˆ…์Šค์—์„œ ์Šค์™‘ ์˜์—ญ์€ ํ•˜๋“œ๋“œ๋ผ์ด๋ธŒ์— ์žˆ๋Š” ๋””์Šคํฌ ๊ณต๊ฐ„์œผ๋กœ RAM์ด ๊ฐ€๋“ ์ฐผ์„๋•Œ ์‚ฌ์šฉ์ด ๋ฉ๋‹ˆ๋‹ค. ๋ฆฌ๋ˆ…์Šค์—์„œ๋Š” ๋ฉ”๋ชจ๋ฆฌ๊ฐ€ ๋” ํ•„์š”ํ•˜๊ณ , RAM์ด ๋ถ€์กฑํ•˜๋ฉด ๋น„ํ™œ์„ฑ ํŽ˜์ด์ง€(Inactive page)๊ฐ€ RAM์—์„œ SWAP ์˜์—ญ์œผ๋กœ ์ด๋™์‹œํ‚ต๋‹ˆ๋‹ค. ์Šค์™‘ ์˜์—ญ์€ RAM์ด ์ ์€ ์‹œ์Šคํ…œ์— ๋„์›€์ด ๋  ์ˆ˜ ์žˆ์ง€๋งŒ, RAM์„ ๋Œ€์ฒดํ•˜๋Š” ๊ฒƒ์œผ๋กœ ๊ฐ„์ฃผ๋˜์–ด์„œ๋Š” ์•ˆ๋ฉ๋‹ˆ๋‹ค. SWAP ์˜์—ญ์„ ๋งŒ๋“œ๋Š” ๋ฐฉ๋ฒ• SWAP ์˜์—ญ์„ ๋งŒ๋“œ๋Š” ๋ฐฉ๋ฒ•์€ 2๊ฐ€์ง€์ž…๋‹ˆ๋‹ค. SWAP ํŒŒ์ผ ๋ฐฉ์‹ : ์ผ๋ฐ˜์ ์ธ ํŒŒ์ผ ์‹œ์Šคํ…œ์— ์กด์žฌํ•˜๋Š” ํŒŒ์ผ์„ ์Šค์™€ํ•‘ ์˜์—ญ์œผ๋กœ ์‚ฌ์šฉ SWAP ํŒŒํ‹ฐ์…˜ ๋ฐฉ์‹ : ํŒŒํ‹ฐ์…˜์„ ์Šค์™€ํ•‘ ์˜์—ญ์œผ๋กœ ์‚ฌ์šฉ SWAP ํŒŒ์ผ ๋ฐฉ์‹ ํ˜„์žฌ ๋ฉ”๋ชจ๋ฆฌ ํ™•์ธ(free) free -h ๋นˆ ๋””์Šคํฌ ๋งŒ๋“ค๊ธฐ(dd) ์•„๋ž˜ ๋‚ด์šฉ์€ ์‚ฌ์ด์ฆˆ๊ฐ€ 128M์ธ ๋ธ”๋ก..

[Linux] top ์‹ค์‹œ๊ฐ„ ์‹œ์Šคํ…œ ๋ชจ๋‹ˆํ„ฐ๋ง

provides a dynamic real-time view of a running system It can display system summary information as well as a list of processes or threads currently being managed by the Linux kernel. c : ์ƒ์„ธ ์ปค๋งจ๋“œ ๋˜๋Š” ํ”„๋กœ๊ทธ๋žจ ๋ณด๊ธฐ o COMMAND={์ปค๋งจ๋“œ} : ์ปค๋งจ๋“œ๋กœ ํ•„ํ„ฐ๋ง o USER={์œ ์ €๋„ค์ž„} : ์œ ์ €๋กœ ํ•„ํ„ฐ๋ง d {๋”œ๋ ˆ์ด ํƒ€์ž„} : ๋”œ๋ ˆ์ด ํƒ€์ž„์„ ๋ณ€๊ฒฝํ•œ๋‹ค. ๊ธฐ๋ณธ์€ 3์ดˆ๋งˆ๋‹ค ๊ฐฑ์‹  k {pid} {์‹œ๊ทธ๋„ ๋„˜๋ฒ„} : kill-a-task signal 15 : SIGTERM signal 9 : SIGKILL q : Quit SHIFT + M : ๋ฉ”๋ชจ๋ฆฌ ๊ธฐ์ค€์œผ๋กœ ์ •๋ ฌ ..

[Linux] ZSH / OH-MY-ZSH ์„ค์น˜

zsh ์„ค์น˜(OS์— ๋งž๊ฒŒ ์•„๋ž˜ ์ค‘ ํ•˜๋‚˜๋กœ ์„ค์น˜) sudo apt install zsh sudo yum install zsh brew install zsh OH-MY-ZSH ์„ค์น˜ sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)" ์‰˜ ๋ณ€๊ฒฝ chsh -s /bin/zsh oh-my-zsh ํ…Œ๋งˆ ๋ณ€๊ฒฝ sudo vim ~/.zshrc ''' ZSH_THEME="์›ํ•˜๋Š” ํ…Œ๋งˆ" ''' ํ„ฐ๋ฏธ๋„ ์žฌ์ ‘์† ์ฐธ๊ณ  GitHub - ohmyzsh/ohmyzsh: ๐Ÿ™ƒ A delightful community-driven

[Linux] gzip์œผ๋กœ log ์••์ถ•ํ•˜๊ธฐ

์„œ๋ฒ„๋ฅผ ์šด์˜ํ•˜๋‹ค ๋ณด๋ฉด ๋””์Šคํฌ ์‚ฌ์šฉ๋ฅ ๋Š” ํ•„์ˆ˜์ ์ž…๋‹ˆ๋‹ค. ๊ทธ๋ ‡๊ธฐ์— ๋งŽ์ด ์Œ“์ธ log๋ฅผ ์••์ถ•ํ•˜๊ฑฐ๋‚˜ ๋‹ค๋ฅธ ๊ณต๊ฐ„์œผ๋กœ ๋ฐฑ์—…ํ•ด์„œ ๋””์Šคํฌ ์‚ฌ์šฉ๋ฅ ์„ ๊ด€๋ฆฌํ•˜๊ณค ํ•ฉ๋‹ˆ๋‹ค. ์ด ์ค‘ ๋น ๋ฅด๊ฒŒ ๋””์Šคํฌ ์—ฌ์œ ๊ณต๊ฐ„์„ ํ™•๋ณด ํ•  ์ˆ˜ ์žˆ๋Š” ๋ฐฉ๋ฒ•์ธ log๋ฅผ gzip์œผ๋กœ ์••์ถ•ํ•˜๊ธฐ๋ฅผ ํ•ด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. gzip ์œผ๋กœ ํŒŒ์ผ ์••์ถ• : gzip {file_name} gzip ์••์ถ• ํ•ด์ œ : gzip -d {file_name}.gz ์œ„์˜ gzip๋ช…๋ น๊ณผ find ๋ช…๋ น์„ ํ™œ์šฉํ•ด์„œ 6์›” log๋ฅผ gzip์œผ๋กœ ์••์ถ•ํ•ด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. ํ˜„์žฌ ๋””๋ ‰ํ„ฐ๋ฆฌ์— ์กด์žฌํ•˜๋Š” 6์›” test log๋ฅผ gzip์œผ๋กœ ์••์ถ•ํ•˜๊ธฐ find . -name "test-202106??.log" -exec gzip {} \; ํ˜„์žฌ ๋””๋ ‰ํ„ฐ๋ฆฌ์— ์กด์žฌํ•˜๋Š” 6์›” test log๋ฅผ gzip์œผ๋กœ ์••์ถ•ํ•˜๊ธฐ find . -na..

[Linux] ํ•˜๋“œ๋งํฌ์™€ ์‹ฌ๋ณผ๋ฆญ๋งํฌ

๋งํฌ(link)๋Š” ๊ธฐ์กด ํŒŒ์ผ์— ๋Œ€ํ•œ ๋˜ ๋‹ค๋ฅธ ์ ‘๊ทผํฌ์ธํŠธ๋ฅผ ๋งŒ๋“ค์–ด ์ฃผ๋Š” ๊ธฐ๋Šฅ์œผ๋กœ ํ•˜๋“œ๋งํฌ์™€ ์‹ฌ๋ณผ๋ฆญ๋งํฌ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ํ•˜๋“œ๋งํฌ๋Š” ์›๋ณธ๊ณผ ๊ฐ™์€ i-node number๋ฅผ ๊ฐ€์ง€๋Š” ํŒŒ์ผ์„ ๋งŒ๋“œ๋Š”๊ฒƒ์ด๊ณ , ์‹ฌ๋ณผ๋ฆญ๋งํฌ๋Š” ์›๋ณธ์˜ ๊ฒฝ๋กœ๋ฅผ ๋‚ด์šฉ์œผ๋กœ ๊ฐ€์ง€๊ณ  ์žˆ๋Š” ํŒŒ์ผ์„ ๋งŒ๋“œ๋Š”๊ฒƒ์œผ๋กœ, ์‹ฌ๋ณผ๋ฆญ๋งํฌ๋Š” ์›๋ณธ๊ณผ i-node๊ฐ€ ๋‹ค๋ฅธ ์ „ํ˜€ ์ƒˆ๋กœ์šด ํŒŒ์ผ์ž…๋‹ˆ๋‹ค. ๋งํฌ๋Š” ln์ด๋ผ๋Š” ๋ช…๋ น์œผ๋กœ ๋งŒ๋“ค์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. -s๋Š” ์‹ฌ๋ณผ๋ฆญ๋งํฌ๋ฅผ ๋งŒ๋“œ๋Š” ์˜ต์…˜์œผ๋กœ -s๋ฅผ ์ฃผ์ง€ ์•ˆ์œผ๋ฉด ํ•˜๋“œ๋งํฌ๋ฅผ ๋งŒ๋“ค๊ฒŒ ๋ฉ๋‹ˆ๋‹ค. ln [-s] [์›๋ณธํŒŒ์ผ] [๋งํฌ๋ช…] Hard link ํ•˜๋“œ๋งํฌ ์ƒ์„ฑ ํ›„ test์˜ Links๊ฐ€ 2๊ฐ€ ๋˜์—ˆ๊ณ , Inode๊ฐ€ ๊ฐ™์Šต๋‹ˆ๋‹ค. ls -al์˜ ๊ฒฐ๊ณผ์—์„œ๋„ ๋งํฌ์ˆ˜๊ฐ€ 2๋กœ ๋ณด์ž…๋‹ˆ๋‹ค. ํ•˜๋“œ๋งํฌ๋Š” ๋™์ผํ•œ i-node number์„ ๊ฐ€์ง€๋Š” ํŒŒ์ผ์„ ์ƒ์„ฑํ•˜๋Š” ๋ฐฉ์‹์ž…๋‹ˆ..

[Linux] df์˜ ๊ฒฐ๊ณผ์™€ du์˜ ๊ฒฐ๊ณผ๊ฐ€ ์ฐจ์ด๋‚˜๋Š” ์ด์œ 

์—…๋ฌด ์ค‘ df ๋ช…๋ น์˜ ๊ฒฐ๊ณผ์™€ du์˜ ๋ช…๋ น์˜ ๊ฒฐ๊ณผ๊ฐ€ ๋‹ค๋ฅด๋‹ค๊ณ  ์žƒ์–ด๋ฒ„๋ฆฐ ์Šคํ† ๋ฆฌ์ง€ ์šฉ๋Ÿ‰์„ ์ฐพ์•„๋‹ฌ๋ผ๋Š” ์š”์ฒญ์„ ๋ฐ›์•˜์Šต๋‹ˆ๋‹ค. ๋ฌธ์ œ๊ฐ€ ๋˜๋Š” ๋””๋ ‰ํ„ฐ๋ฆฌ๋ฅผ ํ™•์ธํ•ด๋ณด๋‹ˆ df๋Š” ์šฉ๋Ÿ‰์˜ 100%๋ฅผ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ๋‹ค๊ณ  ๋‚˜ํƒ€๋‚ด๊ณ , du๋Š” ์‚ฌ์šฉ๋Ÿ‰์ด 70% ์ •๋„๋ผ๊ณ  ๋‚˜ํƒ€๋‚ด๊ณ  ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค. ์ด๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด ๊ฒ€์ƒ‰ํ•ด๋ณด๋‹ˆ df์™€ du๊ฐ€ ์Šคํ† ๋ฆฌ์ง€ ์šฉ๋Ÿ‰์„ ๊ณ„์‚ฐํ•˜๋Š” ๋ฐฉ๋ฒ•์ด ๋‹ค๋ฅด๋‹ค๋Š” ๊ฒƒ์„ ์•Œ ์ˆ˜ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค. (df๋Š” ์Šˆํผ๋ธ”๋ก์„ ์ฝ๊ณ , du๋Š” ๊ฐ๊ฐ์˜ ํŒŒ์ผ๋“ค์„ ์ฝ๊ณ  ์šฉ๋Ÿ‰์„ ๊ณ„์‚ฐ) ์ด๋Ÿฌํ•œ ๊ณ„์‚ฐ ๋ฐฉ๋ฒ•์˜ ์ฐจ์ด(?)๋กœ ์›๋ณธ ํŒŒ์ผ์ด ์‚ญ์ œ๋˜์—ˆ์œผ๋‚˜ ์—ฌ์ „ํžˆ ํ”„๋กœ์„ธ์Šค์—์„œ ์‚ฌ์šฉํ•˜๋Š” ๊ฒฝ์šฐ df์˜ ๊ฒฐ๊ณผ์™€ du์˜ ๊ฒฐ๊ณผ๊ฐ€ ๋‹ค๋ฅผ ์ˆ˜ ์žˆ๊ณ ,์ด๋ฅผ ํ•ด๊ฒฐ ํ•˜๋Š” ๋ฐฉ๋ฒ•์€ ๊ทธ๋Ÿฌํ•œ ํ”„๋กœ์„ธ์Šค๋ฅผ kill ํ•˜๋ฉด ๋œ๋‹ค๋Š” ๊ฒƒ์„ ์•Œ ์ˆ˜ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค. (์›๋ณธ ํŒŒ์ผ์ด ์‚ญ์ œ๋˜์—ˆ์œผ๋‚˜ ์—ฌ์ „ํžˆ ํ”„๋กœ์„ธ์Šค๊ฐ€ ์‚ฌ์šฉํ•  ์ˆ˜ ..

๋ฐ˜์‘ํ˜•