[{"data":1,"prerenderedAt":834},["ShallowReactive",2],{"navigation_docs_en":3,"-en-general-linux-filesystem-":377,"-en-general-linux-filesystem--surround":829},[4,16,94,262,271,332],{"title":5,"icon":6,"path":7,"stem":8,"children":9,"page":15},"About","i-noto-star","\u002Fen\u002Fabout","en\u002F1.about",[10],{"title":11,"path":12,"stem":13,"icon":14},"Welcome","\u002Fen\u002Fabout\u002Fwelcome","en\u002F1.about\u002F1.welcome","i-lucide-home",false,{"title":17,"icon":18,"path":19,"stem":20,"children":21,"page":15},"General","i-noto-open-book","\u002Fen\u002Fgeneral","en\u002F2.general",[22,26,44,58,76],{"title":17,"path":23,"stem":24,"icon":25},"\u002Fen\u002Fgeneral\u002Fsummary","en\u002F2.general\u002F1.summary","i-lucide-bookmark",{"title":27,"icon":28,"path":29,"stem":30,"children":31,"page":15},"Networking","i-lucide-network","\u002Fen\u002Fgeneral\u002Fnetworking","en\u002F2.general\u002F2.networking",[32,36,40],{"title":33,"path":34,"stem":35},"NAT & DHCP","\u002Fen\u002Fgeneral\u002Fnetworking\u002Fnat","en\u002F2.general\u002F2.networking\u002F1.nat",{"title":37,"path":38,"stem":39},"DNS Zone","\u002Fen\u002Fgeneral\u002Fnetworking\u002Fdns","en\u002F2.general\u002F2.networking\u002F2.dns",{"title":41,"path":42,"stem":43},"Samba","\u002Fen\u002Fgeneral\u002Fnetworking\u002Fsamba","en\u002F2.general\u002F2.networking\u002F3.samba",{"title":45,"icon":46,"path":47,"stem":48,"children":49,"page":15},"Storage","i-lucide-hard-drive","\u002Fen\u002Fgeneral\u002Fstorage","en\u002F2.general\u002F3.storage",[50,54],{"title":51,"path":52,"stem":53},"RAID","\u002Fen\u002Fgeneral\u002Fstorage\u002Fraid","en\u002F2.general\u002F3.storage\u002F1.raid",{"title":55,"path":56,"stem":57},"ZFS","\u002Fen\u002Fgeneral\u002Fstorage\u002Fzfs","en\u002F2.general\u002F3.storage\u002F2.zfs",{"title":59,"icon":60,"path":61,"stem":62,"children":63,"page":15},"Hardware","i-lucide-server","\u002Fen\u002Fgeneral\u002Fhardware","en\u002F2.general\u002F4.hardware",[64,68,72],{"title":65,"path":66,"stem":67},"The Basics","\u002Fen\u002Fgeneral\u002Fhardware\u002Fbasics","en\u002F2.general\u002F4.hardware\u002F1.basics",{"title":69,"path":70,"stem":71},"Network","\u002Fen\u002Fgeneral\u002Fhardware\u002Fnetwork","en\u002F2.general\u002F4.hardware\u002F2.network",{"title":73,"path":74,"stem":75},"The ProloNAS","\u002Fen\u002Fgeneral\u002Fhardware\u002Fprolonas","en\u002F2.general\u002F4.hardware\u002F3.prolonas",{"title":77,"icon":78,"path":79,"stem":80,"children":81,"page":15},"Linux tips for dummies","i-lucide-terminal","\u002Fen\u002Fgeneral\u002Flinux","en\u002F2.general\u002F5.linux",[82,86,90],{"title":83,"path":84,"stem":85},"Command line basics","\u002Fen\u002Fgeneral\u002Flinux\u002Fcli-basics","en\u002F2.general\u002F5.linux\u002F1.cli-basics",{"title":87,"path":88,"stem":89},"Folders and partitions","\u002Fen\u002Fgeneral\u002Flinux\u002Ffilesystem","en\u002F2.general\u002F5.linux\u002F2.filesystem",{"title":91,"path":92,"stem":93},"Handy CLI tools","\u002Fen\u002Fgeneral\u002Flinux\u002Fhandy-tools","en\u002F2.general\u002F5.linux\u002F3.handy-tools",{"title":95,"icon":96,"path":97,"stem":98,"children":99,"page":15},"Serveex","i-noto-microscope","\u002Fen\u002Fserveex","en\u002F3.serveex",[100,104,126,144,170,188,202,216,234,248],{"title":101,"path":102,"stem":103,"icon":25},"Introduction","\u002Fen\u002Fserveex\u002Fintroduction","en\u002F3.serveex\u002F1.introduction",{"title":105,"icon":106,"path":107,"stem":108,"children":109,"page":15},"Server core","i-lucide-server-cog","\u002Fen\u002Fserveex\u002Fcore","en\u002F3.serveex\u002F2.core",[110,114,118,122],{"title":111,"path":112,"stem":113},"Debian 13","\u002Fen\u002Fserveex\u002Fcore\u002Finstallation","en\u002F3.serveex\u002F2.core\u002F1.installation",{"title":115,"path":116,"stem":117},"Docker","\u002Fen\u002Fserveex\u002Fcore\u002Fdocker","en\u002F3.serveex\u002F2.core\u002F2.docker",{"title":119,"path":120,"stem":121},"Wireguard","\u002Fen\u002Fserveex\u002Fcore\u002Fwireguard","en\u002F3.serveex\u002F2.core\u002F3.wireguard",{"title":123,"path":124,"stem":125},"SWAG","\u002Fen\u002Fserveex\u002Fcore\u002Fswag","en\u002F3.serveex\u002F2.core\u002F4.swag",{"title":127,"icon":128,"path":129,"stem":130,"children":131,"page":15},"Security","i-lucide-shield","\u002Fen\u002Fserveex\u002Fsecurity","en\u002F3.serveex\u002F3.security",[132,136,140],{"title":133,"path":134,"stem":135},"Cloudflare Zero Trust","\u002Fen\u002Fserveex\u002Fsecurity\u002Fcloudflare","en\u002F3.serveex\u002F3.security\u002F2.cloudflare",{"title":137,"path":138,"stem":139},"TinyAuth","\u002Fen\u002Fserveex\u002Fsecurity\u002Ftinyauth","en\u002F3.serveex\u002F3.security\u002F3.tinyauth",{"title":141,"path":142,"stem":143},"Pocket ID","\u002Fen\u002Fserveex\u002Fsecurity\u002Fpocket-id","en\u002F3.serveex\u002F3.security\u002F4.pocket-id",{"title":145,"icon":146,"path":147,"stem":148,"children":149,"page":15},"Monitoring","i-lucide-chart-no-axes-column","\u002Fen\u002Fserveex\u002Fmonitoring","en\u002F3.serveex\u002F4.monitoring",[150,154,158,162,166],{"title":151,"path":152,"stem":153},"Uptime-Kuma","\u002Fen\u002Fserveex\u002Fmonitoring\u002Fuptime-kuma","en\u002F3.serveex\u002F4.monitoring\u002F1.uptime-kuma",{"title":155,"path":156,"stem":157},"Dozzle","\u002Fen\u002Fserveex\u002Fmonitoring\u002Fdozzle","en\u002F3.serveex\u002F4.monitoring\u002F2.dozzle",{"title":159,"path":160,"stem":161},"Speedtest Tracker","\u002Fen\u002Fserveex\u002Fmonitoring\u002Fspeedtest-tracker","en\u002F3.serveex\u002F4.monitoring\u002F3.speedtest-tracker",{"title":163,"path":164,"stem":165},"Beszel","\u002Fen\u002Fserveex\u002Fmonitoring\u002Fbeszel","en\u002F3.serveex\u002F4.monitoring\u002F4.beszel",{"title":167,"path":168,"stem":169},"UpSnap","\u002Fen\u002Fserveex\u002Fmonitoring\u002Fupsnap","en\u002F3.serveex\u002F4.monitoring\u002F5.upsnap",{"title":171,"icon":172,"path":173,"stem":174,"children":175,"page":15},"Media & Seedbox","i-lucide-list-video","\u002Fen\u002Fserveex\u002Fmedia","en\u002F3.serveex\u002F5.media",[176,180,184],{"title":177,"path":178,"stem":179},"Jellyfin","\u002Fen\u002Fserveex\u002Fmedia\u002Fjellyfin","en\u002F3.serveex\u002F5.media\u002F1.jellyfin",{"title":181,"path":182,"stem":183},"Qbittorrent","\u002Fen\u002Fserveex\u002Fmedia\u002Fqbittorrent","en\u002F3.serveex\u002F5.media\u002F2.qbittorrent",{"title":185,"path":186,"stem":187},"Automation","\u002Fen\u002Fserveex\u002Fmedia\u002Fservarr","en\u002F3.serveex\u002F5.media\u002F3.servarr",{"title":189,"icon":190,"path":191,"stem":192,"children":193,"page":15},"Cloud Drive & Photos","i-lucide-cloud-upload","\u002Fen\u002Fserveex\u002Fcloud","en\u002F3.serveex\u002F6.cloud",[194,198],{"title":195,"path":196,"stem":197},"Immich","\u002Fen\u002Fserveex\u002Fcloud\u002Fimmich","en\u002F3.serveex\u002F6.cloud\u002F1.immich",{"title":199,"path":200,"stem":201},"Nextcloud","\u002Fen\u002Fserveex\u002Fcloud\u002Fnextcloud","en\u002F3.serveex\u002F6.cloud\u002F2.nextcloud",{"title":203,"icon":204,"path":205,"stem":206,"children":207,"page":15},"File & share","i-lucide-folder-tree","\u002Fen\u002Fserveex\u002Ffiles","en\u002F3.serveex\u002F7.files",[208,212],{"title":209,"path":210,"stem":211},"File Browser Quantum","\u002Fen\u002Fserveex\u002Ffiles\u002Ffile-browser-quantum","en\u002F3.serveex\u002F7.files\u002F1.file-browser-quantum",{"title":213,"path":214,"stem":215},"Pingvin","\u002Fen\u002Fserveex\u002Ffiles\u002Fpingvin","en\u002F3.serveex\u002F7.files\u002F2.pingvin",{"title":217,"icon":218,"path":219,"stem":220,"children":221,"page":15},"Developpement","i-lucide-code-xml","\u002Fen\u002Fserveex\u002Fdevelopment","en\u002F3.serveex\u002F8.development",[222,226,230],{"title":223,"path":224,"stem":225},"Code-Server","\u002Fen\u002Fserveex\u002Fdevelopment\u002Fcode-server","en\u002F3.serveex\u002F8.development\u002F1.code-server",{"title":227,"path":228,"stem":229},"Forgejo","\u002Fen\u002Fserveex\u002Fdevelopment\u002Fforgejo","en\u002F3.serveex\u002F8.development\u002F2.forgejo",{"title":231,"path":232,"stem":233},"IT Tools","\u002Fen\u002Fserveex\u002Fdevelopment\u002Fit-tools","en\u002F3.serveex\u002F8.development\u002F3.it-tools",{"title":235,"icon":236,"path":237,"stem":238,"children":239,"page":15},"Useful Apps","i-lucide-award","\u002Fen\u002Fserveex\u002Fapps","en\u002F3.serveex\u002F9.apps",[240,244],{"title":241,"path":242,"stem":243},"Adguard Home","\u002Fen\u002Fserveex\u002Fapps\u002Fadguard","en\u002F3.serveex\u002F9.apps\u002F1.adguard",{"title":245,"path":246,"stem":247},"Vaultwarden","\u002Fen\u002Fserveex\u002Fapps\u002Fvaultwarden","en\u002F3.serveex\u002F9.apps\u002F2.vaultwarden",{"title":249,"icon":250,"path":251,"stem":252,"children":253,"page":15},"Advanced","i-lucide-flask-conical","\u002Fen\u002Fserveex\u002Fadvanced","en\u002F3.serveex\u002F91.advanced",[254,258],{"title":255,"path":256,"stem":257},"Authentik","\u002Fen\u002Fserveex\u002Fadvanced\u002Fauthentik","en\u002F3.serveex\u002F91.advanced\u002F1.authentik",{"title":259,"path":260,"stem":261},"Arcane","\u002Fen\u002Fserveex\u002Fadvanced\u002Farcane","en\u002F3.serveex\u002F91.advanced\u002F2.arcane",{"title":263,"icon":264,"path":265,"stem":266,"children":267,"page":15},"Stockeex","i-noto-computer-disk","\u002Fen\u002Fstockeex","en\u002F4.stockeex",[268],{"title":101,"path":269,"stem":270,"icon":25},"\u002Fen\u002Fstockeex\u002Fintroduction","en\u002F4.stockeex\u002F1.introduction",{"title":272,"icon":273,"path":274,"stem":275,"children":276,"page":15},"My nonsense","i-noto-test-tube","\u002Fen\u002Fnonsense","en\u002F5.nonsense",[277,280,302],{"title":272,"path":278,"stem":279,"icon":25},"\u002Fen\u002Fnonsense\u002Fsummary","en\u002F5.nonsense\u002F1.summary",{"title":281,"icon":282,"path":283,"stem":284,"children":285,"page":15},"Python","i-lucide-file-code-2","\u002Fen\u002Fnonsense\u002Fpython","en\u002F5.nonsense\u002F2.python",[286,290,294,298],{"title":287,"path":288,"stem":289},"Nvidia Stock Bot","\u002Fen\u002Fnonsense\u002Fpython\u002Fnvidia-stock-bot","en\u002F5.nonsense\u002F2.python\u002F1.nvidia-stock-bot",{"title":291,"path":292,"stem":293},"Adguard CIDRE","\u002Fen\u002Fnonsense\u002Fpython\u002Fadguard-cidre","en\u002F5.nonsense\u002F2.python\u002F2.adguard-cidre",{"title":295,"path":296,"stem":297},"Lumeex","\u002Fen\u002Fnonsense\u002Fpython\u002Flumeex","en\u002F5.nonsense\u002F2.python\u002F3.lumeex",{"title":299,"path":300,"stem":301},"Instameex","\u002Fen\u002Fnonsense\u002Fpython\u002Finstameex","en\u002F5.nonsense\u002F2.python\u002F4.instameex",{"title":303,"icon":304,"path":305,"stem":306,"children":307,"page":15},"Bash","i-lucide-file-terminal","\u002Fen\u002Fnonsense\u002Fbash","en\u002F5.nonsense\u002F3.bash",[308,312,316,320,324,328],{"title":309,"path":310,"stem":311},"Servarr corrector","\u002Fen\u002Fnonsense\u002Fbash\u002Fservarr-duplicates","en\u002F5.nonsense\u002F3.bash\u002F1.servarr-duplicates",{"title":313,"path":314,"stem":315},"LUKS Backup","\u002Fen\u002Fnonsense\u002Fbash\u002Fluks-backup","en\u002F5.nonsense\u002F3.bash\u002F2.luks-backup",{"title":317,"path":318,"stem":319},"Socat Proxy","\u002Fen\u002Fnonsense\u002Fbash\u002Fsocat-proxy","en\u002F5.nonsense\u002F3.bash\u002F3.socat-proxy",{"title":321,"path":322,"stem":323},"HotDisk","\u002Fen\u002Fnonsense\u002Fbash\u002Fhotdisk","en\u002F5.nonsense\u002F3.bash\u002F4.hotdisk",{"title":325,"path":326,"stem":327},"Backrest Docker Stop","\u002Fen\u002Fnonsense\u002Fbash\u002Fbackrest-docker-stop","en\u002F5.nonsense\u002F3.bash\u002F5.backrest-docker-stop",{"title":329,"path":330,"stem":331},"rm Confirmation Guard","\u002Fen\u002Fnonsense\u002Fbash\u002Frm-confirmation","en\u002F5.nonsense\u002F3.bash\u002F6.rm-confirmation",{"title":333,"icon":334,"path":335,"stem":336,"children":337,"page":15},"Recycled","i-noto-recycling-symbol","\u002Fen\u002Frecycled","en\u002F6.recycled",[338,341,355],{"title":333,"path":339,"stem":340,"icon":25},"\u002Fen\u002Frecycled\u002Fsummary","en\u002F6.recycled\u002F1.summary",{"title":342,"icon":343,"path":344,"stem":345,"children":346,"page":15},"Deprecated","i-lucide-trash-2","\u002Fen\u002Frecycled\u002Fdeprecated","en\u002F6.recycled\u002F2.deprecated",[347,351],{"title":348,"path":349,"stem":350},"Wireguard 14","\u002Fen\u002Frecycled\u002Fdeprecated\u002Fwireguard-14","en\u002F6.recycled\u002F2.deprecated\u002F1.wireguard-14",{"title":352,"path":353,"stem":354},"File Browser","\u002Fen\u002Frecycled\u002Fdeprecated\u002Ffile-browser","en\u002F6.recycled\u002F2.deprecated\u002F2.file-browser",{"title":356,"icon":357,"path":358,"stem":359,"children":360,"page":15},"Alternatives","i-lucide-arrow-left-right","\u002Fen\u002Frecycled\u002Falternatives","en\u002F6.recycled\u002F3.alternatives",[361,365,369,373],{"title":362,"path":363,"stem":364},"Plex","\u002Fen\u002Frecycled\u002Falternatives\u002Fplex","en\u002F6.recycled\u002F3.alternatives\u002F1.plex",{"title":366,"path":367,"stem":368},"Qbittorrent for Plex","\u002Fen\u002Frecycled\u002Falternatives\u002Fqbittorrent-for-plex","en\u002F6.recycled\u002F3.alternatives\u002F2.qbittorrent for plex",{"title":370,"path":371,"stem":372},"Servarr for Plex","\u002Fen\u002Frecycled\u002Falternatives\u002Fservarr-for-plex","en\u002F6.recycled\u002F3.alternatives\u002F3.servarr for plex",{"title":374,"path":375,"stem":376},"Gitea","\u002Fen\u002Frecycled\u002Falternatives\u002Fgitea","en\u002F6.recycled\u002F3.alternatives\u002F4.gitea",{"id":378,"title":87,"body":379,"contributors":820,"description":822,"extension":823,"hideCopyPage":15,"hideHeader":15,"hideToc":15,"links":824,"meta":825,"navigation":826,"path":88,"seo":827,"stem":89,"__hash__":828},"docs_en\u002Fen\u002F2.general\u002F5.linux\u002F2.filesystem.md",{"type":380,"value":381,"toc":815},"minimark",[382,390,412,417,420,583,587,604,622,672,676,793,811],[383,384],"ellipsis",{"blur":385,"left":386,"top":387,"width":388,"z-index":389},"140px","0px","10rem","40rem","60",[391,392,393,394,398,399,402,403,407,408,411],"p",{},"Windows gives every disk its own letter. Linux doesn't: there is exactly one tree, it starts at ",[395,396,397],"code",{},"\u002F",", and everything else hangs off it, including your other disks. A second drive isn't ",[395,400,401],{},"D:",", it's ",[404,405,406],"em",{},"mounted"," at a folder of the tree, ",[395,409,410],{},"\u002Fmnt\u002Fdata"," for example, and from that point on it looks like any other folder. Odd at first, very practical afterwards, since a program never has to care which physical disk it's writing to.",[413,414,416],"h2",{"id":415},"the-tree","The tree",[391,418,419],{},"That tree isn't arbitrary either. Every Debian install has the same folders in the same places, which is why a tutorial written for someone else's server applies to yours.",[421,422,423,436],"table",{},[424,425,426],"thead",{},[427,428,429,433],"tr",{},[430,431,432],"th",{},"Folder",[430,434,435],{},"What's in it",[437,438,439,457,469,479,496,506,519,529,546,556,570],"tbody",{},[427,440,441,447],{},[442,443,444],"td",{},[395,445,446],{},"\u002Fhome",[442,448,449,450,453,454],{},"Users' files. Yours is ",[395,451,452],{},"\u002Fhome\u002Fusername",", also written ",[395,455,456],{},"~",[427,458,459,464],{},[442,460,461],{},[395,462,463],{},"\u002Froot",[442,465,466,467],{},"The root account's own home, not to be confused with ",[395,468,397],{},[427,470,471,476],{},[442,472,473],{},[395,474,475],{},"\u002Fetc",[442,477,478],{},"System configuration, all of it plain text files",[427,480,481,486],{},[442,482,483],{},[395,484,485],{},"\u002Fvar",[442,487,488,489,492,493],{},"Data that grows: logs in ",[395,490,491],{},"\u002Fvar\u002Flog",", Docker in ",[395,494,495],{},"\u002Fvar\u002Flib\u002Fdocker",[427,497,498,503],{},[442,499,500],{},[395,501,502],{},"\u002Ftmp",[442,504,505],{},"Temporary files, emptied at every reboot",[427,507,508,513],{},[442,509,510],{},[395,511,512],{},"\u002Fusr",[442,514,515,516],{},"The installed programs themselves, managed by ",[395,517,518],{},"apt",[427,520,521,526],{},[442,522,523],{},[395,524,525],{},"\u002Fopt",[442,527,528],{},"Software installed outside the package manager",[427,530,531,540],{},[442,532,533,536,537],{},[395,534,535],{},"\u002Fmnt"," and ",[395,538,539],{},"\u002Fmedia",[442,541,542,543,545],{},"Where extra disks get mounted, ",[395,544,539],{}," for removable ones",[427,547,548,553],{},[442,549,550],{},[395,551,552],{},"\u002Fboot",[442,554,555],{},"The kernel and the bootloader, on a small partition of its own",[427,557,558,563],{},[442,559,560],{},[395,561,562],{},"\u002Fdev",[442,564,565,566,569],{},"Your hardware, exposed as files (",[395,567,568],{},"\u002Fdev\u002Fsda"," is a disk)",[427,571,572,580],{},[442,573,574,536,577],{},[395,575,576],{},"\u002Fproc",[395,578,579],{},"\u002Fsys",[442,581,582],{},"The kernel's live state, invented on the fly, not real files",[413,584,586],{"id":585},"folders-are-not-partitions","Folders are not partitions",[391,588,589,590,592,593,595,596,599,600,603],{},"Partitions are a different question from folders. A minimal Debian install typically creates two, one for ",[395,591,397],{}," and one for swap, so every folder above except ",[395,594,552],{}," lives on the same partition and shares the same free space. Two commands to see the reality of it: ",[395,597,598],{},"lsblk"," draws the tree of disks and partitions, ",[395,601,602],{},"df -h"," shows how full each one is.",[605,606,612],"pre",{"className":607,"code":608,"filename":609,"language":610,"meta":611,"style":611},"language-bash shiki shiki-themes github-dark material-theme github-dark","lsblk\n","Terminal","bash","",[395,613,614],{"__ignoreMap":611},[615,616,619],"span",{"class":617,"line":618},"line",1,[615,620,608],{"class":621},"sEgDM",[605,623,628],{"className":624,"code":625,"filename":626,"language":627,"meta":611,"style":611},"language-console shiki shiki-themes github-dark material-theme github-dark","NAME   MAJ:MIN RM   SIZE RO TYPE MOUNTPOINTS\nsda      8:0    0 465.8G  0 disk\n├─sda1   8:1    0   512M  0 part \u002Fboot\u002Fefi\n├─sda2   8:2    0 461.3G  0 part \u002F\n└─sda3   8:3    0     4G  0 part [SWAP]\nsdb      8:16   0   3.6T  0 disk\n└─sdb1   8:17   0   3.6T  0 part \u002Fmnt\u002Fdata\n","Output","console",[395,629,630,636,642,648,654,660,666],{"__ignoreMap":611},[615,631,632],{"class":617,"line":618},[615,633,635],{"class":634},"s8-mJ","NAME   MAJ:MIN RM   SIZE RO TYPE MOUNTPOINTS\n",[615,637,639],{"class":617,"line":638},2,[615,640,641],{"class":634},"sda      8:0    0 465.8G  0 disk\n",[615,643,645],{"class":617,"line":644},3,[615,646,647],{"class":634},"├─sda1   8:1    0   512M  0 part \u002Fboot\u002Fefi\n",[615,649,651],{"class":617,"line":650},4,[615,652,653],{"class":634},"├─sda2   8:2    0 461.3G  0 part \u002F\n",[615,655,657],{"class":617,"line":656},5,[615,658,659],{"class":634},"└─sda3   8:3    0     4G  0 part [SWAP]\n",[615,661,663],{"class":617,"line":662},6,[615,664,665],{"class":634},"sdb      8:16   0   3.6T  0 disk\n",[615,667,669],{"class":617,"line":668},7,[615,670,671],{"class":634},"└─sdb1   8:17   0   3.6T  0 part \u002Fmnt\u002Fdata\n",[413,673,675],{"id":674},"a-few-habits-worth-taking","A few habits worth taking",[677,678,679,700,713,731,752,768,783],"ul",{},[680,681,682,686,687,690,691,695,696,699],"li",{},[683,684,685],"strong",{},"Give your Docker stacks one home, and keep them there."," ",[395,688,689],{},"\u002Fsrv"," is the folder the standard reserves for data served by the machine, which makes it the tidiest choice for compose files and their bind mounts. ",[692,693,95],"a",{"href":694},"\u002Fserveex\u002Fintroduction"," puts everything in ",[395,697,698],{},"\u002Fsrv\u002Fdocker",", one folder per stack. What matters is picking one place and staying there, rather than scattering half of them into your home folder.",[680,701,702,705,706,709,710,712],{},[683,703,704],{},"Your own files go in your home."," Scripts in ",[395,707,708],{},"~\u002Fbin",", notes, downloads, anything personal. ",[395,711,463],{}," is the root account's home, not a convenient place to drop things.",[680,714,715,686,725,727,728,730],{},[683,716,717,718,720,721,724],{},"Never edit anything under ",[395,719,512],{}," or ",[395,722,723],{},"\u002Fbin"," by hand.",[395,726,518],{}," owns those, and your changes disappear at the next upgrade. What you're allowed to configure lives in ",[395,729,475],{},".",[680,732,733,739,740,743,744,747,748,751],{},[683,734,735,736,738],{},"In ",[395,737,475],{},", prefer a drop-in file over editing the main one."," Many services read every ",[395,741,742],{},".conf"," in a ",[395,745,746],{},"something.d\u002F"," folder next to their main config, ",[395,749,750],{},"\u002Fetc\u002Fssh\u002Fsshd_config.d\u002F"," for instance. Your file then survives a package upgrade that rewrites the original.",[680,753,754,760,761,764,765,730],{},[683,755,756,757,730],{},"Mount data disks by UUID, not by ",[395,758,759],{},"\u002Fdev\u002Fsdb"," Device letters are assigned in the order the kernel finds the disks, so they can swap after a reboot or a new drive. ",[395,762,763],{},"lsblk -f"," gives you the UUID to put in ",[395,766,767],{},"\u002Fetc\u002Ffstab",[680,769,770,775,776,779,780,782],{},[683,771,772,773,730],{},"Keep an eye on ",[395,774,485],{}," Docker images, container logs and system logs all pile up there, on the same partition as the rest. ",[395,777,778],{},"du -sh \u002Fvar\u002Flib\u002Fdocker"," tells you what the containers weigh, ",[395,781,602],{}," whether you should worry.",[680,784,785,792],{},[683,786,787,788,791],{},"Don't create your files with ",[395,789,790],{},"sudo"," when you don't have to."," A file created as root inside your home stays owned by root, and you'll be fighting permission errors over it for weeks.",[794,795,797,798,801,802,536,805,807,808,730],"note",{"to":796},"\u002Fgeneral\u002Flinux\u002Fcli-basics","Everything here assumes you can already move around a terminal. If ",[395,799,800],{},"cd",", ",[395,803,804],{},"ls",[395,806,790],{}," don't mean much yet, start with the ",[683,809,810],{},"command line basics",[812,813,814],"style",{},"html pre.shiki code .sEgDM, html code.shiki .sEgDM{--shiki-light:#B392F0;--shiki-default:#FFCB6B;--shiki-dark:#B392F0}html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html pre.shiki code .s8-mJ, html code.shiki .s8-mJ{--shiki-light:#79B8FF;--shiki-default:#EEFFFF;--shiki-dark:#79B8FF}",{"title":611,"searchDepth":638,"depth":638,"links":816},[817,818,819],{"id":415,"depth":638,"text":416},{"id":585,"depth":638,"text":586},{"id":674,"depth":638,"text":675},[821],"Djeex","How the Debian filesystem is organised, what each top-level folder holds, how partitions differ from folders, and the habits that keep a server tidy.","md",null,{},true,{"title":87,"description":822},"2oALFXeIu_poa1-e5V9IPl2x35-p7N4fcDZ_rZvZW18",[830,832],{"title":83,"path":84,"stem":85,"description":831,"children":-1},"Understand how a Linux command is built, learn the essential terminal commands, what their names mean, and get a cheat sheet to keep at hand.",{"title":91,"path":92,"stem":93,"description":833,"children":-1},"A handful of terminal tools worth installing on a home server, what each one replaces, and step-by-step instructions to install and use them.",1788645857545]