Ответы для Yum предлагают создать локальный репозиторий и добавить файл конфигурации репо в /etc/yum.repos.d
. Вы могли бы сделать это, но с DNF вам не нужно этого делать. Вы можете просто указать локальное хранилище без файла конфигурации. Однако вам нужно создать репо в своем каталоге.
Так:
cd ~/Downloads/RPMs
, например. createrepo_c.
в этом каталоге. (Или createrepo_c ~/Downloads/RPMs
откуда угодно.)dnf --repofrompath local,. install foo
Примечания:
createrepo_c
— это более быстрая замена -для createrepo
.
Синтаксис предоставленного репозитория: reponame путь с запятой. Так что вы можете сделать --repofrompath "My Repository",/home/mattdm/Downloads/RPMs
, если хотите. Вы также можете указать URL-адрес — URL-адрес file:///
или удаленный.
Не забудьте указать для пакета, который вы хотите установить, просто имя пакета, например foo
, а не имя файла, например foo-1.0-1.rpm
.
И, наконец, если у вас есть другие настроенные репозитории, которые также предоставляют foo
, и вместо них подключаются другие, что ж, это будет проблемой в будущем, но сейчас вы можете использовать --disablerepo
, чтобы получить избавиться от проблемного другого репо.
Когда вы выполняете поиск, Vim автоматически рассматривает весь буфер (при условии, что вы не отключили параметр'wrapscan'
-, тогда он будет искать только до конца ). Ваша команда :substitute
рассматривает только текущую строку , так как вы пропустили :help :range
, и эта команда (, как и большинство других ), по умолчанию использует только текущую строку. Чтобы покрыть весь буфер для вашей замены, просто добавьте %
, что является аббревиатурой от1,$
:
:%s/\$1/"${DATAVERSION}"
Кроме того, если в строке несколько вхождений $1
, будет заменено только первое. Добавьте /g
для глобальной замены.
Как упоминалось в комментариях, $
не нужно экранировать (, он имеет особое значение только в конце шаблона ), но его тоже можно экранировать (и избежать некоторые размышления ).