Nếu tôi tương tự với việc lưu trữ một máy chủ web, tôi sẽ nói rằng dữ liệu của git nên được /var/git
lưu trữ, vì vậy kho git của tôi sẽ ở trong/var/git/myrepo
Q : Đó có phải là dự đoán đúng không?
Nếu tôi tương tự với việc lưu trữ một máy chủ web, tôi sẽ nói rằng dữ liệu của git nên được /var/git
lưu trữ, vì vậy kho git của tôi sẽ ở trong/var/git/myrepo
Q : Đó có phải là dự đoán đúng không?
Câu trả lời:
Không có câu trả lời đúng hay sai ở đây, ngoại trừ câu trả lời theo tôn giáo cá nhân của bạn và nội dung của hier(7)
trang trên hệ thống của bạn.
hier
trang web Linux điển hình ; trang chủ BSD điển hìnhhier
)
/var/git/*
cá nhân tôi có vẻ hợp lý Đó là nơi tôi giữ của tôi.
Đặt nó trong một thư mục (hoặc hệ thống tập tin chia sẻ) bên dưới /srv
. Đây là những gì nó làm.
Thư /srv
mục dành cho dữ liệu dành riêng cho trang web được cung cấp bởi hệ thống . Từ tiêu chuẩn:
Mục đích chính của việc xác định điều này là để người dùng có thể tìm thấy vị trí của các tệp dữ liệu cho dịch vụ cụ thể và để các dịch vụ yêu cầu một cây duy nhất cho dữ liệu chỉ đọc, dữ liệu có thể ghi và tập lệnh (như tập lệnh cgi) có thể được đặt một cách hợp lý. Dữ liệu chỉ được người dùng cụ thể quan tâm nên có trong thư mục chính của người dùng đó.
Phương pháp được sử dụng để đặt tên cho các thư mục con
/srv
là không xác định vì hiện tại không có sự đồng thuận về cách thực hiện việc này. Một phương pháp để cấu trúc dữ liệu theo/srv
giao thức, ví dụ.ftp
,rsync
,www
, Vàcvs
. Trên các hệ thống lớn nó có thể hữu ích để cấu trúc/srv
bởi bối cảnh hành chính, chẳng hạn như/srv/physics/www
,/srv/compsci/cvs
vv Thiết lập này sẽ khác nhau từ máy chủ để lưu trữ. Do đó, không có chương trình nào nên dựa vào cấu trúc thư mục con cụ thể của/srv
dữ liệu hiện có hoặc dữ liệu nhất thiết phải được lưu trữ trong/srv
. Tuy nhiên,/srv
phải luôn tồn tại trên các hệ thống tuân thủ FHS và nên được sử dụng làm vị trí mặc định cho dữ liệu đó.Phân phối phải lưu ý không xóa các tệp được đặt cục bộ trong các thư mục này mà không có sự cho phép của quản trị viên.
Trên hệ thống hỗ trợ SELinux, thư mục mặc định là /var/www/git
và repos phải nằm trong thư mục con của chúng. Hoặc, bạn có thể sử dụng, ví dụ /srv/git
và đặt bối cảnh tệp là tương đương:
semanage fcontext -a -e /var/www/git /srv/git
/home/git/
Điều này thoạt nghe có vẻ hơi khác thường nhưng rất hợp lý vì thư mục này được tạo cho bạn (với quyền chính xác) khi bạn làm sudo useradd git
. Bạn chỉ có thể chuyển sang người dùng git cd
và chạy ngay lập tức:
$ mkdir .ssh; chmod 700 .ssh
$ touch .ssh/authorized_keys; chmod 600 .ssh/authorized_keys
và đặt các khóa công khai của các đồng nghiệp của bạn vào tệp ủy quyền vừa tạo.
Sau git init --bare
dự án của bạn, "url" chỉ là ... chờ đợi ...
git@<server>:<project>
Như voretaq7 đã nói, không có câu trả lời đúng hay sai về một chủ đề như vậy. Tuy nhiên, nếu bạn muốn theo dõi phần mềm, có vẻ như phần mềm cơ sở dữ liệu lưu trữ dữ liệu của họ trong
/var/lib/soft
Ví dụ, đối với Postgresql 9.1 trên debian, thư mục là
/var/lib/postgresql/9.1/
Vì vậy, tôi sẽ chọn cá nhân
/var/lib/git
Trên Arch Linux của tôi, tôi có /srv/http
apache (mặc định là hệ thống) và tôi cũng sử dụng nó cho các máy chủ http.js của mình. Tương tự, tôi quyết định chỉ đưa tất cả các kho git vào /srv/git
.
Tôi sử dụng GitLab, và /srv/git
là thư mục nhà cho git trong trường hợp đó.
Cuối cùng, tùy bạn. Tôi thấy rằng việc bám vào một định dạng tương tự như các dịch vụ khác trong bản phân phối của bạn rất dễ nhớ.
Nếu bạn sử dụng một số frontend để git, chỉ cần đi với bất cứ nơi nào được đóng gói bởi phân phối của bạn muốn đặt chúng. Bất cứ điều gì khác chỉ là tạo ra sự không tương thích không cần thiết.
Đầu tiên, liên quan đến đề xuất sử dụng / srv, bạn theo giả định rằng tất cả các kho git được sử dụng cho các trang web. Nó có thể đúng với bạn, nhưng bạn có thể có một phần mềm không phải là một trang web.
Thứ hai, bằng cách lưu trữ kho mã của bạn bên ngoài / var / www / html hoặc / srv / html, bạn sẽ nhận được hai lợi ích tốt. Bạn có thể tạo các liên kết tượng trưng vào repo của mình ở mọi cấp độ, giúp việc ẩn thư viện của bạn dễ dàng hơn. Ngoài ra, nếu vị trí của kho lưu trữ của bạn thay đổi, bạn không phải sửa đổi cấu hình máy chủ ảo của mình. Thay vào đó bạn chỉ cần điều chỉnh các liên kết tượng trưng của bạn.
Tôi đã sử dụng / var / repo, nhưng tôi nghĩ / var / git tốt hơn và sẽ sử dụng nó từ bây giờ.