V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Distributions
Ubuntu
Fedora
CentOS
中文资源站
网易开源镜像站
Mirana
V2EX  ›  Linux

玩 Linux 的正确姿势是什么样的

  •  
  •   Mirana ·
    flex1988 · 2016-05-14 10:44:18 +08:00 · 10958 次点击
    这是一个创建于 3146 天前的主题,其中的信息可能已经有所发展或是发生改变。
    目前有 3 台电脑,一台主机用来玩游戏,一台 mac air 用来写代码,一台 surface 看书或者看视频,都不想换成 linux 。

    那么如果想学学 linux 内核,折腾折腾,用什么样的姿势最好。
    93 条回复    2016-05-31 12:40:07 +08:00
    gimp
        1
    gimp  
       2016-05-14 10:44:38 +08:00
    虚拟机
    Mirana
        2
    Mirana  
    OP
       2016-05-14 10:49:39 +08:00
    @gimp 不知道为什么玩虚拟机 没有玩真机的快感。。。
    bp0
        3
    bp0  
       2016-05-14 10:50:19 +08:00
    买个 SSD 的移动硬盘,装个 Linux 。然后随便插到那个机器上都能用( mac air 没试过)
    Tink
        4
    Tink  
       2016-05-14 10:52:45 +08:00 via iPhone
    虚拟机创建一个快照不怕折腾
    Mirana
        5
    Mirana  
    OP
       2016-05-14 10:55:48 +08:00
    @bp0 就是指电脑启动的时候选择 ssd 启动?
    yumijie
        6
    yumijie  
       2016-05-14 11:18:34 +08:00
    弱弱地说 VPS 行不?
    messyidea
        7
    messyidea  
       2016-05-14 11:24:24 +08:00
    感觉虚拟机和真机的区别只在真机不敢 rm -rf /,要小心翼翼)
    figol
        8
    figol  
       2016-05-14 11:25:17 +08:00
    装双系统
    Mirana
        9
    Mirana  
    OP
       2016-05-14 11:26:18 +08:00
    @yumijie vps 有点贵啊,有一个东京的 linode 了,用来翻墙
    armoni
        10
    armoni  
       2016-05-14 11:27:30 +08:00
    docker 即可
    wjself
        11
    wjself  
       2016-05-14 11:28:58 +08:00 via Android
    bash on windows(´・ω・`)
    yumijie
        12
    yumijie  
       2016-05-14 11:42:31 +08:00
    @Mirana vultr.com 不贵啊,而且不用时还可以关掉不扣钱.
    BigPa
        13
    BigPa  
       2016-05-14 11:44:44 +08:00
    vps ssh 🌚
    lhbc
        14
    lhbc  
       2016-05-14 11:50:21 +08:00 via Android
    没有 Linux 桌面需求,虚拟机当然是最佳选择
    minix
        15
    minix  
       2016-05-14 11:57:36 +08:00
    其实 mac osx 的命令和 linux 差不多的。你可以使用 terminal 来练习 linux 的命令。各种服务也可以搭建和使用。别输入 rm -rf /就可以了
    crayygy
        16
    crayygy  
       2016-05-14 11:58:04 +08:00
    Vagrant
    shiji
        17
    shiji  
       2016-05-14 12:03:21 +08:00
    额,这个 Linux 就是坐在椅子上的姿势最好,不要蹲着跪着站着,对身体不好。

    ===
    虚拟机不是挺好的么?既然是学习,遇到了什么问题能直接在旁边浏览器查,命令什么的也能直接从外面复制粘贴,最方便了。
    loading
        18
    loading  
       2016-05-14 12:04:47 +08:00 via Android
    装一次 gentoo ,属于基本入门。
    aisk
        19
    aisk  
       2016-05-14 12:14:17 +08:00
    你学内核也只能虚拟机了
    Mirana
        20
    Mirana  
    OP
       2016-05-14 12:23:51 +08:00
    @loading
    @shiji
    @minix

    命令我明白, linux 也用的很熟了,现在是想玩下内核,不知道用什么姿势好

    比如说改改 kernel ,编译下,跑跑看?
    dixyes
        21
    dixyes  
       2016-05-14 12:26:45 +08:00 via Android
    多学习实用的命令比如 rm -rf / --no-prevent-root 啊 dd if=/dev/urandom of=/dev/sda 之类的(滑稽(大雾
    loading
        22
    loading  
       2016-05-14 12:26:48 +08:00 via Android
    @Mirana 所以我让你装一次 gentoo ,观察一下一个 linux 如何架起来。

    当然,如果觉得水平差不多了,必然是 LFS !
    4679kun
        23
    4679kun  
       2016-05-14 12:27:09 +08:00 via Android
    装 arch
    Mirana
        24
    Mirana  
    OP
       2016-05-14 12:30:13 +08:00
    @4679kun 装过。。。
    VmuTargh
        25
    VmuTargh  
       2016-05-14 12:39:05 +08:00 via Android
    上 LFS
    jimzhong
        26
    jimzhong  
       2016-05-14 12:39:46 +08:00
    如果没有需求就不要玩了吧。要玩内核在虚拟机里装 Arch 把
    xiandao7997
        27
    xiandao7997  
       2016-05-14 13:02:18 +08:00 via Android
    @yumijie 弱弱地问一句用哪家 vps 速度快一点?用过搬瓦工, SSH 连上去打一个字都会有 0.5s 的延时。。。
    bp0
        28
    bp0  
       2016-05-14 13:03:18 +08:00
    @Mirana 对,我现在就这样弄的,平时用 window 。没事的时候插上 SSD 玩 Linux
    lechain
        29
    lechain  
       2016-05-14 13:48:16 +08:00 via Android
    用 Linux 当主机咯,游戏什么的都是浮云(逃……
    strahe
        30
    strahe  
       2016-05-14 13:52:25 +08:00
    三台都不想装 linux 还学什么呢? 我本身就一台装的 Linux,平时生活学习工作基本都够用了,说真的如果真想学习的话,还是舍弃一台拿来装 Linux 吧,虚拟机没感觉...
    gimp
        31
    gimp  
       2016-05-14 14:11:21 +08:00
    虚拟机安装 Linux 别安装界面版就有感觉了,比如安装个 Fedora Server 版本。这和使用 VPS 就没有什么区别了
    huangjxh
        32
    huangjxh  
       2016-05-14 14:30:04 +08:00 via Android
    @xiandao7997 Sakura
    chinuno
        33
    chinuno  
       2016-05-14 14:39:08 +08:00
    玩玩的话。树莓派可以
    日常要用的话。双系统
    minix
        34
    minix  
       2016-05-14 15:10:38 +08:00 via iPhone
    直接用一台主机装 linux 吧,玩腻了内核编译再回 windows 玩游戏去
    wizardoz
        35
    wizardoz  
       2016-05-14 15:20:03 +08:00
    各位看清楚,楼主是想玩 linux 内核。
    要是想玩 Gnome 、 KDE 什么的,装个虚拟机,或者双系统都可以。
    但是想搞内核必须和硬件结合才有意义,比如 IO 字符驱动啊,各种硬件的驱动支持啊,内核裁剪啊。
    所以最好是买嵌入式开发板来玩,淘宝上 Arm 开发板很多的,树莓派也可以。
    adadada
        36
    adadada  
       2016-05-14 15:21:19 +08:00
    我觉得 Linux kernel 如此复杂,没有个明确的目标,很难学下去。从修 bug 开始入手是很多人的建议,你可以到 https://bugzilla.kernel.org/ 上看看。
    wizardoz
        37
    wizardoz  
       2016-05-14 15:22:35 +08:00
    我想不出在 PC 上装一个 Linux 如何 玩 内核。
    Gran1987
        38
    Gran1987  
       2016-05-14 16:12:39 +08:00
    买个服务器放家里吧
    GKLuke
        39
    GKLuke  
       2016-05-14 16:12:44 +08:00
    坐等 win10 redstone , ubuntu bash 加持
    toono
        40
    toono  
       2016-05-14 16:18:14 +08:00
    @GKLuke 好像预览版已经有了,不过还是不够完美。等。
    chiarex
        41
    chiarex  
       2016-05-14 16:23:41 +08:00 via iPhone
    虚拟机+1
    artandlol
        42
    artandlol  
       2016-05-14 17:22:54 +08:00
    发壁纸
    ruooooooli
        43
    ruooooooli  
       2016-05-14 17:29:33 +08:00
    windows ubuntu 双系统
    algas
        44
    algas  
       2016-05-14 17:32:21 +08:00
    @aisk

    就像 aisk 说的,哪怕你买了一个新电脑,装上 Linux ,
    折腾内核也要上虚拟机。
    yangyaofei
        45
    yangyaofei  
       2016-05-14 17:39:12 +08:00
    docker?
    wulalaa
        46
    wulalaa  
       2016-05-14 17:42:54 +08:00
    魅力大概在于脚本很方便吧
    ----- 年轻的 linux 用户
    quericy
        47
    quericy  
       2016-05-14 17:59:32 +08:00
    装个 vagrant 然后 SSH 连进去当作 VPS 玩,不要钱速度还快 233333
    Abirdcfly
        48
    Abirdcfly  
       2016-05-14 18:07:28 +08:00
    我见过用树莓派折腾的.我的疑惑是兼容性和性能.楼主可以找一找
    wweir
        49
    wweir  
       2016-05-14 18:42:34 +08:00
    云时代,正确的玩法是加根内存,开几个虚拟机组集群。能把几个流行的分布式东西玩溜了,大概是半神级了。
    反正我是没这精力了。
    gpw1987
        50
    gpw1987  
       2016-05-14 19:35:04 +08:00
    虚拟机一般可以了,我就是虚拟机学的
    newton108
        51
    newton108  
       2016-05-14 19:40:31 +08:00
    坐著。
    oska874
        52
    oska874  
       2016-05-14 20:44:53 +08:00
    想搞 linux ,但是不打算装 linux ,又不愿意搭虚拟机,那剩下的路就有两条:找别人装了 linux 的 pc ,或者买个虚拟主机
    fengyqf
        53
    fengyqf  
       2016-05-14 20:48:39 +08:00
    把主要用的机器装成 linux ,这是最好的方法,逼自己用 linux ,并解决在使用过程中遇到的问题。日积月累,你就可以成为高手。
    phoenixlzx
        54
    phoenixlzx  
       2016-05-14 21:00:16 +08:00
    不要装 X
    dotnil
        55
    dotnil  
       2016-05-14 21:09:06 +08:00
    主机上装个虚拟机
    v2what
        56
    v2what  
       2016-05-14 21:15:45 +08:00
    玩游戏的机器加块硬盘想怎么玩就怎么玩,也不影响玩游戏。
    DesignerSkyline
        57
    DesignerSkyline  
       2016-05-14 21:16:22 +08:00
    @phoenixlzx 这个 quibble 我给满分
    7jmS8834H50s975y
        58
    7jmS8834H50s975y  
       2016-05-14 21:37:09 +08:00
    lanyusea
        59
    lanyusea  
       2016-05-14 21:39:54 +08:00 via iPhone
    MIT6.828
    redsonic
        60
    redsonic  
       2016-05-14 21:41:38 +08:00
    弄虚拟机和容器有什么劲儿,不都是文档读一读就跑起来了吗。想折腾就鼓捣一下嵌入式,现在门槛低很多了比如树莓派。想自虐的话就自己弄板子上片子跑 android 。唉, v2 这里搞底层的见不到几个。
    EVJohn
        61
    EVJohn  
       2016-05-14 21:42:52 +08:00
    win10 bash?
    JackBlack2006
        62
    JackBlack2006  
       2016-05-14 22:01:52 +08:00
    虚拟机熟练了再硬盘装
    harryge
        63
    harryge  
       2016-05-14 22:16:50 +08:00
    @lanyusea 正解。 berkeley cs162 也可以
    but0n
        64
    but0n  
       2016-05-14 22:54:07 +08:00
    要玩 Linux 内核的话就买个 ARM 架构的开发板,学一学制作 bootloader ,然后就是 Linux 的移植,包括文件系统和内核的交叉编译。。。
    but0n
        65
    but0n  
       2016-05-14 23:04:58 +08:00
    @redsonic 底层太复杂,尤其是硬件——嵌入式系统中最接近大自然的部分,自然少不了高难度的数学物理知识。要想做一个跑 Linux 的板子只能是高频板,频率高就会有各种 EMC 问题,感觉就跟玄学一样。。。
    Sanko
        66
    Sanko  
       2016-05-14 23:17:39 +08:00
    站着玩
    Mirana
        67
    Mirana  
    OP
       2016-05-15 00:04:23 +08:00
    @all 感谢楼上各位。是这样的,我是不是不想装 linux ,是想知道怎么花最少的钱弄一个可以玩的机器的最佳姿势。目前先打算先买个 ssd 试试看。
    qwerasdf
        68
    qwerasdf  
       2016-05-15 03:03:12 +08:00
    再买一个便宜的电脑咯
    FONG2
        69
    FONG2  
       2016-05-15 04:16:28 +08:00 via iPhone
    虚拟机没有真机的快感?你是想玩硬件的意思吗
    WhatIf
        70
    WhatIf  
       2016-05-15 07:06:50 +08:00
    有时候不是虚拟机不虚拟机的问题, 真好有个由头可以用来购置新的设备或者配件,满足自己的某种说不出口的欲望 哈哈
    yumijie
        71
    yumijie  
       2016-05-15 07:42:18 +08:00
    @xiandao7997 我目前用 vultr,还行.5 刀一个月,新注册还送 20 刀(网上找的优惠吗).可以加载自己的 OS,不用的话把系统删除,不会继续扣钱.所以用来折腾比较好.
    4679kun
        72
    4679kun  
       2016-05-15 08:02:04 +08:00 via Android
    @wsdjeg 已 block
    Sasasu
        73
    Sasasu  
       2016-05-15 08:22:58 +08:00 via Android
    想剪裁内核请用台式机,否则老是长按关机键心烦。
    (为什么不用虚拟机?编译一次内核 10 分钟,重启一次不到一分钟,实体机体验更好.
    Mirana
        74
    Mirana  
    OP
       2016-05-15 11:35:10 +08:00
    @WhatIf 是这样的
    Mirana
        75
    Mirana  
    OP
       2016-05-15 11:36:46 +08:00
    @Sasasu 说实话虚拟机不太会用,听你这么说虚拟机也是个很好的选择
    wohenyingyu01
        76
    wohenyingyu01  
       2016-05-15 12:04:42 +08:00
    虚拟机没有快感是因为配置不够好……一般 6700k+nvme ssd 用 hyper v 装 ubuntu 可以 3 秒开机
    wddwycc
        77
    wddwycc  
       2016-05-15 12:10:52 +08:00 via iPhone
    用 Docker for mac
    zhangfan
        78
    zhangfan  
       2016-05-15 16:30:18 +08:00
    买个树莓派吧。
    想一机多用的话,买个下载宝或者赚钱宝。
    又能用,又能玩。
    but0n
        79
    but0n  
       2016-05-15 16:43:48 +08:00 via iPhone
    @lanyusea 这个课程哪里有中文的?我目前只找到 MIT 官网的英文讲义
    jamiesun
        80
    jamiesun  
       2016-05-15 18:57:36 +08:00
    问题问的不对路,只有自己舒服的姿势,没有绝对正确的姿势
    zzy131250
        81
    zzy131250  
       2016-05-15 20:25:16 +08:00
    可以考虑 vagrant
    lanyusea
        82
    lanyusea  
       2016-05-15 20:28:11 +08:00 via iPhone   ❤️ 2
    @but0n 可以去搜北大的操作系统课,和 MIT 用的是几乎一样的课件。

    或者你可以直接搜 jos/xv6 相关的内容,这是 mit 那门课用到的教学用 linux 内核。比如
    https://github.com/ranxian/xv6-chinese
    tempdban
        83
    tempdban  
       2016-05-15 22:46:53 +08:00 via Android
    坐着玩啊,难道你还想躺着?
    dongxiaozhuo
        84
    dongxiaozhuo  
       2016-05-16 09:34:27 +08:00
    虚拟机里装个 Linux 系统,启动之后: ctrl + alt + F2 开始
    mko0okmko0
        85
    mko0okmko0  
       2016-05-16 09:37:59 +08:00   ❤️ 1
    1.先学增减功能吧.弄个虚拟机,
    virtualbox 免费,已经支持 hyper-v 据说更快一些了.
    vmware workstation 要钱但更稳更快.有神秘档案可用(自己找)
    然后选个常用的 linux 套装版本,装上 GCC.
    推荐 gentoo,预设就有 GCC 并且整个系统预设就是要编译.
    gentoo 中文安装说明 https://wiki.gentoo.org/wiki/Handbook:AMD64/zh-cn
    当然 gentoo 安装过程有第一次点痛,之后就很爽了(感觉怪怪的)
    重点在核心配置的手动配置章节"make menuconfig"
    genkernel 也可以,使用"genkernel --menuconfig all",会侦测现有环境设备后帮你选上必须的驱动项目,减少难度.

    gentoo 还可以学怎帮核心加上别人的 patch,例如 gentoo 有名的 CK,BK.用过你就回不去标准和新版本了.
    注:genkernel 会产生一个 initramfs 引导档案.

    当你能够增减核心的功能和驱动之后"能正常开机使用",基本上核心处理就入门了.
    因为会很花时间在 menuconfig 和编译阶段,
    尤其 menuconfig 的每一行几乎都要上网查说明,(就算有英文说明也是要翻译).
    还有编好之后会花很多时间确认编出来的核心是否稳定.
    所以建议用虚拟机.可以建立快照状态,编译失败直接还原到编译核心前的那一刻重新开始.

    快照是你的好朋友.虚拟机万岁!!

    2.移植到 arm 体系.当桌面环境的核心都很熟很稳定的跑了,再学 ARM 环境的核心编译,差别是
    桌面核心可以很自由的选择功能然后用成模组的形式,没什么容量限制.
    ARM 核心因为嵌入式的环境需求,要求编出结果的档案大小有严格限制,例如不能编出含模组总容量大于 4/8/16MB,开发机通常有 32MB 可用,但真实上机环境例如网路设备通常是 4/8/16MB,
    所以嵌入式核心编译的原则是"先都不选,依需求优先度加入功能,按剩余空间作模组".

    3.修改核心原始码.这部分我也不熟,基本上 1 的部分很熟,linux 就可以跑得比别人的预设核心快很多很多很多了.
    Mirana
        86
    Mirana  
    OP
       2016-05-16 10:45:24 +08:00
    感谢楼上老司机们耐心的解答
    wo528245715
        87
    wo528245715  
       2016-05-18 10:05:04 +08:00
    @huangjxh 你的樱花多少钱买的?
    huangjxh
        88
    huangjxh  
       2016-05-18 10:33:15 +08:00 via Android
    @wo528245715 淘宝 75 一个月
    wo528245715
        89
    wo528245715  
       2016-05-18 10:51:14 +08:00
    @huangjxh 是有点贵了哈,速度如何?
    huangjxh
        90
    huangjxh  
       2016-05-18 11:00:08 +08:00 via Android
    @wo528245715 Google Play 下载速度最高 5m/s , YouTube 锐速全天 1080P ,白天开 FS 可以看 4K ,晚上 2K 。
    wo528245715
        91
    wo528245715  
       2016-05-18 11:04:43 +08:00
    @huangjxh 考虑合租不?如考虑合租,发来联系方式
    huangjxh
        92
    huangjxh  
       2016-05-18 12:18:10 +08:00 via Android
    newhua
        93
    newhua  
       2016-05-31 12:40:07 +08:00 via Android
    虚拟机+arm 开发板,交叉编译和移植,你会发现系统什么特性都可以自己定制,从无到有做出一个自己想要的系统
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1500 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 33ms · UTC 17:06 · PVG 01:06 · LAX 09:06 · JFK 12:06
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.