Около LD_PRELOAD
приемы. Простая альтернатива, которая может работать над несколькими системами, была бы к двоичному редактированию копией системной библиотеки, которая обрабатывает разрешение сетевых имен для замены /etc/hosts
с собственным путем.
Например, на Linux:
Если Вы не используете nscd
, копия libnss_files.so
к некоторому собственному местоположению как:
mkdir -p -- ~/lib &&
cp /lib/x86_64-linux-gnu/libnss_files.so.2 ~/lib
(общая библиотека может быть расположена в другом месте, например. /lib/libnss_files.so.2
)
Теперь, двоичное редактирование копия для замены /etc/hosts
там к чему-то та же длина как /tmp/hosts
.
perl -pi -e 's:/etc/hosts:/tmp/hosts:g' ~/lib/libnss_files.so.2
Править /tmp/hosts
для добавления записи, Вы хотите. И используйте
export LD_LIBRARY_PATH=~/lib
для nss_files
заглянуть /tmp/hosts
вместо /etc/hosts
.
Вместо /tmp/hosts
, Вы могли также сделать его /dev/fd//3
(сюда использование двух наклонных черт так, чтобы длина /dev/fd//3
совпадает с тем из /etc/hosts
), и сделать
exec 3< ~/hosts
Например, который позволил бы различным командам использовать отличающийся hosts
файлы.
Если nscd
установлен и выполнение, можно обойти его путем выполнения того же приема, но на этот раз для libc.so.6
и замените путь к сокету nscd (что-то как /var/run/nscd/socket
) с некоторым несуществующим путем.
Вы не можете указать версию что легко как прокручивающийся выпуск, pacman
только обеспечит последнее. При установке чего-то тот пакет хранится в компьютере на /var/cache/pacman/pkg/
dir, поэтому если Вы хотите понизить одну версию или указать другого, необходимо использовать pacman -U
и название пакета в Вашем кэше. Существует "машина времени" repos там, где люди просто хранят старые пакеты, можно загрузить версию, которую Вы хотите и используете pacman -U
устанавливать его.
Знайте, что необходимо "заблокировать" обновления того пакета, если Вы не хотите, чтобы он обновил, видел, как, проверьте Wiki в pacman страницу или этот https://wiki.archlinux.org/index.php/Downgrading_Packages#Q: _ I_cannot_downgrade_a_package.2C_because_of_dependencies.
pacman -U
опция с полным URL пакета мне было нужно по archive.archlinux.org/packages. Также можно хотеть добавить, что специальный пакет к черному списку, иначе это будет overrided. @jasonwryan, Прокручивая выпуск обладает многими преимуществами, но somethins поставляют happes, и Вы вынуждены сохранить некоторых "не, что новая" версия :D непока меры не применяются. – m3nda 24.04.2017, 18:14