Linux apt-get force
Бывает что пакет из других репозиториев содержит файл, аналогичный уже
установленнму и возникает ошибка при установке этого пакета,
воспользуемся опцией принудительной перезаписи "--force-overwrite"
apt-get -o Dpkg::Options::="--force-overwrite" upgrade
apt-get -o Dpkg::Options::="--force-overwrite" install -f
apt-get -o Dpkg::Options::="--force-overwrite" install python-profiler
apt-get -o Dpkg::Options::="--force-all" install -f
Иногда бывает неисправимая ошибка в установке пакета либо его удаления
Воспользуемся варварским способом, если другое не помогло
ls /var/lib/dpkg/info/qemu-user-static*
/var/lib/dpkg/info/qemu-user-static.list
/var/lib/dpkg/info/qemu-user-static.md5sums
/var/lib/dpkg/info/qemu-user-static.prerm
/var/lib/dpkg/info/qemu-user-static.postinst
/var/lib/dpkg/info/qemu-user-static.postrm
При установке
sudo rm /var/lib/dpkg/info/qemu-user-static.postinst
При удалении
sudo rm /var/lib/dpkg/info/qemu-user-static.postrm
И исправляем ошибку
apt-get -o Dpkg::Options::="--force-all" install -f
Поиск пакетов
кэш необходимо предварительно обновить командой
sudo apt-get update
apt-cache search [имя пакета]
Установка определенной версии пакета из репозитория
sudo apt-get install [имя пакета]=version
Получить список доступных версий
apt-cache policy [имя пакета]
Выполнение постустановочных скрипта или Переконфигурирование настройки пакета
sudo dpkg-reconfigure [имя пакета]
Загрузка пакетов из репозиториев
apt-get download [имя пакета]
либо
apt-get download [имя пакета]=version
Загрузка исходного кода пакета
sudo apt-get source [имя пакета]
Вывод установленных пакетов
Вы получите список всех установленных и удаленных с сохранением настроек пакетов
dpkg --get-selections
Чтобы вывести только установленные пакеты
dpkg --get-selections | awk '$2 ~ /^install/`
Получить список файлов установленного пакета
dpkg -L [имя пакета]
Поиск пакета. Определить какому пакету принадлежит файл
Для установленных пакетов
dpkg -S [имя файла]
dpkg -S /path/to/file
Для всех пакетов из кеша которые занесены в репозитории sudo apt-file update
sudo apt-file search [имя файла]
sudo apt-file search /path/to/file
Передача списка пакетов между системами
Экспорт списка пакетов
dpkg --get-selections > ~/packagelist.txt
Бекап списока хранилищ и ключей к ним на новой машине
mkdir ~/sources
cp -R /etc/apt/sources.list* ~/sources
Импорт списка пакетов ключей и списков репозиториев.
Внимание, при совпадении файлы перезапишутся
Ключи и списки репозиториев
sudo apt-key add ~/trusted_keys.txt
sudo cp -R ~sources/* /etc/apt/
обнулите состояние не основных пакетов в системе
изменения надо наносить на свежие пакеты. Все неважные пакеты для удаления.
Теперь следует обновить кэш пакетов, чтобы установить последние версии. Самой установкой займется утилита под названием dselect.
применить наш список пакетов поверх имеющегося:
команда установит нужные состояния для интересующих нас пакетов. Чтобы применить изменения выполните следующую команду:
Она загрузит, установит и удалит все необходимые пакеты. В итоге вы должны получить полный аналог предыдущей машины, за исключением файлов настроек, которые следует скопировать или изменить отдельно.
Добавление репозиториев
Существует два подхода для добавления репозиториев в ubuntu и debian.
Первый - вручную внести изменения в файл
/etc/apt/sources.list
или добавить файл списка, оканчивающийся на .list, в каталог
/etc/apt/sources.list.d/
sudo nano /etc/apt/sources.list.d/new_repo.list
Добавлять источник нужно в формате
deb_or_deb-src url_of_repo release_code_name_or_suite component_names
Описание формата
deb или deb-src
Указывает на тип репозитория. Традиционные репозитории обозначаются при помощи deb, а репозитории исходных кодов - при помощи deb-src
url: Главный url репозитория - адрес расположения
release code name or suite: кодовое имя вашей системы, обозначающее набор пакетов именно для вашей версии системы
component names: Отметка набора пакетов, которые вы хотите сделать доступными себе.
пример
sudo nano /etc/apt/sources.list
и вписываем строку
deb http://archive.ubuntu.com/ubuntu/ xenial main restricted universe multiverse
Второй способ добавления репозиториев - команда add-apt-repository
sudo apt-get install software-properties-common
Далее, просто передавайте репозитории в указанном формате этой утилите
sudo add-apt-repository 'deb url release component'
пример
sudo add-apt-repository 'deb http://archive.ubuntu.com/ubuntu/ xenial main restricted universe multiverse'
установленнму и возникает ошибка при установке этого пакета,
воспользуемся опцией принудительной перезаписи "--force-overwrite"
apt-get -o Dpkg::Options::="--force-overwrite" upgrade
apt-get -o Dpkg::Options::="--force-overwrite" install -f
apt-get -o Dpkg::Options::="--force-overwrite" install python-profiler
apt-get -o Dpkg::Options::="--force-all" install -f
Иногда бывает неисправимая ошибка в установке пакета либо его удаления
Воспользуемся варварским способом, если другое не помогло
ls /var/lib/dpkg/info/qemu-user-static*
/var/lib/dpkg/info/qemu-user-static.list
/var/lib/dpkg/info/qemu-user-static.md5sums
/var/lib/dpkg/info/qemu-user-static.prerm
/var/lib/dpkg/info/qemu-user-static.postinst
/var/lib/dpkg/info/qemu-user-static.postrm
При установке
sudo rm /var/lib/dpkg/info/qemu-user-static.postinst
При удалении
sudo rm /var/lib/dpkg/info/qemu-user-static.postrm
И исправляем ошибку
apt-get -o Dpkg::Options::="--force-all" install -f
Поиск пакетов
кэш необходимо предварительно обновить командой
sudo apt-get update
apt-cache search [имя пакета]
Установка определенной версии пакета из репозитория
sudo apt-get install [имя пакета]=version
Получить список доступных версий
apt-cache policy [имя пакета]
Выполнение постустановочных скрипта или Переконфигурирование настройки пакета
sudo dpkg-reconfigure [имя пакета]
Загрузка пакетов из репозиториев
apt-get download [имя пакета]
либо
apt-get download [имя пакета]=version
Загрузка исходного кода пакета
sudo apt-get source [имя пакета]
Вывод установленных пакетов
Вы получите список всех установленных и удаленных с сохранением настроек пакетов
dpkg --get-selections
Чтобы вывести только установленные пакеты
dpkg --get-selections | awk '$2 ~ /^install/`
Получить список файлов установленного пакета
dpkg -L [имя пакета]
Поиск пакета. Определить какому пакету принадлежит файл
Для установленных пакетов
dpkg -S [имя файла]
dpkg -S /path/to/file
Для всех пакетов из кеша которые занесены в репозитории sudo apt-file update
sudo apt-file search [имя файла]
sudo apt-file search /path/to/file
Передача списка пакетов между системами
Экспорт списка пакетов
dpkg --get-selections > ~/packagelist.txt
Бекап списока хранилищ и ключей к ним на новой машине
mkdir ~/sources
cp -R /etc/apt/sources.list* ~/sources
Импорт списка пакетов ключей и списков репозиториев.
Внимание, при совпадении файлы перезапишутся
Ключи и списки репозиториев
sudo apt-key add ~/trusted_keys.txt
sudo cp -R ~sources/* /etc/apt/
обнулите состояние не основных пакетов в системе
изменения надо наносить на свежие пакеты. Все неважные пакеты для удаления.
sudo dpkg --clear-selections
Теперь следует обновить кэш пакетов, чтобы установить последние версии. Самой установкой займется утилита под названием dselect.
sudo apt-get install dselect sudo dselect update
применить наш список пакетов поверх имеющегося:
sudo dpkg --set-selections < packagelist.txt
команда установит нужные состояния для интересующих нас пакетов. Чтобы применить изменения выполните следующую команду:
sudo apt-get dselect-upgrade
Она загрузит, установит и удалит все необходимые пакеты. В итоге вы должны получить полный аналог предыдущей машины, за исключением файлов настроек, которые следует скопировать или изменить отдельно.
Добавление репозиториев
Существует два подхода для добавления репозиториев в ubuntu и debian.
Первый - вручную внести изменения в файл
/etc/apt/sources.list
или добавить файл списка, оканчивающийся на .list, в каталог
/etc/apt/sources.list.d/
sudo nano /etc/apt/sources.list.d/new_repo.list
Добавлять источник нужно в формате
deb_or_deb-src url_of_repo release_code_name_or_suite component_names
Описание формата
deb или deb-src
Указывает на тип репозитория. Традиционные репозитории обозначаются при помощи deb, а репозитории исходных кодов - при помощи deb-src
url: Главный url репозитория - адрес расположения
release code name or suite: кодовое имя вашей системы, обозначающее набор пакетов именно для вашей версии системы
component names: Отметка набора пакетов, которые вы хотите сделать доступными себе.
пример
sudo nano /etc/apt/sources.list
и вписываем строку
deb http://archive.ubuntu.com/ubuntu/ xenial main restricted universe multiverse
Второй способ добавления репозиториев - команда add-apt-repository
sudo apt-get install software-properties-common
Далее, просто передавайте репозитории в указанном формате этой утилите
sudo add-apt-repository 'deb url release component'
пример
sudo add-apt-repository 'deb http://archive.ubuntu.com/ubuntu/ xenial main restricted universe multiverse'
Комментарии
Отправить комментарий