OS (42) ์ธ๋ค์ผํ ๋ฆฌ์คํธํ โ Solved * [Ubuntu] bash: netstat/ifconfig: command not found netstat ์ปค๋งจ๋๋ฅผ ์ฌ์ฉํด์ ์ด๋ ค์๋ ์์ผ ํ์ธ ์ข ํ๋ ค๊ณ ํ๋๋... "bash: netstat: command not found" ๐๐๐ ์์ ๊ฐ์ผ๋ฉด ๋นํฉํด์ ์ฐ์์ข์ํ๊ฒ ์ง๋ง, ์ด์ ๋ '์ ๊ทธ๋ฅ ์ฐพ์ผ๋ฉด ๋จ~' ํ๊ณ ์์ด๋๊ธธ ์ ์๊ฒ ๋๋ค. + ์ถ๊ฐ์ ์ผ๋ก ํจ๊ป ํด๊ฒฐํ ์ ์๋ ์๋ฌ ifconfig: There's no such command There's no package named "ifconfig" ํด๊ฒฐํด๋ณด์ ๊ฐ๋จํ๋ค. netstat๊ฐ ๋ค์ด๊ฐ ํจํค์ง๋ฅผ ์ค์นํด์ฃผ๋ฉด ํด๊ฒฐ๋๋ค. $ sudo apt-get update $ sudo apt-get install net-tools ์ง๊ธ ์ค์นํ๋ net-tools ํจํค์ง์๋ netstat๋ฟ๋ง ์๋๋ผ arp, ifconfig, nrarp, nameif, ro.. ๐ง Ubuntu * SCP → SSH ํ์ผ ์ ์ก Port Number = 22 ssh์ ํฌํธ ๋ฒํธ๊ฐ ๊ธฐ๋ณธ ๋ฒํธ์ธ 22๋ฒ์ธ ๊ฒฝ์ฐ ํน๋ณํ ์ค์ ์ด ํ์ํ์ง ์์ต๋๋ค. SSH๋ฅผ ์ด์ฉํ์ฌ ๋ค๋ฅธ ์๋ฒ๋ก ํ์ผ์ ์ ์กํ ๋ scp command๋ฅผ ์ด์ฉํ ์ ์์ต๋๋ค. $ scp ์ ์กํ ๊ฒ ์์ ํ ์๋ฒ:์ ์ฅ๋ ์์น ์์ ํ ์๋ฒ์๋ ssh ์ ๋ ฅํ์ค ๋์ฒ๋ผ ํ์๋ฉด ๋ฉ๋๋ค. root@์ฃผ์.์ฃผ์.์ฃผ์.์ฃผ์ - - - - ์ ์ก ์์ ๋ฐ ํ์ธ ์ ๋ ฅํ์์ ๋๊ฐ์ผ๋ฉฐ, ์ ๋ณด๋ณดํธ๋ฅผ ์ํด ํ์์ผ๋ก ์น ํ์์ค๋ ์ํด๋ถํ๋๋ฆฝ๋๋ค. - - - - Tip. -r ์ต์ ์ ์ฌ์ฉํ๋ฉด ๋๋ ํ ๋ฆฌ์ ํ์ ํ์ผ๊น์ง ํ๋ฒ์ ์ ์ก์ด ๊ฐ๋ฅํฉ๋๋ค. $ scp -r ์ ์กํ ๋๋ ํ ๋ฆฌ ์์ ํ ์๋ฒ:์ ์ฅ๋ ์์น ๋ค๋ฅธ ํฌํธ ๋ฒํธ๋ฅผ ์ฌ์ฉํ๋ ๊ฒฝ์ฐ -P ์ต์ ์ ์ฌ์ฉํ์ฌ ํฌํธ๋ฅผ ์ง์ ํด์ฃผ์ด์ผ ํฉ๋๋ค. → ์๋ฌธ์๊ฐ ์๋๋ผ ๊ผญ! ๋.. ๐ง Ubuntu * ํ๋ผ์คํฌ(Flask) ์ค์นํ๊ธฐ ์๋์ ๋ช ๋ น์ด๋ฅผ ํฐ๋ฏธ๋ ์ฐฝ์ ์ ๋ ฅํ๊ณ root ๋น๋ฒ์ ์ ๋ ฅํด ์ฃผ์ธ์. $ pip3 install flask ์ค์น๊ฐ ๋์๋์ง ํ์ธ $ flask --version + ๋ ์์๋ณด๊ธฐ ํน์ ๋ฒ์ ์ Flask ํจํค์ง๋ฅผ ์ค์นํ ๊ฒฝ์ฐ flask==๋ฒ์ ์ ์ถ๊ฐํด ์ฃผ์๋ฉด ๋ฉ๋๋ค. ์๋ฅผ ๋ค์ด 1.0 ๋ฒ์ ์ ์ค์นํ ๊ฒฝ์ฐ ์๋์ ๊ฐ์ด ์ ๋ ฅํ์๋ฉด ๋ฉ๋๋ค. $ pip3 install flask=1.0 Thanks for ๐ [ book ] Flask ๊ธฐ๋ฐ์ ํ์ด์ฌ ์น ํ๋ก๊ทธ๋๋ฐ - ์ด์งํธ ์ง์ - ๐ง Ubuntu * wsgi๋ฅผ ์ด์ฉํ Apache httpd ์ฐ๋ํ๊ธฐ (Flask) ์ํ์น๋ฅผ ์ํ ํจํค์ง๋ ์ค์นํ๊ณ ์ํ์น๋ ์ค์นํ๋ค๋ฉด, ์ด์ ๋ wsgi๋ฅผ ์ด์ฉํด์ ์ํ์น httpd ์น ์๋ฒ๊ฐ flask app์ ์๋น์คํ ์ ์๋๋ก ์ค์น ํ ์ฐ๊ฒฐ์์ผ๋ณด์! WSGI๋ ๋ฌด์์ผ๊น? ์น ์๋ฒ ๊ฒ์ดํธ์จ์ด ์ธํฐํ์ด์ค(WSGI, Web Server Gateway Interface)๋ ์น์๋ฒ์ ์น ์ดํ๋ฆฌ์ผ์ด์ ์ ์ธํฐํ์ด์ค๋ฅผ ์ํ ํ์ด์ฌ ํ๋ ์์ํฌ๋ผ๊ณ ์ ์๋์ด์๋ค. ์ฆ, ์น ์๋ฒ(Apache)์ Flask ์ ํ๋ฆฌ์ผ์ด์ ์ ์ฐ๋ํด์ฃผ๊ธฐ ์ํ ํ๋ ์์ํฌ์ด๋ค. ์ค์นํด๋ณด์ ์ผ๋จ WSGI ํ์ด์ง์์ ๋ค์ด๋ก๋ ๋ถ๋ถ์ ํด๋ฆญํ์ฌ ์ค์นํ ๋ฒ์ ์ ์ ํํ๊ณ ๋ค์ด๋ฐ์. ํด๋น ํฌ์คํธ์์๋ ๋ช ๋ น์ด๋ฅผ ์ด์ฉํ์ฌ ๋ค์ดํ ๊ฒ์ด๋ฉฐ / ์๋ src ํด๋๋ฅผ ์์ฑํ์ฌ ๊ทธ๊ณณ์์ ์์ ์ ์งํํ ๊ฒ ์ด๋ค. $ cd /src $ wget https:/.. ๐ง Ubuntu * Apache ์ค์น๋ฅผ ์ํ ์์ฑ ํจํค์ง ์ค์นํ๊ธฐ ์ํ์น ์ค์น ๋ฐ ์คํ์ ์ํด์๋ APR, PCRE๋ฅผ ๋จผ์ ์ค์นํด์ฃผ์ด์ผ ํ๋ค. Cent OS์์ yum ๋ช ๋ น์ด๋ก ์ค์นํ๋ ๋ฐฉ๋ฒ์ ์ธํฐ๋ท์ ๋ง์ด ์์ผ๋ ๋ ubuntu๊ณ yum์ด ์ค์น๋์ด ์์ง ์์ผ๋๊น ์ฝ๋๋ฅผ ๋ค์ด๋ฐ์์ ์ค์นํด๋ณด์! ๊ถํ์ด ๋ถ์กฑํ๋ค๊ณ ํ ๋๋ ๋ช ๋ น์ด๋ค ์์ sudo ๋ก root ๊ถํ์ ๋ถ์ฌํด์ ์งํํ๋ฉด ๋๋ค! APR, APR-Util ์ค์นํ๊ธฐ ์ฝ๋๋ฅผ ๋ค์ด๋ฐ์์ ์์ถ์ ํด์ ํ๋ ค๋ฉด ๋ค์ด๋ก๋ ํ์ด์ง์ ์ ์ํด์ ์ํ๋ ๋ฒ์ ์ ์์ค์ฝ๋๋ฅผ ๋ค์ด ๋ฐ๋๋ก ํ๊ณ , ๋ค์ด ๋ฐ์ ์ฎ๊ธฐ๋ ๊ฒ์ด ๊ท์ฐฎ์ ๋๋ wget ๋ช ๋ น์ด๋ฅผ ํตํ์ฌ ๋ค์ด๋ฐ๋๋ก ํ๊ฒ ๋ค. ๋ช ๋ น์ด๋ฅผ ์ฌ์ฉํ ๋๋ ๊ผญ ํํ์ด์ง์์ ๋ค์ด๋ก๋ ๋งํฌ๋ฅผ ํ์ธํ๊ณ ์งํํ๋๋ก ํ์! ๋ฃจํธ ๋๋ ํ ๋ฆฌ ์๋ src ๋๋ ํ ๋ฆฌ๋ฅผ ์์ฑํ์ฌ ์งํํ์๋ค. $ cd /src $ wge.. ๐ง Ubuntu * Apache ์ค์น ๋ฐ ์คํํ๊ธฐ Flask๋ฅผ ์ฌ์ฉํ์ฌ Webserver๋ฅผ ์์ฑํด๋ณด๋ ค๊ณ ํ๋ค. ์ผ๋จ Flask๋ง์ผ๋ก๋ Webserver ์๋น์ค๋ฅผ ์คํํ๋ ๊ฒ์ ๋ถ๊ฐ๋ฅํ๋ค. ํ๋ฒ์ ํ๋์ ๋์๋ง ์คํ ํ ์ ์๊ธฐ ๋๋ฌธ์ Flask๋ง์ ์ฌ์ฉํด์๋ง๋ ์น์ฑ์ ์คํ์ ์ฌ๋ฌ๊ฐ์ง ์์ฒญ์ ์ฒ๋ฆฌํ ์ ์๋ค. ์ํ์น๋ฅผ ์ค์นํด์ ์ฌ์ฉํด ๋ณด๊ธฐ ์ ์ ์ํ์น๋ฅผ ์ค์น ๋ฐ ์คํ์ ํ๊ธฐ ์ํด์๋ ์์กด์ฑ ํจํค์ง๋ค(APR, PCRE)์ด ์ค์น๋ ํ์ํ๋ค. ๋ง์ฝ configure: error: APR not found. Please read the documentation ์ ๊ฐ์ ์ค๋ฅ๊ฐ ๋์จ๋ค๋ฉด APR๋ฅผ ์ค์นํด ์ฃผ์ด์ผ ํ๋ ๊ฒ์ด๋ค. ์์ง ์ด๋ฅผ ์ค์นํ์ง ์์๋ค๋ฉด Apache ์ค์น๋ฅผ ์ํ ์์กด์ฑ ํจํค์ง ์ค์นํ๊ธฐ ๋ถํฐ ๋จผ์ ๋ณด๊ณ ์ค์! โ 2020/03/09 - [OS/๐ง Linu.. ๐ง Ubuntu * nohup, ๋ฐ๋ชฌ ํ๋ก๊ทธ๋จ ์คํ ์๊ฒฉ์ ์ ํ ํ๋ก๊ทธ๋จ์ ์คํ ์์ผฐ๋๋ฐ, ์๊ฒฉ ์ ์์ ๋๊ณ ์ปดํจํฐ๋ฅผ ์ข ๋ฃํ๊ณ ์ถ๋ค.. ์ด๋ป๊ฒ ํด์ผํ ๊น? ๋ฆฌ๋ ์ค๋ผ๋ฉด ์์ธ๋ก ์ฝ๊ฒ ํด๊ฒฐ๋๋ค. What is the Nohup? 1. ํ์ค ์ถ๋ ฅ์ nohup.out ๋๋ ๋ค๋ฅธ ํ์ผ์ผ๋ก ๋๋ฆฐ๋ค. 2. no hang up์ ์ค์ธ ํค์๋ ๋ช ๋ น์ด๋ก ํ๋ก์ธ์ค ์ค๋จ( hang up )์ ๋ฌด์ํ๊ณ ๋ช ๋ น์ด๋ฅผ ์คํํ๋ ๋ช ๋ น์ด. = ํฐ๋ฏธ๋ ์ข ๋ฃ ํ์๋ ํ๋ก๊ทธ๋จ์ ๋ฐ๋ชฌ ์ฒ๋ผ ์คํํ๊ณ ์ถ๋ค. Output Control $ nohup program ์ด ๊ฒฝ์ฐ ์ถ๋ ฅ๋๋ ๋ด์ฉ์ nohup.out ์ด๋ผ๋ ํ์ผ์ ์ ์ฅ๋๋ค. ํ์ผ์ด๋ฆ์ ์ง์ ํ๊ณ ์ถ๋ค๋ฉด ์ด๋ป๊ฒ ํด์ผํ ๊น? $ nohup program > file ์ถ๋ ฅ์ด ํ์์์ด์, ํ์ผ์ ์์ฑํ๊ณ ์ถ์ง ์๋๋ค๋ฉด ์ด๋ป๊ฒ ํด์ผํ ๊น? $ nohup pro.. ๐ง Ubuntu * mosquitto, mosquitto-client ์ค์นํ๊ธฐ 2019/08/09 ๊ธฐ์ค Mosquitto์์ snap ์ปค๋งจ๋๋ฅผ ์ง์ํ๋ค. ๋ช ๋ น์ด๋ฅผ ์ฐ๋ฉด ํจ์ฌ ๊ฐํธํ๊ฒ ์ค์นํ ์ ์๋ค. Broker (mosquitto-server) ์ค์น 1. ์ ์ฅ์๋ฅผ ์ด์ฉํ Broker Server ์ค์น A. ์ ์ฅ์ ์ ๋ฐ์ดํธ $ sudo apt-get install python3-software-properties $ sudo apt-add-repository ppa:mosquitto-dev/mosquitto-ppa $ sudo apt-get update B. ์ ์ฅ์ ์ ๋ฐ์ดํธ ํ์ธ $ sudo apt-cache search mosquitto C. Mosquitto server ์ค์น $ sudo apt-get install mosquitto D. ์ค์น ํ์ธ $ mosquitto 2. .. ๐ง Ubuntu * D2Coding ํฐํธ ์ค์น ๋ฐ Powerline symbol ์ค์ D2 Coding fonts ๊ธฐ์กด์ ์ค์น ํ๋ ๋ฒ์ ์ ์ง์ฐ๊ณ ์ ๋ฒ์ ์ ์ค์นํด์ผํ๋ค๊ณ ํ๋, ํญ์ ์ ๋ฒ์ ์ ์ค์นํ ๋ ์ฃผ์ํ๋๋ก ํ์! ์ผ๋จ git์์[ nave/d2codingfont ]์์ ์ต์ release file์ .zip์ผ๋ก ๋ค์ด ๋ฐ๋๋ค. ์ค์น ๋ฐฉ๋ฒ 1. Command - ๋ค์ด๋ฐ์ ํด๋๋ก ๊ฐ์ unzip ๋ช ๋ น์ ์คํ์์ผ ์ค๋ค. ์๋ฅผ ๋ค์ด ๋ค์ด ๋ฐ์ .zip ํ์ผ๋ช ์ด D2coding ์ด๊ณ ์ด๋ฅผ D2CondingFont๋ผ๋ ํด๋๋ช ์ผ๋ก ๋ง๋ค๊ฒฝ์ฐ ์๋์ ๊ฐ์ด ๋ช ๋ น์ด๋ฅผ ์ ๋ ฅํ๋ค. $ sudo unzip D2coding.zip -d /usr/share/fonts/D2CodingFont ์ด๋ ๊ฒ ํ๋ฉด ์ค์น๊ฐ ์๋ฃ๋๋ค! ์ค์น ๋ฐฉ๋ฒ 2. GUI install - ๋ค์ด๋ฐ์ ํด๋๋ก ๊ฐ์ .zip ํ์ผ์ ์์ถ์ ํ.. ๐ง Ubuntu * ๊ณต๊ฐํค ์์ฑํ๊ธฐ 1. ๊ณต๊ฐํค ๋ฑ๋ก ์ ํ์ธ! ์ผ๋จ ํน์๋ผ๋ ๋ด๊ฐ ๊ณต๊ฐํค๋ฅผ ๋ง๋ค์๋๋ฐ ๊น๋จน๊ณ ์์ ์ ์์ผ๋ ๊ณต๊ฐํค๊ฐ ์๋์ง๋ถํฐ ํ์ธํ์. $ cd ~/.ssh $ ls ๋ชฉ๋ก์ id_rsa.pub ์ด๋ผ๋ ํ์ผ์ด ์์ผ๋ฉด ์ด๋ฏธ ๋๋ ๊ณต๊ฐํค๋ฅผ ์์ฑํ ๊ฒ์ด๋ค. 2. ์๋ค๋ฉด ์์ฑํ์ $ ssh-keygen -t rsa ์์ ๋ช ๋ น์ด๋ฅผ ์ด์ฉํด์ ๊ฐ์ธ์ฉ ๊ฐ์ธํค/๊ณต๊ฐํค๋ฅผ ์์ฑํ๋ค. ๋๋ณด๊ธฐ 1. Enter file in which to save the key (/home/user/.ssh/id_rsa): ๊ฒฝ๋ก๋ฅผ ์ด๋์ ์ ์ฅํ ์ง ๋ฌผ์ด๋ณด๋ ๊ฒ์ธ๋ฐ ๊ทธ๋ฅ ์ํฐ๋ฅผ ์น๋ฉด ๊ธฐ๋ณธ ๊ฒฝ๋ก์ ์ ์ฅ๋๋ค. 2. Enter passphrase (empty for no passphrase): passphrase๋ ์ผ์ข ์ ๋น๋ฐ๋ฒํธ๋ก ๋น๊ณต๊ฐํค๋ฅผ ์ ๋ ฅํ ๊ฐ์ผ๋ก ์ํธํ ํ.. ๐ง Ubuntu * scp, ssh ๋น๋ฐ๋ฒํธ/์ํธ ์์ด ์ฌ์ฉ/๋ก๊ทธ์ธํ๊ธฐ ssh ๋ scp ์ฌ์ฉ์ ๋งค๋ฒ ๋น๋ฐ๋ฒํธ๋ฅผ ์ ๋ ฅํ๋ ๊ฒ์ ๋งค์ฐ ๊ท์ฐฎ๋ค. ์ด๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด์๋ ์๋์ ๊ฐ์ ๋ฐฉ๋ฒ ๋ค์ด ์๋ค. ๊ณต๊ฐํค๋ฅผ ์๊ฒฉ ์๋ฒ์ ๋ฏธ๋ฆฌ ๋ฑ๋ก์ํจ๋ค. sshpass ๋ฅผ ์ฌ์ฉํ๋ค. expect ๋ช ๋ น์ด๋ฅผ ์ด์ฉํด ๋น๋ฐ๋ฒํธ ์ ๋ ฅ์ ์๋ํ ํ๋ค. ์ด ์ค์์๋ 1๋ฒ ๋ฐฉ๋ฒ์ ๋ณด์์์ผ๋ก๋ ๊ฐ์ฅ ์์ ํ๋ฉฐ ๋ฑ๋กํ๋ ๋ฐฉ๋ฒ๋ ๋ณต์กํ์ง์๋ค. 2๋ฒ ๋ฐฉ๋ฒ์ ssh์ ์ง์ ๊ด๊ณ๊ฐ ์๋ ํ๋ก๊ทธ๋จ์์ผ๋ก ๋ณ๋์ ์ค์น๊ฐ ํ์ํ๋ฉฐ, ๋น๋ฒ์๋ ์ ๋ ฅ์ธ์๋ ๋ค์ํ ๊ธฐ๋ฅ์ ์ ๊ณต ํ๋ค๊ณ ๋ ํ๋ ์ฐ๋๋ ํ์์๋ค๊ณ ํ๋จ๋์๊ธฐ์ ์ด๋ฐ ๋ฐฉ๋ฒ์ด ์๋ค๋ ๊ฒ๋ง ์๋ฆฐ๋ค. 3๋ฒ ๋ฐฉ๋ฒ์ sshpass๋ฅผ ์ฌ์ฉํ ์ ์๋ ์ํฉ์์ ์ฐ๋ฉด ์ข๋ค๊ณ ํ๋๋ฐ ssh ์๋ ๋ก๊ทธ์ธ ์คํฌ๋ฆฝํธ๋ฅผ ๋๊ธด๋ค๊ณ ํ๋ค. ์ฌ๊ธฐ์๋ 1๋ฒ ๋ฐฉ๋ฒ์ ์ฌ์ฉํ์ฌ ๋น๋ฐ๋ฒํธ ์์ด scp, ssh๋ฅผ ์ฌ.. ๐ง Ubuntu * ํ์ผ์ rm ๋ง๊ณ ํด์งํต์ผ๋ก ์์ ํ๊ฒ ๋ณด๋ ์๋ค.. ์ฅฌ๋ฅต ์ด๊ฒ ์ ๊ฒ ์์ ์ ํ๋ค๊ฐ ๋๋ฃ ์ง์๋ถ์ด ์์ฑํด ๋์ ํ์ผ์ ๊น์ ์ ๋ก๋ ํ๊ณ ๊ธฐ์กด ์์ ํ๋ ๋๋ ํ ๋ฆฌ๋ ์ธ๋ชจ๊ฐ ์๋ค๋ ํ๋จํ์ ์ญ์ ๋ฅผ ํ๋๋ฐ.. ์ธ์์ ๋ง์์ ๊น์ ์ ๋ก๋ ๋ ๋ด์ฉ์ด ์๋ค ? ๋๋ฃ: ๐จ !!!!!!!!!!!!!!! ๋: ? . . . ? ! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!! ๐จ ๊ทธ๋ ๋ค.. ์ค๋์์์ผ rm์ ๋ฌด์์์ ์ ์คํ ๊นจ๋ซ๊ฒ ๋ ๋๋.. ์ด์ ์์ผ ํด์งํต์ผ๋ก ๋ณด๋ด๋ ๋ฐฉ๋ฒ์ ์๊ฐํ๊ธฐ ์์ํ๋ค ๐ท ๋๊ตฐ.. ์ฃ์ก๐ท.. ์ค๋นํ๊ธฐ Trash ๋๋ ์ด๋์ ์๋? ์ผ๋จ Trash๋ฅผ ์ฐพ์์ผ ๋ฒ๋ฆด ๊ฒ์ด ์๋๊ฐ!? ๊ทธ๋ ๋ค๋ฉด ์ผ๋จ Trash๊ฐ ์ด๋์ ์๋์ง ์ฐพ์๋ณด์ $ find ./ -name Trash ๋์ ๊ฒฝ์ฐ๋ Ubuntu 18.04 LTS์ธ๋ฐ ์์น๊ฐ ./.local/share/T.. ์ด์ 1 2 3 4 ๋ค์