Aplikasi Baru
Ikuti Spesifikasi Direktori Basis XDG biasanya ~/.config/yourapp/*
bisa INF, JSON, YML atau format apa pun yang mengapungkan perahu Anda, dan file apa pun... yourapp
harus cocok dengan nama Anda yang dapat dieksekusi, atau diberi spasi nama dengan organisasi/perusahaan/nama pengguna/pegangan Anda ke ~/.config/yourorg/yourapp/*
Aplikasi Lama
Konfigurasi per pengguna, biasanya tepat di direktori home Anda...
~/.yourapp
file untuk satu file~/.yourapp/
untuk banyak file + data biasanya di ~/.yourapp/config
Konfigurasi global umumnya ada di /etc/appname
file atau /etc/appname/
direktori.
Data Aplikasi Global:/var/lib/yourapp/
Data cache:/var/cache/
Data log:/var/log/yourapp/
Beberapa info tambahan dari tutorialhelpdesk.com
Struktur direktori Linux/sistem mirip Unix lainnya dan detail direktori.
Di Windows, hampir semua program menginstal file mereka (semua file) di direktori bernama:'Program Files' Tidak demikian halnya di Linux. Sistem direktori mengkategorikan semua file yang diinstal. Semua file konfigurasi ada di /etc
, semua file biner ada di /bin
atau /usr/bin
atau /usr/local/bin
. Berikut adalah seluruh struktur direktori beserta isinya:
/
- Direktori root yang membentuk dasar dari sistem file. Semua file dan direktori secara logis terdapat di dalam direktori root terlepas dari lokasi fisiknya.
/bin
- Berisi program yang dapat dieksekusi yang merupakan bagian dari sistem operasi Linux. Banyak perintah Linux, seperti cat, cp, ls, more, dan tar, terletak di /bin
/boot
- Berisi kernel Linux dan file lain yang diperlukan oleh manajer boot LILO dan GRUB.
/dev
- Berisi semua file perangkat. Linux memperlakukan setiap perangkat sebagai file khusus. Semua file tersebut berada di /dev
.
/etc
- Berisi sebagian besar file konfigurasi sistem dan skrip inisialisasi di /etc/rc.d
subdirektori.
/home
- Direktori rumah adalah induk dari direktori rumah pengguna.
/lib
- Berisi file pustaka, termasuk modul driver yang dapat dimuat yang diperlukan untuk mem-boot sistem.
/lost+found
- Direktori untuk file yang hilang. Setiap partisi disk memiliki direktori yang hilang + ditemukan.
/media
- Direktori untuk memasang sistem file pada media yang dapat dilepas seperti drive CD-ROM, floppy disk, dan drive Zip.
/mnt
- Direktori untuk sistem file yang dipasang sementara.
/opt
- Paket perangkat lunak opsional menyalin/menginstal file di sini.
/proc
- Direktori khusus dalam sistem file virtual. Ini berisi informasi tentang berbagai aspek sistem Linux.
/root
- Direktori rumah dari pengguna root.
/sbin
- Berisi file biner administratif. Perintah seperti mount, shutdown, umount, berada di sini.
/srv
- Berisi data untuk layanan (HTTP, FTP, dll.) yang ditawarkan oleh sistem.
/sys
- Direktori khusus yang berisi informasi tentang perangkat, seperti yang terlihat oleh kernel Linux.
/tmp
- Direktori sementara yang dapat digunakan sebagai direktori awal (penyimpanan file sementara). Isi direktori ini dihapus setiap kali sistem melakukan booting.
/usr
- Berisi subdirektori untuk banyak program seperti Sistem X Window.
/usr/bin
- Berisi file yang dapat dieksekusi untuk banyak perintah Linux. Ini bukan bagian dari sistem operasi inti Linux.
/usr/include
- Berisi file header untuk bahasa pemrograman C dan C++
/usr/lib
- Berisi pustaka untuk bahasa pemrograman C dan C++.
/usr/local
- Berisi file lokal. Ini memiliki direktori yang mirip dengan /usr berisi.
/usr/sbin
- Berisi perintah administratif.
/usr/share
- Berisi file yang dibagikan, seperti, file konfigurasi default, gambar, dokumentasi, dll.
/usr/src
- Berisi kode sumber untuk kernel Linux.
/var
- Berisi berbagai file sistem seperti log, direktori email, spool cetak, dll. yang cenderung berubah jumlah dan ukurannya seiring waktu.
/var/cache
- Area penyimpanan untuk data cache untuk aplikasi.
/var/lib
- Berisi informasi yang berkaitan dengan keadaan aplikasi saat ini. Program mengubah ini saat dijalankan.
/var/lock
- Berisi file kunci yang diperiksa oleh aplikasi sehingga sumber daya hanya dapat digunakan oleh satu aplikasi.
/var/log
- Berisi file log untuk berbagai aplikasi.
/var/mail
- Berisi email pengguna.
/var/opt
- Berisi data variabel untuk paket yang disimpan di direktori /opt.
/var/run
- Berisi data yang menjelaskan sistem sejak di-boot.
/var/spool
- Berisi data yang menunggu untuk diproses.
/var/tmp
- Berisi file sementara yang disimpan di antara reboot sistem.
Anda harus mematuhi aplikasi Anda pada Spesifikasi Direktori Basis XDG . Sebagian besar jawaban di sini sudah usang atau salah.
Aplikasi Anda harus menyimpan dan memuat data dan file konfigurasi ke/dari direktori yang ditunjukkan oleh variabel lingkungan berikut:
$XDG_DATA_HOME
(default:"$HOME/.local/share"
):file data khusus pengguna.$XDG_CONFIG_HOME
(default:"$HOME/.config"
):file konfigurasi khusus pengguna.$XDG_DATA_DIRS
(default:"/usr/local/share/:/usr/share/"
):kumpulan direktori data sistem yang diurutkan terlebih dahulu.$XDG_CONFIG_DIRS
(default:"/etc/xdg"
):sekumpulan direktori konfigurasi sistem yang diurutkan terlebih dahulu.$XDG_CACHE_HOME
(default:"$HOME/.cache"
):file data non-esensial khusus pengguna.
Anda harus terlebih dahulu menentukan apakah file yang dimaksud adalah:
- File konfigurasi (
$XDG_CONFIG_HOME:$XDG_CONFIG_DIRS
); - Sebuah file data (
$XDG_DATA_HOME:$XDG_DATA_DIRS
); atau - File (cache) non-esensial (
$XDG_CACHE_HOME
).
Direkomendasikan agar aplikasi Anda meletakkan filenya di subdirektori dari direktori di atas. Biasanya, seperti $XDG_DATA_DIRS/<application>/filename
atau $XDG_DATA_DIRS/<vendor>/<application>/filename
.
Saat memuat, pertama-tama Anda mencoba memuat file dari direktori khusus pengguna ($XDG_*_HOME
) dan, jika gagal, dari direktori sistem ($XDG_*_DIRS
). Saat menyimpan, simpan ke direktori khusus pengguna saja (karena pengguna mungkin tidak memiliki akses tulis ke direktori sistem).
Untuk direktori lain yang lebih berorientasi pada pengguna, lihat Spesifikasi Direktori Pengguna XDG . Ini mendefinisikan direktori untuk Desktop, unduhan, dokumen, video, dll.
- Umumnya konfigurasi sistem/global disimpan di suatu tempat di bawah /etc.
- Konfigurasi khusus pengguna disimpan di direktori beranda pengguna, seringkali sebagai file tersembunyi, terkadang sebagai direktori tersembunyi yang berisi file tidak tersembunyi (dan mungkin lebih banyak subdirektori).
Secara umum, opsi baris perintah akan menggantikan variabel lingkungan yang akan menggantikan default pengguna yang akan menggantikan default sistem.