होम डायरेक्टरी को संरचित करने के टिप्स (2023)
(unixdigest.com)होम डायरेक्टरी संरचना के टिप्स
- डायरेक्टरी को संरचित या व्यवस्थित करना, बाकी चीज़ों को संरचित या व्यवस्थित करने से बहुत अलग नहीं है; मुख्य बात यह है कि इसे उस तरीके से किया जाए जो आपको सबसे अधिक तार्किक लगे
- संगठन को संभालते समय चीज़ें बहुत जल्दी नियंत्रण से बाहर हो सकती हैं
- व्यवस्थित करने का मुख्य उद्देश्य दक्षता है; आप जो ढूंढना चाहते हैं उसे आसानी और तेजी से ढूंढ सकें, और जिसे सहेजना है उसे भी आसानी और तेजी से सहेज सकें
छिपी हुई डिफ़ॉल्ट फ़ाइलें और डायरेक्टरी
- मेरी होम डायरेक्टरी में
.config,.aliases,.profile,.gnupg,.mozillaआदि जैसे आधुनिक Unix operating system का हिस्सा बनने वाली सभी डिफ़ॉल्ट hidden files मौजूद हैं - मैं चाहता हूँ कि सभी applications
XDG_CONFIG_HOMEका सम्मान करें, लेकिन मैं इस बात को लेकर ज़्यादा दखल या चिंता नहीं करता - पहले मैं Git के साथ $HOME को बनाए रखता था, और यह Dotfiles को व्यवस्थित करने का एक शानदार तरीका है
- बदलावों का इतिहास बनाए रखने के लिए मैं अब भी सभी Dotfiles को Git में रखता हूँ, लेकिन केवल वही Dotfiles जस का तस रखता हूँ जो मेरे द्वारा उपयोग किए जाने वाले विभिन्न systems पर एक जैसे काम करते हैं
- प्रति-configuration Dotfiles को
dotfilesडायरेक्टरी में रखा जाता है और symbolic links का उपयोग किया जाता है
सामान्य फ़ाइल और डायरेक्टरी संगठन
- सामान्य फ़ाइलें और डायरेक्टरी मुख्य रूप से दो तरीकों से व्यवस्थित की जाती हैं: "category" और "date"
- मूल डायरेक्टरी संरचना:
bindataedatamntusr/dotfiles
DesktopऔरDownloadsडायरेक्टरी को वैसे ही छोड़ देता हूँ (क्योंकि ज़्यादातर applications मानो यही मजबूर करती हैं)binडायरेक्टरी में shell scripts और personal binary executables रखता हूँ (package manager के जरिए install किए गए फ़ाइलों को छोड़कर)mntडायरेक्टरी का उपयोग SD card, USB disk, homelab में उपयोग होने वाले shared storage आदि जैसे विभिन्न mount points के लिए करता हूँ- मैं कभी auto-mount नहीं करता, और mounting के लिए shell scripts का उपयोग करता हूँ
usr/dotfilesडायरेक्टरी को.aliasesजैसे सामान्य Dotfiles के साथ Git द्वारा प्रबंधित किया जाता है, औरdotfilesडायरेक्टरी में संबंधित फ़ाइलों के लिए symbolic links का उपयोग किया जाता है
डेटा डायरेक्टरी संगठन
dataऔरedataदो मुख्य डायरेक्टरी हैं जिनमें सारी सामग्री रखी जाती है- ये दोनों डायरेक्टरी root installation से अलग, disk mirroring pool पर चलने वाले ZFS datasets हैं
- ZFS का उपयोग करके snapshots के साथ-साथ ZFS send और receive का नियमित रूप से उपयोग किया जाता है ताकि network storage पर आसानी से backup लिया जा सके
dataऔरedataके बीच अंतर यह है किedataएक ZFS native encryption dataset है- encryption privacy के लिए अच्छा है, लेकिन यह पहले से ही जटिल file system hierarchy के ऊपर एक डरावनी जटिलता की परत जोड़ देता है, और ZFS encryption में bugs भी हैं
- दृढ़ता से सिफारिश की जाती है कि महत्वपूर्ण data का backup हमेशा कई अलग-अलग storage solutions और locations में रखा जाए
- महत्वपूर्ण चीज़ों के लिए cloud storage का उपयोग नहीं करता
अतिरिक्त टिप्स
- फ़ाइल और डायरेक्टरी naming का मूल नियम यह है कि केवल नाम देखकर आसानी से समझ आ जाना चाहिए कि वह क्या है
- अगर बिना फ़ाइल खोले यह पता नहीं चलता कि फ़ाइल किस बारे में है, तो उसे तुरंत खोलकर देखना चाहिए और अगली बार उसका नाम दिखने पर उसे अधिक अर्थपूर्ण नाम में बदल देना चाहिए
- यदि फ़ाइलों और डायरेक्टरी को व्यवस्थित किए बिना छोड़ दिया जाए, तो बाद में उन्हें ठीक करना बहुत मुश्किल हो जाता है
- जब भी ज़रूरत हो, ऐसे लंबे और वर्णनात्मक फ़ाइल नामों का उपयोग करता हूँ ताकि फ़ाइल खोले बिना भी उसकी सामग्री समझी जा सके
GN⁺ की राय
-
यह लेख डायरेक्टरी संरचना को व्यवस्थित और संगठित करने के तरीकों पर व्यावहारिक टिप्स देता है। खासकर ZFS datasets का उपयोग करके encrypted और unencrypted डायरेक्टरी को अलग-अलग प्रबंधित करने का तरीका दिलचस्प है.
-
व्यक्तिगत रूप से मेरा मानना है कि महत्वपूर्ण data को encrypt करके रखना अच्छा है। लेकिन encryption के कारण performance में गिरावट या complexity बढ़ने जैसी कमियाँ भी हैं, इसलिए स्थिति के अनुसार इसे चुनिंदा रूप से इस्तेमाल करना बेहतर लगता है.
-
साथ ही, encrypted data तक पहुँचने का तरीका परिवार के लोगों के साथ साझा करके रखना भी एक महत्वपूर्ण बिंदु है। ताकि दुर्घटना आदि की स्थिति में यदि आप स्वयं access न कर सकें, तब भी data खो न जाए.
-
व्यक्तिगत data management के लिए लेखक की तरह एक व्यवस्थित backup strategy बनाना बहुत महत्वपूर्ण है। 321 backup rule का पालन करते हुए cloud storage की बजाय भौतिक रूप से वितरित local storage का उपयोग करना भी अच्छा तरीका लगता है.
-
व्यक्तिगत data को व्यवस्थित करने के लिए उपयोगी open source tools में Syncthing या Nextcloud जैसे विकल्प शामिल हैं। इन tools का सही उपयोग किया जाए तो सुव्यवस्थित और सुरक्षित personal data management संभव हो सकता है.
1 टिप्पणियां
Hacker News राय
यहाँ Hacker News टिप्पणियों का सारांश दिया गया है:
~/goको समस्या बताया गया है।GOPATHसेट करके इसे हल किया जा सकता है, लेकिन इसे अच्छा default नहीं माना गया।xdg-ninjaनाम का टूल इस्तेमाल करने पर ज़्यादातर applications को XDG standard follow करने के लिए configure किया जा सकता है, जिससे home directory को व्यवस्थित रखने में मदद मिलती है।.configfolder में applications session data को gigabytes के स्तर पर store कर देती हैं, जिससे backup के समय दिक्कत होती है। राय यह है कि config और session data को अलग होना चाहिए।तारीख-विवरण.txtयाकीवर्ड-शीर्षक-तारीख.txtजैसे format इस्तेमाल किए जा सकते हैं।~/dotfilesको dotfiles manage करने वाले Git repository की तरह इस्तेमाल करना और home directory में symbolic links बनाना सुविधाजनक है।~/projectsमें project-wise subdirectories बनाकर चीज़ें manage की जा सकती हैं, और~/tmpको temporary files रखने की जगह की तरह इस्तेमाल किया जा सकता है। notes को website या Markdown में व्यवस्थित करना भी अच्छा तरीका हो सकता है।