2091 lines
196 KiB
HTML
2091 lines
196 KiB
HTML
<!DOCTYPE html>
|
|
<!-- saved from url=(0036)https://linuxhandbook.com/lvm-guide/ -->
|
|
<html dir="ltr" lang="en" class="group/html min-h-dvh dark has-grayscale-Slate zlennbbs ebzawqdwe" data-sx-content-api-url="https://linuxhandbook.com/ghost/api/content/" data-sx-content-api-key="8b9deb200a68e07efbb9794a5a" data-prismjs-copy="Copy" data-prismjs-copy-error="Error" data-prismjs-copy-success="Copied" style="--ghost-accent-color-light-rgb: 165 44 91; --c-primary-light-hsl: 336.6942148760331 57.89473684210527% 40.98039215686274%; --c-primary-light-hsl-50: 336.6942148760331 100% 90%; --c-primary-light-hsl-950: 336.6942148760331 80% 10%; --color-contrast-light: #fff;"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><script>
|
|
// templated by golang
|
|
function __setCMPv2RequestData() {
|
|
window._CMPv2RequestData = {
|
|
"language": "en",
|
|
"stylingLogo": "//g.ezodn.com/utilcave_com/middleton/img.webp?dirname=linuxhandbook_com&img=/logo/linuxhandbook_com"
|
|
};
|
|
}
|
|
__setCMPv2RequestData();
|
|
|
|
var gtagLoadBackoff = 50;
|
|
function gtagLoadedCheck() {
|
|
if(typeof gtag == 'undefined') {
|
|
gtagLoadBackoff += 50;
|
|
|
|
return setTimeout(function(){
|
|
gtagLoadedCheck();
|
|
}, gtagLoadBackoff);
|
|
} else {
|
|
gtag('consent', 'default', {
|
|
'ad_storage': 'denied',
|
|
'ad_user_data': 'denied',
|
|
'ad_personalization': 'denied',
|
|
'analytics_storage': 'denied'
|
|
});
|
|
}
|
|
}
|
|
|
|
gtagLoadedCheck();</script>
|
|
|
|
<script src="./Complete Beginner's Guide to LVM in Linux [With Hands-on]_files/tcf2_stub.js.download" data-cfasync="false"></script><script>var __ezHttpConsent={setByCat:function(src,tagType,attributes,category,force,customSetScriptFn=null){var setScript=function(){if(force||window.ezTcfConsent[category]){if(typeof customSetScriptFn==='function'){customSetScriptFn();}else{var scriptElement=document.createElement(tagType);scriptElement.src=src;attributes.forEach(function(attr){for(var key in attr){if(attr.hasOwnProperty(key)){scriptElement.setAttribute(key,attr[key]);}}});var firstScript=document.getElementsByTagName(tagType)[0];firstScript.parentNode.insertBefore(scriptElement,firstScript);}}};if(force||(window.ezTcfConsent&&window.ezTcfConsent.loaded)){setScript();}else if(typeof getEzConsentData==="function"){getEzConsentData().then(function(ezTcfConsent){if(ezTcfConsent&&ezTcfConsent.loaded){setScript();}else{console.error("cannot get ez consent data");force=true;setScript();}});}else{force=true;setScript();console.error("getEzConsentData is not a function");}},};</script>
|
|
<script>var ezTcfConsent=window.ezTcfConsent?window.ezTcfConsent:{loaded:false,store_info:false,develop_and_improve_services:false,measure_ad_performance:false,measure_content_performance:false,select_basic_ads:false,create_ad_profile:false,select_personalized_ads:false,create_content_profile:false,select_personalized_content:false,understand_audiences:false,use_limited_data_to_select_content:false,};function getEzConsentData(){return new Promise(function(resolve){document.addEventListener("ezConsentEvent",function(event){var ezTcfConsent=event.detail.ezTcfConsent;resolve(ezTcfConsent);});});}</script>
|
|
<script>if(typeof _setEzCookies!=='function'){function _setEzCookies(ezConsentData){var cookies=window.ezCookieQueue;for(var i=0;i<cookies.length;i++){var cookie=cookies[i];if(ezConsentData&&ezConsentData.loaded&&ezConsentData[cookie.tcfCategory]){document.cookie=cookie.name+"="+cookie.value;}}}}
|
|
window.ezCookieQueue=window.ezCookieQueue||[];if(typeof addEzCookies!=='function'){function addEzCookies(arr){window.ezCookieQueue=[...window.ezCookieQueue,...arr];}}
|
|
addEzCookies([{name:"ezopvc_630458",value:"1; Path=/; Domain=linuxhandbook.com; Expires=Sun, 19 Oct 2025 10:20:43 UTC",tcfCategory:"understand_audiences",isEzoic:"true",},{name:"ezoab_630458",value:"mod51-c; Path=/; Domain=linuxhandbook.com; Max-Age=7200",tcfCategory:"store_info",isEzoic:"true",},{name:"active_template::630458",value:"pub_site.1760867443; Path=/; Domain=linuxhandbook.com; Expires=Tue, 21 Oct 2025 09:50:43 UTC",tcfCategory:"store_info",isEzoic:"true",},{name:"ezoadgid_630458",value:"-1; Path=/; Domain=linuxhandbook.com; Max-Age=1800",tcfCategory:"understand_audiences",isEzoic:"true",},{name:"ezosuibasgeneris-1",value:"78666d8a-50aa-4292-520d-9d039a58eb59; Path=/; Domain=linuxhandbook.com; Expires=Mon, 19 Oct 2026 09:50:43 UTC; Secure; SameSite=None",tcfCategory:"understand_audiences",isEzoic:"true",}]);if(window.ezTcfConsent&&window.ezTcfConsent.loaded){_setEzCookies(window.ezTcfConsent);}else if(typeof getEzConsentData==="function"){getEzConsentData().then(function(ezTcfConsent){if(ezTcfConsent&&ezTcfConsent.loaded){_setEzCookies(window.ezTcfConsent);}else{console.error("cannot get ez consent data");_setEzCookies(window.ezTcfConsent);}});}else{console.error("getEzConsentData is not a function");_setEzCookies(window.ezTcfConsent);}</script><script type="text/javascript" data-ezscrex="false" data-cfasync="false">window._ezaq = Object.assign({"edge_cache_status":31,"edge_response_time":173,"url":"https://linuxhandbook.com/lvm-guide/"}, typeof window._ezaq !== "undefined" ? window._ezaq : {});</script><script type="text/javascript" data-ezscrex="false" data-cfasync="false">window._ezaq = Object.assign({"ab_test_id":"mod51-c"}, typeof window._ezaq !== "undefined" ? window._ezaq : {});window.__ez=window.__ez||{};window.__ez.tf={};</script><script data-ezscrex="false" data-cfasync="false" data-pagespeed-no-defer="">var __ez=__ez||{};__ez.stms=Date.now();__ez.evt={};__ez.script={};__ez.ck=__ez.ck||{};__ez.template={};__ez.template.isOrig=false;__ez.queue=__ez.queue||function(){var e=0,i=0,t=[],n=!1,o=[],r=[],s=!0,a=function(e,i,n,o,r,s,a){var l=arguments.length>7&&void 0!==arguments[7]?arguments[7]:window,d=this;this.name=e,this.funcName=i,this.parameters=null===n?null:w(n)?n:[n],this.isBlock=o,this.blockedBy=r,this.deleteWhenComplete=s,this.isError=!1,this.isComplete=!1,this.isInitialized=!1,this.proceedIfError=a,this.fWindow=l,this.isTimeDelay=!1,this.process=function(){f("... func = "+e),d.isInitialized=!0,d.isComplete=!0,f("... func.apply: "+e);var i=d.funcName.split("."),n=null,o=this.fWindow||window;i.length>3||(n=3===i.length?o[i[0]][i[1]][i[2]]:2===i.length?o[i[0]][i[1]]:o[d.funcName]),null!=n&&n.apply(null,this.parameters),!0===d.deleteWhenComplete&&delete t[e],!0===d.isBlock&&(f("----- F'D: "+d.name),m())}},l=function(e,i,t,n,o,r,s){var a=arguments.length>7&&void 0!==arguments[7]?arguments[7]:window,l=this;this.name=e,this.path=i,this.async=o,this.defer=r,this.isBlock=t,this.blockedBy=n,this.isInitialized=!1,this.isError=!1,this.isComplete=!1,this.proceedIfError=s,this.fWindow=a,this.isTimeDelay=!1,this.isPath=function(e){return"/"===e[0]&&"/"!==e[1]},this.getSrc=function(e){return void 0!==window.__ezScriptHost&&this.isPath(e)&&"banger.js"!==this.name?window.__ezScriptHost+e:e},this.process=function(){l.isInitialized=!0,f("... file = "+e);var i=this.fWindow?this.fWindow.document:document,t=i.createElement("script");t.src=this.getSrc(this.path),!0===o?t.async=!0:!0===r&&(t.defer=!0),t.onerror=function(){var e={url:window.location.href,name:l.name,path:l.path,user_agent:window.navigator.userAgent};"undefined"!=typeof _ezaq&&(e.pageview_id=_ezaq.page_view_id);var i=encodeURIComponent(JSON.stringify(e)),t=new XMLHttpRequest;t.open("GET","//g.ezoic.net/ezqlog?d="+i,!0),t.send(),f("----- ERR'D: "+l.name),l.isError=!0,!0===l.isBlock&&m()},t.onreadystatechange=t.onload=function(){var e=t.readyState;f("----- F'D: "+l.name),e&&!/loaded|complete/.test(e)||(l.isComplete=!0,!0===l.isBlock&&m())},i.getElementsByTagName("head")[0].appendChild(t)}},d=function(e,i){this.name=e,this.path="",this.async=!1,this.defer=!1,this.isBlock=!1,this.blockedBy=[],this.isInitialized=!0,this.isError=!1,this.isComplete=i,this.proceedIfError=!1,this.isTimeDelay=!1,this.process=function(){}};function c(e,i,n,s,a,d,c,u,f){var m=new l(e,i,n,s,a,d,c,f);!0===u?o[e]=m:r[e]=m,t[e]=m,h(m)}function h(e){!0!==u(e)&&0!=s&&e.process()}function u(e){if(!0===e.isTimeDelay&&!1===n)return f(e.name+" blocked = TIME DELAY!"),!0;if(w(e.blockedBy))for(var i=0;i<e.blockedBy.length;i++){var o=e.blockedBy[i];if(!1===t.hasOwnProperty(o))return f(e.name+" blocked = "+o),!0;if(!0===e.proceedIfError&&!0===t[o].isError)return!1;if(!1===t[o].isComplete)return f(e.name+" blocked = "+o),!0}return!1}function f(e){var i=window.location.href,t=new RegExp("[?&]ezq=([^&#]*)","i").exec(i);"1"===(t?t[1]:null)&&console.debug(e)}function m(){++e>200||(f("let's go"),p(o),p(r))}function p(e){for(var i in e)if(!1!==e.hasOwnProperty(i)){var t=e[i];!0===t.isComplete||u(t)||!0===t.isInitialized||!0===t.isError?!0===t.isError?f(t.name+": error"):!0===t.isComplete?f(t.name+": complete already"):!0===t.isInitialized&&f(t.name+": initialized already"):t.process()}}function w(e){return"[object Array]"==Object.prototype.toString.call(e)}return window.addEventListener("load",(function(){setTimeout((function(){n=!0,f("TDELAY -----"),m()}),5e3)}),!1),{addFile:c,addFileOnce:function(e,i,n,o,r,s,a,l,d){t[e]||c(e,i,n,o,r,s,a,l,d)},addDelayFile:function(e,i){var n=new l(e,i,!1,[],!1,!1,!0);n.isTimeDelay=!0,f(e+" ... FILE! TDELAY"),r[e]=n,t[e]=n,h(n)},addFunc:function(e,n,s,l,d,c,u,f,m,p){!0===c&&(e=e+"_"+i++);var w=new a(e,n,s,l,d,u,f,p);!0===m?o[e]=w:r[e]=w,t[e]=w,h(w)},addDelayFunc:function(e,i,n){var o=new a(e,i,n,!1,[],!0,!0);o.isTimeDelay=!0,f(e+" ... FUNCTION! TDELAY"),r[e]=o,t[e]=o,h(o)},items:t,processAll:m,setallowLoad:function(e){s=e},markLoaded:function(e){if(e&&0!==e.length){if(e in t){var i=t[e];!0===i.isComplete?f(i.name+" "+e+": error loaded duplicate"):(i.isComplete=!0,i.isInitialized=!0)}else t[e]=new d(e,!0);f("markLoaded dummyfile: "+t[e].name)}},logWhatsBlocked:function(){for(var e in t)!1!==t.hasOwnProperty(e)&&u(t[e])}}}();__ez.evt.add=function(e,t,n){e.addEventListener?e.addEventListener(t,n,!1):e.attachEvent?e.attachEvent("on"+t,n):e["on"+t]=n()},__ez.evt.remove=function(e,t,n){e.removeEventListener?e.removeEventListener(t,n,!1):e.detachEvent?e.detachEvent("on"+t,n):delete e["on"+t]};__ez.script.add=function(e){var t=document.createElement("script");t.src=e,t.async=!0,t.type="text/javascript",document.getElementsByTagName("head")[0].appendChild(t)};__ez.dot=__ez.dot||{};__ez.queue.addFileOnce('/detroitchicago/boise.js', '/detroitchicago/boise.js?gcb=195-0&cb=5', true, [], true, false, true, false);__ez.queue.addFileOnce('/parsonsmaize/abilene.js', '/parsonsmaize/abilene.js?gcb=195-0&cb=dc112bb7ea', true, [], true, false, true, false);__ez.queue.addFileOnce('/parsonsmaize/mulvane.js', '/parsonsmaize/mulvane.js?gcb=195-0&cb=e75e48eec0', true, ['/parsonsmaize/abilene.js'], true, false, true, false);__ez.queue.addFileOnce('/detroitchicago/birmingham.js', '/detroitchicago/birmingham.js?gcb=195-0&cb=539c47377c', true, ['/parsonsmaize/abilene.js'], true, false, true, false);</script><script src="./Complete Beginner's Guide to LVM in Linux [With Hands-on]_files/boise.js.download" async=""></script><script src="./Complete Beginner's Guide to LVM in Linux [With Hands-on]_files/abilene.js.download" async=""></script>
|
|
<script data-ezscrex="false" type="text/javascript" data-cfasync="false">window._ezaq = Object.assign({"ad_cache_level":1,"adpicker_placement_cnt":1,"ai_placeholder_cache_level":1,"ai_placeholder_placement_cnt":-1,"author":"Debdut Chakraborty","domain":"linuxhandbook.com","domain_id":630458,"ezcache_level":1,"ezcache_skip_code":7,"has_bad_image":0,"has_bad_words":0,"is_sitespeed":0,"lt_cache_level":0,"publish_date":"2021-05-17","response_size":133721,"response_size_orig":125634,"response_time_orig":125,"template_id":134,"url":"https://linuxhandbook.com/lvm-guide/","word_count":3035,"worst_bad_word_level":0}, typeof window._ezaq !== "undefined" ? window._ezaq : {});__ez.queue.markLoaded('ezaqBaseReady');</script>
|
|
<link rel="preload" as="script" href="https://securepubads.g.doubleclick.net/tag/js/gpt.js">
|
|
<link rel="preload" as="script" href="https://go.ezodn.com/hb/dall.js?cb=195-0-132">
|
|
<script type="text/javascript">(function(){function storageAvailable(type){var storage;try{storage=window[type];var x='__storage_test__';storage.setItem(x,x);storage.removeItem(x);return true;}
|
|
catch(e){return e instanceof DOMException&&(e.code===22||e.code===1014||e.name==='QuotaExceededError'||e.name==='NS_ERROR_DOM_QUOTA_REACHED')&&(storage&&storage.length!==0);}}
|
|
function remove_ama_config(){if(storageAvailable('localStorage')){localStorage.removeItem("google_ama_config");}}
|
|
remove_ama_config()})()</script>
|
|
<script type="text/javascript">var ezoicTestActive = true</script>
|
|
<script type="text/javascript" data-ezscrex="false" data-cfasync="false">
|
|
window.ezAnalyticsStatic = true;
|
|
|
|
function analyticsAddScript(script) {
|
|
var ezDynamic = document.createElement('script');
|
|
ezDynamic.type = 'text/javascript';
|
|
ezDynamic.innerHTML = script;
|
|
document.head.appendChild(ezDynamic);
|
|
}
|
|
function getCookiesWithPrefix() {
|
|
var allCookies = document.cookie.split(';');
|
|
var cookiesWithPrefix = {};
|
|
|
|
for (var i = 0; i < allCookies.length; i++) {
|
|
var cookie = allCookies[i].trim();
|
|
|
|
for (var j = 0; j < arguments.length; j++) {
|
|
var prefix = arguments[j];
|
|
if (cookie.indexOf(prefix) === 0) {
|
|
var cookieParts = cookie.split('=');
|
|
var cookieName = cookieParts[0];
|
|
var cookieValue = cookieParts.slice(1).join('=');
|
|
cookiesWithPrefix[cookieName] = decodeURIComponent(cookieValue);
|
|
break; // Once matched, no need to check other prefixes
|
|
}
|
|
}
|
|
}
|
|
|
|
return cookiesWithPrefix;
|
|
}
|
|
function productAnalytics() {
|
|
var d = {"pr":[6,1],"aop":{"2":0,"21":0,"4":134,"7":0},"omd5":"b121145cc455480d9b2841d2540529cd"};
|
|
d.u = _ezaq.url;
|
|
d.p = _ezaq.page_view_id;
|
|
d.v = _ezaq.visit_uuid;
|
|
d.ab = _ezaq.ab_test_id;
|
|
d.e = JSON.stringify(_ezaq);
|
|
d.ref = document.referrer;
|
|
d.c = getCookiesWithPrefix('active_template', 'ez', 'lp_');
|
|
if(typeof ez_utmParams !== 'undefined') {
|
|
d.utm = ez_utmParams;
|
|
}
|
|
|
|
var dataText = JSON.stringify(d);
|
|
var xhr = new XMLHttpRequest();
|
|
xhr.open('POST','/ezais/analytics?cb=1', true);
|
|
xhr.onload = function () {
|
|
if (xhr.status!=200) {
|
|
return;
|
|
}
|
|
|
|
if(document.readyState !== 'loading') {
|
|
analyticsAddScript(xhr.response);
|
|
return;
|
|
}
|
|
|
|
var eventFunc = function() {
|
|
if(document.readyState === 'loading') {
|
|
return;
|
|
}
|
|
document.removeEventListener('readystatechange', eventFunc, false);
|
|
analyticsAddScript(xhr.response);
|
|
};
|
|
|
|
document.addEventListener('readystatechange', eventFunc, false);
|
|
};
|
|
xhr.setRequestHeader('Content-Type','text/plain');
|
|
xhr.send(dataText);
|
|
}
|
|
__ez.queue.addFunc("productAnalytics", "productAnalytics", null, true, ['ezaqBaseReady'], false, false, false, true);
|
|
</script><script type="text/javascript" data-ezscrex="false" data-cfasync="false" async="">
|
|
function productEzoicAds() {
|
|
if(window.ezDisableAds === true) {
|
|
return;
|
|
}
|
|
window.google_reactive_ads_global_state = {
|
|
adCount: {},
|
|
floatingAdsStacking: { maxZIndexListeners: [], maxZIndexRestrictions: {}, nextRestrictionId: 0 },
|
|
messageValidationEnabled: false,
|
|
reactiveTypeDisabledByPublisher: {},
|
|
reactiveTypeEnabledInAsfe: {},
|
|
sideRailAvailableSpace: [],
|
|
sideRailOverlappableElements: [],
|
|
stateForType: {},
|
|
tagSpecificState: {},
|
|
wasPlaTagProcessed: true,
|
|
wasReactiveAdConfigReceived: { 1: true, 2: true, 8: true },
|
|
wasReactiveAdVisible: {},
|
|
wasReactiveTagRequestSent: true,
|
|
description: "Can't disable auto ads programmatically on the page, so here we are!"
|
|
};
|
|
var d = {"ab":"","km":{},"pv":"","vu":"e3f7fcd2-5b5b-4fd9-63ed-b17e7968cd98","r":{"r":[{"p":" ezoic_pub_ad_placeholder-111-bottom_of_page-250x250-111-nonexxxnonexxxxxxezmaxscaleval100 ","s":111},{"p":" ezoic_pub_ad_placeholder-111-bottom_of_page-300x250-111-nonexxxnonexxxxxxezmaxscaleval100 ","s":111},{"p":" ezoic_pub_ad_placeholder-111-bottom_of_page-320x100-111-nonexxxnonexxxxxxezmaxscaleval100 ","s":111},{"p":" ezoic_pub_ad_placeholder-111-bottom_of_page-300x50v2-111-nonexxxnonexxxxxxezmaxscaleval100 ","s":111},{"p":" ezoic_pub_ad_placeholder-111-bottom_of_page-320x50-111-nonexxxnonexxxxxxezmaxscaleval100 ","s":111},{"p":" ezoic_pub_ad_placeholder-111-bottom_of_page-336x280-111-nonexxxnonexxxxxxezmaxscaleval100 ","s":111},{"p":" ezoic_pub_ad_placeholder-111-bottom_of_page-320x100v2-111-nonexxxnonexxxxxxezmaxscaleval100 ","s":111},{"p":" ezoic_pub_ad_placeholder-111-bottom_of_page-468x60-111-nonexxxnonexxxxxxezmaxscaleval100 ","s":111},{"p":" ezoic_pub_ad_placeholder-111-bottom_of_page-580x400-111-nonexxxnonexxxxxxezmaxscaleval100 ","s":111},{"p":" ezoic_pub_ad_placeholder-111-bottom_of_page-250x250x2-111-nonexxxnonexxxxxxezmaxscaleval100 ","s":111},{"p":" ezoic_pub_ad_placeholder-111-bottom_of_page-728x90-111-nonexxxnonexxxxxxezmaxscaleval100 ","s":111,"h":400,"w":970},{"p":" ezoic_pub_ad_placeholder-111-bottom_of_page-970x250-111-nonexxxnonexxxxxxezmaxscaleval100 ","s":111},{"p":" ezoic_pub_ad_placeholder-111-bottom_of_page-300x250x3-111-nonexxxnonexxxxxxezmaxscaleval100 ","s":111},{"p":" ezoic_pub_ad_placeholder-111-bottom_of_page-970x90-111-nonexxxnonexxxxxxezmaxscaleval100 ","s":111},{"p":" ezoic_pub_ad_placeholder-100-bottom_floating-728x90-100-nonexxxnonexxxxxxezmaxscaleval100 ","s":100,"h":90,"w":970,"r":true}],"a":{"100":true,"111":true,"12":true},"g":-1,"l":{"0":22,"1":3,"2":2,"3":1,"4":-1,"5":-1},"m":{"0":22,"1":3,"2":2,"3":1,"4":-1,"5":-1},"v":0,"ve":false,"hr":false,"sa":false},"cr":"","tid":134,"tn":"pub_site","url":"","wc":3035,"ff":1,"dhh":""};
|
|
d.ab = _ezaq.ab_test_id;
|
|
d.pv = _ezaq.page_view_id;
|
|
d.vu = _ezaq.visit_uuid;
|
|
d.url = window.location.href;
|
|
var dynamicAddScript = function(script) {
|
|
if(window.ezFinishedStatic === true) {
|
|
console.error("attempted to load dynamic script again");
|
|
return;
|
|
}
|
|
var errorMessages = [];
|
|
function errorHandler(event) {
|
|
var errorObj = event.error;
|
|
if (errorObj && errorObj.stack && errorObj.stack.indexOf('dynamicAddScript') !== -1) {
|
|
var errorMessage = {
|
|
Message: event.message,
|
|
LineNo: event.lineno,
|
|
ColumnNo: event.colno,
|
|
Stack: errorObj.stack
|
|
};
|
|
errorMessages.push(errorMessage);
|
|
}
|
|
|
|
if (typeof window.onerror === 'function') {
|
|
window.onerror.apply(this, arguments);
|
|
}
|
|
}
|
|
window.addEventListener('error', errorHandler);
|
|
|
|
var ezDynamic = document.createElement('script');
|
|
ezDynamic.type = 'text/javascript';
|
|
ezDynamic.innerHTML = script;
|
|
document.head.appendChild(ezDynamic);
|
|
|
|
window.removeEventListener('error', errorHandler);
|
|
if (window.ezFinishedStatic !== true || typeof window.ezstaticerrors !== 'undefined') {
|
|
d.Script = script;
|
|
d.ErrorMessages = JSON.stringify(errorMessages);
|
|
d.ErrorStaticMessages = window.ezstaticerrors || '';
|
|
var dataTxt = JSON.stringify(d);
|
|
if (dataTxt.length > 0) {
|
|
var logXHR = new XMLHttpRequest();
|
|
logXHR.open('POST','/ezais/log?cb=1', true);
|
|
logXHR.setRequestHeader('Content-Type','application/json');
|
|
logXHR.send(dataTxt);
|
|
}
|
|
}
|
|
};
|
|
var dataText = JSON.stringify(d);
|
|
if (dataText.length > 0) {
|
|
var startTime = Date.now() - __ez.stms;
|
|
|
|
var xhr = new XMLHttpRequest();
|
|
xhr.open('POST','/ezais/dynamic?cb=1', true);
|
|
xhr.onload = function () {
|
|
if (xhr.status!=200) {
|
|
return;
|
|
}
|
|
|
|
if(document.readyState !== 'loading') {
|
|
dynamicAddScript(xhr.response);
|
|
return;
|
|
}
|
|
|
|
var eventFunc = function() {
|
|
if(document.readyState === 'loading') {
|
|
return;
|
|
}
|
|
document.removeEventListener('readystatechange', eventFunc, false);
|
|
dynamicAddScript(xhr.response);
|
|
};
|
|
|
|
document.addEventListener('readystatechange', eventFunc, false);
|
|
};
|
|
xhr.setRequestHeader('Content-Type','text/plain');
|
|
xhr.send(dataText);
|
|
}
|
|
}
|
|
|
|
function callDynamicAfterConsent() {
|
|
if (window.__tcfapi) {
|
|
window.__tcfapi("addEventListener", 2, function (tcdata, success) {
|
|
if (success) {
|
|
if(tcdata.gdprApplies == true) {
|
|
if(tcdata.eventStatus === "useractioncomplete" || tcdata.eventStatus === "tcloaded") {
|
|
__ez.queue.addFunc("productEzoicAds", "productEzoicAds", null, true, ['ezaqReady'], false, false, false, true);
|
|
}
|
|
} else {
|
|
__ez.queue.addFunc("productEzoicAds", "productEzoicAds", null, true, ['ezaqReady'], false, false, false, true);
|
|
}
|
|
}
|
|
});
|
|
} else {
|
|
__ez.queue.addFunc("productEzoicAds", "productEzoicAds", null, true, ['ezaqReady'], false, false, false, true);
|
|
}
|
|
}
|
|
|
|
|
|
if (window.__tcfapi) {
|
|
callDynamicAfterConsent();
|
|
} else {
|
|
if (typeof window.ezCMPQueue !== "undefined") {
|
|
window.ezCMPQueue.push(callDynamicAfterConsent);
|
|
} else {
|
|
__ez.queue.addFunc("productEzoicAds", "productEzoicAds", null, true, ['ezaqReady'], false, false, false, true);
|
|
}
|
|
}
|
|
</script><!--<base href="https://linuxhandbook.com/lvm-guide/">--><base href=".">
|
|
|
|
<meta name="HandheldFriendly" content="True">
|
|
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
<title>Complete Beginner's Guide to LVM in Linux [With Hands-on]</title>
|
|
|
|
|
|
<link rel="preload" as="style" href="./Complete Beginner's Guide to LVM in Linux [With Hands-on]_files/main.min.css">
|
|
<link rel="preload" as="script" href="./Complete Beginner's Guide to LVM in Linux [With Hands-on]_files/main.min.js.download">
|
|
<link rel="preload" href="./Complete Beginner's Guide to LVM in Linux [With Hands-on]_files/linux-handbook-cover.png" as="image" fetchpriority="high">
|
|
|
|
|
|
<script>
|
|
document.documentElement.classList.remove('no-js');
|
|
</script>
|
|
|
|
<script>
|
|
(function() {
|
|
if (!CSS.supports("color: hsl(from white h s l)")) {
|
|
const preload = document.createElement('link');
|
|
preload.rel = "preload";
|
|
preload.as = "style";
|
|
preload.href= '/assets/built/legacy.min.css?v=eacb93878d';
|
|
document.head.appendChild(preload);
|
|
|
|
const link = document.createElement('link');
|
|
link.rel = "stylesheet";
|
|
link.type = "text/css";
|
|
link.href= '/assets/built/legacy.min.css?v=eacb93878d';
|
|
document.documentElement.appendChild(link);
|
|
}
|
|
})();
|
|
</script>
|
|
|
|
<script>
|
|
window.Spiritix = window.Spiritix || {};
|
|
|
|
// Translation
|
|
window.Spiritix.t = {
|
|
"Toggle menu": `Toggle menu`,
|
|
"Quick search...": `Quick search...`,
|
|
"Clear": `Clear`,
|
|
"Close": `Close`,
|
|
"No matches found": `No matches found`,
|
|
"Something went wrong, please try again.": `Something went wrong, please try again.`,
|
|
"Authors": `Authors`,
|
|
"Tags": `Tags`,
|
|
"Posts": `Posts`,
|
|
};
|
|
|
|
// Error reporting
|
|
window.Spiritix.safeReportError = (err) => {
|
|
if ("Sentry" in window) {
|
|
return window.Sentry.captureException(err);
|
|
}
|
|
|
|
if (typeof window.reportError === "function") {
|
|
return window.reportError(err);
|
|
}
|
|
|
|
console.error(err);
|
|
};
|
|
|
|
// Color functions
|
|
window.Spiritix.hexToRgb = (hex) => {
|
|
hex = hex.replace('#', '');
|
|
hex = hex.length === 3 ? hex.split().map(c => c + c).join() : hex;
|
|
|
|
return [
|
|
parseInt(hex.substring(0,2), 16),
|
|
parseInt(hex.substring(2,4), 16),
|
|
parseInt(hex.substring(4,6), 16),
|
|
];
|
|
};
|
|
|
|
window.Spiritix.getContrastColor = (r, g, b) => {
|
|
const yiq = ((r*299) + (g*587) + (b*114)) / 1000;
|
|
|
|
return (yiq >= 138) ? '#000' : '#fff';
|
|
};
|
|
|
|
window.Spiritix.rgbToHsl = (r, g, b) => {
|
|
r /= 255, g /= 255, b /= 255;
|
|
const max = Math.max(r, g, b);
|
|
const min = Math.min(r, g, b);
|
|
const d = max - min;
|
|
let h, s, l = (max + min) / 2;
|
|
|
|
if (max === min) {
|
|
return [0, 0, l * 100];
|
|
}
|
|
|
|
s = l > 0.5 ? d / (2 - max - min) : d / (max + min);
|
|
switch(max) {
|
|
case r: h = (g - b) / d + (g < b ? 6 : 0); break;
|
|
case g: h = (b - r) / d + 2; break;
|
|
case b: h = (r - g) / d + 4; break;
|
|
}
|
|
h /= 6;
|
|
|
|
return [h * 360, s * 100, l * 100];
|
|
}
|
|
</script>
|
|
|
|
<script>
|
|
if (localStorage && localStorage["sx-theme"]) {
|
|
document.documentElement.classList.toggle('dark', localStorage["sx-theme"] === 'dark');
|
|
document.documentElement.classList.toggle('light', localStorage["sx-theme"] === 'light');
|
|
} else if ("Dark" === "System") {
|
|
document.documentElement.classList.toggle('dark', window.matchMedia('(prefers-color-scheme: dark)').matches);
|
|
document.documentElement.classList.toggle('light', window.matchMedia('(prefers-color-scheme: light)').matches);
|
|
}
|
|
</script>
|
|
|
|
|
|
<script>
|
|
(function() {
|
|
const hex = "#a52c5b".trim();
|
|
const [r, g, b] = window.Spiritix.hexToRgb(hex);
|
|
const [h, s, l] = window.Spiritix.rgbToHsl(r, g, b);
|
|
const contrastColor = window.Spiritix.getContrastColor(r, g, b);
|
|
|
|
document.documentElement.style.setProperty('--ghost-accent-color-light-rgb', `${r} ${g} ${b}`);
|
|
document.documentElement.style.setProperty('--c-primary-light-hsl', `${h} ${s}% ${l}%`);
|
|
document.documentElement.style.setProperty('--c-primary-light-hsl-50', `${h} 100% 90%`);
|
|
document.documentElement.style.setProperty('--c-primary-light-hsl-950', `${h} 80% 10%`);
|
|
document.documentElement.style.setProperty('--color-contrast-light', contrastColor);
|
|
|
|
window.Spiritix.ghostAccentColorLightRgb = `${r} ${g} ${b}`;
|
|
})();
|
|
</script>
|
|
<style>
|
|
:root {
|
|
--color-contrast: var(--color-contrast-light);
|
|
--ghost-accent-color-rgb: var(--ghost-accent-color-light-rgb);
|
|
--c-primary-hsl: var(--c-primary-light-hsl);
|
|
--c-primary-hsl-50: var(--c-primary-light-hsl-50);
|
|
--c-primary-hsl-950: var(--c-primary-light-hsl-950);
|
|
}
|
|
</style>
|
|
|
|
|
|
<style>
|
|
a[data-sx-check-external][href]:not(:where(
|
|
/* exclude hash only links */
|
|
[href^="#"],
|
|
/* exclude javascript only links */
|
|
[href^="javascript:" i],
|
|
/* exclude relative but not double slash only links */
|
|
[href^="/"]:not([href^="//"]),
|
|
/* domains to exclude */
|
|
[href^="https://linuxhandbook.com"],
|
|
[href*="//linuxhandbook.com"]
|
|
)) svg {
|
|
display: inline;
|
|
}
|
|
</style>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<link href="./Complete Beginner's Guide to LVM in Linux [With Hands-on]_files/main.min.css" rel="stylesheet" type="text/css">
|
|
|
|
<script src="./Complete Beginner's Guide to LVM in Linux [With Hands-on]_files/main.min.js.download" defer="" data-manual=""></script>
|
|
<script src="./Complete Beginner's Guide to LVM in Linux [With Hands-on]_files/index.min.js.download" defer="" type="module"></script>
|
|
|
|
|
|
|
|
|
|
<meta name="description" content="Everything necessary you need to know and learn about the logical volume management in Linux.">
|
|
<link rel="icon" href="./Complete Beginner's Guide to LVM in Linux [With Hands-on]_files/Linux-Handbook-New-Logo.png" type="image/png">
|
|
<link rel="canonical" href="https://linuxhandbook.com/lvm-guide/">
|
|
<meta name="referrer" content="no-referrer-when-downgrade">
|
|
|
|
<meta property="og:site_name" content="Linux Handbook">
|
|
<meta property="og:type" content="article">
|
|
<meta property="og:title" content="Complete Beginner's Guide to LVM in Linux [With Hands-on]">
|
|
<meta property="og:description" content="Everything necessary you need to know and learn about the logical volume management in Linux.">
|
|
<meta property="og:url" content="https://linuxhandbook.com/lvm-guide/">
|
|
<meta property="og:image" content="https://linuxhandbook.com/content/images/2021/05/Linux-LVM-Guide.jpg">
|
|
<meta property="article:published_time" content="2021-05-17T14:44:33.000Z">
|
|
<meta property="article:modified_time" content="2025-01-02T05:17:57.000Z">
|
|
<meta property="article:tag" content="Guides">
|
|
|
|
<meta property="article:publisher" content="https://www.facebook.com/linuxhandbook">
|
|
<meta name="twitter:card" content="summary_large_image">
|
|
<meta name="twitter:title" content="Complete Beginner's Guide to LVM in Linux [With Hands-on]">
|
|
<meta name="twitter:description" content="Everything necessary you need to know and learn about the logical volume management in Linux.">
|
|
<meta name="twitter:url" content="https://linuxhandbook.com/lvm-guide/">
|
|
<meta name="twitter:image" content="https://linuxhandbook.com/content/images/2021/05/Linux-LVM-Guide.jpg">
|
|
<meta name="twitter:label1" content="Written by">
|
|
<meta name="twitter:data1" content="Debdut Chakraborty">
|
|
<meta name="twitter:label2" content="Filed under">
|
|
<meta name="twitter:data2" content="Guides">
|
|
<meta name="twitter:site" content="@linuxhandbook">
|
|
<meta name="twitter:creator" content="@imdebdut">
|
|
<meta property="og:image:width" content="800">
|
|
<meta property="og:image:height" content="450">
|
|
|
|
<script type="application/ld+json">
|
|
{
|
|
"@context": "https://schema.org",
|
|
"@type": "Article",
|
|
"publisher": {
|
|
"@type": "Organization",
|
|
"name": "Linux Handbook",
|
|
"url": "https://linuxhandbook.com/",
|
|
"logo": {
|
|
"@type": "ImageObject",
|
|
"url": "https://linuxhandbook.com/content/images/2021/08/linux-handbook-cover.png"
|
|
}
|
|
},
|
|
"author": {
|
|
"@type": "Person",
|
|
"name": "Debdut Chakraborty",
|
|
"image": {
|
|
"@type": "ImageObject",
|
|
"url": "https://linuxhandbook.com/content/images/2020/07/IMG20200617092006.jpg",
|
|
"width": 1200,
|
|
"height": 554
|
|
},
|
|
"url": "https://linuxhandbook.com/author/debdut/",
|
|
"sameAs": [
|
|
"https://x.com/imdebdut"
|
|
]
|
|
},
|
|
"headline": "Complete Beginner's Guide to LVM in Linux [With Hands-on]",
|
|
"url": "https://linuxhandbook.com/lvm-guide/",
|
|
"datePublished": "2021-05-17T14:44:33.000Z",
|
|
"dateModified": "2025-01-02T05:17:57.000Z",
|
|
"image": {
|
|
"@type": "ImageObject",
|
|
"url": "https://linuxhandbook.com/content/images/2021/05/Linux-LVM-Guide.jpg",
|
|
"width": 800,
|
|
"height": 450
|
|
},
|
|
"keywords": "Guides",
|
|
"description": "Everything necessary you need to know and learn about the logical volume management in Linux.",
|
|
"mainEntityOfPage": "https://linuxhandbook.com/lvm-guide/"
|
|
}
|
|
</script>
|
|
|
|
<meta name="generator" content="Ghost 6.0">
|
|
<link rel="alternate" type="application/rss+xml" title="Linux Handbook" href="https://linuxhandbook.com/lvm-guide/">
|
|
<script defer="" src="./Complete Beginner's Guide to LVM in Linux [With Hands-on]_files/portal.min.js.download" data-i18n="true" data-ghost="https://linuxhandbook.com/" data-key="8b9deb200a68e07efbb9794a5a" data-api="https://linuxhandbook.com/ghost/api/content/" data-locale="en" data-members-signin-otc="false" crossorigin="anonymous"></script><style id="gh-members-styles">.gh-post-upgrade-cta-content,
|
|
.gh-post-upgrade-cta {
|
|
display: flex;
|
|
flex-direction: column;
|
|
align-items: center;
|
|
font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif;
|
|
text-align: center;
|
|
width: 100%;
|
|
color: #ffffff;
|
|
font-size: 16px;
|
|
}
|
|
|
|
.gh-post-upgrade-cta-content {
|
|
border-radius: 8px;
|
|
padding: 40px 4vw;
|
|
}
|
|
|
|
.gh-post-upgrade-cta h2 {
|
|
color: #ffffff;
|
|
font-size: 28px;
|
|
letter-spacing: -0.2px;
|
|
margin: 0;
|
|
padding: 0;
|
|
}
|
|
|
|
.gh-post-upgrade-cta p {
|
|
margin: 20px 0 0;
|
|
padding: 0;
|
|
}
|
|
|
|
.gh-post-upgrade-cta small {
|
|
font-size: 16px;
|
|
letter-spacing: -0.2px;
|
|
}
|
|
|
|
.gh-post-upgrade-cta a {
|
|
color: #ffffff;
|
|
cursor: pointer;
|
|
font-weight: 500;
|
|
box-shadow: none;
|
|
text-decoration: underline;
|
|
}
|
|
|
|
.gh-post-upgrade-cta a:hover {
|
|
color: #ffffff;
|
|
opacity: 0.8;
|
|
box-shadow: none;
|
|
text-decoration: underline;
|
|
}
|
|
|
|
.gh-post-upgrade-cta a.gh-btn {
|
|
display: block;
|
|
background: #ffffff;
|
|
text-decoration: none;
|
|
margin: 28px 0 0;
|
|
padding: 8px 18px;
|
|
border-radius: 4px;
|
|
font-size: 16px;
|
|
font-weight: 600;
|
|
}
|
|
|
|
.gh-post-upgrade-cta a.gh-btn:hover {
|
|
opacity: 0.92;
|
|
}</style><script async="" src="./Complete Beginner's Guide to LVM in Linux [With Hands-on]_files/saved_resource"></script>
|
|
|
|
<link href="https://linuxhandbook.com/webmentions/receive/" rel="webmention">
|
|
<script defer="" src="./Complete Beginner's Guide to LVM in Linux [With Hands-on]_files/cards.min.js.download"></script>
|
|
<link rel="stylesheet" type="text/css" href="./Complete Beginner's Guide to LVM in Linux [With Hands-on]_files/cards.min.css">
|
|
<script defer="" src="./Complete Beginner's Guide to LVM in Linux [With Hands-on]_files/comment-counts.min.js.download" data-ghost-comments-counts-api="https://linuxhandbook.com/members/api/comments/counts/"></script>
|
|
<script defer="" src="./Complete Beginner's Guide to LVM in Linux [With Hands-on]_files/member-attribution.min.js.download"></script><style>:root {--ghost-accent-color: #a52c5b;}</style>
|
|
<!-- Custom inline code styles -->
|
|
<style>
|
|
.content code::before,
|
|
.content code::after {
|
|
content: "";
|
|
}
|
|
|
|
.content code {
|
|
padding: 3px 6px;
|
|
border-radius: 4px;
|
|
font-weight: bold;
|
|
background-color: rgb(var(--color-gray-100, 241 245 249));
|
|
border: 1px solid rgb(var(--color-gray-900, 15 23 42) / 10%);
|
|
}
|
|
|
|
.dark .content code {
|
|
background-color: rgb(var(--color-gray-800, 30 41 59));
|
|
border-color: rgb(var(--color-gray-50, 248 250 252) / 10%);
|
|
}
|
|
|
|
/* Callout Cards */
|
|
.kg-callout-card:not(.kg-callout-card-white) code {
|
|
background-color: rgb(0 0 0 / 5%);
|
|
}
|
|
|
|
.kg-callout-card.kg-callout-card-accent code {
|
|
color: inherit;
|
|
}
|
|
|
|
/* Header Cards */
|
|
.kg-header-card.kg-style-dark code {
|
|
background-color: rgb(var(--color-gray-800, 30 41 59));
|
|
border-color: rgb(var(--color-gray-50, 248 250 252) / 10%);
|
|
}
|
|
|
|
.dark .kg-header-card.kg-style-dark code {<!-- This site is converting visitors into subscribers and customers with OptinMonster - https://optinmonster.com -->
|
|
<script>(function(d,u,ac){var s=d.createElement('script');s.type='text/javascript';s.src='https://a.omappapi.com/app/js/api.min.js';s.async=true;s.dataset.user=u;s.dataset.account=ac;d.getElementsByTagName('head')[0].appendChild(s);})(document,333364,352958);</script>
|
|
<!-- / https://optinmonster.com -->
|
|
background-color: rgb(var(--color-gray-100, 241 245 249));
|
|
border-color: rgb(var(--color-gray-900, 15 23 42) / 10%);
|
|
}
|
|
|
|
.kg-header-card.kg-style-accent code,
|
|
.kg-header-card.kg-style-image code {
|
|
background-color: rgb(0 0 0 / 10%);
|
|
border-color: rgb(0 0 0 / 15%);
|
|
color: inherit;
|
|
}
|
|
|
|
/* Signup Cards */
|
|
.kg-signup-card code {
|
|
color: inherit;
|
|
}
|
|
|
|
.kg-signup-card.kg-style-accent code,
|
|
.kg-signup-card picture ~ .kg-signup-card-content code {
|
|
background-color: rgb(0 0 0 / 10%);
|
|
border-color: rgb(0 0 0 / 15%);
|
|
color: inherit;
|
|
}
|
|
|
|
.kg-signup-card[style*="background-color: rgb(0, 0, 0)"] code {
|
|
background-color: rgb(var(--color-gray-800, 30 41 59));
|
|
border-color: rgb(var(--color-gray-50, 248 250 252) / 10%);
|
|
color: inherit;
|
|
}
|
|
|
|
.dark .kg-signup-card[style*="background-color: rgb(0, 0, 0)"] code {
|
|
background-color: rgb(var(--color-gray-100, 241 245 249));
|
|
border-color: rgb(var(--color-gray-900, 15 23 42) / 10%);
|
|
color: inherit;
|
|
}
|
|
</style>
|
|
<!-- /Custom inline code styles -->
|
|
|
|
<!-- Umami analytics -->
|
|
<script defer="" src="./Complete Beginner's Guide to LVM in Linux [With Hands-on]_files/script.js.download" data-website-id="d08d21c1-5674-4609-999c-195fb274d137"></script>
|
|
|
|
<!-- Google tag (gtag.js) -->
|
|
<script async="" src="https://www.googletagmanager.com/gtag/js?id=G-N5BXCDY8VW"></script>
|
|
<script>
|
|
window.dataLayer = window.dataLayer || [];
|
|
function gtag(){dataLayer.push(arguments);}
|
|
gtag('js', new Date());
|
|
|
|
gtag('config', 'G-N5BXCDY8VW');
|
|
</script>
|
|
|
|
|
|
<script defer="" src="./Complete Beginner's Guide to LVM in Linux [With Hands-on]_files/ghost-stats.min.js.download" data-stringify-payload="false" data-datasource="analytics_events" data-storage="localStorage" data-host="https://linuxhandbook.com/.ghost/analytics/api/v1/page_hit" tb_site_uuid="25e70341-8698-4a5e-b7ee-0c8e90d6ad95" tb_post_uuid="f11fdbbc-4e17-4faa-a485-f9eb54c3a758" tb_post_type="post" tb_member_uuid="undefined" tb_member_status="undefined"></script>
|
|
|
|
|
|
|
|
<script type="text/javascript">
|
|
var ezoTemplate = 'pub_site';
|
|
var ezouid = '1';
|
|
var ezoFormfactor = '1';
|
|
</script><script data-ezscrex="false" type="text/javascript">
|
|
var soc_app_id = '0';
|
|
var did = 630458;
|
|
var ezdomain = 'linuxhandbook.com';
|
|
var ezoicSearchable = 1;
|
|
</script><script type="text/javascript">var cmpIsOn = true;</script><script src="./Complete Beginner's Guide to LVM in Linux [With Hands-on]_files/mulvane.js.download" async=""></script><script src="./Complete Beginner's Guide to LVM in Linux [With Hands-on]_files/birmingham.js.download" async=""></script><script type="text/javascript" src="./Complete Beginner's Guide to LVM in Linux [With Hands-on]_files/api.min.js.download" async="" data-user="333364" data-account="352958"></script><script src="./Complete Beginner's Guide to LVM in Linux [With Hands-on]_files/indy.js.download" async=""></script><style>#reward-se-plugin {
|
|
all: initial !important;
|
|
}
|
|
|
|
.reward-plugin-loginpage-container {
|
|
position: fixed !important;
|
|
top: 20px !important;
|
|
right: 20px !important;
|
|
width: 300px !important;
|
|
background-color: #000 !important;
|
|
color: #fff !important;
|
|
border-radius: 10px !important;
|
|
box-shadow: 0 4px 8px rgba(0, 0, 0, 0.5) !important;
|
|
padding: 20px !important;
|
|
z-index: 9999 !important;
|
|
font-family: Arial, sans-serif !important;
|
|
}
|
|
|
|
.reward-plugin-close-button {
|
|
all: initial !important;
|
|
position: absolute !important;
|
|
background: none !important;
|
|
border: none !important;
|
|
color: #fff !important;
|
|
font-size: 18px !important;
|
|
cursor: pointer !important;
|
|
}
|
|
|
|
.reward-plugin-close-button:hover {
|
|
all: initial !important;
|
|
color: red !important;
|
|
cursor: pointer !important;
|
|
}
|
|
|
|
.reward-plugin-logo-container {
|
|
text-align: center !important;
|
|
margin-bottom: 20px !important;
|
|
display: flex;
|
|
justify-content: center;
|
|
align-items: center;
|
|
}
|
|
|
|
.reward-plugin-logo {
|
|
max-width: 80% !important;
|
|
height: auto !important;
|
|
}
|
|
|
|
.reward-plugin-description {
|
|
font-size: 14px !important;
|
|
margin-bottom: 20px !important;
|
|
text-align: center !important;
|
|
}
|
|
|
|
.reward-plugin-input-field {
|
|
width: 90% !important;
|
|
padding: 8px !important;
|
|
margin: 10px auto !important;
|
|
display: block !important;
|
|
border: 1px solid #555 !important;
|
|
border-radius: 5px !important;
|
|
background-color: #222 !important;
|
|
color: #fff !important;
|
|
box-shadow: none !important;
|
|
}
|
|
|
|
.reward-plugin-input-field::placeholder {
|
|
color: #aaa !important;
|
|
}
|
|
|
|
.reward-plugin-login-button {
|
|
all: initial !important;
|
|
width: 90% !important;
|
|
padding: 10px !important;
|
|
margin: 15px auto 0 !important;
|
|
display: block !important;
|
|
background-color: #ff9900 !important;
|
|
color: #000 !important;
|
|
border: none !important;
|
|
border-radius: 5px !important;
|
|
font-size: 14px !important;
|
|
font-weight: bold !important;
|
|
cursor: pointer !important;
|
|
text-align: center !important;
|
|
font-family: Arial, sans-serif !important;
|
|
}
|
|
|
|
.reward-plugin-login-button:hover {
|
|
background-color: #ffcc00 !important;
|
|
}
|
|
|
|
.reward-plugin-login-button::after {
|
|
all: initial !important;
|
|
}
|
|
|
|
.reward-plugin-error-message {
|
|
font-size: 12px !important;
|
|
color: red !important;
|
|
text-align: center !important;
|
|
margin-top: 10px !important;
|
|
}
|
|
|
|
.reward-plugin-close-button-section {
|
|
height: 15px !important;
|
|
display: flex !important;
|
|
justify-content: end !important;
|
|
}</style><style>#reward-se-plugin {
|
|
all: initial !important;
|
|
}
|
|
|
|
.reward-plugin-activate-cashback-container {
|
|
position: fixed !important;
|
|
top: 20px !important;
|
|
right: 20px !important;
|
|
width: 300px !important;
|
|
background-color: #000 !important;
|
|
color: #fff !important;
|
|
border-radius: 10px !important;
|
|
box-shadow: 0 4px 8px rgba(0, 0, 0, 0.5) !important;
|
|
padding: 20px !important;
|
|
z-index: 9999 !important;
|
|
font-family: Arial, sans-serif !important;
|
|
}
|
|
|
|
.reward-plugin-close-button {
|
|
all: initial !important;
|
|
position: absolute !important;
|
|
background: none !important;
|
|
border: none !important;
|
|
color: #fff !important;
|
|
font-size: 18px !important;
|
|
cursor: pointer !important;
|
|
}
|
|
|
|
.reward-plugin-close-button:hover {
|
|
all: initial !important;
|
|
color: red !important;
|
|
cursor: pointer !important;
|
|
}
|
|
|
|
.reward-plugin-logo-container {
|
|
text-align: center !important;
|
|
margin-bottom: 20px !important;
|
|
display: flex;
|
|
justify-content: center;
|
|
align-items: center;
|
|
}
|
|
|
|
.reward-plugin-logo {
|
|
max-width: 80% !important;
|
|
height: auto !important;
|
|
}
|
|
|
|
.reward-plugin-description {
|
|
font-size: 14px !important;
|
|
margin-bottom: 20px !important;
|
|
text-align: center !important;
|
|
}
|
|
|
|
.reward-plugin-activate-button {
|
|
all: initial !important;
|
|
width: 90% !important;
|
|
padding: 10px !important;
|
|
margin: 15px auto 0 !important;
|
|
display: block !important;
|
|
background-color: #ff9900 !important;
|
|
color: #000 !important;
|
|
border: none !important;
|
|
border-radius: 5px !important;
|
|
font-size: 14px !important;
|
|
font-weight: bold !important;
|
|
cursor: pointer !important;
|
|
text-align: center !important;
|
|
font-family: Arial, sans-serif !important;
|
|
}
|
|
|
|
.reward-plugin-activate-button:hover {
|
|
background-color: #ffcc00 !important;
|
|
}
|
|
|
|
.reward-plugin-activate-button::after {
|
|
all: initial !important;
|
|
}
|
|
|
|
.reward-plugin-close-button-section {
|
|
height: 15px !important;
|
|
display: flex !important;
|
|
justify-content: end !important;
|
|
}</style><style>#reward-se-plugin {
|
|
all: initial !important;
|
|
}
|
|
|
|
.reward-plugin-finalpage-container {
|
|
position: fixed !important;
|
|
top: 20px !important;
|
|
right: 20px !important;
|
|
width: 300px !important;
|
|
background-color: #000 !important;
|
|
color: #fff !important;
|
|
border-radius: 10px !important;
|
|
box-shadow: 0 4px 8px rgba(0, 0, 0, 0.5) !important;
|
|
padding: 20px !important;
|
|
z-index: 9999 !important;
|
|
font-family: Arial, sans-serif !important;
|
|
}
|
|
|
|
.reward-plugin-close-button {
|
|
all: initial !important;
|
|
position: absolute !important;
|
|
background: none !important;
|
|
border: none !important;
|
|
color: #fff !important;
|
|
font-size: 18px !important;
|
|
cursor: pointer !important;
|
|
}
|
|
|
|
.reward-plugin-close-button:hover {
|
|
all: initial !important;
|
|
color: red !important;
|
|
cursor: pointer !important;
|
|
}
|
|
|
|
.reward-plugin-logo-container {
|
|
text-align: center !important;
|
|
margin-bottom: 20px !important;
|
|
display: flex;
|
|
justify-content: center;
|
|
align-items: center;
|
|
}
|
|
|
|
.reward-plugin-logo {
|
|
max-width: 80% !important;
|
|
height: auto !important;
|
|
}
|
|
|
|
.reward-plugin-success-message {
|
|
font-size: 16px !important;
|
|
text-align: center !important;
|
|
margin-bottom: 20px !important;
|
|
font-weight: bold !important;
|
|
}
|
|
|
|
.reward-plugin-divider {
|
|
border: 0.5px solid #555 !important;
|
|
margin: 10px 0 !important;
|
|
}
|
|
|
|
.reward-plugin-terms-header {
|
|
font-size: 14px !important;
|
|
font-weight: bold !important;
|
|
margin-bottom: 10px !important;
|
|
}
|
|
|
|
.reward-plugin-terms-list {
|
|
list-style: none !important;
|
|
padding: 0 !important;
|
|
margin: 0 0 20px 0 !important;
|
|
font-size: 12px !important;
|
|
}
|
|
|
|
.reward-plugin-terms-list li {
|
|
margin-bottom: 8px !important;
|
|
position: relative !important;
|
|
padding-left: 20px !important;
|
|
}
|
|
|
|
.reward-plugin-terms-list li:before {
|
|
content: "•" !important;
|
|
position: absolute !important;
|
|
left: 0 !important;
|
|
color: #ff9900 !important;
|
|
}
|
|
|
|
.reward-plugin-terms-list a {
|
|
color: #ff9900 !important;
|
|
text-decoration: underline !important;
|
|
}
|
|
|
|
.reward-plugin-terms-list a:hover {
|
|
color: #ffcc00 !important;
|
|
}
|
|
|
|
.reward-plugin-close-button-section {
|
|
height: 15px !important;
|
|
display: flex !important;
|
|
justify-content: end !important;
|
|
}</style><link rel="stylesheet" href="./Complete Beginner's Guide to LVM in Linux [With Hands-on]_files/api.min.css" id="omapi-css" media="all"></head>
|
|
<body class="post-template tag-guides min-h-dvh antialiased overflow-x-hidden text-gray-500 bg-background dark:text-gray-400 dark:bg-background-dark [&.has-modal]:h-dvh [&.has-modal]:overflow-hidden"><script>var ezCmpChangeLogId=2455014;var ezCmpCacheBusterId=445</script><script src="./Complete Beginner's Guide to LVM in Linux [With Hands-on]_files/cmp.js.download" id="cmpjs" async="true"></script>
|
|
<div id="sx-tone" class=" hidden fixed z-4999999 inset-0 bg-primary opacity-3 dark:opacity-5 pointer-events-none"></div>
|
|
|
|
<div id="sx-spotlights" class="absolute z-50 inset-0 overflow-x-hidden pointer-events-none" aria-hidden="true">
|
|
<div class="absolute z-50 top-0 left-0 -translate-y-1/2 -rotate-45 opacity-30 blur-2xl" aria-hidden="true">
|
|
<svg class="w-14 h-[1000px] text-gray-700 dark:text-gray-300" width="57" height="876" viewBox="0 0 57 876" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
<path fill="url(#paint0_linear_1014_869)" fill-rule="evenodd" clip-rule="evenodd" d="M56.1277 0.221222H0.127686V500.221H0.147339L28.1438 875.221L56.1401 500.221H56.1277V0.221222Z"></path>
|
|
<defs>
|
|
<lineargradient id="paint0_linear_1014_869" x1="28.1339" y1="0.221222" x2="28.1339" y2="875.221" gradientUnits="userSpaceOnUse">
|
|
<stop stop-color="white"></stop>
|
|
<stop offset="1" stop-color="currentColor"></stop>
|
|
</lineargradient>
|
|
</defs>
|
|
</svg>
|
|
</div>
|
|
<div class="absolute z-50 top-0 left-16 -translate-y-2/3 -rotate-45 opacity-30 blur-xl" aria-hidden="true">
|
|
<svg class="w-14 h-[1000px] text-gray-700 dark:text-gray-300" width="57" height="876" viewBox="0 0 57 876" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
<path fill="url(#paint0_linear_1014_869)" fill-rule="evenodd" clip-rule="evenodd" d="M56.1277 0.221222H0.127686V500.221H0.147339L28.1438 875.221L56.1401 500.221H56.1277V0.221222Z"></path>
|
|
</svg>
|
|
</div>
|
|
<div class="hidden xs:block absolute z-50 top-0 left-96 -translate-y-1/2 -rotate-45 opacity-30 blur-2xl" aria-hidden="true">
|
|
<svg class="w-14 h-[1000px] text-gray-700 dark:text-gray-300" width="57" height="876" viewBox="0 0 57 876" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
<path fill="url(#paint0_linear_1014_869)" fill-rule="evenodd" clip-rule="evenodd" d="M56.1277 0.221222H0.127686V500.221H0.147339L28.1438 875.221L56.1401 500.221H56.1277V0.221222Z"></path>
|
|
</svg>
|
|
</div>
|
|
</div>
|
|
|
|
|
|
<div id="sx-viewport" class="min-h-dvh flex flex-col">
|
|
<a href="https://linuxhandbook.com/lvm-guide/#sx-main" class="sr-only focus:not-sr-only focus-within:not-sr-only outline-hidden">
|
|
<span class="relative flex items-center justify-center w-full h-12 font-semibold text-gray-950 dark:text-gray-50 text-sm ring-3 ring-inset ring-accent">
|
|
Skip to main content
|
|
</span>
|
|
</a>
|
|
|
|
<header id="sx-header" class="sticky z-50 top-0 min-h-16 lg:h-16 flex flex-wrap flex-none items-center border-b border-transparent transition-colors duration-200 [&.stuck]:border-gray-950/5 [&.stuck]:bg-background/90 dark:[&.stuck]:border-gray-50/10 dark:[&.stuck]:bg-background-dark/70 stuck">
|
|
<nav class="outer xl:outer-xl flex items-center w-full py-1.5">
|
|
<div class="inner flex items-center min-h-10">
|
|
<a id="sx-header-brand" class="shrink me-4 xs:me-8 font-bold text-xl text-gray-950 dark:text-gray-50" href="https://linuxhandbook.com/" aria-label="Linux Handbook">
|
|
<img class="max-h-9 w-auto" src="./Complete Beginner's Guide to LVM in Linux [With Hands-on]_files/linux-handbook-cover.png" alt="Linux Handbook">
|
|
</a>
|
|
|
|
|
|
<ul id="sx-nav-lg" data-sx-nav="" class="hidden lg:flex ms-auto gap-2" role="list">
|
|
|
|
<li class="relative inline-flex nth-[n+8]:hidden max-xl:nth-[n+6]:hidden" data-sx-slug="latest-tutorials" data-sx-current="false">
|
|
|
|
<a href="https://linuxhandbook.com/latest/" data-sx-slug="latest-tutorials" class="
|
|
p-2 inline-flex items-center font-medium text-sm whitespace-nowrap transition-colors duration-200
|
|
text-gray-500 hover:text-gray-950 dark:text-gray-400 dark:hover:text-gray-50 from-gray-50 from-50%
|
|
[&.current]:text-gray-950 [&.current-parent]:text-gray-950 dark:[&.current]:text-transparent dark:[&.current-parent]:text-transparent
|
|
dark:[&.current]:bg-linear-to-br dark:[&.current]:bg-clip-text
|
|
dark:[&.current-parent]:bg-linear-to-br dark:[&.current-parent]:bg-clip-text
|
|
|
|
">
|
|
✨ Latest Tutorials
|
|
|
|
<svg class="[.sx-external>&]:inline hidden shrink-0 w-3 h-3 ms-0.5 -me-0.5" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" focusable="false" aria-hidden="true">
|
|
<path fill-rule="evenodd" d="M4.22 11.78a.75.75 0 0 1 0-1.06L9.44 5.5H5.75a.75.75 0 0 1 0-1.5h5.5a.75.75 0 0 1 .75.75v5.5a.75.75 0 0 1-1.5 0V6.56l-5.22 5.22a.75.75 0 0 1-1.06 0Z" clip-rule="evenodd"></path>
|
|
</svg>
|
|
</a>
|
|
</li>
|
|
|
|
<li class="relative inline-flex nth-[n+8]:hidden max-xl:nth-[n+6]:hidden" data-sx-slug="books" data-sx-current="false">
|
|
|
|
<a href="https://linuxhandbook.com/ebooks/" data-sx-slug="books" class="
|
|
p-2 inline-flex items-center font-medium text-sm whitespace-nowrap transition-colors duration-200
|
|
text-gray-500 hover:text-gray-950 dark:text-gray-400 dark:hover:text-gray-50 from-gray-50 from-50%
|
|
[&.current]:text-gray-950 [&.current-parent]:text-gray-950 dark:[&.current]:text-transparent dark:[&.current-parent]:text-transparent
|
|
dark:[&.current]:bg-linear-to-br dark:[&.current]:bg-clip-text
|
|
dark:[&.current-parent]:bg-linear-to-br dark:[&.current-parent]:bg-clip-text
|
|
|
|
">
|
|
📚 Books
|
|
|
|
<svg class="[.sx-external>&]:inline hidden shrink-0 w-3 h-3 ms-0.5 -me-0.5" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" focusable="false" aria-hidden="true">
|
|
<path fill-rule="evenodd" d="M4.22 11.78a.75.75 0 0 1 0-1.06L9.44 5.5H5.75a.75.75 0 0 1 0-1.5h5.5a.75.75 0 0 1 .75.75v5.5a.75.75 0 0 1-1.5 0V6.56l-5.22 5.22a.75.75 0 0 1-1.06 0Z" clip-rule="evenodd"></path>
|
|
</svg>
|
|
</a>
|
|
</li>
|
|
|
|
<li class="relative inline-flex nth-[n+8]:hidden max-xl:nth-[n+6]:hidden" data-sx-slug="courses" data-sx-current="false">
|
|
|
|
<a href="https://linuxhandbook.com/courses/" data-sx-slug="courses" class="
|
|
p-2 inline-flex items-center font-medium text-sm whitespace-nowrap transition-colors duration-200
|
|
text-gray-500 hover:text-gray-950 dark:text-gray-400 dark:hover:text-gray-50 from-gray-50 from-50%
|
|
[&.current]:text-gray-950 [&.current-parent]:text-gray-950 dark:[&.current]:text-transparent dark:[&.current-parent]:text-transparent
|
|
dark:[&.current]:bg-linear-to-br dark:[&.current]:bg-clip-text
|
|
dark:[&.current-parent]:bg-linear-to-br dark:[&.current-parent]:bg-clip-text
|
|
|
|
">
|
|
🎓 Courses
|
|
|
|
<svg class="[.sx-external>&]:inline hidden shrink-0 w-3 h-3 ms-0.5 -me-0.5" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" focusable="false" aria-hidden="true">
|
|
<path fill-rule="evenodd" d="M4.22 11.78a.75.75 0 0 1 0-1.06L9.44 5.5H5.75a.75.75 0 0 1 0-1.5h5.5a.75.75 0 0 1 .75.75v5.5a.75.75 0 0 1-1.5 0V6.56l-5.22 5.22a.75.75 0 0 1-1.06 0Z" clip-rule="evenodd"></path>
|
|
</svg>
|
|
</a>
|
|
</li>
|
|
|
|
<li class="relative inline-flex nth-[n+8]:hidden max-xl:nth-[n+6]:hidden" data-sx-slug="resources" data-sx-current="false">
|
|
|
|
<a href="https://linuxhandbook.com/learning-corner/" data-sx-slug="resources" class="
|
|
p-2 inline-flex items-center font-medium text-sm whitespace-nowrap transition-colors duration-200
|
|
text-gray-500 hover:text-gray-950 dark:text-gray-400 dark:hover:text-gray-50 from-gray-50 from-50%
|
|
[&.current]:text-gray-950 [&.current-parent]:text-gray-950 dark:[&.current]:text-transparent dark:[&.current-parent]:text-transparent
|
|
dark:[&.current]:bg-linear-to-br dark:[&.current]:bg-clip-text
|
|
dark:[&.current-parent]:bg-linear-to-br dark:[&.current-parent]:bg-clip-text
|
|
|
|
">
|
|
👩💻 Resources
|
|
|
|
<svg class="[.sx-external>&]:inline hidden shrink-0 w-3 h-3 ms-0.5 -me-0.5" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" focusable="false" aria-hidden="true">
|
|
<path fill-rule="evenodd" d="M4.22 11.78a.75.75 0 0 1 0-1.06L9.44 5.5H5.75a.75.75 0 0 1 0-1.5h5.5a.75.75 0 0 1 .75.75v5.5a.75.75 0 0 1-1.5 0V6.56l-5.22 5.22a.75.75 0 0 1-1.06 0Z" clip-rule="evenodd"></path>
|
|
</svg>
|
|
</a>
|
|
</li>
|
|
|
|
<li class="relative inline-flex nth-[n+8]:hidden max-xl:nth-[n+6]:hidden" data-sx-slug="newsletter" data-sx-current="false">
|
|
|
|
<a href="https://linuxhandbook.com/newsletter/" data-sx-slug="newsletter" class="
|
|
p-2 inline-flex items-center font-medium text-sm whitespace-nowrap transition-colors duration-200
|
|
text-gray-500 hover:text-gray-950 dark:text-gray-400 dark:hover:text-gray-50 from-gray-50 from-50%
|
|
[&.current]:text-gray-950 [&.current-parent]:text-gray-950 dark:[&.current]:text-transparent dark:[&.current-parent]:text-transparent
|
|
dark:[&.current]:bg-linear-to-br dark:[&.current]:bg-clip-text
|
|
dark:[&.current-parent]:bg-linear-to-br dark:[&.current-parent]:bg-clip-text
|
|
|
|
">
|
|
📬 Newsletter
|
|
|
|
<svg class="[.sx-external>&]:inline hidden shrink-0 w-3 h-3 ms-0.5 -me-0.5" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" focusable="false" aria-hidden="true">
|
|
<path fill-rule="evenodd" d="M4.22 11.78a.75.75 0 0 1 0-1.06L9.44 5.5H5.75a.75.75 0 0 1 0-1.5h5.5a.75.75 0 0 1 .75.75v5.5a.75.75 0 0 1-1.5 0V6.56l-5.22 5.22a.75.75 0 0 1-1.06 0Z" clip-rule="evenodd"></path>
|
|
</svg>
|
|
</a>
|
|
</li>
|
|
|
|
<li class="relative inline-flex nth-[n+8]:hidden max-xl:nth-[n+6]:hidden" data-sx-slug="who-we-are" data-sx-current="false">
|
|
|
|
<a href="https://linuxhandbook.com/about/" data-sx-slug="who-we-are" class="
|
|
p-2 inline-flex items-center font-medium text-sm whitespace-nowrap transition-colors duration-200
|
|
text-gray-500 hover:text-gray-950 dark:text-gray-400 dark:hover:text-gray-50 from-gray-50 from-50%
|
|
[&.current]:text-gray-950 [&.current-parent]:text-gray-950 dark:[&.current]:text-transparent dark:[&.current-parent]:text-transparent
|
|
dark:[&.current]:bg-linear-to-br dark:[&.current]:bg-clip-text
|
|
dark:[&.current-parent]:bg-linear-to-br dark:[&.current-parent]:bg-clip-text
|
|
|
|
">
|
|
🪪 Who we are?
|
|
|
|
<svg class="[.sx-external>&]:inline hidden shrink-0 w-3 h-3 ms-0.5 -me-0.5" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" focusable="false" aria-hidden="true">
|
|
<path fill-rule="evenodd" d="M4.22 11.78a.75.75 0 0 1 0-1.06L9.44 5.5H5.75a.75.75 0 0 1 0-1.5h5.5a.75.75 0 0 1 .75.75v5.5a.75.75 0 0 1-1.5 0V6.56l-5.22 5.22a.75.75 0 0 1-1.06 0Z" clip-rule="evenodd"></path>
|
|
</svg>
|
|
</a>
|
|
</li>
|
|
|
|
<li class="relative inline-flex xl:nth-[-n+8]:hidden max-xl:nth-[-n+6]:hidden">
|
|
<button id="sx-nav-more-toggle" data-sx-dropdown-toggle="" aria-label="Toggle menu" class="peer p-1.5 -ms-0.5 -me-2.5 text-gray-500 hover:text-gray-950 [&.open]:text-gray-950 transition-colors duration-200
|
|
dark:text-gray-400 dark:hover:text-gray-50 dark:[&.open]:text-gray-50
|
|
[&.current]:text-gray-950 [&.current-parent]:text-gray-950 dark:[&.current]:text-gray-50 dark:[&.current-parent]:text-gray-50
|
|
">
|
|
<svg class="relative top-px w-6 h-6" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none" stroke="currentColor" stroke-width="1.5" focusable="false" aria-hidden="true">
|
|
<path stroke-linecap="round" stroke-linejoin="round" d="M6.75 12a.75.75 0 11-1.5 0 .75.75 0 011.5 0zM12.75 12a.75.75 0 11-1.5 0 .75.75 0 011.5 0zM18.75 12a.75.75 0 11-1.5 0 .75.75 0 011.5 0z"></path>
|
|
</svg>
|
|
</button>
|
|
|
|
<ul data-sx-dropdown="" role="list" class="hidden peer-[.open]:block absolute z-50 top-14 -end-4 w-60 max-h-[calc(100vh-(--spacing(24)))]
|
|
overflow-y-auto backdrop-blur-sm bg-white/90 ring-1 ring-gray-900/5 shadow-pretty rounded-xl
|
|
dark:bg-background-dark/80 dark:ring-white/5 dark:ring-inset dark:shadow-lg dark:shadow-black/60
|
|
">
|
|
<li class="py-2 px-3 grid grid-cols-1 gap-1 dark:bg-white/5 rounded-inherit">
|
|
<div class="hidden nth-[n+8]:block max-xl:nth-[n+6]:block" data-sx-slug="latest-tutorials" data-sx-current="false">
|
|
|
|
<a href="https://linuxhandbook.com/latest/" data-sx-slug="latest-tutorials" class="px-3 py-2 w-full inline-block font-medium text-sm text-gray-500 hover:text-gray-950 transition-colors duration-200
|
|
dark:text-gray-400 dark:hover:text-gray-50 [&.current]:text-gray-950 [&.current-parent]:text-gray-950 dark:[&.current]:text-gray-50 dark:[&.current-parent]:text-gray-50
|
|
|
|
">
|
|
✨ Latest Tutorials<!--
|
|
--><svg class="[.sx-external>&]:inline hidden relative top-1 shrink-0 w-3 h-3 ms-0.5 -me-0.5 align-top" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" focusable="false" aria-hidden="true">
|
|
<path fill-rule="evenodd" d="M4.22 11.78a.75.75 0 0 1 0-1.06L9.44 5.5H5.75a.75.75 0 0 1 0-1.5h5.5a.75.75 0 0 1 .75.75v5.5a.75.75 0 0 1-1.5 0V6.56l-5.22 5.22a.75.75 0 0 1-1.06 0Z" clip-rule="evenodd"></path>
|
|
</svg>
|
|
|
|
</a>
|
|
</div>
|
|
<div class="hidden nth-[n+8]:block max-xl:nth-[n+6]:block" data-sx-slug="books" data-sx-current="false">
|
|
|
|
<a href="https://linuxhandbook.com/ebooks/" data-sx-slug="books" class="px-3 py-2 w-full inline-block font-medium text-sm text-gray-500 hover:text-gray-950 transition-colors duration-200
|
|
dark:text-gray-400 dark:hover:text-gray-50 [&.current]:text-gray-950 [&.current-parent]:text-gray-950 dark:[&.current]:text-gray-50 dark:[&.current-parent]:text-gray-50
|
|
|
|
">
|
|
📚 Books<!--
|
|
--><svg class="[.sx-external>&]:inline hidden relative top-1 shrink-0 w-3 h-3 ms-0.5 -me-0.5 align-top" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" focusable="false" aria-hidden="true">
|
|
<path fill-rule="evenodd" d="M4.22 11.78a.75.75 0 0 1 0-1.06L9.44 5.5H5.75a.75.75 0 0 1 0-1.5h5.5a.75.75 0 0 1 .75.75v5.5a.75.75 0 0 1-1.5 0V6.56l-5.22 5.22a.75.75 0 0 1-1.06 0Z" clip-rule="evenodd"></path>
|
|
</svg>
|
|
|
|
</a>
|
|
</div>
|
|
<div class="hidden nth-[n+8]:block max-xl:nth-[n+6]:block" data-sx-slug="courses" data-sx-current="false">
|
|
|
|
<a href="https://linuxhandbook.com/courses/" data-sx-slug="courses" class="px-3 py-2 w-full inline-block font-medium text-sm text-gray-500 hover:text-gray-950 transition-colors duration-200
|
|
dark:text-gray-400 dark:hover:text-gray-50 [&.current]:text-gray-950 [&.current-parent]:text-gray-950 dark:[&.current]:text-gray-50 dark:[&.current-parent]:text-gray-50
|
|
|
|
">
|
|
🎓 Courses<!--
|
|
--><svg class="[.sx-external>&]:inline hidden relative top-1 shrink-0 w-3 h-3 ms-0.5 -me-0.5 align-top" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" focusable="false" aria-hidden="true">
|
|
<path fill-rule="evenodd" d="M4.22 11.78a.75.75 0 0 1 0-1.06L9.44 5.5H5.75a.75.75 0 0 1 0-1.5h5.5a.75.75 0 0 1 .75.75v5.5a.75.75 0 0 1-1.5 0V6.56l-5.22 5.22a.75.75 0 0 1-1.06 0Z" clip-rule="evenodd"></path>
|
|
</svg>
|
|
|
|
</a>
|
|
</div>
|
|
<div class="hidden nth-[n+8]:block max-xl:nth-[n+6]:block" data-sx-slug="resources" data-sx-current="false">
|
|
|
|
<a href="https://linuxhandbook.com/learning-corner/" data-sx-slug="resources" class="px-3 py-2 w-full inline-block font-medium text-sm text-gray-500 hover:text-gray-950 transition-colors duration-200
|
|
dark:text-gray-400 dark:hover:text-gray-50 [&.current]:text-gray-950 [&.current-parent]:text-gray-950 dark:[&.current]:text-gray-50 dark:[&.current-parent]:text-gray-50
|
|
|
|
">
|
|
👩💻 Resources<!--
|
|
--><svg class="[.sx-external>&]:inline hidden relative top-1 shrink-0 w-3 h-3 ms-0.5 -me-0.5 align-top" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" focusable="false" aria-hidden="true">
|
|
<path fill-rule="evenodd" d="M4.22 11.78a.75.75 0 0 1 0-1.06L9.44 5.5H5.75a.75.75 0 0 1 0-1.5h5.5a.75.75 0 0 1 .75.75v5.5a.75.75 0 0 1-1.5 0V6.56l-5.22 5.22a.75.75 0 0 1-1.06 0Z" clip-rule="evenodd"></path>
|
|
</svg>
|
|
|
|
</a>
|
|
</div>
|
|
<div class="hidden nth-[n+8]:block max-xl:nth-[n+6]:block" data-sx-slug="newsletter" data-sx-current="false">
|
|
|
|
<a href="https://linuxhandbook.com/newsletter/" data-sx-slug="newsletter" class="px-3 py-2 w-full inline-block font-medium text-sm text-gray-500 hover:text-gray-950 transition-colors duration-200
|
|
dark:text-gray-400 dark:hover:text-gray-50 [&.current]:text-gray-950 [&.current-parent]:text-gray-950 dark:[&.current]:text-gray-50 dark:[&.current-parent]:text-gray-50
|
|
|
|
">
|
|
📬 Newsletter<!--
|
|
--><svg class="[.sx-external>&]:inline hidden relative top-1 shrink-0 w-3 h-3 ms-0.5 -me-0.5 align-top" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" focusable="false" aria-hidden="true">
|
|
<path fill-rule="evenodd" d="M4.22 11.78a.75.75 0 0 1 0-1.06L9.44 5.5H5.75a.75.75 0 0 1 0-1.5h5.5a.75.75 0 0 1 .75.75v5.5a.75.75 0 0 1-1.5 0V6.56l-5.22 5.22a.75.75 0 0 1-1.06 0Z" clip-rule="evenodd"></path>
|
|
</svg>
|
|
|
|
</a>
|
|
</div>
|
|
<div class="hidden nth-[n+8]:block max-xl:nth-[n+6]:block" data-sx-slug="who-we-are" data-sx-current="false">
|
|
|
|
<a href="https://linuxhandbook.com/about/" data-sx-slug="who-we-are" class="px-3 py-2 w-full inline-block font-medium text-sm text-gray-500 hover:text-gray-950 transition-colors duration-200
|
|
dark:text-gray-400 dark:hover:text-gray-50 [&.current]:text-gray-950 [&.current-parent]:text-gray-950 dark:[&.current]:text-gray-50 dark:[&.current-parent]:text-gray-50
|
|
|
|
">
|
|
🪪 Who we are?<!--
|
|
--><svg class="[.sx-external>&]:inline hidden relative top-1 shrink-0 w-3 h-3 ms-0.5 -me-0.5 align-top" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" focusable="false" aria-hidden="true">
|
|
<path fill-rule="evenodd" d="M4.22 11.78a.75.75 0 0 1 0-1.06L9.44 5.5H5.75a.75.75 0 0 1 0-1.5h5.5a.75.75 0 0 1 .75.75v5.5a.75.75 0 0 1-1.5 0V6.56l-5.22 5.22a.75.75 0 0 1-1.06 0Z" clip-rule="evenodd"></path>
|
|
</svg>
|
|
|
|
</a>
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</li>
|
|
</ul>
|
|
|
|
|
|
|
|
|
|
<div id="sx-header-buttons" class="flex flex-row-reverse items-center ms-auto gap-3.5 xs:flex-row lg:me-0 lg:ps-4 lg:pe-0 lg:gap-4 border-gray-950/10 dark:border-gray-50/15
|
|
me-3.5 xs:pe-3.5 lg:ms-4 xs:border-e lg:border-e-0 lg:border-s
|
|
">
|
|
<button data-sx-theme-toggle="" title="Change theme" aria-label="Change theme" class="flex-none p-1.5 -mx-1.5 text-gray-500 hover:text-gray-950 dark:text-gray-400 dark:hover:text-gray-50 transition-colors">
|
|
<svg class="dark:hidden w-5 h-5" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none" stroke="currentColor" stroke-width="2" focusable="false" aria-hidden="true">
|
|
<path stroke-linecap="round" stroke-linejoin="round" d="M12 3v1m0 16v1m9-9h-1M4 12H3m15.364 6.364l-.707-.707M6.343 6.343l-.707-.707m12.728 0l-.707.707M6.343 17.657l-.707.707M16 12a4 4 0 11-8 0 4 4 0 018 0z"></path>
|
|
</svg>
|
|
<svg class="hidden dark:block w-5 h-5" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" focusable="false" aria-hidden="true">
|
|
<path stroke="none" d="M0 0h24v24H0z" fill="none"></path>
|
|
<path d="M12 3c.132 0 .263 0 .393 0a7.5 7.5 0 0 0 7.92 12.446a9 9 0 1 1 -8.313 -12.454z"></path>
|
|
<path d="M17 4a2 2 0 0 0 2 2a2 2 0 0 0 -2 2a2 2 0 0 0 -2 -2a2 2 0 0 0 2 -2"></path>
|
|
</svg> </button>
|
|
|
|
<button data-ghost-search="" title="Quick search..." aria-label="Quick search..." class="flex-none p-1.5 -mx-1.5 text-gray-500 hover:text-gray-950 dark:text-gray-400 dark:hover:text-gray-50 transition-colors">
|
|
<svg class="w-5 h-5" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" focusable="false" aria-hidden="true">
|
|
<circle cx="11" cy="11" r="8"></circle>
|
|
<line x1="21" y1="21" x2="16.65" y2="16.65"></line>
|
|
</svg> </button>
|
|
|
|
<button data-portal="signin" class="hidden xs:block py-1.5 font-medium text-sm whitespace-nowrap text-gray-500 hover:text-gray-950 dark:text-gray-400 dark:hover:text-gray-50 transition-colors duration-200 gh-portal-close">
|
|
Sign In
|
|
</button>
|
|
|
|
<button data-portal="signup" class="relative inline-flex justify-center items-center px-4 py-2.5 rounded-full border border-transparent font-medium text-sm leading-none bg-primary shadow-primary text-primary-contrast hover:opacity-80 transition-opacity duration-200 from-gray-50 from-50% dark:border-gray-50/10 dark:bg-transparent dark:bg-linear-to-br dark:bg-clip-text dark:text-transparent dark:shadow-none dark:hover:opacity-100 gh-portal-close">
|
|
<span> Subscribe </span>
|
|
|
|
<span class="hidden dark:block absolute -inset-px -z-10 rounded-full bg-linear-to-br from-white from-0% to-30%"></span>
|
|
<span class="hidden dark:block not-supports-relative-colors:hidden! absolute -inset-px -z-10 rounded-full drop-shadow-white-sm animation-state-paused [:hover>&]:animation-state-running opacity-0 [:hover>&]:opacity-100 transition-opacity duration-500">
|
|
<span class="absolute inset-0 rounded-full -z-10 transition-opacity duration-500 bg-conic-white-sm animate-rotate-angle animation-state-inherit"></span>
|
|
</span>
|
|
<span class="hidden dark:block absolute inset-0 -z-10 rounded-full bg-background-dark"></span>
|
|
<span class="hidden dark:block absolute -inset-px -z-10 rounded-full bg-radial-[90%_90%_at_0%_0%] from-white transition-opacity duration-1000 opacity-25 [:hover>&]:opacity-40"></span>
|
|
</button>
|
|
</div>
|
|
|
|
<button id="sx-mobile-menu-toggle" class="lg:hidden p-1.5 -mx-2 flex-none flex items-center justify-center
|
|
|
|
" title="Toggle menu" aria-label="Toggle menu">
|
|
|
|
<svg class="w-5 h-5 text-gray-500 hover:text-gray-950 dark:text-gray-400 dark:hover:text-gray-50 -rotate-180 transition-colors duration-200" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" width="20" height="20" fill="currentColor" focusable="false" aria-hidden="true">
|
|
<path fill-rule="evenodd" d="M2 4.75A.75.75 0 0 1 2.75 4h14.5a.75.75 0 0 1 0 1.5H2.75A.75.75 0 0 1 2 4.75Zm0 10.5a.75.75 0 0 1 .75-.75h14.5a.75.75 0 0 1 0 1.5H2.75a.75.75 0 0 1-.75-.75ZM2 10a.75.75 0 0 1 .75-.75h7.5a.75.75 0 0 1 0 1.5h-7.5A.75.75 0 0 1 2 10Z" clip-rule="evenodd"></path>
|
|
</svg>
|
|
</button>
|
|
</div>
|
|
</nav>
|
|
|
|
<div data-sx-breadcrumbs="" class="outer xl:outer-xl hidden relative top-px lg:[.has-breadcrumbs>&]:hidden [.has-breadcrumbs>&]:flex items-center w-full h-10 text-2xs border-y border-gray-950/5 dark:border-gray-50/5">
|
|
<div class="inner flex items-center">
|
|
<button data-sx-breadcrumbs-button="" class="flex items-center overflow-hidden min-w-0 w-full" aria-label="Toggle menu">
|
|
<span class="flex-none flex items-center justify-center h-8 w-8 -ms-2 me-0.5">
|
|
|
|
<svg class="flex-none h-5 w-5 text-gray-500 hover:text-gray-950 dark:text-gray-400 dark:hover:text-gray-50 transition-colors" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" width="20" height="20" fill="currentColor" focusable="false" aria-hidden="true">
|
|
<path fill-rule="evenodd" d="M2 4.75A.75.75 0 0 1 2.75 4h14.5a.75.75 0 0 1 0 1.5H2.75A.75.75 0 0 1 2 4.75Zm0 10.5a.75.75 0 0 1 .75-.75h14.5a.75.75 0 0 1 0 1.5H2.75a.75.75 0 0 1-.75-.75ZM2 10a.75.75 0 0 1 .75-.75h7.5a.75.75 0 0 1 0 1.5h-7.5A.75.75 0 0 1 2 10Z" clip-rule="evenodd"></path>
|
|
</svg>
|
|
</span>
|
|
|
|
<span data-sx-breadcrumbs-section="" hidden="" class="inline-flex flex-none max-w-1/2 truncate text-gray-500 dark:text-gray-400">
|
|
<span data-sx-breadcrumbs-section-text="" class="truncate"></span>
|
|
<span class="mx-2">/</span>
|
|
</span>
|
|
<span data-sx-breadcrumbs-current="" hidden="" class="truncate font-medium text-gray-950 dark:text-gray-50"></span>
|
|
</button>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="hidden [.stuck>&]:block absolute inset-0 -z-50 backdrop-blur-sm"></div>
|
|
|
|
<div class="hidden dark:[.stuck>&]:block outer xl:outer-xl absolute -bottom-px start-0 w-full h-px pointer-events-none">
|
|
<div class="inner">
|
|
<div class="w-1/2 xs:w-1/3 md:w-1/4 lg:w-1/8 h-px bg-linear-to-r from-white/0 via-white/30 -translate-x-1/8"></div>
|
|
</div>
|
|
</div>
|
|
</header>
|
|
|
|
<nav id="sx-mobile-menu" class="invisible flex lg:hidden fixed inset-0 -z-10 [&.open]:visible [&.open]:z-3999999">
|
|
<div data-sx-mobile-menu-close="" class="fixed inset-0 bg-black/20 dark:bg-black/50 backdrop-blur-xs"></div>
|
|
|
|
<div class="fixed top-0 end-0 bottom-0 w-full max-w-xs shadow-lg bg-gray-50 dark:bg-gray-950 border-s border-gray-950/5 dark:border-gray-50/5 transition ease-out translate-x-full [.open>&]:translate-x-0 ">
|
|
<div class="relative ps-9 pe-16 pb-6 pt-14 h-full overflow-y-scroll overflow-x-hidden">
|
|
<button data-sx-mobile-menu-close="" aria-label="Close" class="fixed flex items-center justify-center top-4 end-3 p-2 text-gray-400 hover:text-gray-700 dark:hover:text-gray-200">
|
|
|
|
<svg class="h-5 w-5" style="" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" focusable="false" aria-hidden="true">
|
|
<path stroke="none" d="M0 0h24v24H0z" fill="none"></path>
|
|
<path d="M14 12l-10 0"></path>
|
|
<path d="M14 12l-4 4"></path>
|
|
<path d="M14 12l-4 -4"></path>
|
|
<path d="M20 4l0 16"></path>
|
|
</svg> </button>
|
|
|
|
<div class="grid grid-cols-1 min-h-full">
|
|
<ul id="sx-nav-sm" data-sx-nav="" class="flex flex-col space-y-2 -mx-3.5">
|
|
|
|
<li data-sx-slug="latest-tutorials" data-sx-current="false">
|
|
|
|
<a href="https://linuxhandbook.com/latest/" data-sx-slug="latest-tutorials" class="px-3 py-2 inline-block font-medium text-sm text-gray-500 hover:text-gray-950
|
|
dark:text-gray-400 dark:hover:text-gray-50 [&.current]:text-gray-950 [&.current-parent]:text-gray-950 dark:[&.current]:text-gray-50 dark:[&.current-parent]:text-gray-50
|
|
|
|
">
|
|
✨ Latest Tutorials<!--
|
|
--><svg class="[.sx-external>&]:inline hidden relative top-1 shrink-0 w-3 h-3 ms-0.5 -me-0.5 align-top" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" focusable="false" aria-hidden="true">
|
|
<path fill-rule="evenodd" d="M4.22 11.78a.75.75 0 0 1 0-1.06L9.44 5.5H5.75a.75.75 0 0 1 0-1.5h5.5a.75.75 0 0 1 .75.75v5.5a.75.75 0 0 1-1.5 0V6.56l-5.22 5.22a.75.75 0 0 1-1.06 0Z" clip-rule="evenodd"></path>
|
|
</svg>
|
|
|
|
</a>
|
|
</li>
|
|
|
|
<li data-sx-slug="books" data-sx-current="false">
|
|
|
|
<a href="https://linuxhandbook.com/ebooks/" data-sx-slug="books" class="px-3 py-2 inline-block font-medium text-sm text-gray-500 hover:text-gray-950
|
|
dark:text-gray-400 dark:hover:text-gray-50 [&.current]:text-gray-950 [&.current-parent]:text-gray-950 dark:[&.current]:text-gray-50 dark:[&.current-parent]:text-gray-50
|
|
|
|
">
|
|
📚 Books<!--
|
|
--><svg class="[.sx-external>&]:inline hidden relative top-1 shrink-0 w-3 h-3 ms-0.5 -me-0.5 align-top" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" focusable="false" aria-hidden="true">
|
|
<path fill-rule="evenodd" d="M4.22 11.78a.75.75 0 0 1 0-1.06L9.44 5.5H5.75a.75.75 0 0 1 0-1.5h5.5a.75.75 0 0 1 .75.75v5.5a.75.75 0 0 1-1.5 0V6.56l-5.22 5.22a.75.75 0 0 1-1.06 0Z" clip-rule="evenodd"></path>
|
|
</svg>
|
|
|
|
</a>
|
|
</li>
|
|
|
|
<li data-sx-slug="courses" data-sx-current="false">
|
|
|
|
<a href="https://linuxhandbook.com/courses/" data-sx-slug="courses" class="px-3 py-2 inline-block font-medium text-sm text-gray-500 hover:text-gray-950
|
|
dark:text-gray-400 dark:hover:text-gray-50 [&.current]:text-gray-950 [&.current-parent]:text-gray-950 dark:[&.current]:text-gray-50 dark:[&.current-parent]:text-gray-50
|
|
|
|
">
|
|
🎓 Courses<!--
|
|
--><svg class="[.sx-external>&]:inline hidden relative top-1 shrink-0 w-3 h-3 ms-0.5 -me-0.5 align-top" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" focusable="false" aria-hidden="true">
|
|
<path fill-rule="evenodd" d="M4.22 11.78a.75.75 0 0 1 0-1.06L9.44 5.5H5.75a.75.75 0 0 1 0-1.5h5.5a.75.75 0 0 1 .75.75v5.5a.75.75 0 0 1-1.5 0V6.56l-5.22 5.22a.75.75 0 0 1-1.06 0Z" clip-rule="evenodd"></path>
|
|
</svg>
|
|
|
|
</a>
|
|
</li>
|
|
|
|
<li data-sx-slug="resources" data-sx-current="false">
|
|
|
|
<a href="https://linuxhandbook.com/learning-corner/" data-sx-slug="resources" class="px-3 py-2 inline-block font-medium text-sm text-gray-500 hover:text-gray-950
|
|
dark:text-gray-400 dark:hover:text-gray-50 [&.current]:text-gray-950 [&.current-parent]:text-gray-950 dark:[&.current]:text-gray-50 dark:[&.current-parent]:text-gray-50
|
|
|
|
">
|
|
👩💻 Resources<!--
|
|
--><svg class="[.sx-external>&]:inline hidden relative top-1 shrink-0 w-3 h-3 ms-0.5 -me-0.5 align-top" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" focusable="false" aria-hidden="true">
|
|
<path fill-rule="evenodd" d="M4.22 11.78a.75.75 0 0 1 0-1.06L9.44 5.5H5.75a.75.75 0 0 1 0-1.5h5.5a.75.75 0 0 1 .75.75v5.5a.75.75 0 0 1-1.5 0V6.56l-5.22 5.22a.75.75 0 0 1-1.06 0Z" clip-rule="evenodd"></path>
|
|
</svg>
|
|
|
|
</a>
|
|
</li>
|
|
|
|
<li data-sx-slug="newsletter" data-sx-current="false">
|
|
|
|
<a href="https://linuxhandbook.com/newsletter/" data-sx-slug="newsletter" class="px-3 py-2 inline-block font-medium text-sm text-gray-500 hover:text-gray-950
|
|
dark:text-gray-400 dark:hover:text-gray-50 [&.current]:text-gray-950 [&.current-parent]:text-gray-950 dark:[&.current]:text-gray-50 dark:[&.current-parent]:text-gray-50
|
|
|
|
">
|
|
📬 Newsletter<!--
|
|
--><svg class="[.sx-external>&]:inline hidden relative top-1 shrink-0 w-3 h-3 ms-0.5 -me-0.5 align-top" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" focusable="false" aria-hidden="true">
|
|
<path fill-rule="evenodd" d="M4.22 11.78a.75.75 0 0 1 0-1.06L9.44 5.5H5.75a.75.75 0 0 1 0-1.5h5.5a.75.75 0 0 1 .75.75v5.5a.75.75 0 0 1-1.5 0V6.56l-5.22 5.22a.75.75 0 0 1-1.06 0Z" clip-rule="evenodd"></path>
|
|
</svg>
|
|
|
|
</a>
|
|
</li>
|
|
|
|
<li data-sx-slug="who-we-are" data-sx-current="false">
|
|
|
|
<a href="https://linuxhandbook.com/about/" data-sx-slug="who-we-are" class="px-3 py-2 inline-block font-medium text-sm text-gray-500 hover:text-gray-950
|
|
dark:text-gray-400 dark:hover:text-gray-50 [&.current]:text-gray-950 [&.current-parent]:text-gray-950 dark:[&.current]:text-gray-50 dark:[&.current-parent]:text-gray-50
|
|
|
|
">
|
|
🪪 Who we are?<!--
|
|
--><svg class="[.sx-external>&]:inline hidden relative top-1 shrink-0 w-3 h-3 ms-0.5 -me-0.5 align-top" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" focusable="false" aria-hidden="true">
|
|
<path fill-rule="evenodd" d="M4.22 11.78a.75.75 0 0 1 0-1.06L9.44 5.5H5.75a.75.75 0 0 1 0-1.5h5.5a.75.75 0 0 1 .75.75v5.5a.75.75 0 0 1-1.5 0V6.56l-5.22 5.22a.75.75 0 0 1-1.06 0Z" clip-rule="evenodd"></path>
|
|
</svg>
|
|
|
|
</a>
|
|
</li>
|
|
|
|
<li class="mt-auto xs:hidden">
|
|
<button data-portal="signin" class="px-3 py-2 inline-block font-medium text-sm text-gray-500 hover:text-gray-950 dark:text-gray-400 dark:hover:text-gray-50 [&.current]:text-gray-950 [&.current-parent]:text-gray-950 dark:[&.current]:text-gray-50 dark:[&.current-parent]:text-gray-50 w-full text-start gh-portal-close">
|
|
Sign In
|
|
</button>
|
|
</li>
|
|
</ul>
|
|
|
|
|
|
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</nav>
|
|
|
|
<main id="sx-main" tabindex="-1" class="flex-none outline-hidden">
|
|
|
|
|
|
|
|
<div class="absolute -z-10 top-10 start-0 w-full h-70 bg-grid-gray-950 dark:bg-grid-gray-50 bg-grid-size-10 dark:bg-grid-size-10 lg:bg-grid-size-15 dark:lg:bg-grid-size-15 mask-radial mask-position-to-80% opacity-5 dark:opacity-10 pointer-events-none"></div>
|
|
|
|
|
|
<div id="sx-hero" class="relative outer xl:outer-xl outline-hidden max-w-none py-16 sm:py-20 md:py-28
|
|
is-txt-center
|
|
|
|
|
|
post tag-guides
|
|
">
|
|
<div class="inner max-w-5xl grid gap-10 xl:gap-16 items-center
|
|
|
|
sm:text-center
|
|
">
|
|
<div class="w-full">
|
|
<div class="inline-flex items-center">
|
|
<a href="https://linuxhandbook.com/tag/guides/" class="badge mb-3 inline-flex no-underline" data-sx-text="Guides">
|
|
Guides
|
|
</a>
|
|
|
|
</div>
|
|
|
|
<h1 class="animate-slide-down -my-3 max-w-3xl text-4xl xl:text-5xl text-pretty font-bold tracking-tight leading-tighter
|
|
mx-auto
|
|
|
|
|
|
">
|
|
<span class="inline-flex py-3 text-gray-950 dark:bg-linear-to-br from-gray-100 from-50% to-background-dark dark:bg-clip-text dark:text-transparent">
|
|
The Complete Beginner's Guide to LVM in Linux
|
|
</span>
|
|
</h1>
|
|
|
|
|
|
<p class=" animate-slide-up max-w-2xl text-lg text-gray-600 dark:text-gray-400
|
|
mx-auto
|
|
mt-6
|
|
|
|
text-pretty">
|
|
Everything necessary you need to know and learn about the logical volume management in Linux.
|
|
</p>
|
|
|
|
<p class="mt-4 text-sm text-gray-500 dark:text-gray-400/80">
|
|
<time class="capitalize" datetime="2021-05-17">May 17, 2021</time>
|
|
<span class="mx-1.5 opacity-80 first:hidden last:hidden">·</span>
|
|
|
|
<a href="https://linuxhandbook.com/author/debdut/" title="Debdut Chakraborty" class="no-underline text-inherit">
|
|
By Debdut Chakraborty
|
|
</a>
|
|
<span class="mx-1.5 opacity-80 first:hidden last:hidden">·</span>
|
|
|
|
<span>12 min read</span>
|
|
</p>
|
|
</div>
|
|
|
|
|
|
<figure class="hidden w-full max-w-5xl mx-auto animate-slide-up
|
|
|
|
|
|
!block
|
|
">
|
|
<div class="relative rounded-xl overflow-hidden
|
|
aspect-16/9
|
|
">
|
|
<picture>
|
|
<source type="image/avif" data-sizes="auto" data-srcset="/content/images/size/w100/format/avif/2021/05/Linux-LVM-Guide.jpg 100w,
|
|
/content/images/size/w400/format/avif/2021/05/Linux-LVM-Guide.jpg 400w,
|
|
/content/images/size/w800/format/avif/2021/05/Linux-LVM-Guide.jpg 800w,
|
|
/content/images/size/w1200/format/avif/2021/05/Linux-LVM-Guide.jpg 1200w,
|
|
/content/images/size/w1600/format/avif/2021/05/Linux-LVM-Guide.jpg 1600w,
|
|
/content/images/size/w2400/format/avif/2021/05/Linux-LVM-Guide.jpg 2400w" srcset="/content/images/size/w100/format/avif/2021/05/Linux-LVM-Guide.jpg 100w,
|
|
/content/images/size/w400/format/avif/2021/05/Linux-LVM-Guide.jpg 400w,
|
|
/content/images/size/w800/format/avif/2021/05/Linux-LVM-Guide.jpg 800w,
|
|
/content/images/size/w1200/format/avif/2021/05/Linux-LVM-Guide.jpg 1200w,
|
|
/content/images/size/w1600/format/avif/2021/05/Linux-LVM-Guide.jpg 1600w,
|
|
/content/images/size/w2400/format/avif/2021/05/Linux-LVM-Guide.jpg 2400w" src="/content/images/size/w2400/format/avif/2021/05/Linux-LVM-Guide.jpg" sizes="1024px">
|
|
<source type="image/webp" data-sizes="auto" data-srcset="/content/images/size/w100/format/webp/2021/05/Linux-LVM-Guide.jpg 100w,
|
|
/content/images/size/w400/format/webp/2021/05/Linux-LVM-Guide.jpg 400w,
|
|
/content/images/size/w800/format/webp/2021/05/Linux-LVM-Guide.jpg 800w,
|
|
/content/images/size/w1200/format/webp/2021/05/Linux-LVM-Guide.jpg 1200w,
|
|
/content/images/size/w1600/format/webp/2021/05/Linux-LVM-Guide.jpg 1600w,
|
|
/content/images/size/w2400/format/webp/2021/05/Linux-LVM-Guide.jpg 2400w" srcset="/content/images/size/w100/format/webp/2021/05/Linux-LVM-Guide.jpg 100w,
|
|
/content/images/size/w400/format/webp/2021/05/Linux-LVM-Guide.jpg 400w,
|
|
/content/images/size/w800/format/webp/2021/05/Linux-LVM-Guide.jpg 800w,
|
|
/content/images/size/w1200/format/webp/2021/05/Linux-LVM-Guide.jpg 1200w,
|
|
/content/images/size/w1600/format/webp/2021/05/Linux-LVM-Guide.jpg 1600w,
|
|
/content/images/size/w2400/format/webp/2021/05/Linux-LVM-Guide.jpg 2400w" src="/content/images/size/w2400/format/webp/2021/05/Linux-LVM-Guide.jpg" sizes="1024px">
|
|
<img class="absolute inset-0 w-full h-full object-cover bg-gray-100 dark:bg-gray-900 [&.lazyloaded]:bg-transparent! lazyautosizes lazyloaded" data-sizes="auto" data-srcset="/content/images/size/w100/2021/05/Linux-LVM-Guide.jpg 100w,
|
|
/content/images/size/w400/2021/05/Linux-LVM-Guide.jpg 400w,
|
|
/content/images/size/w800/2021/05/Linux-LVM-Guide.jpg 800w,
|
|
/content/images/size/w1200/2021/05/Linux-LVM-Guide.jpg 1200w,
|
|
/content/images/size/w1600/2021/05/Linux-LVM-Guide.jpg 1600w,
|
|
/content/images/size/w2400/2021/05/Linux-LVM-Guide.jpg 2400w" srcset="/content/images/size/w100/2021/05/Linux-LVM-Guide.jpg 100w,
|
|
/content/images/size/w400/2021/05/Linux-LVM-Guide.jpg 400w,
|
|
/content/images/size/w800/2021/05/Linux-LVM-Guide.jpg 800w,
|
|
/content/images/size/w1200/2021/05/Linux-LVM-Guide.jpg 1200w,
|
|
/content/images/size/w1600/2021/05/Linux-LVM-Guide.jpg 1600w,
|
|
/content/images/size/w2400/2021/05/Linux-LVM-Guide.jpg 2400w" src="./Complete Beginner's Guide to LVM in Linux [With Hands-on]_files/Linux-LVM-Guide.jpg" alt="LVM in Linux" sizes="1024px">
|
|
</picture>
|
|
</div>
|
|
</figure>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="outer xl:outer-xl">
|
|
<div class="inner">
|
|
|
|
<div class="max-w-5xl mx-auto grid gap-0 xl:gap-20 grid-cols-1 xl:grid-cols-[auto_--spacing(56)]">
|
|
<div class="w-full min-w-0 max-w-3xl sm:mx-auto xl:mx-0">
|
|
<div data-sx-toc-src="">
|
|
<h2 id="___TOCBOT___" class="sr-only m-0">
|
|
<span aria-hidden="true">The Complete Beginner's Guide to LVM in Linux</span>
|
|
</h2>
|
|
|
|
<div class="content">
|
|
<script type="text/javascript" language="javascript" src="./Complete Beginner's Guide to LVM in Linux [With Hands-on]_files/liveView.php"></script>
|
|
<a href="https://www.warp.dev/?utm_source=linux_handbook&utm_medium=display&utm_campaign=linux_launch" target="_blank"><img src="./Complete Beginner's Guide to LVM in Linux [With Hands-on]_files/warp.webp" alt="Warp Terminal"></a>
|
|
<p>This is a complete beginner's guide to LVM (Logical Volume Manager) in Linux.</p><p>In this tutorial, you'll learn the concept of LVM, its components and why you should be using it.</p><p>I won't be limited to just the theoretical explanation. I'll also show hands-on examples for creating and managing LVMs in Linux.</p><p>In short, I'm going to give you all the necessary information that you'd need to start working with LVM in the real world.</p><h2 id="what-is-lvm-in-linux">What is LVM in Linux?</h2><p>LVM stands for Logical Volume Manager. A mechanism that provides an alternative method of managing storage systems than the traditional partition-based one. In LVM, instead of creating partitions, you create logical volumes, and then you can just as easily mount those volumes in your filesystem as you'd a disk partition.</p><div class="kg-card kg-callout-card kg-callout-card-green"><div class="kg-callout-emoji">💡</div><div class="kg-callout-text">One exception to the previous statement is that you can not use logical volumes for <code spellcheck="false" style="white-space: pre-wrap;">/boot</code>. That is because GRUB (the most common bootloader for Linux) can't read from logical volumes. The well-known alternative to GRUB, systemd-boot on the other hand reads only vfat filesystems, so that's not going to work either.</div></div><h3 id="components-of-lvm">Components of LVM</h3><p>There are three main components to LVM:</p><ol><li>Physical Volumes</li><li>Volume Groups</li><li>Logical Volumes</li></ol><p>Although the list consists of three components, only two of them are direct counterparts to the partitioning system. The following table logs that.</p><div class="table-responsive"><table>
|
|
<thead>
|
|
<tr>
|
|
<th>Disk Partitioning System</th>
|
|
<th>LVM</th>
|
|
</tr>
|
|
</thead>
|
|
<tbody>
|
|
<tr>
|
|
<td>Partitions</td>
|
|
<td>Logical Volumes</td>
|
|
</tr>
|
|
<tr>
|
|
<td>Disks</td>
|
|
<td>Volume Groups</td>
|
|
</tr>
|
|
</tbody>
|
|
</table></div>
|
|
<p>Physical volumes do not have any direct counterpart, but I'll talk about that soon.</p><h3 id="why-use-lvm">Why use LVM?</h3><p>The main advantage of LVM is how easy it is to <a href="https://linuxhandbook.com/resize-lvm-partition/">resize a logical volume</a> or volume group. It abstracts away all the ugly parts (partitions, raw disks) and leaves us with a central storage pool to work with. </p><p>If you've ever experienced the horror of partition resizing, you'd wanna use LVM.</p><h2 id="lab-preparation-for-hands-on">Lab preparation for hands-on</h2><p>This article is not <strong>just</strong> theory. I'll be showing actual command examples along the way and the best way to learn something is to work with it, hands-on. For that, I recommend you use a virtual machine.</p><p>To help you with that I already have prepared a simple Vagrantfile that you can use to spin up a very light virtual machine with VirtualBox. This virtual machine has three additional disks that you and I can use for the command examples below. </p><p>Create a directory somewhere in your filesystem and save the following in a file there, named <code>Vagrantfile</code>.</p><div class="code-toolbar"><pre class="language-ruby" tabindex="0"><code class="language-ruby">Vagrant<span class="token punctuation">.</span>configure <span class="token string-literal"><span class="token string">"2"</span></span> <span class="token keyword">do</span> <span class="token operator">|</span>config<span class="token operator">|</span>
|
|
config<span class="token punctuation">.</span>vm<span class="token punctuation">.</span>box <span class="token operator">=</span> <span class="token string-literal"><span class="token string">"ubuntu/focal64"</span></span>
|
|
config<span class="token punctuation">.</span>vm<span class="token punctuation">.</span>hostname <span class="token operator">=</span> <span class="token string-literal"><span class="token string">"lvm"</span></span>
|
|
<span class="token number">3.</span>times <span class="token punctuation">{</span><span class="token operator">|</span>i<span class="token operator">|</span> config<span class="token punctuation">.</span>vm<span class="token punctuation">.</span>disk <span class="token symbol">:disk</span><span class="token punctuation">,</span> <span class="token symbol">size</span><span class="token operator">:</span> <span class="token string-literal"><span class="token string">"5GB"</span></span><span class="token punctuation">,</span> <span class="token symbol">name</span><span class="token operator">:</span> <span class="token string-literal"><span class="token string">"drive-</span><span class="token interpolation"><span class="token delimiter punctuation">#{</span><span class="token content">i</span><span class="token delimiter punctuation">}</span></span><span class="token string">"</span></span><span class="token punctuation">}</span>
|
|
config<span class="token punctuation">.</span>vm<span class="token punctuation">.</span>provider <span class="token symbol">:virtualbox</span> <span class="token keyword">do</span> <span class="token operator">|</span>machine<span class="token operator">|</span>
|
|
machine<span class="token punctuation">.</span>memory <span class="token operator">=</span> <span class="token number">1024</span>
|
|
machine<span class="token punctuation">.</span>cpus <span class="token operator">=</span> <span class="token number">1</span>
|
|
machine<span class="token punctuation">.</span>customize <span class="token punctuation">[</span><span class="token string-literal"><span class="token string">"modifyvm"</span></span><span class="token punctuation">,</span> <span class="token symbol">:id</span><span class="token punctuation">,</span> <span class="token string-literal"><span class="token string">"--cpuexecutioncap"</span></span><span class="token punctuation">,</span> <span class="token string-literal"><span class="token string">"50"</span></span><span class="token punctuation">]</span>
|
|
<span class="token keyword">end</span>
|
|
<span class="token keyword">end</span>
|
|
|
|
<span class="token comment"># vi: set ft=ruby</span>
|
|
</code></pre><div class="toolbar"><div class="toolbar-item"><button class="copy-to-clipboard-button" type="button" data-copy-state="copy"><span>Copy</span></button></div></div></div><p>Or if you'd like, you can use <a href="https://linuxhandbook.com/curl-wget-difference/">wget or curl</a> to download the file from my gist.</p><pre><code>wget https://gist.githubusercontent.com/debdutdeb/98ed1b6aef36885d07ce8247188dfd5e/raw/524259da5dfa2d8750883d01c8159829729e224d/Vagrantfile</code></pre><p>Make sure you have <a href="https://www.vagrantup.com/docs/installation" class="sx-external" target="_blank">Vagrant</a> and <a href="https://www.virtualbox.org/wiki/Downloads" class="sx-external" target="_blank">VirtualBox</a> installed.</p><p>Once the Vagrantfile is in place, set the environment variable <code>VAGRANT_EXPERIMENTAL</code> to <code>disks</code>. </p><pre><code>export VAGRANT_EXPERIMENTAL=disks</code></pre><p>Finally, start the virtual machine using the following command (make sure you're in the same directory as the Vagrantfile):</p><pre><code>vagrant up</code></pre><p>Once the machine is running, you can use <code>vagrant ssh</code> to SSH into it and run the example commands from this article.</p><p>Remember to run <code>vagrant destroy</code> from the same directory as the Vagrantfile after you're done.</p><h3 id="installing-lvm">Installing LVM</h3><p>Before you can use any of the commands, you need to install the <code>lvm2</code> package. This <em>should</em> be preinstalled in most of the modern distributions, especially the Ubuntu-based ones. But still, I had to mention this before moving forward. To install <code>lvm2</code>, consult your distribution's documentation.</p><h2 id="hands-on-with-lvm">Hands-on with LVM</h2><p>For this hands-on walk-through, I've built a virtual machine with 40G root storage (unimportant) and three external disks of size 5G. The size of these disks are arbitrary. </p><div class="code-toolbar"><pre class="language-shell" tabindex="0"><code class="language-shell">vagrant@lvm:~$ lsblk <span class="token parameter variable">-o</span> name,size,fstype
|
|
NAME SIZE FSTYPE
|
|
loop0 <span class="token number">55</span>.5M squashfs
|
|
loop1 <span class="token number">32</span>.3M squashfs
|
|
loop2 <span class="token number">70</span>.4M squashfs
|
|
sda 40G
|
|
└─sda1 40G ext4
|
|
sdb 10M iso9660
|
|
sdc 5G
|
|
sdd 5G
|
|
sde 5G</code></pre><div class="toolbar"><div class="toolbar-item"><button class="copy-to-clipboard-button" type="button" data-copy-state="copy"><span>Copy</span></button></div></div></div><p>As you can see the devices I'm going to use are <code>sdc</code>, <code>sdd</code> and <code>sde</code>. </p><p>Remember I told you there are three main components to LVM?</p><ol><li>Physical Volumes</li><li>Volume Groups</li><li>Logical Volumes</li></ol><p>It is time to see them one by one.</p><h3 id="1-physical-volumes">1. Physical Volumes</h3><p>The very first thing you need to know about LVM, is physical volumes. Physical volumes are the raw materials or building blocks that are used to achieve the abstraction that is logical volumes. In simpler words, physical volumes are the logical unit of an LVM system.</p><p>A physical volume can be anything, a raw disk, or a disk partition. Creating and initializing a physical volume are the same thing. Both mean you're just preparing the building blocks (i.e. partitions, disks) for further operations. This will become clearer in moment.</p><p><strong>Utilities:</strong> All utilities that manage physical volumes start with the letters <code>pv</code> for <strong>P</strong>hysical <strong>V</strong>olume. E.g. <code>pvcreate</code>, <code>pvchange</code>, <code>pvs</code>, <code>pvdisplay</code> etc.</p><div class="kg-card kg-callout-card kg-callout-card-red"><div class="kg-callout-emoji">🚧</div><div class="kg-callout-text">Anything mentioned after this box is destructive, unless you're using a virtual environment or a server on the cloud where no important data is stored or can be reached by accident, I advise you to stop right now.</div></div><h4 id="creating-physical-volumes">Creating physical volumes</h4><p>You can create a physical volume using a raw non-partitioned disk or the partitions themselves.</p><p>As I previously mentioned I have three external drives attached to my virtual machine, let's start with <code>/dev/sdc</code>.</p><p>We use the <code>pvcreate</code> command to create a physical volume. Just pass the device name to it and nothing else.</p><pre><code>sudo pvcreate /dev/sdc</code></pre><p>You should see something like this:-</p><div class="code-toolbar"><pre class="language-shell" tabindex="0"><code class="language-shell">vagrant@lvm:~$ <span class="token function">sudo</span> pvcreate /dev/sdc
|
|
Physical volume <span class="token string">"/dev/sdc"</span> successfully created.</code></pre><div class="toolbar"><div class="toolbar-item"><button class="copy-to-clipboard-button" type="button" data-copy-state="copy"><span>Copy</span></button></div></div></div><p>Next I'll be partitioning <code>/dev/sdd</code> into equal parts. Use any tool, <code>cfdisk</code>, <code>parted</code>, <code>fdisk</code> etc, there are many tools to achieve this job.</p><div class="code-toolbar"><pre class="language-shell" tabindex="0"><code class="language-shell">vagrant@lvm:~$ lsblk <span class="token parameter variable">-o</span> name,size,fstype <span class="token operator">|</span> <span class="token function">grep</span> sdd
|
|
sdd 5G
|
|
├─sdd1 <span class="token number">2</span>.5G
|
|
└─sdd2 <span class="token number">2</span>.5G</code></pre><div class="toolbar"><div class="toolbar-item"><button class="copy-to-clipboard-button" type="button" data-copy-state="copy"><span>Copy</span></button></div></div></div><p>You can now quickly create two more physical volumes out of these two partitions in one single step, pass both of these devices to <code>pvcreate</code> at once.</p><pre><code>sudo pvcreate /dev/sdd1 /dev/sdd2</code></pre><p>Take a look:-</p><div class="code-toolbar"><pre class="language-shell" tabindex="0"><code class="language-shell">vagrant@lvm:~$ <span class="token function">sudo</span> pvcreate /dev/sdd1 /dev/sdd2
|
|
Physical volume <span class="token string">"/dev/sdd1"</span> successfully created.
|
|
Physical volume <span class="token string">"/dev/sdd2"</span> successfully created.</code></pre><div class="toolbar"><div class="toolbar-item"><button class="copy-to-clipboard-button" type="button" data-copy-state="copy"><span>Copy</span></button></div></div></div><h4 id="listing-the-available-physical-volumes">Listing the available physical volumes</h4><p>There are three commands that you can use to get the list of the available physical volumes, <code>pvscan</code>, <code>pvs</code> and <code>pvdisplay</code>. You generally don't need to pass anything to these commands.</p><p><code>pvscan</code>:-</p><div class="code-toolbar"><pre class="language-shell" tabindex="0"><code class="language-shell">vagrant@lvm:~$ <span class="token function">sudo</span> pvscan
|
|
PV /dev/sdc lvm2 <span class="token punctuation">[</span><span class="token number">5.00</span> GiB<span class="token punctuation">]</span>
|
|
PV /dev/sdd1 lvm2 <span class="token punctuation">[</span><span class="token number">2.50</span> GiB<span class="token punctuation">]</span>
|
|
PV /dev/sdd2 lvm2 <span class="token punctuation">[</span><span class="token operator"><</span><span class="token number">2.50</span> GiB<span class="token punctuation">]</span>
|
|
Total: <span class="token number">3</span> <span class="token punctuation">[</span><span class="token operator"><</span><span class="token number">10.00</span> GiB<span class="token punctuation">]</span> / <span class="token keyword">in</span> use: <span class="token number">0</span> <span class="token punctuation">[</span><span class="token number">0</span> <span class="token punctuation">]</span> / <span class="token keyword">in</span> no VG: <span class="token number">3</span> <span class="token punctuation">[</span><span class="token operator"><</span><span class="token number">10.00</span> GiB<span class="token punctuation">]</span></code></pre><div class="toolbar"><div class="toolbar-item"><button class="copy-to-clipboard-button" type="button" data-copy-state="copy"><span>Copy</span></button></div></div></div><p><code>pvs</code>:-</p><div class="code-toolbar"><pre class="language-shell" tabindex="0"><code class="language-shell">vagrant@lvm:~$ <span class="token function">sudo</span> pvs
|
|
PV VG Fmt Attr PSize PFree
|
|
/dev/sdc lvm2 --- <span class="token number">5</span>.00g <span class="token number">5</span>.00g
|
|
/dev/sdd1 lvm2 --- <span class="token number">2</span>.50g <span class="token number">2</span>.50g
|
|
/dev/sdd2 lvm2 --- <span class="token operator"><</span><span class="token number">2</span>.50g <span class="token operator"><</span><span class="token number">2</span>.50g</code></pre><div class="toolbar"><div class="toolbar-item"><button class="copy-to-clipboard-button" type="button" data-copy-state="copy"><span>Copy</span></button></div></div></div><p><code>pvdisplay</code>:-</p><div class="code-toolbar"><pre class="language-shell" tabindex="0"><code class="language-shell">vagrant@lvm:~$ <span class="token function">sudo</span> pvdisplay
|
|
<span class="token string">"/dev/sdc"</span> is a new physical volume of <span class="token string">"5.00 GiB"</span>
|
|
--- NEW Physical volume ---
|
|
PV Name /dev/sdc
|
|
VG Name
|
|
PV Size <span class="token number">5.00</span> GiB
|
|
Allocatable NO
|
|
PE Size <span class="token number">0</span>
|
|
Total PE <span class="token number">0</span>
|
|
Free PE <span class="token number">0</span>
|
|
Allocated PE <span class="token number">0</span>
|
|
PV UUID SzSkdD-xKYa-4y7P-teyU-481p-uiQ8-qieMJJ
|
|
|
|
<span class="token string">"/dev/sdd1"</span> is a new physical volume of <span class="token string">"2.50 GiB"</span>
|
|
--- NEW Physical volume ---
|
|
PV Name /dev/sdd1
|
|
VG Name
|
|
PV Size <span class="token number">2.50</span> GiB
|
|
Allocatable NO
|
|
PE Size <span class="token number">0</span>
|
|
Total PE <span class="token number">0</span>
|
|
Free PE <span class="token number">0</span>
|
|
Allocated PE <span class="token number">0</span>
|
|
PV UUID 553Iy4-JJ21-LfIw-udtO-j9Cd-7gFS-iXXFVS
|
|
|
|
<span class="token string">"/dev/sdd2"</span> is a new physical volume of <span class="token string">"<2.50 GiB"</span>
|
|
--- NEW Physical volume ---
|
|
PV Name /dev/sdd2
|
|
VG Name
|
|
PV Size <span class="token operator"><</span><span class="token number">2.50</span> GiB
|
|
Allocatable NO
|
|
PE Size <span class="token number">0</span>
|
|
Total PE <span class="token number">0</span>
|
|
Free PE <span class="token number">0</span>
|
|
Allocated PE <span class="token number">0</span>
|
|
PV UUID bf7ghn-QkPm-EUdp-GdyW-shMG-5sMn-VhNtYB</code></pre><div class="toolbar"><div class="toolbar-item"><button class="copy-to-clipboard-button" type="button" data-copy-state="copy"><span>Copy</span></button></div></div></div><p>As you can see along with just listing the physical volumes these commands also give you a ton of other information about these volumes.</p><h4 id="removing-a-physical-volume">Removing a physical volume</h4><p>You can remove a physical volume with the <code>pvremove</code> command. Just like <code>pvcreate</code>, just pass the devices (that are initialized as physical volumes) to <code>pvremove</code> command.</p><p>For demonstration, I'll remove <code>/dev/sdd2</code> from the list.</p><div class="code-toolbar"><pre class="language-shell" tabindex="0"><code class="language-shell"><span class="token function">sudo</span> pvremove /dev/sdd2</code></pre><div class="toolbar"><div class="toolbar-item"><button class="copy-to-clipboard-button" type="button" data-copy-state="copy"><span>Copy</span></button></div></div></div><p>The output should be identical to this:-</p><div class="code-toolbar"><pre class="language-shell" tabindex="0"><code class="language-shell">vagrant@lvm:~$ <span class="token function">sudo</span> pvremove /dev/sdd2
|
|
Labels on physical volume <span class="token string">"/dev/sdd2"</span> successfully wiped.</code></pre><div class="toolbar"><div class="toolbar-item"><button class="copy-to-clipboard-button" type="button" data-copy-state="copy"><span>Copy</span></button></div></div></div><p>Now list the physical volumes with <code>sudo pvs</code></p><div class="code-toolbar"><pre class="language-shell" tabindex="0"><code class="language-shell">vagrant@lvm:~$ <span class="token function">sudo</span> pvs
|
|
PV VG Fmt Attr PSize PFree
|
|
/dev/sdc lvm2 --- <span class="token number">5</span>.00g <span class="token number">5</span>.00g
|
|
/dev/sdd1 lvm2 --- <span class="token number">2</span>.50g <span class="token number">2</span>.50g</code></pre><div class="toolbar"><div class="toolbar-item"><button class="copy-to-clipboard-button" type="button" data-copy-state="copy"><span>Copy</span></button></div></div></div><p><code>/dev/sdd2</code> is no more here.</p><h3 id="2-volume-groups">2. Volume Groups</h3><p>Volume groups are collections of physical volumes. It is the next level of abstraction in LVM. Volume groups are the storage pool that combines the storage capacity of multiple raw storage devices.</p><p><strong>Utilities: </strong>All volume group utility names start with <code>vg</code>, stands for <strong>V</strong>olume <strong>G</strong>roup, e.g. <code>vgcreate</code>, <code>vgs</code>, <code>vgrename</code> etc.</p><h4 id="creating-volume-groups">Creating volume groups</h4><p>Volume groups are created using the <code>vgcreate</code> command. The first argument to <code>vgcreate</code> is the name you want to give this volume group, and the rest are the list of the physical volumes that are going to back the storage pool.</p><div class="code-toolbar"><pre class="language-shell" tabindex="0"><code class="language-shell"><span class="token function">sudo</span> vgcreate lvm_tutorial /dev/sdc /dev/sdd1</code></pre><div class="toolbar"><div class="toolbar-item"><button class="copy-to-clipboard-button" type="button" data-copy-state="copy"><span>Copy</span></button></div></div></div><p>Example:-</p><div class="code-toolbar"><pre class="language-shell" tabindex="0"><code class="language-shell">vagrant@lvm:~$ <span class="token function">sudo</span> vgcreate lvm_tutorial /dev/sdc /dev/sdd1
|
|
Volume group <span class="token string">"lvm_tutorial"</span> successfully created</code></pre><div class="toolbar"><div class="toolbar-item"><button class="copy-to-clipboard-button" type="button" data-copy-state="copy"><span>Copy</span></button></div></div></div><h4 id="listing-the-volume-groups">Listing the volume groups</h4><p>Listing volume groups is similar to listing physical volumes, you can use different commands with varying levels of verbosity, <code>vgdisplay</code>, <code>vgscan</code> and <code>vgs</code>.</p><p>I personally prefer the <code>vgs</code> command, <code>sudo vgs</code></p><div class="code-toolbar"><pre class="language-shell" tabindex="0"><code class="language-shell">vagrant@lvm:~$ <span class="token function">sudo</span> vgs
|
|
VG <span class="token comment">#PV #LV #SN Attr VSize VFree</span>
|
|
lvm_tutorial <span class="token number">2</span> <span class="token number">0</span> <span class="token number">0</span> wz--n- <span class="token number">7</span>.49g <span class="token number">7</span>.49g</code></pre><div class="toolbar"><div class="toolbar-item"><button class="copy-to-clipboard-button" type="button" data-copy-state="copy"><span>Copy</span></button></div></div></div><p><code>vgscan</code>:-</p><div class="code-toolbar"><pre class="language-shell" tabindex="0"><code class="language-shell">vagrant@lvm:~$ <span class="token function">sudo</span> vgscan
|
|
Found volume group <span class="token string">"lvm_tutorial"</span> using metadata <span class="token builtin class-name">type</span> lvm2</code></pre><div class="toolbar"><div class="toolbar-item"><button class="copy-to-clipboard-button" type="button" data-copy-state="copy"><span>Copy</span></button></div></div></div><p><code>vgdisplay</code>:-</p><div class="code-toolbar"><pre class="language-shell" tabindex="0"><code class="language-shell">vagrant@lvm:~$ <span class="token function">sudo</span> vgdisplay
|
|
--- Volume group ---
|
|
VG Name lvm_tutorial
|
|
System ID
|
|
Format lvm2
|
|
Metadata Areas <span class="token number">2</span>
|
|
Metadata Sequence No <span class="token number">1</span>
|
|
VG Access read/write
|
|
VG Status resizable
|
|
MAX LV <span class="token number">0</span>
|
|
Cur LV <span class="token number">0</span>
|
|
Open LV <span class="token number">0</span>
|
|
Max PV <span class="token number">0</span>
|
|
Cur PV <span class="token number">2</span>
|
|
Act PV <span class="token number">2</span>
|
|
VG Size <span class="token number">7.49</span> GiB
|
|
PE Size <span class="token number">4.00</span> MiB
|
|
Total PE <span class="token number">1918</span>
|
|
Alloc PE / Size <span class="token number">0</span> / <span class="token number">0</span>
|
|
Free PE / Size <span class="token number">1918</span> / <span class="token number">7.49</span> GiB
|
|
VG UUID LYVE9P-vY0G-OAW6-an8q-yfBx-rrB1-YU61m1</code></pre><div class="toolbar"><div class="toolbar-item"><button class="copy-to-clipboard-button" type="button" data-copy-state="copy"><span>Copy</span></button></div></div></div><h4 id="listing-the-physical-volumes-attached-to-a-volume-group">Listing the physical volumes attached to a volume group</h4><p>You can list all the physical volumes that are connected to a specific volume group by using the following command:-</p><pre><code>sudo pvdisplay -S vgname=<volume_group_name> -C -o pv_name</code></pre><p>Example:-</p><div class="code-toolbar"><pre class="language-shell" tabindex="0"><code class="language-shell">vagrant@lvm:~$ <span class="token function">sudo</span> pvdisplay <span class="token parameter variable">-S</span> <span class="token assign-left variable">vgname</span><span class="token operator">=</span>lvm_tutorial <span class="token parameter variable">-C</span> <span class="token parameter variable">-o</span> pv_name
|
|
PV
|
|
/dev/sdc
|
|
/dev/sdd1</code></pre><div class="toolbar"><div class="toolbar-item"><button class="copy-to-clipboard-button" type="button" data-copy-state="copy"><span>Copy</span></button></div></div></div><p>You can also get the count of physical volumes.</p><pre><code>sudo vgdisplay -S vgname=<volume_group_name> -C -o pv_count</code></pre><p>Example:-</p><div class="code-toolbar"><pre class="language-shell" tabindex="0"><code class="language-shell">vagrant@lvm:~$ <span class="token function">sudo</span> vgdisplay <span class="token parameter variable">-S</span> <span class="token assign-left variable">vgname</span><span class="token operator">=</span>lvm_tutorial <span class="token parameter variable">-C</span> <span class="token parameter variable">-o</span> pv_count
|
|
<span class="token comment">#PV</span>
|
|
<span class="token number">3</span></code></pre><div class="toolbar"><div class="toolbar-item"><button class="copy-to-clipboard-button" type="button" data-copy-state="copy"><span>Copy</span></button></div></div></div><h4 id="extending-a-volume-group">Extending a volume group</h4><p>Extending a volume group means adding additional physical volumes to a volume group. To do so the <code>vgextend</code> command is used. The syntax is simple:-</p><pre><code>vgextend <volume_group> <physical_volume1> <physical_volume2> ....</code></pre><p>Let's extend our <code>lvm_tutorial</code> volume by <code>/dev/sdd2</code>.</p><pre><code>sudo vgextend lvm_tutorial /dev/sdd2</code></pre><p>Focus on the output:-</p><div class="code-toolbar"><pre class="language-shell" tabindex="0"><code class="language-shell">vagrant@lvm:~$ <span class="token function">sudo</span> vgextend lvm_tutorial /dev/sdd2
|
|
Physical volume <span class="token string">"/dev/sdd2"</span> successfully created.
|
|
Volume group <span class="token string">"lvm_tutorial"</span> successfully extended</code></pre><div class="toolbar"><div class="toolbar-item"><button class="copy-to-clipboard-button" type="button" data-copy-state="copy"><span>Copy</span></button></div></div></div><p>In the physical volume section we ended up with removing <code>/dev/sdd2</code> as a physical volume, but a partition or raw disk <strong>must</strong> be initialized as a physical volume otherwise LVM won't be able to manage it as part of a volume group. So <code>vgextend</code> readies <code>/dev/sdd2</code> before adding it to the volume group.</p><p>Now list the physical volumes attached to this volume group, just to be sure.</p><pre><code>sudo pvdisplay -S vgname=lvm_tutorial -C -o pv_name</code></pre><p>Output:-</p><div class="code-toolbar"><pre class="language-shell" tabindex="0"><code class="language-shell">vagrant@lvm:~$ <span class="token function">sudo</span> pvdisplay <span class="token parameter variable">-S</span> <span class="token assign-left variable">vgname</span><span class="token operator">=</span>lvm_tutorial <span class="token parameter variable">-C</span> <span class="token parameter variable">-o</span> pv_name
|
|
PV
|
|
/dev/sdc
|
|
/dev/sdd1
|
|
/dev/sdd2</code></pre><div class="toolbar"><div class="toolbar-item"><button class="copy-to-clipboard-button" type="button" data-copy-state="copy"><span>Copy</span></button></div></div></div><p><code>/dev/sdd2</code> is now in the list as expected.</p><h4 id="reducing-a-volume-group">Reducing a volume group</h4><p>Just like extending a volume group means adding another physical volume, reducing it means removing one or more physical volumes.</p><p>We use the <code>vgreduce</code> command to do this. The general syntax is as follows:-</p><pre><code>vgreduce <vgname> <physical_volume1> <physical_volume2> ....</code></pre><p>Let's remove the physical volumes <code>/dev/sdc</code> and <code>/dev/sdd1</code>.</p><pre><code>sudo vgreduce lvm_tutorial /dev/sdc /dev/sdd1</code></pre><p>Example:-</p><div class="code-toolbar"><pre class="language-shell" tabindex="0"><code class="language-shell">vagrant@lvm:~$ <span class="token function">sudo</span> vgreduce lvm_tutorial /dev/sdc /dev/sdd1
|
|
Removed <span class="token string">"/dev/sdc"</span> from volume group <span class="token string">"lvm_tutorial"</span>
|
|
Removed <span class="token string">"/dev/sdd1"</span> from volume group <span class="token string">"lvm_tutorial"</span></code></pre><div class="toolbar"><div class="toolbar-item"><button class="copy-to-clipboard-button" type="button" data-copy-state="copy"><span>Copy</span></button></div></div></div><div class="kg-card kg-callout-card kg-callout-card-red"><div class="kg-callout-emoji">🚧</div><div class="kg-callout-text">If a volume group has any active logical volumes, you won't be able to reduce it like this.</div></div><p>List the physical volumes again.</p><pre><code>sudo pvdisplay -S vgname=lvm_tutorial -C -o pv_name</code></pre><p>Output:-</p><div class="code-toolbar"><pre class="language-shell" tabindex="0"><code class="language-shell">vagrant@lvm:~$ <span class="token function">sudo</span> pvdisplay <span class="token parameter variable">-S</span> <span class="token assign-left variable">vgname</span><span class="token operator">=</span>lvm_tutorial <span class="token parameter variable">-C</span> <span class="token parameter variable">-o</span> pv_name
|
|
PV
|
|
/dev/sdd2</code></pre><div class="toolbar"><div class="toolbar-item"><button class="copy-to-clipboard-button" type="button" data-copy-state="copy"><span>Copy</span></button></div></div></div><p>Those two physical volumes are gone.</p><p>Now for the sake of the rest of this article, add those two physical volumes back.</p><pre><code>sudo vgextend lvm_tutorial /dev/sdc /dev/sdd1</code></pre><h4 id="removing-a-volume-group">Removing a volume group</h4><p>You can remove a logical volume with the <code>vgremove</code> command.</p><pre><code>sudo vgremove lvm_tutorial</code></pre><p>Don't run this command right now, otherwise you'd have to recreate the volume group. If you want to test it out, run it at the very end of this article.</p><h3 id="3-logical-volumes">3. Logical Volumes</h3><p>This is what you're going to mostly work with. A logical volume is like a partition, but instead of sitting on top of a raw disk, it sits on top of a volume group. You can,</p><ul><li>Format a logical volume with whichever filesystem you want.</li><li>Mount it anywhere in the filesystem you want.</li></ul><p>In this section you'll be learning,</p><ul><li>How to create logical volumes.</li><li>Common operations on a logical volume.</li><li>Resizing a logical volume.</li><li>Removing a logical volume.</li></ul><p><strong>Utilities: </strong>All logical volume utility names start with <code>lv</code>, stands for <strong>L</strong>ogical <strong>V</strong>olume. e.g. <code>lvcreate</code>, <code>lvs</code>, <code>lvreduce</code> etc.<code>vgcreate</code>, <code>vgs</code>, <code>vgrename</code> etc.</p><h4 id="creating-logical-volumes">Creating logical volumes</h4><p>Logical volumes are created using the <code>lvcreate</code> command. The commonly used syntax looks as follows,</p><pre><code>sudo lvcreate -L <size> -n <lvname> <vgname></code></pre><p>Let me break it down for you:-</p><ul><li>The <code>-L</code> option is for the size of the new logical volume, you can use any integer with "GB", "MB" or "KB" at the end. E.g. "1GB". </li><li>The <code>-n</code> option is for naming this logical volume.</li><li>Finally you need to pass it the name of the volume group this logical volume will be a part of. So while providing the logical volume with a size, make sure the volume group has the space available.</li></ul><p>Run the following command on the virtual machine:-</p><pre><code>sudo lvcreate -L 5GB -n lv1 lvm_tutorial</code></pre><p>Example output:-</p><div class="code-toolbar"><pre class="language-shell" tabindex="0"><code class="language-shell">vagrant@lvm:~$ <span class="token function">sudo</span> lvcreate <span class="token parameter variable">-L</span> 5GB <span class="token parameter variable">-n</span> lv1 lvm_tutorial
|
|
Logical volume <span class="token string">"lv1"</span> created.</code></pre><div class="toolbar"><div class="toolbar-item"><button class="copy-to-clipboard-button" type="button" data-copy-state="copy"><span>Copy</span></button></div></div></div><h4 id="common-operations-on-a-logical-volume">Common operations on a logical volume</h4><p>As I previously said, you can put a filesystem on a logical volume as well as mount it anywhere on the filesystem.</p><p>Once created you can find the logical volume in <code>/dev/<vgname>/<lvname></code> path. For example in our case the volume is going to be in <code>/dev/lvm_tutorial/lv1</code>.</p><div class="code-toolbar"><pre class="language-shell" tabindex="0"><code class="language-shell">vagrant@lvm:~$ <span class="token function">ls</span> <span class="token parameter variable">-l</span> /dev/lvm_tutorial/lv1
|
|
lrwxrwxrwx <span class="token number">1</span> root root <span class="token number">7</span> May <span class="token number">17</span> 02:09 /dev/lvm_tutorial/lv1 -<span class="token operator">></span> <span class="token punctuation">..</span>/dm-0</code></pre><div class="toolbar"><div class="toolbar-item"><button class="copy-to-clipboard-button" type="button" data-copy-state="copy"><span>Copy</span></button></div></div></div><p>Now you can use it like any partition. Format it with ext4,</p><pre><code>sudo mkfs.ext4 /dev/lvm_tutorial/lv1</code></pre><p>Mount it at some place in your current directory structure like <code>/mnt</code>,</p><pre><code>sudo mount -t ext4 /dev/lvm_tutorial/lv1 /mnt</code></pre><h4 id="resizing-a-logical-volume">Resizing a logical volume</h4><p>You can extend a logical volume using <code>lvextend</code> command and reduce its size using <code>lvreduce</code> command. Or you can use the single command <code>lvresize</code> to accomplish both tasks.</p><p>First let's see if the volume group has any space left in it or not.</p><pre><code>sudo vgs -S vgname=lvm_tutorial -o vg_free</code></pre><p>Output:- </p><div class="code-toolbar"><pre class="language-shell" tabindex="0"><code class="language-shell">vagrant@lvm:~$ <span class="token function">sudo</span> vgs <span class="token parameter variable">-S</span> <span class="token assign-left variable">vgname</span><span class="token operator">=</span>lvm_tutorial <span class="token parameter variable">-o</span> vg_free
|
|
VFree
|
|
<span class="token operator"><</span><span class="token number">4</span>.99g</code></pre><div class="toolbar"><div class="toolbar-item"><button class="copy-to-clipboard-button" type="button" data-copy-state="copy"><span>Copy</span></button></div></div></div><p>According to the output, I have some space left, so let's increase the volume size by 2GB.</p><p>Remember the logical volume is still mounted at <code>/mnt</code>.</p><div class="code-toolbar"><pre class="language-shell" tabindex="0"><code class="language-shell">vagrant@lvm:~$ <span class="token function">mount</span> <span class="token operator">|</span> <span class="token function">grep</span> <span class="token string">'/mnt'</span>
|
|
/dev/mapper/lvm_tutorial-lv1 on /mnt <span class="token builtin class-name">type</span> ext4 <span class="token punctuation">(</span>rw,relatime<span class="token punctuation">)</span></code></pre><div class="toolbar"><div class="toolbar-item"><button class="copy-to-clipboard-button" type="button" data-copy-state="copy"><span>Copy</span></button></div></div></div><p>Use the following command to resize the volume:-</p><pre><code>sudo lvresize -L +2GB lvm_tutorial/lv1</code></pre><p>The general syntax is something like this:-</p><pre><code>lvresize -L [+|-][Size] <vgname>/<lvname></code></pre><p>The symbol + or - after <code>-L</code> depends on whether you're trying to increase the size of the volume or decrease it respectively.</p><p>After the volume size has increased, the filesystem must be resized as well. For ext4, the command to use is <code>resize2fs</code>.</p><pre><code>sudo resize2fs /dev/lvm_tutorial/lv1</code></pre><p>Output:-</p><div class="code-toolbar"><pre class="language-shell" tabindex="0"><code class="language-shell">vagrant@lvm:~$ <span class="token function">sudo</span> resize2fs /dev/lvm_tutorial/lv1
|
|
resize2fs <span class="token number">1.45</span>.5 <span class="token punctuation">(</span>07-Jan-2020<span class="token punctuation">)</span>
|
|
Filesystem at /dev/lvm_tutorial/lv1 is mounted on /mnt<span class="token punctuation">;</span> on-line resizing required
|
|
old_desc_blocks <span class="token operator">=</span> <span class="token number">1</span>, new_desc_blocks <span class="token operator">=</span> <span class="token number">1</span>
|
|
The filesystem on /dev/lvm_tutorial/lv1 is now <span class="token number">1835008</span> <span class="token punctuation">(</span>4k<span class="token punctuation">)</span> blocks long.</code></pre><div class="toolbar"><div class="toolbar-item"><button class="copy-to-clipboard-button" type="button" data-copy-state="copy"><span>Copy</span></button></div></div></div><div class="kg-card kg-callout-card kg-callout-card-green"><div class="kg-callout-emoji">💡</div><div class="kg-callout-text">Not all filesystems support hot resizing, Ext4 and XFS are one of the supported ones. I recommend you stick to these.</div></div><p>Reducing a logical volume is a slightly more complicated task and I'm not going to talk about that here in this article. I'm reducing the size of this volume by 1GB.</p><figure class="kg-card kg-bookmark-card"><a class="kg-bookmark-container" href="https://linuxhandbook.com/resize-lvm-partition/"><div class="kg-bookmark-content"><div class="kg-bookmark-title">How to Resize LVM Partition Inside an Extended Partition</div><div class="kg-bookmark-description">Resizing a logical volume in Linux is not very difficult but it can be tricky if the root is under an extended partition.</div><div class="kg-bookmark-metadata"><img class="kg-bookmark-icon" src="./Complete Beginner's Guide to LVM in Linux [With Hands-on]_files/Linux-Handbook-New-Logo.png" alt=""><span class="kg-bookmark-author">Linux Handbook</span><span class="kg-bookmark-publisher">Rakesh Jain</span></div></div><div class="kg-bookmark-thumbnail"><img src="./Complete Beginner's Guide to LVM in Linux [With Hands-on]_files/Resize-LVM-Partition.png" alt="" onerror="this.style.display = 'none'"></div></a></figure><h4 id="removing-a-logical-volume">Removing a logical volume</h4><p>You remove a logical volume with the <code>lvremove</code> command. The command syntax is as follows:-</p><pre><code>lvremove <vgname>/<lvname></code></pre><p>Run this command on the virtual machine:-</p><pre><code>sudo lvremove lvm_tutorial/lv1</code></pre><p>Output:-</p><div class="code-toolbar"><pre class="language-shell" tabindex="0"><code class="language-shell">vagrant@lvm:~$ <span class="token function">sudo</span> lvremove lvm_tutorial/lv1
|
|
Do you really want to remove and DISCARD active logical volume lvm_tutorial/lv1? <span class="token punctuation">[</span>y/n<span class="token punctuation">]</span>: y
|
|
Logical volume <span class="token string">"lv1"</span> successfully removed
|
|
</code></pre><div class="toolbar"><div class="toolbar-item"><button class="copy-to-clipboard-button" type="button" data-copy-state="copy"><span>Copy</span></button></div></div></div><h2 id="conclusion">Conclusion</h2><p>There are a multitude of other operations doable on logical volumes, physical volumes and volume groups, but it's not possible to write all that into a single article.</p><p>I've left you with one more disk <code>/dev/sde</code> in the virtual machine. Use it, practice some of the commands from this article, create a new volume group, extend an existing one, just practice.</p><p>I hope this article was helpful for you, if you'd like to see more on this in the future, let me know in the comment section down below.</p>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="mt-12">
|
|
<div class="mb-6">
|
|
<h2 class="text-2xl tracking-tight leading-tight font-bold text-gray-950 dark:text-gray-50">
|
|
About the author
|
|
</h2>
|
|
</div>
|
|
|
|
<div class="grid grid-cols-1 gap-4">
|
|
<div class="w-full p-4 sm:p-8 rounded-xl sm:rounded-2xl bg-white dark:bg-white/5 ring-1 ring-inset ring-gray-950/10 dark:ring-gray-50/5">
|
|
<a href="https://linuxhandbook.com/author/debdut/" class="mb-4 flex-none flex items-center">
|
|
<img class="me-3 w-8 h-8 object-cover rounded-full" src="./Complete Beginner's Guide to LVM in Linux [With Hands-on]_files/IMG20200617092006.jpg" alt="Debdut Chakraborty" loading="lazy">
|
|
|
|
<span class="font-medium text-base text-gray-900 dark:text-gray-50">Debdut Chakraborty</span>
|
|
</a>
|
|
|
|
<p class="mb-4 has-links text-base text-gray-700 dark:text-gray-400">I'm me.</p>
|
|
|
|
<div class="flex flex-wrap items-center gap-3 text-gray-500 dark:text-gray-400">
|
|
<a href="https://linuxhandbook.com/author/debdut/" class="me-auto flex-none inline-flex items-center text-xs text-gray-500 dark:text-gray-400 hover:text-gray-900 dark:hover:text-gray-100 transition-colors duration-200">
|
|
View profile
|
|
<svg class="relative top-px ms-0.5 w-3.5 h-3.5 opacity-80 [:hover>&]:translate-x-1 transition-transform duration-150" style="" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none" stroke="currentColor" stroke-width="1.5" focusable="false" aria-hidden="true">
|
|
<path stroke-linecap="round" stroke-linejoin="round" d="M9 5l7 7-7 7"></path>
|
|
</svg> </a>
|
|
|
|
<div class="inline-flex flex-wrap items-center gap-4">
|
|
|
|
<a href="https://x.com/imdebdut" target="_blank" title="X (Twitter)" class="flex-none inline-flex items-center text-xs text-gray-500 dark:text-gray-400 hover:text-gray-900 dark:hover:text-gray-100 transition-colors duration-200">
|
|
|
|
<svg class="flex-none w-4 h-4 " xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="currentColor" focusable="false" aria-hidden="true">
|
|
<path d="M18.901 1.153h3.68l-8.04 9.19L24 22.846h-7.406l-5.8-7.584-6.638 7.584H.474l8.6-9.83L0 1.154h7.594l5.243 6.932ZM17.61 20.644h2.039L6.486 3.24H4.298Z"></path>
|
|
</svg> </a>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="mt-8 flex flex-wrap items-center justify-between gap-x-4 gap-y-5 js-toc-ignore">
|
|
<div data-sx-updated-on="" class="flex-none max-w-full text-xs text-gray-500 dark:text-gray-400">
|
|
Updated on Jan 2, 2025
|
|
</div>
|
|
|
|
|
|
<div class="flex flex-none gap-2">
|
|
<button data-sx-comments-toggle="62935653fd96041c2db93277" class="relative flex-none px-2 py-1 text-xs text-gray-500 hover:text-gray-700 dark:text-gray-400 dark:hover:text-gray-400 font-medium flex items-center rounded-full bg-white shadow-pretty dark:bg-transparent dark:shadow-none transition-colors duration-200">
|
|
<div class="absolute -inset-px -z-10 dark:bg-white/5 dark:[:hover>&]:bg-white/10 rounded-full border border-gray-950/5 dark:border-gray-50/5 transition-colors duration-200"></div>
|
|
|
|
<svg class="w-4 h-4 me-1 opacity-70" style="" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none" stroke-width="1.5" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" focusable="false" aria-hidden="true">
|
|
<path stroke-linecap="round" stroke-linejoin="round" d="M12 20.25c4.97 0 9-3.694 9-8.25s-4.03-8.25-9-8.25S3 7.444 3 12c0 2.104.859 4.023 2.273 5.48.432.447.74 1.04.586 1.641a4.483 4.483 0 0 1-.923 1.785A5.969 5.969 0 0 0 6 21c1.282 0 2.47-.402 3.445-1.087.81.22 1.668.337 2.555.337Z"></path>
|
|
</svg>
|
|
|
|
Comments
|
|
<div data-sx-comments-count="" hidden="" class="absolute top-1/2 end-1 -translate-y-5.75 flex flex-none items-center justify-center min-w-4 rounded-full bg-primary text-primary-contrast text-3xs leading-3 px-1 py-0.5 drop-shadow-primary-sm pointer-events-none">
|
|
|
|
</div>
|
|
</button>
|
|
|
|
<div class="flex-none relative">
|
|
<button data-sx-share="" class="peer relative flex-none px-2 py-1 text-xs text-gray-500 hover:text-gray-700 dark:text-gray-400 dark:hover:text-gray-400 font-medium flex items-center rounded-full bg-white shadow-pretty dark:bg-transparent dark:shadow-none transition-colors duration-200">
|
|
<div class="absolute -inset-px -z-10 dark:bg-white/5 dark:[:hover>&]:bg-white/10 rounded-full border border-gray-950/5 dark:border-gray-50/5 transition-colors duration-200"></div>
|
|
|
|
<svg class="w-3.5 h-3.5 me-1 opacity-80" style="" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" focusable="false" aria-hidden="true">
|
|
<path d="M4 12v8a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-8"></path>
|
|
<polyline points="16 6 12 2 8 6"></polyline>
|
|
<line x1="12" y1="2" x2="12" y2="15"></line>
|
|
</svg> Share
|
|
</button>
|
|
<div data-sx-share-dropdown="" class="hidden peer-[.open]:grid absolute z-50 top-14 -end-4 w-60
|
|
gap-2 p-2 backdrop-blur-sm bg-white/90 ring-1 ring-gray-900/5 shadow-pretty rounded-xl
|
|
dark:bg-background-dark/80 dark:ring-white/5 dark:ring-inset dark:shadow-lg
|
|
">
|
|
<div class="absolute inset-0 -z-10 dark:bg-white/5 rounded-xl pointer-events-none"></div>
|
|
|
|
<button data-sx-share-copy="https://linuxhandbook.com/lvm-guide/" class="p-2 w-full flex items-center text-sm font-medium leading-6 text-gray-500 hover:text-gray-950 dark:text-gray-400 dark:hover:text-gray-50 transition-colors duration-200">
|
|
<span class="flex items-center">
|
|
<svg class="w-5 h-5 me-3" style="" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none" stroke-width="1.5" stroke="currentColor" focusable="false" aria-hidden="true">
|
|
<path stroke-linecap="round" stroke-linejoin="round" d="M13.19 8.688a4.5 4.5 0 0 1 1.242 7.244l-4.5 4.5a4.5 4.5 0 0 1-6.364-6.364l1.757-1.757m13.35-.622 1.757-1.757a4.5 4.5 0 0 0-6.364-6.364l-4.5 4.5a4.5 4.5 0 0 0 1.242 7.244"></path>
|
|
</svg>
|
|
Copy link</span>
|
|
</button>
|
|
<a href="https://x.com/intent/tweet?url=https%3A%2F%2Flinuxhandbook.com%2Flvm-guide%2F&text=The%20Complete%20Beginner%27s%20Guide%20to%20LVM%20in%20Linux" class="p-2 w-full flex items-center text-sm font-medium leading-6 text-gray-500 hover:text-gray-950 dark:text-gray-400 dark:hover:text-gray-50 transition-colors duration-200" target="_blank">
|
|
|
|
<svg class="w-5 h-5 me-3" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="currentColor" focusable="false" aria-hidden="true">
|
|
<path d="M18.901 1.153h3.68l-8.04 9.19L24 22.846h-7.406l-5.8-7.584-6.638 7.584H.474l8.6-9.83L0 1.154h7.594l5.243 6.932ZM17.61 20.644h2.039L6.486 3.24H4.298Z"></path>
|
|
</svg> Share to X
|
|
</a>
|
|
<a href="https://www.facebook.com/sharer/sharer.php?u=https%3A%2F%2Flinuxhandbook.com%2Flvm-guide%2F" class="p-2 w-full flex items-center text-sm font-medium leading-6 text-gray-500 hover:text-gray-950 dark:text-gray-400 dark:hover:text-gray-50 transition-colors duration-200" target="_blank">
|
|
|
|
<svg class="w-5 h-5 me-3" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="currentColor" focusable="false" aria-hidden="true">
|
|
<path d="M9.101 23.691v-7.98H6.627v-3.667h2.474v-1.58c0-4.085 1.848-5.978 5.858-5.978.401 0 .955.042 1.468.103a8.68 8.68 0 0 1 1.141.195v3.325a8.623 8.623 0 0 0-.653-.036 26.805 26.805 0 0 0-.733-.009c-.707 0-1.259.096-1.675.309a1.686 1.686 0 0 0-.679.622c-.258.42-.374.995-.374 1.752v1.297h3.919l-.386 2.103-.287 1.564h-3.246v8.245C19.396 23.238 24 18.179 24 12.044c0-6.627-5.373-12-12-12s-12 5.373-12 12c0 5.628 3.874 10.35 9.101 11.647Z"></path>
|
|
</svg> Share to Facebook
|
|
</a>
|
|
<a href="https://www.linkedin.com/sharing/share-offsite/?url=https%3A%2F%2Flinuxhandbook.com%2Flvm-guide%2F" class="p-2 w-full flex items-center text-sm font-medium leading-6 text-gray-500 hover:text-gray-950 dark:text-gray-400 dark:hover:text-gray-50 transition-colors duration-200" target="_blank">
|
|
|
|
<svg class="w-5 h-5 me-3" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="currentColor" focusable="false" aria-hidden="true">
|
|
<path d="M20.447 20.452h-3.554v-5.569c0-1.328-.027-3.037-1.852-3.037-1.853 0-2.136 1.445-2.136 2.939v5.667H9.351V9h3.414v1.561h.046c.477-.9 1.637-1.85 3.37-1.85 3.601 0 4.267 2.37 4.267 5.455v6.286zM5.337 7.433c-1.144 0-2.063-.926-2.063-2.065 0-1.138.92-2.063 2.063-2.063 1.14 0 2.064.925 2.064 2.063 0 1.139-.925 2.065-2.064 2.065zm1.782 13.019H3.555V9h3.564v11.452zM22.225 0H1.771C.792 0 0 .774 0 1.729v20.542C0 23.227.792 24 1.771 24h20.451C23.2 24 24 23.227 24 22.271V1.729C24 .774 23.2 0 22.222 0h.003z"></path>
|
|
</svg> Share to Linkedin
|
|
</a>
|
|
</div>
|
|
<div data-sx-share-success="" class="hidden absolute z-50
|
|
ps-1 pe-1.5 py-0.5 text-3xs text-gray-50 dark:text-gray-950 font-medium [&.open]:flex items-center rounded-full shadow-pretty transition-colors duration-200
|
|
backdrop-blur-sm bg-background-dark/80
|
|
dark:bg-gray-300 dark:shadow-lg
|
|
">
|
|
|
|
<svg class="w-3.5 h-3.5 me-0.5 opacity-80" style="" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" focusable="false" aria-hidden="true">
|
|
<path fill-rule="evenodd" d="M12.416 3.376a.75.75 0 0 1 .208 1.04l-5 7.5a.75.75 0 0 1-1.154.114l-3-3a.75.75 0 0 1 1.06-1.06l2.353 2.353 4.493-6.74a.75.75 0 0 1 1.04-.207Z" clip-rule="evenodd"></path>
|
|
</svg> Copied
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div> </div>
|
|
|
|
<aside class="hidden xl:block flex-none w-56">
|
|
<div class="sticky top-26 mt-0.5 w-full grid grid-cols-1 gap-7">
|
|
<div data-sx-toc-container="" class="">
|
|
<div class="flex mb-3 relative">
|
|
<h2 class="text-2xs uppercase font-semibold tracking-wider text-gray-900 dark:text-gray-100">
|
|
On this page
|
|
</h2>
|
|
|
|
<button data-sx-toc-top="" aria-label="Back to top" title="Back to top" class="absolute -top-1.5 -end-1.5 flex items-center justify-center rounded-sm p-1.5 hover:bg-gray-900/5 dark:hover:bg-gray-50/10 transition-colors duration-200">
|
|
|
|
<svg class="w-3 h-3 text-gray-500 dark:text-gray-400" style="" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" focusable="false" aria-hidden="true">
|
|
<path fill-rule="evenodd" d="M8 14a.75.75 0 0 1-.75-.75V4.56L4.03 7.78a.75.75 0 0 1-1.06-1.06l4.5-4.5a.75.75 0 0 1 1.06 0l4.5 4.5a.75.75 0 0 1-1.06 1.06L8.75 4.56v8.69A.75.75 0 0 1 8 14Z" clip-rule="evenodd"></path>
|
|
</svg>
|
|
</button>
|
|
</div>
|
|
|
|
<nav data-sx-toc-target="" class="-my-1.5 relative text-xs leading-4 text-gray-500 dark:text-gray-400 dark:[&_.current]:text-gray-300"><ol class="toc-list "><li class="toc-list-item"><a href="https://linuxhandbook.com/lvm-guide/#___TOCBOT___" class="toc-link node-name--H2 flex py-1.5 hover:text-gray-700 dark:hover:text-gray-300 transition-colors duration-200">The Complete Beginner's Guide to LVM in Linux</a></li><li class="toc-list-item"><a href="https://linuxhandbook.com/lvm-guide/#what-is-lvm-in-linux" class="toc-link node-name--H2 flex py-1.5 hover:text-gray-700 dark:hover:text-gray-300 transition-colors duration-200">What is LVM in Linux?</a><ol class="toc-list is-collapsible is-collapsed"><li class="toc-list-item"><a href="https://linuxhandbook.com/lvm-guide/#components-of-lvm" class="toc-link node-name--H3 flex py-1.5 hover:text-gray-700 dark:hover:text-gray-300 transition-colors duration-200">Components of LVM</a></li><li class="toc-list-item"><a href="https://linuxhandbook.com/lvm-guide/#why-use-lvm" class="toc-link node-name--H3 flex py-1.5 hover:text-gray-700 dark:hover:text-gray-300 transition-colors duration-200">Why use LVM?</a></li></ol></li><li class="toc-list-item"><a href="https://linuxhandbook.com/lvm-guide/#lab-preparation-for-hands-on" class="toc-link node-name--H2 flex py-1.5 hover:text-gray-700 dark:hover:text-gray-300 transition-colors duration-200">Lab preparation for hands-on</a><ol class="toc-list is-collapsible is-collapsed"><li class="toc-list-item"><a href="https://linuxhandbook.com/lvm-guide/#installing-lvm" class="toc-link node-name--H3 flex py-1.5 hover:text-gray-700 dark:hover:text-gray-300 transition-colors duration-200">Installing LVM</a></li></ol></li><li class="toc-list-item"><a href="https://linuxhandbook.com/lvm-guide/#hands-on-with-lvm" class="toc-link node-name--H2 flex py-1.5 hover:text-gray-700 dark:hover:text-gray-300 transition-colors duration-200">Hands-on with LVM</a><ol class="toc-list is-collapsible"><li class="toc-list-item is-active-li"><a href="https://linuxhandbook.com/lvm-guide/#1-physical-volumes" class="toc-link node-name--H3 flex py-1.5 hover:text-gray-700 dark:hover:text-gray-300 transition-colors duration-200 current text-gray-700 font-medium -tracking-xs">1. Physical Volumes</a></li><li class="toc-list-item"><a href="https://linuxhandbook.com/lvm-guide/#2-volume-groups" class="toc-link node-name--H3 flex py-1.5 hover:text-gray-700 dark:hover:text-gray-300 transition-colors duration-200">2. Volume Groups</a></li><li class="toc-list-item"><a href="https://linuxhandbook.com/lvm-guide/#3-logical-volumes" class="toc-link node-name--H3 flex py-1.5 hover:text-gray-700 dark:hover:text-gray-300 transition-colors duration-200">3. Logical Volumes</a></li></ol></li><li class="toc-list-item"><a href="https://linuxhandbook.com/lvm-guide/#conclusion" class="toc-link node-name--H2 flex py-1.5 hover:text-gray-700 dark:hover:text-gray-300 transition-colors duration-200">Conclusion</a></li></ol></nav>
|
|
</div>
|
|
|
|
<div class="not-has-[a]:hidden">
|
|
</div>
|
|
|
|
<div class="not-has-[a]:hidden">
|
|
|
|
</div>
|
|
</div>
|
|
</aside>
|
|
</div>
|
|
|
|
<div class="max-w-5xl mx-auto">
|
|
<div class="my-20 lg:mb-5">
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div data-sx-comments="62935653fd96041c2db93277" class="invisible flex fixed inset-0 -z-10 not-[&.open]:pointer-events-none [&.open]:visible [&.open]:z-3999999">
|
|
<div data-sx-comments-close="" class="fixed inset-0 bg-black/20 dark:bg-black/50 backdrop-blur-xs"></div>
|
|
|
|
<div class="fixed top-0 end-0 bottom-0 w-full max-w-md shadow-lg bg-gray-50 dark:bg-gray-950 border-s border-gray-950/5 dark:border-gray-50/5 transition ease-out translate-x-full [.open>&]:translate-x-0">
|
|
<div class="relative px-outer pb-6 pt-14 h-full overflow-y-scroll overflow-x-hidden">
|
|
<button data-sx-comments-close="" aria-label="Close" class="fixed flex items-center justify-center top-4 end-3 p-2 text-gray-400 hover:text-gray-700 dark:hover:text-gray-200 bg-gray-50 dark:bg-gray-950 rounded-md">
|
|
|
|
<svg class="h-5 w-5" style="" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" focusable="false" aria-hidden="true">
|
|
<path stroke="none" d="M0 0h24v24H0z" fill="none"></path>
|
|
<path d="M14 12l-10 0"></path>
|
|
<path d="M14 12l-4 4"></path>
|
|
<path d="M14 12l-4 -4"></path>
|
|
<path d="M20 4l0 16"></path>
|
|
</svg> </button>
|
|
|
|
<div class="dark:hidden grid grid-cols-1 min-h-full text-gray-800 dark:text-gray-400">
|
|
|
|
<div id="ghost-comments-root"><iframe innerref="[object Object]" frameborder="0" title="comments-frame" style="width: 100%; height: 0px;" src="./Complete Beginner's Guide to LVM in Linux [With Hands-on]_files/saved_resource.html"></iframe></div><script defer="" src="./Complete Beginner's Guide to LVM in Linux [With Hands-on]_files/comments-ui.min.js.download" data-locale="en" data-ghost-comments="https://linuxhandbook.com/" data-api="https://linuxhandbook.com/ghost/api/content/" data-admin="https://linuxhandbook.com/ghost/" data-key="8b9deb200a68e07efbb9794a5a" data-title="null" data-count="true" data-post-id="62935653fd96041c2db93277" data-color-scheme="light" data-avatar-saturation="60" data-accent-color="#a52c5b" data-comments-enabled="all" data-publication="Linux Handbook" crossorigin="anonymous"></script>
|
|
|
|
</div>
|
|
|
|
<div class="hidden dark:grid grid-cols-1 min-h-full text-gray-800 dark:text-gray-400">
|
|
|
|
<div id="ghost-comments-root"><iframe innerref="[object Object]" frameborder="0" title="comments-frame" style="width: 100%; height: 152px;" src="./Complete Beginner's Guide to LVM in Linux [With Hands-on]_files/saved_resource(1).html"></iframe></div><script defer="" src="./Complete Beginner's Guide to LVM in Linux [With Hands-on]_files/comments-ui.min.js.download" data-locale="en" data-ghost-comments="https://linuxhandbook.com/" data-api="https://linuxhandbook.com/ghost/api/content/" data-admin="https://linuxhandbook.com/ghost/" data-key="8b9deb200a68e07efbb9794a5a" data-title="null" data-count="true" data-post-id="62935653fd96041c2db93277" data-color-scheme="dark" data-avatar-saturation="60" data-accent-color="#a52c5b" data-comments-enabled="all" data-publication="Linux Handbook" crossorigin="anonymous"></script>
|
|
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<span id="ezoic-pub-ad-placeholder-111" class="ezoic-adpicker-ad"></span><span data-ez-ph-id="111"></span></main>
|
|
|
|
<footer id="sx-footer" class=" no-space-top flex-none mt-auto">
|
|
<div class="outer xl:outer-xl pb-28 pt-20 mt-20 border-t border-gray-950/5 dark:border-gray-50/5 [.no-space-top>&]:mt-0">
|
|
<div class="inner">
|
|
<div class="grid gap-10 lg:grid-cols-[1fr_auto] ">
|
|
<div class="mb-6 lg:[:has([data-sx-slug])>&]:col-span-2 ">
|
|
<a id="sx-footer-brand" class="flex-none inline-flex font-bold text-xl text-gray-950 dark:text-gray-50" href="https://linuxhandbook.com/" aria-label="Linux Handbook">
|
|
<img class="max-h-9 w-auto" src="./Complete Beginner's Guide to LVM in Linux [With Hands-on]_files/linux-handbook-cover.png" alt="Linux Handbook" loading="lazy">
|
|
</a>
|
|
|
|
<div id="sx-footer-description" class="mt-2 text-base max-w-md text-pretty">
|
|
An independent, reader-supported publication focusing on Linux Command Line, Server, Self-hosting, DevOps and Cloud Learning
|
|
</div>
|
|
</div>
|
|
|
|
<nav id="sx-nav-footer" data-sx-nav="" class="w-full grid gap-10 grid-cols-[repeat(auto-fill,minmax(140px,1fr))] not-has-[li]:hidden">
|
|
</nav>
|
|
|
|
|
|
|
|
|
|
<div id="sx-footer-subscription" class="flex-none lg:max-w-sm lg:ms-auto pt-10 lg:pt-0 border-t lg:border-none border-gray-900/5 dark:border-gray-50/5">
|
|
<h2 class="mb-4 text-sm font-medium text-pretty text-gray-950 dark:text-gray-50">
|
|
Subscribe to our newsletter
|
|
</h2>
|
|
<p class="mb-4 text-sm text-pretty">
|
|
Get the latest posts and updates delivered to your inbox. <br> No spam. Unsubscribe anytime.
|
|
</p>
|
|
<button data-portal="signup" class="flex items-center ps-5 pe-1 rounded-full h-12 w-full max-w-md lg:min-w-80 text-sm text-gray-500 bg-white shadow-xs ring-1 ring-inset ring-gray-950/10 dark:text-gray-400 dark:bg-white/5 dark:ring-white/10 dark:shadow-none gh-portal-close">
|
|
<span aria-hidden="true" class="text-start truncate pe-2">Enter your email</span>
|
|
<span class="[:hover>&]:opacity-80 dark:[:hover>&]:opacity-100 relative flex items-center ms-auto h-10 px-6 rounded-full bg-primary shadow-primary ring-inset ring-gray-950/10 dark:ring-1 dark:ring-white/10 dark:bg-white/5 dark:shadow-none transition-opacity duration-200">
|
|
<span class="hidden dark:block [:hover>*>&]:opacity-10 absolute inset-0 rounded-full bg-radial-[50%_100%_at_50%_100%] from-white/20 transition-opacity duration-1000"></span>
|
|
|
|
<span class="text-primary-contrast font-medium dark:bg-linear-to-br from-gray-50 from-50% dark:bg-clip-text dark:text-transparent">
|
|
Subscribe
|
|
</span>
|
|
</span>
|
|
</button>
|
|
</div>
|
|
</div>
|
|
|
|
|
|
<div class="mt-10 pt-10 lg:pt-0 border-t lg:border-0 border-gray-900/5 dark:border-gray-50/5 lg:has-data-sx-slug:pt-10">
|
|
<div class="has-data-sx-slug:-my-1.5">
|
|
<ul id="sx-nav-footer-flat" data-sx-nav="" class="flex flex-col xs:flex-row gap-3.5 gap-y-1.5 flex-wrap">
|
|
<li data-sx-slug="contact" class="inline-flex">
|
|
<a href="https://linuxhandbook.com/contact/" class="inline-block text-sm xs:text-xs leading-6 hover:text-gray-950 dark:hover:text-gray-50 transition-colors duration-200">
|
|
Contact<!--
|
|
--><svg class="[.sx-external>&]:inline hidden relative top-1.5 shrink-0 w-3 h-3 ms-0.5 -me-0.5 align-top" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" focusable="false" aria-hidden="true">
|
|
<path fill-rule="evenodd" d="M4.22 11.78a.75.75 0 0 1 0-1.06L9.44 5.5H5.75a.75.75 0 0 1 0-1.5h5.5a.75.75 0 0 1 .75.75v5.5a.75.75 0 0 1-1.5 0V6.56l-5.22 5.22a.75.75 0 0 1-1.06 0Z" clip-rule="evenodd"></path>
|
|
</svg>
|
|
|
|
</a>
|
|
</li>
|
|
<li data-sx-slug="pro-resources" class="inline-flex">
|
|
<a href="https://linuxhandbook.com/member-resources/" class="inline-block text-sm xs:text-xs leading-6 hover:text-gray-950 dark:hover:text-gray-50 transition-colors duration-200">
|
|
Pro Resources<!--
|
|
--><svg class="[.sx-external>&]:inline hidden relative top-1.5 shrink-0 w-3 h-3 ms-0.5 -me-0.5 align-top" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" focusable="false" aria-hidden="true">
|
|
<path fill-rule="evenodd" d="M4.22 11.78a.75.75 0 0 1 0-1.06L9.44 5.5H5.75a.75.75 0 0 1 0-1.5h5.5a.75.75 0 0 1 .75.75v5.5a.75.75 0 0 1-1.5 0V6.56l-5.22 5.22a.75.75 0 0 1-1.06 0Z" clip-rule="evenodd"></path>
|
|
</svg>
|
|
|
|
</a>
|
|
</li>
|
|
<li data-sx-slug="membership-faq" class="inline-flex">
|
|
<a href="https://linuxhandbook.com/membership-faq/" class="inline-block text-sm xs:text-xs leading-6 hover:text-gray-950 dark:hover:text-gray-50 transition-colors duration-200">
|
|
Membership FAQ<!--
|
|
--><svg class="[.sx-external>&]:inline hidden relative top-1.5 shrink-0 w-3 h-3 ms-0.5 -me-0.5 align-top" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" focusable="false" aria-hidden="true">
|
|
<path fill-rule="evenodd" d="M4.22 11.78a.75.75 0 0 1 0-1.06L9.44 5.5H5.75a.75.75 0 0 1 0-1.5h5.5a.75.75 0 0 1 .75.75v5.5a.75.75 0 0 1-1.5 0V6.56l-5.22 5.22a.75.75 0 0 1-1.06 0Z" clip-rule="evenodd"></path>
|
|
</svg>
|
|
|
|
</a>
|
|
</li>
|
|
<li data-sx-slug="cheat-sheets" class="inline-flex">
|
|
<a href="https://linuxhandbook.com/cheatsheets/" class="inline-block text-sm xs:text-xs leading-6 hover:text-gray-950 dark:hover:text-gray-50 transition-colors duration-200">
|
|
Cheat Sheets<!--
|
|
--><svg class="[.sx-external>&]:inline hidden relative top-1.5 shrink-0 w-3 h-3 ms-0.5 -me-0.5 align-top" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" focusable="false" aria-hidden="true">
|
|
<path fill-rule="evenodd" d="M4.22 11.78a.75.75 0 0 1 0-1.06L9.44 5.5H5.75a.75.75 0 0 1 0-1.5h5.5a.75.75 0 0 1 .75.75v5.5a.75.75 0 0 1-1.5 0V6.56l-5.22 5.22a.75.75 0 0 1-1.06 0Z" clip-rule="evenodd"></path>
|
|
</svg>
|
|
|
|
</a>
|
|
</li>
|
|
<li data-sx-slug="privacy-policy" class="inline-flex">
|
|
<a href="https://linuxhandbook.com/privacy-policy/" class="inline-block text-sm xs:text-xs leading-6 hover:text-gray-950 dark:hover:text-gray-50 transition-colors duration-200">
|
|
Privacy Policy<!--
|
|
--><svg class="[.sx-external>&]:inline hidden relative top-1.5 shrink-0 w-3 h-3 ms-0.5 -me-0.5 align-top" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" focusable="false" aria-hidden="true">
|
|
<path fill-rule="evenodd" d="M4.22 11.78a.75.75 0 0 1 0-1.06L9.44 5.5H5.75a.75.75 0 0 1 0-1.5h5.5a.75.75 0 0 1 .75.75v5.5a.75.75 0 0 1-1.5 0V6.56l-5.22 5.22a.75.75 0 0 1-1.06 0Z" clip-rule="evenodd"></path>
|
|
</svg>
|
|
|
|
</a>
|
|
</li>
|
|
<li data-sx-slug="write-for-us" class="inline-flex">
|
|
<a href="https://linuxhandbook.com/write-for-us/" class="inline-block text-sm xs:text-xs leading-6 hover:text-gray-950 dark:hover:text-gray-50 transition-colors duration-200">
|
|
Write for Us<!--
|
|
--><svg class="[.sx-external>&]:inline hidden relative top-1.5 shrink-0 w-3 h-3 ms-0.5 -me-0.5 align-top" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" focusable="false" aria-hidden="true">
|
|
<path fill-rule="evenodd" d="M4.22 11.78a.75.75 0 0 1 0-1.06L9.44 5.5H5.75a.75.75 0 0 1 0-1.5h5.5a.75.75 0 0 1 .75.75v5.5a.75.75 0 0 1-1.5 0V6.56l-5.22 5.22a.75.75 0 0 1-1.06 0Z" clip-rule="evenodd"></path>
|
|
</svg>
|
|
|
|
</a>
|
|
</li>
|
|
<li data-sx-slug="terms-of-use" class="inline-flex">
|
|
<a href="https://linuxhandbook.com/terms/" class="inline-block text-sm xs:text-xs leading-6 hover:text-gray-950 dark:hover:text-gray-50 transition-colors duration-200">
|
|
Terms of Use<!--
|
|
--><svg class="[.sx-external>&]:inline hidden relative top-1.5 shrink-0 w-3 h-3 ms-0.5 -me-0.5 align-top" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" focusable="false" aria-hidden="true">
|
|
<path fill-rule="evenodd" d="M4.22 11.78a.75.75 0 0 1 0-1.06L9.44 5.5H5.75a.75.75 0 0 1 0-1.5h5.5a.75.75 0 0 1 .75.75v5.5a.75.75 0 0 1-1.5 0V6.56l-5.22 5.22a.75.75 0 0 1-1.06 0Z" clip-rule="evenodd"></path>
|
|
</svg>
|
|
|
|
</a>
|
|
</li>
|
|
</ul>
|
|
|
|
|
|
|
|
</div>
|
|
|
|
<div class="grid sm:grid-cols-[1fr_auto] gap-4 lg:flex lg:gap-5 mt-3.5 max-sm:mt-6">
|
|
<div class="max-sm:order-last text-xs sm:leading-6 me-auto">
|
|
<span id="sx-footer-copy">
|
|
<a href="https://linuxhandbook.com/" class="hover:text-gray-950 dark:hover:text-gray-50 transition-colors">Linux Handbook</a>
|
|
© 2025
|
|
</span>
|
|
<span id="sx-footer-published-with">
|
|
<span class="mx-1">·</span>
|
|
Hosted on <a class="font-medium hover:text-gray-950 dark:hover:text-gray-50 transition-colors" href="https://m.do.co/c/d58840562553" target="_blank" rel="noopener">DigitalOcean</a> (get $200 in FREE credits). Published with <a class="font-medium hover:text-gray-950 dark:hover:text-gray-50 transition-colors" href="https://ghost.org/?via=abhishek70" target="_blank" rel="noopener">Ghost</a> and <a class="font-medium hover:text-gray-950 dark:hover:text-gray-50 transition-colors" href="https://spiritix.co/?aff=GNoD0" target="_blank" rel="noopener">Spiritix</a>
|
|
</span>
|
|
</div>
|
|
|
|
<span class="sm:max-lg:row-start-1 sm:max-lg:col-start-1 sm:max-lg:col-span-2 inline-flex flex-wrap items-center gap-2 md:gap-4 -ms-1 -my-1 md:ms-0 md:my-0 md:py-1 md:pe-4 lg:ms-auto lg:border-e border-gray-950/10 dark:border-white/10 text-gray-400 not-has-[a]:hidden">
|
|
<a data-sx-social-link="" class="p-1 md:p-0" href="https://x.com/linuxhandbook" title="X (Formerly Twitter)" aria-label="X (Formerly Twitter)" target="_blank">
|
|
|
|
<svg class="w-4 h-4 hover:text-gray-950 dark:hover:text-gray-50 transition-colors duration-200" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="currentColor" focusable="false" aria-hidden="true">
|
|
<path d="M18.901 1.153h3.68l-8.04 9.19L24 22.846h-7.406l-5.8-7.584-6.638 7.584H.474l8.6-9.83L0 1.154h7.594l5.243 6.932ZM17.61 20.644h2.039L6.486 3.24H4.298Z"></path>
|
|
</svg> </a>
|
|
|
|
<a data-sx-social-link="" class="p-1 md:p-0" href="https://www.facebook.com/linuxhandbook" title="Facebook" aria-label="Facebook" target="_blank">
|
|
|
|
<svg class="w-4 h-4 hover:text-gray-950 dark:hover:text-gray-50 transition-colors duration-200" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="currentColor" focusable="false" aria-hidden="true">
|
|
<path d="M9.101 23.691v-7.98H6.627v-3.667h2.474v-1.58c0-4.085 1.848-5.978 5.858-5.978.401 0 .955.042 1.468.103a8.68 8.68 0 0 1 1.141.195v3.325a8.623 8.623 0 0 0-.653-.036 26.805 26.805 0 0 0-.733-.009c-.707 0-1.259.096-1.675.309a1.686 1.686 0 0 0-.679.622c-.258.42-.374.995-.374 1.752v1.297h3.919l-.386 2.103-.287 1.564h-3.246v8.245C19.396 23.238 24 18.179 24 12.044c0-6.627-5.373-12-12-12s-12 5.373-12 12c0 5.628 3.874 10.35 9.101 11.647Z"></path>
|
|
</svg> </a>
|
|
|
|
</span>
|
|
|
|
<button data-sx-theme-toggle="" class="max-sm:order-first sm:max-lg:col-start-2 me-auto sm:ms-auto sm:me-0 lg:-ms-0.5 inline-flex flex-none items-center h-6 max-w-fit rounded-full text-gray-400 ring-1 ring-gray-950/10 dark:ring-white/10 bg-gray-100 hover:bg-gray-950/5 dark:bg-transparent dark:hover:bg-white/5 transition-colors duration-200" title="Change theme" aria-label="Change theme">
|
|
<span class="inline-flex flex-none items-center justify-center w-6 h-6 rounded-full ring-1 ring-gray-950/10 dark:ring-transparent bg-white dark:bg-transparent shadow-xs dark:shadow-none">
|
|
<svg class="w-4 h-4 text-gray-950 dark:text-gray-400" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none" stroke="currentColor" stroke-width="2" focusable="false" aria-hidden="true">
|
|
<path stroke-linecap="round" stroke-linejoin="round" d="M12 3v1m0 16v1m9-9h-1M4 12H3m15.364 6.364l-.707-.707M6.343 6.343l-.707-.707m12.728 0l-.707.707M6.343 17.657l-.707.707M16 12a4 4 0 11-8 0 4 4 0 018 0z"></path>
|
|
</svg>
|
|
</span>
|
|
<span class="inline-flex flex-none items-center justify-center w-6 h-6 rounded-full ring-1 ring-transparent dark:ring-white/10 dark:bg-white/10">
|
|
<svg class="w-4 h-4 dark:text-gray-50" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" focusable="false" aria-hidden="true">
|
|
<path stroke="none" d="M0 0h24v24H0z" fill="none"></path>
|
|
<path d="M12 3c.132 0 .263 0 .393 0a7.5 7.5 0 0 0 7.92 12.446a9 9 0 1 1 -8.313 -12.454z"></path>
|
|
<path d="M17 4a2 2 0 0 0 2 2a2 2 0 0 0 -2 2a2 2 0 0 0 -2 -2a2 2 0 0 0 2 -2"></path>
|
|
</svg> </span>
|
|
</button>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</footer> </div><iframe name="__tcfapiLocator" style="display: none;" src="./Complete Beginner's Guide to LVM in Linux [With Hands-on]_files/saved_resource(2).html"></iframe>
|
|
|
|
<div class="pswp" tabindex="-1" role="dialog" aria-hidden="true" data-error-msg="The image could not be loaded.">
|
|
<div class="pswp__bg"></div>
|
|
|
|
<div class="pswp__scroll-wrap">
|
|
<div class="pswp__container">
|
|
<div class="pswp__item"></div>
|
|
<div class="pswp__item"></div>
|
|
<div class="pswp__item"></div>
|
|
</div>
|
|
|
|
<div class="pswp__ui pswp__ui--hidden">
|
|
<div class="pswp__top-bar">
|
|
<div class="pswp__counter"></div>
|
|
|
|
<button class="pswp__button pswp__button--close" title="Close (Esc)"></button>
|
|
|
|
<!-- Preloader -->
|
|
<!-- element will get class pswp__preloader--active when preloader is running -->
|
|
<div class="pswp__preloader" aria-label="Loading">
|
|
<svg class="m-1.5 text-white opacity-100 w-8 h-8" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="40px" height="40px" viewBox="0 0 40 40" enable-background="new 0 0 40 40" xml:space="preserve" focusable="false" aria-hidden="true">
|
|
<path opacity="0.2" fill="currentColor" d="M20.201,5.169c-8.254,0-14.946,6.692-14.946,14.946c0,8.255,6.692,14.946,14.946,14.946
|
|
s14.946-6.691,14.946-14.946C35.146,11.861,28.455,5.169,20.201,5.169z M20.201,31.749c-6.425,0-11.634-5.208-11.634-11.634
|
|
c0-6.425,5.209-11.634,11.634-11.634c6.425,0,11.633,5.209,11.633,11.634C31.834,26.541,26.626,31.749,20.201,31.749z"></path>
|
|
<path fill="currentColor" d="M26.013,10.047l1.654-2.866c-2.198-1.272-4.743-2.012-7.466-2.012h0v3.312h0
|
|
C22.32,8.481,24.301,9.057,26.013,10.047z">
|
|
<animatetransform attributeType="xml" attributeName="transform" type="rotate" from="0 20 20" to="360 20 20" dur="0.5s" repeatCount="indefinite"></animatetransform>
|
|
</path>
|
|
</svg> </div>
|
|
</div>
|
|
|
|
<div class="pswp__share-modal pswp__share-modal--hidden pswp__single-tap">
|
|
<div class="pswp__share-tooltip"></div>
|
|
</div>
|
|
|
|
<button class="pswp__button pswp__button--arrow--left" title="Previous (arrow left)"></button>
|
|
<button class="pswp__button pswp__button--arrow--right" title="Next (arrow right)"></button>
|
|
|
|
<div class="pswp__caption">
|
|
<div class="pswp__caption__center"></div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
|
|
<script id="snack_ads" src="./Complete Beginner's Guide to LVM in Linux [With Hands-on]_files/3414" crossorigin="anonymous"></script>
|
|
|
|
<!-- This site is converting visitors into subscribers and customers with OptinMonster - https://optinmonster.com -->
|
|
<script>(function(d,u,ac){var s=d.createElement('script');s.type='text/javascript';s.src='https://a.omappapi.com/app/js/api.min.js';s.async=true;s.dataset.user=u;s.dataset.account=ac;d.getElementsByTagName('head')[0].appendChild(s);})(document,333364,352958);</script>
|
|
<!-- / https://optinmonster.com -->
|
|
|
|
|
|
|
|
<div id="sx-lazy-script" data-src="/assets/built/lazy.min.js?v=eacb93878d"></div>
|
|
|
|
<!--[selectrongo:done]--><span id="ezoic-pub-ad-placeholder-100"></span><span data-ez-ph-id="100" style="display:inline-block;line-height:0px;padding:0;min-width:0px;min-height:0px;max-width:100% !important;float:none !important;box-sizing:content-box;"></span><script>!function(){function t(t,e){(null==e||e>t.length)&&(e=t.length);for(var r=0,n=new Array(e);r<e;r++)n[r]=t[r];return n}!function(){function e(){return document.querySelector('ins[data-anchor-shown="true"][data-anchor-status="displayed"]')}function r(t){var e=t.querySelector("iframe");e&&requestAnimationFrame((function(){var r=parseFloat(getComputedStyle(e).height);isNaN(r)||t.style.setProperty("height","".concat(r+5,"px"),"important")}))}function n(t){t.style.setProperty("width","100%","important"),t.style.maxWidth="none"}function o(t){var e=t.querySelector("iframe");e&&(e.style.setProperty("display","block","important"),e.style.setProperty("margin","0 auto","important"));var r=t.querySelector("[id$='__container__']");r&&r.style.setProperty("display","contents","important")}function a(e){if(e){var a=new WeakSet;a.has(e)||(a.add(e),new MutationObserver((function(a){var i,u=function(e,r){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=function(e,r){if(e){if("string"==typeof e)return t(e,r);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?t(e,r):void 0}}(e))||r&&e&&"number"==typeof e.length){n&&(e=n);var o=0,a=function(){};return{s:a,n:function(){return o>=e.length?{done:!0}:{done:!1,value:e[o++]}},e:function(t){throw t},f:a}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var i,u=!0,c=!1;return{s:function(){n=n.call(e)},n:function(){var t=n.next();return u=t.done,t},e:function(t){c=!0,i=t},f:function(){try{u||null==n.return||n.return()}finally{if(c)throw i}}}}(a);try{for(u.s();!(i=u.n()).done;){var c=i.value;"style"===c.attributeName?(r(e),n(e),o(e)):"attributes"===c.type&&"data-google-query-id"===c.attributeName&&o(e)}}catch(t){u.e(t)}finally{u.f()}})).observe(e,{attributes:!0,attributeFilter:["style","data-google-query-id"]}))}}!function(){var t=e();if(t)return r(t),n(t),o(t),void a(t);var i=new MutationObserver((function(){var t=e();t&&(r(t),n(t),o(t),a(t),i.disconnect())}));i.observe(document.body,{attributes:!0,subtree:!0,childList:!0})}()}()}();</script>
|
|
<script type="text/javascript" style="display:none;" async="">if (typeof window.__ez !== 'undefined' && window.__ez?.queue?.addFileOnce) {window.__ez.queue.addFileOnce('identity', 'https://go.ezodn.com/detroitchicago/indy.js?cb=72&gcb=0', true, [], true, false, false, true);} </script><script data-cfasync="false">function _emitEzConsentEvent(){var customEvent=new CustomEvent("ezConsentEvent",{detail:{ezTcfConsent:window.ezTcfConsent},bubbles:true,cancelable:true,});document.dispatchEvent(customEvent);}
|
|
(function(window,document){function _setAllEzConsentTrue(){window.ezTcfConsent.loaded=true;window.ezTcfConsent.store_info=true;window.ezTcfConsent.develop_and_improve_services=true;window.ezTcfConsent.measure_ad_performance=true;window.ezTcfConsent.measure_content_performance=true;window.ezTcfConsent.select_basic_ads=true;window.ezTcfConsent.create_ad_profile=true;window.ezTcfConsent.select_personalized_ads=true;window.ezTcfConsent.create_content_profile=true;window.ezTcfConsent.select_personalized_content=true;window.ezTcfConsent.understand_audiences=true;window.ezTcfConsent.use_limited_data_to_select_content=true;window.ezTcfConsent.select_personalized_content=true;}
|
|
function _clearEzConsentCookie(){document.cookie="ezCMPCookieConsent=tcf2;Domain=.linuxhandbook.com;Path=/;expires=Thu, 01 Jan 1970 00:00:00 GMT";}
|
|
_clearEzConsentCookie();if(typeof window.__tcfapi!=="undefined"){window.ezgconsent=false;var amazonHasRun=false;function _ezAllowed(tcdata,purpose){return(tcdata.purpose.consents[purpose]||tcdata.purpose.legitimateInterests[purpose]);}
|
|
function _handleConsentDecision(tcdata){window.ezTcfConsent.loaded=true;if(!tcdata.vendor.consents["347"]&&!tcdata.vendor.legitimateInterests["347"]){window._emitEzConsentEvent();return;}
|
|
window.ezTcfConsent.store_info=_ezAllowed(tcdata,"1");window.ezTcfConsent.develop_and_improve_services=_ezAllowed(tcdata,"10");window.ezTcfConsent.measure_content_performance=_ezAllowed(tcdata,"8");window.ezTcfConsent.select_basic_ads=_ezAllowed(tcdata,"2");window.ezTcfConsent.create_ad_profile=_ezAllowed(tcdata,"3");window.ezTcfConsent.select_personalized_ads=_ezAllowed(tcdata,"4");window.ezTcfConsent.create_content_profile=_ezAllowed(tcdata,"5");window.ezTcfConsent.measure_ad_performance=_ezAllowed(tcdata,"7");window.ezTcfConsent.use_limited_data_to_select_content=_ezAllowed(tcdata,"11");window.ezTcfConsent.select_personalized_content=_ezAllowed(tcdata,"6");window.ezTcfConsent.understand_audiences=_ezAllowed(tcdata,"9");window._emitEzConsentEvent();}
|
|
function _handleGoogleConsentV2(tcdata){if(!tcdata||!tcdata.purpose||!tcdata.purpose.consents){return;}
|
|
var googConsentV2={};if(tcdata.purpose.consents[1]){googConsentV2.ad_storage='granted';googConsentV2.analytics_storage='granted';}
|
|
if(tcdata.purpose.consents[3]&&tcdata.purpose.consents[4]){googConsentV2.ad_personalization='granted';}
|
|
if(tcdata.purpose.consents[1]&&tcdata.purpose.consents[7]){googConsentV2.ad_user_data='granted';}
|
|
if(googConsentV2.analytics_storage=='denied'){gtag('set','url_passthrough',true);}
|
|
gtag('consent','update',googConsentV2);}
|
|
__tcfapi("addEventListener",2,function(tcdata,success){if(!success||!tcdata){window._emitEzConsentEvent();return;}
|
|
if(!tcdata.gdprApplies){_setAllEzConsentTrue();window._emitEzConsentEvent();return;}
|
|
if(tcdata.eventStatus==="useractioncomplete"||tcdata.eventStatus==="tcloaded"){if(typeof gtag!='undefined'){_handleGoogleConsentV2(tcdata);}
|
|
_handleConsentDecision(tcdata);if(tcdata.purpose.consents["1"]===true&&tcdata.vendor.consents["755"]!==false){window.ezgconsent=true;(adsbygoogle=window.adsbygoogle||[]).pauseAdRequests=0;}
|
|
if(window.__ezconsent){__ezconsent.setEzoicConsentSettings(ezConsentCategories);}
|
|
__tcfapi("removeEventListener",2,function(success){return null;},tcdata.listenerId);if(!(tcdata.purpose.consents["1"]===true&&_ezAllowed(tcdata,"2")&&_ezAllowed(tcdata,"3")&&_ezAllowed(tcdata,"4"))){if(typeof __ez=="object"&&typeof __ez.bit=="object"&&typeof window["_ezaq"]=="object"&&typeof window["_ezaq"]["page_view_id"]=="string"){__ez.bit.Add(window["_ezaq"]["page_view_id"],[new __ezDotData("non_personalized_ads",true),]);}}}});}else{_setAllEzConsentTrue();window._emitEzConsentEvent();}})(window,document);</script><script defer="" src="https://static.cloudflareinsights.com/beacon.min.js/vcd15cbe7772f49c399c6a5babf22c1241717689176015" integrity="sha512-ZpsOmlRQV6y907TI0dKBHq9Md29nnaEIPlkf84rnaERnq6zvWvPUqr2ft8M1aS28oN72PdrCzSjY4U6VaAw1EQ==" data-cf-beacon="{"version":"2024.11.0","token":"f2f270691a4f417596e25bd6b61f41aa","r":1,"server_timing":{"name":{"cfCacheStatus":true,"cfEdge":true,"cfExtPri":true,"cfL4":true,"cfOrigin":true,"cfSpeedBrain":true},"location_startswith":null}}" crossorigin="anonymous"></script>
|
|
<div id="sx-search-root"></div><div id="ghost-portal-root"><iframe data-testid="portal-trigger-frame" title="portal-trigger" frameborder="0" dir="ltr" class="gh-portal-triggerbtn-iframe" style="z-index: 3999998; position: fixed; bottom: 0px; right: 0px; width: 183px; max-width: 500px; height: 98px; animation: 250ms ease 0s 1 normal none running animation-bhegco; transition: opacity 0.3s; overflow: hidden;" src="./Complete Beginner's Guide to LVM in Linux [With Hands-on]_files/saved_resource(3).html"></iframe></div><div id="ez-cmpv2-container"><div data-nosnippet="" id="ez-cookie-dialog-wrapper" class="ez_banner ez-main-cmp-wrapper ez-twentytwentytwo"><div id="ez-cookie-dialog" class="ez_twentytwentytwo_corners ez_banner"><div id="ez-cookie-form"><div id="ez-cookie-template"><button id="ezPrivacyCenterClose" class="ez-switch-view-btn" onclick="ezCMP.ezCMPCloseButton()">✕</button><h2>Privacy & Transparency</h2><div id="main-ezcmp"><p>linuxhandbook.com and our partners ask for your consent to use your personal data, and to store and/or access information on your device. This includes using your personal data for personalised advertising and content, advertising and content measurement, audience research and services development. An example of data being processed may be a unique identifier stored in a cookie. Your personal data may be stored by, accessed by, and shared with 1055 partners, or used specifically by this site. You can change your settings or withdraw consent at any time, the link to do so is in our privacy policy at the bottom of this page. Some vendors may process your personal data on the basis of legitimate interest, which you can object to by managing your settings below.</p></div><div id="ez-cmp-loader"></div><p><span id="button-row"><button id="ez-manage-settings" class="ez-switch-view-btn ez_twentytwentytwo_corners" onclick="ezCMP.handleShowDetailsClick()">Manage Settings</button>
|
|
<button id="ez-reject-all" class="ez-switch-view-btn ez_twentytwentytwo_corners" onclick="ezCMP.handleRejectClick()" style="display:none; padding: 20px 100px !important;">Reject All</button>
|
|
<button id="ez-accept-all" class="ez-switch-view-btn ez_twentytwentytwo_corners" onclick="ezCMP.handleAcceptAllClick()">Continue with Recommended Cookies</button></span></p><div id="secondary-links"><a id="ez-vendors" href="javascript:void(0);" onclick="ezCMP.handleShowVendorsClick()">Vendor List</a>
|
|
<span class="bar">|</span>
|
|
<a href="https://linuxhandbook.com/privacy-policy/" target="_privacy">Privacy Policy</a></div></div></div></div></div><div id="ez-cookie-loader-wrapper" style="display:none!important"><div id="ez-cookie-loader"></div></div><style id="ez-cmp-container-v2-css">#ez-cookie-dialog-wrapper{width:100%!important;height:100%!important;margin:0 auto!important;position:fixed!important;top:0!important;left:0!important;background-color:rgba(0,0,0,.5)!important;font-family:Arial,serif!important;z-index:20000000000!important;overflow-y:auto!important;backdrop-filter:blur(3px)}#ez-cookie-dialog-wrapper #ez-cookie-dialog #ez-cookie-table-box{overflow-y:auto!important;max-height:150px!important}#ez-cookie-dialog-wrapper #ez-cookie-dialog .select-wrapper span,#ez-cookie-dialog-wrapper #ez-cookie-dialog .select-wrapper ul,#ez-cookie-dialog-wrapper #ez-cookie-dialog .select-wrapper input{display:none!important}#ez-cookie-dialog-wrapper #ez-cookie-dialog.ez_modal,#ez-cookie-dialog-wrapper #ez-cookie-dialog.modal{display:block!important;position:relative!important;opacity:1!important;visibility:visible!important;margin:30px auto 0!important;width:650px!important;-webkit-box-sizing:content-box!important;-moz-box-sizing:content-box!important;box-sizing:content-box!important;max-width:90%!important;background:#fff!important;padding:12px 10px!important;overflow:hidden!important;z-index:2000000000!important;border:10px solid #5fa624!important;box-shadow:#333 1px 1px 10px 1px!important;line-height:1.2!important;text-align:left!important}#ez-cookie-dialog-wrapper #ez-cookie-dialog.ez_banner{display:block!important;position:fixed!important;bottom:0;opacity:1!important;max-height:90%!important;visibility:visible!important;-webkit-box-sizing:content-box!important;-moz-box-sizing:content-box!important;box-sizing:content-box!important;max-width:100%!important;width:100%!important;border-radius:.875rem .875rem 0 0!important;background:#fff!important;overflow-x:hidden!important;overflow-y:scroll!important;z-index:2000000000!important;border-top:5px solid #5fa624!important;box-shadow:#333 3px 0!important;line-height:1.2!important;text-align:left!important;-webkit-font-smoothing:antialiased!important}#ez-cookie-dialog-logo{max-width:140px!important;margin:5px!important;float:left!important}#ez-cookie-dialog-logo img{width:100%!important;height:auto!important}#ez-cookie-dialog-wrapper #ez-cookie-dialog.ez_banner #ez-cookie-form,#ez-cookie-dialog-wrapper #ez-cookie-dialog.ez_banner #ez-cmp-purposes,#ez-cookie-dialog-wrapper #ez-cookie-dialog.ez_banner .ez-cmp-vendors{margin:0 3%!important}#ez-cookie-dialog-wrapper #ez-cookie-dialog h2{font-size:20px!important;line-height:16px!important;font-weight:700!important;margin:10px 0 16px!important}#ez-cookie-dialog-wrapper #ez-cookie-dialog p{margin:12px 0!important;line-height:16px!important;text-indent:0!important}#ez-cookie-dialog-wrapper #ez-cookie-dialog button{line-height:16px!important;text-transform:none!important}#ez-cookie-dialog-wrapper #ez-cookie-dialog select,#ez-cookie-dialog-wrapper #ez-cookie-dialog input{display:inline-block!important;position:relative!important;opacity:1!important;margin:3px!important;font-size:13px!important;background-color:#fff!important;width:20px!important;padding:0!important;border:1px solid #000!important;border-radius:0!important;height:20px!important}#ez-cookie-dialog-wrapper #ez-cookie-dialog a,#ez-cookie-dialog-wrapper #ez-cookie-dialog p,#ez-cookie-dialog-wrapper #ez-cookie-dialog h2,#ez-cookie-dialog-wrapper #ez-cookie-dialog button{color:#000!important;font-style:normal!important;text-decoration:none!important;font-variant:normal!important;font-family:Arial,serif!important;box-shadow:0 0!important}#ez-cookie-dialog-wrapper #ez-cookie-dialog p,#ez-cookie-dialog-wrapper #ez-cookie-dialog #ez-cookie-details-description,#ez-cookie-dialog-wrapper #ez-cookie-dialog button{font-weight:400!important;font-size:10pt!important}#ez-cookie-dialog-wrapper #ez-cookie-dialog button{margin-top:15px}#ez-cookie-dialog-wrapper #ez-cookie-dialog #ez-cookie-details-description{padding:10px 0 5px!important;color:#333!important}#ez-cookie-dialog-wrapper #ez-cookie-dialog #ez-cookie-details{height:34px!important}#ez-cookie-dialog-wrapper #ez-cookie-dialog #ez-cookie-details,#ez-cookie-dialog-wrapper #ez-cookie-dialog #ez-about-cookies{display:table-cell!important;color:#5fa624!important;vertical-align:bottom!important;position:relative!important}#ez-cookie-dialog-wrapper #ez-cookie-dialog #ez-cookie-details:after{width:0!important;height:0!important;border-left:4px solid transparent!important;border-right:4px solid transparent!important;border-top:4px solid #5fa624!important;content:""!important;position:absolute!important;right:-14px!important;bottom:6px!important}#ez-cookie-dialog-wrapper #ez-cookie-dialog #ez-cookie-details.open:after{border-bottom:4px solid #5fa624!important;border-top:0 solid transparent!important}#ez-cookie-dialog-wrapper #ez-cookie-dialog #ez-about-cookies-text{display:none!important;margin-top:12px!important;text-align:left!important}#ez-cookie-dialog-wrapper #ez-cookie-dialog .ez-switch-view-btn{border:1px solid #000!important;font-family:Arial,serif!important;color:#000!important;background:#fff!important;padding:7px 10px!important;text-decoration:none!important;letter-spacing:unset!important;white-space:unset!important;height:unset!important}#ez-cookie-dialog-wrapper #ez-cookie-dialog .ez-switch-view-btn:hover{cursor:pointer!important;background:#fff!important;text-decoration:none!important}#ez-cookie-dialog-wrapper #ez-cookie-dialog #ez-save-settings{border:none!important;font-family:Arial,serif!important;color:#fff!important;background:#000!important;text-decoration:none!important;padding:7px 10px!important}#ez-cookie-dialog-wrapper #ez-cookie-dialog #ez-save-settings:hover{cursor:pointer!important;background:#000!important;text-decoration:none!important}#ez-cookie-dialog-wrapper #ez-cookie-dialog #ez-accept-necessary{border:none!important;font-family:Arial,serif!important;color:#fff!important;background:#5fa624!important;text-decoration:none!important;padding:7px 10px!important}#ez-cookie-dialog-wrapper #ez-cookie-dialog #ez-accept-necessary:hover{cursor:pointer!important;background:#000!important;text-decoration:none!important}#ez-cookie-dialog-wrapper #ez-cookie-dialog #ez-accept-all{border:none!important;font-family:Arial,serif!important;color:#fff!important;background:#5fa624!important;text-decoration:none!important;padding:7px 10px!important}#ez-cookie-dialog-wrapper #ez-cookie-dialog #ez-accept-all:hover{cursor:pointer!important;background:#5fa624!important;text-decoration:none!important}#ez-cookie-dialog-wrapper #ez-cookie-dialog #privacy-link{font-size:12px!important;display:block!important;margin-top:20px!important;text-decoration:underline!important}#ez-cookie-dialog-wrapper #ez-cookie-dialog #ez-ok-cookies{border:1px solid #fff!important;font-family:Arial,serif!important;font-size:9pt!important;color:#000!important;background:#fff!important;padding:5px 15px!important;text-decoration:none!important}#ez-cookie-dialog-wrapper #ez-cookie-dialog #ez-ok-cookies:hover{cursor:pointer!important;background:#fff!important;text-decoration:none!important}#ez-cookie-dialog-wrapper #ez-cookie-dialog #ez-about-cookies-container{margin:32px auto 12px!important;width:100%!important;display:none!important}#ez-cookie-dialog-wrapper #ez-cookie-dialog a{color:#5fa624!important;text-decoration:none!important}#ez-cookie-dialog-wrapper #ez-cookie-dialog #privacy{text-align:right!important}#ez-cookie-dialog-wrapper #ez-cookie-dialog #ez-cookie-options{display:flex!important;flex-direction:row!important;margin:12px 0!important}#ez-cookie-dialog-wrapper #ez-cookie-dialog #ez-cookie-details-container{display:none!important}#ez-cookie-dialog-wrapper #ez-cookie-dialog .ez-cookie-option{flex:1!important;font-family:Arial,serif!important;font-size:9pt!important;display:block!important;line-height:26px!important;color:#000!important}#ez-cookie-dialog-wrapper #ez-cookie-dialog .ez-cookie-option label{cursor:pointer!important;font-size:12px!important;color:#000!important}#ez-cookie-dialog-wrapper #ez-cookie-dialog #ez-cookie-table{max-width:525px!important;width:525px!important;margin-top:12px!important;font-family:Arial,serif!important;border-spacing:1px!important;font-size:8pt!important;border-collapse:separate!important;background-color:#fff!important}#ez-cookie-dialog-wrapper #ez-cookie-dialog #ez-cookie-table th{background-color:#fff!important;color:#333!important}#ez-cookie-dialog-wrapper #ez-cookie-dialog #button-row{display:flex!important;flex-wrap:nowrap!important;justify-content:space-between!important;margin-right:10px!important;letter-spacing:unset!important}#ez-cookie-dialog-wrapper #ez-cookie-dialog #secondary-links{display:flex!important;font-size:12px!important;margin-top:20px!important}#ez-cookie-dialog-wrapper #ez-cookie-dialog #secondary-links .bar{margin:0 5px!important;width:auto!important;height:auto!important;position:relative!important;background:0 0!important}#ez-cookie-dialog-wrapper #ez-cookie-dialog #ez-cookie-table td{background-color:#fff!important;font-size:8pt!important;width:30%!important;-ms-word-break:break-word!important;word-break:break-word!important;color:#000!important}#ez-cookie-dialog-wrapper #ez-cookie-dialog #ez-cookie-table td:nth-child(1){width:30%!important}#ez-cookie-dialog-wrapper #ez-cookie-dialog #ez-cookie-table td:nth-child(2){width:50%!important}#ez-cookie-dialog-wrapper #ez-cookie-dialog #ez-cookie-table td:nth-child(3){width:20%!important}#ez-cookie-dialog-wrapper #ez-cookie-dialog #ez-cookie-table th,#ez-cookie-dialog-wrapper #ez-cookie-dialog #ez-cookie-table td{text-align:left!important;padding:3px!important;vertical-align:top!important}#ez-cookie-dialog-wrapper #ez-cookie-dialog .ez-cookie-option input{vertical-align:middle!important}#ez-cookie-dialog-wrapper #ez-cookie-dialog #ez-cookie-language{width:40px!important;position:absolute!important;top:10px!important;right:10px!important;color:#000!important}#ez-cookie-dialog-wrapper #ez-cookie-dialog .ez-cmp-header-row{border:1px solid #000!important;background-color:#fff!important;margin-bottom:2px;overflow:auto}#ez-cookie-dialog-wrapper #ez-cookie-dialog h3{color:#000!important;margin-bottom:3px!important;margin-top:6px!important}#ez-cookie-dialog-wrapper #ez-cookie-dialog .ez-cmp-header-row .ez-cmp-header-left{text-align:left!important;float:left!important}#ez-cookie-dialog-wrapper #ez-cookie-dialog .ez-cmp-header-row .ez-cmp-header-right{text-align:right!important;float:right!important}#ez-cookie-dialog-wrapper #ez-cookie-dialog .ez-cmp-header-row label.ez-cmp-checkbox-label{color:#000!important;font-size:12px!important;display:inline-block!important}#ez-cookie-dialog-wrapper #ez-cookie-dialog .ez-cmp-description{color:#000!important;font-size:12px!important}#ez-cookie-dialog-wrapper #ez-cookie-dialog .ez-cmp-toggle-description{font-size:25px;margin-left:5px!important;margin-right:5px!important;font-weight:700!important;cursor:pointer!important;color:#5fa624!important}#ez-cookie-dialog-wrapper #ez-cookie-dialog .ez-cmp-visible-content-wrapper{max-height:400px!important;overflow-y:scroll!important}#ez-cookie-dialog-wrapper #ez-cookie-dialog .ez-cmp-description p{margin:2px 0!important;font-size:11px!important}#ez-cookie-dialog-wrapper #ez-cookie-dialog .ez-cmp-purpose .ez-cmp-description ul{margin:2px 0!important;font-size:11px!important;color:#000!important}#ez-cookie-dialog-wrapper #ez-cookie-dialog .ez-cmp-description h4{margin:6px 0 3px!important}#ez-cookie-dialog-wrapper #ez-cookie-dialog .ez-cmp-description ul{margin:1px 0!important}#ez-cookie-dialog-wrapper #ez-cookie-dialog .ez-cmp-description{margin:-2px 4px 2px!important;border:1px solid #000!important;border-top:0!important;background-color:#fff!important;padding:3px!important}#ez-cookie-dialog-wrapper #ez-cookie-dialog .ez-cmp-header-name{color:#000!important;padding-left:3px!important}@media only screen and (max-width:600px){#ez-cookie-dialog-wrapper #ez-cookie-dialog{margin-top:5px!important;width:100%!important;border-width:5px!important}#ez-cookie-dialog-logo{float:none!important}#ez-cookie-dialog-wrapper #ez-cookie-dialog #button-row{flex-direction:column!important}#ez-cookie-dialog-wrapper #ez-cookie-dialog #button-row.ez-button-subpages{flex-direction:row!important;justify-content:space-between!important;flex-wrap:wrap!important}#ez-cookie-dialog-wrapper #ez-cookie-dialog #ez-cookie-options{flex-direction:column!important}#ez-cookie-dialog-wrapper #ez-cookie-dialog #ez-necessary-cookies{margin-bottom:5px!important}#ez-cookie-dialog-wrapper #ez-cookie-dialog h2{margin:5px 0!important;font-size:16px!important}#ez-cookie-dialog-wrapper #ez-cookie-dialog #ez-cookie-table-box{overflow-y:auto!important;max-height:100px!important}}#ez-cookie-dialog-wrapper .ez-storageDisclosureHolder ul{font-size:10px;margin-left:10px;border-bottom:1px solid #000}#ez-cookie-dialog-wrapper .ez-storageDisclosureLink{cursor:pointer}#ez-cookie-dialog-wrapper .ez_cookieDetailsHeader{font-size:11px;border-bottom:1px solid #000}.ez_softened_corners{border-radius:13px!important}.ez_rounded_corners{border-radius:35px!important}.cDuration{display:none}#ez-cmp-loader{border:16px solid #f3f3f3;border-top:16px solid #5fa624;border-radius:50%;width:120px;height:120px;animation:spin 1s linear infinite;text-align:center;opacity:1;position:absolute;margin:0 auto;left:0;right:0;top:25%;display:none}@keyframes spin{0%{transform:rotate(0)}100%{transform:rotate(360deg)}}#ez-language-select{display:none}#ez-cookie-dialog-wrapper #ez-cookie-dialog #ezCMPReturn{float:left;margin-right:10px;height:25px!important;border:1px solid #0000!important;font-size:25px!important;padding:7px 10px!important}body #ezPrivacyCenter{display:none}#ez-cookie-form #ez-cookie-template #ezPrivacyCenterClose{display:none;float:left;margin-right:10px;height:unset!important;border:1px solid #0000!important;font-size:25px!important;padding:unset!important;margin-top:unset!important}.ez_corners{border-radius:.875rem!important}#ez-cookie-dialog-wrapper #ez-cookie-dialog a,#ez-cookie-dialog-wrapper #ez-cookie-dialog p,#ez-cookie-dialog-wrapper #ez-cookie-dialog h2,#ez-cookie-dialog-wrapper #ez-cookie-dialog button{font-family:gill sans,gill sans mt,Calibri,trebuchet ms,sans-serif!important}#ez-cookie-dialog-wrapper #ez-cookie-dialog .ez-switch-view-btn{font-family:gill sans,gill sans mt,Calibri,trebuchet ms,sans-serif!important}#ez-cookie-dialog-wrapper{background-color:rgba(0,0,0,.8)!important}#ez-cookie-dialog-wrapper #ez-cookie-dialog.ez_banner h2{text-align:center!important}@media only screen and (min-width:601px){#ez-cookie-dialog-wrapper #ez-cookie-dialog.ez_banner p{font-size:18px!important;margin:35px!important;line-height:unset!important;text-align:justify!important}#ez-cookie-dialog-wrapper #ez-cookie-dialog.ez_banner #ezVendorInput{width:30%!important}#ez-cookie-dialog-wrapper #ez-cookie-dialog.ez_banner h2{font-size:30px!important}}@media only screen and (max-width:600px){#ez-cookie-dialog-wrapper #ez-cookie-dialog.ez_banner p{font-size:13px!important;margin:25px!important;line-height:130%!important;max-height:260px!important;overflow-y:scroll!important;text-align:justify!important}#ez-cookie-dialog-wrapper #ez-cookie-dialog.ez_banner #ez-show-vendors.ez-switch-view-btn{padding:10px 8px!important;border-radius:.875rem!important;max-width:45%!important}#ez-cookie-dialog-wrapper #ez-cookie-dialog.ez_banner #ez-save-settings{padding:10px 8px!important;border-radius:.875rem!important}#ez-cookie-dialog-wrapper #ez-cookie-dialog.ez_banner #ez-accept-all{padding:10px 8px!important;border-radius:.875rem!important}#ez-cookie-dialog-wrapper #ez-cookie-dialog.ez_banner #ez-accept-all,#ez-cookie-dialog-wrapper #ez-cookie-dialog.ez_banner #ez-save-settings{padding:15px!important}#ez-cookie-dialog-wrapper #ez-cookie-dialog.ez_banner #ezVendorInput{width:80%!important}#ez-cookie-dialog-wrapper #ez-cookie-dialog.ez_banner #ez-manage-settings.ez-manage-settings-vendor{padding:10px 8px!important;border-radius:.875rem!important}#ez-cookie-dialog-wrapper #ez-cookie-dialog.ez_banner #ez-accept-necessary{padding:15px 20px!important}#ez-cookie-dialog-wrapper #ez-cookie-dialog.ez_banner #ez-cookie-form button{font-size:15px!important}#ez-cookie-dialog-wrapper #ez-cookie-dialog.ez_banner #button-row .ez-manage-settings-vendor{max-width:40%!important}#ez-cookie-dialog-wrapper #ez-cookie-dialog.ez_banner #ez-manage-settings.ez-switch-view-btn{padding:13px 8px!important}#ez-cookie-dialog-wrapper #ez-cookie-dialog.ez_banner h2{font-size:25px!important}}#ez-cookie-dialog-wrapper #ez-cookie-dialog.ez_banner h3{float:none!important;font-size:30px!important;margin:28px 20px 16px!important;text-align:center;line-height:unset!important}#ez-cookie-dialog-wrapper #ez-cookie-dialog.ez_banner h2{margin:20px 30px 15px!important;text-align:center!important;line-height:unset!important}#ez-cookie-dialog-wrapper #ez-cookie-dialog.ez_banner #ez-accept-all{font-family:gill sans,gill sans mt,Calibri,trebuchet ms,sans-serif!important;background:#5fa624!important;margin-top:15px!important;border-radius:.875rem!important}#ez-cookie-dialog-wrapper #ez-cookie-dialog.ez_banner #ez-save-settings{font-family:gill sans,gill sans mt,Calibri,trebuchet ms,sans-serif!important;margin-top:15px!important;max-width:55%!important;border-radius:.875rem!important}#ez-cookie-dialog-wrapper #ez-cookie-dialog.ez_banner .ez-switch-view-btn{padding:20px 8px!important;border-radius:.875rem!important}#ez-cookie-dialog-wrapper #ez-cookie-dialog.ez_banner button{font-size:18px!important}#ez-cookie-dialog-wrapper #ez-cookie-dialog.ez_banner #secondary-links{font-size:15px!important}#ez-cookie-dialog-wrapper{font-size:20px!important;font-family:gill sans,gill sans mt,Calibri,trebuchet ms,sans-serif!important}#ez-cookie-dialog-wrapper h3,#ez-cookie-dialog-wrapper h2,#ez-cookie-dialog-wrapper input{font-family:gill sans,gill sans mt,Calibri,trebuchet ms,sans-serif!important}#ez-cookie-dialog-wrapper #ez-cookie-dialog.ez_banner #ez-cookie-language{border:0 solid #0000!important;font-size:15px!important;width:40px!important;height:30px!important;right:0!important}#ez-cookie-dialog-wrapper #ez-cookie-dialog.ez_banner #ez-accept-necessary{font-family:gill sans,gill sans mt,Calibri,trebuchet ms,sans-serif!important}#ez-cookie-dialog-wrapper #ez-cookie-dialog .ez-cmp-header-row{margin-bottom:20px!important;border-radius:.875rem!important;padding:15px!important;font-size:17px!important}@media only screen and (min-width:1250px){#ez-cookie-dialog-wrapper #ez-cookie-dialog.ez_banner #ez-save-settings{margin-right:40%!important}#ez-cookie-dialog-wrapper #ez-cookie-dialog.ez_banner #ez-accept-necessary{margin-right:40%!important;margin-left:5%!important}#ez-cookie-dialog-wrapper #ez-cookie-dialog.ez_banner #ez-accept-necessary-two{margin-left:5%!important}.ezAllPurposes,#ezVendors,#ezNonTCFVendors{display:flex!important;flex-direction:row;flex-wrap:wrap;justify-content:space-evenly}.ez-cmp-purpose,.ez-cmp-specialPurpose,.ez-cmp-feature,.ez-cmp-specialFeature,.ez-cmp-vendor{width:45%!important}}#ez-cookie-dialog-wrapper #ez-cookie-dialog.ez_banner input{margin:6px!important}#ez-cookie-dialog-wrapper #ez-cookie-dialog #ezVendorInput{background-position:10px 12px!important;background-repeat:no-repeat!important;font-size:30px!important;padding:30px 20px 12px 40px!important;border:1px solid #ddd!important;margin-bottom:18px!important;border-radius:.875rem!important;font-family:gill sans,gill sans mt,Calibri,trebuchet ms,sans-serif!important;width:unset!important}#ez-cookie-dialog-wrapper ::-webkit-input-placeholder{position:absolute;bottom:3px}#ez-cookie-dialog-wrapper :-moz-placeholder{position:absolute;bottom:3px}.ez_twentytwentytwo_corners{border-radius:.875rem!important}#ez-cookie-loader-wrapper{z-index:2000000000!important;position:fixed!important;margin:0 auto!important;top:0!important;left:0!important;background-color:rgba(0,0,0,.5)!important;overflow-y:auto!important;backdrop-filter:blur(3px);height:100%!important;width:100%!important}#ez-cookie-loader{display:flex;align-items:center;justify-content:center;height:100%;width:100%}#ez-cookie-loader:after{content:" ";display:block;width:85px;height:85px;border-radius:50%;border:6px solid #fff;border-color:#fff transparent #fff transparent;animation:ez-cmp-dual-ring 1.2s linear infinite}#ezPrivacyCenter{display:none;position:fixed;left:0;z-index:99;font-size:18px;border:none;outline:none;background-color:#5fa624;color:#fff;cursor:pointer;padding:5px 0 10px 3px;writing-mode:vertical-rl;transform:rotate(180deg);border-radius:4px;z-index:4000000000000}@keyframes ez-cmp-dual-ring{0%{transform:rotate(0)}100%{transform:rotate(360deg)}}</style></div><iframe name="__privateStripeMetricsController8070" frameborder="0" allowtransparency="true" scrolling="no" role="presentation" allow="payment *" src="./Complete Beginner's Guide to LVM in Linux [With Hands-on]_files/m-outer-3437aaddcdf6922d623e172c2d6f9278.html" aria-hidden="true" tabindex="-1" style="border: none !important; margin: 0px !important; padding: 0px !important; width: 1px !important; min-width: 100% !important; overflow: hidden !important; display: block !important; visibility: hidden !important; position: fixed !important; height: 1px !important; pointer-events: none !important; user-select: none !important;"></iframe></body></html> |