Thư mục của Cameron / usr / local / src có nghĩa là gì?


29

Tôi muốn đặt các tệp công việc (mã) của mình vào /usr/local/src, nhưng tôi nghĩ đó đã là một thư mục có ý nghĩa ngữ nghĩa khác.

Đó là gì? Tôi nên đặt mã nguồn ở đó, hoặc có một nơi tốt hơn?

Chỉnh sửa - Tôi là người dùng và quản trị viên duy nhất của máy và tôi không muốn sử dụng thư mục chính của mình vì nó nằm trên ổ NFS.

Câu trả lời:


35

Theo Linux FHS , /usrlà vị trí đặt các mục dựa trên Phân phối và /usr/locallà vị trí bạn đặt các thay đổi cục bộ của riêng mình ( /usr/localsẽ trống sau khi cài đặt cơ sở). Vì vậy, ví dụ, nếu bạn muốn biên dịch lại gói Ubuntu từ nguồn, trình quản lý gói của họ sẽ đặt nguồn cho gói /usr/src/{package dir}. Nếu bạn đã tải xuống một chương trình không do nhà phân phối của bạn quản lý và muốn biên dịch / cài đặt nó, FHS sẽ ra lệnh rằng bạn thực hiện điều đó /usr/local/src.

EDIT: Câu trả lời ngắn, có, đặt mã của bạn vào /usr/local/src.


10

Nó phụ thuộc vào những gì bạn đang làm với nguồn đó. Nếu đó là để tham khảo, vâng, đó là một nơi tốt. /usr/localđược dành riêng cho phần mềm được cài đặt cục bộ bởi sysadmin. Vì vậy, nếu bạn muốn cài đặt phần mềm cùng với các tệp nguồn (cho các chương trình khác sử dụng hoặc để mọi người xem), điều đó tốt.

Tuy nhiên, nó không có nghĩa là một không gian làm việc . Vì nó là cục bộ , tất nhiên bạn có thể làm bất cứ điều gì bạn muốn, nhưng điều này không được thiết kế để trở thành nơi phát triển cây phát triển phần mềm của bạn.

Điều đó thực sự nên nằm trong một kho lưu trữ mã (có thể trong /srv/sourcerepohoặc một cái gì đó), và sau đó các nhà phát triển sẽ kiểm tra các bản sao làm việc của riêng họ vào các thư mục nhà của họ.


Tôi thứ hai những gì mattdm nói ở trên. Tôi thường sử dụng /usr/local/srcnhư một nơi tốt để tải xuống mã nguồn của bên thứ ba (ví dụ: để vá và xây dựng lại các gói), chứ không phải mã nguồn của riêng tôi, như matt nói, nên ở dưới / srv / ... (mặc dù tôi thường sử dụng /srv/vcs/sourcerepo). Và nhân đôi từ xa, tất nhiên.
Faheem Mitha

@Faheem - thư mục chính của tôi nằm trên ổ NFS, vì vậy tôi chắc chắn không làm việc chi nhánh nguồn của mình ở đó (quá chậm).
ripper234

Tôi nghĩ rằng đây là câu trả lời tốt hơn. Tôi ví dụ, tôi có các ứng dụng web trong / srv / http và repos của chúng trong / srv / git. Bây giờ tôi đang tìm kiếm các công cụ hỗ trợ dev. Tôi đã hoàn toàn dựa vào /usr/local/appnamehoặc /usr/local/srcthậm chí tốt hơn, cho đến khi tôi đọc nó. Điều này đã cho tôi lý do tôi biết ở phía sau tâm trí của tôi. Đây thực sự là một công việc, bạn bắt tôi. Vì vậy, điều gì sẽ xảy ra nếu tôi thay vào đó đặt nó ở đó, sau đó sao chép nó để ~/srcxây dựng nó ở đó, sau đó đẩy nó lên thượng nguồn, đó là nơi được thêm / hoặc trong đường dẫn để chạy các công cụ dev. Tôi chỉ không thích ý tưởng của / srv, vì nó không được phục vụ.
Brian Thomas

Những gì, sau đó, srvđứng cho?
SherylHohman

1
@SherylHohman Nó không thực sự đại diện cho bất cứ điều gì (nó không phải là từ viết tắt) nhưng chúng tôi đã chọn nó để ám chỉ "dịch vụ". Xem FHS có nội dung "/ srv chứa dữ liệu dành riêng cho trang web được phục vụ bởi hệ thống này" .
mattdm
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.