Hogyan lehet regenerálni a 70-persistent-net.rules-t újraindítás nélkül?

A /etc/udev/rules.d/70-persistent-net.rules fájl automatikusan generálódik egy udev Linux rendszeren, ha az nem létezik, a indítsa újra. De szeretném tudni, hogyan lehet ezt a szabályfájlt (egy paranccsal) létrehozni a szerver újraindítása nélkül.

Egy ideig gugliztam, és megállapítottam, hogy a szabályfájlt ez a szkript generálja:

/lib/udev/write_net_rules 

Ezt a szkriptet azonban parancssorból futtatni lehetetlen, mivel (feltételezem) az udev akarja elindítani, néhány környezeti változóval megfelelően beállítva. Manuálisan elindítva kinyomtatja a “hiányzó $ INTERFACE” hibaüzenetet. Még ha beállítom is az env változót INTERFACE = eth0 a szkript megkezdése előtt, akkor is “hiányzó érvényes egyezés” hibát nyomtat. Nem is beszélve arról, hogy két interfészem van (eth0 és eth1), és szeretném, hogy a szabályok fájlja mindkettőhöz létrejöjjön.

Arra is gondoltam, hogy ilyen udev eseményeket indítsak el, remélve, hogy az maga az udevből indítja a szkriptet, de semmi nem változik:

udevadm trigger --type=devices --action=change 

Tehát tudja valaki hogyan lehet újraindítás nélkül regenerálni a /etc/udev/rules.d/70-persistent-net.rules fájlban szereplő állandó net-szabályokat?

Megjegyzések

  • Mi a helyzet terjesztés? Milyen init rendszert használ?
  • Azt mondanám, hogy ez lényegtelen. Én ' m használom a Slackware programot az eUdev és a sysvinit használatával. Az indító szkripteket vizsgáltam, hogy megtudjam, mi van végrehajtva, ami létrehozza a szabályfájlt, de csak az udevadm triggeret találtam, azzal a megjegyzéssel, hogy ez a parancs a tartós szabályok létrehozására, de valahogy ez csak újraindításkor működik, nem effekt, ha manuálisan futtatom.
  • Lehet, hogy releváns, mivel az Arch-on nem rendelkezem sem a 70-persistent-net.rules, sem pedig a /lib/udev/write_net_rules szkript. Ezért ' nem tudom ellenőrizni, de feltehetően a $INTERFACE változó maga a szkriptben van beállítva. Valószínűleg érvként adják át. Meg tudja mutatni nekünk a szkript tartalmát?
  • A szkript egyszerűen a $INTERFACE változót használja. Sokkal több, egyszerűen használt, soha nem deklarált változó létezik. ' azért, mert az udev hívja meg, és az udev minden env változót beállít, mielőtt futtatná a szkriptet indításkor.
  • Valóban tudnia kell, hogyan kell regenerálja, vagy egyszerűen szerkesztheti a fájlt, hogy tükrözze az új valóságot?

Válasz

Az ember szerint a --action=change oldal a udevadm alapértelmezett értéke.

 -c, --action=ACTION Type of event to be triggered. The default value is change. 

Ezért inkább próbáld meg inkább a --action=add -t. Segítenie kell:

/sbin/udevadm trigger --type=devices --action=add 

megjegyzések

  • intel_rapl: nem található érvényes rapl domain a 0 csomagban

Válasz

Az Ubuntu Server 16.04LTS rendszerben a 70-persistent-net.rules nem létezik.

minden amit futtattam:

ln -s /dev/null /etc/udev/rules.d/80-net-setup-link.rules 

Ezután hozza létre a fájlt a

sudo vi /etc/systemd/network/10-internet.link 

és adja hozzá a következőt

[Match] Path=pci-0000:(your device mac address) [Link] Name=eth0 (or whatever you want to name it) 

:wq a fájl mentéséhez

majd indítsa újra és állítsa be az / etc / network / interfaces fájlt. Ezután indítsa újra újra.

Megjegyzések

  • A kérdés " Hogyan lehet regenerálni a 70-persistent-net.rules szabályokat újraindítás nélkül? " A válasz két újraindítást tartalmaz. Hogyan válaszolhatok erre a kérdésre?

Válasz

Ugyanaz a problémám volt, de észrevettem, hogy továbbra is láthatta az interfészeket a ip addr lista. A következőket használtam (gyökérként):

# ip addr # to get my mac addresses # export INTERFACE=eth0; export MATCHADDR="xx:xx:xx:xx:xx:xx"; /lib/udev/write_net_rules # replace the 00"s with the real mac addr 

Ismételje meg az egyes interfészeket. Ezt használtam a fájlom “helyreállításához”. (Megjegyzés: egy meghívás felsorolja az összes felületet, és adjon átnevezést az egyezéshez, ezért azt javaslom, hogy egy meghívás után nézze meg a kimeneti fájlt)

Az OS és a jelenlegi UDEV implementációk és támogató szkriptek között határozottan vannak különbségek . Megjegyzendő, hogy a CentOS 6.8-at használtam, amikor ezt sikeresen végrehajtottam.

Hitel – többnyire erre a webhelyre hivatkoztam. Néhány szálon belül van egy megjegyzés, amely a szkript módosításáról szól, de inkább a környezeti változók, amint tisztább volt: https://access.redhat.com/discussions/1240213

Megjegyzések

  • Szar – várj. I ' sajnálom, ez a parancs nem működött. Frissítenem kell a választ a megtett lépéssel
  • Ok, én ' frissítettem arra, hogyan javítottam ki az enyémet. Remélem, ez működik, ha az Ön helyzetére vonatkozik. >

Vélemény, hozzászólás?

Az email címet nem tesszük közzé. A kötelező mezőket * karakterrel jelöltük