Libelektra: testshell_markdown_tutorial_crypto : ์‹คํŒจ

์— ๋งŒ๋“  2019๋…„ 11์›” 26์ผ  ยท  17์ฝ”๋ฉ˜ํŠธ  ยท  ์ถœ์ฒ˜: ElektraInitiative/libelektra

๋ฌธ์ œ๋ฅผ ์žฌํ˜„ํ•˜๋Š” ๋‹จ๊ณ„

gpgme ๊ฐœ๋ฐœ ํŒŒ์ผ์„ ๊ฐ€์ง€๊ณ  libelektra๋ฅผ ๋นŒ๋“œํ•˜์‹ญ์‹œ์˜ค. (ํŽ˜๋„๋ผ์—์„œ gpgme-devel )
๋‚˜๋Š” ์‚ฌ์šฉํ–ˆ๋‹ค

cmake -DBUILD_DOCUMENTATION=ON -DBINDINGS="ALL" -DBUILD_SHARED=ON -DBUILD_STATIC=ON -DBUILD_FULL=ON -DENABLE_COVERAGE=OFF -DENABLE_OPTIMIZATIONS=ON -DENABLE_DEBUG=ON -DENABLE_LOGGER=OFF -DBUILD_STATIC=ON -DCMAKE_INSTALL_PREFIX="$INSTALL_DIR" -DKDB_DB_SYSTEM="$SYSTEM_DIR" DCMAKE_INSTALL_PREFIX=./releaseInstallDir -DPLUGINS="ALL" -DTOOLS="ALL" ..

๊ทธ๋Ÿฌ๋‚˜ ๋ชจ๋“  ๊ฒƒ์ด ๋ฌธ์ œ์™€ ๊ด€๋ จ์ด์žˆ๋Š” ๊ฒƒ์€ ์•„๋‹™๋‹ˆ๋‹ค.

make run_all

์˜ˆ์ƒ ๊ฒฐ๊ณผ

Test #215: testshell_markdown_tutorial_crypto ........... Passed    2.58 sec

์‹ค์ œ ๊ฒฐ๊ณผ

tmpfs ๋“ฑ์˜ / tmp์— ๋ฌธ์ œ๊ฐ€์žˆ๋Š” ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๊นŒ? ๋‚˜๋Š” ํŽ˜๋„๋ผ์™€ ๋ฐ๋น„์•ˆ ๋ฒ„์Šคํ„ฐ (๋„์ปค์—์„œ)์— ๋ฌธ์ œ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.

249/262 Test #215: testshell_markdown_tutorial_crypto ...........***Failed    2.58 sec
Input: /home/mpranj/workspace/libelektra/doc/tutorials/crypto.md
kdb mount test.ini user/tests ini
kdb set user/tests/password 1234
kdb file user/tests/password | xargs cat
kdb rm user/tests/password
kdb umount user/tests
kdb mount test.ini user/tests fcrypt "encrypt/key=$(kdb gen-gpg-testkey)" ini
kdb set user/tests/password 1234

ERROR - RET:
Return value โ€œ5โ€ does not match โ€œ0โ€

kdb file user/tests/password | xargs cat

ERROR - RET:
Return value โ€œ123โ€ does not match โ€œ0โ€

kdb rm user/tests/password

ERROR - RET:
Return value โ€œ11โ€ does not match โ€œ0โ€

kdb umount user/tests
kdb mount test.ini user/tests fcrypt "sign/key=$(kdb gen-gpg-testkey)" ini
kdb set user/tests/password 1234

ERROR - RET:
Return value โ€œ5โ€ does not match โ€œ0โ€

kdb file user/tests/password | xargs cat

ERROR - RET:
Return value โ€œ123โ€ does not match โ€œ0โ€

kdb rm user/tests/password

ERROR - RET:
Return value โ€œ11โ€ does not match โ€œ0โ€

kdb umount user/tests
kdb mount test.ini user/tests fcrypt "sign/key=$(kdb gen-gpg-testkey),encrypt/key=$(kdb gen-gpg-testkey)" ini
kdb set user/tests/password 1234

ERROR - RET:
Return value โ€œ5โ€ does not match โ€œ0โ€

kdb file user/tests/password | xargs cat

ERROR - RET:
Return value โ€œ123โ€ does not match โ€œ0โ€

kdb rm user/tests/password

ERROR - RET:
Return value โ€œ11โ€ does not match โ€œ0โ€

