split
é um utilitário padrão, incluído no pacote coreutils
. Este pacote tem a prioridade “required” (e é marcado como “essencial”), então uma instalação normal do Debian o teria.
Eu acho que o seu servidor está executando utilitários BusyBox . O BusyBox é um conjunto de utilitários projetados para sistemas com pouco espaço em disco ou pouca memória. Muitos de seus recursos são opcionais, e o pacote BusyBox normal do Debian não inclui o utilitário split
(presumivelmente porque não é usado com frequência).
Você pode emular alguns usos de split
com o utilitário head
e um pouco de programação de shell. Aqui está um script rápido e sujo para dividir a entrada em blocos de tamanho fixo:
#!/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.
Armazene esse script como simple_split
. Exemplo de uso:
tar -cf - /big/dir | simple_split foo.tar- 1m
Este comando cria arquivos de 1 MB de tamanho chamados foo.tar-000000001
, foo.tar-000000002
, etc. Você pode montá-los com cat
; observe que, graças ao formato de largura fixa dos números, os arquivos são ordenados em ordem lexical de seus nomes.
cat foo.tar-????????? | tar -tf -