zoukankan      html  css  js  c++  java
  • Linux基础-3

    笔记3

    RPM、YUM
    yum -y install epel-release (国外源)
    wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo (aliyun)
    RPM:很难解决包依赖关系
    rpm -ivh 安装包、-e卸载、--nodeps忽略依赖关系、-force强制安装软件包、-nosignature不检验软件包的签名。
    -q:查询指定包是否安装 -qa: rpm -qa |grep ntfs、过滤。
    -ql:查询安装文件、 -qf: rpm -qf /usr/bin/ntfs-3g 查询属于哪个rpm包
    -qi:查询包的详细信息、 -qc配置文件、 -qd:帮助文档。
    cd  etc/yum.repos.d/:yum源所在地。
    yum provides  +包名:查询下载什么包、
    yum clean all :清空yum缓存、reinstall重新安装。
    yum makecache:提高安装速度、
    yum repolist:重新加载yum源
    yum search mysql:查找软件(装、不装、有的都找)
    yum deplist httpd:查看依赖关系
    yum list 所有的包罗列出来、yum list|grep “httpd” 过滤下自己要的
    yum grouplist
    yum reinstall 重新安装、
    yum remove 卸载、=yum -y erase、
       1、自己配yum源:cd/etc/yum.repos.d下、其他.repo备份。
    vim myselfyum.repo
    [centos7u3]
    name=sentos7i4
    baseurl=file:///mnt   //本地yum源挂载地址/mnt.远程:ftp(http)://192.168.14.130/pub(相对路径。我不知道为啥。。)
    enabled=1   //开启yum源
    gpgcheck=0 //不检测
    yum repolist 重新加载
       2、远程(局域网ftp)#mkdir /opt/yum-iso
    #mount /opt/Centos-7.iso /opt/yum-iso(或者mount /dev/sr0 /mnt)
    #yum -y install vsftpd
    cp -a /mnt/* /var/ftp/pub/ :拷贝到pub目录下(vsftpd共享目录pub)
    #createrepo /myyum (注:防火墙关、vsftpd服务开启、服务器端完成)
    (客户端):cd /etc/yum.repos.d 同1.自配yum源。
    #vim /etc/yum.conf默认删除安装包、
    keepcache=1 打开、会保存安装包、制作yum源。
    源码包:#/etc/rc.d/init.d(好多服务都在这、绝对路径启动服务。):源码包可以安装多个服务。yum只能装一次。
    1. 编译环境如编译器 gcc、make
    2. 准备软件 tengine-2.2.0.tar.gz
    # yum -y install gcc make zlib-devel pcre pcre-devel openssl-devel
    # useradd www
    # tar xvf tengine-2.2.0.tar.gz
    # cd tengine-2.2.0
    vim instllNginx.sh
    # ./configure
    --user=www
    --group=www
    --prefix=/usr/local/nginx
    --with-http_stub_status_module
    --with-http_sub_module
    --with-http_ssl_module
    --with-pcre
    # make && make install 编译后安装(1正确才执行2)
    # /usr/local/nginx/sbin/nginx //启动 nginx 服务器
    # systemctl stop firewalld
    #setenfore 0

     

    Rz: 上传数据包,yum -y install lrzsz 下载rz。
    Wget:-O 设置下载路径并命名,wget -O /etc/yum.repos.d/CentOS-Base.repo <http://mirrors.aliyun.com/repo/Centos-7.repo>
    Systemctl status httpd 查看http状态 Systemctl reload httpd 重新加载http服务
    日志服务cron

    at:计划任务做一些周期性的任务。

    crontab -l 列出当前用户的计划任务
    crontab -r删除当前用户的所有计划任务、-u 指定用户来查看其cron表。
    crontab -e编辑当前用户的计划任务:
    分钟(0-59)、小时(0-23)、日期(1-31)、月份(1-12)、周(1-7)、命令(绝对路径)或脚本路径(绝对路径)。
    日志轮换、切割
    #如果没有日志轮转,日文件会越来越大
    #将丢弃系统中最旧的日志文件,以节省空间
    #logrotate 本身不是系统守护进程,它是通过计划任务 crond 每天执行
    logrotate 配置文件:
    #/etc/logrotate.conf (决定每个日志文件如何轮转)(主配置文件)
    #/etc/logrotate.d/* (各种服务日志如何轮转)
    #/var/log 各种服务日志文件位置所在。
    [root@ICan ~]# vim /etc/logrotate.conf 
    =========全局设置==========
    weekly //轮转的周期,一周轮转
    rotate 4 //保留 4 份
    create //轮转后创建新文件
    dateext //使用日期作为后缀
    #compress //是否压缩
    include /etc/logrotate.d //包含该目录下的文件
    /var/log/wtmp { //对该日志文件设置轮转的方法
    monthly //一月轮转一次
    minsize 1M //最小达到 1M 才轮转
    create 0664 root utmp //轮转后创建新文件,并设置权限,属主,属组。
    rotate 1 //保留一份
    }
    /var/log/btmp {
    missingok //丢失不提示
    monthly //每月轮转一次
    create 0600 root utmp //轮转后创建新文件,并设置权限
    rotate 1 //保留一份
    例1:轮转文件/var/log/yum.log
    vim /etc/logrotate.d/yum  
    /var/log/yum.log {
    missingok                       //丢失不提醒
    #notifempty                     // 空文件不轮转
    #size 30k //只要到了30k就轮转、不够不轮转。
    #yearly
    daily                           //每天轮转一次  
    rotate 3      
    create 0777 root root
    }

    测试:
    [root@localhost]# /usr/sbin/logrotate /etc/logrotate.conf //手动轮转
    [root@localhost]# /usr/sbin/logrotate -f /etc/logrotate.conf //强制手动轮转
    [root@localhost]# ls /var/log/yum* /var/log/yum.log
    /var/log/yum.log-20170331
    [root@localhost ]# grep yum /var/lib/logrotate/logrotate.status //记录所有日志文件最近轮转的时间 "/var/log/yum.log" 2017-3-31-10:0:23
    date 09011000 月日时分
    #/usr/sbin/logrotate -s /var/lib/logrotate.status /etc/logrotate.conf //根据状态文件,规则文件进行轮转
    二、常见的日志文件
    # ls /var/log/     #默认存放各种日志的地方
    # tail /var/log/messages #系统主日志文件
    # tail -f /var/log/messages   #动态查看日志文件的尾部
    # tail -f /var/log/secure #认证、安全
    # tail /var/log/maillog #跟邮件(sendmail,postfix)相关
    # tail /var/log/cron   #crond、at进程产生的日志
    # tail /var/log/dmesg #和系统启动相关-开机后不再记录,可以使用dmesg命令查看活动的日志
    # grep -i eth /var/log/dmesg   #只反映出开机过程的信息,开机成功后不会再改变
    # dmesg           #查看系统开机后的信息
    # tail /var/log/audit/audit.log       #系统审计日志
    # tail /var/log/yum.log
    # tail /var/log/mysqld.log           #mysql进程自己记录的日志
    # tail /var/log/httpd/access_log     #httpd进程自己记录的日志
    # tail /var/log/xferlog   #和访问FTP服务器相关
    # w #当前登录的用户 /var/log/wtmp
    # last #最近登录的用户 /var/log/btmp
    # lastlog #所有用户的登录情况 /var/log/lastlog
    网络服务:
    网络配置:

    #nmcli:nmcli connection show:查看网卡状态吧。nmtui:图形工具
    #nmcli connection down(up) ens33 、关闭ens33(连接名)网卡、ifup/ifdown:也可以的。nmcli connection delete enp2s0-auto删除。

    #nmcli connection add con-name ens32-atuo autoconnect yes ifname ens33 type ethernet ip4 192.168.14.4/24 gw4 192.168.14.254 ipv4.dns 114.114.114.114 //设备ens33提前存在。

    #nmcli connection modify enp2s0-gun ipv4.method a:设置为自动(auto)、nmcli connection modify enp2s0-gun ipv4.method m、手动(manul)
    #nmcli connection modify enp2s0-gun +ipv4.addresses 20.20.20.20/24、nmcli connection modify enp2s0-gun +ipv4.dns 114.114.114.114、
    #vim /etc/sysconfig/network-scripts/ifcfg-eth0
    DEVICE=eth0   设备名称 【NAME="System eth0" 设备名称】 可以不存在
    BOOTPROTO=none     启动协议 获取ip地址的方式 static、none ==>静态获取 dhcp 动态      
    NM_CONTROLLED=no 默认是yes 关闭network-manager
    ONBOOT=yes                 开机启动
    TYPE=Ethernet               以太网类型        
    HWADDR=00:0c:29:8e:a5:d3   mac地址
    IPADDR=172.16.80.252 ip地址  
    NETMASK=255.255.0.0 掩码
    PREFIX =24 掩码
    GATEWAY=172.16.80.1 网关
    DNS=114.114.114.114 //dns  
    配置域名解析
    #vim /etc/hosts
    119.75.218.70   www.baidu.com、
    #getent hosts www.baidu.com、算是查看吧
    配置NDS(dns服务端)
    #vim /etc/resolv.conf
      # Generated by NetworkManager
      nameserver 211.138.24.66
    #yum -y install bind-utils(host,dig,host,nslookup,nsupdate)域名解析信息吧《工具》
    #host www.sina.com
    # ip a		//查看主机ip地址
    # ip a s eth0 //查看某一网卡		# ip route		//查看路由表条目
    # ip neigh 	//查看邻居的mac地址    # hostname
    # ping www.baidu.com             # ping -c2 www.baidu.com
    # traceroute www.1905.com 路由跟踪
    # tracepath www.1905.com 路由跟踪
    netstat:显示网络相关信息 netstat [选项]  
    -t:TCP协议、-u:UDP协议、-l:监听、-r:路由、-n:显示IP地址和端口号
    netstat  -tlum 查看本机监听端口
    Netstat  -an 查看本机所有的网络连接
    Netstat  -rn 查看本机路由表 网关
    ss命令(比netstat快)
    -n 	不显示服务名称、  -a显示所有信息
    -t	显示tcp链接服务、 -l显示监听的端口
    # ss -tnl、#ss -tnl |grep :21
    # ss -atn	//a表示所有状态。可能是listen,也可能是已连接的
    ip转发:
    #echo 1 > /proc/sys/net/ipv4/ip_forward(临时)
    #vim  /etc/sysctl.conf  修改内核参数 (永久)
         net.ipv4.ip_forward = 1
    #sysctl  -p    //立即生效
    #sysctl  net.ipv4.ip_forward 、查看是否支持包转发。
    扫描ip:#nmap  -v  -sP  172.16.70.0/24
    扫描端口 :#nmap -v -A 172.16.70.0/24
    配置静态路由:
    方法一:
    添加路由
    route add -net 192.168.0.0/24 gw 192.168.0.1
    route add -host 192.168.1.1 dev ens33
    删除路由
    route del -net 192.168.0.0/24 gw 192.168.0.1
    
    add 增加路由
    del 删除路由
    -net 设置到某个网段的路由
    -host 设置到某台主机的路由
    gw 出口网关 IP地址
    dev 出口网关 物理设备名
    
    增 加默认路由
    
    route add default gw 192.168.0.1
    默认路由一条就够了
    
    route -n 查看路由表
    方法二:
    添加路由
    ip route add 192.168.0.0/24 via 192.168.0.1
    ip route add 192.168.1.1 dev 192.168.0.1
    删除路由
    ip route del 192.168.0.0/24 via 192.168.0.1
    
    add 增加路由
    del 删除路由
    via 网关出口 IP地址
    dev 网关出口 物理设备名
    
    增加默认路由
    ip route add default via 192.168.0.1 dev eth0
    via 192.168.0.1 是我的默认路由器
    
    查看路由信息
    ip route
    Yum方式部署lnmp环境

    L = Linux ; N = Nginx ; M = Mysql/Mariadb ; P = Php

    一、基础环境[已完成] [root@apache ~]# setenforce 0 [root@apache ~]# systemctl stop firewalld.service [root@apache ~]# systemctl disable firewalld.service [root@apache ~]# yum -y install epel-release 二、安装LAMP[已完成] [root@apache ~]# yum -y install nginx mariadb-server mariadb php php-mysql gd php-gd [root@apache ~]# systemctl start nginx mariadb [root@apache ~]# systemctl enable nginx mariadb

    FTP

    FTP基础

    软件包: vsftpd FTP端口: 控制端口 command 21/tcp 配置文件: /etc/vsftpd/vsftpd.conf

    FTP Server(服务端)

    [root@youngfit ~]# yum -y install vsftpd
    [root@youngfit ~]# systemctl start vsftpd
    [root@iZwz9f17um10wphrf38ni8Z ~]# cat /etc/redhat-release 
    CentOS Linux release 7.4.1708 (Core) 
    [root@iZwz9f17um10wphrf38ni8Z ~]# touch /var/ftp/test.txt
    [root@iZwz9f17um10wphrf38ni8Z ~]# systemctl start vsftpd
    [root@iZwz9f17um10wphrf38ni8Z ~]# systemctl enable vsftpd
    [root@aliyun ~]# systemctl stop firewalld
    [root@aliyun ~]# setenforce 0
    FTP默认共享目录:/var/ftp

    FTP Clinet(客户端):

    [root@youngfit ~]# yum -y install lftp
    [root@youngfit ~]# vim /etc/hosts
    192.168.62.136	youngfit.com
    [root@youngfit ~]# lftp youngfit.com

    开启上传

    #vim /etc/vsftpd/vsftpd.conf
    27  anon_upload_enable=YES   //上传文件
    31  anon_mkdir_write_enable=YES   //上传目录
    anon_mkdir_write_enable=YES(下载文件)
    chmod -R 777 /var/ftp/pub(注意改权限)

    使用用户登录

    #lftp 172.16.70.251 -u wing
    

    使用用户登录的时候,共享目录默认为用户的家目录

    ftp的工作目录:/etc/vsftpd

    客户端使用:

    登录    
    #lftp  172.16.70.251  
    #lftp  172.16.70.251 -u wing  -p  端口
    > help   mkdir  //单独看mkdir的帮助
    > help ls
    > ls       //查看文件
    > dir     //同上
    > cd  pub
    > lcd  /root/Desktop    //切换本地目录
    > get  文件    -o   /root/Desktop        //下载文件
    > mirror  目录  指定的下载目录           //下载目录
    > put   文件                //上传文件
    > mirror  -R  目录       //上传目录
    > mkdir  目录
    > rmdir   目录
    > mget -c  aaa.txt 
    

    vsftpd扩展功能 常用全局配置

    listen_address=192.168.4.1   //设置监听的IP 地址
    listen_port=21                         //设置监听FTP 服务的端口号
    write_enable=YES                   //是否启用写入权限
    download_enable=YES           //是否允许下载文件
    
    userlist_enable=YES              //是否启用user_list 列表文件
                                                     //文件在/etc/vsftpd目录下
    userlist_deny=YES                 //是否禁用user_list 中的用户
    
    max_clients=0                       //限制并发客户端连接数
    max_per_ip=0                        //限制同一IP 地址的并发连接数
    

    常用的匿名FTP 配置项

    anonymous_enable=YES      //启用匿名访问
    anon_umask=022                //匿名用户所上传文件的权限掩码
    anon_root=/var/ftp               //匿名用户根目录
    anon_upload_enable=YES    //允许上传文件
    anon_mkdir_write_enable=YES     //允许创建目录
    anon_other_write_enable=YES      //开放其他写入权
    anon_max_rate=0                        //限制最大传输速率,单位为字节
    

    常用的本地用户FTP 配置项

    local_enable=YES                         //是否启用本地系统用户
    local_umask=022                         //本地用户所上传文件的权限掩码
    local_root=/var/ftp                        //本地账户ftp根目录
    local_max_rate=0                          //限制最大传输速率(字节/秒)
    
    chroot_local_user=YES                 //限制所有本地用户在家目录里,g0W&�7bf
    
     
    NFS远程共享存储

    systemctl stop firewalld、systemctl disable firewalld

    1.安装软件

    yum -y install rpcbind(提供rpc协议)、yum -y install nfs-utils(主包提供文件系统)

    启动服务------>这两个服务必须同时启用 ​ systemctl start nfs ​ systemctl start rpcbind

    [root@nas ~]# vim /etc/exports /zhengzhou 192.168.122.0/24(rw,no_root_squash) //不限制root(当client端使用root挂载时,也有root权限) 挂载是root ,同样保持root权限 [root@nas ~]# systemctl start nfs-server [root@nas ~]# systemctl enable nfs-server

    客户端:

    [root@web1 ~]# yum -y install nfs-utils httpd [root@web1 ~]# systemctl start httpd [root@web1 ~]# systemctl enable httpd

    1. 手动挂载 [可选] [root@web1 ~]# mount -t nfs 192.168.122.59 :/zhengzhou /qf [root@web1 ~]# umount /qf

    2. 自动挂载到网站主目录 [root@web1 ~]# vim /etc/fstab 192.168.122.59 :/zhengzhou /var/www/html nfs defaults 0 0 [root@web1 ~]# mount -a

    3. 查看挂载 [root@web1 ~]# df nas:/webdata 7923136 692416 6821568 10% /var/www/html [root@web1 ~]# ls /qf index.html

      wget
    [root@youngfit ~]# wget --help |less
    [root@youngfit ~]# wget ftp://10.18.40.100/kvm-manager-centos
    [root@youngfit ~]# wget ftp://10.18.40.100/kvm-manager-centos -P /tmp/ //-P参数 下载到指定路径
    [root@youngfit ~]# wget ftp://10.18.40.100/kvm-manager-centos -O /tmp/a.sh  //-O 参数,下载到指定路径并修改名称
    [root@youngfit ~]# wget -m ftp://zhufo.top/soft //-m 参数,将目录一并下载
    DNS
    一、hosts文件 
    作用: 实现名字解析,主要为本地主机名、集群节点提供快速解析
    数据库: 平面式结构,集中式数据库
    二、域名服务DNS
    作用: 实现名字解析(例如将主机名解析为IP)
    命名空间name space:    用于给互联网上的主机命名的一种机制
    DNS数据库Datebase:     层次化的,分布式的数据库

    DNS解析流程:

    1. 客户端查询自己的缓存(hosts中的记录),如果没有将查询发送/etc/resolv.conf中的DNS服务器
    2. 如果本地DNS服务器对于请求的信息具有权威性,会将(权威答案)发送到客户端。
    3. 否则,如果DNS服务器在其缓存中有请求信息,则将(非权威答案)发送到客户端 
    4. 如果缓存中没有该查询信息,DNS服务器将搜索权威DNS服务器以查找信息:
          a.  从根区域开始,按照DNS层次结构向下搜索,直至对于信息具有权威的名称服务器,为客户端获答案
           DNS服务器将信息传递给客户端 ,并在自己的缓存中保留一份,以备以后查找。
    bind  主包
    bind-utils   客户端测试工具(host 、dig 、nslookup)
    systemctl start named

    工作目录: /etc 存放主配置文件(指定区域配置文件的作用)

    [root@ICan named]# vim /etc/named.conf
    options {
    directory "/var/named";
    };
    zone "qianfeng.com" {
                type master;
                file "qianfeng.com.zone";
    };

    /var/named 区域配置文件(用来作解析,域名对应ip)

    [root@ICan named]# vim /var/named/qianfeng.com.zone 
    $TTL 86400
    @ IN SOA wing.qianfeng.com. root.qianfeng.com (
    			100000000
                 3H
                 15M
                 1W
                 1D)
                        IN NS wing.qianfeng.com.
    wing                    IN A 192.168.14.130 //定义本机ip
    www.qianfeng.com.       IN A 192.168.14.106
    ftp.qianfeng.com.       IN CNAME www.qianfeng.com.
    [root@ICan named]# vim /etc/resolv.conf
    #Generated by NetworkManager
    #nameserver 211.138.24.66
    nameserver 192.168.14.130 //dns服务端为本机ip
    samba

    Linux与Windows间的文件共享,也可以Linux之间。

    客户端:
    #yum -y install samba-client samba samba-common
    #systemctl start smb; #mkdir /test ; #chmod 777 /test 
    #vim /etc/samba/smb.conf
       [test]
       comment = share directory //描述
       path = /test //共享目录
       public = yes //允许访问
       writable = yes //与readonly相反
    #useradd kobe ;#smbpasswd -a kobe;#systemctl restart smb。
    Windows:
    网上邻居-->资源管理—>\192.168.14.23
    linux挂载:
    mount //192.168.14.23/test /mnt -o username=kobe,pass=123


    Wget???
    rpm是已经有的安装包,yum是在下安装的(需要下载,可以自动解决依赖性)(/var/lib/rpm)
    Rpm:安装软件包,-i:安装,-v显示安装信息,-h显示安装过程,一般-ivh同时用,-U升级包,-e:卸载。卸载后直接跟包名。-q查询是否安装。-qa查询所有已安装包。配合管道符|
    -qi查询包详细信息,-p查询未安装包后跟全名。-l安装包位置(绝对路径),-qf反向查询文件是哪个包装的。-V:校验包做了哪些修改。Update 升级,后加包名。
    du -sh +包名:查看包的大小。
    时间戳:date  -d “1970-01-01 16066 days”
    用户模板目录: /etc /skel.可添加警告信息。
    mysql
     yum -y install mariadb mariadb-server
    [root@youngfit ~]# systemctl start mariadb
    [root@youngfit ~]# mysql
    create database jspgou default charset=utf8
    show databases:查看数据库、use 库名:进入库、show tables:看列表、select * from 表名:看表内容、drop database 库名:删库、

     

     

  • 相关阅读:
    PHP基本的语法以及和Java的差别
    Linux 性能測试工具
    【Oracle 集群】Linux下Oracle RAC集群搭建之Oracle DataBase安装(八)
    【Oracle 集群】Oracle 11G RAC教程之集群安装(七)
    【Oracle 集群】11G RAC 知识图文详细教程之RAC在LINUX上使用NFS安装前准备(六)
    【Oracle 集群】ORACLE DATABASE 11G RAC 知识图文详细教程之RAC 特殊问题和实战经验(五)
    【Oracle 集群】ORACLE DATABASE 11G RAC 知识图文详细教程之缓存融合技术和主要后台进程(四)
    【Oracle 集群】ORACLE DATABASE 11G RAC 知识图文详细教程之RAC 工作原理和相关组件(三)
    Oracle 集群】ORACLE DATABASE 11G RAC 知识图文详细教程之ORACLE集群概念和原理(二)
    【Oracle 集群】ORACLE DATABASE 11G RAC 知识图文详细教程之集群概念介绍(一)
  • 原文地址:https://www.cnblogs.com/james-23/p/13689829.html
Copyright © 2011-2022 走看看