Ответ, исправленный для получения 25.11.2013 вместо 20131125
Если Ваш сценарий работает с a bash
совместимая оболочка, самое легкое решение состоит в том, чтобы заменить
d=$(date -r "$x" +%Y-%m-%d)
с
d="${x:4:4}-${x:8:2}-${x:10:2}"
портативное решение с expr:
d=$(expr substr "$x" 5 4)-$(expr substr "$x" 9 2)-$(expr substr "$x" 11 2)
При необходимости только в 20 131 125 вместо 25.11.2013 как имя каталога Вы можете также
Решение с sed:
d=$(echo "$x" | sed 's/.*_\([0-9]*\)_.*/\1/')
sed
команды заменяют имя файла числом между символами нижнего подчеркивания (=the дата).
Решение с awk:
d=$(echo "$x" | awk -F _ '{print $2}')
Решение с сокращением:
d=$(echo "$x" | cut -d_ -f 2')
У вас есть инструменты сборки, необходимые для вашей системы? Если так:
TAR -xvjpf RPM-версия.tar.bz2
CD RPM-версия
./ Настройка
make
Сделайте установку
Пожалуйста, обратите внимание : версия
- номер версии, который вы решаете загрузить.
После установки скомпилированной версии RPM используйте RPM -I RPM
, чтобы переустановить версию об / мин дистрибуции, затем используйте yum. Как утверждает, вы создали круговую зависимость, и если вы не установили Build-Tools
и Fakeroot
пакеты, вы даже будете иметь со своим подходом.
Проблема в том, что ваша команда rpm
сейчас не работает, поэтому даже если вы загрузите соответствующий пакет (rpm-libs
), вы не сможете восстановить файлы на текущей установке.
Некоторые опции:
rpm-libs
и распаковать файлы (этот пакет не перемещается, поэтому вы не можете использовать опцию --prefix
, чтобы заставить rpm
установить его в другом месте). Поэтому вам нужно будет rpm2cpio rpm-libs-<версия и т.д.>.rpm | cpio -idmv
во временном каталоге. Затем скопируйте соответствующий файл в вашу систему.