进程管理
top
free
ps -ef | grep ssh
kill -9 2358 ## 将指定进程号的进程杀死
练习题:通过命令实现,将sshd的进程号查询出来后杀掉
注意:grep搜索关键词的时候会把自己也搜索出来,对比以下两种写法
[root@localhost ~]# ps -ef | grep sixunhuan
root 2857 2465 30 02:41 pts/0 00:00:07 sh sixunhuan.sh
root 2874 2858 0 02:42 pts/1 00:00:00 grep sixunhuan
[root@localhost ~]# ps -ef | grep sixunhuan | grep -v grep
root 2857 2465 34 02:41 pts/0 00:00:25 sh sixunhuan.sh
[root@localhost ~]# kill -9 2857
3.2.8 SSH免密登陆配置
补充:虚拟机克隆
1、停掉原虚拟机
2、在vmware的机器列表原虚拟机上点右键,选择管理–克隆
3、在新机器中修改网卡硬件信息,及网卡的ip配置
修改网卡硬件信息:
vi /etc/udev/rules.d/70-persistent-net.rules
删掉eth0那一条,更改eth1为eth0
修改ip配置
vi /etc/sysconfig/network-scripts/ifcfg-eth0
删掉HWADDR
删掉UUID
更改IPADDR的值
1 SSH工作机制
1、相关概念
SSH 为 Secure Shell(安全外壳协议) 的缩写。
很多ftp、pop和telnet在本质上都是不安全的,因为它们在网络上用明文传送口令和数据,别有用心的人非常容易就可以截获这些口令和数据。而SSH就是专为远程登录会话和其他网络服务提供安全性的协议。
SSH的具体实现是由客户端和服务端的软件组成的
服务端是一个守护进程(sshd),他在后台运行并响应来自客户端的连接请求。
客户端包含ssh程序以及像scp(远程拷贝)、slogin(远程登陆)、sftp(安全文件传输)等其他的应用程序。
2、认证机制
从客户端来看,SSH提供两种级别的安全验证。
第一种方式(基于口令的安全验证)
只要你知道自己帐号和口令,就可以登录到远程主机。
第二种方式(基于密钥的安全验证)
需要依靠密匙,也就是你必须为自己创建一对密匙,并把公用密匙放在需要访问的服务器上。如果你要连接到SSH服务器上,客户端软件就会向服务器发出请求,请求用你的密匙进行安全验证。服务器收到请求之后,先在该服务器上你的主目录下寻找你的公用密匙,然后把它和你发送过来的公用密匙进行比较。如果两个密匙一致,服务器就用公用密匙加密“质询”(challenge)并把它发送给客户端软件。客户端软件收到“质询”之后就可以用你的私人密匙解密再把它发送给服务器。
2 密钥登陆方式配置
vi /etc/hosts
Ip hadoop1
Ip hadoop2
假如 A 要登陆 B
在A上操作:
1/ 首先生成密钥对
ssh-keygen (提示时,直接回车即可)
2/ 再将A自己的公钥拷贝并追加到B的授权列表文件authorized_keys中
ssh-copy-id B
3 ssh常用功能
1、远程登陆会话
ssh root@192.168.33.101
ssh 192.168.33.101
2、远程拷贝文件
scp ./xixi.txt 192.168.33.101:/root/
scp -r ./aaa/ 192.168.33.101:/root/
3、远程执行命令
ssh 192.168.33.101 “echo 1111 > /root/6666.txt”
3.2.9 网络管理
1 主机名配置
1/ 查看主机名
hostname
2/ 修改主机名(重启后无效)
hostname hadoop
3/ 修改主机名(重启后永久生效)
vi /ect/sysconfig/network
2 IP地址配置
修改IP地址
1/ 方式一:setup
用root输入setup命令,进入交互式修改界面
2/ 方式二:修改配置文件
(重启后永久生效)
vi /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
TYPE=Ethernet
ONBOOT=yes
BOOTPROTO=static
IPADDR=192.168.33.71
PREFIX=24
GATEWAY=192.168.33.1
DNS1=192.168.33.1
NAME=“System eth0”
3/ 方式三:ifconfig命令
(重启后无效)
ifconfig eth0 192.168.12.22
3 域名映射
在IP网络中如果要通过一个主机名(域名)来访问一台主机,需要把这个主机名解析成对应的IP地址
/etc/hosts文件就用于将主机名解析成IP地址
[root@angelababy01 ~]# vi /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.33.11 angelababy01
192.168.33.12 angelababy02
192.168.33.13 angelababy03
4 网络服务管理
1/ 后台服务管理
service network status 查看指定服务的状态
service network stop 停止指定服务
service network start 启动指定服务
service network restart 重启指定服务
2/ 设置后台服务的自动启动管理
chkconfig 查看所有服务器自启配置
chkconfig iptables off 关掉指定服务的自动启动
chkconfig iptables on 开启指定服务的自动启动
3/ 防火墙管理
关闭防火墙:service iptables stop
查看防火墙:service iptables status
启动防火墙:service iptables start
禁止防火墙开机自动启动: chkconfig iptables off
5 系统中网络进程的端口监听情况
netstat -nltp
** 补充:Linux的网卡坏了怎么办
1、先删掉旧网卡
vi /etc/udev/rules.d/70-persistent-net.rules
2、halt linux系统
3、通过vmware卸载原来的网卡,再新增一块网卡
4、70-persistent-net.rules 里面会自动生成那块新网卡的硬件信息
5、编辑网卡的配置文件/etc/sysconfig/network-script/ifcfg-eth0
删掉其中的UUID HWADDR
并且修改IP配置等,如下:
DEVICE=“eth0”
BOOTPROTO=none
ONBOOT=“yes”
TYPE=“Ethernet”
IPADDR=192.168.33.20
PREFIX=24
GATEWAY=192.168.33.1
DNS1=192.168.33.1
NAME=“System eth0”
6、service network restart 重启网络服务即可
04/ Linux上常用软件安装
4.1 Linux系统软件安装方式
Linux上的软件安装有以下几种常见方式:
1、二进制发布包
软件已经针对具体平台编译打包发布,只要解压,修改配置即可
2、RPM发布包
软件已经按照redhat的包管理工具规范RPM进行打包发布,需要获取到相应的软件RPM发布包,然后用RPM命令进行安装
3、Yum在线安装
软件已经以RPM规范打包,但发布在了网络上的一些服务器上,可用yum在线安装服务器上存在的rpm软件,并且会自动解决软件安装过程中的库依赖问题
(注:类似于maven)
4、源码编译安装
软件以源码工程的形式发布,需要获取到源码工程后用相应开发工具进行编译打包部署
4.2 JAVA软件安装——JDK安装
1、上传jdk压缩包
通过sftp工具上传即可
2、解压jdk压缩包
tar -zxvf jdk-7u67-linux-x64.gz -C /usr/local/
3、修改环境变量PATH
vi /etc/profile
在文件最后加两行:
export JAVA_HOME=/usr/local/jdk1.7.0_67
export PATH=
P
A
T
H
:
PATH:
PATH:JAVA_HOME/bin
4、让环境变量生效
source /etc/profile
即可
4.3 JAVA软件安装——Tomcat安装
tar -zxvf /soft/apache-tomcat-7.0.47.tar.gz -C /usr/local/
cd /usr/local/apache-tomcat-7.0.47/bin/
./startup.sh
查看端口号:
netstat -nltp
4.4 RPM方式软件安装——MySql数据库安装
4.4.1 desktop版的centos中安装mysql5.6
没有上述那么麻烦,基本上都不缺依赖,过程如下:
1、先装server
rpm -ivh MySQL-server-5.6.26-1.linux_glibc2.5.x86_64.rpm
发现了包冲突,执行删除包的命令解决:
rpm -e mysql-libs-5.1.73-5.el6_6.x86_64 --nodeps
然后继续重新安装server
rpm -ivh MySQL-server-5.6.26-1.linux_glibc2.5.x86_64.rpm
一定要确保server安装成功!!!
2、再装client
rpm -ivh MySQL-client-5.6.26-1.linux_glibc2.5.x86_64.rpm
3、启动server
service mysql start
检查启动是否成功:
service mysql status 或者 查看端口:netstat -nltp 看是否有进程在监听3306
4、用客户端连接到mysql-server上进行root密码的修改
注:在server安装时已经生成了一个随机的root密码 ,查看: cat /root/.mysql_secret
然后,运行一个脚本来交互式地修改root密码即可:/usr/bin/mysql_secure_installation
4.4.2 mini版的centos安装mysql5.6
安装mysql5.6
1/首先缺依赖: libaio
解决: yum list | grep libaio 找到x86_64的依赖包后
yum install libaio.x86_64
2/缺依赖 perl
解决:yum install perl.x86_64
3/依赖冲突
解决:rpm -e mysql-libs-5.1.73-5.el6_6.x86_64 --nodeps
4/记得问题全部解决后,还要安装mysqlserver
rpm -ivh MySQL-server-5.6.26-1.linux_glibc2.5.x86_64.rpm
5/安装mysql client
6/启动mysql服务端
service mysql start
7/用交互脚本设置mysql的初始密码
先找到随机密码:cat /root/.mysql_secret
然后运行脚本来修改密码:
/usr/bin/mysql_secure_installation
或者:用随机密码登陆mysql后,用sql命令修改密码
mysql>set password=password(“root”);
mysql>flush privileges;
4.4.3 开启mysql的远程登录权限
mysql>GRANT ALL PRIVILEGES ON . TO ‘myuser’@’%’ IDENTIFIED BY ‘mypassword’ WITH GRANT OPTION;
mysql>FLUSH PRIVILEGES;
4.5 YUM方式软件安装
yum的几条核心命令:
安装软件包: yum install xxxxx
清除本地索引数据: yum clean all
查找库中的软件包: yum list | grep xxxx
列出本地所配置的仓库信息: yum repolist
其他参数帮助: 直接敲yum回车就会显示
4.5.1 从网络源使用yum安装软件
yum install mysql
4.5.2 使用本地Yum源安装软件
yum仓库服务器本质上就是一台http服务器,服务器的目录中放置了rpm包,及rpm包的索引信息文件,即可为yum客户端提供rpm文件下载
既然如此,则完全可以在“本地”制作私有的yum库来为内网中的linux提供yum安装源
4.5.3 制作私有yum源的两种方式
方式一:制作基于本地磁盘文件的yum源
本地yum源,即yum源就在系统的本地目录中,所以连web服务器都不用,只要准备好rpm库存放路径及相关索引配置信息即可
示例:将Centos-DVD.iso盘制作成一个本地yum源
1/ 将光盘插入虚拟机的光驱,并选择连接
2/ 在linux系统中将光驱挂载到某个目录,比如/mnt/centosdvd1
3/ 修改yum的配置文件 /etc/yum.repos.d/local.repo
BASEURL=file:///mnt/centosdvd1
方式二:制作基于内网web服务器的yum源
总结:
1、在一台机器上部署一个httpd 的 web服务器,确保httpd运行成功
2、将光盘镜像文件插入虚拟机的光驱
3、将光驱挂载到httpd的html/centos目录中
4、修改yum的repo库配置文件/etc/yum.repos.d/centos-local-web.repo,如下:
这些先不用改成.bak
rename .repo .repo.bak *
[root@hadoop1 yum.repos.d]# cp CentOS-Media.repo.bak CentOS-Media.local.repo
[c6-local-web]
name=CentOS-local-web
baseurl=http://angelababy01/centos6
gpgcheck=0
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6
清空一下缓存:
[root@hadoop1 yum.repos.d]# yum clean all
Loaded plugins: fastestmirror
Cleaning repos: c6-media
Cleaning up Everythin
看一下有没有包
[root@hadoop1 yum.repos.d]# yum list
安装ssh客户端服务
[root@hadoop1 yum.repos.d]# yum install openssh-clients.x86_64
取消yum原:
将之前的bak文件改回来
[root@hadoop1 yum.repos.d]# yum clean all
可以看到错误提示:
解决办法:
[root@hadoop1 home]# ps aux | grep yum
会看到有yum的进程在运行,要杀掉这些进程
[root@hadoop1 home]# kill -s 9 1292 1294 1295 1297 1299 1300
[root@hadoop1 home]# yum clean all
Freeing read locks for locker 0xd: 1270/140630878820096
Freeing read locks for locker 0xf: 1270/140630878820096
Loaded plugins: fastestmirror
Cleaning repos: base extras updates
Cleaning up Everything
Cleaning up list of fastest mirrors
[root@hadoop1 home]#
5、接下来,就可以用yum安装库中拥有的任何软件了
yum install -y tomcat6.x86_64
详解版:
1、先安装一个http服务器: 首选httpd
先找一下我们要的包在仓库中有没有
yum list | grep httpd
yum install -y httpd
2、安装完成后,检查httpd的运行状态
service httpd status
3、在httpd服务的web目录中放入rpm库
比如,将centos安装光盘中的rpm库放入:
mkdir /var/www/html/centos
cp -r /mnt/cdrom/* /var/www/html/centos/
注:上面这种方式比较浪费空间,可以不用拷贝,其实只要创建一个软连接即可
ln -s /mnt/cdrom /var/www/html/centos
4、用浏览器访问一下httpd服务,看是否能看到rpm库
http://mini1/centos
5、配置yum客户端repo地址文件
将本地http服务器加入repo地址
首先,将内置的源全部disable掉
cd /etc/yum.repos.d/
rename .repo .repo.bak *
然后,新建一个repo源,
vi innet.repo
[innet]
name=innet
baseurl=http://192.168.33.20/centos
gpgcheck=0
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6
~
接下来,检查我们自定义的源是否生效
[root@shizhan01 yum.repos.d]# yum repolist
Loaded plugins: fastestmirror, refresh-packagekit, security
Loading mirror speeds from cached hostfile
innet | 4.0 kB 00:00
innet/primary_db | 4.6 MB 00:00
repo id repo name status
innet innet 6,575
repolist: 6,575
再接下来,就可以使用yum像从公网安装软件一样在内网服务器上下载软件进行安装了
yum install -y 你要的软件
4.6 C语言软件源码编译安装——redis服务器安装
用源码工程来编译安装
1/ 到官网下载最新stable版
2/ 解压源码并进入目录 tar -zxvf redis-2.8.19.tar.gz -C ./redis-src/
3/ make
如果报错提示缺少gcc,则安装gcc : yum install -y gcc
如果报错提示:Newer version of jemalloc required
则在make时加参数:make MALLOC=libc
4/ 安装redis,指定安装目录,如 /usr/local/redis
make PREFIX=/usr/local/redis install
6/ 拷贝一份配置文件到安装目录下
切换到源码目录,里面有一份配置文件 redis.conf,然后将其拷贝到安装路径下
cp redis.conf /usr/local/redis/
7/ 启动redis
cd /usr/local/redis
bin/redis-server redis.conf