ïŒ3115ã§ã kdb export system
ïŒPRã§ã¯kdb export system:/
ïŒãsystem/elektra/modules
ãã¹ãŠããšã¯ã¹ããŒãããããšã«æ°ã¥ããŸããã ããã¯æå³ããããã®ã§ããïŒ
ç¹å®ã®ç¶æ³ã«ã€ããŠã¯ã httpsïŒ //github.com/ElektraInitiative/libelektra/pull/3115#issuecomment-559576223ãåç §ããŠ
ãã¡ããããªãã§ããïŒ ãŸããã€ã³ããŒãã«åœ¹ç«ããªãããŒãžã§ã³ããã®ä»ã®ãã®ããšã¯ã¹ããŒãããŸãã --without-elektra
ãè¿œå ããŠããããã®ããŒãã®ãšã¯ã¹ããŒããåé¿ã§ããŸãã
ã·ã§ã«ã¬ã³ãŒããŒã®å Žåãæå®ãããéšåã®ã¿ãããã¯ã¢ããããã³åŸ©å ãããããšãæåŸ ããŸãã
ãã¡ããããªãã§ããïŒ
kdbSet
ã©ããããããããããåé€ããŸããïŒ ãã©ã°ã€ã³ã®geté¢æ°ã®ç¹å¥ãªéšåãä»ããŠããŒãã³ãŒãã£ã³ã°ãããŠããå Žåããããã®ããŒãã·ãªã¢ã«åããã®ã¯ééã£ãŠããããã§ã...
ããŒãžã§ã³æ å ±ã«ã€ããŠã¯ãkdbSetã¯ããããåäžã§ãããã©ããããã§ãã¯ããåäžã§ããå Žåã¯kdbSetãç¡èŠããŸãã ããããªããšããšã©ãŒãçæãããŸãã
ã¢ãžã¥ãŒã«ïŒiircïŒã®å ŽåãkdbSetããªããããèšå®ããããŒã¯åã«ç¡èŠãããŸãã Iircã®ãå®æ°ããã©ã°ã€ã³ã¯åãåäœãããŸããéåžžã¯system / info / elektraã«ããŠã³ãããããããsystem / elektraã«ã¯ããŠã³ããããŸããã --without-elektra
ãã£ãšäŸ¿å©ã«ããããã«ããããå€æŽããå¿
èŠããããããããŸããã
ããããšã«ããïŒäž¡æ¹ã®åäœïŒåäžã®ããŒãç¡èŠããŠãã§ãã¯ããïŒã¯ã€ã³ããŒãã«å®³ãåãŒãã¹ãã§ã¯ãããŸããã
ãããã£ãŠãéåžžã«äžå®å®ãªElektraã®çŸåšã®ç¶æ³ã§ã¯ãããã¯å®å
šã«çã«ããªã£ãŠããŸããããŒãžã§ã³ãåäžã§ãªãéããsystem / elektraã®ã€ã³ããŒãã¯æåŠãããŸãã ãã®ãšã©ãŒãåé¿ããããã«ã --without-elektra
ãæž¡ãããšãã§ããŸãã
1.0以éã¯ãå®éã«ã¯ãã£ãšãªã©ãã¯ã¹ããŠãElektraããŒãžã§ã³1.0以éããã®ã€ã³ããŒããåãå ¥ããããšãã§ããŸãã ïŒ @mpranjã©ãæããŸããïŒïŒ
ãã®å Žåãããã¹ããé©åãããå¿ èŠããããŸããçŸåšã¯æ¬¡ã®ãšããã§ãã
kdb import system < sys
Sorry, module kdb issued the error C01320:
Interface: Read only plugin, 'kdbSet' not supported but the key system/elektra/version/constants/KDB_VERSION_MICRO (expected system/elektra/version/constants/KDB_VERSION_MICRO) was tried to be modified to '1' (expected '2')
ãšã«ãããããªãã®è³ªåã¯ã --without-elektra
ããã¥ã¡ã³ããã©ã®ããã«æ¹åã§ãããã«ã€ããŠã®æŽå¯ãäžããŠãããŸãã ã€ã³ããŒã/ãšã¯ã¹ããŒãã®ã³ã³ããã¹ãã§ã®--without-elektra
ã®èãæ¹ã¯ã次ã®ããããã§ãã
1.0以éãå®éã«ã¯ãã£ãšãªã©ãã¯ã¹ã§ããŸã
ç§ã¯ææ¡ã«åæããŸãã
@kodebachãè¿°ã¹ãããã«ããããã¡ããã©ä»ïŒ3115ã«çŸãã以åã«ã¯çŸããªãã£ãã®ã¯ã©ããããããå¥åŠã§ãã --without-elektra
ãè¿œå ããããšã¯ãããããããã¯ã¢ãããšåŸ©å
ã®ããã«ããããããã«ããã¯ã
@kodebachãããã®ãã¹ãã§ãã£ãã·ã¥ãå床ã¢ã¯ãã£ãã«ããŸãããïŒ æ®ãã®PRãå®äºããã®ãåŸ
ã£ãŠãmmapstorageãšãã£ãã·ã¥ãä¿®æ£ã§ããããã«ããŸãã ãã£ãã·ã¥ãæ£ããå®è£
ãããŠããªããšãã«ããã®ãããª/åæ§ã®ãšã©ãŒïŒ Postcondition of backend was violated: drop key [...] not belonging to [...]
ïŒãçºçããŸããã
ãããã®ãã¹ãã®ããã«ãã£ãã·ã¥ãå床ã¢ã¯ãã£ãã«ããŸãããïŒ
ã¯ãããã£ãã·ã¥ã¯å®å šã«æå¹ã«ãªã£ãŠããŸãã
ã ããç§ã¯mmapstorageãšãã£ãã·ã¥ãä¿®æ£ããããšãã§ããŸã
mmapstorage
ã¯ãã§ã«æ©èœããŠããŸãã ã©ããã«ukey
ã§ã¯ãªãkey
ããšãããããŸããã
ã°ããŒãã«ã¢ã³ããŠã³ããã¹ãã®åé¡ã¯å¥ãšããŠããã£ãã·ã¥ãæ©èœããŠããããã§ãã æåŸã«ç¢ºèªãããšããããã£ãã·ã¥ãã³ã³ãã€ã«ãããŠããªãå Žåããšã©ãŒã¯çºçããŸããã§ããã
kdbGet
ã elektraCacheGet
ããã³é¢é£ããé¢æ°ã®äžéšãå€æŽããŸããã äœããå£ããå¯èœæ§ããããŸãããïŒ2969以éãå€æŽãããã®ãå床å€æŽããå¿
èŠãããã®ã§ãä»ãã確èªããå¿
èŠã¯ãªããšæããŸãã
OKã cache + mmapstorageãåé¡ãåŒãèµ·ããå Žåã¯ãæåŸãŸã§éã¢ã¯ãã£ãåãããŸãŸã«ããŠããã®åŸãã¢ã¯ãã£ãåããŠé©å¿ãããããšããå§ãããŸãã
PRã¯éåžžã«æ ¹æ¬çãªå€æŽã§ããããããã£ãã·ã¥ã®åäœãå£ããŠããããã«ã¹ã¿ãã¯ããªãå Žåã¯ãã¯ããã«ç°¡åã«ãªããŸãã åºæ¬çã«æºåãã§ãããããã£ãã·ã¥ãå床ã¢ã¯ãã£ãã«ããŠpingãå®è¡ããã ãã§ãæ®ãã®éšåã確èªããŠä¿®æ£ã§ããŸãã
@mpranj ïŒããã¯ãã£ãã·ã¥é¢é£ãªã®ã§ãå²ãåœãŠãŸããã
çŸåšã®ãã¹ã¿ãŒã§åæ§ã®ãã®ãåçŸããããšã¯ã§ããŸããã 誰ããããã§åçŸããæ¹æ³ãç¥ããªãéããç§ã¯ããã§å€ãã®ããšãããããšã¯ã§ããŸãããããã¹ã¿ãŒã«ã¯ååšããªãã®ã§ã¯ãªãããšæããŸãã
ïŒ3115ããã®ãã©ã³ãã§ã説æãããŠãããšã©ãŒãçºçããŸãã @kodebachããã«è¡ã£ãŠãå€æŽã«å ããŠãã£ãã·ã¥é¢é£ã®ãã®ãä¿®æ£ããå¿ èŠããããŸããããããšããã®äžã§äœæ¥ããã«ã¯æ©ãããŸããïŒ çŸåšãã¹ã¿ãŒãããã©ã³ãããªããŒã¹ããã®ã¯ã©ããããã®èŠçã§ããïŒããã¯ãšã³ãåã®ãã©ã°ã€ã³ïŒïŒ
ïŒ2969ãšé¢é£ããPRãçµ±åããããŸã§ãïŒ3115ã«åãçµã䟡å€ã¯ãªããšæããŸãã ãã®åŸããªããŒã¹ããŠPRãçµããããšæããŸãã åºæ¬çã«ãé©åãªãªããŒã¹ã確å®ã«ããããã«ãããŒåã®æ§æã«äŸåãããã¹ãŠã®ã³ãããããã§ãã¯ããå¿ èŠãããããããªããŒã¹ã¯ã§ããã ãå°ãªãããããšæããŸãã
ãã¡ãããå¿
èŠã«å¿ããŠãçŸåšã®ããŒãžã§ã³ã®PRã®ãã°ãæ¢ãããšãã§ããŸãã ãã ããç§ãèŠããŠããéããåé¡ãäœæããåã«master
ãããè©Šããã®ã§ããã®éã«ä¿®æ£ãããå¯èœæ§ããããŸãã
ïŒ2969ãšé¢é£ããPRãçµ±åããããŸã§ãïŒ3115ã«åãçµã䟡å€ã¯ãªããšæããŸãã
ã¯ããããããšãããããŸãïŒ æ¬¡ã«ãé¢é£ããPRãããŒãžãããåŸããã®åé¡ãåŸ ã£ãŠç¢ºèªããŸãããã
äœããã®PRãåŸ ã£ãŠããåé¡ã«äœããã®æ¹æ³ã§ã¿ã°ãä»ããããšã¯å¯èœã§ããïŒ ãšããããã¿ã€ãã«ãå€ããŸããã
ç§ã¯å®éã«ãããä»æ¥master
åçŸããããšãã§ããŸããã å
·äœçã«ã¯ã scripts/docker/fedora/32/Dockerfile
ããã«ãããŸããïŒæè¡çã«ã¯master
ããã§
docker run -it -w /home/jenkins elektra-fedora-32:latest
ã³ã³ããå ã§æ¬¡ã®è¡ãå®è¡ããŸããã
git clone https://github.com/ElektraInitiative/libelektra
cd libelektra && mkdir build && cd build
cmake .. -DCMAKE_BUILD_TYPE=Debug -DKDB_DB_SPEC="$PWD/config/spec" -DKDB_DB_SYSTEM="$PWD/config/system" -DKDB_DB_USER="cdbg-1/.config" -DCMAKE_INSTALL_PREFIX="$PWD/install" -DINSTALL_SYSTEM_FILES=OFF -DENABLE_DEBUG=ON -DENABLE_LOGGER=ON -DCMAKE_EXPORT_COMPILE_COMMANDS=TRUE -DPLUGINS="ALL;-lua;-ccode;-tcl" -DBINDINGS="ALL" -DCOMMON_FLAGS="-Werror"
make -j 24
bin/kdb export system toml
æåŸã®ã³ãã³ãããã®åºåã¯æ¬¡ã®ãšããã§ãã
elektra.modules.cache = "cache plugin waits for your orders"
elektra.modules.cache.exports = ""
elektra.modules.cache.exports.close = "(binary)"
elektra.modules.cache.exports.get = "(binary)"
elektra.modules.cache.exports.open = "(binary)"
elektra.modules.cache.exports.set = "(binary)"
elektra.modules.cache.infos = "Information about the cache plugin is in keys below"
elektra.modules.cache.infos.author = "Mihael Pranjic <[email protected]>"
elektra.modules.cache.infos.licence = "BSD"
elektra.modules.cache.infos.metadata = ""
elektra.modules.cache.infos.needs = ""
elektra.modules.cache.infos.placements = "pregetcache postgetcache"
elektra.modules.cache.infos.provides = ""
elektra.modules.cache.infos.recommends = ""
elektra.modules.cache.infos.status = "maintained unittest shelltest specific global"
elektra.modules.cache.infos.version = 1
elektra.modules.dump = "dump plugin waits for your orders"
elektra.modules.dump.config.needs.fcrypt.textmode = 0
elektra.modules.dump.exports = ""
elektra.modules.dump.exports.get = "(binary)"
elektra.modules.dump.exports.serialise = "(binary)"
elektra.modules.dump.exports.set = "(binary)"
elektra.modules.dump.exports.unserialise = "(binary)"
elektra.modules.dump.infos = "Information about the dump plugin is in keys below"
elektra.modules.dump.infos.author = "Markus Raab <[email protected]>"
elektra.modules.dump.infos.licence = "BSD"
elektra.modules.dump.infos.metadata = ""
elektra.modules.dump.infos.needs = ""
elektra.modules.dump.infos.placements = "getstorage setstorage"
elektra.modules.dump.infos.provides = "storage/dump storage dump"
elektra.modules.dump.infos.recommends = ""
elektra.modules.dump.infos.status = "productive maintained conformant unittest tested nodep -1000 default"
elektra.modules.dump.infos.version = 1
elektra.modules.list = "list plugin waits for your orders"
elektra.modules.list.exports = ""
elektra.modules.list.exports.addPlugin = "(binary)"
elektra.modules.list.exports.close = "(binary)"
elektra.modules.list.exports.deferredCall = "(binary)"
elektra.modules.list.exports.editPlugin = "(binary)"
elektra.modules.list.exports.error = "(binary)"
elektra.modules.list.exports.findplugin = "(binary)"
elektra.modules.list.exports.get = "(binary)"
elektra.modules.list.exports.mountplugin = "(binary)"
elektra.modules.list.exports.open = "(binary)"
elektra.modules.list.exports.set = "(binary)"
elektra.modules.list.exports.unmountplugin = "(binary)"
elektra.modules.list.infos = "Information about the list plugin is in keys below"
elektra.modules.list.infos.author = "Thomas Waser <[email protected]>"
elektra.modules.list.infos.licence = "BSD"
elektra.modules.list.infos.needs = ""
elektra.modules.list.infos.placements = "pregetstorage procgetstorage postgetstorage postgetcleanup presetstorage presetcleanup precommit postcommit prerollback postrollback"
elektra.modules.list.infos.provides = ""
elektra.modules.list.infos.status = "unittest nodep libc configurable global"
elektra.modules.list.infos.version = 1
elektra.modules.resolver_fm_hpu_b = "resolver_fm_hpu_b plugin waits for your orders"
elektra.modules.resolver_fm_hpu_b.constants = ""
elektra.modules.resolver_fm_hpu_b.constants.ELEKTRA_VARIANT_BASE = "fm"
elektra.modules.resolver_fm_hpu_b.constants.ELEKTRA_VARIANT_SYSTEM = "b"
elektra.modules.resolver_fm_hpu_b.constants.ELEKTRA_VARIANT_USER = "hpu"
elektra.modules.resolver_fm_hpu_b.constants.KDB_DB_DIR = ".dir"
elektra.modules.resolver_fm_hpu_b.constants.KDB_DB_HOME = "/home"
elektra.modules.resolver_fm_hpu_b.constants.KDB_DB_SPEC = "/home/jenkins/libelektra/build/config/spec"
elektra.modules.resolver_fm_hpu_b.constants.KDB_DB_SYSTEM = "/home/jenkins/libelektra/build/config/system"
elektra.modules.resolver_fm_hpu_b.constants.KDB_DB_USER = "cdbg-1/.config"
elektra.modules.resolver_fm_hpu_b.exports = ""
elektra.modules.resolver_fm_hpu_b.exports.checkfile = "(binary)"
elektra.modules.resolver_fm_hpu_b.exports.close = "(binary)"
elektra.modules.resolver_fm_hpu_b.exports.commit = "(binary)"
elektra.modules.resolver_fm_hpu_b.exports.error = "(binary)"
elektra.modules.resolver_fm_hpu_b.exports.filename = "(binary)"
elektra.modules.resolver_fm_hpu_b.exports.freeHandle = "(binary)"
elektra.modules.resolver_fm_hpu_b.exports.get = "(binary)"
elektra.modules.resolver_fm_hpu_b.exports.open = "(binary)"
elektra.modules.resolver_fm_hpu_b.exports.set = "(binary)"
elektra.modules.resolver_fm_hpu_b.infos = "All information you want to know is in keys below"
elektra.modules.resolver_fm_hpu_b.infos.author = "Markus Raab <[email protected]>"
elektra.modules.resolver_fm_hpu_b.infos.licence = "BSD"
elektra.modules.resolver_fm_hpu_b.infos.needs = ""
elektra.modules.resolver_fm_hpu_b.infos.placements = "rollback getresolver setresolver commit"
elektra.modules.resolver_fm_hpu_b.infos.provides = "resolver"
elektra.modules.resolver_fm_hpu_b.infos.status = "productive maintained specific unittest tested libc nodep configurable default"
elektra.modules.resolver_fm_hpu_b.infos.version = 1
elektra.version = "Below are version information of the Elektra Library you are currently using"
elektra.version.constants = ""
elektra.version.constants.KDB_VERSION = "0.9.2"
elektra.version.constants.KDB_VERSION_MAJOR = 0
elektra.version.constants.KDB_VERSION_MINOR = 9
elektra.version.constants.KDB_VERSION_PATCH = 2
elektra.version.constants.SO_VERSION = 4
elektra.version.infos = "All information you want to know"
elektra.version.infos.author = "Markus Raab <[email protected]>"
elektra.version.infos.description = "Information of your Elektra Installation"
elektra.version.infos.licence = "BSD"
elektra.version.infos.version = 1
ïŒæ³šïŒ .description
ããŒã¯æåå```
ãå«ãã§ãããããGithubã®Markdownãã©ãŒããããå£ããŠãããããåºåããåé€ããŸããïŒ
ãã¹ãŠã®ããŒã¯ç¹å®ã®Elektraã€ã³ã¹ããŒã«ãã掟çããŠãããKDBã«ã€ã³ããŒãããŠã¯ãªããªããããIMOã®åºåã¯å®éã«ã¯ç©ºã§ããå¿
èŠããããŸãã kdb import
ãããããé©åã«ç¡èŠããå Žåãããããversion.constants
ããŒããšã¯ã¹ããŒãããããšã¯çã«ããªã£ãŠããŸãïŒä»ã®version
ããŒããšã¯ã¹ããŒããããã¹ãã§ã¯ãããŸããïŒã
ã Postcondition of backend was violated: drop key system:/elektra/modules/cache/infos/licence not belonging to "system:/elektra/modules/cache" with name "modules" but instead to "(null)" with name "(null)" because it is hidden by other mountpoint
åé¡ã¯ãïŒ3447ã§ã®ã¿çºçãã cache
ãã©ã°ã€ã³ã§ã®ã¿çºçããŸãã ãããã£ãŠãïŒ3447ã«ã¯ãŸã ãã°ããããŸãã ãã ãããã®kdb export
åé¡ãä¿®æ£ãããšãåé¡ãåé€ãããŸããã
èšæ£ïŒäºåŸæ¡ä»¶ã®åé¡ã¯ãå®éã«ã¯Dockerã³ã³ãããŒã§ãçºçããŸãã
äžããã®ã³ã³ããã§ãç§ã¯èµ°ããŸããïŒä»ã®ãã®ã®çŽåŸã«ïŒïŒ
ctest -R kdb_global_umount --output-on-failure
ãã®åŸãKDBã«ã¢ã¯ã»ã¹ããããšããkdb
ã³ãã³ãã¯ã kdb ls system
å€ãã®postcondition
èŠåãå ±åããŸãã
ããã«ã kdb rm -r system
ãå®è¡ããããšãããšã次ã®ããã«ãªããŸãã
Interface: Read only plugin, 'kdbSet' not supported but the key system/elektra/version (value Below are version information of the Elektra Library you are currently using) tried to be removed
kdb rm -r system
ã倱æããã®ã¯æå³çãªãã®ã§ãã äœãæåŸ
ããŸãããïŒ
ãã ãããšã©ãŒã¡ãã»ãŒãžãéåžžã«æªãããšãèªããå¿ èŠããããŸãïŒææ³çã«ãæå³çã«ãïŒãŠãŒã¶ãŒã¯ããŒã§ã¯ãªãäœããè©ŠããŸããïŒã
äœãæåŸ ããŸãããïŒ
å
¬å¹³ãæãããã«ãã¯ãkdb rm -r system
ã¯å®éã®ã·ã¹ãã ã§ã¯ããŸãæå³ããããŸããã éçºã»ããã¢ããã§ã¯äŸ¿å©ãããããŸããïŒãã ãããã¡ã€ã«ãæåã§åé€ããããšãé£ãããããŸããïŒã
ããããç§ã¯ãšã©ãŒã¡ãã»ãŒãžãããªãæªãããšãèªããªããã°ãªããŸãã
ãããç§ãæãæ··ä¹±ããããã®ã ãšæããŸãã ã¡ãã»ãŒãžã«ãåé€...èš±å¯ãããŠããŸããããªã©ãšè¡šç€ºãããŠããã°ãäœãééã£ãããšãããããšãããããŸãã ããã«ãAFAIKã¯ã Interface Errors
ãã³ãŒãã®ãšã©ãŒãšããŠå®çŸ©ãããŠãŒã¶ãŒãåå ã§ã¯ãªããšå®çŸ©ããŸããã
version
ãã©ã°ã€ã³ãšäžè¬çãªèªã¿åãå°çšãã©ã°ã€ã³ã«ã€ããŠïŒ kdb rm
ïŒããããkdb rm -rf
åŒã³åºããšãã«ãèªã¿åãå°çšãã©ã°ã€ã³ããã®ãããã®ãšã©ãŒãç¡èŠããæ¹æ³ãããã¯ãã§ãã ïŒã
ããã¬ãã«ã§ã¯ãå°ãªããšãèªã¿åãå°çšããŠã³ããã€ã³ãããäžã®ãã¹ãŠãäžåºŠã«åé€ããå Žåãèªã¿åãå°çšããŒããåé€ãããããšã¯çã«ããªã£ãŠããŸãã kdb rm -r some/mountpoint
ã¯ã some/mountpoint
åºã«ãªãæ§æãã¡ã€ã«å
šäœãåé€ããå¿
èŠããããŸããã€ãŸããæ§æãã¡ã€ã«ããªããšããäºåŸæ¡ä»¶ããããŸãã èªã¿åãå°çšãã©ã°ã€ã³ïŒå°ãªããšãversion
ããã«æ©èœãããã©ã°ã€ã³ïŒã«ã¯æ§æãã¡ã€ã«ããªããããäºåŸæ¡ä»¶ã¯èªåçã«æºããããŸãã
éçºã®ã»ããã¢ããã§ã¯ãããã¯åœ¹ã«ç«ã€ãããããŸãã
éçºã«ã¯kdb reset
ãŸãã
ã¡ãã»ãŒãžã«ãåé€...èš±å¯ãããŠããŸããããªã©ã®ã¡ãã»ãŒãžã衚瀺ãããå Žå
ç§ã¯å®å šã«åæããŸãïŒ ïŒ3498ã¯ã©ãã§ããïŒ
å€åkdbrm -rf
-f
ã匷å¶ããããšã¯ã§ãããç¡èŠããã ããªã®ã§ãæ··ä¹±ããã®ã§ã --without-elektra
æ¹ãé©ããŠããŸããïŒ
ã®åºã«ãªãæ§æãã¡ã€ã«å šäœãåé€ããå¿ èŠããããŸã
ã¯ããããã¯äºå®ã§ããããªãŸã«ããŒããããåŠçããŸãã
äºåŸæ¡ä»¶ã¯èªåçã«æºããããŸãã
ããžã£ã kdb rm key
kdb get key
ã®åŸã«ããŒãèŠã€ãããªãããšãè¿ããšããäºåŸæ¡ä»¶ããããŸãã ãã®äºåŸæ¡ä»¶ã¯æºããããŸããã
ãšã©ãŒã¡ãã»ãŒãžãå€æŽããã ãã§ååã§ã
ãã®å·ã§èª¬æãããŠãããã°ã¯æ®ã£ãŠããŸããïŒ
ãã®ã³ã¡ã³ããšæ¬¡ã®ã³ã¡ã³ãïŒã€ãŸããå ã®åé¡ïŒã¯ãŸã 解決ãããŠããŸããïŒ https ïŒ
ç³ãèš³ãããŸããããæåã¯ãã®åé¡ã誀解ããŠããããã§ãã èŠçŽããŠãç§ãä»ãããæ£ããç解ããŠãããã©ããã確èªããŸãããã
ãã£ãã·ã¥ã®èŠ³ç¹ãããmmapãã¡ã€ã«ãå¯èœãªéãåå©çšããããšæããŸãã 誰ããåŒã³åºããå Žåã¯ãã®ããã«ã kdbGet
ã«"system/this"
ãšããŠã³ããã€ã³ããå®éã«ãã"system"
ãæã
ã¯æç¶ããŸã"system"
å®å
šã«ã ãã®åŸã誰ãã"system/other"
ã§kdbGet
ãåŒã³åºããšããã£ãã·ã¥ããã§ã«ååšããŠãããããåŠçé床ã倧å¹
ã«åäžããŸãã åºæ¬çã«ããŠã³ããã€ã³ãããšã«mmapãã£ãã·ã¥ãã¡ã€ã«ãäœæããŸããããã¹ãŠã®ããŒãããŠã³ããã€ã³ãã®äžã«ä¿åããŸãã
ç§ãä»åé¡ãæ£ããç解ããŠãããªããããªãã®ãã€ã³ãã¯"system/elektra/modules"
ãªã©ããã£ãã·ã¥ããããšã¯äž¡æ¹ã§ãããšããããšã§ãïŒ
ç·šéïŒçŸåšããã£ãã·ã¥ãååŸãããšãksAppendããã®ä»ã®æäœãå®å
šã«åé¿ãããŸãã ãããã£ãŠãOPMPHMãšãã¹ãŠãä¿æããŸãã ã·ã¹ãã ããŠã³ããã€ã³ãã®æ®ãã®éšåã«"system/elektra/modules"
ãksAppendããããšãéå§ãããšã確ãã«ããã©ãŒãã³ã¹ããããã倱ãããŸãã ã·ã¹ãã ã®åå空éã«ã¯é¢ä¿ãªããããããŸãããããã®ãããªãšããžã±ãŒã¹ãããããšããã«ãããšãããã©ãŒãã³ã¹ãäœäžããããšã¯ç¢ºãã§ãã
æ³šïŒ kdb rm system
ãã®ã«é¢ããã³ã¡ã³ãã解決æžã¿ãšããŠããŒã¯ãããããGithubã«ãã£ãŠé衚瀺ã«ãªã£ãŠããŸãã ããã«ããããã®åé¡ãå°ãæ確ã«ãªãã¯ãã§ãã
ç§ãä»åé¡ãæ£ããç解ããŠãããªããããªãã®ãã€ã³ãã¯
"system/elektra/modules"
ãªã©ããã£ãã·ã¥ããããšã¯äž¡æ¹ã§ãããšããããšã§ãïŒ
- 誀ã£ãŠ
- ãããã®ããŒã®ãã§ããã¯ãšã«ããé«éãªã®ã§ãç¡é¢ä¿ã§ãã
ã¯ãããããããã£ãã·ã¥ããã ãã§ã¯èª€ãã§ãããããŒãå€æŽãããããšãæ€åºããããžãã¯ãããéãããã£ãã·ã¥ããããšã¯ã§ããŸãã é床ã«ã€ããŠã³ã¡ã³ãããããšã¯ã§ããŸãããããã£ãã·ã¥ã䜿çšãããšããã«é«éã«ãªãå¯èœæ§ããããŸãã ããªããèšã£ãããã«ãããã¯ksAppend
ãåé¿ãããã©ã°ã€ã³ãžã®å€ãã®åŒã³åºããåé¿ããŸãã
å
ã®åé¡ã¯ã kdb export
ã®åäœã«é¢ãããã®ã§ãã system/elektra/modules
ãŸãã¯system/elektra/version
ããäžã®ããŒã¯Elektraã€ã³ã¹ããŒã«ã«åºæã§ãããå¥ã®KDBã«ã€ã³ããŒãããªããããåºåã«å«ãŸããããšã¯ãããŸããã
ãããã®ããŒãã©ãããæ¥ãŠããã®ã調æ»ããªãã£ãã®ã§ã cache
ãã©ã°ã€ã³ãå®éã«ããã«å«ãŸããŠãããã©ããã¯ããããŸããã æåã®è§£æ±ºçã¯ãã¡ããã©åžžã«ã§ããå¯èœæ§ããããŸãksCut
ã§ãããã®éšåkdb export
ã ããããã°ãäœããå€ãã£ãŠãåé¡ãåçºããããšã¯ãããŸããã
ãããã¯ãšã³ãã®äºåŸæ¡ä»¶ã«éåããããšããåé¡ããããŸãã ãããŸã§ã®ç§ã®ç解ã§ã¯ããã®åé¡ã¯kdb export
ãsystem/elektra/modules
ã§ããŒãçæããããšã«ãã£ãŠåŒãèµ·ããããŸããã100ïŒ
確å®ã§ãã
https://github.com/ElektraInitiative/libelektra/issues/3299#issuecomment -695814469ã®æé ã«åŸã£ãŠãå®è¡ããå Žå
ctest -R kdb_global_umount --output-on-failure
bin/kdb ls system
ïŒæ¬¡ã®ã³ã¡ã³ãã§èšã£ãããã«ïŒãããªãã¯ããããåŸãã§ãããïŒ
Postcondition of backend was violated: drop key system/elektra/modules/cache/infos/licence not belonging to "system/elektra/modules/cache" with name "modules" but instead to "(null)" with name "(null)" because it is hidden by other mountpoint
ããã¯å®éã«ã¯cache
ãã©ã°ã€ã³ãžã®å¯äžã®åç
§ã§ãã AFAICTããã¯ããã§èµ·ããããšã§ãïŒ
kdb export
ãškdb import
ãŸããsystem/elektra/modules/cache
ã®ããŒãelektra.ecf
ãã¡ã€ã«ã«æ°žç¶çã«æžã蟌ãŸããŸããkdb ls system
ãä»ããŠä»»æã®åœ¢åŒã®kdbGet
ãåŒã³åºããšãåé¡ãçºçããŸããsystem/elektra/modules/...
ããŒããã£ã¹ã¯ã«æžã蟌ãŸãªãã§ãã ãããelektra.ecf
ããsystem/elektra/modules/...
ããŒã_æåã§_åé€ããããšã§ãããããããããã¯ãã£ãã·ã¥ã§ã¯ãªãkdb import
ã§ä¿®æ£ããå¿
èŠããããŸãã
ãããå ±åããŠãããŠããããšãïŒ
ãã£ãã·ã¥ã¯ããããã®ïŒä»»æã®ïŒããŒãkdbGet
ããè¿ãããKeySetã«ååšããå Žåããããã確å®ã«æ ŒçŽããŸãã ãã£ãã·ã¥ã«äŸå€ã¯ãããŸããã ãã ããããªããèšã£ãããã«ã kdb import
ãããã®ããŒãèš±å¯ããããšã¯æå³ããããŸããã ããªãã®èª¬æãããããåçŸããŠä¿®æ£ã§ãããã©ããã確èªããŸãã
kdb import
ã䜿çšããŠããå Žåã«ã®ã¿åé¡ãçºçããå Žåã¯ãã€ã³ããŒãæã«ãããã®ç¹æ®ããŒãåé€ããã ãã§ãã
ãã£ãã·ã¥ããã¹ãŠãå®å šã«è¿ãå¿ èŠããããšãã@mpranjã«åæããŸãã
ãããã¯Elektraã€ã³ã¹ããŒã«ã«åºæã§ãããå¥ã®KDBã«ã€ã³ããŒãããªãããããã®åºåã«ã¯ãsystem / elektra / modulesãŸãã¯system / elektra / versionã®äžã«ããŒãå«ãŸããããšã¯ãããŸããã
ãšã¯ã¹ããŒãã¯ãã€ã³ããŒãã ãã§ãªãããŠãŒã¶ãŒã®è€æ°ã®ããŒ/å€ã衚瀺ããããã®ãã®ã§ãã ãã¹ãŠã®ããŒãžã§ã³æ
å ±ã衚瀺ããã«ã¯ã kdb export system/elektra/version/constants simpleini
ã«åé¡ã¯ãããŸããã
ãããã®ããŒãã©ãããæ¥ãŠããã®ã調æ»ããªãã£ãã®ã§ããã£ãã·ã¥ãã©ã°ã€ã³ãå®éã«ããã«å«ãŸããŠãããã©ããã¯ããããŸããã æåã®è§£æ±ºçã¯ãkdbãšã¯ã¹ããŒãã§ãããã®éšåãåžžã«ksCutããããšã§ãã ããããã°ãäœããå€ãã£ãŠãåé¡ãåçºããããšã¯ãããŸããã
ãã®ãããªksCut
ã¯ã --without-elektra
ãšèšããšçºçããŸãã ããã©ã«ããå€æŽããããšãã§ããŸãã/elektraãæ瀺çã«ã€ã³ããŒã/ãšã¯ã¹ããŒãããå Žåã--with-elektra
ãšèšãå Žåãé€ããŠãããã©ã«ãã§elektraãé€å€ããŸãã
ããã¯ãšã³ãã®äºåŸæ¡ä»¶ã«éåããŸãã
ããã¯ç¡é¢ä¿ã®ãã°ã®ããã§ãã ïŒãã¶ãshellrecorderã¯--without-elektra
ã䜿çšããŠããŸããïŒã https://github.com/ElektraInitiative/libelektra/issues/3299#issuecomment -695814469ãã ããããããã¹ãã§ããããã«èŠããŸãã ïŒåçŸã§ããŸããã Error response from daemon: pull access denied for elektra-fedora-32, repository does not exist or may require 'docker login': denied: requested access to the resource is denied.
ãååŸããŸãïŒ
åçŸã§ããŸãã
ãã®ç»åã¯Dockerããã«å ¬éããŠããŸããã
ããã§ã®åææ¡ä»¶ã¯ã scripts/docker/fedora/32/Dockerfile
ããDockerã€ã¡ãŒãžããã«ããã docker build
å®è¡ãããšãã«ãã«ãã«-t elektra-fedora-32:latest
ã¿ã°ãä»ããããšã§ãã
äœãã®ãããªãã®ïŒ
cd scripts/docker/fedora/32/
docker build -t elektra-fedora-32:latest -f ./Dockerfile .
ããããšããã¯ãããã¹ã¿ãŒã§Postcondition of backend was violated
åé¡ãåçŸã§ããŸãïŒ dockerã€ã¡ãŒãžã®ããã«ãã°ããŒãã«ããŠã³ãã³ãã³ãã䜿çšããŸãïŒã
Sorry, 17 warnings were issued ;(
Sorry, module kdb issued the warning C01320:
Interface: Postcondition of backend was violated: drop key system/elektra/modules/cache not belonging to "system/elektra/modules/cache" with name "modules" but instead to "" with name "default" because it is hidden by other mountpoint
Sorry, module kdb issued the warning C01320:
Interface: Postcondition of backend was violated: drop key system/elektra/modules/cache/exports not belonging to "system/elektra/modules/cache" with name "modules" but instead to "" with name "default" because it is hidden by other mountpoint
Sorry, module kdb issued the warning C01320:
Interface: Postcondition of backend was violated: drop key system/elektra/modules/cache/exports/close not belonging to "system/elektra/modules/cache" with name "modules" but instead to "" with name "default" because it is hidden by other mountpoint
Sorry, module kdb issued the warning C01320:
Interface: Postcondition of backend was violated: drop key system/elektra/modules/cache/exports/get not belonging to "system/elektra/modules/cache" with name "modules" but instead to "" with name "default" because it is hidden by other mountpoint
Sorry, module kdb issued the warning C01320:
Interface: Postcondition of backend was violated: drop key system/elektra/modules/cache/exports/open not belonging to "system/elektra/modules/cache" with name "modules" but instead to "" with name "default" because it is hidden by other mountpoint
Sorry, module kdb issued the warning C01320:
Interface: Postcondition of backend was violated: drop key system/elektra/modules/cache/exports/set not belonging to "system/elektra/modules/cache" with name "modules" but instead to "" with name "default" because it is hidden by other mountpoint
Sorry, module kdb issued the warning C01320:
Interface: Postcondition of backend was violated: drop key system/elektra/modules/cache/infos not belonging to "system/elektra/modules/cache" with name "modules" but instead to "" with name "default" because it is hidden by other mountpoint
Sorry, module kdb issued the warning C01320:
Interface: Postcondition of backend was violated: drop key system/elektra/modules/cache/infos/author not belonging to "system/elektra/modules/cache" with name "modules" but instead to "" with name "default" because it is hidden by other mountpoint
Sorry, module kdb issued the warning C01320:
Interface: Postcondition of backend was violated: drop key system/elektra/modules/cache/infos/description not belonging to "system/elektra/modules/cache" with name "modules" but instead to "" with name "default" because it is hidden by other mountpoint
Sorry, module kdb issued the warning C01320:
Interface: Postcondition of backend was violated: drop key system/elektra/modules/cache/infos/licence not belonging to "system/elektra/modules/cache" with name "modules" but instead to "" with name "default" because it is hidden by other mountpoint
Sorry, module kdb issued the warning C01320:
Interface: Postcondition of backend was violated: drop key system/elektra/modules/cache/infos/metadata not belonging to "system/elektra/modules/cache" with name "modules" but instead to "" with name "default" because it is hidden by other mountpoint
Sorry, module kdb issued the warning C01320:
Interface: Postcondition of backend was violated: drop key system/elektra/modules/cache/infos/needs not belonging to "system/elektra/modules/cache" with name "modules" but instead to "" with name "default" because it is hidden by other mountpoint
Sorry, module kdb issued the warning C01320:
Interface: Postcondition of backend was violated: drop key system/elektra/modules/cache/infos/placements not belonging to "system/elektra/modules/cache" with name "modules" but instead to "" with name "default" because it is hidden by other mountpoint
Sorry, module kdb issued the warning C01320:
Interface: Postcondition of backend was violated: drop key system/elektra/modules/cache/infos/provides not belonging to "system/elektra/modules/cache" with name "modules" but instead to "" with name "default" because it is hidden by other mountpoint
Sorry, module kdb issued the warning C01320:
Interface: Postcondition of backend was violated: drop key system/elektra/modules/cache/infos/recommends not belonging to "system/elektra/modules/cache" with name "modules" but instead to "" with name "default" because it is hidden by other mountpoint
Sorry, module kdb issued the warning C01320:
Interface: Postcondition of backend was violated: drop key system/elektra/modules/cache/infos/status not belonging to "system/elektra/modules/cache" with name "modules" but instead to "" with name "default" because it is hidden by other mountpoint
Sorry, module kdb issued the warning C01320:
Interface: Postcondition of backend was violated: drop key system/elektra/modules/cache/infos/version not belonging to "system/elektra/modules/cache" with name "modules" but instead to "" with name "default" because it is hidden by other mountpoint
ãã®åé¡ã¯ã kdb ls
ãkdb cache clear
ã§ãçºçããããã kdb export
ãšã¯æããã«é¢ä¿ãããŸããã
èå³æ·±ãããšã«ã kdb cache clear
ã¯åœ¹ã«ç«ã¡ãŸããããããã§ããã£ãã·ã¥ã®åé¡ã«ãªãå¯èœæ§ããããŸãïŒ kdb
ããŒã«ã¯æåã«KDB
ã䜿çšããŠæ§æãååŸããããïŒã
@mpranjã¢ã€ãã¢ã¯ãããŸããïŒ
ããã©ã«ããå€æŽããããšãã§ããŸãã/elektraãæ瀺çã«ã€ã³ããŒã/ãšã¯ã¹ããŒãããå Žåã--with-elektraãšèšãå Žåãé€ããŠãããã©ã«ãã§elektraãé€å€ããŸãã
ã¯ããããã¯ééããªãããè¯ã解決çã«ãªãã§ãããã çæ³çã«ã¯ã system/elektra/modules
/ system/elektra/version
ãšæ®ãã®system/elektra
ãåºå¥ããŸãã ããŠã³ããã€ã³ãæ§æãšã°ããŒãã«ãã©ã°ã€ã³æ§æã¯ãã¢ãžã¥ãŒã«ãšããŒãžã§ã³ããŒïŒå®è¡æã«çæãããïŒãããã¯ããã«äŸ¿å©ã§ãã
ãã®åé¡ã¯ã
kdb ls
ãkdb cache clear
ã§ãçºçãããããæããã«kdb export
ãšã¯ç¡é¢ä¿ã§ãã
ç§ãè¿°ã¹ãããã«ããäºåŸæ¡ä»¶ãã®ãã®ã¯ããããkdb import
ãã°ã§ãã
èå³æ·±ãããšã«ã
kdb cache clear
ã¯åœ¹ã«ç«ã¡ãŸãã
ãªãã ããïŒ ç§ãèšã£ãããã«ãåé¡ã¯system/elektra/modules
ããŒãelektra.ecf
æ ŒçŽãããŠããããšã§ãã äžèšã®æé ã«åŸã£ãå ŽåïŒç¹ã«åãcmake
ãªãã·ã§ã³ã䜿çšããå ŽåïŒãå®è¡ããããšã§ããã確èªã§ããŸãã
cat config/system/elektra.ecf
build
ãã£ã¬ã¯ããªå
ã
ç§ãè¿°ã¹ãããã«ããäºåŸæ¡ä»¶ãã®ãã®ã¯ããããkdbã€ã³ããŒãã®ãã°ã§ãã
kdb import
ã¯ãKeySetãäœæããŠkdbSet
ãåŒã³åºãã ããªã®ã§ãåé¡ã¯kdbSet
ã©ããã«ããã®ã§ã¯ãªãããšæããŸãã system/elektra/modules
äœããä¿åããæ£ããåäœã¯ããšã©ãŒãŸãã¯ç Žæ£ã§ããå¿
èŠããããééããªãæ°žç¶åãããŸããã ããããæããã«ããã¯åäœã§ã¯ãããŸããã
kdb set system/elektra/modules/NOTALLOWED
kdb ls system/elektra/modules
#> system/elektra/modules/NOTALLOWED
#> system/elektra/modules/cache
...
ãããã£ãŠãNOTALLOWEDãã©ã°ã€ã³ãããŠã³ãããããšãããã§èª¬æãããããªåé¡ãçºçããŸãã ãããã£ãŠã system/elektra/modules
ã«æžã蟌ãããšããŠå€±æããã«ã¯ã kdbSet
ãå¿
èŠã§ãã
å®éã«ã¯ã /elektra
éå±€å
šäœã®ã»ãã³ãã£ã¯ã¹ãå®çŸ©ããå¿
èŠããããŸãããããã¯ãããããã倧ããªã¿ã¹ã¯ã§ã...
åé¡ã¯ãsystem / elektra / modulesããŒãelektra.ecfã«ä¿åãããŠããããšã§ãã
ç³ãèš³ãããŸãããããããåçŸããããšããŠã³ã¡ã³ãã®éãé£ã³åã£ãŠãããšããç§ã¯ãããèŠãŸããã§ããã
æãåèã«ãªãã³ã¡ã³ã
ãã®ã³ã¡ã³ããšæ¬¡ã®ã³ã¡ã³ãïŒã€ãŸããå ã®åé¡ïŒã¯ãŸã 解決ãããŠããŸããïŒ https ïŒ