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

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

  •  
  •   Mirana
    flex1988 2016-05-14 10:44:18 +08:00 11547 次点击
    这是一个创建于 3438 天前的主题,其中的信息可能已经有所发展或是发生改变。
    目前有 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  
    PRO
       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
    发壁纸
    ruolis
        43
    ruolis  
       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     Solana     989 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 31ms UTC 18:12 PVG 02:12 LAX 11:12 JFK 14:12
    Do have faith in what you're doing.
    ubao 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