ubuntu 代码阅读工具 ubuntu脚本的编写和执行
大家好,今天来为大家解答ubuntu 代码阅读工具这个问题的一些问题点,包括ubuntu脚本的编写和执行也一样很多人还不知道,因此呢,今天就来为大家分析分析,现在让我们一起来看看吧!如果解决了您的问题,还望您关注下本站哦,谢谢~
linux源码阅读工具linux源码阅读
如何阅读linux内核代码?
要想深入了解Linux,就需要阅读和分析linux内核的源代码。Linux的内核源代码可以从很多途径得到。一般来讲,在安装的linux系统下可以查看
Linux是开源的,那么如何查看源代码?
Linux的内核源代码可以从很多途径得到。一般来讲,在安装的linux系统下,/usr/src/linux目录下的东西就是内核源代码。
如何查看linux内核源代码?
一般在Linux系统中的/usr/src/linux*.*.*(*.*.*代表的是内核版本,如2.4.23)目录下就是内核源代码(如果没有类似目录,是因为还没安装内核代码)。另外还可从互连网上免费下载。注意,不要总到去下载,最好使用它的镜像站点下载。请在里找一个合适的下载点,再到pub/linux/kernel/v2.6/目录下去下载2.4.23内核。
代码目录结构
在阅读源码之前,还应知道Linux内核源码的整体分布情况。现代的操作系统一般由进程管理、内存管理、文件系统、驱动程序和网络等组成。Linux内核源码的各个目录大致与此相对应,其组成如下(假设相对于Linux-2.4.23目录):
1.arch目录包括了所有和体系结构相关的核心代码。它下面的每一个子目录都代表一种Linux支持的体系结构,例如i386就是IntelCPU及与之相兼容体系结构的子目录。PC机一般都基于此目录。
2.include目录包括编译核心所需要的大部分头文件,例如与平台无关的头文件在include/linux子目录下。
3.init目录包含核心的初始化代码(不是系统的引导代码),有main.c和Version.c两个文件。这是研究核心如何工作的好起点。
4.mm目录包含了所有的内存管理代码。与具体硬件体系结构相关的内存管理代码位于arch/*/mm目录下。
5.drivers目录中是系统中所有的设备驱动程序。它又进一步划分成几类设备驱动,每一种有对应的子目录,如声卡的驱动对应于drivers/sound。
6.ipc目录包含了核心进程间的通信代码。
7.modules目录存放了已建好的、可动态加载的模块。
8.fs目录存放Linux支持的文件系统代码。不同的文件系统有不同的子目录对应,如ext3文件系统对应的就是ext3子目录。
Kernel内核管理的核心代码放在这里。同时与处理器结构相关代码都放在arch/*/kernel目录下。
9.net目录里是核心的网络部分代码,其每个子目录对应于网络的一个方面。
10.lib目录包含了核心的库代码,不过与处理器结构相关的库代码被放在arch/*/lib/目录下。
11.scripts目录包含用于配置核心的脚本文件。
12.documentation目录下是一些文档,是对每个目录作用的具体说明。
一般在每个目录下都有一个.depend文件和一个Makefile文件。这两个文件都是编译时使用的辅助文件。仔细阅读这两个文件对弄清各个文件之间的联系和依托关系很有帮助。另外有的目录下还有Readme文件,它是对该目录下文件的一些说明,同样有利于对内核源码的理解。
在阅读方法或顺序上,有纵向与横向之分。所谓纵向就是顺着程序的执行顺序逐步进行;所谓横向,就是按模块进行。它们经常结合在一起进行。对于Linux启动的代码可顺着Linux的启动顺序一步步来阅读;对于像内存管理部分,可以单独拿出来进行阅读分析。实际上这是一个反复的过程,不可能读一遍就理解。
如何获取linux下命令源码?
命令的源码是一个软件包为单元的,放在一个软件包的源码中。若要下载一个命令的源码,就要把这个命令所属的软件包的源码都下载下来。命令的源码就在下载的源码的相关文件夹内。一般是src文件夹,对应的主文件名称为cmd.c,当中cmd为详细的命令,如ls命令的主程序文件为ls.c。
因为在不同的Linux发行版上。源码的获取方法并不同样。所以以下以Ubuntu和CentOS这两种经常使用的Linux发行版为样例进行说明。
1、Ubuntu中系统命令源码的获取方法
以32位Ubuntu14.04下,获取ls命令的源码为例,能够使用例如以下的方法下载源码:
1)使用which命令查看ls命令的位置,例如以下:
whichls#输出:/bin/ls
2)使用dpkg命令查询ls命令所属的包。例如以下:
dpkg-S/bin/ls#输出:coreutils:/bin/ls
3)使用apt-get命令来下载ls命令所在的包的源码。例如以下:
apt-getsourcecoreutils
注:
1)在使用dpkg时。若出现错误。能够使用sudo命令使其以root权限运行。
2)使用apt-getsource下载的源码保存到当前文件夹下。
。此外,当我们知道了命令所属的包后,也能够到对应的官方站点下载。
2、CentOS中系统命令源码的获取方法
以32位CentOS6.6下,获取ls命令的源码为例,能够使用例如以下的方法下载源码:
1)配置源码的源
在CentOS中,源的配置文件为:/etc/yum.repos.d/CentOS-Base.repo,改动该文件须要root权限。
打开该文件,查看该文件的内容,在本人的机子上,该文件的内容例如以下:
#CentOS-Base.repo
#
#ThemirrorsystemusestheconnectingIPaddressoftheclientandthe
#updatestatusofeachmirrortopickmirrorsthatareupdatedtoand
#geographicallyclosetotheclient.YoushouldusethisforCentOSupdates
#unlessyouaremanuallypickingothermirrors.
#
#Ifthemirrorlist=doesnotworkforyou,asafallbackyoucantrythe
#remarkedoutbaseurl=lineinstead.
#
#
name=CentOS-$releasever-Base
mirrorlist=$releaseverarch=$basearchrepo=os
#baseurl=$releasever/os/$basearch/
gpgcheck=1
gpgkey=
#releasedupdates
name=CentOS-$releasever-Updates
mirrorlist=$releaseverarch=$basearchrepo=updates
#baseurl=$releasever/updates/$basearch/
gpgcheck=1
gpgkey=
#additionalpackagesthatmaybeuseful
name=CentOS-$releasever-Extras
mirrorlist=?
release=$releaseverarch=$basearchrepo=extras
#baseurl=$releasever/extras/$basearch/
gpgcheck=1
gpgkey=
#additionalpackagesthatextendfunctionalityofexistingpackages
name=CentOS-$releasever-Plus
mirrorlist=$releaseverarch=$basearchrepo=centosplus
#baseurl=$releasever/centosplus/$basearch/
gpgcheck=1
enabled=0
gpgkey=
#contrib-packagesbyCentosUsers
name=CentOS-$releasever-Contrib
mirrorlist=$releaseverarch=$basearchrepo=contrib
#baseurl=$releasever/contrib/$basearch/
gpgcheck=1
enabled=0
gpgkey=
该文件里有两个变量:releasever和basearch。分别表示release版本号和分支,如本人的机子上,这两个值分别为6和i386。注意。releasever并不会细分为次级版本号。即不会是6.6之类的。
从该文件的内容能够知道,该文件共同拥有5个节。也就是说本人的机子的软件来源有5处,分别为base、updates、extras、centosplus和contrib。所以仅仅须要为例如以下的5处软件源指定其源码的源就可以。在文件的末尾加上例如以下的内容:
name=CentOS-$releasever-Basesrc
baseurl=
gpgcheck=1
gpgkey=
name=CentOS-$releasever-Updatessrc-centos
baseurl=
gpgcheck=1
gpgkey=
name=CentOS-$releasever-Extrassrc-centos
baseurl=
gpgcheck=1
gpgkey=
name=CentOS-$releasever-Plussrc-centos
baseurl=
gpgcheck=1
gpgkey=
name=CentOS-$releasever-Contribsrc-centos
baseurl=
gpgcheck=1
gpgkey=
因为不同的版本号设置会有所不同,所以其设置会有所不同,方法可总结为例如以下:
(1)gpgkey与该文件里已有的节的gpgkey同样
(2)为了确认文件的存在和情况,能够打开站点查看详细的情况,再依据详细的情况来填写
(3)设置baseurl时须要依据自己的系统的版本号来设置,如本人的机子为CentOS-6.6,则在设置时,相关的_数就设置为6.6。即后接的子路径为6.6。
该文件的作用是为yum其及相关工作的下载提供一个源。如在使用yumdownloader(以下会讲到)下载源码时。会发生例如以下动作:
(1)下载$baseurl/repodata/repomd.xml文件。若该repomd.xml文件比系统中的新。更新系统中的对应的repomd.xml
(2)下载$baseurl/SPackages/中的对应的源码rpm包。
2)使用which命令查看ls命令的位置,例如以下:
whichls
#输出:/bin/ls
3)使用rpm命令查询ls命令所属的包,例如以下:
rpm-qf/bin/ls
#输出:coreutils-8.4-37.el6.i686
4)yumdownloader是一个从RPM源下载RPM的程序,能够使用yumdownloader命令安装源码。例如以下:
yumdownloader--sourcecoreutils-8.4-37.el6.i686
注:
(1)若yumdownloader命令没有安装,则能够使用此命令安装:yuminstallyum-utils。
(2)下载的文件在当前文件夹下。能够使用_数--destdir指定下载到哪一个文件夹。
5)使用yumdownloader下载到的是一个安装包文件rpm,能够使用例如以下的命令查询rpm中的tar文件:
rpm-qplcoreutils-8.4-37.el6.src.rpm|greptar
#输出:coreutils-8.4.tar.xz
6)使用rpm2cpio命令将rpm包文件转换成cpio归档文件,再使用cpio命令,从cpio归档文件复制提取出一个归档文件。出例如以下:
rpm2cpiocoreutils-8.4-37.el6.src.rpm|cpio-idvcoreutils-8.4.tar.xz
#输出:
#coreutils-8.4.tar.xz
#9561blocks
cpio的man解释为:cpiocopiesfilesintoanarchive
-i:与--extract等同。提取之意
-d:与--make-directories等同,当有须要时创建一个载入文件夹
-v:列出文件的处理过程
7)使用tar命令对coreutils-8.4.tar.xz压缩包进行解压缩,例如以下:
tar-xvf./coreutils-8.4.tar.xz
至此,命令的源码获取完毕。
linux软件安装在哪个目录linux软件安装在哪
linux怎么安装u盘里的软件?
Windows是我们常接触的操作系统,其实Linux也是,而且还是免费的操作系统。它的功能也非常强大。而且这个强大的操作系统还可以装到优盘中来运行,可以把它装到口袋里,只要你的电脑支持U盘起动,我们就能用它来上网、办公、视频聊天、打游戏等。
和Windows正版软件一样,在网上自动升级,自动更新软件,全部免费。
Linux也有不同的版本,虽然各自都有各自的优点,但其内核都差不多。给你推荐这个操作系统是:Ubuntu。
首先要下载这个系统安装软件,ISO文件Ubuntu版本将下载的ISO安装文件进行安装,方法有两个:
一是用优盘对优盘安装;另一种方法是将ISO文件刻成光盘,用光盘对U盘进行安装。重点说一下用U盘对U盘进行安装。要用U盘进行安装,先得把ISO文件安装到U盘中,不能直接把ISO文件拷贝到U盘上,要用UltraISO文件进行安装。网上可以下载软件。用UltraISO软件打开Ubuntu文件。再用UltraISO软件的“启动”中的:写入硬盘映像;选择USB-HDD,点击写入。完成后退出软件。用U盘来安装Ubuntu。将电脑进入COM设置中,将U盘作为启动盘。保存后重启电脑,U盘这时充当USB—Cdrom。
进入界面后就可以选择将Ubuntu安装到硬盘或安装到U盘中。如果不安装,这时也能上网,或干其他事情等。但是你保存的任何东西重新启动后就丢失了,界面和文件全部都恢复后原先的状态。唯一的好处是不怕病毒。
如果你想要和windows一样,那还得进行二次安装。
当然你也可以在windows中安装,安装后可在XP中另建一个启动目录,但影响UBUNTU的性能和速度。
最好的办法还是单独安装。单独安装要进行分区,需要两个区:一个是虚拟内存区(swap),也称为交换区。大小为150M~1200M,推荐1000M。另一个为主分区,大于5G。安装后的系统文件为约3G,以后要升级和下载文件。两个分区分好后就可以安装Ubuntu了。
我用的是8G的SD卡,分了三个区,除了两Ubuntu分区外又多了一个1.5G的FAT32格式分区,主要用于Winodws下,也能和Ubuntu进行文件交换以及下载后存放文件的空间。
安装Ubuntu时最好将硬盘断开,这样安全。
安装过程中必须要设定用户名和口令,也可以选择启动时自动输入口令。
口令一定要牢记,在升级和安装文件时要用。
安装时要选择语言,它支持很多种语言,也有简体中文。当然安装完后也可以在网上改变语言。
安装好的Ubuntu最好先升级。Ubuntu中可以直接运行微软Office中的Word、Excel和PowerPoint。
还可以不要硬盘,我用的笔记本电脑是Acer1810TZ,在旅行中断开硬盘后还可以节电,成为名符其实的无硬盘电脑。使电脑的电池延长很多时间,而且因为没有硬盘而不怕颠簸。整机性能得到了很大的提升。
Ubuntu也支持兰牙和WiFi上网及摄像头功能,无需重新安装。
喜欢五笔字形的人可以直接调用。
浏览器的界面也很好,特别是工具下的‘隐私浏览’功能,使你浏览任何网页不会留下痕迹。
这点和IE8.0的功能相同。
如果有人也喜欢Ubuntu系统,大家可以进行交流。
LINUX下安装软件方法命令方法?
LINUX下安装软件包常有三种,不同的软件包有不同的安装方法:tar包,整个安装过程可以分为以下几步:
1)取得应用软件:通过下载、购买光盘的方法获得;
2)解压缩文件:一般tar包,都会再做一次压缩,如gzip、bz2等,所以你需要先解压。如果是最常见的gz格式,则可以执行:“tar_xvzf软件包名”,就可以一步完成解压与解包工作。如果不是,则先用解压软件,再执行“tar_xvf解压后的tar包”进行解包;阅读附带的INSTALL文件、README文件;
3)执行“./configure”命令为编译做好准备;
4)执行“make”命令进行软件编译;
5)执行“makeinstall”完成安装;
6)执行“makeclean”删除安装时产生的临时文件。
7)运行应用程序:一般来说,Linux的应用软件的可执行文件会存放在/usr/local/bin目录下!不过这并不是“放四海皆准”的真理,最可靠的还是看这个软件的INSTALL和README文件,一般都会有说明。
8)卸载:通常软件的开发者很少考虑到如何卸载自己的软件,而tar又仅是完成打包的工作,所以并没有提供良好的卸载方法。有两个软件能够解决这个问题,那就是Kinstall和Kife,它们是tar包安装、卸载的黄金搭档rpm包,安装过程如下:1)操作系统:RedHat(RedHat/Fedora)2)常见的安装包格式rpm包,安装rpm包的命令是“rpm-参数”3)包管理工具yum4)支持tar包5)1rpm命令:安装:rpm_ivh软件包名.rpm(-I安装软件,-t测试安装,不是真的安装,-p显示安装进度,-f忽略任何错误,-U升级安装,-v检测套件是否正确安装)卸载:rpm_e软件名(注意使用的是软件名,而不是软件包名)查询:查询当前系统安装的软件包:rpm_qa‘*软件包名*’deb包,安装过程:1)操作系统:Debian系列(Ubuntu)2)常见的安装包格式deb包,安装deb包的命令是“dpkg-参数”3)包管理工具apt-get4)支持tar包5)dpkg命令:安装:dpkg_i软件包名.deb,卸载:dpkg_e软件名,查询:查询当前系统安装的软件包:dpkg_l‘*软件包名*’
如何在kalilinux上安装软件?
1.deb包的安装
(1)找到相应的软件包,比如soft.version.deb,下载到本机某个目录
(2)打开一个终端,cdsoft.version.deb所在的目录;
(3)输入dpkg-isoft.version.deb
详细介绍:
1.安装
dpkg_ideb的软件包名
如:dpkg_isoftware-1.2.3-1.deb
2.卸载
dpkg_e软件名
如:dpkg_esoftware
3.查询:查询当前系统安装的软件包:
dpkg_l软件名
如:dpkg_lsoftware
二.apt方式安装:
1.打开一个终端
2.apt-cachesearchsoft注:soft是你要找的软件的名称或相关信息
3.如果2中找到了软件software,则用apt-getinstallsoftware命令安装软件
4.apt-getremovesoftware用来卸载一个已安装的软件包
三.tar.gz(bz2)源代码包安装方式
1、找到相应的软件包,比如soft.tar.gz(bz2),下载到本机某个目录;
2、打开一个终端,su-成root用户;
3、cdsoft.tar.gz所在的目录;
4、tar-xzvf(xjvf)soft.tar.gz(bz2)//一般会生成一个soft目录
5、cdsoft
6、./configure
7、make
8、makeinstall
ubuntu怎样安装软件
一、安装软件
A、通常Linux应用软件的安装包有四种:
1)tar包,如software-1.2.3-1.tar.gz。他是使用UNIX系统的打包工具tar打包的。
2)rpm包,如software-1.2.3-1.i386.rpm。他是Redhat Linux提供的一种包封装格式。包的管理工具YUM
3)dpkg包,如software-1.2.3-1.deb。他是Debain Linux提供的一种包封装格式。包的管理工具apt-get
4)bin包,如jdk-1_5_0_05-linux-i586.bin,有些Linux软件不公开源代码,只发布二进制可执行程序,这类程序一般会以bin来标记。而且,大多数Linux应用软件包的命名也有一定的规律,他遵循:名称-版本-修正版-类型
例如:
1)software-1.2.3-1.tar.gz意味着:
软件名称:software
版本号:1.2.3
修正版本:1
类型:tar.gz,说明是个tar包。
2)sfotware-1.2.3-1.i386.rpm
软件名称:software
版本号:1.2.3
修正版本:1
可用平台:i386,适用于Intel 80x86平台。
类型:rpm,说明是个rpm包。
B、tar包程序的安装
1.安装:
整个安装过程能分为以下几步:
1)取得应用软件:通过下载、购买光盘的方法获得;
2)解压缩文件:一般tar包,都会再做一次压缩,如gzip、bz2等,所以你需要先解压。如果是最常见的gz格式,则能执行:“tar-xvzf软件包名”,就能一步完成解压和解包工作。如果不是,则先用解压软件,再执行“tar-xvf解压后的tar包”进行解包;
3)阅读附带的INSTALL文件、README文件;
4)执行“./configure”命令为编译做好准备;
5)执行“make”命令进行软件编译;
6)执行“make install”完成安装;
7)执行“make clean”删除安装时产生的临时文件。
一般来说,Linux的应用软件的可执行文件会存放在/usr/local/bin目录下!不过这并不是“放四海皆准”的真理,最可靠的还是看这个软件的INSTALL和README文件,一般都会有说明。
2.卸载:
1)、打开一个SHELL,即终端
2)、用CD命令进入配置后的软件目录,即安装时的目录
3)、执行反安装命令:make uninstall
C、rpm包的程序安装
rpm可谓是Redhat公司的一大贡献,他使Linux的软件安装工作变得更加简单容易。
1.安装:
我只需简单的一句话,就能说完。执行:
rpm-ivh rpm软件包名
更高级的,请见下表:
rpm参数参数说明
-i安装软件
-t测试安装,不是真的安装
-p显示安装进度
-f忽略所有错误
-U升级安装
-v检测套件是否正确安装
这些参数能同时采用。更多的内容能参考RPM的命令帮助。
2.卸载:
我同样只需简单的一句话,就能说完。执行:
rpm-e软件名
不过要注意的是,后面使用的是软件名,而不是软件包名。例如,要安装software-1.2.3-1.i386.rpm这个包时,应执行:
rpm-ivh software-1.2.3-1.i386.rpm
而当卸载时,则应执行:
rpm-e software。查询也是 rpm list
D、dpkg包的程序安装
1.安装
dpkg-i deb软件包名
如:dpkg-i software-1.2.3-1.deb
2.卸载
dpkg-e软件名
如:dpkg-e software.deb
E、bin包程序的安装
1.安装
1)、打开一个SHELL,即终端
2)、用CD命令进入源代码压缩包所在的目录
3)、给文件加上可执行属性:chmod+x******.bin(中间是字母x,小写)
4)、执行命令:./******.bin(realplayer for linux就是这样的安装包),执行安装过程中可以指定安装目录,类似于Windows下安装
2.卸载
1)、把安装时选择的安装目录删除就OK
二、启动
如果是程序安装的路径在$PATH环境变量中定义过,那么直接输入命令即可执行,如果没有安装在$PATH环境变量中,则可以进入安装目录,执行“./pro_name",其中"."是指当前目录。可以通过echo命令查看当前的$PATH环境变量,如下图所示