Michael уже предоставил решение для устранения проблем зависимости. Только отметить далее, apt-get upgrade
обновил бы все установленные пакеты. Если Вы хотите обновить только единственный пакет, использовать apt-get install package_name
. Для PHP это, вероятно, было бы apt-get install php5
.
Кроме того, если существует частая проблема обновить источники пакета, можно вернуться назад к "официальным спискам пакета" для распределения. Исходный Генератор Списка Debian обеспечивает интерактивный интерфейс для генерации исходных списков для любого распределения.
я не думаю, что rsync
может это сделать, но вы можете составить список файлов, изменить этот список и скопировать его как скрипт по назначению.
Предположим, что имена ваших файлов не содержат новых строк или одинарных кавычек ('
), запустите это на исходном компьютере:
cd basedir
find . -type f | sed 's/^/rm -f '\''/' | sed 's/$/'\''/' > /var/tmp/to_remove
затем скопируйте через в_remove
файл на целевой компьютер, cd
в базовый каталог там и отправьте его на исходный компьютер. Любые файлы, которых нет в наличии, но которые находятся в списке, не будут иметь никакого эффекта, и другие, доступные только в целевом устройстве, не будут тронуты.
Если вы также хотите удалить каталоги, вы можете использовать дополнительный, но при этом удаляются каталоги, существующие в исходном коде и пустые в месте назначения, независимо от того, были ли файлы удалены из каталога или нет.
find . -depth -type d | sed 's/^/rmdir -f '\''/' | sed 's/$/'\''/' > /var/tmp/to_remove
cd a
find . -type f -print0 | ssh ${server_name} "cd $path_to_b;cat | xargs -0 rm"
ssh ${server_name} "find ${path_to_b} -empty -type d -delete"
Вы получите сообщения об ошибках для файлов, которые не существуют на b. Вторая команда удаляет пустые папки по назначению.