• 使用源码进行安装和卸载软件:


    常见源代码的压缩包的解压方式:

    • .tar.gz 格式 : tar xzf
    • .tar.bz2 格式 : tar xjf
    • .tar.xz 格式 : tar xJf

    正常的编译安装/卸载:

    • 源码的安装一般由3个步骤组成:配置(configure)、编译(make)、安装(make install)。
    • configure文件是一个可执行的脚本文件,它有很多选项,在待安装的源码目录下使用命令./configure –help可以输出详细的选项列表。
    • 其中--prefix选项是配置安装目录,如果不配置该选项,安装后可执行文件默认放在/usr /local/bin,库文件默认放在/usr/local/lib,配置文件默认放在/usr/local/etc,其它的资源文件放在/usr /local/share,比较凌乱。
    • 如果配置了--prefix,如:

     $ ./configure --prefix=/usr/local/test 

    安装后的所有资源文件都会被放在/usr/local/test目录中,不会分散到其他目录。

    • 使用--prefix选项的另一个好处是方便卸载软件或移植软件;当某个安装的软件不再需要时,只须简单的删除该安装目录,就可以把软件卸载得干干净净;而移植软件只需拷贝整个目录到另外一个机器即可(相同的操作系统下)。
    • 当然要卸载程序,也可以在原来的make目录下用一次make uninstall,但前提是Makefile文件有uninstall命令。

    关于卸载:

    如果没有配置--prefix选项,源码包也没有提供make uninstall,则可以通过以下方式可以完整卸载:

    找一个临时目录重新安装一遍,如:
     $ ./configure --prefix=/tmp/delete/ && make install 

    然后遍历/tmp/delete/的文件,删除对应安装位置的文件即可(因为/tmp/delete/里的目录结构就是没有配置--prefix选项时的目录结构)。

    以下是遍历删除相应文件的脚本:

    #! /bin/bash
    
    function delete() {
        if [ -f $1 ]; # 判断是否是文件
            then
            rm -vf "/usr/local/"$1
        elif [ -d $1 ]; # 判断是否是目录
        then
            for file in `ls $1`
            do
                delete $1"/"$file
            done
        fi
    }
    
    for dir in `ls .`
    do
        delete $dir
    done

    复制以上内容到 delete.sh, chmod +x delete.sh  加上可执行权限,在/tmp/delete/目录下执行./delete.sh即可。

  • 相关阅读:
    window.open 打开全屏窗口
    H5实现全屏与F11全屏
    泛型 总结
    java 反射
    静态工厂模式
    设计模式---单例模式
    String、List、array相互转换
    将数组转换成list
    将对象转换成json字符串的几种方式
    在map中放入数据时,如果key相同,会替换掉之前的相同key的数据
  • 原文地址:https://www.cnblogs.com/tongyishu/p/12058247.html
Copyright © 2020-2023  润新知