美文网首页
Ubuntu Server安装及配置

Ubuntu Server安装及配置

作者: 宇天_ngs | 来源:发表于2018-04-23 10:50 被阅读664次

    下载准备

    UltraISO下载,Ubuntu Server iso下载

    启动盘制作

    启动UltraISO,打开Ubuntu iso文件,写入硬盘映像

    1521386735589.png

    其他选项默认,便捷启动里选择Syslinux引导,点击写入,等待完成后再把Ubuntu iso原文件复制到U盘根目录下,后面会用到。

    1521387074608.png

    系统安装

    插入U盘,设置BIOS从U盘启动,按提示一步步进行,不需要检测键盘和布局。

    Load Installer Components From CD这一步可能会失败,解决方法如下:

    1. 按Alt+F2进入命令行
    2. 通过df -h,辨认U盘识别符,如下假设为 /dev/sdd4
      1521387956555.png
    1. 重新挂载U盘

      umount /dev/sdd4
      mount /dev/sdd4 /mnt
      
    2. 挂载Ubuntu iso原文件到 /cdrom

      mount -o loop /mnt/ubuntu-16.04.4-server-amd64.iso /cdrom

    3. 查看 /cdrom下是否有iso文件,确认挂载成功。

    4. 按Alt+F1返回安装界面,继续安装

    分区建议单独把/home放一个分区
    手动分区使用整块系统盘

    选择系统盘,删除分区

    1524448764630.png

    选择磁盘空闲空间, Enter创建新分区

    1524448843762.png

    输入分区大小,单位是MB、GB等,按/boot、/swap、/、/home,前三个都是主分区,/home是逻辑分区,大小依次为200MB、1-4G、10-20G、剩下的都给/home,默认都是ext4文件系统,除了swap要指定用于swap空间。


    1524449662333.png

    若没有如上分区,补救措施,/home迁移到新分区

    sudo rsync -aXS --exclude='/*/.gvfs' /home/. /nhome/.

    之后在主机上登录root删除/home下的东西,修改/etc/fstab挂载新分区到/home。用blkid查看UUID号,用UUID号进行挂载。

    最后一步选择开启的服务,选中openssh server,再按空格确认,下一步安装完成,否则要再手动安装ssh服务。

    本地iso源制作

    复制原始iso文件到 /opt下,再挂载到/media/cdrom, apt-cdrom添加源

    sudo mount /opt/ubuntu-16.04.4-server-amd64.iso /media/cdrom
    sudo apt-cdrom -m -d=/media/cdrom add
    

    sudo aptupdate更新源

    sudo apt install openssh-server安装ssh服务,便于远程控制。

    source.list换源

    # deb cdrom:[Ubuntu-Server 16.04.4 LTS _Xenial Xerus_ - Release amd64 (20180228)]/ xenial main restricted
    deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial main restricted
    deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-updates main restricted
    # deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-backports main restricted
    deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-security main restricted
    deb https://mirrors.tuna.tsinghua.edu.cn/CRAN//bin/linux/ubuntu/ xenial/
    

    apt设置配置文件/etc/apt/apt.conf

    # 不安装自动推荐和建议的软件包
    APT::Install-Recommends "false";
    APT::Install-Suggests "false";
    

    创建/etc/apt/apt.conf.d/01lean配置文件,执行sudo apt autoremove --purge 清除这些多余的包。

    # 自动删除重要推荐
    APT::AutoRemove::RecommendsImportant "false";
    # 自动删除重要建议
    APT::AutoRemove::SuggestsImportant "false";
    # 取消安装推荐
    APT::Install-Recommends "false";
    

    apt软件下载

    sudo apt install -d --reinstall xxx      # 只下载某软件
    sudo mv xxx /var/cache/apt/archives/     # 将软件移到apt的下载缓冲区
    sudo apt install xxx                     # 在通过apt安装该软件
    
    # 只下载依赖的包,而不下载该包
    sudo apt-get install --reinstall -d `apt-cache depends python-numpy | grep Depends | grep -v "<.*>" | cut -d: -f2`           # 下载python-numpy依赖的所有包,但不下载python-numpy
    

    note: 选择镜像源对应的软件版本下载

    1521461558789.png

    另外有些时候下载下来的文件名会有点出入:

    1521466375499.png

    下载后文件名变成了python-dev_2.7.12-1_16.04_amd64.deb,波浪号变成了下划线,需要手动更正。

    mv python-dev_2.7.12-1_16.04_amd64.deb python-dev_2.7.12-1~16.04_amd64.deb

    有时需要批量改名

    sudo rename 's/\d\://' *.deb      # 删除文件名中多余的数字和冒号,比如 1: ,2:等
    

    安装python软件会提示文件夹读写权限不够,要手动创建好文件夹。

    apt添加第三方源比如:R,时要验证公钥。

    # 51716619E084DAB9替换为提示的公钥,端口还是改为80,不通过代理的话 --keyserver-option不需要(代理配置见下面介绍)。
    sudo apt-key adv --keyserver-option http-proxy=http://134.156.1.1:80  --keyserver keyserver.ubuntu.com --recv-keys 51716619E084DAB9
    

    局域网配置

    windows主机一块网卡设置内网IP和掩码,其他不需要设置。


    1521389688776.png

    Ubuntu主机修改/etc/network/interfaces,添加IP和网关即可。网卡未启动的话,用ifconfig -a显示完整的网卡信息,在如下设置网卡。

    1521389831006.png

    首次添加网卡静态ip后要resolvconf -u;

    修改/etc/network/interfaces更改IP,通过/etc/init.d/networking restart重启网络可能无效,就按如下操作进行:

    ip addr flush dev SSXX   # SSXX换成ifconfig识别的网卡标识,删除IP
    ifdown SSXX              # 禁用网卡
    ifup SSXX                # 启用网卡
    

    Note 配置完成后,在windows防火墙全开的情况下,windows主机能ping通Ubuntu主机和ssh登录操作,反过来不行;需要关闭windows的公用网络防火墙,才能让Ubuntu主机ping通windows主机。

    局域网代理配置

    windows下载安装CCProxy,配置需要的网络协议,输入windows本地主机局域网端口IP;端口808可调整为80。

    关闭windows的公用网络防火墙才能联网!!!

    非必须联网,不要联网

    1521820965535.png

    到局域网Ubuntu服务器端,配置个人.bashrc文件,添加以下内容(按需):

    # 分别添加http和https的代理, 端口改为80
    export http_proxy=http://134.156.1.1:80          # 假设windows端IP为: 134.156.1.1
    export https_proxy=https://134.156.1.1:80
    
    # 联网测试,会下载index.html文件
    wget www.baidu.com
    

    Ubuntu自带的apt联网还需单独设置,在/etc/apt/下创建apt.conf文件并输入如下内容:

    Acquire::http::Proxy "http://134.156.1.1:80";        # 双引号、分号都不能少
    Acquire::https::Proxy "https://134.156.1.1:80";
    

    性能优化

    1. 设置缓存和共享内存,可以在/etc/sysctl.conf中加上两行:
    vm.swappiness=5               # 内存使用比达到95%,才启用swap
    vm.min_free_kbytes=10485760   # 10G
    
    kernel.shmmax = 33721946112
    kernel.shmall = 8232897
    

    新建shmsetup的脚本:

    #!/bin/bash  
    
    page_size=`getconf PAGE_SIZE`  
    phys_pages=`getconf _PHYS_PAGES`  
    shmall=`expr $phys_pages / 2`  
    shmmax=`expr $shmall \* $page_size`  
    echo kernel.shmmax = $shmmax  
    echo kernel.shmall = $shmall
    

    运行

    ./shmsetup >> /etc/sysctl.conf   # 追加kernel.shmmax, kernel.shmall到/etc/sysctl.conf
    sudo sysctl -p                        # 生效
    
    1. 在linux文件系统有一个预读的参数,可以通过如下命令查看:
    blockdev --getra /dev/sdb         # 一般默认值为256
    

    可以将此数据改大一点,建议的范围是在4096-16384之间,预读不足的常见问题是写磁盘的速度要比读取的速度要高。

    在/etc/rc.local 中exit 0之前添加 blockdev --setra 4096 /dev/sdb

    1522919270928.png
    1. 在linux中,用户每访问一个文件,系统都会更新文件的其中一个属性(上次访问时间),当用户在访问数据时,系统会需要不断的进行写操作,这个在系统中也是一笔不小的开销,可以在/etc/fstab文件中,对挂载的卷加上noatime选项来禁用此行为:

      /dev/sda1 / ext3 noatime,errors=remount-ro 0 1

      修改完以后,执行sudo mount -a 命令生效即可。

    # <file system> <mount point>   <type>  <options>       <dump>  <pass>
    # / was on /dev/sda5 during installation
    UUID=89b5-7a-448-833-67a0507    /   ext4    errors=remount-ro   0   1
    # swap was on /dev/sda6 during installation
    #UUID=fafd-06-4c0-bd0-ff29677 none            swap    sw              0       0
    /dev/mapper/cryptswap1 none swap sw 0 0
    UUID=8874-af-47b-bb0-df97b32    /home   ext4    errors=remount-ro   0   1
    /dev/sdb5   /mnt/D5 ext4    defaults,noatime,errors=remount-ro  0   2
    /dev/sdb6   /mnt/D6 ext4    defaults,noatime,errors=remount-ro  0   2
    /dev/sdb7   /mnt/D7 ext4    defaults,noatime,errors=remount-ro  0   2
    /dev/sdb8   /mnt/D8 ext4    defaults,noatime,errors=remount-ro  0   2
    
    1. ssh过段时间掉线的问题,解决方法:编辑/etc/ssh/sshd_config,添加如下内容:
    ClientAliveInterval 60
    ClientAliveCountMax 3
    

    xshell保持活动状态(keepalive)设置如下:putty类似


    1522920312938.png
    1. 通过sysv-rc-conf关闭一些不必要的启动项。

    相关文章

      网友评论

          本文标题:Ubuntu Server安装及配置

          本文链接:https://www.haomeiwen.com/subject/loeklftx.html