升级内核搭建服务
  0C74k909wmgc 2023年11月02日 38 0

系统引导起来:

1、root (hd0,0)

2、kernel /vmxxx  root=/dev/sda?

3、initrd /initramxxx


升级内核:

1、rpm包升级内核

2、yum升级内核

3、源码包升级内核


uname -r

2.6.32-431.el6.x86_64

vim /etc/grub.conf

default=0

timeout=5

splashimage=(hd0,0)/grub/splash.xpm.gz

hiddenmenu

title Red Hat Enterprise Linux (2.6.32-431.el6.x86_64)

root (hd0,0)

kernel /vmlinuz-2.6.32-431.el6.x86_64 ro root=UUID=ca0aaea2-d18a-4320-84d1-483c0e282475 rd_NO_LUKS rd_NO_LVM LANG=en_US.UTF-8 rd_NO_MD SYSFONT=latarcyrheb-sun16 crashkernel=auto  KEYBOARDTYPE=pc KEYTABLE=us rd_NO_DM rhgb quiet

initrd /initramfs-2.6.32-431.el6.x86_64.img


rpm包升级:

# rpm -ivh kernel-2.6.32-504.el6.x86_64.rpm kernel-firmware-2.6.32-504.el6.noarch.rpm  --force


注意L:不要直接用-Uvh或者-Fvh升级内核,会覆盖掉原来的内核

安装完后,会在/etc/grub.conf文件里多一个菜单,并且默认从新的内核启动

#boot=/dev/sda

default=0

timeout=5

splashimage=(hd0,0)/grub/splash.xpm.gz

hiddenmenu

title Red Hat Enterprise Linux Server (2.6.32-504.el6.x86_64)

root (hd0,0)

kernel /vmlinuz-2.6.32-504.el6.x86_64 ro root=UUID=ca0aaea2-d18a-4320-84d1-483c0e282475 rd_NO_LUKS rd_NO_LVM LANG=en_US.UTF-8 rd_NO_MD SYSFONT=latarcyrheb-sun16 crashkernel=auto  KEYBOARDTYPE=pc KEYTABLE=us rd_NO_DM rhgb quiet

initrd /initramfs-2.6.32-504.el6.x86_64.img

title Red Hat Enterprise Linux (2.6.32-431.el6.x86_64)

root (hd0,0)

kernel /vmlinuz-2.6.32-431.el6.x86_64 ro root=UUID=ca0aaea2-d18a-4320-84d1-483c0e282475 rd_NO_LUKS rd_NO_LVM LANG=en_US.UTF-8 rd_NO_MD SYSFONT=latarcyrheb-sun16 crashkernel=auto  KEYBOARDTYPE=pc KEYTABLE=us rd_NO_DM rhgb quiet

initrd /initramfs-2.6.32-431.el6.x86_64.img


yum升级:自己完成

1、找一个比当前操作系统高的一个镜像文件挂载到本地

2、配置本地yum源指向高版本的系统镜像文件

3、使用yum去安装升级



源码包升级:

1、下载kernel源码包 www.kernel.org

# md5sum linux-4.1.4.tar.xz

32cb4dd9f14d37bf71bafa6ed368f769  linux-4.1.4.tar.xz


2、解压缩到指定的路径下面

# tar -xf linux-4.1.4.tar.xz -C /usr/src/

3、进入到解压后的文件目录里

# cd /usr/src/linux-4.1.4/

1>安装相应的开发工具包

# yum -y groupinstall "Development tools"

# yum -y install ncurses-devel

三步曲:

./configure (配置 Makefile) ——>make (编译)——>make install (安装)


make menuconfig   让内核支持ntfs的文件系统

# grep -i ntfs .config

CONFIG_NTFS_FS=m

CONFIG_NTFS_DEBUG=y

CONFIG_NTFS_RW=y


make -j 2

lscpu

cat /proc/cpuinfo


make modules_install

make install


模块相应命令:

/lib/modules/2.6.32-431.el6.x86_64/ 存放当前系统的所有模块

lsmod

modprobe -l|grep 8139

kernel/drivers/net/8139cp.ko

kernel/drivers/net/8139too.ko

modinfo 8139cp


modprobe 8139cp  激活

modprobe 8139too

# lsmod |grep 8139

8139too                30892  0

8139cp                 22559  0

mii                     5376  2 8139too,8139cp


modprobe -r 8139cp 删除模块(不激活模块)

depmod -a  让模块之间生成依赖关系


系统检测与进程控制

ifconfig

hostname 或者 uname -n

cat /etc/redhat-release

uname -a|r

last  

lastlog

free -m

swapon -s

df -h|H


uptime 查看系统平均负载及基本信息

11:00:45 up 9 min,  2 users,  load average: 0.00, 0.04, 0.05


top:实时动态的查看系统状态


进程状态:

s:sleeping

r:running

t:stopped

z:zombie

d:不可中断的睡眠进程


P:

M:

k:结束进程

r:renice

q:退出

shift+ >和< :

top -u username


