2016-12-06 9 views
1

私は定期的にa2ensitea2dissiteを使用して、Apacheでサイトを有効または無効にします。私が知る限り、単に/etc/apache2/sites-enabledから/etc/apache2/sites-availableへのシンボリックリンクを作成するだけではありません。手動でもできますが、いくつかの文字を入力する必要がないため、これらのショートカットを使用します。a2ensiteは、シンボリックリンクの作成とは別に何をしますか?

ちょうどcat /usr/sbin/a2ensiteでした。私の驚いたことに、それはかなり精巧なプログラムです。 man pagesによれば、それはサイトを有効にする以外にほとんどありません。私は(Perl)のソースコードを簡単に見ましたが、コードがたくさんあるにしても、単純にシンボリックリンクを作成するだけでは何も分かりません。

なぜシンボリックリンクを作成するだけのコードが必要なのですか?私はここで何が欠けていますか?

答えて

1

実際

  • a2enconf
  • a2disconf
  • a2dismod
  • a2ensite
  • a2dissite

はすべてa2enmodにのみシンボリックリンクです:

$ /usr/sbin$ ll -d a2* 
lrwxrwxrwx 1 root root  7 Jul 15 17:33 a2disconf -> a2enmod 
lrwxrwxrwx 1 root root  7 Jul 15 17:33 a2dismod -> a2enmod 
lrwxrwxrwx 1 root root  7 Jul 15 17:33 a2dissite -> a2enmod 
lrwxrwxrwx 1 root root  7 Jul 15 17:33 a2enconf -> a2enmod 
-rwxr-xr-x 1 root root 15424 Apr 5 2016 a2enmod 
lrwxrwxrwx 1 root root  7 Jul 15 17:33 a2ensite -> a2enmod 
-rwxr-xr-x 1 root root 9870 Jul 15 17:33 a2query 

a2enmod 1つのスクリプトでは、それらのすべての6つの機能を実装しています。 $0(スクリプトが呼び出された名前)に応じて何をすべきかを決定します。

これはおそらく単純なln -sよりも複雑な理由です。

関連する問題