๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

๐Ÿ–ฅ๏ธ Linux

(5)
Notepad๋กœ UTF-8 BOM ๋ฌธ์ œ ํ•ด๊ฒฐํ•˜๊ธฐ UTF-8 ์ธ์ฝ”๋”ฉ์œผ๋กœ ์ €์žฅ๋œ ์Šคํฌ๋ฆฝํŠธ ํŒŒ์ผ์—์„œ $'\357\273\277cd์™€ ๊ฐ™์€ ์˜ค๋ฅ˜ ๋ฉ”์‹œ์ง€๊ฐ€ ๋ฐœ์ƒํ•œ ์ ์ด ์žˆ๋‚˜์š”?์Šคํฌ๋ฆฝํŠธ ํŒŒ์ผ์„ ์ž‘์„ฑํ•˜์—ฌ ์‹คํ–‰ ์ค‘์—... ์ด๋Ÿฐ ์˜ค๋ฅ˜๊ฐ€ ์žˆ์–ด์„œ ํ•˜๋ฃจ๋ฅผ ๋‚ ๋ ค๋ฒ„๋ ธ์Šต๋‹ˆ๋‹ค.์–ธ์ œ์ฏค ์‚ฝ์งˆ์€ ์•ˆํ•˜๊ฒŒ ๋ ๊นŒ์š”? ํ•˜ํ•˜ํ•˜ ์ด ์˜ค๋ฅ˜๋Š” ์ฃผ๋กœ ํŒŒ์ผ์˜ ์‹œ์ž‘ ๋ถ€๋ถ„์— ํฌํ•จ๋œ BOM(Byte Order Mark) ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค. BOM์€ ํŒŒ์ผ์˜ ์ธ์ฝ”๋”ฉ ๋ฐฉ์‹์„ ํ‘œ์‹œํ•˜๋Š” ํŠน์ˆ˜ ๋ฌธ์ž๋กœ, ์‰˜ ์Šคํฌ๋ฆฝํŠธ์™€ ๊ฐ™์€ ํ…์ŠคํŠธ ํŒŒ์ผ์—์„œ ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋ฌธ์ œ์˜ ์›์ธ BOM(Byte Order Mark)์€ ํŒŒ์ผ์˜ ์‹œ์ž‘ ๋ถ€๋ถ„์— ๋ถ™์–ด ์ธ์ฝ”๋”ฉ ๋ฐฉ์‹์„ ํ‘œ์‹œํ•ฉ๋‹ˆ๋‹ค. UTF-8๋กœ ์ €์žฅ๋œ ํŒŒ์ผ์ด BOM์„ ํฌํ•จํ•˜๊ณ  ์žˆ์œผ๋ฉด ์‰˜์—์„œ BOM ๋ฌธ์ž๋ฅผ ๋ถˆํ•„์š”ํ•œ ๋ฌธ์ž๋กœ ์ธ์‹ํ•˜์—ฌ ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ๊ฒฝ์šฐ, ์Šคํฌ๋ฆฝํŠธ๊ฐ€ ์˜ฌ๋ฐ”๋ฅด๊ฒŒ ์‹ค..
OpenSSL docs ์ •๋ฆฌ (์—…๋ฐ์ดํŠธ ์˜ˆ์ •) OPENSSL_malloc - ๋ฉ”๋ชจ๋ฆฌ ํ• ๋‹น, ONENSSL_free์™€ ๊ฐ™์ด ์‚ฌ์šฉ CRYPTO_num_locks - ์ตœ๋Œ€ ์ฒ˜๋ฆฌ๊ฐ€๋Šฅํ•œ mutex ๊ฐœ์ˆ˜ - mutex ๊ด€๋ จํ•˜์—ฌ int ํ˜• ์ƒ์ˆ˜๋ฅผ ๋ฐ˜ํ™˜, ์ด๋งŒํผ์„ ์ฒ˜๋ฆฌ ํ•  ์ˆ˜ ์žˆ์–ด์•ผํ•จ - OpenSSL-1.0.1j ๊ธฐ์ค€์œผ๋กœ 41์ž„ - openssl/crypto/lock.c ์†Œ์Šค์—์„œ ํ™•์ธ ๊ฐ€๋Šฅ - ๋‹ค์ค‘ ์Šค๋ ˆ๋“œ๋ฅผ ์‚ฌ์šฉํ•  ๊ฒฝ์šฐ ์ถฉ๋Œ ํ•  ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ lock ์‚ฌ์šฉ CRYPTO_THREADID_set_callback - ์ฃผ์–ด์ง„ lock type๊ณผ ์ž ๊ธˆ ํ•ด์ œ ์—ฌ๋ถ€(mode)๋กœ ํ•ด๋‹น lock๋ฅผ ๊ด€๋ฆฌํ•ด์คŒ - ํ˜„์žฌ ์‹คํ–‰ ์ค‘์ธ ์Šค๋ ˆ๋“œ์˜ tid ๋ณ„๋กœ ๋“ฑ๋กํ•ด์„œ ๊ด€๋ฆฌ ํ•จ → CRYPTO_THREADID_set_numeric์„ ์‚ฌ์šฉํ•œ ์ฝœ๋ฐฑ์„ ๋“ฑ๋ก - ์ฝœ๋ฐฑ ๋“ฑ๋ก ํ•˜์ง€ ์•Š์œผ๋ฉด ๊ธฐ๋ณธ ๊ตฌํ˜„์œผ๋กœ ..
ls ๋ช…๋ น์–ด/ํŒŒ์ผ๋ชฉ๋ก/linux ls ์งค๋ง‰ํ•œ ls ๋ช…๋ น์–ด๋ฅผ ์ •๋ฆฌํ•˜๋ ค๊ณ  ํ•œ๋‹ค ์›”๋ฃจ ํ•˜๊ณ  ์žˆ์—ˆ๋Š”๋ฐ ์‹œ๊ฐ„์ด ๋„ˆ๋ฌด ์•„๊นŒ์›Œ์„œ ๋ญ๋ผ๋„ ๋‚จ๊ฒจ์•ผ๊ฒ ๋‹ค 1. ls ๋ช…๋ น์–ด (list) ๋‚˜๋Š” ์‰˜์ฐฝ์„ ํ‚ค๋ฉด ๊ทธ๋ƒฅ ์ž์—ฐ์Šค๋Ÿฝ๊ฒŒ ls ๋ช…๋ น์–ด๋ฅผ ์นœ๋‹ค ํŒŒ์ผ ๋ชฉ๋ก์ด๋ผ๋„ ์ผœ๋†“์•„์•ผ ๋  ๊ฒƒ ๊ฐ™์•„์„œ ls๋Š” list์˜ ์ค„์ž„๋ง๋กœ, ๋ง ๊ทธ๋Œ€๋กœ ํŒŒ์ผ ๋ชฉ๋ก์„ ๋ณด์—ฌ์ค€๋‹ค ์‚ฌ์šฉ๋ฒ•์€ ์•„๋ž˜์™€ ๊ฐ™๋‹ค CLI> ls []... []... ์˜ˆ๋ฅผ๋“ค์–ด์„œ, ์•„๋ž˜์™€ ๊ฐ™์€ ํŒŒ์ผ๊ตฌ์กฐ๊ฐ€ ์žˆ๋‹ค๋ฉด ls ๋ช…๋ น์–ด๋ฅผ ์ณค์„ ๋•Œ ๋‚˜์˜ค๋Š” ํ•ญ๋ชฉ์€ ์•„๋ž˜์™€ ๊ฐ™๋‹ค CLI> ls Makefile main.cpp release test.cpp ์š”๋ ‡๊ฒŒ ํ˜„์žฌ ๋””๋ ‰ํ† ๋ฆฌ์— ์žˆ๋Š” ํŒŒ์ผ ๋ชฉ๋ก์„ ๋ณด์—ฌ์ค€๋‹คใ…‹ ls ๋ช…๋ น์–ด๋Š” ๋งŽ์€ ์˜ต์…˜๋“ค์„ ๊ฐ–๊ณ  ์žˆ๋‹ค ํŒŒ์ผ ๋ชฉ๋ก๋“ค์˜ ์ •๋ณด๋ฅผ ๋‹ค ๋ณด์—ฌ์ฃผ๋Š” ๋ช…๋ น์–ด๋ผ์„œ, ํŒŒ์ผ์˜ ๊ถŒํ•œ/ํŒŒ์ผ ํฌ๊ธฐ/์‚ฌ์šฉ์ž/์ˆ˜์ • ๋‚ ์งœ ๋“ฑ๋“ฑ ๋˜ํ•œ ํ™•์ธ ๊ฐ€๋Šฅํ•˜๋‹ค ..
ํ”„๋กœ์„ธ์Šค/ps ๋ช…๋ น์–ด/pstack ๋ช…๋ น์–ด/kill ๋ช…๋ น์–ด ์˜ค๋Š˜์€... ์ด๋Ÿฐ ๋ถ„๋“ค๊ป˜ ๋„์›€์ด ๋˜๋ฉด ์ข‹๊ฒ ๋‹ค ํ”„๋กœ๊ทธ๋žจ์„ ์‹คํ–‰ ์‹œ์ผฐ๋Š”๋ฐ ์ด๊ฒŒ ์ง„์งœ ์‹คํ–‰๋œ๊ฑด์ง€ ํ™•์ธํ•ด๋ณด๊ณ  ์‹ถ๋‹ค ๐Ÿ– ์ž์‹ ์ด ์‹คํ–‰์‹œํ‚จ ํ”„๋กœ๊ทธ๋žจ์ด ์•ˆ์ฃฝ์–ด๋ณธ ์ ์ด ์žˆ๋‹ค ๐Ÿ– ์™œ ์•ˆ์ฃฝ๋Š”์ง€ ๋ชจ๋ฅด๊ฒ ๋‹ค ๐Ÿ– ์ข€๋น„ ํ”„๋กœ์„ธ์Šค๋ฅผ ๋งŒ๋“ค๊ณ  ๋‹นํ™ฉํ•œ์  ์žˆ๋‹ค ๐Ÿ–๐Ÿ–๐Ÿ– ๋ฐ”๋กœ ๋‚˜์•ผ๋‚˜ ๋ฆฌ๋ˆ…์Šค ํ™˜๊ฒฝ์—์„œ ํ”„๋กœ๊ทธ๋žจ์„ ์งœ๋ดค๋‹คํ•˜๋ฉด ํ•œ๋ฒˆ์ฏค์€ ๋“ค์–ด๋ดค์„ process(ํ”„๋กœ์„ธ์Šค)์™€ PID์— ๋Œ€ํ•ด์„œ ์•Œ์•„๋ณด๊ณ ์ž ํ•œ๋‹ค ๊ทธ๋ฆฌ๊ณ  ์ด๋ฅผ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋Š” ๋ช…๋ น์–ด๋„ ์ •๋ฆฌํ•˜๋ ค๊ณ  ํ•œ๋‹ค 1. Process(ํ”„๋กœ์„ธ์Šค)๋ž€? ํ”„๋กœ์„ธ์Šค๋ž€ ๋‹จ์–ด๋Š” ๋งŽ์ด ์ต์ˆ™ํ• ํ…๋ฐ, ๋”ฑ ๋ญ๋ผ๊ณ  ์ •์˜ํ•˜๊ธฐ๋Š” ์–ด๋ ค์šด ๋‹จ์–ด๋‹ค ๋ณดํ†ต ํ”„๋กœ๊ทธ๋žจ๊ณผ ๋งŽ์ด ๋น„๊ต๊ฐ€ ๋œ๋‹ค ํ”„๋กœ๊ทธ๋žจ์€? ํ•˜๋“œ ๋””์Šคํฌ์— ์ €์žฅ๋˜์–ด ์žˆ๋Š” ์‹คํ–‰์ฝ”๋“œ ํ”„๋กœ์„ธ์Šค๋Š”? ํ”„๋กœ๊ทธ๋žจ์„ ๊ตฌ๋™ํ•˜์—ฌ ํ”„๋กœ๊ทธ๋žจ ์ž์ฒด์™€ ํ”„๋กœ๊ทธ๋žจ์˜ ์ƒํƒœ๊ฐ€ ๋ฉ”๋ชจ๋ฆฌ ์ƒ์—์„œ ์‹คํ–‰๋˜๋Š” ์ž‘์—… ๋‹จ์œ„ ์ฆ‰, ์‹คํ–‰์‹œ..
์‹ฌ๋ณผ๋ฆญ ๋งํฌ(Symbolic Link) ์‹ฌ๋ณผ๋ฆญ ๋งํฌ๋ฅผ ์•Œ์•„๋ณผ๊ฑฐ๋‹ค ๊ตฌ๊ธ€๋ง ํ•˜๋ฉด์„œ ๋ช…๋ น์–ด๋งŒ ์•Œ๊ณ  ์‹ถ์—ˆ๋˜ ์ ์ด ๋” ๋งŽ์•„์„œ, ๋ช…๋ น์–ด->์„ค๋ช… ์ˆœ์œผ๋กœ ์ •๋ฆฌํ•ด์•ผ๊ฒ ๋‹ค - ์‹ฌ๋ณผ๋ฆญ ๋งํฌ ์ƒ์„ฑ ์ปค๋งจ๋“œ(์ƒ์„ฑ, ๋ณ€๊ฒฝ, ์‚ญ์ œ) - ์‹ฌ๋ณผ๋ฆญ ๋งํฌ๋ž€ ๋ฌด์—‡์ผ๊นŒ 1. ์‹ฌ๋ณผ๋ฆญ ๋งํฌ(Symbolic Link) Command 1) ์‹ฌ๋ณผ๋ฆญ ๋งํฌ ์ƒ์„ฑ CMD> ln -s {๋งํฌ๊ฑธ๊ณ  ์‹ถ์€ ํŒŒ์ผ} {๋งํฌ ์ด๋ฆ„} ์œ„์™€ ๊ฐ™์ด ์“ธ ์ˆ˜ ์žˆ๋‹ค ํ•ฉ๊ณ„ 0 drwxr-xr-x. 2 pp pp 48 12์›” 17 17:17 . drwxr-xr-x. 3 pp pp 17 12์›” 17 16:58 .. -rw-r--r--. 1 pp pp 0 12์›” 17 16:59 library.so.0 -rw-r--r--. 1 pp pp 0 12์›” 17 17:17 library.so.0.1.0 ๋งŒ์•ฝ ๋งํฌ ๊ฑธ๊ณ  ์‹ถ์€ ํŒŒ์ผ์ด lib..