douniang3866
douniang3866
2017-06-03 19:16

在构建PHP扩展之后删除Ubuntu中的dev包是否安全?

已采纳

I'm building pdo_firebird extension with php5 and firebird pdo on ubuntu / debian tutorial on server provisioning.

Tutorial recommends installing a bunch of extensions:

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

I've checked Building extensions using phpize and other chapters from PHP Internals Book, but found nothing.

Is it safe to remove installed packages? What is a best practice?

apt-get -y remove --purge php5-dev firebird2.5-dev php-pear devscripts debget
apt-get autoremove -y
  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享
  • 邀请回答

2条回答

  • dongtui6347 dongtui6347 4年前

    It is safe to remove *-dev packages after building is done.

    But only the *-dev packages, but removing the *-dev packages will also remove any packages automatically installed with the *-dev packages as dependencies.

    E. g. libmcrypt-dev also installs libmcrypt4

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

    will result in:

    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
    

    So you need to ensure your library packages are installed separate:

    sudo apt-get -y install libmcrypt-dev libmcrypt4
    # run your build commands here ...
    sudo apt-get -y purge libmcrypt-dev
    
    点赞 评论 复制链接分享
  • duanjue9296 duanjue9296 4年前

    One should generally not have any problems while removing packages as they generally follow the trend they are used to while installing them even when compiling from source.

    Although removing specific packages only causes trouble when these are dependent on other packages and vice versa to function correctly (it may show this warning too if there exists any such conflict) hence use autoremove that's it.

    To avoid these confusions ,later install all packages separately and not what is bundled with them.

    点赞 评论 复制链接分享

相关推荐