kdb umount user/tests
kdb mount test.ini user/tests crypto_gcrypt "crypto/key=$(kdb gen-gpg-testkey)" base64 ini
kdb meta-set user/tests/password crypto/encrypt 1
kdb set user/tests/password 1234
kdb set user/tests/unencrypted "I am not encrypted"
kdb file user/tests/password | xargs cat
kdb meta-set user/tests/password crypto/encrypt 0
kdb file user/tests/password | xargs cat
kdb rm user/tests/unencrypted
kdb rm user/tests/password
kdb umount user/tests
shell_recorder /tmp/tmp.FLYIzi6Q4K RESULTS: 31 test(s) done 9 error(s).

โ€”โ€” Protocol โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”
CMD: kdb mount test.ini user/tests ini
RET: 0

CMD: kdb set user/tests/password 1234
RET: 0
STDOUT: Create a new key user/tests/password with string "1234"

CMD: kdb file user/tests/password | xargs cat
RET: 0
STDOUT: password=1234

CMD: kdb rm user/tests/password
RET: 0

CMD: kdb umount user/tests
RET: 0

CMD: kdb mount test.ini user/tests fcrypt "encrypt/key=$(kdb gen-gpg-testkey)" ini
RET: 0

CMD: kdb set user/tests/password 1234
RET: 5
=== FAILED return value does not match expected pattern 0
STDERR: Sorry, module fcrypt issued the error C01100:
Resource: Renaming file /tmp/test.ini.2110573:1574783987.412609.tmpZJttxQ to /home/mpranj/.config/test.ini.2110573:1574783987.412609.tmp failed. Reason: Invalid cross-device link
ERROR: C01100

CMD: kdb file user/tests/password | xargs cat
RET: 123
=== FAILED return value does not match expected pattern 0
STDERR: cat: /home/mpranj/.config/test.ini: No such file or directory

CMD: kdb rm user/tests/password
RET: 11
=== FAILED return value does not match expected pattern 0
STDERR: Did not find the key

CMD: kdb umount user/tests
RET: 0

CMD: kdb mount test.ini user/tests fcrypt "sign/key=$(kdb gen-gpg-testkey)" ini
RET: 0

CMD: kdb set user/tests/password 1234
RET: 5
=== FAILED return value does not match expected pattern 0
STDERR: Sorry, module fcrypt issued the error C01100:
Resource: Renaming file /tmp/test.ini.2110783:1574783987.564306.tmpRJuvgG to /home/mpranj/.config/test.ini.2110783:1574783987.564306.tmp failed. Reason: Invalid cross-device link
ERROR: C01100

CMD: kdb file user/tests/password | xargs cat
RET: 123
=== FAILED return value does not match expected pattern 0
STDERR: cat: /home/mpranj/.config/test.ini: No such file or directory

CMD: kdb rm user/tests/password
RET: 11
=== FAILED return value does not match expected pattern 0
STDERR: Did not find the key

CMD: kdb umount user/tests
RET: 0

CMD: kdb mount test.ini user/tests fcrypt "sign/key=$(kdb gen-gpg-testkey),encrypt/key=$(kdb gen-gpg-testkey)" ini
RET: 0

CMD: kdb set user/tests/password 1234
RET: 5
=== FAILED return value does not match expected pattern 0
STDERR: Sorry, module fcrypt issued the error C01100:
Resource: Renaming file /tmp/test.ini.2111010:1574783987.747497.tmpti3bSR to /home/mpranj/.config/test.ini.2111010:1574783987.747497.tmp failed. Reason: Invalid cross-device link
ERROR: C01100

CMD: kdb file user/tests/password | xargs cat
RET: 123
=== FAILED return value does not match expected pattern 0
STDERR: cat: /home/mpranj/.config/test.ini: No such file or directory

CMD: kdb rm user/tests/password
RET: 11
=== FAILED return value does not match expected pattern 0
STDERR: Did not find the key

CMD: kdb umount user/tests
RET: 0

CMD: kdb mount test.ini user/tests crypto_gcrypt "crypto/key=$(kdb gen-gpg-testkey)" base64 ini
RET: 0

CMD: kdb meta-set user/tests/password crypto/encrypt 1
RET: 0

CMD: kdb set user/tests/password 1234
RET: 0
STDOUT: Set string to "1234"

CMD: kdb set user/tests/unencrypted "I am not encrypted"
RET: 0
STDOUT: Create a new key user/tests/unencrypted with string "I am not encrypted"

