Linux 编译服务器环境搭建

前情提要

一、戴尔R740服务器

Dell PowerEdge R740 2U机架式服务器

名称规格数量
CPU英特尔® 至强®银牌 4210R 2.4G, 10C/20T, 9.6GT/s 2UPI, 13.75M 缓存, Turbo, HT (85W) DDR4-2400,可扩展双路cpu,每个处理器多达 28 个核心1
内存32GB RDIMM, 3200MT/s, 双列, x4 带宽2
SSD硬盘1.92T SATA SSD 2.5英寸热插拔硬盘1
机械硬盘8TB 7.2K RPM NLSAS 512n 3.5英寸热插拔硬盘,最大支持8块4
RAID卡PERC H750 RAID 控制器, 8GB NV 线缆,PCIE1
电源750W 单电源1
RAIL001ReadyRails™ 静态导轨1

原厂建议安装 ubuntu20.04.2 以上版本

二、Ubuntu 20.04.6系统安装

1、安装界面语言选择

  • English

2、Install Ubuntu Serve

  • Select a language
    • English
  • Select your location
    • Asia
      • China
  • Configure locales
    • en_US.UTF-8
  • Configure the keyboard
    • No
      • English(US)
  • Configure the network
    • Hostname
      • LinuxBuildServer
  • Set up users and passwords
    • Full name for the new user
      • Linux Server Administrator
    • Username for your account(默认具有sudo权限的账号)
      • lsa
    • Choose a password for the new user
      • xxxxxxxx
    • Encrypt your home directory?
      • No
  • Configure the clock(自动探测时区)
    • 若正确 -> Yes
    • 否则 -> 手动选择对应时区
  • Partition disks
    • / 分区 主分区 ext4 64G 固态
    • swap 逻辑分区 64G 固态 (内存的两倍)
    • boot 逻辑分区 1G 固态
    • home分区 17.830T
    • document 4T 文件存储、固件发布
    • Hso 1.619T 固态
    • Finish partitioning and write changes to disk
  • Installing the system
  • Configure the package manager
    • HTTP proxy information(blank for none)
    • Configuring apt
    • Configuring tasksel
      • Install security updates automatically
    • Software selection
      • [*] Samba file server
      • [*] OpenSSH server
    • Install the GRUB boot loader on a hard disk
      • Yes
    • Finish the installation
      • Continue

3、系统配置

3.1 切换更新源
    sudo vim /etc/apt/sources.list
    :%s/cn.archive.ubuntu.com/mirrors.tuna.tsinghua.edu.cn/g
    或:%s/cn.archive.ubuntu.com/mirrors.aliyun.com/g
    sudo apt-get update
    sudo apt-get upgrade
    sudo reboot
3.2 安装编译 Android & Linux 所需包
    sudo apt-get install vim ssh git git-core git-doc git-email \
    rssh ctags vim-doc vim-scripts python python3 dos2unix ascii

    sudo apt-get install gawk wget diffstat zip unzip texinfo \
    tcl uuid uuid-dev  texlive scrollkeeper \
    gcc-multilib g++-multilib libc6-dev-i386 \
    build-essential chrpath socat libsdl1.2-dev \
    flex bison gperf libxml2-utils python-networkx \
    zlib1g zlib1g-dev zlib1g-dev:i386 \
    liblz-dev liblzo2-2 liblzo2-dev  lzop \
    u-boot-tools mtd-utils android-tools-fsutils \
    gettext libgtk2.0-dev rpm m4 libfreetype6-dev \
    libdbus-glib-1-dev liborbit2-dev intltool \
    bc ccache ncurses-dev libtool \
    asciidoc texlive-latex-base dblatex xutils-dev \
    lib32z1 lib32ncurses5  \
    openjdk-8-jdk
3.3 固定 IP 访问

sudo vim /etc/netplan/00-installer-config.yaml

network:
  ethernets:
    eno1:
      addresses:
      - 192.168.xxx.xx/24(固定静态IP)
      gateway4: 192.168.xxx.xxx(默认网关)
      nameservers:
        addresses:
        - 192.168.xxx.xxx(DNS服务器地址)

