Khôi phục kho apt mặc định trong nguồn.list từ dòng lệnh


17

Tôi đang tìm kiếm phương pháp tốt nhất để khôi phục /etc/apt/sources.listvề mặc định từ dòng lệnh.

Có cách nào để tham chiếu mã nguồn của gói tạo ra tệp này hoặc một cái gì đó tương tự không? Tôi muốn một cách đáng tin cậy và độc lập với phiên bản để khôi phục tệp này.

Giải pháp loại trừ

Trước khi bạn đánh dấu đây là một bản sao, lưu ý rằng tôi đã xem lại câu hỏi này rồi. Nó chỉ được áp dụng nếu bạn có sẵn GUI Ubuntu. Câu hỏi này là cụ thể cho dòng lệnh.

Tôi cũng đã xem xét câu hỏi này trong đó giải pháp được chấp nhận là ai đó đã dán nội dung của sources.listtệp của họ . Đây không phải là một cách thích hợp để khôi phục tệp vì ý định của người cung cấp nội dung tệp không thể được xác minh và tệp có thể thay đổi với các bản phát hành mới.

Tôi đã kiểm tra trình tạo tại Simplelinux.ch , nhưng đây cũng không phải từ Ubuntu nên tôi không có kế hoạch sử dụng nó.

Câu trả lời:


20

Tôi không chắc chắn những gì bạn muốn, nhưng:

  • Kho lưu trữ mẹ luônhttp://archive.ubfox.com/ubfox - mọi thứ khác là một tấm gương phản chiếu điều này. Tất cả các máy nhân bản chính khác đều có một miền có dạng <cctld>.archive.ubuntu.com, trong đó mã ngắn gồm hai ký tự là Tên miền cấp cao nhất của mã quốc gia . Bạn có thể tìm thấy các gương bổ sung với trạng thái của chúng tại Launchpad .
  • Tên mã phân phối là một phần của kênh (thuật ngữ thứ ba). Bạn có thể sử dụng lsb_release -scđể tìm ra điều đó, và đó là từ đầu tiên của bản phát hành tên đẹp bằng chữ thường ( trustyví dụ như Trusty Tahr).
  • Có năm các kênh truyền hình: <codename>, <codename>-security, <codename>-updates, <codename>-backports<codename>-proposed. Cái đầu tiên là cần thiết vì nó là cơ sở, cái thứ hai rất được khuyến khích vì nó chứa các bản sửa lỗi bảo mật, thứ tư chỉ khi bạn cần một số gói được nhập từ một bản phát hành mới hơn và thứ năm chỉ khi nhà phát triển yêu cầu bạn kích hoạt nó để thử nghiệm sửa chữa.
  • Có bốn phần kho: main, multiverse, universerestricted( sự khác biệt giữa đa vũ trụ, vũ trụ, hạn chế và chính là gì? )

Vì vậy, bạn luôn có thể tạo một két an toàn sources.listchỉ chứa:

deb http://archive.ubuntu.com/ubuntu <codename> main multiverse universe restricted
deb http://archive.ubuntu.com/ubuntu <codename>-security main multiverse universe restricted

Nếu bạn muốn một lệnh để làm điều này:

printf 'deb http://archive.ubuntu.com/ubuntu %s main multiverse universe restricted\n' $(lsb_release -sc){,-security} > /etc/apt/sources.list

Ngoài danh sách Launchpad, danh sách được cung cấp bởi chương trình Nguồn phần mềm là từ /usr/share/python-apt/templates/Ubuntu.mirrors, là từ python-apt-commongói. Gói này chỉ là một phụ thuộc Gợi ý gián tiếp apt, vì vậy nó có thể không được cài đặt theo mặc định trên máy chủ.


Đó chính xác là những gì tôi muốn làm rõ. Cảm ơn bạn!
Ryan Burnette

câu trả lời này hoàn hảo cho cả hai bài đăng (một liên kết và bài này)
Brian Thomas

Nhưng bạn vẫn sẽ phải xác nhận câu trả lời này bằng tài liệu trên chính trang web Ubuntu vì bạn không thể xác minh ý định của người cung cấp câu trả lời này?
Herbert Van-Vliet

7

Nếu bạn hiểu mỗi dòng đại diện cho cái gì /etc/apt/sources.list, bạn có thể tạo danh sách của riêng mình. Ví dụ: một dòng trong tôi sources.listlà,

deb http://archive.ubuntu.com/ubuntu/ trusty main

Nó có 4 phần:

  • Phần 1: Phần đầu tiên debở đây có nghĩa là nó là một kho lưu trữ của tất cả các gói nhị phân. chỉ có giá trị khả dĩ khác là deb-srccó nghĩa là kho lưu trữ mã nguồn.
  • Phần 2: Phần này chứa URI của kho lưu trữ ( http://us.archive.ubfox.com/ubfox/ trong trường hợp này). URI có thể thay đổi cho các gương, ví dụ: nếu bạn muốn sử dụng máy nhân bản chính thức của Hoa Kỳ thì URI sẽ là http://us.archive.ub Ubuntu.com/ubfox/ .
  • Phần 3: Nó chứa tên mã (và tên kênh) của bản phát hành bạn đang sử dụng, trong trường hợp trustynày là tên mã của bản phát hành Ubuntu của tôi (14.04 LTS). bạn có thể tìm thấy bạn bằng cách lsb_release -sc. Ví dụ: Nếu bạn đang sử dụng 12.04, tên mã sẽ là "chính xác". Bây giờ để khai báo các kênh khác, ví dụ như để khai báo kênh bảo mật bạn cần sử dụng trusty-security.

  • Phần 4: Phần này chứa "tên phần" của kho lưu trữ. Thường có 4 tên phần được sử dụng: main, restricted, universe, multiverse. Bạn có thể đặt tất cả các tên phần trong cùng một dòng khai báo một kho lưu trữ hoặc bạn có thể sử dụng các dòng khác nhau cho mỗi phần nhưng không được có bất kỳ mục trùng lặp nào. Nếu bạn đọc /etc/apt/sources.list, thì bạn sẽ thấy mô tả các gói mà mỗi phần này chứa.

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.