CMD: kdb file user/tests/password | xargs cat
RET: 0
STDOUT: unencrypted=I am not encrypted
#<strong i="19">@META</strong> crypto/encrypt = 1
password=@BASE64IyFjcnlwdG8wMBEAAACCBjEzmVhqufXSsgK4VPRDUC9GyQxBhocVbgZwimonK+xHaRCSX/blNDSVdIoSRg0n

CMD: kdb meta-set user/tests/password crypto/encrypt 0
RET: 0

CMD: kdb file user/tests/password | xargs cat
RET: 0
STDOUT: unencrypted=I am not encrypted
#<strong i="20">@META</strong> crypto/encrypt = 0
password=1234

CMD: kdb rm user/tests/unencrypted
RET: 0

CMD: kdb rm user/tests/password
RET: 0

CMD: kdb umount user/tests
RET: 0
โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”

์‹œ์Šคํ…œ ์ •๋ณด

  • Elektra ๋ฒ„์ „ : master
  • ์šด์˜ ์ฒด์ œ : Fedora
  • ๋‹ค๋ฅธ ๊ด€๋ จ ์†Œํ”„ํŠธ์›จ์–ด์˜ ๋ฒ„์ „?

์ถ”๊ฐ€ ๋กœ๊ทธ ํŒŒ์ผ ๋ฐ ์ถœ๋ ฅ

bug work in progress

๊ฐ€์žฅ ์œ ์šฉํ•œ ๋Œ“๊ธ€

์ด ๋ฌธ์ œ๋Š” ๋” ์ž์ฃผ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ๋‹ค๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค. fcrypt ๋ฌธ์„œ์—์„œ /tmp ๋ฅผ RAM ๋””์Šคํฌ์— ๋‹ค์‹œ ๋งˆ์šดํŠธํ•˜๋Š” ๊ฒƒ์ด ์ข‹์Šต๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ์‹ค์ œ๋กœ์ด ์˜ค๋ฅ˜๋ฅผ ์ฆ‰์‹œ ํŠธ๋ฆฌ๊ฑฐํ•˜๋Š” ๊ฒƒ์ด ์ข‹์Šต๋‹ˆ๋‹ค.

์ ์ ˆํ•œ ์ˆ˜์ •์„ ์ œ๊ณตํ•˜๋ ค๊ณ  ๋…ธ๋ ฅํ•  ๊ฒƒ์ž…๋‹ˆ๋‹ค.

๋นŒ๋“œ์— ๋Œ€ํ•ด ๋ช…์‹œ ์ ์œผ๋กœ ๋‹ค๋ฅธ TMPDIR์„ ๊ตฌ์„ฑ ํ•  ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๋ฌธ์ œ๊ฐ€ ๋Œ€์ƒ ์‹œ์Šคํ…œ์—์„œ ๋‹ค์‹œ ๋ฐœ์ƒํ•˜๋ฉด ๋‹ค์‹œ ์—ด์–ด ๋” ๋‚˜์€ ์†”๋ฃจ์…˜์„ ์ฐพ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ด๊ฒƒ์€ ๋นŒ๋“œ ์„œ๋ฒ„์— ๋Œ€ํ•œ ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•์œผ๋กœ๋„ ์ข‹์Šต๋‹ˆ๋‹ค.

๋ชจ๋“  17 ๋Œ“๊ธ€

@ markus2330 ์ด๊ฒƒ์€ kdb run_all -v > ~elektra/$VERSION/run_all 2>&1 )์— ๋ฐ˜์˜๋ฉ๋‹ˆ๋‹ค.

ํŽธ์ง‘ : ํŽ˜๋„๋ผ๋ฅผ ํ˜ธ์ŠคํŠธ๋กœ ์‚ฌ์šฉํ•˜๋Š” ์‹œ๋‚˜๋ฆฌ์˜ค์—์„œ๋งŒ ์‹คํŒจ ํ•  ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ a7 / v2 ์—์„œ์ด ๋ถ€๋ถ„์„ ์‹œ๋„ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค (๊ทธ๋ฆฌ๊ณ  ๋„์ปค์—์„œ๋งŒ ๋ฐ๋น„์•ˆ).

