Mười hai bài xây dựng

Toàn bộ, không phải nửa đầu.

Mỗi hướng dẫn đưa một instance trống và biến nó thành dịch vụ bạn có thể trỏ lưu lượng thực. Các lệnh chạy từ trên xuống theo thứ tự in, placeholders được đánh dấu là placeholders, và phần cuối luôn là bài kiểm tra. Không một bài nào kết thúc bằng “sau đó cấu hình thêm theo ý thích”.

01

Bài hướng dẫn không phải là mục kiến thức

Cả hai định dạng tồn tại vì mỗi loại đều kém trong việc thay thế loại kia. Trộn chúng và bạn có kiểu tài liệu giải thích mọi cờ mà không bao giờ cho biết bạn cần cờ nào.

Kiến thức trả lời câu hỏi trong một phút. Bài hướng dẫn tốn một buổi chiều và để lại một máy chủ đang chạy.

Mục kiến thức bắt đầu với thứ bạn đã có và thứ có vấn đề: ổ đĩa không mount lại sau khi khởi động, chứng chỉ gia hạn nhưng không tải lại, bảng điều khiển cứu hộ bạn không thể nhận lệnh. Nó ngắn vì bối cảnh đã nằm trong đầu bạn. Bạn đến với vấn đề và rời đi với giải pháp.

Một bài hướng dẫn bắt đầu từ con số không. Bạn đã thanh toán hóa đơn, bạn có thông tin đăng nhập root, và máy là một image chưa cấu hình ở một thành phố bạn chọn vì lý do riêng. Đến cuối bài, bạn có một máy chủ thư vượt qua các kiểm tra xác thực, hoặc một hypervisor chạy các guest lồng nhau, hoặc hai terabyte nằm ở một quốc gia khác với sáng nay. Bối cảnh được xây dựng khi bạn tiến hành, đó là lý do vì sao những bài này dài vài nghìn từ thay vì hai trăm.

Viết theo cách này tốn nhiều công hơn và phát hiện nhiều lỗi hơn. Mỗi bài hướng dẫn trên trang này đã được chạy từ đầu đến cuối trên một instance mới triển khai trước khi xuất bản, và được chạy lại bất cứ khi nào dự án upstream phát hành thứ gì đó làm hỏng nó. Ngày ở đầu mỗi bài là ngày chạy lần cuối, không phải ngày ai đó lướt qua.

01

Một việc hoàn chỉnh

Không phải là khảo sát sáu lựa chọn rồi nhún vai. Mỗi bài hướng dẫn chọn một cách tiếp cận, nói lý do, và xây dựng theo cách đó. Nếu có một lựa chọn thay thế thực sự, nó được đề cập trong một câu và một liên kết, sau đó bài hướng dẫn tiếp tục.

02

Các lệnh chạy theo trình tự

Sao chép theo thứ tự in trên một image mới và chúng sẽ hoạt động. Nếu bước chín cần một gói được cài ở bước hai, thì bước hai sẽ cài nó. Không có gì phụ thuộc vào trạng thái mà bạn không bao giờ được yêu cầu tạo ra.

03

Một máy cụ thể

Mỗi bản dựng ghi rõ nó được viết trên dòng máy nào và điều gì xảy ra nếu bạn dùng máy nhỏ hơn. Tinh chỉnh Postgres giả định 64 GB ECC là lời khuyên vô dụng trên máy 16 GB, vì vậy chúng tôi nói rõ ở đầu bài.

04

Phần giữa nhàm chán

Quyền sở hữu tệp, củng cố systemd unit, quy tắc tường lửa, xoay vòng log. Đây là phần mà hầu hết hướng dẫn bỏ qua và là phần quyết định dịch vụ còn hoạt động vào tháng Ba hay không.

05

Một bài kiểm tra ở cuối

Mỗi bài hướng dẫn kết thúc bằng các lệnh có đầu ra cho bạn biết rõ ràng liệu bản dựng có hoạt động không. Không phải "bạn sẽ thấy trang đăng nhập". Một thứ gì đó có mã thoát hoặc header bạn có thể đọc.

Nếu dòng cuối của trang là "và sau đó cấu hình tường lửa của bạn", thì đó không phải là hướng dẫn, mà là danh sách mua sắm.
Mục bốn trong danh sách kiểm tra nội bộ
02

Cách theo dõi một bài mà không mất cả buổi tối

Những bài này được viết cho những người đọc toàn bộ trang trước khi gõ bất cứ thứ gì. Thói quen đó đáng giá khoảng một giờ cho mỗi bản dựng.

Giả định một image Debian 13 mới và shell root trừ khi bài hướng dẫn nói khác. Mọi thứ khác được nêu trong hai đoạn đầu.

  1. 01

    Triển khai thứ gì đó mới

    Áp dụng hướng dẫn vào một máy đã chạy ba dịch vụ là cách bạn khám phá ra dịch vụ nào đang âm thầm dùng cổng 8080. Một instance mới chỉ cách đó chưa đầy một phút và bạn có thể hủy nó sau đó.

  2. 02

    Đọc qua một lần

    Đặc biệt là các bước DNS. Một nửa số bản dựng ở đây cần bản ghi đã lan truyền trước khi lệnh sau đó thành công, và nơi rẻ nhất để học điều đó là ở lần đọc đầu tiên thay vì ở bước mười một.

  3. 03

    Thay thế các placeholder

    Bất cứ thứ gì có dạng example.com, 2001:db8:, hoặc <dấu ngoặc nhọn> là của bạn để thay thế. Dải địa chỉ tài liệu được sử dụng có chủ đích để lỗi sao chép-dán thất bại lớn thay vì âm thầm đến mạng của người lạ.

  4. 04

    Snapshot trước phần không thể đảo ngược

    Phân vùng lại, dist-upgrade, bất cứ thứ gì liên quan đến từ "xoá". Gói snapshot cho bạn năm slot và thao tác khôi phục hoàn tất trong vài giây, rẻ hơn việc lặp lại các bước từ một đến chín.

  5. 05

    Chạy xác minh

    Đó là phần cuối của mọi bài hướng dẫn và nó tồn tại vì "có vẻ nó đã khởi động" không giống với "nó hoạt động". Hai phút kiểm tra tốt hơn việc phát hiện ra từ người dùng.

