有人用 Manjaro Linux 吗?
最近好像很受推崇作为开发用的系统好使吗? 本帖最后由 Himem 于 2021-9-7 12:48 编辑
开发老老实实用ubuntu就是了
arch系包太新,复杂点的项目可能编译上都有兼容问题 +1
云时代了,推荐开发尽可能docker化,容器里可以随意用最新技术。(出问题了还方便回退,事实上最新的东西真的会出问题的,例如php这个image的最新版本,就和docker旧版有兼容性问题)
至于服务器和桌面工作站基底系统,还是保持一定程度的稳定为上。 前两天好奇用nuc试了下,挺好看的,操作接近 Windows。
想装个chrome玩下,结果proxy没搞成功。
滚动更新的,风险有点大。 我19年开始用到现在,n卡驱动问题滚蹦过一次,不过有timeshift恢复问题也不大,比Ubuntu稳定,不过软件版本较新,很多时候要依赖docker;Ubuntu不知道现在是否好点,反正18.04稳定性比较差,16.04算是经典版本 一直在用Debian shamiao 发表于 2021-9-7 12:52
+1
云时代了,推荐开发尽可能docker化,容器里可以随意用最新技术。(出问题了还方便回退,事实上最新的东 ...
我從來不用 docker,感覺多此一舉 dukelec 发表于 2021-9-7 15:01
我從來不用 docker,感覺多此一舉
docker是赋予任务高度可靠“重现性”(reproducibility)的利器。
一个image或Dockerfile,今天运行它是什么结果,一两年之后再运行就还是什么结果。而不会系统更新了几个大版本小版本,以前的命令就跑不通了。
如果不需要这个特性,那确实有点overkill(牛刀杀鸡)。 本帖最后由 dukelec 于 2021-9-7 18:43 编辑
shamiao 发表于 2021-9-7 18:21
docker是赋予任务高度可靠“重现性”(reproducibility)的利器。
一个image或Dockerfile,今天运行它是 ...
沒什麼意義,特別是服務器類的,長久不升級就意爲着漏洞、不安全
如果不在乎漏洞、不安全,服務器不要升級就好了,也用不到 docker
如果是一些軟件項目,如果該項目只支持非常老的環境,說明這個項目早已經沒有人維護,也不應該繼續使用 支持 @shamiao docker化 dukelec 发表于 2021-9-7 18:30
沒什麼意義,特別是服務器類的,長久不升級就意爲着漏洞、不安全
如果不在乎漏洞、不安全,服務器不要升 ...
赞同你说的。确实不该把Dockerfile写好了就定死不动,这的确是误用。
把Dockerfile纳入版本管理,时常更新,准确记录下每次具体升级了什么,我相信是个不错的办法。如有万一时回滚也方便。 docker技术怎么应用到单片机开发? tim 发表于 2021-9-8 10:48
docker技术怎么应用到单片机开发?
一般用于建设交叉编译工具链,把docker镜像当做编译机来用吧。
可锁定整套编译工具链(不限于编译器)的准确版本,防止改变系统时被意外碰坏了。尤其对于arch基底的系统更有意义。
运行时应用docker几乎很难,一般就不考虑了。 本帖最后由 dukelec 于 2021-9-8 12:44 编辑
shamiao 发表于 2021-9-8 10:37
赞同你说的。确实不该把Dockerfile写好了就定死不动,这的确是误用。
把Dockerfile纳入版本管理,时常更 ...
還是沒看出來有什麼用,譬如某個服務器,是軟件本身和用戶數據組成,你納入版本管理的只是軟件本身,無法包含用戶生產的數據,而軟件的功能是否能正常運行,其實和數據是有很大關係的,且更重要的是數據,而非程序
靠 docker 實現 高度可靠“重現性”(reproducibility)我也不認可,因為不同的 CPU 等硬件有差異,即便軟件環境相同,也無法確保 高度可靠“重現性”
我覺得 docker 唯一的用途就是給不熟 linux 的人使用,因為他們主力系統不是 linux,配置系統的經驗少,容易把軟件環境配置壞掉,容易搞出錯誤,出了錯自己也搞不定,才投靠了 docker 还是基于debian 的mx linux好用。不然一堆软件包找起来不习惯。 dukelec 发表于 2021-9-7 18:30
沒什麼意義,特別是服務器類的,長久不升級就意爲着漏洞、不安全
如果不在乎漏洞、不安全,服務器不要升 ...
你可能错过了几个亿 :)
这个应该说正好是docker的优势,固化下来的只是docker image,宿主系统本身可以随意升级。
加之容器本身有隔离性,即使被攻破了也不会直接威胁系统的安全(专门挖掘出针对docker的漏洞另说)。
主要还是看应用场景,互联网行业频繁部署服务器的时候,docker省事太多了,build一个镜像,各种版本的系统都通用。 本帖最后由 dukelec 于 2021-9-8 19:22 编辑
lxvtag 发表于 2021-9-8 19:12
你可能错过了几个亿 :)
對於大互聯網公司,各种版本的系统根本不可能出現,肯定各服務器是相同的系統,如果出現各種版本的系統混用,說明管理有問題
隔离性 也看不出來有什麼必要,大互聯網公司,一個服務器肯定只做好一件事就行
一個服務器裝一堆服務的,肯定是小公司,譬如我的服務器就是這樣
曾經嘗試過用 docker,發現有點脫褲子放屁的感覺,很麻煩,後來就不再想碰它,也不用它
前幾天看新聞,docker 官方開始收費了。。。 dukelec 发表于 2021-9-8 12:42
還是沒看出來有什麼用,譬如某個服務器,是軟件本身和用戶數據組成,你納入版本管理的只是軟件本身,無法 ...
再来几个栗子
1.我要在一台机器上同时跑两个或者n个版本的mysql, 传统方案一个版本一台虚拟机?
2.临时需要评估一个软件效果,但是它的编译环境超复杂,配置完可能要一天,docker 如果有人共享了,那可能只需要几分钟;
3.可以在几分钟里把一台机器随意变成web服务器、数据库服务器、测速服务器……甚至以上功能同时共存,然后可以几行命令把这些一切几乎不留痕迹全干掉。
4.相比虚拟机方案,资源(CPU/磁盘)默认是共享的,用多少划多少。 本帖最后由 dukelec 于 2021-9-8 19:38 编辑
lxvtag 发表于 2021-9-8 19:22
再来几个栗子
1.我要在一台机器上同时跑两个或者n个版本的mysql, 传统方案一个版本一台虚拟机?
> 1.我要在一台机器上同时跑两个或者n个版本的mysql, 传统方案一个版本一台虚拟机?
直接裝,爲啥要虛擬機,而且只要一個版本就好,選新的版本
我服務器裝的是 postgresql,多個服務共享一個數據庫
> 2.临时需要评估一个软件效果,但是它的编译环境超复杂,配置完可能要一天,docker 如果有人共享了,那可能只需要几分钟;
我上次測試一個 wasm 工程,按照作者 readme 的安裝方法,依賴 docker,搞了半天沒成功
然後我看了一眼,作者是在 docker 裏面調用的 cmake,然後我卸載 docker,直接 cmake . 然後 make 一下就成功了
> 3.可以在几分钟里把一台机器随意变成web服务器、数据库服务器、测速服务器……甚至以上功能同时共存,然后可以几行命令把这些一切几乎不留痕迹全干掉。
我只有一台服務器,上面有多個 web 虛擬主機、有 gerrit、有 redmine、有 postgresql 數據庫、有 matrix 聊天服務器、有……
長年使用
偶爾測試一個臨時服務,想刪除的話,不就把對應軟件和數據刪掉就不留痕迹了
postgresql 數據庫想刪東西,我可以在服務器用命令刪除,也可以在我本地用圖形界面工具連接上去刪,都很容易
> 4.相比虚拟机方案,资源(CPU/磁盘)默认是共享的,用多少划多少。
再說一下,我不需要任何虛擬化,更省資源 dukelec 发表于 2021-9-8 19:36
> 1.我要在一台机器上同时跑两个或者n个版本的mysql, 传统方案一个版本一台虚拟机?
直接裝,爲啥要虛擬 ...
说这么多,并不是为了说服或者驳倒你。
这东西就像ST的HAL库一样,被本坛的很多直写寄存器的大佬喷成屎,但是不妨碍它的发展,且越来越多的人喜欢它;用docker的公司也不耽误挣钱(包括我现在的公司也在用)。
不能因为你不需要它就能解决自己的所有需求,就认为它没有屁用。
不提总有一些项目没有能力/精力去升级维护(还有些互联网界称之为"屎山"的项目),你自己说能让不太懂linux的人用起来,这不也是很大的优点嘛? docker是很有用的,尤其在需要不同版本环境时,如果直接在本机装多个版本,管理起来是比较麻烦的,docker就简单多了,需要启动哪个版本就启动哪个,不同版本互相不影响。
用docker部署开发环境时,因为经常尝试新软件,用docker后,系统很干净不会受污染。 docker要安装一个虚拟机(或者宿主)吗? 本帖最后由 dukelec 于 2021-9-9 03:47 编辑
tim 发表于 2021-9-9 01:28
docker要安装一个虚拟机(或者宿主)吗?
類似 linux 自帶的 chroot 環境,需要提前準備用戶指定的操作系統鏡像,一個少說幾百 MBytes 吧,譬如用戶指定了 Debian 就需要下載一個 Debian 系統,另一個 docker 應用指定了 Ubuntu 那就還要再單獨下載一個指定版本的 Ubuntu …
需要隔離的話,我直接用 chroot 就很香了,用 docker 的人,估計大多数都沒用過 chroot
而且像基於 python 的軟件,python 自帶 venv 環境,還有 nodejs 等都有這種自帶隔離的功能
另外回樓上上,一個軟件要安裝多個版本,管理麻煩是因為你選用的系統不行,我用的 gentoo 系統自帶 slot 多版本管理功能,譬如可以同時安裝 python2.6 2.7 3.6 3.7 3.8 3.9 3.10 等等,而且一點都不會亂
不是說 docker 一點用沒有,只是我用不到,不想花時間折騰它而已,正如搞前端的那幫人沒幾天就能搞出一個新框架,我不想碰這些框架,還有 rust 編程也是類似,不想碰: https://www.amobbs.com/thread-5735404-1-2.html (31 樓)
樓歪了,扶正回復樓主:
我覺得基於 arch 應該值得一試,默認是 xfce 桌面,這點很讚,去年我還推薦 manjaro 給我一個剛讀大學的弟弟,儘管我根本沒用過
用 ubuntu 如果想用 xfce,有很多問題,不能忍的是,窗口邊緣縮放拖動範圍只有一個像素,arch 應該不會有這些破事
和 Ubuntu、Fedora 等相比,基於 Arch、Gentoo 還有一個很大的好處,那就是軟件包的數量少很多,譬如 git 軟件就是 git,什麼 gitk、git-svn 等 git 項目自帶的子功能,不會像 ubuntu 那樣單獨拿出來做一個軟件包,本來 linux 世界的軟件就很多了,Ubuntu 会把軟件數量再番十幾倍以上
Arch、Gentoo 是滾動升級的,不須要像 ubuntu 分什麼 16.04、18.04,Ubuntu 這種大版本升級才麻煩,大版本升級過程更容易出事,不升級就不給用新軟件,很操蛋
用 Arch 系,日後想切換近親 Gentoo 也更方便,Gentoo 是 linuxer 的終極選擇
還有 Arch 的 wiki 文檔非常好,Gentoo 用戶都要經常參考 Arch 的文檔。 lxvtag 发表于 2021-9-8 23:07
说这么多,并不是为了说服或者驳倒你。
总有人觉得自己是大聪明 {:lol:} docker在当前微服务时代,还是很方便的。上次用过一个mqtt服务的docker,确实感觉方便。 收藏,Docker 我的树莓派3只有1GB内存,也安个docker,占内存慢慢变大跑不动了 dukelec 发表于 2021-9-9 01:38
類似 linux 自帶的 chroot 環境,需要提前準備用戶指定的操作系統鏡像,一個少說幾百 MBytes 吧,譬如用 ...
有些厂家提供的sdk指定要某个版本的系统,例如ubuntu16.04,编译器也要用用他们指定版本的,docker折腾一次,下次可以直接运行编译,还是比较方便的。 虚拟机里装了几天,现在删掉了,先是显示不爽,设置了也没明显改善,然后打不开了,说是文件错误,又装了一遍,第二天又这样,然后就删掉了,太多系统了,别折腾 本帖最后由 dukelec 于 2021-9-15 00:44 编辑
meirenai 发表于 2021-9-14 23:14
有些厂家提供的sdk指定要某个版本的系统,例如ubuntu16.04,编译器也要用用他们指定版本的,docker折腾一 ...
廠家指定只是推薦,很多商業軟件都指定了系統,但實際上只要是主流的 linux 就都可以用,至少我用 gentoo 沒怎麼遇到問題,arch 沒用過,聽說更新比較快,部分軟件包可能稍微老一點就不給新裝或保持安裝 我都使用过,还是Ubuntu吧,对工作来说省心。
用arch 很多比较老的编译器或者依赖包都是问题,而你有时候需要用的开源软件的依赖包又恰恰是老版本的,尴尬的要死。
当然可以用docker,而这何必呢?
我常用的imx6 8系列,zynq,新塘nuc9 官方给的资料包括文档基本都是基于Ubuntu的,用arch就得自己摸索了。
编译nuc980的很多包,你用Ubuntu 18 20都一堆问题,换成Ubuntu16 一切都安静了。
工作还是建议Ubuntu。
页:
[1]