Хорошие слова о преимуществах и недостатках.
Мой первый и последний опыт с EXT4 на debian Linux сжимает (более старая версия 6.0.0 x64) был с жесткими дисками на 2x500 ГБ без RAID.
До сих пор я не абсолютно знаю то, что произошло, но после нескольких дней я понял, что я вне пространства. Свободных 0 байтов. Много свободных узлов. du-sh для целого раздела wrotes меня только 250 ГБ пространства взят. Куда пошел, оставшись 250 ГБ? Я не помню, как я решал эту проблему, но начиная с той ситуации, я решил вернуться к EXT3. С EXT3 у меня никогда не было той же проблемы. Я думаю, что была проблема в версии сжатия, я работал с. Более новые версии уже должны быть в порядке. Если Вы хотите это для обычного ПК, просто используйте EXT4. В моем случае для сервера я доволен EXT3. Если Вы - менеджер безопасности своей IT-компании - используют ReiserFS или Reiser4.
ReiserFS, который я могу рекомендовать всем, кто хочет действительно серьезную безопасность и шифрование данных. Но если некоторые произойдут, и Вы забываете пароль, то у Вас, вероятно, будут больше, чем огромные проблемы. ReiserFS является только одной файловой системой с открытым исходным кодом, которая делает американское армейское использование из-за безопасности и шифрования.
Таким образом в моем случае, я ИСПОЛЬЗУЮ EXT3, и я не забочусь, является ли EXT4 о немногих % быстрее или нет. Я нуждаюсь в стабильной файловой системе без проблем и надеюсь, что Вы поймете мои неудачные опыты с EXT4.
Однако я желаю Вам счастливой и легкой работы с использованием любого этого FS.
править: Парни, на основе этого теста - EXT4 быстрее, чем ext3 в большинстве случаев: http://www.abclinuxu.cz/blog/rb/2010/9/maly-domaci-test-filesystemu-ext3-ext4-xfs-jfs-reiser4-btrfs
График производительности там также. Это могла быть полезная информация для Вас.
Нет никакого способа предотвратить **
от того, чтобы переходить по символьным ссылкам в ударе, ни имеет запрос для позволения встреченный любой ответ.
Если Вы чувствуете себя подобно написанию кода, Вы могли бы исправить удар для представления новой опции, которая выключает обход символьной ссылки с **
. При представлении патча к специалисту по обслуживанию удара это увеличило бы шанс той функции, присутствующей один день. Тем не менее, по крайней мере тем временем, Вы закончили бы с необходимостью развернуть и поддержать локальную версию критической системной программы, которая является, вероятно, плохой идеей.
Нет никакого способа изменить поведение **
с псевдонимом. Если Вы используете промежуточный массив для хранения результата расширения, вот то, как можно использовать find
вместо этого:
find . … -print0 | {
a=()
while read -r -d "" line; do
a+=("$line")
done
frobnicate "${a[@]}"
}
Обратите внимание, что целая часть программы, которая использует вывод find
должен быть в правой стороне конвейера, так как удар выполняет правую сторону конвейера в подпроцессе.
Если нормально исключать файлы, имя которых содержит символ новой строки, это легче:
set -f; IFS=
a=($(find . … ! -name $'*\n*' -print))
set +f; unset IFS
frobnicate "${a[@]}"
Вы могли попытаться запустить свои существующие скрипты в ksh режиме эмуляции zsh. Zsh не реализует все опции удара — почти вся функциональность удара существует в zsh, но иногда с несовместимым синтаксисом. Вы могли также попытаться выполнить сценарии wih ksh93: версии с тех пор 93o + поддержка **
как в zsh, и большинство (но снова, не все) функций удара от ksh, таким образом, Ваши сценарии могут быть легкими к порту к ksh93. Переключение на ksh обладает дополнительным преимуществом, что это имеет тенденцию быть быстрее или, чем удар или, чем zsh.
Я выяснил более простое обходное решение: просто используйте zsh для оценки этих шариков.
В моих сценариях конфигурации удара у меня есть следующее:
function zeval () {
echo $@ | zsh
}
alias z*='zeval echo'
Теперь, везде, где я использовал бы /path/with/**/glob
в zsh я могу сделать следующее в ударе:
$(z* sandbox/rmall_gdsarc/**/*gds)
Так как контексты, в которых псевдонимы расширены и контексты, в которых globbing желаем обычно, не накладываются, псевдоним z*
никогда не должно быть неоднозначным.
(Единственный контекст я могу думать в который беспорядок между псевдонимом z*
и синтаксис шарика Bash был бы то, если бы Вы были в каталоге, который уже был на Вашем пути, содержащем исполняемый сценарий, запускающийся с 'z', и Вы хотели выполнить его с помощью шарика..., который не будет иметь большого смысла так или иначе.)
**
с псевдонимом", так как можно действительно исказить**
к имени функции. Конечно, функция не может вести себя как синтаксис шарика, но использование в качестве примера, которое я дал выше, работает просто великолепно. – Kyle Strand 21.10.2013, 19:48**
, но это не изменяет его поведение, когда оно используется в качестве шарика. – Gilles 'SO- stop being evil' 21.10.2013, 20:03