发现用不下去 Ubuntu( Linux )的原因,求大佬支招

2019-08-01 20:58:08 +08:00
 wszgrcy

曾经专门看过 linux 各种命令的教程,感觉各种操作也能百度到,但是多次安了又弃后终于知道为啥了。。。

  1. xxx 不会,开始百度,推荐了一堆答案,挨个试,终于有一个成功了,就在这时候想把之前的无效操作取消(通常是安装)。。结果不知道安装到哪里了。。

  2. 终于知道哪个包了,卸载后不知道为啥,重启进入恢复模式。。。

  3. 想更新某个包,结果一通操作后发现,原来的包没删掉共存两个,想删掉旧的,不知道怎么回事重启又恢复。。。

  4. 自己编译安装,终于安上了,等卸载时?我记得配置文件,安装文件。。。。等文件是分开设置目录的,当时设置哪些来着?。。。。。

总结就是,指定干某一个任务,能干,但是干完后想清理删除(比如和其它有冲突)发现各种不懂了,真是安上容易卸下难,胡乱修改就恢复

所以一方面,真是想用,因为很多代码都是 linux 环境搞的,调试源码必不可少,另一方面,百度出的问题,能解决,但是解决完后清理环境就傻眼了,动不动不知道为啥,重启就恢复模式

知道 v2 能人多,想知道大佬们都怎么解决这个问题的

12300 次点击
所在节点    Linux
95 条回复
metaclass
2019-08-01 21:05:03 +08:00
靠百度怎么可能用下去?
Macolor21
2019-08-01 21:07:05 +08:00
用 Manjaro 试试看,安装软件用 pacman 和 yay 就行,大部分都有。滚动更新 bug 比较少,主要还是得熟悉 linux 系统
expy
2019-08-01 21:07:14 +08:00
如果只是安装卸载搞不定,可以考虑下 docker,常用环境都有人做好。
镜像下回来跑上就能调试、运行。不想用了删掉也不会影响宿主环境。
ys0290
2019-08-01 21:13:57 +08:00
你适合虚拟机,安装软件前存个快照,找到正确办法了恢复快照,然后再正式安装

应该属于洁癖
ipwx
2019-08-01 21:16:27 +08:00
首先,装软件尽量不要编译安装。其次,看资料先看对应版本号和发布时间(超过两个版本或者两年的资料基本没啥参考价值)
xiangyi007
2019-08-01 21:31:28 +08:00
考虑下 Stacer 和科学上网?
akring
2019-08-01 21:34:02 +08:00
让我想起了当年数据库课程安装 sql server 2005,安装失败就等于重装系统,装好的第一件事就是做个 Ghost 镜像。。。
agno3
2019-08-01 21:34:43 +08:00
用包管理软件
aheadlead
2019-08-01 21:34:47 +08:00
楼主说的问题确实都是客观存在的。十年前我也面临一模一样的困惑。

建议楼主先用虚拟机折腾,熟悉了可以考虑了解下 docker。

linux 整个生态有很多经验和惯例,需要在使用时不断学习。我是没找到一个列表可以轻松入门的。

另外,不要用百度,用 google 英语搜索会得到有价值的答案。
aheadlead
2019-08-01 21:36:29 +08:00
有的情况是不得不编译安装,当然有条件用包管理器( apt 之类)肯定要用。

我用 linux 很多年了,最近还被一个不读 PREFIX 的软件坑了,make install 根本不管你环境变量 PREFIX 的,鬼知道他装到哪了。不过还好我能简单看懂 Makefile,一个个给抠出来删了。
whwq2012
2019-08-01 21:37:28 +08:00
所以说 py 大法好啊,虚拟环境保平安
Mountain
2019-08-01 21:39:53 +08:00
我也是这样过来的,现在有时候依然会这样。
其实最大的问题是,当你百度、谷歌了一个解决方案时,你并不知道这个命令是在做什么,所以当你想恢复的时候会发现不知道该怎么搞。
虚拟机是个好办法,但是根本解决问题的办法,还是搞清楚你复制粘贴的每一行代码是啥意思
GeruzoniAnsasu
2019-08-01 21:46:01 +08:00
很久以前也有这种困惑,总结了一下大概是因为没有对 linux 生态体系形成认知,不知道自己在干啥,所以容易弄坏。

1. 80%的软件包安装都可以用同一个命令在同一个地方找到
2. 90%的不能用 1 方法装的东西都可以找到源码自己编译
2.1 所有的公开的需要自己编译的东西都会有怎么编译的文档,并且对编译环境有要求
2.1.1 编译环境基本只需要系统和编译器版本对,装齐需要的依赖就 OK,装依赖回到 1
2.1.2 如果编译环境折腾不起来,说明这个东西依赖于特定版本系统的系统库实现,不是随便能移植得了的
2.2 基本上编译环境和构建工具就那几个
2.3 有少部分必须自行编译才能装上的东西基本上都是系统级的,要么动内核要么动系统库,是绝对不可能简单替换系统现有的东西的
2.4 一定有其它办法能让那个系统级的玩意和现有系统的库共存,要么是 docker,要么是环境变量
3. 驱动问题几乎无法解决,遇到只能绕开
4. 运维基本靠脚本,不是打包得非常严密的东西都可以自己看一遍脚本干了什么
5. 大多数不使用包管理系统装上的东西都可以直接删掉
6. 绝大多数 Linux 命令极度依赖于具体场景,这也与最初的设计哲学“只做一件事并做好”有关,因此非高频命令用到再学,无需浪费精力
7. debian 系是最友好的
8. 学会 docker 系列的命令并使用应用容器可以解决 100%你有能力解决的场景,如解决不了,则以自己的能力是没有任何办法解决的,无需尝试。
aheadlead
2019-08-01 21:54:45 +08:00
还有一些情况依赖于你对 linux 的了解程度,举个例子:

当交叉编译某软件时,总是出现莫名其妙的错误糊你一脸。追了 configure 脚本很久之后,发现这个傻叼编译系统是这么检查你是否在交叉编译:

编个 hello world,直接执行,看看能否执行。能就不是交叉编译,不能就是。

问题是当时电脑里装了个 qemu-system,他居然可以让你电脑直接执行 ARM 的 ELF 可执行文件……

想想看,如果你不熟悉 configure 脚本,这问题能找得到吗……
minami
2019-08-01 21:57:13 +08:00
不要自己编译安装,除非 AUR 都没有;不要看过时教程,archwiki 很好用;不要敲自己看不懂的命令,不然吃枣药丸
poplar50
2019-08-01 21:58:40 +08:00
apt remove — purge 解决软件包问题 make install 的包用 checkinstall 先打包,然后再装。老哥应该就是没有必须理由用 Linux 而已,要不然啥就都有解决方法了。
hqweay
2019-08-01 21:59:19 +08:00
把系统玩坏,重新装个几次就好了。分区该怎么分,东西怎么备份啥的心里都有数了…
littlewing
2019-08-01 21:59:35 +08:00
因为你用的百度,要不试试 Google ?
CEBBCAT
2019-08-01 22:03:15 +08:00
症结就是:菜就算了,还没系统学过,想野路子

还有,不用 Google
zzczzc
2019-08-01 22:07:24 +08:00
同样,折腾了几个月,又回去折腾 WSL 了

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/588333

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX