3

I know there are many methods and many questions about LAMP installation.

However, non have an answer for... Why does command sudo apt-get install lamp-server^ installs some Perl libraries? As described on help.ubuntu.com.

The help link says that, command installs the following packages: apache2 apache2-mpm-prefork apache2-utils apache2.2-common libapache2-mod-php5 libapr1 libaprutil1 libdbd-mysql-perl libdbi-perl libnet-daemon-perl libplrpc-perl libpq5 mysql-client-5.5 mysql-common mysql-server mysql-server-5.5 php5-common php5-mysql.

If I need only the Apache, MySQL and PHP, can I skip installing Perl? Or these packages are needed for my "PHP based" LAMP?

Maris B.
  • 443

1 Answers1

5

I'd never noticed this before but the documentation counts LAMP as:

Linux + Apache + MySQL + PHP/Perl/Python

But that's not the actual reason here. These are required packages. I thought I'd check a server of mine without LAMP (but LEMP from raw packages not tasksel) and it still had libdbd-mysql-perl (et al) installed.

When I asked why, I could see mysql-server was indirectly the cause:

$ aptitude why libdbd-mysql-perl
u   mysql-server     Depends mysql-server-5.5                             
C A mysql-server-5.5 Depends mysql-client-5.5 (>= 5.5.47-0ubuntu0.14.04.1)
i A mysql-client-5.5 Depends libdbd-mysql-perl (>= 1.2202)

The mysql client itself is compiled down C but some of the scripts it ships are Perl:

$ file $(which mysql_find_rows)
/usr/bin/mysql_find_rows: Perl script, ASCII text executable

$ dpkg -S /usr/bin/mysql_find_rows
mysql-client-5.5: /usr/bin/mysql_find_rows
Oli
  • 293,335