Я могу передать каталог установки конкретного пакета к другому компьютеру для предотвращения действия по установке?

Я установил один пакет в своей машине Linux, и я хочу установить тот же пакет на другой машине Linux. Разве я могу непосредственно скопировать установленный каталог с одного компьютера на другой компьютер? Я означаю клонировать каталог установки.

1
задан 30 June 2017 в 01:36

1 ответ

Учитывая программное обеспечение, установленное с APT / DPKG

В большинстве систем Linux, включая Ubuntu, не существует единого установочного каталога для пакета, хотя иногда стороннее программное обеспечение может хранить все свои файлы в одном каталоге.

Вместо этого пакет содержит набор файлов, которые размещены в нескольких местах файловой системы. Запуск whereis для пакета показывает каталоги, которые содержат его основные части:

$ whereis gimp
gimp: /usr/bin/gimp /usr/lib/gimp /etc/gimp /usr/share/gimp /usr/share/man/man1/gimp.1.gz

Мы можем видеть, что gimp имеет файлы по крайней мере в /usr/bin, /usr/lib, /etc и /usr/share, все из которых содержат много файлов, принадлежащих другим пакетам.

Вы можете использовать опцию dpkg-query -L или --listfiles, чтобы прочитать список файлов пакета, известного dpkg:

$ dpkg --listfiles g++
/.
/usr
/usr/bin
/usr/share
/usr/share/doc
/usr/share/man
/usr/share/man/man1
/usr/bin/g++
/usr/bin/x86_64-linux-gnu-g++
/usr/share/doc/g++
/usr/share/man/man1/g++.1.gz
/usr/share/man/man1/x86_64-linux-gnu-g++.1.gz

Обратите внимание, что в список включены все родительские каталоги, даже если g ++ Пакет, очевидно, не предоставил их (чтобы получить только файлы, вы можете сделать что-то вроде for i in $(dpkg --listfiles g++); do [[ -f "$i" ]] && echo "$i"; done, но некоторые установки пакетов создают каталоги).

Для g++ очень маленький список файлов ...

$ dpkg --listfiles gimp | wc -l
254
$ dpkg --listfiles xkb-data | wc -l
331
$ dpkg --listfiles linux-image-4.10.0-24-generic | wc -l
1312

Также учтите, что если вы просто скопируете все соответствующие файлы во все соответствующие местоположения в другой системе, менеджер пакетов ничего об этом не узнает, поэтому пакет не будет обновлен и его зависимости не будут установлены, так что это вероятно не будет работать вообще по трудным для отладки причинам.

Что сводится к тому, что для программного обеспечения, устанавливаемого с помощью APT, безусловно, самый простой способ его установки - с помощью APT. Если вы хотите сэкономить на загрузке в каждой системе, см. Как установить программное обеспечение или пакеты без Интернета (в автономном режиме)? .

Некоторые люди считают этот распределенный стиль установки ... ошибкой. И многие из них что-то предпринимают, например, создают дистрибутивы, которые устанавливают пакеты дискретно, или изобретают кроссплатформенные решения для упаковки, такие как оснастки, которые позволяют дискретную установку, включая все зависимости.

1
ответ дан 7 December 2019 в 15:33

Другие вопросы по тегам:

Похожие вопросы: