玩转Linux系统06

玩转Linux系统06

一、软件安装方式

1.yum安装(较常用,推荐使用)

yum的命令形式一般是如下:yum [option][command] 其中的[options]是可选的,选项包括-h(帮助),-y(当安装过程提示选择全部为”yes”),-q(不显示安装的过程)等等。[command]为所要进行的操作,[package …]是操作的对象

【常用指令】

yum install -y 包名 (y代表yes,中间的询问环节跳过)===安装
yum  remove  -y 包名=====卸载包
yum search 查看是否安装了yum
yum list installled 查看安装了哪些
yum info   查看帮助信息
[root@localhost ~]# yum install wget      #例如安装wget
Loaded plugins: fastestmirror
Setting up Install Process
Loading mirror speeds from cached hostfile

可以只下载安装包,不安装

yum install -y --downloadonly --downloaddir=./wget

下载就是.rpm的包

2.rpm安装(redhat package manager红帽子包管理)

不论你用的是yum还是用的rpm安装,其实安装的都是rpm包。在linux里面,安装软件的时候,不仅仅是安装这么一个软件,与之对应的要按照很多的依赖软件。

a ==》 b===》c==》d
如果使用rpm安装,你要知道软件依赖关系才能安装,但是使用yum的话,不用知道依赖关系,yum自动为你解决

比如  yum install -y --downloadonly --downloaddir=./ vim
包含vim的包以及vim依赖的包,全部下载下来之后,估计10个包,这10个都是rpm,
请问先装哪个后装哪个。
yum install -y vim   依赖关系自动解决

常用指令

-ivh :安装     rpm -ivh 包.rpm
 -e :卸载       rpm -e wget
-ql : 列出包安装路径   rpm -ql wget
-qi : 列出指定包的详细信息  rpm -qi wget
-qa :查找

3.编译安装(源代码安装)

相对来说,编译安装是需要编译源码的,安装的软件更加适合你的电脑,你的软硬件环境,更加的稳定,相比较yum来说稳定,例如python3、redis安装

编译安装步骤

(1)配置

./configure --prefix=你安装的路径 --以及其他参数

(2)编译

linux中的软件都是用C、C++编写的,所以需要编译器来编译
gcc gcc-c++

【指令】yum install -y gcc gcc-c++
       make 
[root@localhost ~]# yum install gcc-c++
Loaded plugins: fastestmirror
Setting up Install Process

(3)安装; make install

走完一步之后,可以执行一个指令 echo $? ,如果返回0,代表上面指令执行成功,如果返回其它,说明执行失败指令可以连写: make && make install

确认成功否echo $? 显示为0则成功

二、python3.6安装

linux系统会自带python2.6,保留即可

1.python3.6搭建步骤


1、下载源码
    Gzipped source tarball    这种后缀是 .tar.gz
    yum install -y zlib*  (必须的哥们)
    tar -zxvf Python-3.6.4.tgz      #解压
    cd Python-3.6.4                 #进入文件

2.编译(要进入所在的文件夹)
    ./configure --prefix=/usr/local/python3 --enable-optimizations
    (必须的)
