【问题标题】:Is it safe to remove dev packages in Ubuntu after the PHP extension was build?构建 PHP 扩展后,在 Ubuntu 中删除开发包是否安全?
【发布时间】:2017-06-03 19:16:40
【问题描述】:

我正在构建 pdo_firebird 扩展程序和 php5 and firebird pdo on ubuntu / debian 服务器配置教程。

教程推荐安装一堆扩展:

sudo apt-get install php5-dev firebird2.5-dev php-pear devscripts debget

我检查了Building extensions using phpize and other chapters from PHP Internals Book,但一无所获。

删除已安装的软件包是否安全?什么是最佳实践?

apt-get -y remove --purge php5-dev firebird2.5-dev php-pear devscripts debget
apt-get autoremove -y

【问题讨论】:

  • 当然,这些包只在编译时需要。

标签: php ubuntu php-extension


【解决方案1】:

构建完成后删除 *-dev 包是安全的。

但只有 *-dev 包,但删除 *-dev 包也将删除所有自动安装的包与 *-dev 包作为依赖项。

E. G。 libmcrypt-dev 也安装了libmcrypt4

sudo apt-get -y install libmcrypt-dev
# run your build commands here ...
sudo apt-get -y purge libmcrypt-dev

将导致:

PHP Warning:  PHP Startup: Unable to load dynamic library '/usr/local/lib/php/extensions/no-debug-non-zts-20151012/mcrypt.so' - libmcrypt.so.4: cannot open shared object file: No such file or directory in Unknown on line 0

所以你需要确保你的库包是分开安装的:

sudo apt-get -y install libmcrypt-dev libmcrypt4
# run your build commands here ...
sudo apt-get -y purge libmcrypt-dev

【讨论】:

    【解决方案2】:

    删除软件包时通常不会有任何问题,因为即使从源代码编译,它们在安装时通常也会遵循它们习惯的趋势。

    虽然删除特定的包只会在它们依赖于其他包时引起问题,反之亦然以正常运行(如果存在任何此类冲突,它也可能显示此警告)因此使用 autoremove 就是这样。

    为避免这些混淆,请稍后单独安装所有软件包,而不是与它们捆绑的。

    【讨论】:

    • 对不起,和@Cybot的建议一样吗?
    • 是的,我可能错过了回复。
    猜你喜欢
    • 2020-05-09
    • 1970-01-01
    • 1970-01-01
    • 2013-01-08
    • 2022-10-05
    • 1970-01-01
    • 1970-01-01
    • 2015-07-02
    • 2014-08-03
    相关资源
    最近更新 更多