除了创建符号链接之外,a2ensite做了什么?

时间:2016-12-06 10:25:48

标签: apache perl configuration

我经常使用a2ensitea2dissite来启用和禁用Apache中的网站。据我所知,它只是简单地创建从/etc/apache2/sites-enabled/etc/apache2/sites-available的符号链接。我也可以手动完成,但因为它可以节省我输入几个字符,所以我使用这些快捷方式。

我刚做了一个cat /usr/sbin/a2ensite,令我惊讶的是它是一个非常复杂的程序。根据{{​​3}},它只是启用网站。我简要地查看了(Perl)源代码,但即使它是很多代码,我也不太了解它的作用,而不仅仅是创建一个符号链接。

为什么只需创建一个符号链接就需要这么多代码?我在这里缺少什么?

1 个答案:

答案 0 :(得分:4)

实际上

  • 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在一个脚本中实现所有六个功能。 它根据$0决定要做什么(即调用脚本的名称)。

这可能是它比简单ln -s更复杂的原因。