sudo systemctl restart NetworkManage

三、Ubuntu 20.04 服务器管理

3.1 账号创建

sudo useradd -m -U user-name -s /bin/bash
sudo passwd user-name
sudo smbpasswd -a user-name

3.2 账号删除

删除账号和其home目录所有内容:
sudo userdel -rf user-name

只删除账号,不删除home目录:
sudo userdel user-name

3.3 密码修改

ssh账号
sudo passwd user-name

samba账号
sudo smbpasswd user-name

3.4 添加sudo权限(慎行)

加入sudo group后此账号就会拥有服务器的全部管理权限
sudo usermod -aG sudo test

// 精准控制权限
sudo vim /etc/sudoers

// user-name可以无密码使用sudo权限来运行/usr/bin/rpm和/opt/freescale/ltib/usr/bin/rpm这两个程序  
添加:user-name ALL = NOPASSWD:/usr/bin/rpm, /opt/freescale/ltib/usr/bin/rpm  

3.5 其他指令

3.5.1 who
  • 查询登录状态
  • 账号|console名
  • tty1代表本地登录,pts通常代表远程登录
3.5.2 踢出已登录的账号

sudo pkill -kill -t pts/1

// 踢出前,先通知命令
sudo write test pts/1

write: warning: write will appear from lsa
I will kill you login, please save your work now.
最后使用Ctrl-D结束通知。
3.5.3 wall
  • 给所有登录账号发送信息
  • sudo wall ‘Server will be shut down after 5 minutes.’
所有登录账号都会收到这条通知,像下面的格式:                         
Broadcast message from lsa@LinuxBuildServer (pts/0) (Wed Aug 15 15:42:53 2018):
Server will be shut down after 5 minutes.
3.5.4 ps
  • 查看当前的进程:ps a
  • 查看包括系统进程在内的所有进程列表:ps ax
  • 中止出问题的进程:kill problem-progress
3.5.5 top
  • 查询运行状态
  • 当前服务器的运行状态,包括CPU占用及内存占用等信息
3.5.6 scp
  • 服务器之间拷贝文件命令
  • scp -r src-file/ user-name@192.168.xxx.xx:/home/user-name
  • scp -r user-name@192.168.xxx.xx:/home/user-name/src-file /home/user-name/
3.5.7 ssh切换

ssh -l user-name 192.168.xxx.xx

3.5.8 查看文件夹大小

du -ah --max-depth=1

3.6 问题记录

3.6.1 检测到时钟偏差,文件更改时间与系统时间不同步

find ./ -type f | xargs touch

3.6.2 发起评审时出现invalid committer
原因:本次commit的提交者没有与gerrit上的账号一致
解决方法:
git config user.name XXXX
git config user.email XXXX
git commit --amend --reset-author(弹出界面,不用保存,直接退出即可)
3.6.3 jack-service端口号冲突
// 查看自己端口号是多少? 
cat ~/.jack-settings
cat ~/.jack-server/config.properties

// 判断端口(如8073)是否被占用:
netstat -apn | grep 8073

// 替换两个未被占用的端口号为自己的端口号:
vim ~/.jack-settings
vim ~/.jack-server/config.properties
   
cd prebuilts/sdk/tools/
./jack-admin kill-server
./jack-admin start-server
3.6.4 kernel编译报错error:forbidden warning
原因:GCC高版本默认将警告当成错误处理
vim kernel/scripts/gcc-wrapper.py
屏蔽#interpret_warning(line)
3.6.5 缺少依赖包问题

问题现象:

FAILED: /bin/bash -c "mkisofs -o out/target/product/msm8953_64/system/etc/cdrom_install.iso  device/qcom/msm8953_64/cdrom_res" /bin/bash: mkisofs: command not found

问题解决:
sudo apt install mkisofs

3.6.6 服务器时间与实际时间相差8小时

timedatectl set-timezone Asia/Shanghai

3.6.5 不同版本gcc、python管理

sudo update-alternatives --config gcc
apt-cache policy g+±5
update-alternatives --config python

  • 25
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值