开发者俱乐部

标题: Linux学习笔记 Day 4~5 [打印本页]

作者: jack    时间: 2016-2-3 21:37
标题: Linux学习笔记 Day 4~5
今天继续网络配置的内容。

vim /etc/modprobe.conf:开机自动加载网卡驱动
lsmod | grep 8139:查看网卡
mii-tool:看网卡工作是否正常 (100baseTx-FD, 全双工,同时接收及发送)
ifconfig eth0:查IP等信息
ifconfig eth0 10.0.1.3 netmask 255.255.255.0:设置IP地址
service network restart:重启网络服务
route:查看路由表,route -n (加default改为0.0.0.0,会快点)
netstat -r:查网络状态, netstat -i -e, netstat -u, netstat -a
netstat -tl:查看基于TCP的所有处于监听模式下的服务的进程,-ul:基于udp -anp:显示pid
route add default gw 10.0.0.1:加网关
route add -net 192.168.0.0 netmask 255.255.255.0 dev eth0:加路由


tcpdump

tcpdump:截取数据包,tcpdump udp
tcpdump tcp /tcp port 22 / udp / icmp / arp /rarp


域名解析
nameserver 10.0.1.2
ip name list:查路由表





[root@localhost ~]# fdisk -l

Disk /dev/sda: 21.4 GB, 21474836480 bytes
255 heads, 63 sectors/track, 2610 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *           1          13      104391   83  Linux
/dev/sda2              14        2610    20860402+  8e  Linux LVM



255 heads, 63 sectors/track, 2610 cylinders
     磁头        扇区   磁道         柱面

Units = cylinders of 16065 * 512 = 8225280 bytes
             柱面扇区数             一个柱面大小


