`
hochiang
  • 浏览: 22026 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

Linux

 
阅读更多
1./etc/rc.d/init.d
http://blog.chinaunix.net/uid-103601-id-2961366.html

系统是如何选择哪些需要启动哪些不要呢?这时刚才说的运行级别就起作用了。在决定了系统启动的run level之后,/etc/rc.d/rc这个脚本先执行。在RH9和FC7的源码中它都是一上来就check_runlevel()(虽然实现的代码不 一样,也大同小异),知道了运行级别之后,对于每一个运行级别,在rc.d下都有一个子目录分别是rc0.d,rc1.d ….. rc6.d。每个目录下都是到init.d目录的一部分脚本一些链接。每个级别要执行哪些服务就在相对应的目录下,比如级别5要启动的服务就都放在 rc5.d下,但是放在这个rc5.d下的都是一些链接文件,链接到init.d中相对应的文件,真正干活到init.d里的脚本

Init进程是系统启动之后的第一个用户进程,所以它的pid(进程编号)始终为1。init进程上来首先做的事是去读取/etc/目录下inittab 文件中initdefault id值,这个值称为运行级别(run-level)。它决定了系统启动之后运行于什么级别。运行级别决定了系统启动的绝大部分行为和目的。这个级别从0到 6 ,具有不同的功能。不同的运行级定义如下:
  # 0 - 停机(千万别把initdefault设置为0,否则系统永远无法启动)
  # 1 - 单用户模式
  # 2 - 多用户,没有 NFS
  # 3 - 完全多用户模式(标准的运行级)
  # 4 – 系统保留的
  # 5 - X11 (x window)
  # 6 - 重新启动 (千万不要把initdefault 设置为6,否则将一直在重启 )

2.chkconfig
http://blog.chinaunix.net/uid-22566367-id-3111987.html

3.查看文件或目录大小du
3.1.命令格式:
du [选项][文件]
3.2.命令功能:
显示每个文件和目录的磁盘使用空间。
3.3.命令参数:
-a或-all  显示目录中个别文件的大小。  
-b或-bytes  显示目录或文件大小时,以byte为单位。  
-c或--total  除了显示个别目录或文件的大小外,同时也显示所有目录或文件的总和。
-k或--kilobytes  以KB(1024bytes)为单位输出。
-m或--megabytes  以MB为单位输出。  
-s或--summarize  仅显示总计,只列出最后加总的值。
-h或--human-readable  以K,M,G为单位,提高信息的可读性。
-x或--one-file-xystem  以一开始处理时的文件系统为准,若遇上其它不同的文件系统目录则略过。
-L<符号链接>或--dereference<符号链接> 显示选项中所指定符号链接的源文件大小。  
-S或--separate-dirs   显示个别目录的大小时,并不含其子目录的大小。
-X<文件>或--exclude-from=<文件>  在<文件>指定目录或文件。  
--exclude=<目录或文件>         略过指定的目录或文件。   
-D或--dereference-args   显示指定符号链接的源文件大小。  
-H或--si  与-h参数相同,但是K,M,G是以1000为换算单位。  
-l或--count-links   重复计算硬件链接的文件。
3.4.使用例子
方便阅读的格式显示,文件和目录都显示:du -ah test
显示几个文件或目录各自占用磁盘空间的大小,还统计它们的总和:du -c log30.tar.gz log31.tar.gz
按照空间大小排序:du|sort -nr|more
选出排在前面的10个
du -s /usr/* | sort -rn | head
选出排在后面的10个
du -s /usr/* | sort -rn | tail
输出当前目录下各个子目录所使用的空间:du -h  --max-depth=1

4.rpm
http://www.cnblogs.com/xiaochaohuashengmi/archive/2011/10/08/2203153.html

5.mount
sudo mount -o nolock -t nfs xx.xx.xx.xx:/drbd /var/www/resin/resource/
nfs:http://blog.chinaunix.net/uid-26284318-id-3111651.html

/ # mount -t nfs 192.168.1.249:/appdata /mnt
portmap: server localhost not responding, timed out
RPC: failed to contact portmap (errno -5).
portmap: server localhost not responding, timed out
RPC: failed to contact portmap (errno -5).
lockd_up: makesock failed, error=-5
portmap: server localhost not responding, timed out
RPC: failed to contact portmap (errno -5).
mount: Mounting 192.168.1.249:/appdata on /mnt failed: Input/output error

可能原因:
nfs mount 默认选项包括文件锁,依赖于portmap提供的动态端口分配功能;
简单的解决方法:kill 文件锁(lockd)或者mount -o nolock ;
上面说的文件锁具体是什么原因,还没有找到更好的解决办法。
注意:主机防火墙有设置时,也可能导致目标板无法正常访问。

改用: mount  -o nolock 192.168.1.100:/nfsroot /mnt 可解决.


6.top
<空格>:立刻刷新。
H: 查看每个线程的性能信息
P:根据CPU使用大小进行排序。
T:根据时间、累计时间排序。
q:退出top命令。
m:切换显示内存信息。
t:切换显示进程和CPU状态信息。
c:切换显示命令名称和完整命令行。
M:根据使用内存大小进行排序。
W:将当前设置写入~/.toprc文件中。这是写top配置文件的推荐方法。

数字1查看每个CPU的性能数据
PR 优先级
NI nice值。负值表示高优先级,正值表示低优先级
VIRT 进程使用的虚拟内存总量,单位kb。VIRT=SWAP+RES
SWAP 进程使用的虚拟内存中,被换出的大小,单位kb。
RES 进程使用的、未被换出的物理内存大小,单位kb。RES=CODE+DATA
SHR 共享内存大小,单位kb
S 进程状态:
            D=不可中断的睡眠状态
            R=运行
            S=睡眠
            T=跟踪/停止
            Z=僵尸进程
默认情况下仅显示比较重要的  PID、USER、PR、NI、VIRT、RES、SHR、S、%CPU、%MEM、TIME+、COMMAND  列。可以通过下面的快捷键来更改显示内容。
更改显示内容通过 f 键可以选择显示的内容。按 f 键之后会显示列的列表,按 a-z  即可显示或隐藏对应的列,最后按回车键确定。

查看CPU信息 cat /proc/cpuinfo
查看内存信息 cat /proc/meminfo
查看Java线程数 ps -eLf | grep java -c

查看下TCP连接状态,建立了800多个连接,需要尽量降低ESTABLISHED
netstat -nat | awk '{print $6}' | sort | uniq -c | sort -n
1 established)
1 Foreign
3 CLOSE_WAIT
7 CLOSING
14 FIN_WAIT2
25 LISTEN
39 LAST_ACK
609 FIN_WAIT1
882 ESTABLISHED
10222 TIME_WAIT

7.增加虚拟内存(2G)
mkdir /data
sudo dd if=/dev/zero of=/data/swapfile bs=1024 count=2000000
把生成的文件转换成 Swap 文件
sudo mkswap /data/swapfile
激活 Swap 文件。
sudo swapon /data/swapfile
检查swap是否正确:
/sbin/swapon -s
也可free查看
如果需要卸载这个 swap 文件,可以进入建立的 swap 文件目录。执行下列命令。
sudo swapoff swapfile

编辑/etc/fstab文件,使在每次开机时自动加载swap文件:
/data/swapfile swap swap default 0 0
这里有个问题!如果是阿里云的服务器,阿里云默认是不让用户使用swap,需要编辑/etc/rc.d/rc.local文件,将文件中的swapoff行注释或删掉。

8.磁盘空间满了,清理磁盘
首先使用命令df -h查看磁盘使用情况,确认无剩余空间后,再去找到大的文件或目录。
直接进入Linux跟目录/,使用sudo du -sh *,结合时间情况找到大文件或目录,可以进入子目录深入跟踪,找到无用的大文件,将其删除。
文件大小排序:sudo du -s * | sort -nr | head
这时可能会发现删除后并没有释放磁盘空间。这是因为linux中如果文件被进程占用,进程将仍然能够读取该文件,磁盘空间也一直被占用,常见的一些运行日志是一直被进程占用的。
我们可以使用lsof |grep deleted查看被删除且被进程占用的。这时我们可以停掉进程,让os释放空间。
lsof全名list opened files,也就是列举系统中已经被打开的文件。我们都知道,linux环境中,不论什么事物都是文件,
设备是文件,文件夹是文件,甚至sockets也是文件。所以,用好lsof命令,对日常的linux管理非常有帮助。

服务器上的tomcat的catalina.out文件越来越大,对系统的稳定造成了一定的影响,以前每次都是想起来的时候手工清理一下(cat /dev/null > catalina.out),后来发现了logratate这个工具,Ubuntu下的mysql,nginx好像也是用的这个工具还定期整理log的。配置文件为/etc/logrotate.conf,和很多其它ubuntu下的工具一下,也可以把配置文件写在/etc/logrotate.d/下面。如对我们的tomcat的log文件进行整理,sudo vi /etc/logrotate.d/tomcat

/usr/local/tomcat/logs/catalina.out {
rotate 14
daily
copytruncate
compress
notifempty
missingok
}
其中:
rotate 7 表示保留7天的备份文件
daily 表示每天整理一次
copytruncate 表示先复制log文件的内容,然后再清空
compress 表示压缩备分文件
missingok 表示如果找不到log文件也没OK
notifempty 表示如果log文件是空的,就不进行rotate
可以通过/usr/sbin/logrotate -f /etc/logrotate.conf来执行。Ubuntu有/etc/cron.daily/logrotate文件,内容为:

#!/bin/sh
test -x /usr/sbin/logrotate || exit 0
/usr/sbin/logrotate /etc/logrotate.conf
表示每天会定时执行一次这个命令
通过ntp同步服务器的时间
根据 Ubuntu的文档 有两种方式可以用来使服务器的时间和ntp server同步。一种是通过ntpdate命令,如
ntpdate ntp.Ubuntu.com
然后在/etc/cron.daily/下新建一个文件来每天执行一次这个命令
另一种是通过ntpd来更新。sudo apt-get install ntp。配置文件/etc/ntp.conf,可以通过修改配置文件为改变ntp server, 我们用的是210.72.145.44这个server
对于Linux 的系统安全来说,日志文件是极其重要的工具。系统管理员可以使用logrotate 程序用来管理系统中的最新的事件,对于Linux 的系统安全来说,日志文件是极其重要的工具。系统管理员可以使用logrotate 程序用来管理系统中的最新的事件。logrotate 还可以用来备份日志文件。logrorate用来把旧的日志文件删除,并创建新的日志文件,我们把它叫做“转储”。我们可以根据日志文件的大小,也可以根据其天数来转储,这个过程一般通过 cron 程序来执行。
  logrotate 程序还可以用于压缩日志文件,以及发送日志到指定的E-mail 。
  logrotate 的配置文件是 /etc/logrotate.conf。主要参数如下表:
  compress 通过gzip 压缩转储以后的日志
  nocompress 不需要压缩时,用这个参数
  copytruncate 用于还在打开中的日志文件,把当前日志备份并截断
  nocopytruncate 备份日志文件但是不截断
  create mode owner group 转储文件,使用指定的文件模式创建新的日志文件
  nocreate 不建立新的日志文件
  delaycompress 和 compress 一起使用时,转储的日志文件到下一次转储时才压缩
  nodelaycompress 覆盖 delaycompress 选项,转储同时压缩。
  errors address 转储时的错误信息发送到指定的Email 地址
  ifempty 即使是空文件也转储,这个是 logrotate 的缺省选项。
  notifempty 如果是空文件的话,不转储
  mail address 把转储的日志文件发送到指定的E-mail 地址
  nomail 转储时不发送日志文件
  olddir directory 转储后的日志文件放入指定的目录,必须和当前日志文件在同一个文件系统
  noolddir 转储后的日志文件和当前日志文件放在同一个目录下
  prerotate/endscript 在转储以前需要执行的命令可以放入这个对,这两个关键字必须单独成行
  postrotate/endscript 在转储以后需要执行的命令可以放入这个对,这两个关键字必须单独成行
  daily 指定转储周期为每天
  weekly 指定转储周期为每周
  monthly 指定转储周期为每月
  rotate count 指定日志文件删除之前转储的次数,0 指没有备份,5 指保留5 个备份
  tabootext [+] list 让logrotate 不转储指定扩展名的文件,缺省的扩展名是:.rpm-orig, .rpmsave, v, 和 ~
  size size 当日志文件到达指定的大小时才转储,Size 可以指定 bytes (缺省)以及KB (sizek)或者MB (sizem).

9.
一般来说linux下查询域名解析有两种选择,nslookup或者dig,而在使用上我觉得dig更加方便顺手。
如果是在debian下的话,只要装上dnsutils这个包就可以使用dig命令了。
最基本的使用方式就是
dig www.oolec.com
即查询域名的A记录,查询的dns服务器将采用系统配置的服务器,即/etc/resovle.conf 中的。
如果要查询其他类型的记录,比如MX,CNAME,NS,PTR等,只需将类型加在命令后面即可
dig www.oolec.com mx
dig www.oolec.com ns
此外,如果你是一个系统管理员,部署好了一台dns服务器之后想对它进行解析测试,就必须要显式指定待测试的dns服务器地址了,例如
dig @202.106.0.20 www.oolec.com a
默认情况下dig将采用udp协议进行查询,如果要采用tcp方式,可以加上 +tcp参数
dig www.oolec.com a +tcp
另外一个重要的功能是+trace参数,使用这个参数之后将显示从根域逐级查询的过程
dig www.oolec.com a +trace
比如,对本站域名www.linuxers.cn A记录的trace查询可以看到根域.,顶级域.cn,以及linuxers.cn的域名权威服务器的地址及其各自的返回结果,这样对于追踪dns解析中的问题有很大的帮助。
分享到:
评论

相关推荐

    util-linux-ng-2.17源码(含fdisk)

    util-linux-ng-2.17源码(含fdisk) Here is a list of all documented files with brief descriptions: util-linux-ng-2.17.2/disk-utils/blockdev.c [code] util-linux-ng-2.17.2/disk-utils/cramfs.h [code] ...

    linux2.6.1内核源码注释

    Linux 2.6.11.12内核源码注释是一份极其珍贵的资料,它涵盖了Linux内核的多个关键组件,包括同步机制、信号处理、内存管理、进程调度、文件系统以及网络系统。这些是Linux内核运行的核心组成部分,对于理解Linux操作...

    jdk1.7_linux Linux版零积分免费下载

    jdk1.7_linux Linux版零积分jdk1.7_linux Linux版零积分免费下载jdk1.7_linux Linux版零积分免费下载jdk1.7_linux Linux版零积分免费下载jdk1.7_linux Linux版零积分免费下载jdk1.7_linux Linux版零积分免费下载jdk...

    Linux网络调试助手

    Linux网络调试助手(网络通信)Linux网络调试助手(网络通信)Linux网络调试助手(网络通信)Linux网络调试助手(网络通信)Linux网络调试助手(网络通信)Linux网络调试助手(网络通信)Linux网络调试助手(网络...

    LINUX操作系统(电子教案,参考答案)

    主要包括Linux的基本概念和操作,Linux的树型结构,Linux的文本编辑,Linux的安装和启动,用户管理,Shell编程技术,进程管理,C编译器,系统扩充,维护与监视,Linux的图形界面,网络的基本概念与设置,Linux在网络...

    Linux内核源代码情景分析 (上下册 高清非扫描 )

    ### Linux内核源代码情景分析知识点总结 #### 第1章 预备知识 - **1.1 Linux内核简介** - Linux是由Linus Torvalds在1991年开始开发的操作系统内核,其设计思想受到Unix的影响,但并不直接继承Unix的任何代码。 -...

    大学生攻克Linux系统教程

    【大学生攻克Linux系统教程】 本教程专为对Linux操作系统感兴趣的初学者设计,旨在提供一个从零开始学习Linux的全面指南。教程内容涵盖了Linux系统的安装、基本操作、文本编辑器VI的使用、调试工具GDB的基础知识,...

    Linux vmtools的Linux.iso下载

    首先启动虚拟机软件VM(虚拟Linux系统 rhel4 已经安装完毕) 1.设置VMware的cd-rom→ Use ISO image → 本文件(linux.iso) 2.启动虚拟机 3.用超级用户root登录 4.登录成功后,Ctrl+Alt ,取出鼠标,点选菜单栏,vm → ...

    Linux2.6.24内核注释

    这是半年来,在看ULA的过程中,针对Linux 2.6.24内核顺手做的一点注释。内容不多,个人觉得文件系统和USB这两个模块的注释还有一点意思。 所有注释都是中文,您可以与标准2.6.24内核进行比较,看看具体的注释内容。 ...

    LINUX设备驱动程序

    在Linux系统中,设备驱动程序是操作系统与硬件设备之间的桥梁,它们使得操作系统能够高效地管理和控制硬件资源。这里我们主要探讨的是与嵌入式开发相关的Linux设备驱动程序,特别是针对ARM架构,如6410处理器的开发...

    linux 0.11 内核源码 - 免费下载

    linux 0.11 源码下载 本代码是目前能够找到的最早的Linux的内核版本,Linux 0.11内核是Linux内核的早期版本,于1991年由Linus Torvalds编写并发布。作为一个基于UNIX的操作系统内核,它的源代码包含了核心代码和一些...

    基于Linux 下qt改版的聊天室

    基于Linux 下qt改版的聊天室基于Linux 下qt改版的聊天室基于Linux 下qt改版的聊天室基于Linux 下qt改版的聊天室基于Linux 下qt改版的聊天室基于Linux 下qt改版的聊天室基于Linux 下qt改版的聊天室基于Linux 下qt改版...

    Linux C函数库参考手册完整版 含Linux C函数使用手册chm 中文pdf格式

    Linux C函数库参考手册是一套Linux C函数使用手册,这里还提供了LinuxC函数手册chm,帮助大家查找。在Linux下,使用到的C语言函数中文手册,全都有实例,如果你是大神,完全不需要,如果你对英文的手册感到头疼,...

    linux基础教程资源合集(精华)PDF版

    Linux,在今天的广大电脑爱好者心中已经不再是那个遥不可及的新东西了,如果说几年前的 Linux 是星星之火的话,如今 Linux 不仅在服务器领域的应用取得较大进展,而且在桌面应用领域也有越来越多的人选择使用。Linux...

    Linux入门教程(精华基础版) 高清无水印 中文pdf版

    Linux入门教程是一个Linux入门精华基础版,包含常见的linux命令应用,linux 入门必备哦!深入浅出介绍linux知识,针对初学者的linux教程,也可作为程序员必备工具书。需要的朋友可下载试试! 内容 第一章Linux入门...

    《Linux设备驱动开发详解-基于最新的Linux4.0内核》源码

    《Linux设备驱动开发详解-基于最新的Linux4.0内核》是一本深入探讨Linux设备驱动程序开发的专业书籍,其源码提供了丰富的实践示例,帮助读者理解如何在Linux操作系统下编写和调试驱动程序。该书涵盖了从基础概念到...

    linux 系统下安装IE必备的三个包wine cabextract ies4linux

    在Linux系统中,由于默认不支持Microsoft Internet Explorer(简称IE),因此如果需要在Linux环境下运行IE,就需要借助一些工具来实现。本篇文章将详细介绍在Linux系统下安装IE所需的三个关键包:Wine、CabExtract和...

    Red.Hat.Linux.9宝典(中文版)

    经典Linux入门啊,中文影印完整版,本人资源全都是免费的,超强超多的电子书,请加关注!!!!!!!!!!!!!! ================================ 本书全面、系统地介绍了Red Hat Linux 9,突出了Red Hat ...

    linux telnet客户端安装包

    Linux Telnet客户端是一种远程访问协议工具,常用于测试网络连接或进行简单的命令行通信。在64位Linux服务器上,为了实现远程登录到其他设备,如路由器、交换机或者运行了Telnet服务的主机,我们需要安装Telnet...

    华为工程师总结Linux笔记.pdf

    Linux 入门到精通企业实战 1 Linux 基础篇 1 Linux 进阶篇 3 Linux 高级篇 4 第 1 章 Linux 快速入门 5 第 2 章 Linux 发展及系统安装 15 第 3 章 CentOS 系统管理 42 第 4 章 Linux 必备命令 72 第 5 章 Linux 用户...

Global site tag (gtag.js) - Google Analytics