服务(service) 本质就是进程,但是是运行在后台的,通常都会监听某个端口,等待其它程序的请求,比如(mysql , sshd 防火墙等),因此我们又称为守护进程,是Linux中非常重要的知识点。
[root@localhost ~]# service iptables status
表格:filter
Chain INPUT (policy ACCEPT)
num target prot opt source destination
1 ACCEPT all -- 0.0.0.0/0 0.0.0.0/0 state RELATED,ESTABLISHED
2 ACCEPT icmp -- 0.0.0.0/0 0.0.0.0/0
3 ACCEPT all -- 0.0.0.0/0 0.0.0.0/0
4 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 state NEW tcp dpt:22
5 REJECT all -- 0.0.0.0/0 0.0.0.0/0 reject-with icmp-host-prohibited
Chain FORWARD (policy ACCEPT)
num target prot opt source destination
1 REJECT all -- 0.0.0.0/0 0.0.0.0/0 reject-with icmp-host-prohibited
Chain OUTPUT (policy ACCEPT)
num target prot opt source destination
[root@localhost ~]# service iptables stop
[root@localhost ~]# service iptables restart
service管理指令:
service 服务名 [start | stop | restart | reload | status]
在CentOS7.0后 不再使用service ,而是 systemctl
细节讨论:
[root@localhost ~]# telnet 192.168.44.128 22
Trying 192.168.44.128...
Connected to 192.168.44.128.
Escape character is '^]'.
SSH-2.0-OpenSSH_5.3
[root@localhost ~]# setup
[root@localhost ~]# ls -l /etc/init.d/
查看或者修改默认级别: vi /etc/inittab
Linux系统有7种运行级别(runlevel):常用的是级别3和5
• 运行级别0:系统停机状态,系统默认运行级别不能设为0,否则不能正常启动
• 运行级别1:单用户工作状态,root权限,用于系统维护,禁止远程登陆
• 运行级别2:多用户状态(没有NFS),不支持网络
• 运行级别3:完全的多用户状态(有NFS),登陆后进入控制台命令行模式
• 运行级别4:系统未使用,保留
• 运行级别5:X11控制台,登陆后进入图形GUI模式
• 运行级别6:系统正常关闭并重启,默认运行级别不能设为6,否则不能正常启动
开机的流程说明:
[root@localhost ~]# chkconfig --list
NetworkManager 0:关闭 1:关闭 2:启用 3:启用 4:启用 5:启用 6:关闭
abrt-ccpp 0:关闭 1:关闭 2:关闭 3:启用 4:关闭 5:启用 6:关闭
abrtd 0:关闭 1:关闭 2:关闭 3:启用 4:关闭 5:启用 6:关闭
atd 0:关闭 1:关闭 2:关闭 3:启用 4:启用 5:启用 6:关闭
查看sshd服务在各个运行级别下面的情况
[root@localhost ~]# chkconfig --list | grep sshd
sshd 0:关闭 1:关闭 2:启用 3:启用 4:启用 5:启用 6:关闭
[root@localhost ~]# chkconfig sshd --list
sshd 0:关闭 1:关闭 2:启用 3:启用 4:启用 5:启用 6:关闭
请将sshd服务在运行级别为5的情况下,不要自启动。
[root@localhost ~]# chkconfig --level 5 sshd off
[root@localhost ~]# chkconfig sshd --list
sshd 0:关闭 1:关闭 2:启用 3:启用 4:启用 5:关闭 6:关闭
在所有运行级别下,关闭防火墙
chkconfig iptables off
在所有运行级别下,开启防火墙
chkconfig iptables on
重启之后全部生效
案例1.查看全部进程
[root@localhost ~]# top
说明:
PID 进程 ID
USER 进程所有者的用户名
PR 任务优先级
NI nice 值。数值越小表示优先级越高,数值越大表示优先级越低
VIRT 进程使用的虚拟内存总量,单位:kb。VIRT=SWAP+RES
RES 进程使用的、未被换出的物理内存大小,单位:kb。
RES=CODE+DATA
SHR 共享内存大小,单位:kb
S 进程状态。D= 不可中断的睡眠状态 ;R= 运行 ;S= 睡眠 ;T= 跟踪 /停止 ;Z= 僵尸进程
%CPU 上次更新到现在的 CPU 时间占用百分比
TIME+ 进程使用的 CPU 时间总计,精确到 1/100 秒
COMMAND 命令名 / 命令行
案例2:查看特定用户下的进程
1.输入案例1的命令。
2.然后输入“u”回车,再输入用户名,即可
案例3:终止指定的进程。
top:输入此命令,按回车键,查看执行的进程。
k:然后输入“k”回车,再输入要结束的进程ID号
案例3:指定系统状态更新的时间(每隔10秒自动更新):
[root@localhost ~]# top -d 10
介绍:
top与ps命令很相似。它们都用来显示正在执行的进程。Top与ps最大的不同之处,在于top在执行一段时间可以更新正在运行的的进程。
基本语法:
top [选项]
交互操作说明:
查看系统所有的网络服务
[root@localhost ~]# netstat -anp | more
查看服务名为sshd的服务的信息
[root@localhost ~]# netstat -anp | grep sshd
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 2459/sshd
tcp 0 64 192.168.44.128:22 192.168.44.1:2163 ESTABLISHED 3365/sshd
tcp 0 0 :::22 :::* LISTEN 2459/sshd
unix 2 [ ] DGRAM 22781 3365/sshd
一种用于互联网下载包的打包及安装工具,它包含在某些Linux分发版中。它生成具有.RPM扩展名的文件。RPM是RedHat Package Manager(RedHat软件包管理工具)的缩写,类似windows的setup.exe,这一文件格式名称虽然打上了RedHat的标志,但理念是通用的。
Linux的分发版本都有采用(suse,redhat, centos 等等),可以算是公认的行业标准了。
[root@localhost ~]# rpm -qa | grep firefox
firefox-45.0.1-1.el6.centos.x86_64
[root@localhost ~]# rpm -qa firefox
firefox-45.0.1-1.el6.centos.x86_64
[root@localhost ~]# rpm -q firefox
firefox-45.0.1-1.el6.centos.x86_64
[root@localhost ~]# rpm -qi firefox
Name : firefox Relocations: (not relocatable)
Version : 45.0.1 Vendor: CentOS
Release : 1.el6.centos Build Date: 2016年05月12日 星期四 04时49分04秒
Install Date: 2020年05月29日 星期五 03时10分23秒 Build Host: worker1.bsys.centos.org
Group : Applications/Internet Source RPM: firefox-45.0.1-1.el6.centos.src.rpm
Size : 133048560 License: MPLv1.1 or GPLv2+ or LGPLv2+
Signature : RSA/SHA1, 2016年05月12日 星期四 18时50分20秒, Key ID 0946fca2c105b9de
Packager : CentOS BuildSystem <http://bugs.centos.org>
URL : http://www.mozilla.org/projects/firefox/
Summary : Mozilla Firefox Web browser
Description :
Mozilla Firefox is an open-source web browser, designed for standards
compliance, performance and portability.
请查询看一下,当前的Linux的所有rpm软件包
[root@localhost ~]# rpm -qa
[root@localhost ~]# rpm -qa | more
查看firefox软件包为文件位置
[root@localhost ~]# rpm -ql firefox
/etc/firefox/pref
/usr/bin/firefox
/usr/lib64/firefox
/usr/lib64/firefox/LICENSE
/usr/lib64/firefox/application.ini
/usr/lib64/firefox/browser/blocklist.xml
/usr/lib64/firefox/browser/chrome
查看文件所属的软件包
[root@localhost ~]# rpm -qf /etc/passwd
setup-2.8.14-20.el6_4.1.noarch
卸载firefox软件包
[root@localhost ~]# rpm -e firefox
可能会出现的报错情况:
1.找到火狐的安装包,挂载上安装的centos的iso文件,然后到/media下去找
虚拟机->设置->选中
[root@localhost etc]# cd /media/
[root@localhost media]# ls
CentOS_6.8_Final
[root@localhost media]# cd Cent*
[root@localhost CentOS_6.8_Final]# cd Pack*
[root@localhost Packages]# ls -l firefox*
-r--r--r--. 2 root root 77493120 5月 12 2016 firefox-45.0.1-1.el6.centos.x86_64.rpm
[root@localhost Packages]# cp firefox-45.0.1-1.el6.centos.x86_64.rpm /opt/
[root@localhost Packages]# cd /opt
[root@localhost opt]# ls
firefox-45.0.1-1.el6.centos.x86_64.rpm tmp tmp2 VMwareTools-10.0.5-3228253.tar.gz vmware-tools-distrib
[root@localhost opt]# rpm -ivh firefox*
Preparing... ########################################### [100%]
1:firefox ########################################### [100%]
安装rpm包:
• 基本语法
rpm -ivh RPM包全路径名称
• 参数说明
i=install 安装
v=verbose 提示
h=hash 进度条
查询yum服务器是否有需要安装的firefox
[root@localhost Packages]# yum list | grep firefox
firefox.x86_64 45.0.1-1.el6.centos @anaconda-CentOS-201605220104.x86_64/6.8
firefox.i686 68.8.0-1.el6.centos updates
firefox.x86_64 68.8.0-1.el6.centos updates
安装指定的包
[root@localhost Packages]# yum install firefox
Yum 是一个Shell前端软件包管理器。基于RPM包管理,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软件包。
安装JDK
0) 先将软件通过xftp5 上传到 /opt 下
[root@localhost opt]# cd apache-tomcat-7.0.70
[root@localhost bin]# ./startup.sh
[root@localhost bin]# service iptables status
[root@localhost bin]# vim /etc/sysconfig/iptables
# Firewall configuration written by system-config-firewall
# Manual customization of this file is not recommended.
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 8080 -j ACCEPT
-A INPUT -j REJECT --reject-with icmp-host-prohibited
-A FORWARD -j REJECT --reject-with icmp-host-prohibited
COMMIT
重启防火墙
[root@localhost bin]# service iptables restart
1.解压
[root@localhost opt]# tar -zxvf eclipse*
2.启动
启动方式1:创建一个快捷键
启动方式2:进入eclipe解压后的文件夹,然后执行./eclipse即可
1.先查看本地是否有mysql,如果有进行删除
[root@localhost bin]# rpm -qa | grep mysql
mysql-libs-5.1.73-7.el6.x86_64
[root@localhost bin]# rpm -e mysql-libs
error: Failed dependencies:
libmysqlclient.so.16()(64bit) is needed by (installed) postfix-2:2.6.6-6.el6_7.1.x86_64
libmysqlclient.so.16(libmysqlclient_16)(64bit) is needed by (installed) postfix-2:2.6.6-6.el6_7.1.x86_64
mysql-libs is needed by (installed) postfix-2:2.6.6-6.el6_7.1.x86_64
[root@localhost bin]# rpm -e --nodeps mysql-libs
2.安装编译代码需要的包
[root@localhost bin]# yum -y install make gcc-c++ cmake bison-devel ncurses-devel
[root@localhost opt]# tar -zxvf mysql*
[root@localhost opt]# cd mysql*
3.编译安装
cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/usr/local/mysql/data -DSYSCONFDIR=/etc -DWITH_MYISAM_STORAGE_ENGINE=1 -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_MEMORY_STORAGE_ENGINE=1 -DWITH_READLINE=1 -DMYSQL_UNIX_ADDR=/var/lib/mysql/mysql.sock -DMYSQL_TCP_PORT=3306 -DENABLED_LOCAL_INFILE=1 -DWITH_PARTITION_STORAGE_ENGINE=1 -DEXTRA_CHARSETS=all -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci
4.编译并安装
make && make install
5.设置权限
使用下面的命令查看是否有mysql用户及用户组
cat /etc/passwd
查看用户列表
cat /etc/group
查看用户组列表
如果没有就创建
groupadd mysql
useradd -g mysql mysql
修改/usr/local/mysql权限
chown -R mysql:mysql /usr/local/mysql
初始化配置,进入安装路径(在执行下面的指令),执行初始化配置脚本,创建系统自带的数据库和表
cd /usr/local/mysql
scripts/mysql_install_db --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --user=mysql
注:在启动MySQL服务时,会按照一定次序搜索my.cnf,先在/etc目录下找,找不到则会搜索"$basedir/my.cnf",在本例中就是 /usr/local/mysql/my.cnf,这是新版MySQL的配置文件的默认位置!在CentOS 6.8版操作系统的最小安装完成后,在/etc目录下会存在一个my.cnf,需要将此文件更名为其他的名字,如:/etc/my.cnf.bak,否则,该文件会干扰源码安装的MySQL的正确配置,造成无法启动。
修改名称,防止干扰:
mv /etc/my.cnf /etc/my.cnf.bak
启动MySQL
在 /usr/local/mysql 下执行
cp support-files/mysql.server /etc/init.d/mysql
chkconfig mysql on
service mysql start
查看服务是否启动
netstat -anp | more
进入到目录/usr/local/mysql/bin下面
[root@localhost bin]# ./mysql -u -root