学习linux源码从何入手,linux源码讲解

kodinid 18 0

大家好,今天小编关注到一个比较意思的话题,就是关于学习linux源码从何入手的问题,于是小编就整理了4个相关介绍学习Linux源码从何入手的解答,让我们一起看看吧。

  1. 本人想学Linux内核,望高手有经验的人士推荐点书?
  2. 熟读Linux源码很久,对linux有自己的见解,能挣钱吗?
  3. linux系统源代码软件怎样安装?
  4. Linux、Ubuntu怎样入门?

本人想学LINUX内核,望高手有经验的人士推荐点书?

《内核源代码情景分析》,毛德操,胡希明著,这本书讲的比较深,公认的经典。

我感觉比较浅些的 《linux内核源代码》陈莉君写的那本,当然还有别的。

看内核以前应该有些操作系统知识,x86硬件也要有一定的了解,最好再有些Linux应用程序的了解,这样看起来更容易些,个人感觉。

熟读Linux源码很久,对linux有自己的见解,能挣钱吗?

熟读LINUX源码哪几块?内核?设备驱动文件系统服务层?桌面系统?桌面应用?移植过Linux没?参与系统开发没?都中的话,在家呆着自然有公司找上门,给做应用的人开课没意义,给资深***丝开课没市场,你觉得呢?

题主的问题关键在于:

世界上见解太多了,其中垃圾见解也很多,你的见解是否有价值?凭什么别人要重视你的见解,而不重视其他人的见解?

一个简单而可行的方法是:用实际产出来证明如果你的产出质量高,别人自然会重视你的见解。产出的数量容易证明,只要github上开个号,往上推送代码就好了。

关键是:如何证明你的产出质量是过关的?方法也很简单:向Linux内核做贡献(这对于熟读Linux源码很久的人也是不难的)

既然对Linux有自己的见解,那就根据自己的见解来修改Linux好了。只要你的代码确实比Linux原有的好,把你的changeset发给Linux相关模块维护者,告诉维护者你的代码好在哪里,最终让你的代码在Linux内核里安家。

比如,对文件系统有自己的见解,那就设计一个更好的文件系统,并实现它;或者改进一个现有的文件系统,把你测试好的代码拿出来,在内核邮件列表中提出来,说说以前的文件系统差在哪里,你的改进又好在哪里,邀请其它开发者合并你的补丁进行测试。只要你的见解确实好,你的代码也过得了关,顺理成章的,你的代码就会合并到Linux主线内核里。

如果Linux内核中有不少你写的代码,放心,人在家中坐,猎头随时找。

linux系统源代码软件怎样安装

你好,很高兴回答你的问题,希望对你有所帮助。

linux源码安装也成为编译安装,需要对源代码进行编译进行编译,生成二进制执行文件,一般源码指的是C代码,并将编译的产出物安装到linux系统的指定目录,产出物是可执行文件和动态链接库文件或者.so文件。

具体不知道你需要安装什么软件,下面我就拿常用的nginx进行编译安装。

下载nginx软件

既然是编译就需要编译器,检查linux是否有gcc编译器

如果没有安装gcc可以用系统自带的yum 或者atp-get(Ubuntu系统)安装gcc,需要连互联网

进入到ngix目录执行./configure --help,看下编译准备都有什么参数

一般的编译只需要添加--prefix=PATH 安装路径即可

执行:

题主是想通过编译源代码的方式安装软件吧,通过源码安装软件,不同的软件可能方法都会有所不同。最好的方法是查看readme文件,一般在我们下载的源码解压后的目录里面会有一个readme文件,里面会有关于安装步骤的指引。虽然不同的软件源码安装方式会有细微的差别。不过大部分情况下安装的基本步骤是:

1.执行./configure;

2.执行make;

3.执行make install。

一般通过这三个步骤就可以把软件安装到Linux系统中了。

下面以linux下提供web服务的nginx安装为例,介绍通过源码安装软件的步骤:

1.登陆nginx***,找到nginx最新稳定版源码下载链接;

2.下载源码压缩包:wget -c ***://nginx.org/download/nginx-1.16.0.tar.gz

3.解压下载的压缩包:tar xzvf nginx-1.16.0.tar.gz

4.进入解压后的目录:cd nginx-1.16.0.tar

Linux、Ubuntu怎样入门

目前我也在学习linux,说说我的感悟吧。

在接触linux之前我学习的是单片机了解大概硬件的基本操作,同学说只是配置寄存器的话太low了去接触linux,学习linux时我是先接触命令的,当时学习的时候还是蛮有意思,就像传说中的黑客一样,说个题外的话当初看个电影叫什么“侏罗纪公园2“,那里面有个控制全局的电脑高手,我记得他好像输入ls这个命令就列出所有被龙破坏的地点,说来就有点觉得***。我学的命令是在网易搜索“李明老师的[_a***_]”,这里不是打广告,这个课程不但是免费的,而且讲的非常详细,一节课大概接近1个小时甚至1h+,把基本原理都说的很清楚,这里做个配图:

当然这是以运维的方向来讲的,但是在linux的入门已经足够了,还有一点就是linux的版本有点低,不过不影响。里面还有服务器的配置以及shell脚本

基本常用的命令用熟练后,可以进入下一步了,我学习的是嵌入式方向,所以我还得去学习计算机方面的知识,包括c++,c,数据结构计算网络,操作系统原理,汇编原理,这些知识在嵌入式方面是必学的,当我学完操作系统原理后,就对什么是线程进程有了进一步的了解,华为再发布那个手机涡轮的强大功能就号称单线程胜多线程,到现在才理解是什么意思,哈哈这就是技术的魅力哈。

上面说的各个学科在工作方面的其实就是基础,进入工作后,若是做开发的,会进一步的接触到多线程,多进程的编程,以及网络编程,makefile等等。目前我处于学习课本的基础阶段,令我最深刻的感悟就是上面的基础不扎实,确实遇到很大的麻烦,每天都要回家看书。

若是学的差不多了,可以进一步的深入学习,那就是真的是没什么书可以看的了,想把技术学好就去看看linux内核的源代码地址就是***.kernel.org好像是这个地址,我没看过,听朋友说里面有很多很经典的结构,比如最基本的二叉树,平衡树都是常见的,最好还是把汇编学一学,了解操作系统的启动代码等等。

对于向大数据方面的研究,我不是做这一行的所以不清楚,但是是嵌入式的话,基本的路线就是这样,其实学到一定的境界了,可以去接触一下cpu是如何制作的相关的书籍,好像和vhdl语言有关系,这个时候就对芯片架构有了整体的把握,进一步的解析操作系统的各个内核结构或许有更大的帮助,或许自己可以开发一个小的操作系统,有本书叫“30天自制操作系统”还可以,可以去学学。

到此,以上就是小编对于学习linux源码从何入手的问题就介绍到这了,希望介绍关于学习linux源码从何入手的4点解答对大家有用。

标签: linux 安装 源码