Если вы знаете, что ваш initrd.img
состоит из несжатого архива cpio, за которым следует архив cpio, сжатый gz, вы можете использовать следующее, чтобы извлечь все файлы (из обоих архивов) в ваш текущий рабочий каталог (проверено в bash):
(cpio -id; zcat | cpio -id) < /path/to/initrd.img
Приведенная выше командная строка передает содержимое initrd.img
в качестве стандартного ввода в подоболочку, которая выполняет две команды cpio -id
и zcat | cpio -id
последовательно. Первая команда ( cpio -id
) завершается после прочтения всех данных, принадлежащих первому архиву cpio. Оставшееся содержимое затем передается в zcat | cpio -id
, который распаковывает и распаковывает второй архив.
Я отправляю ответ на свой вопрос, потому что решил проблему и В другом месте я не нашел подходящего решения. Нет файла / etc / ssl / certs / ca-certificate-crt. Поэтому необходимо предоставить ссылку на соответствующий сертификат.
$ ln -s /etc/ca-certificates/extracted/ca-bundle.trust.crt /etc/ssl/certs/ca-certificates.crt
Теперь я могу использовать curl и git clone через https.
У меня была такая же проблема с попытками git clone
из AUR. Как и в случае с pianomanfrazier, создание символической ссылки решило насущную проблему. Однако я обнаружил, что докер по-прежнему не может тянуть, выдавая ошибку:
docker: Error while pulling image: [image name]
x509: certificate signed by unknown authority.
Удаление символической ссылки и запуск pacman -S ca-certificate-utils
решили основную проблему. (Обратите внимание, что докеру требуется systemctl restart docker
, чтобы исправление вступило в силу.)