/Etc/network/if-up.d dosyasındaki her komut dosyası bir arabirim açıldığında çalışır mı?


12

Bir ağ arabirimi getirildiğinde /etc/network/if-up.d içindeki tüm komut dosyaları çalışıyor mu?

Eğer öyleyse, arayüzler dosyasındaki post-up komutu ne işe yarar?


1
Geleneksel olarak tüm " .d" klasörlerinin içeriği yürütülür. Bazılarının aslında " .sh" dosya adı uzantısına ihtiyacı vardır . Tüm dosyalar yürütülebilir olmalıdır.
kolypto

Yanıtlar:


14

Evet, genellikle yürütülebilir olarak işaretlenen ve bu klasöre yerleştirilen herhangi bir komut dosyası çalıştırılır. Run-parts kullanıldığından, dosyalar belirli bir ad kümesiyle sınırlıdır.

post-upKullanarak aynı şeyi yapar up. İf-up.d dosyasına bir komut dosyası yerleştirmek, post-upbaşka bir yerde bir komut dosyasına veya komuta işaret eden bir komut dosyasını kullanmakla aynıdır . Genellikle tek bir arabirim için tek bir komut çalıştırmanız gerektiğinde up | post-up işlevini kullanırsınız. Daha karmaşık bir şeye sahip olduğunuzda bir senaryo oluşturursunuz.

adam arayüzleri

...
up command

post-up command
      Run  command  after  bringing the interface up.  If this command
      fails then ifup aborts, refraining from marking the interface as
      configured  (even  though it has really been configured), prints
      an error message, and exits with status 0.   This  behavior  may
      change in the future.
...
There  exists  for  each  of  the  above  mentioned options a directory
/etc/network/if-<option>.d/ the scripts in which are run (with no argu-
ments) using run-parts(8) after the option itself has been processed.

erkek koşu parçaları

run-parts  runs  all  the  executable  files  named  within constraints
described below,

If  the  --lsbsysinit  option  is not given then the names must consist
entirely of upper and lower  case  letters,  digits,  underscores,  and
hyphens.
...
Files are run in the lexical sort  order  of  their  names  unless  the
--reverse  option  is given, in which case they are run in the opposite
order.

1
Bir komut dosyasının yalnızca arabirim dolduktan sonra çalıştırılmasını istiyorsanız ve if-up.d klasöründeki öğelerin hazır olması gerekiyorsa, ya adlandırmanız gerekir, böylece çalıştırmanız gereken komuttan sonra sözcük sırasına girer veya başka bir dizine koyup post-up komutunu kullanarak çalıştırın. Kulağa doğru geliyor mu?
Spig

1
Evet, inanıyorum.
Zoredache

1
Ne kadar güzel detaylı bir cevap. 10 yıl sonra bile, hala içgörü sağlıyor.
Xofo

.Sh uzantısını kullanan başka bir şekilde doğru dosya adına sahip komut dosyalarının bile çalışmadığını anlamak için gerçekten çalışma parçaları kılavuz sayfasını iyice okumalısınız. Alıntı: "... bir nokta yüzünden bir komut dosyasını atlamakla ilgili herhangi bir bilgi olsaydı çok yardımcı olurdu. harfler, rakamlar, alt çizgiler ve kısa çizgiler. ' İki kez okudum ve sorunumun nerede olduğunu anlamama yardımcı olmadı. Noktalı komut dosyalarının atlandığı açıkça yazılmalıdır. "
ChrisW

Bu 'hata' Debian'daki " Düzeltilmeyecek
ChrisW
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.