Я подозреваю, что у Вас есть “поддельный RAID” контроллер. Эти RAID-контроллеры только оказывают минимальную поддержку в BIOS; объем работы сделан в драйвере Windows. Linux часто справляется плохо с этими контроллерами, потому что он испытывает недостаток в драйверах Windows. Наблюдение единственного UUID, но двух дисков является общим симптомом поддельного RAID (драйвер Windows знал бы, что существует два диска, но у них, как предполагается, есть идентичное содержание).
Если у Вас есть поддельное устройство RAID (и Вы, вероятно, делаете: RAID-контроллерами на уровне конечного пользователя является почти всегда поддельный RAID), и Вы не совместно используете диски с Windows, выключаете RAID в BIOS. Затем включите программное обеспечение RAID Linux, которое для RAID-1 выше во всех отношениях (кроме тех случаев, когда Вы совместно используете диски с Windows).
См. также, что Ubuntu фальсифицирует практическое руководство RAID, Как я дифференцирую “поддельный RAID” от реального RAID?
Это нужно отличить от ситуации, где Вы пытаетесь копировать полное дерево пакета из официального репозитория и точно настраиваете исходный приоритет. Случайные пакеты означают виртуальные пакеты, пакеты, которые компилируются локально или копируются постепенным способом для тестирования. Вот простая установка на основе теперь устаревшей документации.
Во-первых, сделайте каталог для хостинга пакетов:
mkdir <packagedir>
Затем переместите свои .deb файлы пакета туда. Выполните эту команду из каталога выше того, который мы просто создали (удостоверьтесь, что полномочия позволяют это!):
dpkg-scanpackages packagedir | gzip > packagedir/Packages.gz
Теперь создайте файл с расширением .list
в /etc/apt/sources.list.d/
с содержанием:
deb [trusted=yes] file:///path_to_dir_above_packagedir packagedir/
и обновите способную базу данных:
apt-get update
В этой точке пакеты в нашем локальном репозитории могут быть установлены как любое другое использование пакета apt-get install <packagename>
. Когда новые пакеты добавляются к локальному репозиторию, предписанному dpkg-scanpackages
команда должна быть дана снова для обновления файла Packages.gz и apt
должен быть обновлен, прежде чем новые пакеты сделаны доступными. Надо надеяться, это может быть полезно для тестирования.
Если вы хотите создать репо с полной структурой, необходимой для таких инструментов, как debootstrap, я нашел самый простой способ:
Создать каталог репозитория.
# mkdir -p / opt / debian
Создать подкаталог conf.
# mkdir / opt / debian / conf
Создайте файл / opt / debian / conf / distributions с таким содержимым (настройте его в соответствии с используемым вами дистрибутивом):
Ярлык: Локальный репозиторий APT
Кодовое имя: jessie
Архитектуры: amd64
Компоненты: main
Описание: Локальный репозиторий APT для debootstrap
Импорт ваш пакет с реппро.
# репро-b / opt / debian includedeb jessie /path/to/package.db
Импортируйте группу пакетов с помощью цикла for-loop, например все из вашего APT-кеша:
# cd / var / cache / apt / archives
# для DEB в * .deb; выполните репрезентацию -b / opt / debian includedeb jessie $ DEB; done
Будет создан неподписанный архив. Его можно использовать с debootstrap с параметром --no-check-gpg.
Хотя аналогичный ответ уже существует и несколько похожих ответов также есть на AU , я публикую этот ответ, чтобы рекомендовать использование apt-ftparchive
вместоdpkg-scanpackages
apt-ftparchive
вместо dpkg-scanpackages
? dpkg-scanpackages
предоставляется пакетом dpkg-dev
, который не поставляется с установочным образом дистрибутива, по моим наблюдениям, он может быть не установлен на вашем компьютере. Сначала вам нужно установить пакет dpkg-dev
, чтобы воспользоваться командой dpkg-scanpackages
. И цель настройки локального репозитория обычно состоит в том, чтобы управлять пакетами программного обеспечения в автономном режиме на машине, которая не подключена к Интернету. Принимая во внимание, что командаapt-ftparchive
предоставляется командой apt-utils
, которая поставляется с обычным установочным образом дистрибутива. Таким образом, вам не нужно устанавливать никаких дополнительных пакетов.
Поскольку мы собираемся управлять пакетами -с помощью apt вместо dpkg, почему бы не использовать apt и для сканирования пакетов?:)
Шаг 1:Создайте каталог, в который вы будете помещать свои файлы deb.
$ mkdir ~/apt-local-repository
Шаг 2:Добавьте локальный каталог в начало списка репозиториев по адресу/etc/apt/sources.list
$ head -n 1 /etc/apt/sources.list
deb [trusted=yes] file:/home/pandya/apt-local-repository/./
Обратите внимание: если вы не установите [trusted=yes]
, вам нужно будет установить аргумент --allow-unauthenticated
при установке пакетов через apt
.
Строка добавляется в начало списка репозиториев, чтобы присвоить ей наивысший приоритет.Если вместо этого вы добавите его в /etc/apt/sources.list.d/
, apt попытается установить его из онлайн-репозитория (, как определено в /etc/apt/sources.list
), отдав вашему локальному репозиторию меньший приоритет.
Шаг 3:Положите долги на~/apt-local-repository
Шаг 4:Индексирование списка пакетов с помощьюaptftparchive
$ cd ~/apt-local-repository/; apt-ftparchive packages. > Packages
Шаг 5:Обновите индекс/базу данных apt, используяsudo apt update
Готово . Теперь вы можете установить свой пакет deb, используя sudo apt install <packagename>
. Просто повторяйте шаги с 3 по 5 каждый -раз, когда вы меняете локальную базу данных.
Полезные советы:
Вы можете запустить apt-cache policy <packagename>
, чтобы выяснить, распознает ли APT ваш локальный пакет deb и присваивает ли ему наивысший приоритет
Вы можете запустить sudo apt-get --print-uris install <packagename>
, чтобы проверить, все ли зависимости удовлетворены, или вам нужно загрузить дополнительные пакеты. Также в нем будут перечислены URL-адреса, которые будут i )ftp :// для пакетов, которые у вас есть в вашем локальном репозитории, и/или ii )http :// для пакетов или отсутствующих зависимостей, которые необходимо загрузить из Интернета..
Вы можете взглянуть на один сценарий под названиемL ocal A pt R epository M anager Я создал.
[trusted=yes]
междуdeb
иfile:///
URI (см.sources.list(5)
страница справочника), иначеapt-get update
сбои из-за отсутствия подписи. – vinc17 27.11.2015, 04:31