Корневой VG? Вы имеете в виду свой корневой LV?
Если так, это невозможно уменьшить, в то время как корень онлайн, (Вы могли отступить к ramfs, если у Вас есть физический доступ).
Единственный способ сделать это, начальная загрузка от внешние медиа (или раздел), и измените размер корневого раздела с resize2fs
с lvresize
Вы не можете этого сделать, потому что для такого преобразования вам необходимо знать значение двоичного содержимого.
Если, например, внутри двоичного файла есть строка, которую нельзя преобразовывать, и 4-байтовое целое число может нуждаться в другом обращении, чем двухбайтовое целое число.
Другими словами, для преобразования порядка байтов необходимо описание типа данных.
Если вас не волнует содержимое файла и вы просто хотите поменять байты местами, попробуйте endconv . Это просто оболочка для стандартных функций преобразования байтов, поэтому она поддерживает преобразование в целые числа длиной 2, 4 и 8 байтов. Но это не один лайнер, потому что это отдельная программа.
Вы можете менять байты с помощью dd
. Этого достаточно? Если нет, обновите свой вопрос, приведя пример входного файла и ожидаемого файла выходного файла.
echo hello >infile
dd conv=swab <infile >outfile
hex infile
0000 68 65 6c 6c 6f 0a hello.
hex outfile
0000 65 68 6c 6c 0a 6f ehll.o
Чтобы изменить порядок байтов файла, предполагая размер слова (32 -бит ), этот 1 лайнер должен работать для вас:
hexdump -v -e '1/4 "%08x"' -e '"\n"' input_file | xxd -r -p > output_file