• basic


    vmware三种网络类型

    • bridged(桥接)通过物理主机网卡架设桥,从而连入实际网络,最接近正式网络环境
    • NAT(地址转换)虚拟机通过宿主机转发地址上网,宿主机ip更改虚拟机不需要改。过程:虚拟机上网先通过宿主机转发地址,通过路由器转成公网地址
    • host-only(仅主机)虚拟机只能和宿主机通信,不能上网。

    配置网卡

    /etc/sysconfig/network-scripts/ifcfg-eth0  配置文件 
    /etc/init.d/network restart  配置完成需重启网卡
    动态ip
    DEVICE="eth0"    物理设备名
    BOOTPROTO="dhcp"  获取ip的方式 static
    HWADDR="52:54:00:49:CA:52" mac地址,唯一
    IPV6INIT="yes"
    IPV6_AUTOCONF="yes"
    MTU="1500"
    NM_CONTROLLED="yes"
    ONBOOT="yes" 开机启动
    TYPE="Ethernet" 以太网
    UUID="5b9d5724-dc26-45c6-bca5-916bbc484794"
    IPADDR
    NETMASK
    GATEWAY
    DNS1
     
    静态ip
    DEVICE=bond0
    TYPE=Ethernet
    ONBOOT=yes
    BOOTPROTO=static
    IPADDR=10.125.136.40
    PREFIX=24
    GATEWAY=10.125.136.254
     
     

    查看系统版本

    1、uname -r :显示操作系统的发行版号
    2、uname -a :显示系统名、节点名称、操作系统的发行版号、操作系统版本、运行系统的机器 ID 号。
    3、cat /etc/redhat-release: 查看centos版本
     

    磁盘分区

    磁盘有主分区,扩展分区和逻辑分区。一块硬盘最多4个主分区,最多一个扩展分区,扩展分区不能使用,一个扩展分区上可以分多个逻辑分区
    5个分区:
    1p+1e(4个L)p:主分区  e:扩展分区  L:逻辑分区
    2p+1e(3个L)
    p+e<=4
    e最多一个,可以没有
     
    设备命名
     IDE /dev/hd
            hda第一块磁盘
                hda1,hda2 分区
            hdb第二块磁盘
    SCSI:SAS/SATA/SSD
            /dev/sda
            /dev/sdb
    分区的编号1-4,只能给p+e
    L分区的编号从5开始
    linux分区要求:
    (1)/ 根分区
    (2)swap(交换)分区
    (3)/boot(100-200M)
     

    系统优化

    1)不用root管理,普通用户sudo授权管理
    2)更改默认远程连接ssh服务端口,禁止远程连接
    3)定时自动更新服务器时间/usr/sbin/ntpdate
    4)配置yum更新源,从国内更新源下载安装软件包
    5)关闭selinux和iptables
    6)调整文件描述符的数量,进程和文件打开都会消耗文件描述符
    7)定时清理邮件目录垃圾文件,防止inodes节点占满
    8)精简并保留必要的开机自启动服务(crond,ssh,network,rsyslog,)
    9)内核参数优化/etc/sysctl.conf,执行sysctl -p生效
    10)更改字符集,使其支持中文
    11)锁定关键系统文件
    1.关闭selinux
    sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config
    
    2.关闭不必要的服务
    for services in `chkconfig --list |grep 3:on |awk -F' ' '{ print $1" " }'`;do
    chkconfig $services off
    done
    for services in  crond irqbalance network lvm2-monitor sshd rsyslog sysstat zabbix-agent ;do
    chkconfig $services on
    done
    
    3.ssh修改
    sed -i 's/^GSSAPIAuthentication yes$/GSSAPIAuthentication no/' /etc/ssh/sshd_config是否允许使用基于 GSSAPI 的用户认证.默认值为"no".仅用于SSH-2.
    sed -i 's/#UseDNS yes/UseDNS no/' /etc/ssh/sshd_config
    
    sed -i 's/#Port 22/Port 21987/' /etc/ssh/sshd_config
    /etc/init.d/sshd restart
    
    
    4.打开文件数
    cat >> /etc/security/limits.conf << EOF
    * soft nproc 65536    单个用户可用的最大进程数量(软限制)
    * hard nproc 65536
    * soft nofile 65536    最大打开文件数(软限制)
    * hard nofile 65536
    EOF
    
    echo "* soft    nproc     65535" > /etc/security/limits.d/90-nproc.conf 最大线程数
    
    ulimit -SHn 65535
    ulimit -SHu 65535
    
    5.历史命令
    #Configure history
    mkdir -p /gomeo2o/histlog/ && chmod -R 777 /gomeo2o/histlog/  && chmod o+t  /gomeo2o/histlog/
    cat >>/etc/profile << EOF
    USER_IP=\`who -u am i 2>/dev/null| awk '{print $NF}'|sed -e 's/[()]//g'\`
    export HISTTIMEFORMAT="[%Y.%m.%d %H:%M:%S_${USER_IP}_${LOGNAME}]"
    USER_IP=\`who -u am i 2>/dev/null| awk '{print $NF}'|sed -e 's/[()]//g'\`
    HISTDIR=/gomeo2o/histlog/.hist
    if [ -z $USER_IP  ]
    then
      USER_IP=\`hostname\`
    fi
    if [ ! -d $HISTDIR ]
    then
       mkdir -p $HISTDIR
       chmod 777 $HISTDIR
    fi
    if [ ! -d $HISTDIR/${LOGNAME} ]
    then
        mkdir -p $HISTDIR/${LOGNAME}
        chmod 300 $HISTDIR/${LOGNAME}
    fi
    export HISTSIZE=10000
    export HISTFILESIZE=10000
    DT=$(date +%Y%m)
    export HISTFILE="$HISTDIR/${LOGNAME}/${USER_IP}.hist.$DT"
    chmod 600 $HISTDIR/${LOGNAME}/*.hist* 2>/dev/null
    EOF
    
    6.内核参数
    cat >> /etc/sysctl.conf << EOF
    fs.file-max = 65536    最大打开文件数
    kernel.shmall = 2097152    全部允许使用的共享内存大小
    kernel.shmmax = 2147483648    单个段允许使用的大小
    kernel.shmmni = 4096        整个系统的内存segment的总个数
    kernel.sem = 250        32000   100      128
    net.ipv4.tcp_max_syn_backlog = 65536    表示那些尚未收到客户端确认信息的连接(SYN消息)队列的长度
    net.core.netdev_max_backlog = 32768        允许送到队列的数据包的最大数目
    net.core.somaxconn = 32768                用来限制监听(LISTEN)队列最大数据包的数量
    
    net.core.wmem_default = 8388608            发送套接字缓冲区大小的默认值
    net.core.rmem_default = 8388608            接收套接字缓冲区大小的默认值
    net.core.rmem_max = 16777216            接收套接字缓冲区大小的最大值
    net.core.wmem_max = 16777216
    net.ipv4.tcp_timestamps = 0
    net.ipv4.tcp_synack_retries = 2            为了打开对端的连接,内核需要发送一个SYN 并附带一个回应前面一个SYN 的ACK。也就是所谓三次握手中的第二次握手。这个设置决定了内核放弃连接之前发送SYN+ACK 包的数量。
    net.ipv4.tcp_syn_retries = 2            在内核放弃建立连接之前发送SYN 包的数量
    
    net.ipv4.tcp_tw_recycle = 1                开启TCP连接中TIME-WAIT sockets的快速回收
    #net.ipv4.tcp_tw_len = 1
    #net.ipov4.tcp_tw_reuse = 1
    net.ipv4.tcp_mem = 94500000 915000000 927000000
    net.ipv4.tcp_max_orphans = 3276800
    net.ipv4.tcp_fin_timeout = 60
    #net.ipv4.tcp_keepalive_time = 120
    net.ipv4.ip_local_port_range = 1024 65535
    EOF
    sysctl -p
    
    7.取消三键重启
    sed -i /shutdown/'s/^/#/' /etc/init/control-alt-delete.conf
    
    8.定时任务
    mkdir /etc/cron.daily.bak
    mv /etc/cron.daily/makewhatis.cron /etc/cron.daily.bak
    mv /etc/cron.daily/mlocate.cron /etc/cron.daily.bak
    
    9.时间同步
    sed -i '10c
    estrict 10.125.14.239' /etc/ntp.conf
    sed -i '11c
    estrict 10.125.14.240' /etc/ntp.conf
    sed -i '22,24s/^/#/' /etc/ntp.conf
    sed -i '19cserver 10.125.14.239 prefer' /etc/ntp.conf
    sed -i '20cserver 10.144.14.240' /etc/ntp.conf
    sed -i '36s/^#//' /etc/ntp.conf
    sed -i '45s/^/#/' /etc/ntp.conf
    chkconfig --level 35 ntpd on
    echo "*/30 * * * * /usr/sbin/ntpdate ntp01.intra.gomeplus.com ntp02.intra.gomeplus.com > /dev/null 2>&1" >
    >/var/spool/cron/root
    
    10.禁用ipv6
    # Diable ipv6
    cat > /etc/modprobe.d/ipv6.conf << EOFI
    alias net-pf-10 off
    options ipv6 disable=1
    EOFI
    echo "NETWORKING_IPV6=off" >> /etc/sysconfig/network
    
    11.设置dns
    # set local dns
    sed -i  '/nameserver/d' /etc/resolv.conf
    echo 'search  dev.gomeplus.com'  >> /etc/resolv.conf ##开发环境
    echo 'search  test.gomeplus.com' >> /etc/resolv.conf ##测试环境
    echo 'nameserver 10.125.14.244'  >> /etc/resolv.conf
    echo 'nameserver 10.125.14.245'  >> /etc/resolv.conf
    echo 'nameserver 10.125.14.246'  >> /etc/resolv.conf
    echo 'nameserver 10.125.14.247'  >> /etc/resolv.conf
    cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
    
    12.设置yum
    #set LAN Yum
    rm -f /etc/yum.repos.d/CentOS-Base.repo
    rm -f /etc/yum.repos.d/CentOS-Debuginfo.repo
    rm -f /etc/yum.repos.d/CentOS-fasttrack.repo
    rm -f /etc/yum.repos.d/CentOS-Media.repo
    rm -f /etc/yum.repos.d/CentOS-Vault.repo
    wget http://10.125.2.1/ks/gomeo2o.repo -P /etc/yum.repos.d/

    修改字符集

    查看echo $LANG
    临时修改export LANG=zh_CN.UTF-8
    永久修改
    sed -i 's#LANG="en_US.UTF-8"#LANG="zh_CN.UTF-8"#g' /etc/sysconfig/i18n 
    source /etc/sysconfig/i18n 需要重启

    同步互联网时间

    /usr/sbin/ntpdate time.nist.gov
    企业实例:局域网内做两台ntp server,同步time.nist.gov

    历史命令

    export HISTSIZE=5
    export HISTFILESIZE=5
    cat ~/.bash_history
    history -c 清除历史命令
    history -d xx 指定删除某行

    文件描述符

    1、表示形式为整数数字,一般使用(0-65535)
    2、进程在使用的时候会占用文件描述符
    查看默认文件描述符ulimit -n
    3、调整 /etc/security/limits.conf
         vim /etc/sysctl.conf
        sysctl -p 生效
     

    锁定系统文件

    chattr +i /etc/passwd
    chattr -i /etc/passwd
     

    禁ping

    echo "net.ipv4.icmp_echo_ignore_all=1" >> /etc/sysctl.conf
    sysctl -p

    目录

    bin  用户命令的目录
    boot 
    dev 设备目录
    etc 系统配置及服务配置文件,启动命令的目录
    home 普通用户的家目录
    lib
    lib64
    lost+found
    media
    mnt
    opt
    proc 显示内核及进程信息的虚拟文件系统
    root 超级管理员的家目录
    sbin 用户命令
    selinux
    src
    sys 
    tmp 临时文件目录
    usr 用户程序,数据,帮助文件,二进制命令等
    var 变化的目录,日志文件,cache的目录

    域名解析

    /etc/resolv.conf 客户端dns的配置文件 ,优先级别没有网卡配置文件中的dns高 
    /etc/hosts:局域网,主机名和ip解析,相当于局域网的dns工具

    修改主机名

    (1)hostname  立即生效
    (2)vim /etc/sysconfig/network 重启生效

    /etc/fstab 开机挂载信息的文件,使得开机能够自动挂载分区

    tmpfs                   /dev/shm                tmpfs   defaults        0 0
    devpts                  /dev/pts                devpts  gid=5,mode=620  0 0
    sysfs                   /sys                    sysfs   defaults        0 0
    proc                    /proc                   proc    defaults        0 0
    要被挂载的设备    挂载点    类型(挂载成什么类型的文件系统)  参数选项     是否需要备份    检查
    fstab出问题,修复
    (1)开机提示。输入密码修复
    (2)救援模式

    /etc/rc.local

    开机执行命令

    /etc/inittab

    开机启动流程,开机级别
    1.开机BIOS自检
    2.MBR引导
    3.grub引导菜单
    4.加载内核kernel
    5.启动init进程
    6.读取inittab文件
    7.启动mingetty,进入系统登录界面

    inode&&block

    ls -hil
    inode:索引节点编号:它是文件或者目录在磁盘里的唯一标识,系统读取文件首先要读取到这个索引节点
    268540 -rw-r--r--   1 root          root           495 Jun  2 12:13 4.txt
    265742 -rw-r--r--   1 root          root           14K Sep  6 16:32 a
    268560 -rw-r--r--   1 root          root          8.0K Jul  5 17:28 aa
    262164 -rw-r--r--   1 root          root           225 Sep  9 10:01 a.log
    262156 -rw-------.  1 root          root          5.4K Apr 21 16:57 anaconda-ks.cfg
    268721 -rw-r--r--   1 root          root           115 Aug 12 18:51 a.sh
    268557 -rw-r--r--   1 root          root           305 Jul 14 11:57 b
    inode   权限  硬连接数 属主        属组            大小
     
    inode存储属性信息,包括文件大小,属主,属组,权限,不包含文件名    df -i :查看分区inode
    block  保存文件的具体内容
    inode知识小结
    (1)磁盘分区格式化为ext4文件系统后会生成一定数量的inode和block
    (2)inode是索引节点,作用是存放文件的属性信息以及作为文件的索引
    (3)ext3/ext4 文件系统的block存放的是文件的实际内容。
    企业案例:
    一个100M的磁盘分区,分别写入1K的文件或写入1M的文件,分别可以写多少个?
    inode是存放文件属性信息的,默认大小128byte,256byte
    block是存放文件实际内容的,默认1K或者4K
    一个文件至少占用一个inode和block
    写小文件inode会先满,大文件block会先满
    1M的文件100个
    1K的文件数等于inode数量
  • 相关阅读:
    assembly打包。
    调用jar程序,读取与jar同级的配置文件。
    java.lang.UnsupportedClassVersionError
    jar包程序 读取properties文件
    Mysql-5.7.10启动失败 。
    spring HibernateValidator 验证 子类不起作用
    Eclipse 启动Tomcat后web项目的classes的子文件夹中没有calss文件
    java.lang.Exception: Socket bind failed: [730013] An attempt was made to acc
    log4
    jquery.validationEngine
  • 原文地址:https://www.cnblogs.com/hongpeng0209/p/6340157.html
Copyright © 2020-2023  润新知