V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
dengshuang
V2EX  ›  Ubuntu

ubuntu 怎样完整卸载.sh 安装过的应用。

  •  
  •   dengshuang · 2016-10-21 23:09:53 +08:00 · 15458 次点击
    这是一个创建于 2737 天前的主题,其中的信息可能已经有所发展或是发生改变。

    网上没有一篇是。 ╮(╯▽╰)╭难道只能去读 sh 文件,慢慢删吗?

    22 条回复    2016-10-23 13:25:27 +08:00
    zsj950618
        1
    zsj950618  
       2016-10-22 00:08:50 +08:00   ❤️ 1
    是的。
    fiht
        2
    fiht  
       2016-10-22 00:32:39 +08:00 via iPhone
    只能想到 lvm 快照……虽然自己没用过,也不知道实际体验效果如何
    Tink
        3
    Tink  
       2016-10-22 01:01:50 +08:00 via iPhone
    msg7086
        4
    msg7086  
       2016-10-22 03:53:21 +08:00   ❤️ 2
    这就是为什么有人都会提出不要去用 make install 装软件的观点。
    make install 大概还好一点, sh 就……

    老老实实打成 deb/rpm 包让包管理来管理比较靠谱。
    ys0290
        5
    ys0290  
       2016-10-22 06:08:07 +08:00 via iPhone
    解铃还需系铃人
    eoo
        6
    eoo  
       2016-10-22 08:35:45 +08:00 via Android
    checkinstall
    owt5008137
        7
    owt5008137  
       2016-10-22 08:38:26 +08:00 via Android
    再执行一遍.sh --help/-h 看看有没 uninstall 命令吧。
    运气好的话会有 help 和 uninstall
    eoo
        8
    eoo  
       2016-10-22 08:38:46 +08:00 via Android
    sh 就没办法了 , 只能去读 sh 。
    dengshuang
        9
    dengshuang  
    OP
       2016-10-22 10:01:21 +08:00
    @fiht 我是 XEN vps 没快照。
    htfy96
        10
    htfy96  
       2016-10-22 10:05:58 +08:00 via Android
    见到 sh 安装的默默开个 docker container 装到里面
    franklinyu
        11
    franklinyu  
       2016-10-22 11:01:22 +08:00
    我看国外的软件很少用 sh 的,少数几个用 sh 脚本的基本上 sh 都提供卸载方式。 make install 的一般都有 make uninstall 或者 make remove ,如果没有的话请提 issue 。

    反正我看到 sh 的就绕道了…… 安装的时候就得想到卸载。
    wizardoz
        12
    wizardoz  
       2016-10-22 11:08:43 +08:00   ❤️ 7
    替换脚本内容,把所有 / 开头的都替换为 /tmp/install 。比如 /usr/bin 就替换为 /tmp/install/usr/bin , 安装一遍,你就可以写一个脚本,根据 /tmp/install/里面的文件来删除了
    ianzhou233
        13
    ianzhou233  
       2016-10-22 12:21:54 +08:00 via Android
    @wizardoz 也是很好的方法,放心的就是不会像 Windows 那样有残留
    Esec
        14
    Esec  
       2016-10-22 13:14:54 +08:00 via Android   ❤️ 2
    @wizardoz 这不就是 chroot 的功能了吗⊙_⊙
    yoa1q7y
        15
    yoa1q7y  
       2016-10-22 13:49:43 +08:00
    安装完之后最好看下提示信息,有没有关于卸载的信息
    其次查找 README 等文件看是否有说明
    都没有的话只能找找 stackoverflow 了
    pynix
        16
    pynix  
       2016-10-22 15:08:06 +08:00
    sh 安装的还好吧,,,,黑二进制安装的就麻烦了。。。
    okudayukiko0
        17
    okudayukiko0  
       2016-10-22 15:19:10 +08:00
    试试 sh --help 这种。只要 sh 是乱码,要么是病毒要么是非自由软件。
    introom
        18
    introom  
       2016-10-22 18:11:13 +08:00
    我倒宁愿用所谓.sh 安装,或者是 autotools/cmake 根据 gcs 生成的 makefile 安装的,如果人家提供 uninstall 最好,没提供我也能照猫画虎删掉啊。

    但是在 win 下呢?我不了解 win 的 packaging ,总觉得干什么都是黑盒。
    leafleave
        19
    leafleave  
       2016-10-22 18:15:09 +08:00 via Android
    @wizardoz 机智啊
    Esec
        20
    Esec  
       2016-10-22 23:54:30 +08:00 via Android
    @Esec Append 14 楼: chroot 不宜用来搞危险动作,在 chroot 环境里拥有 root 权限的程序很可能自己脱离沙箱,详见各发行版社区 wiki 里的 chroot 词条,有类似需求的请开虚拟机或者上 docker (>_<)
    @introom 以前在 windows 系统上好像听说 Sandboxie 能做到文件系统的隔离?
    onice
        21
    onice  
       2016-10-23 12:23:30 +08:00
    上次安装有道词典就是 sh 脚本的安装方式。安装好后找了半天,没有发现卸载文档,也没有发现卸载脚本。

    最后,我就 vim 了这个安装脚本看它是怎么安装的,然后按照逆向逻辑写了一个卸载脚本。

    最后费力不讨好,还把系统搞崩掉了 - -!

    从此以后我就几乎不用 sh 的安装方式了,除非提供卸载说明。

    尽可能的用软件包才是王道啊!

    建议楼主联系下作者,不要像我这么自作主张。
    Laobai
        22
    Laobai  
       2016-10-23 13:25:27 +08:00
    打开.sh 慢慢分析,一个目录一个文件的删
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   881 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 29ms · UTC 22:00 · PVG 06:00 · LAX 15:00 · JFK 18:00
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.