3.改设置(进入编辑器,去掉366#)
    vi Modules/Setup
        将第366行的那个#号去掉
        366 zlib zlibmodule.c -I$(prefix)/
        include -L$(exec_prefix)/lib -lz
4.安装python  
    make && make install
5、链接过来指令包
    ln -s /usr/local/python3/bin/python3 /usr/bin/python3
    终端输入python3,即可进入python3的终端模式

2.pip3设置

 (1)找到文件
    find / -name pip3
(2)链接过来指令包
    ln -s /usr/local/python3/bin/pip3 /usr/bin/pip3
(3)查看版本
    pip3 -V   查看pip3版本信息

(4)升级pip
    pip3 install --upgrade pip

3.安装成功测试

[root@localhost ~]# python3
Python 3.6.4 (default, Aug 31 2018, 20:20:12) 
[GCC 4.4.7 20120313 (Red Hat 4.4.7-23)] on linux
Type "help", "copyright", "credits" or "license" for 
more information.
>>> 

注意:

# !/usr/bin/python写的绝对路径,python解释器的保存路径

4.方式二:(备用)

CentOS安装Python3k步骤:
1. 安装GCC及依赖库:yum -y install gcc zlib-devel bzip2-devel 
tk-devel gdbm-devel db4-devel libpcap-devel xz-devel
2. 从官方网站下载Python源代码:wget 
https://www.python.org/ftp/python/3.6.5/Python-3.6.5.tar.xz
3. 解压缩:xz -d Python-3.6.5.tar.xz
4. 解归档:tar -xvf Python-3.6.5.tar
5. 配置安装信息(生成构建文件Makefile):
cd Python-3.6.5
./configure --prefix=/usr/local/python3/ --enable-optimizations
6. 执行构建和安装:make && make install
7. 配置PATH环境变量:
cd ~
vim .bash_profile

PATH=$PATH:/usr/local/python36/bin

source .bash_profile
echo $PATH
8. 创建符号链接:
ln -s /usr/local/python36/bin/python3 /usr/bin/python3

三.用yum方式安装MySQL数据库

(1)先查看是否安装MySQL——yum search MySQL

官网:MySQL.com—>下载—->找到社区版community server(不用商业版,需要付费)–>选择5.7.22版本(不选8版)—->系统选择红帽子

(2)下载安装包步骤

共下载四部分:

common依赖库

libs 底层依赖库

client

server

在linux中用阿里云下载
右击复制链接地址==mkdir mysql(建新文件夹命名为“mycql”)—>cd mysql进入文件夹 —>wget 粘贴网址(下方网址) ,

MySQL官方下载地址:(按照这个顺序下载)

https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-community-common-5.7.22-1.el7.x86_64.rpm
https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-community-libs-5.7.22-1.el7.x86_64.rpm

https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-community-client-5.7.22-1.el7.x86_64.rpm

https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-community-server-5.7.22-1.el7.x86_64.rpm

下载完毕ls命令检查下载好没有

(3)卸载—安装前先用yum安装libaio,卸载mariadb-libs

安装libaio====yum install libaio
卸载mariadb-libs======yum remove mariadb-libs
可以把这几个文件下载到一个单独的目录下然后再用  ls | xargs rpm -ivh

(4)安装

**【命令】**xargs 把前一个命令的输出作为后一个命令的参数

ls| xargs rpm -ivh 把前一个命令的输出作为后一个命令的参数

报错:依赖库缺失: yum-y reseach

                yun -install

  依赖库冲突:  yum - remove

(5)确认装好了没有=====systemctl start mysqld

       版本7以前   ===service  mysqld  start

( 6 )ps命令 ===查看进程状态

        ps   -aux或者ps  -ef======  查看所有进程状态( 减号可有可无)
【例】
ps -ef | grep mysql      搜索是否有mysql进程
ps -ef | grep mysql | grep - v grep    
搜索mysql时但是不要搜索grep(grep -v代表不搜索)

(7)卸载MySQL====== rpm -e <文件名> 移除

五、服务和进程相关指令

1.linux的启动等级

vi /etc/inittab


[root@localhost ~]# vi /etc/inittab       #进入编辑模式查看
。。。。。
Default runlevel. The runlevels used are:
#   0 - halt (Do NOT set initdefault to this)
#   1 - Single user mode      
#   2 - Multiuser, without NFS (The same as 3, if you do not
 have networking)
#   3 - Full multiuser mode 
#   4 - unused     
#   5 - X11         
#   6 - reboot (Do NOT set initdefault to this)     
id:3:initdefault:        #默认等级是3
。。。。
【含义】    
    0 : 关机等级
    1 : 单用户模式
    2 : 多用户的无网络模式
    3 : 多用户模式,有网络
    4 : 保留模式
    5 : 界面模式
    6 : 重启模式

切换等级: init 0 init 1 init 6

查看当前等级:runlevel 或者who -r

        whoami   查看当前用户

2.查看随开机启动的服务chkconfig --list

[root@localhost ~]# chkconfig --list
auditd   0:off  1:off   2:on    3:on    4:on     5:on 6:off
iptables    0:off   1:off   2:on    3:on    4:on 5:on 6:off  #ip
netfs      0:off    1:off   2:off   3:on    4:on 5:on 6:off
network     0:off   1:off   2:on    3:on    4:on 5:on 6:off  #网卡
nfs        0:off    1:off   2:off   3:off   4:off 5:off 6:off
sshd        0:off   1:off   2:on    3:on    4:on 5:on 6:off  #远程
。。。。

