split
стандартная утилита, включенная в coreutils
пакет. Этот пакет имеет “требуемый” приоритет (и отмечен “важный”), таким образом, нормальная установка Debian имела бы его.
Я предполагаю, что Ваш сервер выполняет утилиты BusyBox. BusyBox является комплектом утилит, разработанных для систем с небольшим дисковым пространством или небольшой памятью. Многие его функции являются дополнительными, и нормальный пакет BusyBox Debian не включает split
утилита (по-видимому, потому что это часто не используется).
Можно эмулировать некоторое использование split
с head
утилита и немного программирования оболочки. Вот быстрый и грязный сценарий для разделения входа на блоки фиксированного размера:
#!/bin/sh
i=1000000001 # Below we'll strip away the leading 1; this is
# a trick to have leading zeroes in the file names.
prefix=$1 # The files will be called ${prefix}000000001, etc.
chunk_size=$2 # in bytes, or 42k or 42m for kB and MB respectively
while
head -q -c "$chunk_size" >"$prefix${i#1}"
[ -s "$prefix${i#1}" ] # Stop when we make an empty chunk.
do
i=$((i+1))
done
rm "$prefix${i#1}" # Remove the last, zero-sized chunk.
Сохраните тот сценарий как simple_split
. Пример использования:
tar -cf - /big/dir | simple_split foo.tar- 1m
Эта команда создает 1MB-размерные названные файлы foo.tar-000000001
, foo.tar-000000002
, и т.д. Можно собрать их с cat
; обратите внимание, что благодаря формату фиксированной ширины чисел, файлы заказаны в лексическом порядке их имен.
cat foo.tar-????????? | tar -tf -
Ваша ситуация является, по моему скромному мнению, аналогичной той, обрисованной в общих чертах в вопросе о CentOS.
Таким образом, решением является возможно то же: Переустановить python
, затем переустановите yum
затем сделайте yum clean all && yum makecache
и впоследствии yum update
.
Важная часть, кажется, последняя строка:
OSError: [Errno 5] Input/output error
Это указывает на физический отказ считать или записать данные из носителя базовой системы хранения, т.е. Ваш жесткий диск.
Если Вы работаете dmesg
можно найти в конце некоторую дальнейшую диагностическую информацию.
Каждый раз, когда я сталкиваюсь с этой конкретной ошибкой, я сразу становлюсь подозрительным к медиа. Так как это вероятно жесткий диск, можно хотеть проверить его состояние SMART, например:
smartctl -a /dev/sda
И проверьте его на поврежденные секторы:
badblocks /dev/sda
Также проверьте, чтобы удостовериться, что Ваш кабель диска надежно соединен и что Ваш источник питания подает достаточно питания.
badblocks /dev/sda
не привел ни к каким поврежденным секторам. Печальный, не мог определить корень проблемы.
– ThinkingMonkey
31.07.2012, 01:02
badblocks /dev/sda
не привел ни к каким поврежденным секторам. Печальный, не мог определить корень проблемы. – ThinkingMonkey 31.07.2012, 01:03