์•„๋‹ˆ์š”, ํ™•์‹คํžˆ ๊ต‰์žฅํ•œ ๊ฒƒ์€ ์•„๋‹™๋‹ˆ๋‹ค. ์•„๋งˆ๋„ ์ด์ „ ์‹คํ–‰์—์„œ ์ผ๋ถ€ ์ž„์‹œ ํŒŒ์ผ์ด ์•„์ง ๋‚จ์•„ ์žˆ๊ฑฐ๋‚˜ # 2957์ด ์™„์ „ํžˆ ์ˆ˜์ •๋˜์ง€ ์•Š์•˜๊ธฐ ๋•Œ๋ฌธ์ผ ๊ฐ€๋Šฅ์„ฑ์ด ํฝ๋‹ˆ๋‹ค.

๋ฐ”๋ผ๊ฑด๋Œ€ @ petermax2 ๊ฐ€ 0.9.2 ์ด์ „์— ๊ณ ์น  ์‹œ๊ฐ„์ด ์žˆ๊ธฐ๋ฅผ ๋ฐ”๋ž๋‹ˆ๋‹ค. : wink :

@mpranj ๋ฆด๋ฆฌ์Šค ์ •๋ณด ๋˜๋Š” ๋‹ค๋ฅธ ๋„์›€์ด ํ•„์š”ํ•˜์‹ญ๋‹ˆ๊นŒ?

์œ„์—์„œ cmake ๋ช…๋ น์„ ์‚ฌ์šฉํ•˜์—ฌ 2bc994ae8b3f3a04396303ece106ea563764e490์„ ์ฒ˜์Œ๋ถ€ํ„ฐ ๋นŒ๋“œ ํ•  ๋•Œ ๋ฌธ์ œ๋ฅผ ์žฌํ˜„ ํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.

    Start 188: testshell_markdown_tutorial_crypto 
222/235 Test #188: testshell_markdown_tutorial_crypto ...........   Passed    3.16 sec

๋นŒ๋“œ ๋””๋ ‰ํ† ๋ฆฌ๊ฐ€ ์–ด๋–ป๊ฒŒ ๋“  ์†์ƒ๋˜์—ˆ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ƒˆ (๋นˆ) ๋นŒ๋“œ ๋””๋ ‰ํ† ๋ฆฌ๋กœ ์ปดํŒŒ์ผํ•˜๊ณ  ํ…Œ์ŠคํŠธ ํ•ด ์ฃผ์‹œ๊ฒ ์Šต๋‹ˆ๊นŒ?

@ petermax2 ๋„ˆ๋ฌด ๋นจ๋ฆฌ ํ™•์ธํ•ด ์ฃผ์…”์„œ ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค. ํ˜ธ์ŠคํŠธ ์‹œ์Šคํ…œ (fedora)๊ณผ ๋ฐ๋น„์•ˆ ๋ฒ„์Šคํ„ฐ ๋„์ปค ์ปจํ…Œ์ด๋„ˆ์—์„œ๋„ ์—ฌ๋Ÿฌ ๋ฒˆ ์‹œ๋„ํ–ˆ์Šต๋‹ˆ๋‹ค. ๋˜ํ•œ ๋นŒ๋“œ ๋””๋ ‰ํ† ๋ฆฌ๋ฅผ ์—ฌ๋Ÿฌ ๋ฒˆ ์ •๋ฆฌํ–ˆ์Šต๋‹ˆ๋‹ค.

๋‚ด ์ชฝ์—์„œ๋Š” ๋ฌธ์ œ ์ผ ๊ฐ€๋Šฅ์„ฑ์ด ํ•ญ์ƒ ์žˆ์Šต๋‹ˆ๋‹ค. ๋‚˜์ค‘์— ๋‹ค์‹œ ํ™•์ธํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค!

ํ  ์ด์ƒํ•ด! ์–ด์ œ ๋นŒ๋“œ ๋ฐ ํ…Œ์ŠคํŠธ๋ฅผ ์œ„ํ•ด Debian : stable ์ปจํ…Œ์ด๋„ˆ๋ฅผ ์‚ฌ์šฉํ–ˆ๋‹ค๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค. ์ €๋…์— Fedora๋กœ ๋‹ค์‹œ ์‹œ๋„ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ง€๊ธˆ์€ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•  ์‹œ๊ฐ„์ด ๋งŽ์ง€ ์•Š์ง€๋งŒ ์ž ์‹œ ์‚ดํŽด ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

์ด ๋ฌธ์ œ๋Š” Fedora์—์„œ ์žฌํ˜„ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