随开机启动的服务,我们给他们起了一个非常好听的名字,叫做守护进程(daemon

3.开启、关闭服务(centos 6.8为例)

要有控制开启、关闭服务的脚本,比如iptables(防火墙)

/etc/init.d/iptables start | stop | restart
/etc/init.d/network start | stop | restart

经常找脚本,太不方便了,将服务脚本放到 /etc/init.d ,如果支持服务模式,那么就可以使用如下指令开启和关闭

service iptables start | stop | restart
service network start | stop | restart

一般情况,安装服务的时候,控制服务的脚本在安装包就有,但是有的没有,比如nginx没有
自己按照的服务,你就可以将脚本放到 /etc/init.d 里面,然后通过service控制它的开启和关闭

service nginx start

4.自己安装的服务随开机启动

hkconfig nginx on   默认设置的等级为2345
chkconfig nginx off
还得给脚本权限,权限一般设置为755
通过chkconfig --list 查看有没有配置成功

5.进程 相关指令

top :实时查看系统的运行状况,q退出
w : 查看系统的当前用户的链接情况
free -h:内存的使用情况
ps: 查看进程相关信息                #查看目的是为了找到PID,结束进程用的
      -ef
      aux
      -ef | grep ssh     配合管道使用,查看ssh相关进程
      ps aux | grep ssh
kill : 杀死一个进程
      kill -9 进程id

6.端口相关指令

netstat -lnp : 查看网络和端口使用情况
netstat -lnp | grep 80

六、ftp服务搭建

1.ftp是什么?

文件传输协议,用在将本地文件上传到服务器

2.服务搭建步骤


    关闭防火墙和selinux
    依赖  gcc和openssl-devel和perl

    0、yum install -y gcc openssl-devel perl
    1、去pureftp官网    
        download==》releases==》pure-ftpd-1.0.41.tar.gz
    2、下载
        wget https://download.pureftpd.org/pub/pure-ftpd/releases/pure-ftpd-1.0.41.tar.gz
    3、解压
        tar -zxvf 文件名
    4、配置
        ./configure                    #进行配置  -h 查看配置参数
        --prefix=/usr/local/pureftpd   #安装目录
        --without-inetd                #不使用ineted 超级服务器管理
        --with-altlog                  #采用alt日志
        --with-puredb                  #采用puredb来存储ftp虚拟用户信息
        --with-throttling              #开启带宽控制
         --with-tls                    #开启ftps支持

         ./configure --prefix=/usr/local/pureftpd --without-
    inetd --with-altlog --with-puredb --with-throttling --with-tls

         echo $?  如果是0说明上一步成功,其它为错误

         make && make install


    5、修改配置文件
        cd configuration-file/
        mkdir /usr/local/pureftpd/etc   创建目录
        cp pure-ftpd.conf  /usr/local/pureftpd/etc/
        修改:vi /usr/local/pureftpd/etc/pure-ftpd.conf 如下
            在文件最后添加如下两行
            PureDB      /usr/local/pureftpd/etc/pureftpd.pdb
            PIDFile     /var/run/pure-ftpd.pid
    6、拷贝控制文件
        cp pure-config.pl /usr/local/pureftpd/sbin/
        chmod 755 /usr/local/pureftpd/sbin/pure-config.pl
    7、启动服务
        cd /usr/local/pureftpd
        ./sbin/pure-config.pl  ./etc/pure-ftpd.conf
        检查:ps -ef | grep ftp


    8、添加管理用户
        useradd  test
        mkdir -p /var/www/html/
        chown -R test:test /var/www/html/
        ./bin/pure-pw useradd ftp_user1 -u test -d /var/www/html
        ftp_user1:ftp登录用户名
        -u:指定系统中存在的用户
        -d:指定访问的目录
    9、创建虚拟的用户数据库
        ./bin/pure-pw mkdb

        /usr/local/pureftpd/bin/pure-pw list     #查看用户列表

        /usr/local/pureftpd/bin/pure-pw userdel  用户名#删除用户
    10、通过ftp链接工具(FileZilla)测试

七、nfs搭建

1.什么是nfs

可以实现linux之间的文件共享,分为客户端和服务端

2.nfs搭建

服务器上操作
    关闭防火墙   service iptables stop
    关闭selinux  setenforce 0
    1、yum install -y nfs-utils
    2、编辑配置文件
        vi /etc/exports                             #进入编辑
        /nfstest         10.0.144.0/24(rw, sync)      #将这段代码复制进去
        这是要共享的目录     网段
    3、创建目录
        mkdir /nfstest
        vi /nfstest/lala.txt   #进去编辑内容
    4、启动服务
        nfs是基于rpc协议的,所以首先启动rpc
        service rpcbind start
        service nfs start
客户端上操作
    1、yum install -y nfs-utils
    2、查看对应ip地址上面共享的目录
        showmount -e 10.0.144.156
    3、挂载nfs
        mount -t nfs 10.0.144.156:/nfstest /mnt/usb
    4、配置开机挂载
        vi /etc/fstab
        10.0.142.34:/test/   /root/nfs   nfs   defaults  0   0
        地址         目录

八、nginx服务搭建

1.什么是Nginx

就是web服务器,常用的有Nginx和Apache(阿帕奇),都是免费的。

一般需要在云服务器上需要搭建web服务器

2.nginx安装步骤

nginx安装
1、关闭防火墙和selinux
2、安装依赖软件
    yum install -y gcc gcc-c++ autoconf automake zlib 
    zlib-devel openssl openssl-devel pcre pcre-devel
3、tar -zxvf nginx-1.11.5.tar.gz
4、创建www用户,不允许以www用户登录系统
    useradd www -s /sbin/nologin--with-http_stub_status_module --with-http_ssl_module
6、make && make install
7、cp nginx /etc/init.d/       #将文件复制到etc下面的init.d中
8、开启服务
    service nginx start
    若报“权限不够”错误,执行下面一行代码修改权限
    chmod 755 
9、设置开机启动
    chkconfig nginx on
    chkconfig --list      查看是否开机启动
10、查看网络和端口使用情况
    netstat -lnp | grep nginx
    nginx默认监听的端口为80端口

2.虚拟主机配置步骤
nginx服务器的根目录(www)在 /usr/local/nginx/html
ip:端口 域名(jd.com baidu.com taobao.com mi.com) sb.com
DNS服务商,阿里云、腾讯云都有。

一个服务器是否能放多个网站呢?可以的,配置虚拟主机

1)修改nginx配置文件
    vi /usr/local/nginx/conf/nginx.conf
    在第116行加一行代码
    include vhost/*.conf;
(2)新建一个vhost文件夹
    mkdir /usr/local/nginx/conf/vhost
(3)来到vhost下,新建一个虚拟主机配置文件
    vi /usr/local/nginx/conf/vhost/www.lala.com.conf
    server
    {
        server_name www.lala.com;
        root html/lala;
        index index.html;
    }

    [说明]:
    server_name : 域名
    root : 网站的根目录
    index : 网站的默认首页
(4)新建虚拟主机根目录
    mkdir /usr/local/nginx/html/lala
    vi /usr/local/nginx/html/lala/index.html

    service nginx restart   重启服务
(5)编辑本机的hosts文件
    C:\Windows\System32\drivers\etc\hosts
    10.9.151.154  www.lala.com

九、不同系统指令区别总结

1.CentOS和Ubuntu的区别

(1)centos中新建的非root用户是没有sudo的权限的,如果需要使用sudo权限必须在/etc/sudoers 中加入账户和权限,所以切换到root账号的时候只需要输入:su,加入root账号的密码即可。 在Ubuntu中,一般使用sudo+命令,如果是第一次使用会提示输入当前用户的密码(而不是root的密码)

(2)在线安装软件中,centos使用的是yum命令,而ubuntu中使用的是apt-get命令。除此之外yum中还有一个从软件源中搜索摸个软件的方法:yum search + 软件名
这里写图片描述

2.CentOS 7.x系列新指令:

centos7.0 没有netstat 和 ifconfig命令问题   
        yum -y install wget 
        yum -y install net-tools

systemctl 是系统服务管理器命令,它实际上将 service 和 chkconfig 这两个命令组合到一起。

任务 旧指令 新指令
使某服务自动 启动 chkconfig –level 3htpd on systemctl enable httpd.service
使某服务不自动启动 chkconfig –level 3 httpd off systemctl disable httpd.service
检查服务状态 service httpd status systemctl status httpd.service (服务详细信息) systemctl is-active httpd.service (仅显示是否 Active)
显示所有已启动的服 务 chkconfig –list systemctl list-units –type=service
启动某服务 service httpd start systemctl start httpd.service
停止某服务 service httpd stop systemctl stop httpd.service
重启某服务 service httpd restart systemctl restart httpd.service

下面以nfs服务为例:

1.启动nfs服务

systemctl start nfs-server.service

2.设置开机自启动

systemctl enable nfs-server.service

3.停止开机自启动

systemctl disable nfs-server.service

4.查看服务当前状态

systemctl status nfs-server.service

5.重新启动某服务

systemctl restart nfs-server.service

6.查看所有已启动的服务

systemctl list -units --type=service

开启防火墙22端口

iptables -I INPUT -p tcp --dport 22 -j ACCEPT

如果仍然有问题,就可能是SELinux导致的

关闭SElinux:

修改/etc/selinux/config文件中的SELINUX=”” 为 disabled,然后重启

彻底关闭防火墙:

sudo systemctl status  firewalld.service
sudo systemctl stop firewalld.service          
sudo systemctl disable firewalld.service

centos7.0服务管理相关指令
https://www.cnblogs.com/lgqboke/p/6069170.html

十、Linux其它指令补充

who  看到现在有谁登录系统(时间。地点)
who am i  查自己
whoami   可以查到用户名
w   比who更详细登录信息
last 最近谁登录系统

log out 或exit  退出登录

whatis查看命令的说明 
例如:whatis python 什么是python

>>>quit()从命令退出

whereis 查看命令的路径位置
man+命令名字===查看命令参考手册
方法二:用--help(减减help)查看该命令的用法
wget :非交互式下载器
history查看历史命令===>!编号:可以调用历史命令
hisorty -c清除历史命令
!v===将最近的v打头的代码重新运行一遍

猜你喜欢

转载自blog.csdn.net/ZZQHELLO2018/article/details/82346624
今日推荐