dengshuang
V2EX  ›  Ubuntu

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

  •  
  •   dengshuang · Oct 21, 2016 · 17105 views
    This topic created in 3665 days ago, the information mentioned may be changed or developed.

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

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

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

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

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

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

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

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

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

    建议楼主联系下作者,不要像我这么自作主张。
    Laobai
    Laobai
    Oct 23, 2016
    22
    打开.sh 慢慢分析,一个目录一个文件的删
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   5311 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 75ms · UTC 02:08 · PVG 10:08 · LAX 18:08 · JFK 21:08
    ♥ Do have faith in what you're doing.