百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 编程网 > 正文

Linux应用程序基本使用 linux的应用程序主要来源于哪几个方面?

yuyutoo 2024-10-12 00:18 4 浏览 0 评论

1、文件系统

无论有多少个分区,整个文件系统都是一棵完整的树结构。经常用到的目录有:

(1)/usr:存放各种应用程序文件用。其中的/usr/local用来存放后安装的软件

(2)/var:用来存放所有的数据文件

(3)/proc:里面的文件用来表示系统内核的各种配置和状态。这一块不是真正的文件系统,而是内存里面的各种数据。可以从这里得到一些常用的系统信息。比如CPU内存什么的。

(4)/etc:这里是放置所有的系统配置文件。一般情况下,后安装的软件的配置文件不会放到这里。除非你是用RPM安装的随发行包配的软件或者故意这样做。我不喜欢把不同软件的文件混在一起,因此通常让不同的软件的配置文件放在各自的目录中。

2、常用的命令

这里我列出一些经常用的命令,具体的用法可以参见相关手册页(希望你的英文不象我这么差)。

vi(一定要会用这个你非常讨厌的东西,如果你屈服了,可以选择另一个叫做pico的编辑器,它有点象DOS的edit)

head(用来看很长的文件用)

tail(同上)

netstat(看网络状态)

tar(解开.tar.gz的压缩包)

ps(察看进程)

kill(干掉进程)

top(看系统状况)

shutdown(关闭系统)

cat(看文件内容)

ping (看网络连通状况)

ftp(传输文件)

man(手册)

上面这些命令都是最最常用的,一定要把基本用法记牢。事实上,每人能记住全部命令或一个命令的全部参数,记住几个常用的就行了。其他的查书。

3、内核升级果你不愿意冒险,可以跳过这个部分。不过根据我实际使用的经验,2.4.x版本的内核性能比2.2.x的性能至少提高40%,还是很值得一试的。现在最新的发行包几乎都带有新的2.4内核,但是版本号想对保守。这里,我的建议是在决定升级任何部分的时候,一定要首先看一下所谓的“currect version release note”信息,里面告诉你本次版本升级都有些什么改动。如果改动的内容不涉及你当前的环境或需求,只是增加了一些邪门设备的驱动,你大可不必急着升级。补充一句话:Linux的内核版本号的中间一位是奇数的是非稳定版本,比如2.3,是偶数的才是稳定版本。

升级内核的步骤如下:

(1)首先在网上找到你打算升级的内核文件,一般名字是:linux-2.x.xx.tar.gz,把这个文件复制到/usr/src。(不知道在哪里找?看看:http://www.kernel.org ,最好找到.tar.gz格式的,比如这里:http://www.kernel.org/pub/linux/kernel/v2.x/)。下面的升级举例是从2.2.18升级到2.5.7(这是最新的内核了,你使用其它的版本别忘了改变版本号)

(2)解压缩:tar zxvf linux-2.5.7.tar.gz后生成一个目录:linux-2.5.7。

(3)进入/usr/src,用ls –l 命令可以看到src里面有一个连接,类似于:linux -> linux-2.2.18/ (连接指向你当前用的内核版本)。首先删除这个连接(rm linux),用ln -s linux-2.5.7 linux 命令重建连接。我想你一定不会连这里的版本号都照抄吧?

(4)进入linux-2.5.7 目录,如果不是第一次编译这个内核,最好用命令:make mrproper 删掉上次编译产生的.o文件等,当然以前保存的配置也丢了。

(5)用命令:make menuconfig命令调整内核配置以适应你目前的环境,记住,不懂的配置不要乱动。首要任务是调整各种硬件的环境,比如SCSI卡:SCSI support/SCSI low-level drivers,不知道现在的SCSI卡型号?在/proc/scsi中可以找到。还有网卡,在Network Device Support 里面。不知道现在的网卡型号?在这个文件里面写着呢:/proc/net/PRO_LAN_Adapters/eth0.info或/proc/pci文件中也可以找到 。在menuconfig中用空格键改变选项状态,前面的<*>表示该功能编译在内核中,主要是运行速度快。< >表示不需要该功能。表示把该功能编译成模块,通常为了减小尺寸,和更换方便而把某些驱动编译成模块。

(6)下面的事情比较程序化,照着做:make dep (检查文件的完整性,过程很复杂)

(7)make bzImage 注意大小写(真正开始编译了耶!我觉着这个最过瘾了,屏幕“哗啦哗啦”的,这时候你会感觉到,多少不知名的程序员在这个复杂的系统中贡献了自己的一份力量)

(8)make modules (编译那些被标记为的功能模块或驱动程序)

(9)make modules_install(把编译好的模块复制到指定地点,一般是:/lib/modules/ 。注意:不同版本号的模块是完全分开在不同目录中的,因为modules跟内核是紧密相关的,混用容易导致系统崩溃)

(10)cd /usr/src/linux-2.5.7/arch/i386/boot ,用命令:cp /usr/src/linux2.5.7/arch/i386/boot/bzImage /boot/vmlinuz-2.5.7 把文件bzImage文件改名成vmlinuz-2.5.7复制到/boot/

(11)cp /usr/src/linux-2.5.7/System.map /boot/System.map-2.5.7

(12)进入/boot目录,rm System.map

(13)在/boot目录中运行ln System.map-2.5.7 System.map 10-13两个步骤每次重新编译都要做。

(14)我开始提醒过的,但愿你安装了lilo (否则你就高唱:“神啊,救救我吧!”),编辑文件:/etc/lilo.conf ,做下面的编辑:

boot=/dev/sda

map=/boot/map

install=/boot/boot.b

prompt

timeout=50

lba32

default=linux-2.5.7

image=/boot/vmlinuz

label=linux

initrd=/boot/initrd

read-only

root=/dev/sda5

image=/boot/vmlinuz-2.5.7

label=linux-2.5.7

initrd=/boot/initrd

read-only

root=/dev/sda5

黑体字部分是后加的和修改的。万一你没有安装lilo,你只能修改/boot下面的连接指向你新的System.map和vmlinuz , 而不用修改lilo了。这样也能启动,但是一旦出现问题,你的机器就启动不了了。

(15)执行命令:lilo (用来更新lilo数据),注意输出的结果:带星号的是缺省的。

(16)祈祷,然后reboot 系统重新启动后,用uname –a 可看到新的内核起作用了。如果出现任何问题不能引导了,你需要在lilo的引导界面选择原来的内核启动,进入系统后重新改变内核参数,调整硬件或其他配置。然后重复前面所有过程。

相关推荐

自卑的人容易患抑郁症吗?(自卑会导致抑郁吗)

Filephoto[Photo/IC]Lowself-esteemmakesusfeelbadaboutourselves.Butdidyouknowthatovert...

中考典型同(近)义词组(同义词考题)

中考典型同(近)义词组...

WPF 消息传递简明教程(wpf messagebox.show)

...

BroadcastReceiver的原理和使用(broadcast-suppression)

一、使用中注意的几点1.动态注册、静态注册的优先级在AndroidManifest.xml中静态注册的receiver比在代码中用registerReceiver动态注册的优先级要低。发送方在send...

Arduino通过串口透传ESP 13板与java程序交互

ESP13---是一个无线板子,配置通过热点通信Arduino通过串口透传ESP13板与java程序交互...

zookeeper的Leader选举源码解析(zookeeper角色选举角色包括)

作者:京东物流梁吉超zookeeper是一个分布式服务框架,主要解决分布式应用中常见的多种数据问题,例如集群管理,状态同步等。为解决这些问题zookeeper需要Leader选举进行保障数据的强一致...

接待外国人英文口语(接待外国友人的英语口语对话)

接待外国人英文口语询问访客身份:  MayIhaveyourname,please?  请问您贵姓?  Whatcompanyareyoufrom?  您是哪个公司的?  Could...

一文深入理解AP架构Nacos注册原理

Nacos简介Nacos是一款阿里巴巴开源用于管理分布式微服务的中间件,能够帮助开发人员快速实现动态服务发现、服务配置、服务元数据及流量管理等。这篇文章主要剖析一下Nacos作为注册中心时其服务注册与...

Android面试宝典之终极大招(android面试及答案)

以下内容来自兆隆IT云学院就业部,根据多年成功就业服务经验,以及职业素养课程部分内容,归纳总结:18.请描述一下Intent和IntentFilter。Android中通过Intent...

除了Crontab,Swoole Timer也可以实现定时任务的

一般的定时器是怎么实现的呢?我总结如下:1.使用Crontab工具,写一个shell脚本,在脚本中调用PHP文件,然后定期执行该脚本;2.ignore_user_abort()和set_time_li...

Spark源码阅读:DataFrame.collect 作业提交流程思维导图

本文分为两个部分:作业提交流程思维导图关键函数列表作业提交流程思维导图...

使用Xamarin和Visual Studio开发Android可穿戴设备应用

搭建开发环境我们需要做的第一件事情是安装必要的工具。因此,你需要首先安装VisualStudio。如果您使用的是VisualStudio2010,2012或2013,那么请确保它是一个专业版本或...

Android开发者必知的5个开源库(android 开发相关源码精编解析)

过去的时间里,Android开发逐步走向成熟,一个个与Android相关的开发工具也层出不穷。不过,在面对各种新鲜事物时,不要忘了那些我们每天使用的大量开源库。在这里,向大家介绍的就是,在这个任劳任怨...

Android事件总线还能怎么玩?(android实现事件处理的步骤)

顾名思义,AndroidEventBus是一个Android平台的事件总线框架,它简化了Activity、Fragment、Service等组件之间的交互,很大程度上降低了它们之间的耦合,使我们的代码...

Android 开发中文引导-应用小部件

应用小部件是可以嵌入其它应用(例如主屏幕)并收到定期更新的微型应用视图。这些视图在用户界面中被叫做小部件,并可以用应用小部件提供者发布。可以容纳其他应用部件的应用组件叫做应用部件的宿主(1)。下面的截...

取消回复欢迎 发表评论: