Jika saya membuat analogi dengan hosting dari server web, saya akan mengatakan bahwa data git seharusnya ada /var/git
, jadi repositori git saya akan berada di/var/git/myrepo
T : Apakah itu tebakan yang tepat?
Jika saya membuat analogi dengan hosting dari server web, saya akan mengatakan bahwa data git seharusnya ada /var/git
, jadi repositori git saya akan berada di/var/git/myrepo
T : Apakah itu tebakan yang tepat?
Jawaban:
Tidak ada jawaban benar atau salah di sini, kecuali yang didikte oleh agama pribadi Anda dan isi halaman hier(7)
manual pada sistem Anda.
hier
manual Linux tipikal ; manual BSD khashier
)
/var/git/*
tampaknya masuk akal bagi saya secara pribadi. Di situlah saya menyimpan milik saya.
Letakkan di direktori (atau sistem file bersama) di bawah /srv
. Ini untuk apa.
The /srv
direktori ditujukan untuk data spesifik dilayani oleh sistem . Dari standar:
Tujuan utama menentukan ini adalah agar pengguna dapat menemukan lokasi file data untuk layanan tertentu, dan agar layanan yang memerlukan satu pohon untuk data yang hanya dapat dibaca, data yang dapat ditulis dan skrip (seperti skrip cgi) dapat ditempatkan dengan wajar. Data yang hanya menarik bagi pengguna tertentu harus masuk dalam direktori home pengguna tersebut.
Metodologi yang digunakan untuk menamai subdirektori
/srv
tidak ditentukan karena saat ini tidak ada konsensus tentang bagaimana ini harus dilakukan. Salah satu metode untuk menyusun data di bawah/srv
adalah dengan protokol, misalnya.ftp
,rsync
,www
, Dancvs
. Pada sistem yang besar dapat berguna untuk menyusun/srv
oleh konteks administratif, seperti/srv/physics/www
,/srv/compsci/cvs
, dll Pengaturan ini akan berbeda dari host ke host. Oleh karena itu, tidak ada program yang harus bergantung pada struktur subdirektori spesifik yang/srv
ada atau data yang harus disimpan/srv
. Namun/srv
harus selalu ada pada sistem yang sesuai FHS dan harus digunakan sebagai lokasi default untuk data tersebut.Distribusi harus berhati-hati untuk tidak menghapus file yang ditempatkan secara lokal di direktori ini tanpa izin administrator.
Pada sistem yang diaktifkan SELinux, direktori defaultnya adalah /var/www/git
, dan repo harus berada dalam subdirektori daripadanya. Atau, Anda dapat menggunakan, misalnya, /srv/git
dan mengatur konteks file menjadi setara:
semanage fcontext -a -e /var/www/git /srv/git
/home/git/
Ini mungkin tampak agak tidak konvensional pada awalnya tetapi sangat masuk akal karena direktori ini dibuat untuk Anda (dengan izin yang benar) ketika Anda melakukannya sudo useradd git
. Anda bisa langsung beralih ke pengguna git, cd
dan segera menjalankan:
$ mkdir .ssh; chmod 700 .ssh
$ touch .ssh/authorized_keys; chmod 600 .ssh/authorized_keys
dan memasukkan kunci publik dari rekan-rekan Anda ke dalam file dengan otorisasi yang baru saja dibuat.
Setelah git init --bare
proyek Anda selesai, "url" baru saja ... tunggu saja ...
git@<server>:<project>
Seperti yang dikatakan voretaq7, tidak ada jawaban benar atau salah tentang hal itu. Namun, jika Anda ingin mengikuti softs, tampaknya softs database menyimpan datanya
/var/lib/soft
Sebagai contoh, untuk Postgresql 9.1 pada debian foldernya adalah
/var/lib/postgresql/9.1/
Jadi saya pribadi akan memilih
/var/lib/git
Pada Arch Linux saya, saya memiliki /srv/http
apache (yang merupakan sistem default) dan saya menggunakannya untuk server http node.js saya juga. Demikian pula saya memutuskan untuk meletakkan semua repositori git /srv/git
.
Saya menggunakan GitLab, dan juga /srv/git
merupakan folder home untuk git.
Pada akhirnya, terserah Anda. Saya menemukan bahwa menempel ke format yang mirip dengan layanan lain di distro Anda mudah diingat.
Jika Anda menggunakan beberapa frontend untuk git, pergi saja ke mana pun yang dikemas oleh distribusi Anda ingin menempatkannya. Hal lain hanyalah menciptakan ketidakcocokan yang tidak perlu.
Pertama, mengenai saran untuk menggunakan / srv, Anda berada di bawah asumsi bahwa semua repositori git digunakan untuk situs web. Ini mungkin benar untuk Anda, tetapi Anda bisa memiliki perangkat lunak yang bukan situs web.
Kedua, dengan menyimpan repositori kode Anda di luar / var / www / html atau / srv / html, Anda mendapatkan dua manfaat bagus. Anda dapat membuat tautan simbolis ke dalam repo Anda di tingkat mana saja, membuatnya lebih mudah untuk menyembunyikan perpustakaan Anda. Juga, jika lokasi repositori Anda berubah sama sekali, Anda tidak perlu mengubah konfigurasi virtual host Anda. Alih-alih, Anda hanya menyesuaikan tautan simbolis Anda.
Saya menggunakan / var / repo, tapi saya pikir / var / git lebih baik, dan akan menggunakannya mulai sekarang.