ubuntu 怎样完整卸载.sh 安装过的应用。 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
dengshuang
V2EX    Ubuntu

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

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

    网上没有一篇是。 ()难道只能去读 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  
    PRO
       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  
       201-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 机智啊
    /tr>
    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     Solana     894 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 84ms UTC 22:41 PVG 06:41 LAX 15:41 JFK 18:41
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86