设备    启动分区   起始柱面    结束柱面  数据块  系统ID  系统类型名      
Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *           1          13      104391   83  Linux   --ext3 (W95 FA //fat32   Extend  //扩展分区  Linux Swap  //交换分区
/dev/sda2              14        2610    20860402+  8e  Linux LVM  --逻辑卷管理



fdisk /dev/sda:磁盘管理命令, (m:帮助)  --set nopaste:粘贴模式
一个硬盘最多分4个主分区,15个分区


Command (m for help): m
Command action
    a   toggle a bootable flag
    b   edit bsd disklabel
    c   toggle the dos compatibility flag
    d   delete a partition
    l   list known partition types
    m   print this menu
    n   add a new partition
    o   create a new empty DOS partition table
    p   print the partition table
    q   quit without saving changes
    s   create a new empty Sun disklabel
    t   change a partition's system id
    u   change display/entry units
    v   verify the partition table
    w   write table to disk and exit
    x   extra functionality (experts only)


w保存后,需要
#partprobe:重新产生设备,/dev/sda....才算分好区
然后格式化
#mkfs.
mkfs.ext3 /dev/sda6  (这个过程会产生inode表,位图等)
mkfs -t ext3 /dev/sda6
mkfs.vfat==mkfs -t vfat


访问磁盘:
mount
1. 普通文件
mount -t ext3 /dev/sda7 /media/, umount /media 或 /dev/sda7 ,两个均可
可重复挂载同一目录,但是访问到的是最后一次挂载的资源
正在被访问的,不能被卸载,之前挂载几个,同样卸载几个,且只能按顺序卸载。交换分区,扩展分区不允许挂载

[root@localhost ~]# mount
设备名        挂载目录               文件类型(数据存储格式)   挂载的权限
/dev/mapper/VolGroup00-LogVol00 on / type ext3                    (rw)
proc on /proc type proc (rw)
sysfs on /sys type sysfs (rw)
devpts on /dev/pts type devpts (rw,gid=5,mode=620)
/dev/sda1 on /boot type ext3 (rw)
tmpfs on /dev/shm type tmpfs (rw)
none on /proc/sys/fs/binfmt_misc type binfmt_misc (rw)
none on /proc/fs/vmblock/mountPoint type vmblock (rw)
sunrpc on /var/lib/nfs/rpc_pipefs type rpc_pipefs (rw)


proc及sysfs都是内存,ls /proc/可查看
devpts终端,用tty查看

2. 网络挂载:
showmount -e 2.2.2.192
mount -t nfs 2.2.2.192:/share2 /mnt --挂载为目录名mnt,t指定文件系统类型为nfs(网络文件系统),mount -t ext3/vfat/ext2/cifs/ntfs(系统默认不支持,需要装第三方软件ntfs-3g来实现),2.2.2.192:/share2为源设备,/mnt目标挂载路径
cd /mnt/  --进入mnt
ls

3. 挂载ISO文件
mount -o loop -t iso9660 rhel5.5.iso /mnt (ls /dev/loop) (file rhel5.5.iso:查ISO格式 9660),默认从loop0开始


4. 挂载光驱的光盘 /dev/cdrom
mount -o ro /dev/cdrom /mnt


5. mount目录
mount --bing /root /media:访问media等同于访问root






注意:
1. 本机的其他系统都可以通过mount挂载资源
mount -t ntfs.3g /mnt
2. 远程window系统的共享目录;(samba)
mount -t cifs -o username=(windows用户) //10.0.1.2/test /mnt
passed:windows 用户密码

3. mount 不上时,防火墙关闭或其他保护;目录是否已共享(ro,rw)
4. mount了几次就要卸载几次
5. mount一般挂载/mnt /media /misc,不要挂在/bin /etc /dev...这些系统目录


-------------------------------------以上都是临时挂载,重启之后消失

永久性挂载:
1. 写到系统文件,vim /etc/rc.local
2. 修改配置文件,vim /etc/fstab

设备名(路径/标符)      挂载点                系统格式   挂载方式   1:dump复制-->kdump(系统恢复用) 2:磁盘检测和级别,/级别一定是1   
/dev/VolGroup00/LogVol00 /                      ext3    defaults        1 1
LABEL=/boot             /boot                   ext3    defaults        1 2
tmpfs                   /dev/shm                tmpfs   defaults        0 0
devpts                  /dev/pts                devpts  gid=5,mode=620  0 0
sysfs                   /sys                    sysfs   defaults        0 0
proc                    /proc                   proc    defaults        0 0
/dev/VolGroup00/LogVol01 swap                   swap    defaults        0 0

查看磁盘标签
e2label /dev/sda1 /boot

给磁盘设标签
e2label /dev/sda6 /2


fstab纠错:
LABEL=/123  /   ext3   default 00
//找不到LABEL=/123, kernel panic;

提示要求ctrl+d继续,输入root密码,进入修复模式;
vim /etc/fstab //无法修改,当前根没有挂载成功;
重新挂载 mount -o remount dev/sda2
再vim /etc/fstab


拯救模式





df -h:已挂在文件系统使用情况,h人性化界面显示



swap 分区没有挂载点:
/dev/sda6     swap    swap    default 00


创建交换分区:
1. 分区 fdisk /dev/sad
2. partprobe:创建分区的文件
3. mkswap  /dev/sda6:分区格式化


swapon/off, swapon /dev/sda6:启动关闭交换分区



软件包管理

1. rpm: redhat package management,RH的软件包管理

软件名-版本号    支持的平台 后缀
bind-9.3.4-10.p1.el5.i386.rpm
i386-->i486-->i686,i686不支持i386平台执行


yum-3.2.19-18.el5.noarch.rpm
noarch:所有平台上可运行


chmlib-0.40-1.el5.src.rpm
src:源码包


arp-scan-1.6.tar.gz
源代码包


安装(i安装,v显示安装过程,h做hash检查),
rpm -ivh bind-9.3.4-10.p1.el5.i386.rpm
//会查找依赖关系
//已安装过的会提示是否重安装
//




rpm -qf /lib/libc.so.6:已知命令或可执行文件,反向查搜索是经哪个包装的的结果

which yum:得出路径
rpm -qf /usr/bin/yum:查找安装

rpm -qa | grep "bind":查找bind相关的安装

rpm -qpl yum-3.2.19-18.el5.noarch.rpm:查看未安装包的内容及安装后会被安装到哪些路径
rpm -ql yum.noarch:查看已装的包的安装路径

rpm -qd yum.noarch:查看包的帮助文档

rpm -qc yum:查看包配置信息

rpm -qi yum:查看命令详细信息

rpm -qpi yum-3.2.19-18.el5.noarch.rpm:详细信息




yum install bind

yum lits "yum"



作者: jack    时间: 2016-2-3 21:38

yum list,查没装的包,有install表示已装
xorg-x11-drv-vmware.i386                                          10.13.0-2.1                                       installed
xorg-x11-drv-void.i386                                            1.1.0-3.1                                         installed
xorg-x11-drv-voodoo.i386                                          1.1.0-3.1                                         installed
xorg-x11-filesystem.noarch                                        7.1-2.fc6                                         installed
xorg-x11-font-utils.i386                                          1:7.1-2                                           installed
xorg-x11-fonts-100dpi.noarch                                      7.1-2.1.el5                                       installed
xorg-x11-fonts-75dpi.noarch                                       7.1-2.1.el5                                       installed
xorg-x11-fonts-ISO8859-1-100dpi.noarch                            7.1-2.1.el5                                       installed
xorg-x11-fonts-ISO8859-1-75dpi.noarch                             7.1-2.1.el5                                       installed
xorg-x11-fonts-Type1.noarch                                       7.1-2.1.el5                                       installed
xorg-x11-fonts-base.noarch                                        7.1-2.1.el5                                       installed
xorg-x11-fonts-misc.noarch                                        7.1-2.1.el5                                       installed
xorg-x11-fonts-truetype.noarch                                    7.1-2.1.el5                                       installed
xorg-x11-server-Xnest.i386                                        1.1.1-48.76.el5                                   installed
xorg-x11-server-Xorg.i386                                         1.1.1-48.76.el5                                   installed
xorg-x11-server-utils.i386                                        7.1-4.fc6                                         installed
xorg-x11-twm.i386                                                 1:1.0.1-3.1                                       installed
xorg-x11-utils.i386                                               7.1-2.fc6                                         installed
xorg-x11-xauth.i386                                               1:1.0.1-2.1                                       installed
xorg-x11-xfs.i386                                                 1:1.0.2-4                                         installed
xorg-x11-xinit.i386                                               1.0.2-15.el5                                      installed
xorg-x11-xkb-utils.i386                                           1.0.2-2.1                                         installed
xsane.i386                                                        0.991-5.el5                                       installed
xsane-gimp.i386                                                   0.991-5.el5                                       installed
xsri.i386                                                         1:2.1.0-10.fc6                                    installed
xterm.i386                                                        215-8.el5_4.1                                     installed
xulrunner.i386                                                    1.9.0.18-1.el5_4                                  installed


yun list "rhc*"
匹配查找某包是否安装

yum install gcc



2. 安装源码包
rpmbuild --rebuild chmlib-0.40-1.el5.src.rpm:之后会提示rpm后放在哪个位置,再进去安装

卸载rpm包:若rpm包提示已安装旧版本,跟新版有冲突:
1. 升级,
rpm -U chmlib-0.39-1.el5.src.rpm:大u,不过升级过程易出问题,因为依赖关系

强制安装
rpm -F chmlib-0.39-1.el5.src.rpm  (-F= -replace)


2. 删掉旧版,查找依赖?????,逐个卸载
通过rpm
rpm-e chmlib-0.39-1.el5.src.rpm





3. 安装源代码包
tar -xvf arp-scan-1.6.tar.gz


安装过程,根据上面的包类型操作后,
1. vim README, 按照里面的介绍安装
2. ./configure ,如果提示:configure:error:no acceptable C compiler found in $PATH,表示gcc没有安装,用yum install gcc安装
3. make:生成Makefile,make all或输make,自动查找all规则(先找小写的makefile再找大写),生成可执行文件
4. make install:自动将文件copy到指定目录

安装好后,可通过which+命令  查找包安装位置,或locate+命令


ll mplayer -h:查看安装后信息




清除包
make clean: 清除生成的可执行文件

make distclean:清除./configure 生成的文件



作者: jack    时间: 2016-2-3 21:38
day5

解决依赖的工具

yum:管理rpm软件包


rpm -qf /usr/bin/yum

[root@localhost ~]# which yum:查安装目录
/usr/bin/yum
[root@localhost ~]# rpm -qf /usr/bin/yum:安装包
yum-3.2.22-26.el5
[root@localhost ~]# rpm -qc yum:在哪里
/etc/logrotate.d/yum
/etc/yum.conf

/etc/yum.repos.d/*.repo 给yum工具用的仓库信息(.d或.repo为仓库文件),修改这个文件




?yum 在装什么的情况下用

1. 首先创建一个软件仓库
mount -o loop iso/rhel-5.5.iso soft/



2. 配置仓库文件
cd /etc/yum.repos.d/
vim rhel-debuginfo.repo

soft.Server
file///  file本地源,// /(根)
enable=1



3. 使用
yum clean all:将原数据清空
yum list:第一次运行读取仓库信息
installed:已装
rhel-Server:未装会显示仓库名


yum list bind:查找单个没有装的软件


yum install bind:安装

yum install wireshark -y:自动处理依赖关系,并根据依赖关系来安装, -y跳过自动确认

yum remove bind:卸载
yum erase bind -y:卸载



system-config-package:调出图形安装界面


搭建一个远程源
[rhel-VT]
name=Red Hat Enterprise VT
baseurl=ftp://2.2.2.1/share/rhel/VT
enabled=1
gpgcheck=0




yum groupinstall "name" (名字中间有空格)

yum grouperase "asad sd s":卸载 (不支持remove)

yum grouplist


LANG=en/ zh_CN.UTF-8: 让包显示中文还是英文



创建自己的软件源(rpm)软件仓库
1. mkdir soft
2. cp *.rpm /soft
3. 改配置文件
[rhel-MYSOFTWARE]
name=Red Hat Enterprise MYSOFTWARE
baseurl=file:///soft
enabled=1
gpgcheck=0

5. 先到soft目录
createrepo .:创建目录,产生/soft/repodata/repomd.xml,.表当前目录

(如果没有createrepo命令,查找:which createrepo,-->/usr/bin/createrepo
rpm -qf /usr/bin/createrepo
createrepo-0.4.11-3.el5

yum list createrepo-0.4.11-3.el5
查到: createrepo.noarch

然后安装:yum install createrepo)
bv

yum list qq: 查询qq



进程管理:

程序是存在磁盘中,磁盘中2进制文件cp到内存,

stdin < cmd -->shell -->fork(创建一个新的进程)-->执行cmd-->api--kernel-->控制硬件

#pstree
kernel-->swapen (调度)
所有进程的祖先进程,init; 1号进程


PPID父进程,PID由PPID产生,0表示内核产生

[root@localhost ~]# ps -ef (?表示后台运行,e查看所有进程)
UID        PID  PPID  C STIME TTY          TIME CMD
root         1     0  0 13:17 ?        00:00:02 init [5]                       
root         2     1  0 13:17 ?        00:00:00 [migration/0]
root         3     1  0 13:17 ?        00:00:00 [ksoftirqd/0]



[root@localhost ~]# ps u (-u,只显示有终端的进程)
USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
root      4075  0.0  0.0   1664   424 tty1     Ss+  13:19   0:00 /sbin/mingetty
root      4076  0.0  0.0   1664   428 tty2     Ss+  13:19   0:00 /sbin/mingetty
root      4077  0.0  0.0   1664   428 tty3     Ss+  13:19   0


[root@localhost ~]# ps -a  (有终端且当前正在运行的进程)
  PID TTY          TIME CMD
  7593 pts/1    00:00:00 ps



[root@localhost ~]# ps -x  (同-e,多了个状态)
Warning: bad syntax, perhaps a bogus '-'? See /usr/share/doc/procps-3.2.7/FAQ
   PID TTY      STAT   TIME COMMAND
     1 ?        Ss     0:02 init [5]                                            
     2 ?        S<     0:00 [migration/0]
     3 ?        SN     0:00 [ksoftirqd/0]
     4 ?        S<     0:00 [watchdog/0]
     5 ?        S<     0:00 [events/0]


[root@localhost ~]# ps aux    (vsz:虚拟内存使用情况,swap,RSS:物理内存使用情况ddr,STAT:状态,man ps查其多种状态)
USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
root         1  0.0  0.0   2072   632 ?        Ss   13:17   0:02 init [5]      
root         2  0.0  0.0      0     0 ?        S<   13:17   0:00 [migration/0]
root         3  0.0  0.0      0     0 ?        SN   13:17   0:00 [ksoftirqd/0]
root         4  0.0  0.0      0     0 ?        S<   13:17   0:00 [watchdog/0]
root         5  0.0  0.0      0     0 ?        S<   13:17   0:00 [events/0]
root         6  0.0  0.0      0     0 ?        S<   13:17   0:00 [khelper]



[root@localhost ~]# top  实时查看状态

top - 15:34:07 up  2:16,  2 users,  load average: 0.10, 0.07, 0.01
                  (CPU负载,普遍大于5时,说明过载) 1s   5s    15s
                                                                 
Tasks: 116 total,   1 running, 114 sleeping,   0 stopped,   1 zombie
Cpu(s): 11.3%us,  5.7%sy,  0.0%ni, 81.3%id,  0.8%wa,  0.6%hi,  0.3%si,  0.0%st
(CPU使用率,用户使用 系统   提升级别  空闲       )

Mem:    904036k total,   496052k used,   407984k free,    31716k buffers (CPU和内存之间的缓存)
Swap:  2097144k total,        0k used,  2097144k free,   351524k cached   (内存和swap之间 )

  PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND            
  4180 root      15   0 36576  11m 5696 S 10.0  1.3   0:54.48 Xorg               
  4479 root      15   0 63396  13m 9396 S  6.4  1.6   0:09.09 gnome-terminal     
  8173 root      18   0  2324 1028  804 R  0.6  0.1   0:00.06 top               
     1 root      15   0  2072  632  544 S  0.0  0.1   0:02.80 init               
     2 root      RT  -5     0    0    0 S  0.0  0.0   0:00.00 migration/0        
     3 root      34  19     0    0    0 S  0.0  0.0   0:00.00 ksoftirqd/0        
     4 root      RT  -5     0    0    0 S  0.0  0.0   0:00.00 watchdog/0   

shift+<>:上下翻页
shift+m:按c内存使用情况排序
shift+p:按cpu使用情况排序
h:帮助
q:退出


Kill -9 11808:杀死一个进程

1) SIGHUP:挂起      
2) SIGINT:ctrl+c,中断      
3) SIGQUIT:ctrl+\,退出
6) SIGABRT:异常退出,aboart()
9) SIGKILL:杀死一个进程
10) SIGUSR1:用户自定义信号1
12) SIGUSR2:用户自定义信号2
13) SIGPIPE:当读端关闭时发出信号
14) SIGALRM:闹钟信号
15) SIGTERM:正常退出信号
17) SIGCHLD:子进程退出信号
19) SIGSTOP:暂停
18) SIGCONT:继续

[root@localhost ~]# kill -l
  1) SIGHUP       2) SIGINT       3) SIGQUIT      4) SIGILL
  5) SIGTRAP      6) SIGABRT      7) SIGBUS       8) SIGFPE
  9) SIGKILL     10) SIGUSR1     11) SIGSEGV     12) SIGUSR2
13) SIGPIPE     14) SIGALRM     15) SIGTERM     16) SIGSTKFLT
17) SIGCHLD     18) SIGCONT     19) SIGSTOP     20) SIGTSTP
21) SIGTTIN     22) SIGTTOU     23) SIGURG      24) SIGXCPU
25) SIGXFSZ     26) SIGVTALRM   27) SIGPROF     28) SIGWINCH



stardict &

ps aux | grep stardict

kill -1 11808 或
kill -STOP 11808/kill -CONT 11808

jobs:查看进程状态

SIGTERM:如果一个进程正在不可中断睡眠,不能立即杀死,等待结束,才正常退出
SIGKILL:立即kill掉


fdisk -l
df -h
cat /proc/cpuinfo


uptime
top -b -n 2 > temp, 导出两秒数据到temp

------------------------------------------------------------------------------
free:查内存使用情况

[root@localhost ~]# free
              total       used       free     shared    buffers     cached
Mem:        904036     497284     406752          0      32636     351524
-/+ buffers/cache:     113124     790912
Swap:      2097144          0    2097144


shared:共享内存,不同的进程之间共用
buffer:不同的设备之间对数据的处理和传输速度不同,不同运行级别的程序之间的数据交互
cached:cpu和内存之间的缓存
-/+ buffers/cache:实际使用情况
used=497284-32636(buffers)-351524(cached)=113124(used:-/+ buffers/cache)


------------------------------------------------------------------------------

uname -r/ -a

cat /etc/issue





欢迎光临 开发者俱乐部 (http://xodn.com/) Powered by Discuz! X3.2