Можно добавить a continue
оператор как это:
cd /var/www
for dir in */
do
if [ "$dir" == "foo" ] ; then
continue;
fi
base=$(basename "$dir")
tar -czfh "${base}.tar.gz" "$dir"
done
Или можно сделать это с find
команда:
find /var/www -maxdepth 1 -type d \( -name foo \) -prune -o -print -exec bash -c "tar -czfh \`basename {}\`.tar.gz {}" \;
все загрузочные лотки дистрибутива и те, кому нравится сохранять их файлы конфигурации в / домой, должны иметь в виду, что отъезд / размещает нетронутый, и нарушенный файлами конфигурации от предыдущего дистрибутива плохо. У меня были многочисленные проблемы с этим при изменении от Монетного двора KDE для Чеканки XFCE, а также других дистрибутивов. В то время как дуга может быть установлена или заменена любым дистрибутивом без большого количества боли, которая не верна для остальных.
Symlinking, создавая отдельный .dotfiles каталог является возможным обходным решением, но что относительно совместимости? Я испытал некоторые затруднения из-за файлов конфигурации для различных версий приложения. Дистрибутивы используют различные версии многих приложений в их представителях. Это особенно имеет место, когда Вы переключаетесь на debian конюшню.
Я предпочитаю сохранять свои данные по отдельному разделу, беря только важные файлы конфигурации и diffing их перед слиянием.
Что касается возможная альтернатива дистрибутива, я могу сказать, что раньше испытывал много дистрибутивов после того, как я оставил дугу в поисках меньшего количества обновления агрессивной и более стабильной средой, таким образом, единственный distibution, что я был удобен для использования, был crunchbang. Но это - просто мое мнение. Ничто не может превзойти Ваш собственный опыт ;)
Для не потери данных, я рекомендовал бы две вещи:
Когда Вы переустанавливаете, не изменяйте/, которым домой будут сохранены домашний раздел и Ваши настройки в/.
Однако я также рекомендую использовать Мерзавца для всех настроек, включая вещи, которые Вы хотите сохранить в / и т.д. или корне/, и продвинуть это на удаленном сервере.
Используя конфигурацию как это, я переключился от Debian, Нестабильного к ArchLinux недавно без особых усилий.
Я не сохраняю старый раздел, поэтому если новый дистрибутив не работает, я должен переустановить что-то еще.
Править: некоторые детали о том, как я справляюсь со своими настройками:
В основном у меня есть dotfiles репозиторий, где я сохраняю весь свой dotfiles (вещи как .vimrc, .config каталог, .gtkrc2.0 файл, и т.д.), и у меня есть сценарий оболочки, который связывает все это с их путем:
/home/sphax/.vimrc -> /home/sphax/.dotfiles/vimrc
/home/sphax/.config -> /home/sphax/.dotfiles/config
etc
Можно добавить, что Вы хотите в нем, но имеете в виду, что много тех dotfiles все еще имеет значения по умолчанию, таким образом, Вы не должны присваивать версию файлам, которые Вы не изменили.
Поскольку / и т.д. и / базируются, Вы делаете то же, один репозиторий для каждого, что Вы помещаете где-нибудь на / домашний раздел и Вас символьная ссылка все.
С установкой как это Вы также добираетесь:
Требуется некоторую тонкую настройку/код, пишущую сначала, но после этого это супер легко и эффективно.
Конечно, иметь раздел /home отдельно от / — это хорошо, (как сказал Винсент Ришманн ), но есть еще несколько проблем, которые следует учитывать при наличии нескольких дистрибутивов Linux на одном компьютере или при обновлении до нового. версия (даже, скажем, Fedora с 23 по 26 ), и довольно фундаментальные вопросы системного администрирования, такие как области, резервные копии которых нужно регулярно создавать.
Кто-то должен предоставить хороший полный контрольный список (Я еще не нашел его ), но вот небольшой список вопросов, которые следует учитывать для любого безболезненного переключения и предотвращения потери данных/конфигурации:
В идеале я хотел бы видеть гораздо лучшие программы установки Linux, которые учитывают 90% настроек, найденных в предыдущей системе, и делают очевидными, что еще нужно сделать вручную, чтобы согласовать переключение.