The following tests FAILED:
 41 - testshell_markdown_base64 (Failed)
 56 - testshell_markdown_csvstorage (Failed)
 76 - testshell_markdown_iconv (Failed)
 78 - testshell_markdown_ini (Failed)
 93 - testshell_markdown_mini (Failed)
116 - testmod_resolver (Failed)
181 - testshell_markdown_tutorial_crypto (Failed)

์•„๋งˆ๋„ ์ด๊ฒƒ์€ ์•”ํ˜ธ-ํŠœํ† ๋ฆฌ์–ผ ํŠน์ • ๋ฌธ์ œ๊ฐ€ ์•„๋‹ ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค. ์กฐ์‚ฌํ•ด์•ผํ•ฉ๋‹ˆ๋‹ค.

kdb gen-gpg-testkey ์„ ์ฐพ์„ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. ์ด ๋ฌธ์ œ๋Š” # 3246 (KDB_EXEC_PATH)๊ณผ ๊ด€๋ จ์ด ์žˆ์Šต๋‹ˆ๋‹ค.

ํŽธ์ง‘ : ๋ถ„์„์€ testshell_markdown_tutorial_crypto ์—๋งŒ ์œ ํšจํ•ฉ๋‹ˆ๋‹ค. ์ง€๊ธˆ๊นŒ์ง€ ๋‹ค๋ฅธ ํ…Œ์ŠคํŠธ๋Š” ํ™•์ธํ•˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค.

์ด ๋ฌธ์ œ๋ฅผ ๋ด ์ฃผ์…”์„œ ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค!

๋‚˜๋Š” ๋‹ค๋ฅธ ํ…Œ์ŠคํŠธ๊ฐ€ tbh์— ์‹คํŒจํ•˜๋Š” ๊ฒƒ์„ ๋ณด์ง€ ๋ชปํ–ˆ์Šต๋‹ˆ๋‹ค. ์ด๊ฒƒ์ด ๊ฐ™์€ ๋ฌธ์ œ๋ผ๊ณ  ํ™•์‹ ํ•ฉ๋‹ˆ๊นŒ? ์„ค์น˜๋œ kdb๋กœ ์ž‘์—…ํ•˜์ง€๋„ ์•Š์•˜๊ณ  make run_all๋กœ ctest๋ฅผ ์‹คํ–‰ํ–ˆ์Šต๋‹ˆ๋‹ค.

