用户态文件系统介绍
顾名思义,用户态文件系统就是运行在用户空间的文件系统,众所周知,在宏内核系统(像 Linux),文件系统代码都在内核中,典型的例子是想要挂载一个磁盘,你必须使用 Root 权限运行 mount
…
');mask-image:url('data:image/svg+xml;charset=utf-8,');width:16px}.BlogPost-module--post-body--hinQo details,.BlogPost-module--post-body--hinQo figcaption,.BlogPost-module--post-body--hinQo figure{display:block}.BlogPost-module--post-body--hinQo summary{display:list-item}.BlogPost-module--post-body--hinQo [hidden]{display:none!important}.BlogPost-module--post-body--hinQo a{background-color:transparent;color:var(--color-accent-fg);text-decoration:none}.BlogPost-module--post-body--hinQo a:active,.BlogPost-module--post-body--hinQo a:hover{outline-width:0}.BlogPost-module--post-body--hinQo abbr[title]{border-bottom:none;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}.BlogPost-module--post-body--hinQo b,.BlogPost-module--post-body--hinQo strong{font-weight:600}.BlogPost-module--post-body--hinQo dfn{font-style:italic}.BlogPost-module--post-body--hinQo h1{border-bottom:1px solid var(--color-border-muted);font-size:2em;font-weight:600;margin:.67em 0;padding-bottom:.3em}.BlogPost-module--post-body--hinQo mark{background-color:var(--color-attention-subtle);color:var(--color-text-primary)}.BlogPost-module--post-body--hinQo small{font-size:90%}.BlogPost-module--post-body--hinQo sub,.BlogPost-module--post-body--hinQo sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}.BlogPost-module--post-body--hinQo sub{bottom:-.25em}.BlogPost-module--post-body--hinQo sup{top:-.5em}.BlogPost-module--post-body--hinQo img{background-color:var(--color-canvas-default);border-style:none;box-sizing:content-box;max-width:100%}.BlogPost-module--post-body--hinQo figure{margin:1em 40px}.BlogPost-module--post-body--hinQo hr{background:transparent;background-color:var(--color-border-default);border:0;box-sizing:content-box;height:.25em;margin:24px 0;overflow:hidden;padding:0}.BlogPost-module--post-body--hinQo input{font:inherit;font-family:inherit;font-size:inherit;line-height:inherit;margin:0;overflow:visible}.BlogPost-module--post-body--hinQo [type=button],.BlogPost-module--post-body--hinQo [type=reset],.BlogPost-module--post-body--hinQo [type=submit]{-webkit-appearance:button}.BlogPost-module--post-body--hinQo [type=button]::-moz-focus-inner,.BlogPost-module--post-body--hinQo [type=reset]::-moz-focus-inner,.BlogPost-module--post-body--hinQo [type=submit]::-moz-focus-inner{border-style:none;padding:0}.BlogPost-module--post-body--hinQo [type=button]:-moz-focusring,.BlogPost-module--post-body--hinQo [type=reset]:-moz-focusring,.BlogPost-module--post-body--hinQo [type=submit]:-moz-focusring{outline:1px dotted ButtonText}.BlogPost-module--post-body--hinQo [type=checkbox],.BlogPost-module--post-body--hinQo [type=radio]{box-sizing:border-box;padding:0}.BlogPost-module--post-body--hinQo [type=number]::-webkit-inner-spin-button,.BlogPost-module--post-body--hinQo [type=number]::-webkit-outer-spin-button{height:auto}.BlogPost-module--post-body--hinQo [type=search]{-webkit-appearance:textfield;outline-offset:-2px}.BlogPost-module--post-body--hinQo [type=search]::-webkit-search-cancel-button,.BlogPost-module--post-body--hinQo [type=search]::-webkit-search-decoration{-webkit-appearance:none}.BlogPost-module--post-body--hinQo ::-webkit-input-placeholder{color:inherit;opacity:.54}.BlogPost-module--post-body--hinQo ::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}.BlogPost-module--post-body--hinQo a:hover{text-decoration:underline}.BlogPost-module--post-body--hinQo hr:before{content:"";display:table}.BlogPost-module--post-body--hinQo hr:after{clear:both;content:"";display:table}.BlogPost-module--post-body--hinQo table{border-collapse:collapse;border-spacing:0;display:block;max-width:100%;overflow:auto;width:-webkit-max-content;width:max-content}.BlogPost-module--post-body--hinQo td,.BlogPost-module--post-body--hinQo th{padding:0}.BlogPost-module--post-body--hinQo details summary{cursor:pointer}.BlogPost-module--post-body--hinQo details:not([open])>:not(summary){display:none!important}.BlogPost-module--post-body--hinQo kbd{background-color:var(--color-canvas-subtle);border-bottom-color:var(--color-neutral-muted);border:1px solid var(--color-neutral-muted);border-radius:6px;box-shadow:inset 0 -1px 0 var(--color-neutral-muted);color:var(--color-fg-default);display:inline-block;font:11px ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,Liberation Mono,monospace;line-height:10px;padding:3px 5px;vertical-align:middle}.BlogPost-module--post-body--hinQo h1,.BlogPost-module--post-body--hinQo h2,.BlogPost-module--post-body--hinQo h3,.BlogPost-module--post-body--hinQo h4,.BlogPost-module--post-body--hinQo h5,.BlogPost-module--post-body--hinQo h6{font-weight:600;line-height:1.25;margin-bottom:16px;margin-top:24px}.BlogPost-module--post-body--hinQo h2{border-bottom:1px solid var(--color-border-muted);font-size:1.5em;font-weight:600;padding-bottom:.3em}.BlogPost-module--post-body--hinQo h3{font-size:1.25em;font-weight:600}.BlogPost-module--post-body--hinQo h4{font-size:1em;font-weight:600}.BlogPost-module--post-body--hinQo h5{font-size:.875em;font-weight:600}.BlogPost-module--post-body--hinQo h6{color:var(--color-fg-muted);font-size:.85em;font-weight:600}.BlogPost-module--post-body--hinQo p{margin-bottom:10px;margin-top:0}.BlogPost-module--post-body--hinQo blockquote{border-left:.25em solid var(--color-border-default);color:var(--color-fg-muted);margin:0;padding:0 1em}.BlogPost-module--post-body--hinQo ol,.BlogPost-module--post-body--hinQo ul{margin-bottom:0;margin-top:0;padding-left:2em}.BlogPost-module--post-body--hinQo ol ol,.BlogPost-module--post-body--hinQo ul ol{list-style-type:lower-roman}.BlogPost-module--post-body--hinQo ol ol ol,.BlogPost-module--post-body--hinQo ol ul ol,.BlogPost-module--post-body--hinQo ul ol ol,.BlogPost-module--post-body--hinQo ul ul ol{list-style-type:lower-alpha}.BlogPost-module--post-body--hinQo dd{margin-left:0}.BlogPost-module--post-body--hinQo .BlogPost-module--octicon--xzeoa{fill:currentColor;display:inline-block;overflow:visible!important;vertical-align:text-bottom}.BlogPost-module--post-body--hinQo ::-webkit-input-placeholder{color:var(--color-fg-subtle);opacity:1}.BlogPost-module--post-body--hinQo :-ms-input-placeholder{color:var(--color-fg-subtle);opacity:1}.BlogPost-module--post-body--hinQo ::placeholder{color:var(--color-fg-subtle);opacity:1}.BlogPost-module--post-body--hinQo input::-webkit-inner-spin-button,.BlogPost-module--post-body--hinQo input::-webkit-outer-spin-button{-webkit-appearance:none;appearance:none;margin:0}.BlogPost-module--post-body--hinQo .BlogPost-module--pl-c--DcNCP{color:var(--color-prettylights-syntax-comment)}.BlogPost-module--post-body--hinQo .BlogPost-module--pl-c1--o1zzd,.BlogPost-module--post-body--hinQo .BlogPost-module--pl-s--9jI7M .BlogPost-module--pl-v--7otNS{color:var(--color-prettylights-syntax-constant)}.BlogPost-module--post-body--hinQo .BlogPost-module--pl-e--PkEp\+,.BlogPost-module--post-body--hinQo .BlogPost-module--pl-en--i\+aYf{color:var(--color-prettylights-syntax-entity)}.BlogPost-module--post-body--hinQo .BlogPost-module--pl-s--9jI7M .BlogPost-module--pl-s1--xfnwf,.BlogPost-module--post-body--hinQo .BlogPost-module--pl-smi--Kz6hH{color:var(--color-prettylights-syntax-storage-modifier-import)}.BlogPost-module--post-body--hinQo .BlogPost-module--pl-ent--EvW\+u{color:var(--color-prettylights-syntax-entity-tag)}.BlogPost-module--post-body--hinQo .BlogPost-module--pl-k--eA6jO{color:var(--color-prettylights-syntax-keyword)}.BlogPost-module--post-body--hinQo .BlogPost-module--pl-pds--VCw45,.BlogPost-module--post-body--hinQo .BlogPost-module--pl-s--9jI7M,.BlogPost-module--post-body--hinQo .BlogPost-module--pl-s--9jI7M .BlogPost-module--pl-pse--FpFbV .BlogPost-module--pl-s1--xfnwf,.BlogPost-module--post-body--hinQo .BlogPost-module--pl-sr--I5SNZ,.BlogPost-module--post-body--hinQo .BlogPost-module--pl-sr--I5SNZ .BlogPost-module--pl-cce--k5372,.BlogPost-module--post-body--hinQo .BlogPost-module--pl-sr--I5SNZ .BlogPost-module--pl-sra--\+Y3Fk,.BlogPost-module--post-body--hinQo .BlogPost-module--pl-sr--I5SNZ .BlogPost-module--pl-sre--LThiw{color:var(--color-prettylights-syntax-string)}.BlogPost-module--post-body--hinQo .BlogPost-module--pl-smw--WJA\+K,.BlogPost-module--post-body--hinQo .BlogPost-module--pl-v--7otNS{color:var(--color-prettylights-syntax-variable)}.BlogPost-module--post-body--hinQo .BlogPost-module--pl-bu--zNVx\+{color:var(--color-prettylights-syntax-brackethighlighter-unmatched)}.BlogPost-module--post-body--hinQo .BlogPost-module--pl-ii--E1qpP{background-color:var(--color-prettylights-syntax-invalid-illegal-bg);color:var(--color-prettylights-syntax-invalid-illegal-text)}.BlogPost-module--post-body--hinQo .BlogPost-module--pl-c2--qHOhe{background-color:var(--color-prettylights-syntax-carriage-return-bg);color:var(--color-prettylights-syntax-carriage-return-text)}.BlogPost-module--post-body--hinQo .BlogPost-module--pl-sr--I5SNZ .BlogPost-module--pl-cce--k5372{color:var(--color-prettylights-syntax-string-regexp);font-weight:700}.BlogPost-module--post-body--hinQo .BlogPost-module--pl-ml--bYQSm{color:var(--color-prettylights-syntax-markup-list)}.BlogPost-module--post-body--hinQo .BlogPost-module--pl-mh--8GlCw,.BlogPost-module--post-body--hinQo .BlogPost-module--pl-mh--8GlCw .BlogPost-module--pl-en--i\+aYf,.BlogPost-module--post-body--hinQo .BlogPost-module--pl-ms--0L0wb{color:var(--color-prettylights-syntax-markup-heading);font-weight:700}.BlogPost-module--post-body--hinQo .BlogPost-module--pl-mi--L3pg1{color:var(--color-prettylights-syntax-markup-italic);font-style:italic}.BlogPost-module--post-body--hinQo .BlogPost-module--pl-mb--0LcBJ{color:var(--color-prettylights-syntax-markup-bold);font-weight:700}.BlogPost-module--post-body--hinQo .BlogPost-module--pl-md--CXs3A{background-color:var(--color-prettylights-syntax-markup-deleted-bg);color:var(--color-prettylights-syntax-markup-deleted-text)}.BlogPost-module--post-body--hinQo .BlogPost-module--pl-mi1--rq9ZS{background-color:var(--color-prettylights-syntax-markup-inserted-bg);color:var(--color-prettylights-syntax-markup-inserted-text)}.BlogPost-module--post-body--hinQo .BlogPost-module--pl-mc--PLTGf{background-color:var(--color-prettylights-syntax-markup-changed-bg);color:var(--color-prettylights-syntax-markup-changed-text)}.BlogPost-module--post-body--hinQo .BlogPost-module--pl-mi2--A9uor{background-color:var(--color-prettylights-syntax-markup-ignored-bg);color:var(--color-prettylights-syntax-markup-ignored-text)}.BlogPost-module--post-body--hinQo .BlogPost-module--pl-mdr--IqqhO{color:var(--color-prettylights-syntax-meta-diff-range);font-weight:700}.BlogPost-module--post-body--hinQo .BlogPost-module--pl-ba--\+wSQj{color:var(--color-prettylights-syntax-brackethighlighter-angle)}.BlogPost-module--post-body--hinQo .BlogPost-module--pl-sg--KJ3rX{color:var(--color-prettylights-syntax-sublimelinter-gutter-mark)}.BlogPost-module--post-body--hinQo .BlogPost-module--pl-corl--8vpqC{color:var(--color-prettylights-syntax-constant-other-reference-link);text-decoration:underline}.BlogPost-module--post-body--hinQo [data-catalyst]{display:block}.BlogPost-module--post-body--hinQo g-emoji{font-family:Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol;font-size:1em;font-style:normal!important;font-weight:400;line-height:1;vertical-align:-.075em}.BlogPost-module--post-body--hinQo g-emoji img{height:1em;width:1em}.BlogPost-module--post-body--hinQo:before{content:"";display:table}.BlogPost-module--post-body--hinQo:after{clear:both;content:"";display:table}.BlogPost-module--post-body--hinQo>:first-child{margin-top:0!important}.BlogPost-module--post-body--hinQo>:last-child{margin-bottom:0!important}.BlogPost-module--post-body--hinQo a:not([href]){color:inherit;text-decoration:none}.BlogPost-module--post-body--hinQo .BlogPost-module--absent--vyyfL{color:var(--color-danger-fg)}.BlogPost-module--post-body--hinQo .BlogPost-module--anchor--9pbC-{float:left;line-height:1;margin-left:-20px;padding-right:4px}.BlogPost-module--post-body--hinQo .BlogPost-module--anchor--9pbC-:focus{outline:none}.BlogPost-module--post-body--hinQo blockquote,.BlogPost-module--post-body--hinQo details,.BlogPost-module--post-body--hinQo dl,.BlogPost-module--post-body--hinQo ol,.BlogPost-module--post-body--hinQo p,.BlogPost-module--post-body--hinQo pre,.BlogPost-module--post-body--hinQo table,.BlogPost-module--post-body--hinQo ul{margin-bottom:16px;margin-top:0}.BlogPost-module--post-body--hinQo blockquote>:first-child{margin-top:0}.BlogPost-module--post-body--hinQo blockquote>:last-child{margin-bottom:0}.BlogPost-module--post-body--hinQo sup>a:before{content:"["}.BlogPost-module--post-body--hinQo sup>a:after{content:"]"}.BlogPost-module--post-body--hinQo h1 .BlogPost-module--octicon-link--yPaj9,.BlogPost-module--post-body--hinQo h2 .BlogPost-module--octicon-link--yPaj9,.BlogPost-module--post-body--hinQo h3 .BlogPost-module--octicon-link--yPaj9,.BlogPost-module--post-body--hinQo h4 .BlogPost-module--octicon-link--yPaj9,.BlogPost-module--post-body--hinQo h5 .BlogPost-module--octicon-link--yPaj9,.BlogPost-module--post-body--hinQo h6 .BlogPost-module--octicon-link--yPaj9{color:var(--color-fg-default);vertical-align:middle;visibility:hidden}.BlogPost-module--post-body--hinQo h1:hover .BlogPost-module--anchor--9pbC-,.BlogPost-module--post-body--hinQo h2:hover .BlogPost-module--anchor--9pbC-,.BlogPost-module--post-body--hinQo h3:hover .BlogPost-module--anchor--9pbC-,.BlogPost-module--post-body--hinQo h4:hover .BlogPost-module--anchor--9pbC-,.BlogPost-module--post-body--hinQo h5:hover .BlogPost-module--anchor--9pbC-,.BlogPost-module--post-body--hinQo h6:hover .BlogPost-module--anchor--9pbC-{text-decoration:none}.BlogPost-module--post-body--hinQo h1:hover .BlogPost-module--anchor--9pbC- .BlogPost-module--octicon-link--yPaj9,.BlogPost-module--post-body--hinQo h2:hover .BlogPost-module--anchor--9pbC- .BlogPost-module--octicon-link--yPaj9,.BlogPost-module--post-body--hinQo h3:hover .BlogPost-module--anchor--9pbC- .BlogPost-module--octicon-link--yPaj9,.BlogPost-module--post-body--hinQo h4:hover .BlogPost-module--anchor--9pbC- .BlogPost-module--octicon-link--yPaj9,.BlogPost-module--post-body--hinQo h5:hover .BlogPost-module--anchor--9pbC- .BlogPost-module--octicon-link--yPaj9,.BlogPost-module--post-body--hinQo h6:hover .BlogPost-module--anchor--9pbC- .BlogPost-module--octicon-link--yPaj9{visibility:visible}.BlogPost-module--post-body--hinQo ol.BlogPost-module--no-list--WW9A1,.BlogPost-module--post-body--hinQo ul.BlogPost-module--no-list--WW9A1{list-style-type:none;padding:0}.BlogPost-module--post-body--hinQo ol[type="1"]{list-style-type:decimal}.BlogPost-module--post-body--hinQo ol[type=a]{list-style-type:lower-alpha}.BlogPost-module--post-body--hinQo ol[type=i]{list-style-type:lower-roman}.BlogPost-module--post-body--hinQo div>ol:not([type]){list-style-type:decimal}.BlogPost-module--post-body--hinQo ol ol,.BlogPost-module--post-body--hinQo ol ul,.BlogPost-module--post-body--hinQo ul ol,.BlogPost-module--post-body--hinQo ul ul{margin-bottom:0;margin-top:0}.BlogPost-module--post-body--hinQo li>p{margin-top:16px}.BlogPost-module--post-body--hinQo li+li{margin-top:.25em}.BlogPost-module--post-body--hinQo dl{padding:0}.BlogPost-module--post-body--hinQo dl dt{font-size:1em;font-style:italic;font-weight:600;margin-top:16px;padding:0}.BlogPost-module--post-body--hinQo dl dd{margin-bottom:16px;padding:0 16px}.BlogPost-module--post-body--hinQo table th{font-weight:600}.BlogPost-module--post-body--hinQo table td,.BlogPost-module--post-body--hinQo table th{border:1px solid var(--color-border-default);padding:6px 13px}.BlogPost-module--post-body--hinQo table tr{background-color:var(--color-canvas-default);border-top:1px solid var(--color-border-muted)}.BlogPost-module--post-body--hinQo table tr:nth-child(2n){background-color:var(--color-canvas-subtle)}.BlogPost-module--post-body--hinQo table img{background-color:transparent}.BlogPost-module--post-body--hinQo img[align=right]{padding-left:20px}.BlogPost-module--post-body--hinQo img[align=left]{padding-right:20px}.BlogPost-module--post-body--hinQo .BlogPost-module--emoji--XzYz0{background-color:transparent;max-width:none;vertical-align:text-top}.BlogPost-module--post-body--hinQo span.BlogPost-module--frame--Idj0Y{display:block;overflow:hidden}.BlogPost-module--post-body--hinQo span.BlogPost-module--frame--Idj0Y>span{border:1px solid var(--color-border-default);display:block;float:left;margin:13px 0 0;overflow:hidden;padding:7px;width:auto}.BlogPost-module--post-body--hinQo span.BlogPost-module--frame--Idj0Y span img{display:block;float:left}.BlogPost-module--post-body--hinQo span.BlogPost-module--frame--Idj0Y span span{clear:both;color:var(--color-fg-default);display:block;padding:5px 0 0}.BlogPost-module--post-body--hinQo span.BlogPost-module--align-center--t405A{clear:both;display:block;overflow:hidden}.BlogPost-module--post-body--hinQo span.BlogPost-module--align-center--t405A>span{display:block;margin:13px auto 0;overflow:hidden;text-align:center}.BlogPost-module--post-body--hinQo span.BlogPost-module--align-center--t405A span img{margin:0 auto;text-align:center}.BlogPost-module--post-body--hinQo span.BlogPost-module--align-right--73QHm{clear:both;display:block;overflow:hidden}.BlogPost-module--post-body--hinQo span.BlogPost-module--align-right--73QHm>span{display:block;margin:13px 0 0;overflow:hidden;text-align:right}.BlogPost-module--post-body--hinQo span.BlogPost-module--align-right--73QHm span img{margin:0;text-align:right}.BlogPost-module--post-body--hinQo span.BlogPost-module--float-left--YVxC6{display:block;float:left;margin-right:13px;overflow:hidden}.BlogPost-module--post-body--hinQo span.BlogPost-module--float-left--YVxC6 span{margin:13px 0 0}.BlogPost-module--post-body--hinQo span.BlogPost-module--float-right--uu0YC{display:block;float:right;margin-left:13px;overflow:hidden}.BlogPost-module--post-body--hinQo span.BlogPost-module--float-right--uu0YC>span{display:block;margin:13px auto 0;overflow:hidden;text-align:right}.BlogPost-module--post-body--hinQo .BlogPost-module--highlight--IO8Fw{margin-bottom:16px}.BlogPost-module--post-body--hinQo .BlogPost-module--csv-data--i41TJ td,.BlogPost-module--post-body--hinQo .BlogPost-module--csv-data--i41TJ th{font-size:12px;line-height:1;overflow:hidden;padding:5px;text-align:left;white-space:nowrap}.BlogPost-module--post-body--hinQo .BlogPost-module--csv-data--i41TJ .BlogPost-module--blob-num--8M8qP{background:var(--color-canvas-default);border:0;padding:10px 8px 9px;text-align:right}.BlogPost-module--post-body--hinQo .BlogPost-module--csv-data--i41TJ tr{border-top:0}.BlogPost-module--post-body--hinQo .BlogPost-module--csv-data--i41TJ th{background:var(--color-canvas-subtle);border-top:0;font-weight:600}.BlogPost-module--post-body--hinQo .BlogPost-module--footnotes--muW3U{border-top:1px solid var(--color-border-default);color:var(--color-fg-muted);font-size:12px}.BlogPost-module--post-body--hinQo .BlogPost-module--footnotes--muW3U ol{padding-left:16px}.BlogPost-module--post-body--hinQo .BlogPost-module--footnotes--muW3U li{position:relative}.BlogPost-module--post-body--hinQo .BlogPost-module--footnotes--muW3U li:target:before{border:2px solid var(--color-accent-emphasis);border-radius:6px;bottom:-8px;content:"";left:-24px;pointer-events:none;position:absolute;right:-8px;top:-8px}.BlogPost-module--post-body--hinQo .BlogPost-module--footnotes--muW3U li:target{color:var(--color-fg-default)}.BlogPost-module--post-body--hinQo .BlogPost-module--footnotes--muW3U .BlogPost-module--data-footnote-backref--mhVdk g-emoji{font-family:monospace}.BlogPost-module--post-body--hinQo .BlogPost-module--task-list-item--KkS5\+{list-style-type:none}.BlogPost-module--post-body--hinQo .BlogPost-module--task-list--2DCKY.BlogPost-module--post-body-item--UsoQa label{font-weight:400}.BlogPost-module--post-body--hinQo .BlogPost-module--task-list-item--KkS5\+.BlogPost-module--enabled--4dTT9 label{cursor:pointer}.BlogPost-module--post-body--hinQo .BlogPost-module--task-list-item--KkS5\++.BlogPost-module--task-list-item--KkS5\+{margin-top:3px}.BlogPost-module--post-body--hinQo .BlogPost-module--task-list-item--KkS5\+ .BlogPost-module--handle--qvHOr{display:none}.BlogPost-module--post-body--hinQo .BlogPost-module--task-list-item-checkbox--ypvCU{margin:0 .2em .25em -1.6em;vertical-align:middle}.BlogPost-module--post-body--hinQo .BlogPost-module--contains-task-list--SFrt4:dir(rtl) .BlogPost-module--task-list-item-checkbox--ypvCU{margin:0 -1.6em .25em .2em}.BlogPost-module--post-body--hinQo ::-webkit-calendar-picker-indicator{-webkit-filter:invert(50%);filter:invert(50%)}.mark-nav{background-color:#fff;border-left:1px solid #eee;height:60vh;overflow-y:auto}.mark-nav a.head-nav-item{display:block;padding-bottom:2px;padding-top:2px;text-decoration:inherit;transition:all .2s}.mark-nav a.head-nav-item.active{border-left:2px solid #007fff;color:#007fff}.mark-nav a.head-nav-item.active,.mark-nav a.head-nav-item:hover{background-color:#f8f8f8}.mark-nav a.nav-item-1,.mark-nav a.nav-item-2{color:#000;font-size:1.2em;font-weight:400;padding-left:1em}.mark-nav a.nav-item-3,.mark-nav a.nav-item-4,.mark-nav a.nav-item-5,.mark-nav a.nav-item-6{color:#333;font-size:1em;font-weight:400;padding-left:2em}.Main-module--main-root--8jy\+l{margin:auto;max-width:720px;padding:60px 5px 5px}.TagsCard-module--tag-container--oc5Xg{margin-bottom:8px;position:relative}.TagsCard-module--tag-container--oc5Xg>.TagsCard-module--tag--aOamL{background-color:#1565c0;border-radius:4px;color:#fff;cursor:pointer;display:inline-block;list-style:none;white-space:nowrap}.TagsCard-module--tag-container--oc5Xg>.TagsCard-module--tag--aOamL:hover{background:#237bd9}.TagsCard-module--tag-container--oc5Xg>.TagsCard-module--tag--aOamL a{color:#fff;padding:0 7px;text-decoration:none}.TagsCard-module--tag-container--oc5Xg>.TagsCard-module--tag--aOamL.TagsCard-module--large--cGzFC{font-size:20px;height:28px;line-height:26px;margin-bottom:8px;margin-right:16px}.TagsCard-module--tag-container--oc5Xg>.TagsCard-module--tag--aOamL.TagsCard-module--small--X5xL5{font-size:12px;height:22px;line-height:20px;margin-bottom:4px;margin-right:8px}.TagsCard-module--tag-container--oc5Xg>.TagsCard-module--original---pxiP{background-color:rgba(242,174,67,.25);border-radius:11px;color:#f2ae43;font-size:14px;line-height:26px;margin-left:-33px;margin-right:10px;padding:0 6px;position:absolute}.blog-module--indexContent--wYIPh{overflow:hidden;padding-top:80px;position:relative}.blog-module--indexContent--wYIPh:before{background:#eaeaea;content:"";display:block;height:100%;left:50%;position:absolute;top:-5px;width:1px}.pagination{background:#fff;padding-top:10px;position:relative;text-align:center}.pagination a{background-color:#fff;border:1px solid #d9d9d9;border-radius:4px;color:#000;display:inline-block;font-family:Arial;height:32px;line-height:30px;list-style:none;margin:0 4px;min-width:32px;outline:0;text-align:center;text-decoration:none;-webkit-user-select:none;-ms-user-select:none;user-select:none;vertical-align:middle}.pagination span{margin:0 4px}.pagination a.active{border-color:#237bd9;color:#237bd9}.pagination a:hover{border-color:#1565c0;color:#1565c0;transition:all .3s}.StarCanvas-module--starbg--z7M7b{background:#000;overflow-x:hidden;width:100%}.ityped-cursor{-webkit-animation:blink .5s infinite;animation:blink .5s infinite;-webkit-animation-direction:alternate;animation-direction:alternate;opacity:1}@keyframes blink{to{opacity:0}}@-webkit-keyframes blink{to{opacity:0}}.person-header{color:#fff;left:50%;position:absolute;top:50%;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%)}.person-header .author-inner{align-items:center;display:flex;justify-content:center;width:auto}.person-header .author-inner .avatar{border-radius:50%;height:80px;width:80px}.person-header .inner-bio{text-align:center}
2022年01月09日
顾名思义,用户态文件系统就是运行在用户空间的文件系统,众所周知,在宏内核系统(像 Linux),文件系统代码都在内核中,典型的例子是想要挂载一个磁盘,你必须使用 Root 权限运行 mount
…
共478字-大约需要阅读13min
2021年09月26日
如果你使用过 Docker,可能听过 aufs,与之一样,overlayfs 也是一个用于为 Linux 文件系统实现联合挂载的一种文件系统。它的核心概念是堆叠,把多个文件夹按照次序堆叠起来。
…
共240字-大约需要阅读7min
2021年09月24日
它是一个专注与构建 OCI 镜像的工具,它可以用来:
共191字-大约需要阅读7min
2021年09月23日
skopeo是在容器镜像和镜像存储库上执行各种操作的命令行工具。与 Podman 一样,它不需要守护进程,也不需要 root 权限。兼容 docker 镜像和 OCI 镜像。
它大概有以下功能:
共164字-大约需要阅读3min
2021年09月22日
Podman 是一个无守护程序的开源 Linux 原生工具,旨在使用开放容器倡议(OCI)容器和容器镜像轻松查找、运行、构建、共享和部署应用程序。Podman提供了一个使用过 Docker 容器引擎的人都熟悉的命令行界面(CLI…
共146字-大约需要阅读3min
2021年09月22日
snowflake 是 twitter 发布的一种分布式 ID 生成算法。它的优势有:
那么它是如何做到的呢?
…共298字-大约需要阅读6min
2021年09月06日
Golang 1.16 相对于 Golang 1.15 版本来说语言上没有任何变化,主要都是 工具链、运行时、库实现上面。因此与之前版本保持兼容。
netbsd/arm64
openbsd/mips64
GO386=387
linux/rscv64
支持 cgo
和 -buildmod=pie
共416字-大约需要阅读11min
2021年09月04日
我现在的情况是安装了独显
sudo pacman -S nvidia nvidia-utils
从 gdm 进入 gnome 选择的是【gnome】而不是【gnome-xorg】。但是我进系统之后发现不对劲,明显不是很流畅,输出一下echo $XDG_SESSION_TYPE
发现是 X11。阿这。。。。赶紧看一下 wayland 装了吗?
$ pacman -Qs wayland
local/deepin-wayland 1.0.0-1 (deepin)
DDE wayland support libraries
local/egl-wayland 1.1.7-1
EGLStream-based Wayland external platform
local/kwayland 5.85.0-1 (kf5)
Qt-style Client and Server library wrapper for the Wayland libraries
local/lib32-wayland 1.19.0-1
A computer display server protocol
local/libva 2.12.0-1
Video Acceleration (VA) API for Linux
local/qt5-wayland 5.15.2+kde+r29-1 (qt qt5)
Provides APIs for Wayland
local/wayland 1.19.0-1
A computer display server protocol
local/wayland-protocols 1.21-1
Specifications of extended Wayland protocols
local/xorg-xwayland 21.1.2-1 (xorg)
run X clients under wayland
…
共169字-大约需要阅读3min
2021年08月07日
在容器运行时接口未定义前, kubernetes 的容器运行时是内嵌的,例如最初是通过 dockershim 来调用 docker 从而操作容器。而加入其他容器运行时也需要内嵌相应代码到 kubernetes 仓库中,导致代码庞大难以维护。
于是在 https://github.com/kubernetes/kubernetes/issues/13768 中,有人提出了需要抽象一个容器运行时接口,从而实现代码解耦,所有的容器运行时只需要实现这个接口,就能够接入到整个 kubernetes…
共100字-大约需要阅读3min
2021年07月27日
在被克隆的机器上编辑 /etc/netplan/00-installer-config.yaml
文件。
network:
ethernets:
ens33:
dhcp4: true
dhcp-identifier: mac # 加上这一行。
version: 2
这样每次从这台机器进行的克隆都会有唯一的 ip 地址。
如果是 clone centos 会发现不会出现这一情况,而 clone ubuntu 的时候会发生,那么可以简单的猜测,可能是因为网络策略的不同。
…
共53字-大约需要阅读1min