Không có gì trên trang này pipe một script từ xa vào shell. Nếu một dự án upstream chỉ cung cấp trình cài đặt theo cách đó, bài hướng dẫn sẽ chỉ cho bạn cách tải nó, đọc nó và chạy nó như một tệp — bạn nên biết những gì đã vào máy của mình, và chúng tôi cũng vậy.

03

Mỗi bản dựng cần loại máy nào

Hầu hết những hướng dẫn này chạy tốt trên instance Ryzen nhỏ nhất. Bốn trong số đó thì không, và chọn sai dòng cho bốn cái đó sẽ lãng phí một buổi chiều trước khi bạn đến phần thú vị.

Nơi nào hướng dẫn nêu tên gói, đó là gói mà nó đã được thử nghiệm. Dùng gói nhỏ hơn thường vẫn ổn và sẽ được ghi chú nếu không. Lớn hơn không thay đổi gì ngoài các con số bạn đưa vào tệp cấu hình, và các hướng dẫn quan tâm đến phép tính đó sẽ trình bày phép tính.

Bản dựngHạng mụcTại sao chọn dòng đó
WireGuard, Tor relay, Matrix, giám sátRyzen R-4Đơn luồng, hạn chế băng thông, tập làm việc nhỏ. Thêm nhân không thay đổi gì.
Máy chủ thư, CI runner, NextcloudRyzen R-8Các bước biên dịch và chống thư rác đều thích nhân nhanh. Dựng ảnh là thứ nặng nhất ở đây.
PostgresEPYC E-8 trở lênViệc tối ưu trong hướng dẫn đó giả định 64 GB bộ nhớ ECC và ghim có nhận biết NUMA.
Suy luận cục bộGPU G-L40SBốn mươi tám gigabyte VRAM, chuyển thẳng. Một card dùng chung là hàng đợi của người khác.
SeedboxStorage S-50Năm mươi terabyte dung lượng thô sau một lớp ghi NVMe, trên một cổng đủ rộng để xả cạn.
Proxmox với máy khách lồng nhauBare metal BM-EẢo hóa lồng nhau cần máy vật lý. Không có hypervisor nào của chúng tôi chen vào.
Di chuyển hai terabyte giữa các điểm đặt máyBất kỳ hai instance nàoViết dựa trên một nút lưu trữ và một máy Ryzen, nhưng phương pháp là giống nhau ở mọi kích thước.

Mỗi hướng dẫn đều giả định IPv6 /64 có định tuyến đi kèm với mỗi instance. Hai trong số đó yêu cầu /48 thay thế, vì cấp các mạng con cho từng máy khách từ một /64 duy nhất có nghĩa là phải proxy neighbor discovery, và IPv6 được proxy là thứ bạn sẽ phải gỡ rối cả đời chứ không phải vận hành.

Quyền riêng tư

03

Cơ sở hạ tầng

04

Phát triển

02

Phương tiện truyền thông

01

Mạng

02
04

Câu hỏi về các hướng dẫn, thay vì các bản dựng

Phần lớn là có. Phần thuộc về chúng tôi là các bước trong bảng điều khiển, tiền tố định tuyến và giả định về nhân chuyên dụng. Mọi thứ khác là Debian gốc và phần mềm thượng nguồn, vì vậy các lệnh có thể chuyển sang bất kỳ nơi nào cấp cho bạn quyền root và không bán vượt CPU.

Vì viết mười hai hướng dẫn năm lần là cách làm tài liệu trở nên lỗi thời. Debian 13 là ảnh mặc định của chúng tôi, tên gói ổn định trong nhiều năm, và dịch một bước sang AlmaLinux hoặc Alpine chỉ là thay trình quản lý gói chứ không phải viết lại. Danh sách ảnh đầy đủ có trên trang hệ điều hành.

Báo cho chúng tôi. Các hướng dẫn được chạy lại trên một ảnh sạch khi chúng tôi nghe về sự cố, và phiên bản sửa sẽ được phát hành trong tuần đó với ngày ở đầu trang được cập nhật. Một ticket kèm lệnh và lỗi là đủ; bạn không cần chẩn đoán giúp chúng tôi.

Chúng tôi hỗ trợ máy, mạng và lưu trữ bên dưới nó. Gỡ lỗi các tệp map Postfix của bạn lúc ba giờ sáng không nằm trong danh sách đó, và chúng tôi cũng tệ về việc đó. Dịch vụ tăng cường bảo mật được quản lý có sẵn như một tiện ích bổ sung nếu bạn muốn đường cơ sở được duy trì bởi người khác.

Đối với tám trong mười hai, có, và R-4 là gói mà một số hướng dẫn đã được viết trên đó. Các bản dựng Postgres, suy luận, seedbox và Proxmox cần dòng được nêu trong bảng trên; phần còn lại thoải mái trên bốn nhân chuyên dụng và 16 GB.

Sẵn sàng khi bạn cần

Chọn một thành phố, triển khai, và làm theo.

Instance bạn cần cho hầu hết những hướng dẫn này có giá ít hơn ly cà phê bạn sẽ uống trong khi dựng. Trả bằng coin, đợi khoảng bốn mươi bảy giây, và bắt đầu từ bước một.