Самый простой способ сделать это - просто перестать использовать репозиторий remi-test в качестве источника и удалить, или, если вы хотите быть более безопасным - отключить его, отредактировав /etc/yum. repos.d/remi-test.repo
и изменив enabled=1
на enabled=0
Вы все еще можете заставить yum использовать репозиторий через командную строку, но он больше не будет использоваться для общих обновлений. Со временем пакеты будут заменены пакетами из remi.
Я использую для этого unar
; по умолчанию, если архив содержит более одного файла или каталога верхнего -уровня, он создает каталог для хранения извлеченного содержимого, названный в честь архива так, как вы описываете:
unar foo.zip
Вы можете принудительно создать каталог во всех случаях с опцией -d
:
unar -d foo.zip
Кроме того, функция может сделать это с помощьюunzip
:
unzd() {
if [[ $# != 1 ]]; then echo I need a single argument, the name of the archive to extract; return 1; fi
target="${1%.zip}"
unzip "$1" -d "${target##*/}"
}
target=${1%.zip}
Строка удаляет расширение .zip
, не принимая во внимание ничего другого (, поэтому foo.zip
становится foo
, а ~/foo.zip
становится~/foo
).
${target##*/}
расширение параметра удаляет все до последнего /
, поэтому ~/foo
становится foo
. Это означает, что функция извлекает любой файл .zip
в каталог с его именем в текущем каталоге. Используйте unzip $1 -d "${target}"
, если вы хотите вместо этого распаковать архив в каталог рядом с ним.
Используйте unzip -d exdir zipfile.zip для извлечения zip-файла в определенный каталог. В принципе, прочитав ваш пост буквально, вы могли бы написать такую функцию:
unzip_d () {
unzip -d "$1" "$1"
}
Поскольку вы хотите удалить расширение .zip , вы можете использовать для этого специальный синтаксис переменных:
unzip_d () {
zipfile="$1"
zipdir=${1%.zip}
unzip -d "$zipdir" "$zipfile"
}
Еще один вариант сделать это с вкладышем 1 -для нескольких zip-файлов в текущем каталоге:
for f in *.zip; do unzip "$f" -d "${f%.zip}"; done
Только для одного файла (, т.е. для использования псевдонима )будет:
unzip "$1" -d "${1%.zip}"