Buộc cập nhật từ kho lưu trữ không dấu


63

Tôi đang sử dụng một repo không dấu trong Ubuntu 16.04 từ đa phương tiện Debian:

deb http://www.deb-multimedia.org jessie main

Để cài đặt deb-multimedia-keyring, tôi đang chạy:

apt-get update && apt-get install deb-multimedia-keyring -y

Điều này đưa ra một lỗi:

W: GPG error: http://www.deb-multimedia.org jessie InRelease: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 5C808C2B65558117
E: The repository 'http://www.deb-multimedia.org jessie InRelease' is not signed.
N: Updating from such a repository can't be done securely, and is therefore disabled by default.
N: See apt-secure(8) manpage for repository creation and user configuration details.

Câu trả lời:


40

Bạn có thể bỏ qua một số biện pháp bảo vệ quan trọng bằng cách sử dụng tùy chọn sau:

--allow-unauthenticated

Từ trang man cho apt-get:

--allow-unauthenticated
    Ignore if packages can't be authenticated and don't prompt about
    it. This can be useful while working with local repositories, but
    is a huge security risk if data authenticity isn't ensured in
    another way by the user itself. The usage of the Trusted option for
    sources.list(5) entries should usually be preferred over this
    global override. Configuration Item:
    APT::Get::AllowUnauthenticated.

Nhưng hãy cẩn thận một chút về việc sử dụng tùy chọn này rộng rãi hơn, các biện pháp bảo vệ được áp dụng để bảo vệ máy tính của bạn không giới hạn sự tự do của bạn ...


1
Tôi sử dụng Raspbian stretchvà nhận ngay cả với tùy chọn E: The repository 'http://ftp.de.debian.org/debian testing InRelease' is not signed.tôi muốn nâng cấp từ python 3.5. t 3.6.
Timo

2
nói với tôi rằng "tùy chọn này không thể được giải thích cùng với các tùy chọn khác" khi thực hiệnsudo apt-get update --allow-unauthenticated
Xerus

26
LƯU Ý: Điều này dường như không còn hoạt động trong Ubuntu 18.04 kể từ tháng 7 năm 2018.
Jay Taylor

@JayTaylor: Tôi vừa mở một Máy ảo mới cho 18.04 và các chức năng lệnh ở đây hoàn toàn tốt. Pastebin tại đây: pastebin.com/ygLTnP1C
andrew.46

2
Hấp dẫn; có lẽ có một cái gì đó khác trên máy tôi đã thử nó từ phía sau các lỗi tôi quan sát thấy. Trong mọi trường hợp, việc thêm [trusted=yes]trường vào nguồn.list đã làm việc. Cảm ơn sự siêng năng của bạn @ andrew.46 :)
Jay Taylor

62

Bạn có thể đặt các tùy chọn trong sources.list(nằm tại /etc/apt/sources.list):

deb [trusted=yes] http://www.deb-multimedia.org jessie main

Tùy chọn đáng tin cậy là những gì tắt kiểm tra GPG. Xem man 5 sources.listđể biết chi tiết.

Bạn có thể chỉnh sửa tệp trong thiết bị đầu cuối bằng vim (hoặc bất cứ thứ gì bạn thích) hoặc bất kỳ trình chỉnh sửa không phải thiết bị đầu cuối nào như gedit.


Làm thế nào để chúng ta truy cập sources.listtừ các thiết bị đầu cuối?
fuzzi

1
Nó nằm ở /etc/apt/sources.list. Bạn có thể chỉnh sửa nó trong terminal bằng vim (hoặc bất cứ thứ gì bạn thích) hoặc bất kỳ trình soạn thảo không phải terminal nào như gedit.
Prathu Baronia

8

Một giải pháp chung khác sẽ là

sudo apt-key adv --keyserver pgp.mit.edu --recv-keys 5C808C2B65558117

Lưu ý: Tôi đã không kiểm tra giải pháp với kho lưu trữ này nhưng tôi đã làm nó với kho lưu trữ của Skype và nó hoạt động rất tốt.

Một giải pháp cụ thể cho trường hợp của bạn là cài đặt các phím

