Я также заинтересован в этом вопросе, и я попробовал решение предложить @Sim.
Чтобы проверить его, я ставлю
nameserver 8.8.8.8
в /etc/resolvConf/resolv.conf.d/base
и
nameserver 8.8.4.4
в /etc/resolvconf/resolv.conf.d/ Голова
, затем я перезапустил сеть
sudo service network-manager restart
, в результате это то, что /etc/resolv.conf
выглядит как
# Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8)
# DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN
nameserver 8.8.4.4
nameserver 127.0.1.1
, и NM-Tool
утверждает, что DNSSSERVER
DNS: 208.67.222.222
DNS: 208.67.220.220
, которые являются теми, которые предоставляются моим маршрутизатором. С другой стороны, выкапывание адреса говорит, что
;; Query time: 28 msec
;; SERVER: 8.8.4.4#53(8.8.4.4)
Если я прав, я заключаю из всего этого, что
Все вообще работает, но я не думаю, что это предполагаемый результат, который просил. Более близкое решение, которое я думаю, это следующее. Редактировать
sudo vim /etc/dhcp/dhclient.conf
Затем добавьте
supersede domain-name-servers 8.8.8.8;
Результат следующий: resolv.conf содержит только 127.0.0.1, что означает, что кэш DNSMAMAQ вызывается, и NM-Tool говорит
DNS: 8.8.8.8
, что означает, что если имя искал не в Кэш, то его просят на 8.8.8.8, а не на сервере, предоставленном DHCP.
Другой (возможно, лучше) вариант состоит в том, чтобы использовать «Prefed» вместо «отменить»: таким образом, если имя не разрешено 8,8,8,8,8, то запрос обратно на другой сервер. На самом деле, NM-Tool говорит
DNS: 8.8.8.8
DNS: 208.67.222.222
DNS: 208.67.220.220
На самом деле это не ошибка транзакции, как я вижу, это конфликт файлов. IMO (может быть, кто-нибудь сможет меня поправить), вам нужно удалить пакет npm
. Либо физически, либо просто из базы данных RPM.
Если вас это устраивает, вы можете просто сделать rpm -e npm
для деинсталляции пакета и удалить конфликтующие файлы из файловой системы. Это приведет к потере данных, но если конфликты существуют, так как nodejs
является полной заменой пакета npm
, то потерь не должно быть, так как установка nodejs
заменит файлы, потерянные в результате деинсталляции.
Если Вы думаете, что удалить пакет не удастся (у него есть файлы, которых нет у другого пакета), то Вы можете попытать счастья, установив опцию --justdb
на rpm -e
. Предупреждаем, что это может привести к конфликтам, которые Вы не обязательно увидите сразу (когда конфликтующие версии файлов установлены или в системе остались фрагменты старого пакета и т.д.). Нужно только догадаться, все ли будет в порядке до тех пор, пока файлы перезаписаны.
Пример:
[root@vml-lvprod04 ~]# ll -h /usr/bin/nc
-rwxr-xr-x 1 root root 22K Feb 9 2010 /usr/bin/nc
[root@vml-lvprod04 ~]# rpm -e --justdb nc
[root@vml-lvprod04 ~]# rpm -ql nc
package nc is not installed
[root@vml-lvprod04 ~]# ll -h /usr/bin/nc
-rwxr-xr-x 1 root root 22K Feb 9 2010 /usr/bin/nc
[root@vml-lvprod04 ~]# yum install -y nc
[ ...snip... ]
Running Transaction
Warning: RPMDB altered outside of yum.
Installing : nc-1.84-22.el6.x86_64 1/1
Verifying : nc-1.84-22.el6.x86_64 1/1
Installed:
nc.x86_64 0:1.84-22.el6
Complete!
Как видите, я удалил пакет из БД, не касаясь самого файла. Это предотвратит rpm
конфликты файлов. После этого я смог установить пакет с файлом в том же месте без ошибок. rpm
предназначен для предотвращения конфликтов, поэтому используйте его на свой страх и риск.