top -b -n1 >1.txt  将输出打印到屏幕一份并输入到文件中


ps命令:

-A:显示所有进程

a:显示当前终端下所有的进程

u:以用户为主的信息状态

x:与a一起,列出比较完整的信息(aux)瞬时状态

-l:以长格式列出详细信息

-f:显示父子关系


# ps

  PID TTY          TIME CMD

 4981 pts/0    00:00:00 bash

 5232 pts/0    00:00:00 ps

# ps aux

# ps auxf|grep xxx

# ps -ef|grep xxx

# ps ef|grep xxx

# pidof xxx

# pstree

+

# w

11:45:11 up  2:14,  3 users,  load average: 0.00, 0.00, 0.00

USER     TTY      FROM              LOGIN@   IDLE   JCPU   PCPU WHAT

root     tty1     :0               12Jul16 16days 29.13s 29.13s /usr/bin/Xorg :0 -nr -verbose -audit 4 -auth /var/run/gdm/auth-for-g

root     pts/0    :0.0             11:21    0.00s  0.11s  0.00s w

root     pts/1    :0.0             11:31   13:35   2.37s  2.37s top



LOGIN@:何时登录的

IDLE:空闲时间

JCPU:和该终端连接的进程所占用的cpu时间

PCPU:当前进程所占用的cpu时间

WHAT:程序名(干什么)


kill -l:列出所有信号

15) SIGTERM  结束(默认发送信号)

9) SIGKILL 强制结束

18) SIGCONT 继续

19) SIGSTOP 暂停


kill -15 pid1 pid2

kill -9 pid

killall httpd

skill -9 pid1 pid2 httpd

skill -9 -u tom

pkill httpd


将某个进程放到前台后台执行

firefox &

ctrl+z


# jobs

[1]-  Running                 firefox http://www.baidu.com &

[2]+  Stopped                 gedit 777


kill -18 %jobs

kill -19 %jobs

fg:

bg:

bg %1



服务:

特点:24小时不间断的服务  并发特征

tcp/ip |socket


socket:套接字。应用程序通过“socket”向网络发出请求或者应答请求,介于应用层和传输层

socket类型:

 流式socket(socket_stream):面向连接的socket,一般针对的是面向连接的服务程序(TCP)

 数据报socket(socket_dgram):面向无连接的socket,一般针对的是面向无连接的UDP应用服务


Linux操作系统中服务:

依赖服务:

1、没有自己独立的启动脚本

service xxxx start

2、依赖一个叫xinetd服务(独立服务)

什么是xinetd?

扩展的网络守护程序。超级Intenet服务,常用来管理多个轻量级的服务;平时不占用系统运行资源。

常见的依赖服务:telnet、tftp

3、依赖服务提供服务的前提是xinetd服务已经启动


独立服务

1、有自己独立的启动脚本

/etc/init.d/xxx

/etc/rc.d/init.d/xxx


启动:servcie xxx start|stop|reload|restart|sttaus

2、不依赖于任何服务

常见的独立服务:ftp、http、dns、mail等


端口号的设定:

IP——>主机——>端口——>相应的服务

端口号范围:0~65535

1~255:一般是知名的端口(web 80 ftp 21|20 ssh 22)

256~1023:一般是由unix系统占用,来提供特殊的服务

1024~5000:客户端随机产生的

大于5000:网络上预留的端口


思路:

1、关闭防火墙和selinux

2、配置yum源

3、软件三步曲(查看|安装|软件列表)

4、了解配置文件 man 5 xxx.conf

5、根据需求通过修改配置文件来完成服务的搭建

6、启动服务,开机自启动

7、测试验证


环境准备:3台虚拟机

server:192.168.1.102 vm01.uplooking.com

client:192.168.1.3  node1.uplook.com

windows:192.168.1.4


需求:搭建telnet服务,远程管理主机

telnet 23 tcp 明文传送用户名和密码 linux默认不支持


server:telnet-server

client:telnet 192.168.1.102 23


步骤:

1、关闭防火墙和selinux

# service iptables stop

iptables: Setting chains to policy ACCEPT: filter          [  OK  ]

iptables: Flushing firewall rules:                         [  OK  ]

iptables: Unloading modules:                               [  OK  ]

# chkconfig --level 35 iptables off

# chkconfig --list|grep iptables

iptables        0:off 1:off 2:on 3:off 4:on 5:off 6:off

关闭selinux:

[root@vm01 ~]# getenforce

Enforcing

[root@vm01 ~]# setenforce 0

[root@vm01 ~]# getenforce

Permissive

# vim /etc/selinux/config

SELINUX=disabled  永久关闭


# SELINUX= can take one of these three values:

#     enforcing - SELinux security policy is enforced. 强制模式

#     permissive - SELinux prints warnings instead of enforcing. 警告模式

#     disabled - No SELinux policy is loaded. 关闭


2、配置yum源

# ls /mnt/hgfs/soft/rhel-server-6.5-x86_64-dvd.iso

/mnt/hgfs/soft/rhel-server-6.5-x86_64-dvd.iso