์žฅ๊ธฐ์ ์œผ๋กœ ์šฐ๋ฆฌ๋Š” ์ด์ „์— ์ด์™€ ๊ฐ™์€ ๊ฒƒ์„ ํฌ์ฐฉํ•˜๊ธฐ ์œ„ํ•ด ํŽ˜๋„๋ผ ๋„์ปค ์ด๋ฏธ์ง€ (# 3227)๋„ ์ถ”๊ฐ€ ํ•  ๊ฒƒ์ž…๋‹ˆ๋‹ค.

์ด๊ฒƒ์ด ๊ฐ™์€ ๋ฌธ์ œ๋ผ๊ณ  ํ™•์‹ ํ•ฉ๋‹ˆ๊นŒ?

์•„๋‹ˆ์š”, ์•„๋งˆ๋„ ๋ช‡ ๊ฐ€์ง€ ๋‹ค๋ฅธ ๋ฌธ์ œ ์ผ ๊ฒƒ์ž…๋‹ˆ๋‹ค.

์žฅ๊ธฐ์ ์œผ๋กœ ์šฐ๋ฆฌ๋Š” ํŽ˜๋„๋ผ ๋„์ปค ์ด๋ฏธ์ง€๋„ ์ถ”๊ฐ€ ํ•  ๊ฒƒ์ž…๋‹ˆ๋‹ค.

์•„์ฃผ ์ข‹์€ ์ƒ๊ฐ์ž…๋‹ˆ๋‹ค!

๋‚ด ๋ถ„์„์—์„œ ์˜๋ฏธํ•˜๋Š” ๋ฐ”๋ฅผ ๋ช…ํ™•ํžˆํ•˜๊ธฐ ์œ„ํ•ด ์ด์ „ ๊ฒŒ์‹œ๋ฌผ์„ ํŽธ์ง‘ํ–ˆ์Šต๋‹ˆ๋‹ค.

๋ฌธ์ œ๋Š” ๋‚ด ์ปดํ“จํ„ฐ์—๋งŒ ๊ตญํ•œ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๋‹ค์Œ rename () ํ˜ธ์ถœ์ด ์‹คํŒจํ•˜์—ฌ ํ…Œ์ŠคํŠธ๊ฐ€ ์‹คํŒจํ•ฉ๋‹ˆ๋‹ค.
https://github.com/ElektraInitiative/libelektra/blob/263cbe69686a9f087204a7f3660b007d1de22da2/src/plugins/fcrypt/fcrypt.c#L231

๊ทธ ์ด์œ ๋Š” / tmp๊ฐ€ ๊ธฐ๋ณธ์ ์œผ๋กœ Fedora์—์„œ ๋ณ„๋„์˜ ๋งˆ์šดํŠธ ์ง€์ ์ด๋ฉฐ ๋ฐ๋น„์•ˆ์˜ ๊ฒฝ์šฐ๊ฐ€ ์•„๋‹ˆ๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ๋‹ค๋ฅธ ๋งˆ์šดํŠธ ์ง€์ ์—์„œ ํŒŒ์ผ ์ด๋ฆ„์„ ๋ฐ”๊ฟ€ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.

(๋งค์šฐ ๋”๋Ÿฌ์šด) ํŒจ์น˜๋ฅผ ์ ์šฉํ•˜์—ฌ ์ด๊ฒƒ์ด ๋ฌธ์ œ์ž„์„ ํ™•์ธํ–ˆ์Šต๋‹ˆ๋‹ค. ๋ฆฌ์กธ๋ฒ„ ๊ตฌํ˜„๊ณผ ์ผ๊ด€์„ฑ์„ ์œ ์ง€ํ•˜๊ณ  ์ž„์‹œ ํŒŒ์ผ์„ ์›๋ณธ ํŒŒ์ผ๊ณผ ๋™์ผํ•œ ๋””๋ ‰ํ† ๋ฆฌ์— ๋ฐฐ์น˜ ํ•  ๊ฒƒ์„ ์ œ์•ˆํ•ฉ๋‹ˆ๋‹ค.

@ petermax2 ์–ด๋–ป๊ฒŒ ์ƒ๊ฐํ•˜๊ณ  ์ ์ ˆํ•œ ํŒจ์น˜๋กœ ๊ณ ์น  ์‹œ๊ฐ„์ด ์žˆ์Šต๋‹ˆ๊นŒ?

fcrypt์—์„œ ์‚ฌ์šฉํ•˜๋Š” tmp ๋””๋ ‰ํ† ๋ฆฌ๋Š” ํ”Œ๋Ÿฌ๊ทธ์ธ ๊ตฌ์„ฑ์„ ํ†ตํ•ด ์„ค์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

fcrypt๋Š” ๊ตฌ์„ฑ ์˜ต์…˜ fcrypt / tmpdir์„ ์‚ฌ์šฉํ•˜์—ฌ ์•”ํ˜ธํ™” ๋ฐ ์•”ํ˜ธ ํ•ด๋… ์ค‘์— ์ž„์‹œ ํŒŒ์ผ์— ๋Œ€ํ•œ ๊ฒฝ๋กœ๋ฅผ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ๊ตฌ์„ฑ ์˜ต์…˜์ด ์ œ๊ณต๋˜์ง€ ์•Š์œผ๋ฉด fcrypt๋Š” ํ™˜๊ฒฝ ๋ณ€์ˆ˜ TMPDIR์„ ์‚ฌ์šฉํ•˜๋ ค๊ณ  ์‹œ๋„ํ•ฉ๋‹ˆ๋‹ค. TMPDIR์ด ํ™˜๊ฒฝ์— ์„ค์ •๋˜์ง€ ์•Š์€ ๊ฒฝ์šฐ / tmp๊ฐ€ ๊ธฐ๋ณธ ๋””๋ ‰ํ† ๋ฆฌ๋กœ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค.

(_ ์ถœ์ฒ˜ _ : ํ”Œ๋Ÿฌ๊ทธ์ธ ๋ฌธ์„œ )

Fedora์™€ ์œ ์‚ฌํ•œ ๋นŒ๋“œ ์ž‘์—…์„ ์™„ํ™”ํ•˜๋Š” ๊ฐ€์žฅ ์‰ฌ์šด ๋ฐฉ๋ฒ•์€ ๋‹ค๋ฅธ ๋””๋ ‰ํ† ๋ฆฌ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๋นŒ๋“œ ์„œ๋ฒ„์—์„œ ๋กœ์ปฌ ๋นŒ๋“œ ๋””๋ ‰ํ† ๋ฆฌ๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์–ด๋–ป๊ฒŒ ์ƒ๊ฐํ•ด?

@ petermax2 ์–ด๋–ป๊ฒŒ ์ƒ๊ฐํ•˜๊ณ  ์ ์ ˆํ•œ ํŒจ์น˜๋กœ ๊ณ ์น  ์‹œ๊ฐ„์ด ์žˆ์Šต๋‹ˆ๊นŒ?

์ฃผ๋ง์— ์—ฌ์œ  ์‹œ๊ฐ„์„ ํ• ๋‹น ํ•  ์ˆ˜ ์žˆ์ง€๋งŒ ์ ์ ˆํ•œ ํ•ด๊ฒฐ์ฑ…์œผ๋กœ ๋ฌด์—‡์„ ์—ผ๋‘์—๋‘๊ณ  ๊ณ„์‹ญ๋‹ˆ๊นŒ?

์ฃผ๋ง์— ์—ฌ์œ  ์‹œ๊ฐ„์„ ํ• ๋‹น ํ•  ์ˆ˜ ์žˆ์ง€๋งŒ ์ ์ ˆํ•œ ํ•ด๊ฒฐ์ฑ…์œผ๋กœ ๋ฌด์—‡์„ ์—ผ๋‘์—๋‘๊ณ  ๊ณ„์‹ญ๋‹ˆ๊นŒ?

๊ณผ๋„ํ•˜๊ฒŒ ์—”์ง€๋‹ˆ์–ด๋ง ํ•  ํ•„์š”๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค. ๋‚ด๊ฐ€ ์ œ์•ˆํ–ˆ๋“ฏ์ด ์ž„์‹œ ํŒŒ์ผ์„ ๋Œ€์ƒ ํŒŒ์ผ๊ณผ ๋™์ผํ•œ ๋””๋ ‰ํ† ๋ฆฌ์— ๋„ฃ์Šต๋‹ˆ๋‹ค. ์ด๊ฒƒ์€ resolver ๊ฐ€ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์„ ์ปค๋ฐ‹ ํ•  ๋•Œํ•˜๋Š” ๋ฐฉ์‹์ด๋ฏ€๋กœ ๋‹ค์†Œ ์ผ๊ด€์„ฑ์ด ์žˆ์Šต๋‹ˆ๋‹ค.

๋นŒ๋“œ์— ๋Œ€ํ•ด ๋‹ค๋ฅธ TMPDIR์„ ๊ตฌ์„ฑํ•˜๋Š” ๊ฒƒ๋„ ๊ดœ์ฐฎ์Šต๋‹ˆ๋‹ค. ๊ทธ ๋ณ€ํ™”๋ฅผ ์ง์ ‘ ๊ตฌํ˜„ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์šฐ๋ฆฌ๋Š” ๋‹น์‹ ์ด ์—ฌ๊ธฐ์—์„œ ์ œ์•ˆํ•˜๋Š” ๋ชจ๋“  ๊ฒƒ์„ ๊ฐ€์ง€๊ณ  ๊ฐˆ ๊ฒƒ์ž…๋‹ˆ๋‹ค.

๋ฌธ์„œ ์ด๋ฆ„ ๋ฐ”๊พธ๊ธฐ์—์„œ :

[EXDEV]
[CX] [Option Start] The links named by new and old are on different file systems and the implementation does not support links between file systems. [Option End]

ํŽธ์ง‘ : ๋™์ผํ•œ ์˜ค๋ฅ˜๋กœ sudo๋กœ ์‹คํŒจํ•ฉ๋‹ˆ๋‹ค.

213: CMD: kdb set user/tests/password 1234
213: RET: 5
213: === FAILED return value does not match expected pattern 0
213: STDERR: Sorry, module fcrypt issued the error C01100:
213: Resource: Renaming file /tmp/test.ini.571145:1586371945.946855.tmpHdGEMt to /root/.config/test.ini.571145:1586371945.946855.tmp failed. Reason: Invalid cross-device link
213: ERROR: C01100

๋‹จ์ˆœํ•œ ์†”๋ฃจ์…˜์€ rename ์ž‘์—…์„ ๋ณต์‚ฌ + ์ œ๊ฑฐ๋กœ ๋Œ€์ฒดํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.

๋นŒ๋“œ์— ๋Œ€ํ•ด ๋ช…์‹œ ์ ์œผ๋กœ ๋‹ค๋ฅธ TMPDIR์„ ๊ตฌ์„ฑ ํ•  ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๋ฌธ์ œ๊ฐ€ ๋Œ€์ƒ ์‹œ์Šคํ…œ์—์„œ ๋‹ค์‹œ ๋ฐœ์ƒํ•˜๋ฉด ๋‹ค์‹œ ์—ด์–ด ๋” ๋‚˜์€ ์†”๋ฃจ์…˜์„ ์ฐพ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ด ๋ฌธ์ œ๋Š” ๋” ์ž์ฃผ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ๋‹ค๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค. fcrypt ๋ฌธ์„œ์—์„œ /tmp ๋ฅผ RAM ๋””์Šคํฌ์— ๋‹ค์‹œ ๋งˆ์šดํŠธํ•˜๋Š” ๊ฒƒ์ด ์ข‹์Šต๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ์‹ค์ œ๋กœ์ด ์˜ค๋ฅ˜๋ฅผ ์ฆ‰์‹œ ํŠธ๋ฆฌ๊ฑฐํ•˜๋Š” ๊ฒƒ์ด ์ข‹์Šต๋‹ˆ๋‹ค.

์ ์ ˆํ•œ ์ˆ˜์ •์„ ์ œ๊ณตํ•˜๋ ค๊ณ  ๋…ธ๋ ฅํ•  ๊ฒƒ์ž…๋‹ˆ๋‹ค.

๋นŒ๋“œ์— ๋Œ€ํ•ด ๋ช…์‹œ ์ ์œผ๋กœ ๋‹ค๋ฅธ TMPDIR์„ ๊ตฌ์„ฑ ํ•  ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๋ฌธ์ œ๊ฐ€ ๋Œ€์ƒ ์‹œ์Šคํ…œ์—์„œ ๋‹ค์‹œ ๋ฐœ์ƒํ•˜๋ฉด ๋‹ค์‹œ ์—ด์–ด ๋” ๋‚˜์€ ์†”๋ฃจ์…˜์„ ์ฐพ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ด๊ฒƒ์€ ๋นŒ๋“œ ์„œ๋ฒ„์— ๋Œ€ํ•œ ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•์œผ๋กœ๋„ ์ข‹์Šต๋‹ˆ๋‹ค.

์กฐ์‚ฌํ•ด ์ฃผ์…”์„œ ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค!

๋‹จ์ˆœํ•œ ํ•ด๊ฒฐ์ฑ…์€ ์ด๋ฆ„ ๋ฐ”๊พธ๊ธฐ ์ž‘์—…์„ ๋ณต์‚ฌ + ์ œ๊ฑฐ๋กœ ๋ฐ”๊พธ๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.

์ฝ”๋“œ๋ฅผ ๊ต์ฒดํ•˜๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๋ผ ์ด๋ฆ„ ๋ฐ”๊พธ๊ธฐ๊ฐ€ ์‹คํŒจํ•œ ๊ฒฝ์šฐ ์ˆ˜ํ–‰ํ•ฉ๋‹ˆ๋‹ค. (์ด ๊ฒฝ์šฐ ์†Œ์Šค ํŒŒ์ผ๋„ ํŒŒ์‡„ํ•ฉ๋‹ˆ๋‹ค.) ๊ทธ๋Ÿฌ๋ฉด / tmp์— RAM ๋””์Šคํฌ๊ฐ€์—†๋Š” ์‚ฌ๋žŒ์€ ์†๋„๊ฐ€ ์žˆ๊ณ  / tmp์— RAM ๋””์Šคํฌ๊ฐ€์žˆ๋Š” ์‚ฌ๋žŒ์€ ๋” ๋งŽ์€ ๋ณด์•ˆ์„ ๊ฐ–๊ฒŒ๋ฉ๋‹ˆ๋‹ค.

์ด ํŽ˜์ด์ง€๊ฐ€ ๋„์›€์ด ๋˜์—ˆ๋‚˜์š”?
0 / 5 - 0 ๋“ฑ๊ธ‰

๊ด€๋ จ ๋ฌธ์ œ

e1528532 picture e1528532  ยท  4์ฝ”๋ฉ˜ํŠธ

sanssecours picture sanssecours  ยท  3์ฝ”๋ฉ˜ํŠธ

markus2330 picture markus2330  ยท  3์ฝ”๋ฉ˜ํŠธ

sanssecours picture sanssecours  ยท  4์ฝ”๋ฉ˜ํŠธ

mpranj picture mpranj  ยท  3์ฝ”๋ฉ˜ํŠธ