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

还有两年毕业,想做运维,请大家指点迷津

  •  
  •   evildickman · 2015-11-19 16:32:16 +08:00 · 8582 次点击
    这是一个创建于 3326 天前的主题,其中的信息可能已经有所发展或是发生改变。

    很想成为程序员,自己对于后端, python 比较有兴趣,当然我只是个小白,可以基本认为是零基础吧。对于 Linux 的也就是个基本的操作,日常使用没什么问题。请问如何在一年内能迅速入门到能够找到工作的程度。今天在 51CTO 上看到了马哥的课 http://edu.51cto.com/training/training_id-13.html?h
    感觉好贵,大家看看是不是靠谱啊,或者能不能给小白指条明路,介绍点学习路线啊什么的

    70 条回复    2016-09-04 06:57:36 +08:00
    Euray
        1
    Euray  
       2015-11-19 17:02:16 +08:00
    需要找个运维小伙伴解答你的困惑,可惜我不是。
    不过个人感觉 Linux 知识、网络知识肯定是必要的
    khy
        2
    khy  
       2015-11-19 17:14:55 +08:00
    鸟哥的两本 linux ,有点旧,入门可以了,
    python , shell ,数据库方面不能少,
    最好把自己 pc 换成 ubuntu ,
    遇到问题就 google
    wdlth
        3
    wdlth  
       2015-11-19 17:16:29 +08:00   ❤️ 2
    先练好心里承受能力,因为什么锅运维都要背……
    mianju
        4
    mianju  
       2015-11-19 17:17:34 +08:00
    @khy 鸟哥第一本看到后面就看不下去怎么破
    jarlyyn
        5
    jarlyyn  
       2015-11-19 17:18:15 +08:00
    没看到价格……
    hongcha
        6
    hongcha  
       2015-11-19 17:33:56 +08:00
    自己把 lnmp 那一套搭建起来,然后搭建个博客,写写成长历史,入个门
    PyPog
        7
    PyPog  
       2015-11-19 17:37:48 +08:00
    不推荐 ubuntu 入门,直接 Arch 或 Gentoo ,你对 Linux 的理解会更深
    xjoker
        8
    xjoker  
       2015-11-19 17:41:39 +08:00   ❤️ 1
    运维基本的先学会 Linux 和 windows 的服务搭建,要会用常用命令,比如启动服务的,处理文件的之类的
    还有服务器常用的软件,比如 rsync 之类的。另外脚本一定一定要会写。

    如果要纯运维就多接触点自动化部署的东西,比如 SaltStack , jenkins , Docker 等等

    要运维开发的话就多了去了,基本上面的都要会。 python 是必须要学会的,偶尔会叫你写个小工具什么的。 Windows 下可以学学 C#.

    其他的我还没达到.... 共勉把
    xjoker
        9
    xjoker  
       2015-11-19 17:42:37 +08:00
    啊 对了~ 不用纠结学哪个系统什么的, linux 直接学 centos 和 ubuntu 就好了,大多通吃。
    snip
        10
    snip  
       2015-11-19 17:46:13 +08:00
    参加个职业培训吧
    patrickstar
        11
    patrickstar  
       2015-11-19 17:46:58 +08:00
    Linux 和 windows 系统及其自动化管理,网络、数据库等技术得掌握
    ISO 2000 体系也得学习学习,优秀的运维团队都有一套管理体系!
    ryd994
        12
    ryd994  
       2015-11-19 17:59:19 +08:00 via Android
    常用的服务器无非 rpm 系和 deb 系, CentOS 和 Ubuntu/Debian
    日常使用……你是说会上网页玩游戏还是会架设、优化、维护、备份各种常用服务器软件?
    建议只有两条:
    1. RTFM/STFW
    2. 老板说什么,你就做什么,但不要让老板教你怎么做。
    est
        13
    est  
       2015-11-19 18:01:44 +08:00
    运维。。。。。。。。。。。。。。 LZ 要立志半夜加班守着系统上线么。。。。。。
    sudoz
        14
    sudoz  
       2015-11-19 18:07:50 +08:00
    @PyPog arch 入门,你是要玩死他吗
    jhaohai
        15
    jhaohai  
       2015-11-19 18:16:13 +08:00 via iPhone
    入坑半年了,建议楼主折腾 centos ,红帽官方的文档过一遍,自己试着搭建高可用,一定要学好 bash 脚本,面运维的最喜欢考你 shell 解析日志,然后看自己的兴趣,折腾 puppet , saltstack 自动部署或者 elk 日志分析,或者 openstack 虚拟化之类的
    wangshuo
        16
    wangshuo  
       2015-11-19 18:26:47 +08:00   ❤️ 3
    我是一名 DevOps ,做过基础运维、应用运维以及运维开发。站在我的角度,我来说下我的看法,仅供参考。

    首先,运维涉及一个比较庞大的知识体系,几乎你能想到的都能和运维能扯上点关系,所以戒骄戒躁,给自己几年时间去学习和沉淀知识。

    所谓基础运维,比如维护 LInux/Windows 上的所有基础服务,维护网络和数据库等都算是基础运维。这其中单独看某一部分都是需要花很长时间去学习和实践的,比如 Linux 上的各种开源软件,自动化工具,虚拟化等等,你可能精通网络就能在大公司谋个类似 IDC 或是网络相关的工作,精通数据库也可以专职去做 DBA ,总之基础运维水很深。

    所谓应用运维,是指维护公司 RD 写的各种程序,和业务紧密结合,所以你要非常熟悉业务,也要善于沟通。应用运维的前提是你要熟悉基础运维,至少要有比较好的基础。

    基础运维通用性比较强,因为所有互联网公司都会用那些东西。但是每个公司的业务不同,所以应用运维通用性就要差一些了。但是两者对个人提升都非常大,而且熟悉业务的往往容易提升为 leader 。

    随着运维工作越来越复杂,虚拟化和云的兴起等。手工操作或是简单的自动化已不满足需求,那么怎么办?自己动手写各种系统!监控系统,部署系统,流程管理系统等等又诞生了。

    运维的各种系统,编写语言主要是 C/C++、 Java 、 PHP/Python/Ruby 、 Golang 等等和前端的各种开发知识 HTML 、 JS 、 CSS 等,这里面水又很深。

    developer 经常会说要做 full stack developer ,而 ops 也要争取做 full stack ops ,甚至如果在创业公司要做 full stack engineer(developer+ops+...)
    xiaoheshang
        17
    xiaoheshang  
       2015-11-19 18:32:37 +08:00
    好好把网络方面的知识学好吧,无论是运维还是开发都要有很好的网络基础,走运维这条路就要准备随时处理烦死人的报警了,先把运维搞好,再搞运维开发,这样挺好的
    shakoon
        18
    shakoon  
       2015-11-19 18:40:40 +08:00
    运维其实是个很“轻松”的工作,相对于软件开发和项目管理,因为运维工作内容大部分时候是规范化的,不需要经常大量思考解决方案。而且最最重要的是,不用加班,到点了就有人来换班。所以即便是时不时值班,依然是个工作强度不大的岗位。
    ps ,我说的运维就是系统运维,不是网络管理数据库管理设备管理什么的。
    Ouyangan
        19
    Ouyangan  
       2015-11-19 18:50:21 +08:00
    淘宝上搜关键字 , 你要的都有
    cikenerd
        20
    cikenerd  
       2015-11-19 19:45:06 +08:00
    大学前两年建议你先把操作系统、计算机网络、英语等基础打好,这会决定在你以后的 IT 生涯中是搬砖、码农、还是程序员

    其次运维这个行业公司规模越大,职能就分的越细
    但大体来说有下面几类
    1. IDC 运维(机房、服务器管理等)
    2. 系统管理 (系统部署、权限管理、基础服务 dns 、 ntp 等维护、优化)
    3. 应用管理 (产品部署、产品升级替包等)
    4. 运维开发 (对一系列基础应用如 OA 系统、监控脚本、开源监控工具二次开发等)
    5. 监控运维 (监控产品故障,处理简单故障)

    找好职业定位,想好自己要干什么。

    至于你说的
    如何在一年内能迅速入门到能够找到工作的程度?
    问题不在于能达到找到工作的程度,而在于你想要找什么样的工作?知名大公司首席运维? or 不知名小公司端茶倒水运维?

    找好层次定位,知道自己的目标是什么,找到相应层次公司招聘简章,达到那个标准并超过它。

    如果你要去培训机构的话, 4 个月左右培训完就能找到工作。
    onice
        21
    onice  
       2015-11-19 19:55:50 +08:00
    虽然我也是学生党,没有工作经验。但可以向你推荐一本书《 Linux 运维之道》,这些天我也在看。这本书入门应该没问题,该讲的都讲到了,可能不像鸟哥的书那么深入,但作为一本入门书籍还是不错的,至少知道要学哪些东西。我认为难点的主要是在 Linux 集群那一块了,学校里又接触不到。然后就是各种应用服务的架设,像比较典型的 LAMP , ftp , samba 这些等等,不过在学校熟悉配置文件是没问题的。还有就是性能检测这一块的内容。我在学校也只有通过书本了解下 Linux 运维了,不过要搞集群这些,还是去大公司找个实习,至少有个实战环境。
    Roboo
        22
    Roboo  
       2015-11-19 20:33:13 +08:00
    #转
    IT 运维的日常。
    一切正常:我们花钱请你来干啥?
    系统异常:我们花钱请你来干啥?
    Admstor
        23
    Admstor  
       2015-11-19 20:57:07 +08:00
    做了几年运维...
    感觉真的需要很强的承受能力...
    项目设定上的锅,开发的锅,同事的锅...都要背...
    Admstor
        24
    Admstor  
       2015-11-19 20:57:59 +08:00
    另外...
    运维建议去比较大的公司...小公司虽然面面都需要你负责
    但是终究因为财力限制,你不可能会去上更多的设备来提高你的水平
    tftk
        25
    tftk  
       2015-11-19 21:27:04 +08:00   ❤️ 1
    入运维的坑,首先远离 51CTO ,远离上面的这些什么哥,学好操作系统,学好 TCP/IP......慢慢你会对那些人有不同的看法。
    tftk
        26
    tftk  
       2015-11-19 21:28:09 +08:00
    建议请教 @julyclyde
    holyzhou
        27
    holyzhou  
       2015-11-19 22:31:03 +08:00
    水深 ,时不时还要背个锅 学习方向的话还是建议把基础打打牢,马哥啊,尚观啊,老男孩 的视频都可以看起来,实验做起来了 反正学校时间多 另外 mysql 还是要练练熟的,回头转 mysql dba 也是不错的方向 至于 python ,琢磨着怎么更快更好把草榴上的图片分门别类的在国外的 VPS 上下载下来 , 总能熟练完成这个,我个人觉得不算前端写写运维小工具也够了
    JiPhone
        28
    JiPhone  
       2015-11-19 23:32:15 +08:00
    建议转 java 吧,少年,本人也是刚毕业转的
    ccseven
        29
    ccseven  
       2015-11-20 00:14:33 +08:00
    @tftk 所有答复就这个后半句靠谱。
    hbkdsm
        30
    hbkdsm  
       2015-11-20 03:31:46 +08:00 via Android
    志当存高远,一年能学不少东西呢!
    lakeview
        31
    lakeview  
       2015-11-20 03:40:09 +08:00
    过来人说,千万别做运维,还是做开发吧
    dcoder
        32
    dcoder  
       2015-11-20 07:14:51 +08:00
    @xjoker @jhaohai @wangshuo
    看到你们说的都是 SaltStack, 有人用 Ansible 没,能比较下么?
    xjoker
        33
    xjoker  
       2015-11-20 07:59:15 +08:00
    @dcoder SaltStack 可以支持 windows
    terryhyx
        34
    terryhyx  
       2015-11-20 10:10:47 +08:00
    AIX 、 Linux 、 Oracle 的运维狗告诉你
    如果你不怕半夜夺命 call
    不怕没日没夜的加班
    不怕背黑锅
    可以试试
    dcoder
        35
    dcoder  
       2015-11-20 10:26:50 +08:00
    @xjoker
    哦,不错啊. 所以我猜你在用 Azure?
    xjoker
        36
    xjoker  
       2015-11-20 10:39:36 +08:00
    @dcoder linux [掩面...
    公司目前有 win 的服务器.... 后续会上吧 先学了再说....
    likuku
        37
    likuku  
       2015-11-20 10:45:03 +08:00
    运维基本定位是”给公司省钱 /帮公司花钱“,并不是“创收 /盈利”型工作,很多工作成效是隐形的,很难被外界看到,收入一般都比开发相关的低,很容易背锅的确的 (开发,运营,市场,客服,客户,等等,都可以把责任 /问题 都推给运维,假若你老板不够强势,那就还是算了吧,出门转身投奔开发)。

    开发,直接是生产力岗位,工作成效有目共睹,企业里必然属于创收工作,业绩清晰,作的好,要加薪水,可以理直气壮。

    加班,看行业和具体企业吧,并不是所有企业的开发都是加班。准时下班,周末不加班的开发也很多。
    运维,理论上是应该 24x7x365 都待命的。
    xjoker
        38
    xjoker  
       2015-11-20 10:48:49 +08:00
    @likuku 是的 说的太对了....
    每次甩锅我们都很无奈 “行,又是我们的锅咯。听您老的!毕竟您老.........”
    dcoder
        39
    dcoder  
       2015-11-20 11:29:10 +08:00
    但是要想单干,运维是最重要最紧缺的技能,除非你写的东西木有 server 端
    huson
        40
    huson  
       2015-11-20 11:36:27 +08:00
    先别急 做运维先学好 C 语言 其他的工具你工作中很快就能学到
    huson
        41
    huson  
       2015-11-20 11:37:57 +08:00
    然后呢 linux 用 centos ,最近去面试 %90 的公司都是 centos
    hl
        42
    hl  
       2015-11-20 12:12:46 +08:00
    在工作的城市参加个当地的知名度较高的 linux 培训
    Tinet
        43
    Tinet  
       2015-11-20 12:27:12 +08:00
    @est 如果真是这样的情况,那应该反思了
    est
        44
    est  
       2015-11-20 12:32:01 +08:00
    @huson 然后 99%的 centos 都跑的是 java 。
    est
        45
    est  
       2015-11-20 12:33:20 +08:00
    @Tinet 然并卵。。给你发工资的人又不需要反思
    huson
        46
    huson  
       2015-11-20 12:46:19 +08:00
    @est 哈哈这都被你猜到了。。
    enginex
        47
    enginex  
       2015-11-20 12:50:36 +08:00
    careeye
        48
    careeye  
       2015-11-20 13:07:54 +08:00
    还是做开发吧。
    luoluoluo
        49
    luoluoluo  
       2015-11-20 13:13:03 +08:00
    运维是深深深深深深坑,慎入!!!
    shanks
        50
    shanks  
       2015-11-20 13:17:54 +08:00
    @huson 高端,窃以为学好 C 的人就不用做运维了。
    huson
        51
    huson  
       2015-11-20 13:23:37 +08:00
    @shanks 我现在就是做运维 我觉得还是要学好 C 的,常用的 nginx 、 redis 还有 linux 下面大部分都与 C 相关,遇到坑自己就能解决,虽然是做运维,但是不能把自己局限在"运维"。我是这么理解的 也是这样做的。。。
    fxxkgw
        52
    fxxkgw  
       2015-11-20 13:30:18 +08:00
    建议你关注下 三斗室 大神。。。
    chroming
        53
    chroming  
       2015-11-20 13:30:35 +08:00
    很想成为程序员为什么要去做运维啊
    TankyWoo
        54
    TankyWoo  
       2015-11-20 13:48:23 +08:00
    kumu
        55
    kumu  
       2015-11-20 13:50:42 +08:00
    @TankyWoo 要 show 要 show 切克闹
    julyclyde
        56
    julyclyde  
       2015-11-20 14:21:17 +08:00
    运维对基础知识的要求过高,新毕业的学生入行基本只能领到打杂的工作内容
    如果能在打杂中迅速积累,则有可能转入中高级运维或运维工具开发类岗位

    天赋、积累、兴趣,缺一不可
    Orzzzz
        57
    Orzzzz  
       2015-11-20 14:24:49 +08:00
    厚积而薄发。
    likuku
        58
    likuku  
       2015-11-20 14:26:22 +08:00
    目前趋势就是应用向公共云( AWS/GAE 类似) 转移,开发专注开发,运行的基础平台尽可能无人自动化,写好应用丢上去就能跑,足够自动化弹性,购买商业服务可以直接给解决方案。

    运维趋向专业化,慢慢集中于直接在云服务基础企业内间接给客户提供服务。
    TankyWoo
        59
    TankyWoo  
       2015-11-20 14:33:28 +08:00
    @kumu :)
    MarioxLinux
        60
    MarioxLinux  
       2015-11-20 14:48:20 +08:00
    @dcoder 我们公司用了 Ansible 和 clustershell 主要用来辅助 CI 的
    GNiux
        61
    GNiux  
       2015-11-21 20:59:36 +08:00
    干货贴。。。

    问两个小白的问题:
    1. 在实战中可以只擅长 Linux 环境,不擅长 M$的,可以行得通么?
    2. 然后呢,为什么“%90 的公司都是 centos ”呢?呵呵
    dongxiaozhuo
        62
    dongxiaozhuo  
       2015-11-22 12:38:49 +08:00
    很想成为程序员,自己对于后端, python 比较有兴趣
    ----------------------------
    那就去做程序员呀。。。
    dongxiaozhuo
        63
    dongxiaozhuo  
       2015-11-22 12:45:20 +08:00   ❤️ 1
    @GNiux
    1.只擅长 Linux ,不擅长 windows 环境,在北上深杭应该没有问题,互联网企业中用 windows 做服务器系统的 很少会听到,招聘需求里面看一下,应该就会有数。
    2. c/u 两大 Linux 系统派系上的圣战嘛,至于多少无所谓, u 和 c 的差距还是可以快速适应的。
    ryd994
        64
    ryd994  
       2015-11-22 15:45:45 +08:00 via Android
    @dongxiaozhuo 明明是 deb 系和 yum 系
    Debian 和 RHEL
    Ubuntu ……呵呵
    xiaobu
        65
    xiaobu  
       2015-11-22 23:57:54 +08:00
    作为一个过来人,友情提醒:如果 lz 真的头发很多,可以试试,否则别入坑,压力不是一般的大
    dongxiaozhuo
        66
    dongxiaozhuo  
       2015-11-26 18:50:38 +08:00
    @ryd994 看到前面的讨论,就顺手写成 c/u 了。
    -----------
    Ubuntu ……呵呵 +1
    jyoe
        67
    jyoe  
       2015-12-02 14:03:36 +08:00
    现在后端不像 7 年前那样 现在谁还稀罕你会配置 or 优化什么服务器 AWS 之类的服务只会越来越多 Linux Academy 之类的课程都从 199$降到 29$一个月了~

    再参考一下国外的 App 创业开发团队的模式 不管什么类型总要有一个人司职后端的服务部署 AWS 之类的技能真的必不可少了~ Puppet , Nagios , chief 之类的要多看看

    现在不管前端还是后端 学习成本都在降低 学习曲线因人而异 马上开始学吧 就是马上
    gpw1987
        68
    gpw1987  
       2015-12-05 11:11:49 +08:00
    其实这个是一个循序渐进的过程,鸟哥的两本书写的很全面,也很对,一开始没有循序渐进,发现后续假设服务器等,如果在 MINI 的情况下全命令模式如果不懂基础命令还是比较惨的,不过最近买了个 VPS 练练手,还是不错的,至少不用担心把他搞坏的问题。
    GeekGao
        69
    GeekGao  
       2015-12-09 13:25:38 +08:00
    去研究下 RHCE 、 RHCA 的培训课程,系统性的学习可获得显著提高
    Override
        70
    Override  
       2016-09-04 06:57:36 +08:00
    @est 跑 lnmp 的不多吗
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   972 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 28ms · UTC 22:36 · PVG 06:36 · LAX 14:36 · JFK 17:36
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.