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 库名:删库、

 

 

posted @ 2020-09-18 10:33  nice的  阅读(170)  评论(0)    收藏  举报