У меня дома два компьютера в одной сети WIFI. Оба работают на Ubuntu 12.04, и вскоре оба должны будут обновиться до 12.10.
Есть некоторые приложения, которые установлены на одном, но не на другом, и наоборот. Но у них много общего применения.
Пожалуйста, укажите, как я могу обновить обе версии таким образом, чтобы:
Кроме того, я новичок и был бы признателен, если процесс прост и правильно объяснил.
Обновите первый компьютер обычным способом, затем скопируйте все файлы .deb, которые он загрузил, на внешний диск:
cp -v /var/cache/apt/archives/*.deb /media/pendrive
Затем скопируйте все файлы .deb в тот же каталог на втором компьютере. :
sudo cp -v /media/pendrive/*.deb /var/cache/apt/archives/
Затем обновите второй компьютер. Конечно, измените / media / pendrive / на правильный путь для вашего устройства резервного копирования deb.
Таким образом, обновление будет происходить на втором компьютере, но оно сможет повторно использовать файлы .deb, которые уже были загружены, без повторной загрузки. Оба компьютера должны быть одного и того же выпуска - 32- или 64-разрядные.
Вы также можете использовать эту технику для нормального обновления обеих систем. Установите одно на автоматическое обновление, если хотите, а другое на автоматическую проверку обновлений. Периодически копируйте обновленные файлы .deb на второй компьютер и запускайте обновление. Если вы храните эту библиотеку файлов .deb, то вы также можете использовать ее после установки нового компьютера, чтобы сделать первое обновление очень быстрым - не позволяйте системе выполнять обновления во время установки, а вместо этого делайте это вручную после установки.
Я на самом деле использую сценарии для поддержки резервных копий файлов .deb, их восстановления и даже копирования их в новую систему во время установки. Используя cp с ключом -n, он не пытается скопировать элементы, которые уже существуют, и его очень легко использовать и обслуживать. Вот тот, который я использую для загрузки файлов .deb на pendrive. Обратите внимание, что pendrive должен иметь имя тома, чтобы его точка монтирования всегда была / media / yourname - скрипт будет принимать имя тома в качестве аргумента, например,
debupdate yourname
Скрипт также может хранить отдельные резервные копии для разных выпусков. без путаницы - он хранит архивы в / media / yourname / archives / kernel, где kernel является основным уровнем выпуска (без учета расширений -xx). Если вы беспокоитесь об удалении файлов .deb, вы можете запустить это несколько раз во время обновления или, возможно, автоматизировать его.
Вот сценарий:
#! /bin/bash
#copy the contents of the working archives to the given device
#No files will be overwritten (existing will be skipped)
#
args=("$@")
rel="$(uname -r)"
release="${rel:0:6}"
#
# For releases with single digit third series, truncate the '-'
if [ "${rel:5:1}" == "-" ]; then
release="${rel:0:5}"
fi
##############
#
echo
echo "Kernel release level is "$release
#
#
#
if [ -z ${args[0]} ]; then
echo "You must pass the volume name of target"
else
if [ ! -d "/media/${args[0]}" ]; then
echo "Backup device ${args[0]} not found"
exit 1
else
mkdir -p /media/${args[0]}/archives/$release/
cp -nv /var/cache/apt/archives/*.deb /media/${args[0]}/archives/$release/
fi
fi
Я бы посмотрел @, используя apt-cache-server
. См. https://help.ubuntu.com/community/Apt-Cacher-Server для получения дополнительной информации. Вы обновляете первое окно, а затем обновляете второе, оно будет использовать кеш первого. избегает дублирования пакетов.