2 poin oleh GN⁺ 2024-04-21 | 1 komentar | Bagikan ke WhatsApp

Tips Struktur Home Directory

  • Menata atau merapikan struktur direktori pada dasarnya tidak jauh berbeda dari menata atau merapikan hal lain; yang paling penting adalah melakukannya dengan cara yang paling masuk akal bagi diri sendiri
  • Saat berurusan dengan organisasi, kondisinya bisa sangat cepat menjadi di luar kendali
  • Tujuan utama kerapian adalah efisiensi: Anda harus bisa menemukan apa yang dicari dengan mudah dan cepat, serta menyimpan apa yang perlu disimpan dengan mudah dan cepat

File dan direktori bawaan tersembunyi

  • Di home directory saya ada semua file tersembunyi bawaan yang merupakan bagian dari sistem operasi Unix modern, seperti .config, .aliases, .profile, .gnupg, .mozilla, dan sebagainya
  • Saya lebih suka semua aplikasi menghormati XDG_CONFIG_HOME, tetapi saya tidak terlalu ikut campur atau terlalu memikirkannya
  • Dulu saya pernah mengelola $HOME dengan Git, dan itu adalah cara yang sangat baik untuk menyusun dotfiles
  • Saya masih menaruh semua dotfiles di Git untuk menjaga riwayat perubahan, tetapi hanya mempertahankan dotfiles yang bekerja sama di berbagai sistem yang saya gunakan
  • Dotfiles khusus konfigurasi disimpan di direktori "dotfiles" dan menggunakan symbolic link

Susunan file dan direktori umum

  • File dan direktori umum terutama disusun dengan dua cara: "kategori" dan "tanggal"
  • Struktur direktori dasar:
    • bin
    • data
    • edata
    • mnt
    • usr/dotfiles
  • Direktori Desktop dan Downloads dibiarkan apa adanya (karena tampaknya dipaksakan oleh sebagian besar aplikasi)
  • Direktori bin digunakan untuk menyimpan shell script dan file executable biner pribadi (tidak termasuk yang dipasang melalui package manager)
  • Direktori mnt digunakan untuk berbagai mount point seperti kartu SD, disk USB, dan shared storage yang dipakai di homelab
  • Saya tidak pernah melakukan auto-mount, dan menggunakan shell script untuk mounting
  • Direktori usr/dotfiles dikelola dengan Git bersama dotfiles umum seperti .aliases, dan menggunakan symbolic link ke file terkait di direktori dotfiles

Susunan direktori data

  • Direktori data dan edata adalah dua direktori utama tempat semua materi disimpan
  • Kedua direktori ini adalah dataset ZFS yang berjalan di pool mirroring disk, terpisah dari instalasi root
  • Dengan memanfaatkan ZFS, saya rutin menggunakan snapshot serta ZFS send dan receive untuk memudahkan backup ke network storage
  • Perbedaan antara data dan edata adalah bahwa edata merupakan dataset dengan enkripsi bawaan ZFS
  • Enkripsi baik untuk privasi, tetapi juga merupakan lapisan kompleksitas yang mengerikan di atas hierarki file system yang sudah rumit, dan enkripsi ZFS memiliki bug
  • Sangat disarankan agar data penting selalu dibackup ke beberapa solusi penyimpanan dan lokasi yang berbeda
  • Saya tidak menggunakan cloud storage untuk hal-hal yang penting

Tips tambahan

  • Aturan dasar untuk penamaan file dan direktori adalah nama itu sendiri harus membuat Anda bisa dengan mudah mengidentifikasi apa isinya
  • Jika Anda tidak bisa mengetahui isi file hanya dari namanya tanpa membukanya, segera buka file itu dan ubah namanya menjadi sesuatu yang lebih bermakna saat Anda melihat nama file itu lagi nanti
  • Jika file dan direktori dibiarkan tanpa dirapikan, akan menjadi sangat sulit untuk memperbaikinya nanti
  • Saya menggunakan nama file dengan deskripsi panjang saat diperlukan agar isi file bisa dipahami tanpa harus membukanya

Pendapat GN⁺

  • Artikel ini memberikan tips praktis tentang cara merapikan dan menyusun struktur direktori. Secara khusus, cara memanfaatkan dataset ZFS untuk membagi dan mengelola direktori terenkripsi dan yang tidak terenkripsi terasa menarik.

  • Secara pribadi, saya merasa menyimpan data penting dalam keadaan terenkripsi adalah pilihan yang baik. Namun, karena ada juga kekurangan seperti penurunan performa atau bertambahnya kompleksitas akibat enkripsi, tampaknya lebih baik digunakan secara selektif sesuai situasi.

  • Selain itu, menurut saya poin penting lainnya adalah membagikan cara mengakses data terenkripsi kepada anggota keluarga. Dengan begitu, meskipun terjadi kecelakaan atau hal lain yang membuat diri kita tidak bisa mengaksesnya, data tetap tidak hilang.

  • Untuk pengelolaan data pribadi, sangat penting memiliki strategi backup yang sistematis seperti penulis. Mengikuti aturan backup 3-2-1, sambil memanfaatkan penyimpanan lokal yang tersebar secara fisik alih-alih cloud storage, juga tampak sebagai pendekatan yang baik.

  • Beberapa alat open source yang berguna untuk pengelolaan data pribadi antara lain Syncthing dan Nextcloud. Jika alat-alat ini dimanfaatkan dengan baik, pengelolaan data pribadi yang sistematis dan aman tampaknya bisa diwujudkan.

1 komentar

 
GN⁺ 2024-04-21
Opini Hacker News

Berikut adalah ringkasan komentar-komentar Hacker News:

  • Ada keluhan bahwa direktori home menjadi berantakan karena aplikasi. Secara khusus, direktori default modul Go yaitu ~/go disebut sebagai masalah. Ini bisa diatasi dengan pengaturan GOPATH, tetapi dianggap sebagai nilai default yang buruk.
  • Dengan menggunakan alat bernama xdg-ninja, sebagian besar aplikasi bisa diatur agar mengikuti standar XDG, sehingga membantu merapikan direktori home.
  • Aplikasi menyimpan data sesi hingga gigabita di folder .config, sehingga menyulitkan saat melakukan backup. Ada pendapat bahwa konfigurasi dan data sesi seharusnya dipisahkan.
  • Setiap orang memiliki preferensi berbeda untuk struktur file. Ada yang memilih untuk hampir mengosongkan direktori home dan menggunakan cloud storage atau partisi terpisah. Menyimpan kunci SSH di password manager juga bisa menjadi salah satu cara.
  • Untuk foto, mengelompokkan dengan kata kunci EXIF adalah cara yang baik untuk menghindari masalah duplikasi. Nama file dokumen bisa menggunakan format tanggal-deskripsi.txt atau kata-kunci-judul-tanggal.txt.
  • Sebaiknya nama folder untuk GUI menggunakan huruf besar, sedangkan untuk CLI menggunakan huruf kecil. ~/dotfiles dapat digunakan sebagai repositori Git untuk mengelola dotfile, lalu membuat symbolic link di direktori home agar lebih praktis.
  • ~/projects bisa digunakan untuk mengelola subdirektori per proyek, dan ~/tmp dapat dimanfaatkan sebagai tempat menyimpan file sementara. Merapikan catatan lewat situs web atau Markdown juga merupakan cara yang baik.
  • Banyak nama direktori dimulai dengan huruf 'D' sehingga bisa membingungkan. Membuat folder proyek berdasarkan tahun dan tanggal, lalu menumpuknya hanya sedalam satu tingkat, membuatnya lebih mudah dinavigasi.
  • Untuk nama file dan direktori, menggunakan tanda hubung alih-alih underscore lebih baik untuk optimasi mesin pencari dan juga lebih nyaman ditangani di terminal.
  • Untuk backup, menggunakan beberapa layanan sekaligus seperti Time Machine, Backblaze, dan iCloud bisa efektif, dan menyimpan arsip terkompresi di S3 juga bisa menjadi metode yang baik.