wget http://www.deb-multimedia.org/pool/main/d/deb-multimedia-keyring/deb-multimedia-keyring_2012.05.05_all.deb -O deb-multimedia-keyring.deb
sudo dpkg -i multimedia-keyring_all.deb

Như được mô tả trong toàn bộ thông qua đây


3

Nếu bạn đang cố gắng lấy một gói từ kho lưu trữ nơi họ đã đóng gói các khóa và đưa chúng vào kho lưu trữ và không ở đâu khác, thì có thể rất khó chịu khi tải xuống và cài đặt gói khóa / khóa bằng dpkg và rất khó thực hiện một cách dễ dàng kịch bản và lặp lại.

Tập lệnh bên dưới không được khuyến nghị nếu bạn có thể cài đặt các khóa từ máy chủ khóa (như được đề xuất trong câu trả lời khác bằng cách sử dụng apt-key adv) hoặc nếu bạn có thể tải xuống từ một nguồn đáng tin cậy qua https và cài đặt bằng khóa apt (ví dụ wget https://trusted.key.site/my-trusted-key.gpg | sudo apt-key add -), nhưng nếu bạn không ' T có bất kỳ cách nào khác, bạn có thể sử dụng này.

echo "deb http://your.repo.domain/repository/ $(lsb_release -c -s) universe" | sudo tee /etc/apt/sources.list.d/your-repo-name.list

sudo apt -o Acquire::AllowInsecureRepositories=true \
-o Acquire::AllowDowngradeToInsecureRepositories=true \
update

## if the 'apt update' above fails it is likely due to previously
## having the GPG key and repository on the system, you can clean
## out the old lists with `sudo rm /var/lib/apt/lists/your.repo.domain*`

apt-get -o APT::Get::AllowUnauthenticated=true install repo-keyring-pkgname

## If you ever run `sudo apt-key del your-repos-keyID`
## you may have to `sudo apt remove --purge repo-keyring-pkgname`
## Update should run without the GPG warnings now that the key is installed

apt-get update
apt-get install somepkg-from-repo

Ban đầu tôi kết hợp điều này bởi vì i3 trong repo sur5r của họ thực hiện điều này, nhưng sau đó tôi phát hiện ra các khóa của họ nằm trong danh sách keyerver.ub Ubuntu.com, vì vậy tôi có thể vừa sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys E3CA1A89941C42E6và tránh tất cả các rắc rối gói bổ sung.


Câu trả lời này dường như chưa hoàn chỉnh khi đối mặt với Ubuntu 18.04 Ở đó, nó cố gắng làm phiền tôi bằng cách nói những điều khó chịu như ... Release is not valid yet (invalid for another 44min 35s). Updates for this repository will not be applied. Ngay cả sau khi rm-ing / var / lib / apt / list / * thing ...
Jürgen Weigert

Đó chỉ đơn giản là một vấn đề sao chép nhân bản và không nên ảnh hưởng đến việc xác thực hoặc ký các gói trong kho. Vì năm 1804 sắp ra mắt, rất nhiều máy nhân bản đang cố gắng bắt kịp và dịch vụ nhân bản có thể đưa bạn đến máy chủ chưa hoàn toàn đồng bộ hóa.
dragon788

2

Bạn có thể lấy PUBLIC_KEY từ máy chủ khóa và thêm nó vào khóa apt. Giả sử máy chủ khóa là pgpkeys.mit.edu, trước tiên bạn cần nhập:

gpg --keyserver pgpkeys.mit.edu --recv-key KEY_IN_ERROR
gpg -a --export KEY_IN_ERROR | sudo apt-key add -

Thay thế khóa KEY_IN_ERROR bằng một phím trong thông báo lỗi của bạn, ví dụ 5C808C2B65558117.

Ngoài ra, nếu bạn thực sự quan tâm đến việc thêm một kho lưu trữ không dấu, bạn có thể thêm một cờ trong mục lưu trữ mong muốn trong nguồn.list như thế này:

deb [allow-insecure=yes] http://www.deb-multimedia.org jessie main

Điều này thực sự hữu ích nếu bạn muốn tinh chỉnh cài đặt bảo mật của mình cho một mục riêng lẻ.

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.