# vim /etc/fstab

/mnt/hgfs/soft/rhel-server-6.5-x86_64-dvd.iso /iso iso9660 defaults,ro,loop 0 0

mkdir /iso

mount -a

# cd /etc/yum.repos.d

# vim server.repo

[server]

name=xxxx

baseurl=file:///iso

enabled=1

gpgcheck=0


3、软件三步曲

# yum list|grep xinetd

This system is not registered to Red Hat Subscription Management. You can use subscription-manager to register.

xinetd.x86_64                          2:2.3.14-39.el6_4                  server

# yum list|grep telnet

This system is not registered to Red Hat Subscription Management. You can use subscription-manager to register.

telnet.x86_64                          1:0.17-47.el6_3.1                  server

telnet-server.x86_64                   1:0.17-47.el6_3.1                  server


# yum -y install xinetd telnet-server


# rpm -ql xinetd

/etc/rc.d/init.d/xinetd  启动脚本

/etc/xinetd.conf 主配置文件

/etc/xinetd.d  主目录(管理的其他服务的子配置文件)

/usr/sbin/xinetd  二进制命令


# rpm -ql telnet-server

/etc/xinetd.d/telnet  子配置文件

/usr/sbin/in.telnetd   启动命令


4、了解配置文件

1>主配置文件

# cat /etc/xinetd.conf |grep -v ^#|grep -v ^$

defaults

{

log_type = SYSLOG daemon info  日志类型 使用rsyslog来登记日志

log_on_failure = HOST 登录失败日志,记录客户端的主机

log_on_success = PID HOST DURATION EXIT 登录成功日志,记录客户端主机及进程的pid

cps  = 50 10 每秒50个连接 如果超出限制,则等待10s

instances = 50 最大连接数

per_source = 10 每个IP最多能连接10次

v6only  = no

groups  = yes  属组

umask  = 002  掩码

}

includedir /etc/xinetd.d  加载外部主目录

2>子配置文件

# cat /etc/xinetd.d/telnet

service telnet

{

flags  = REUSE 标记

socket_type = stream   面向连接 tcp    

wait  = no 不等待,服务以多线程的方式运行

user  = root 启动服务用户

server  = /usr/sbin/in.telnetd 启动命令

log_on_failure += USERID  设置登录失败记录用户uid

disable  = yes 代表关闭;no代表开启

}


5、根据需求通过修改配置文件来完成服务的搭建


vim /etc/xinetd.d/telnet

...

disable  = no


6、启动服务,开机自启动

/etc/init.d/xinetd start

Starting xinetd:


# chkconfig --level 35 xinetd on

[root@vm01 ~]# chkconfig --list|grep xinetd

xinetd          0:off 1:off 2:off 3:on 4:on 5:on 6:off


# netstat -lntp|grep 23

tcp        0      0 :::23                       :::*                        LISTEN      3242/xinetd  


netstat:

-a:查看所有连接状态

-l:查看listen状态

-t:tcp协议

-u:udp协议

-n:数字显示

-p:显示程序名


7、测试验证

client:192.168.1.3


# telnet 192.168.1.102

Trying 192.168.1.102...

Connected to 192.168.1.102.

Escape character is '^]'.

Red Hat Enterprise Linux Server release 6.5 (Santiago)

Kernel 2.6.32-431.el6.x86_64 on an x86_64

login: stu1

Password:

Last login: Thu Jul 28 15:51:04 from 192.168.1.3


需求2:只允许192.168.1.2和192.168.1.110访问telnet服务

vim /etc/xinetd.d/telnet

{

。。。

only_from = 192.168.1.2 192.168.1.110

}


重启xientd服务:

service xientd restart


需求3:允许192.168.1.0/24 网段访问,除了192.168.1.3

vim /etc/xinted.d/telnet

{

only_from = 192.168.1.0/24

no_access = 192.168.1.3


}


重启xientd服务:

service xientd restart


需求4:根据man文档完成如下要求

1、控制telnet服务最多只能连接3,每个IP只能连接1次

2、控制只能在工作时间访问telnet服务,9:30-12:00 14:00-17:30

3、指定日志记录到/var/log/xinetd_telnet.log里

4、更改telnet服务的默认端口号为10023




课后练习:

根据telnet服务搭建步骤,完成tftp服务的搭建

tftp 简单的文件传输协议 udp 69端口

用途:小文件的传输

要求:

1、只允许在工作时间9:30-12:00 14:00-17:30访问

2、只允许192.168.1.102和你自己的客户端ip访问

3、每个ip最多连接2次,最大连接数是3

4、修改端口号为10069








【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月08日 0

暂无评论

推荐阅读
  6YY0QMPUXEwu   2023年12月10日   30   0   0 linux网卡
  nIt0XG0acU8j   2023年12月11日   29   0   0 linuxhtop
  nIt0XG0acU8j   2023年12月09日   33   0   0 linuxsort
  9JCEeX0Eg8g4   2023年12月11日   23   0   0 mysql配置文件