Linux服务器环境配置
VSCode远程连接开发配置
Mac安装homebrew
/bin/zsh -c "$(curl -fsSL https://gitee.com/cunkai/HomebrewCN/raw/master/Homebrew.sh)"
启动ssh的服务:
systemctl start sshd.service
设置开机自动启动ssh服务
systemctl enable sshd.service
配置远程ssh
在本地创建密钥
ssh-keygen -t rsa -b 4096 -f ~/.ssh/id_rsa-remote-ssh
将公钥上传到服务器
将ssh key放到服务器上
scp ~/.ssh/id_rsa.pub 用户名@ip:/home/id_rsa.pub
此处将用户名和ip换成你的服务器账户和服务器ip。
pbcopy < ~/.ssh/id_rsa-remote-ssh.pub
登录服务器并将公钥放到服务器ssh认证文件中
cat /home/id_rsa.pub >> ~/.ssh/authorized_keys
服务器基本组件安装配置
Ubuntu为例
htop
后台资源监控
- 安装:
apt install htop
- 使用
htop
make
- 安装
apt install make
gedit或vim
编辑
- 安装
apt install gedit
- 使用
gedit 文件路径
aria2
替代wget下载
- 安装
apt install aria2
可以通过 aria2c -h 获取命令帮助。
几个重要的参数:
-d,--dir=<DIR>:下载路径(默认为当前路径)
-i,--input-file=<FILE>:从文件读取要下载的 URIs。可以将要下载的多个 URI 写入到一个文件中,每个 URI 独占一行,然后使用该选项进行下载。
-l,--log<LOG>:写入到指定日志文件。如果指定了-,日志会被输出到stdout。如果未指定或使用空字符串"",则不产生日志。
-j,--max-concurrent-downloads=<N>:设置下载并发数。默认为 5。
-c,--continue [true|false]:断点续传。当前该选项只支持 HTTP(S)/FTP。
-h,--help[=<TAG>|<KEYWORD>]:查看帮助信息。帮助信息按标签进行分类。标签以#开头
-D,--daemon [true|false]:设置以守护进程运行,此时当前工作目录会更改为/,且标准输入,标准输出和标准错误都会被重定向到/dev/null。该选项默认值为:false。
--max-download-limit=<SPEED>:设置最大下载速度。0表示无限制。可以通过在数字后追加K或M表示千字节或兆字节。该选项默认值为:0。
tree
方便浏览目录结构
- 安装
apt-get install tree
Python环境
pip加速
1、添加源
比如添加清华源https://pypi.tuna.tsinghua.edu.cn/simple:
pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple
2、删除源
pip config unset global.index-url
3、查看现在用的哪个源
pip config list
安装conda
X86环境
- 下载:
清华镜像源:https://mirrors.tuna.tsinghua.edu.cn/help/anaconda/
选择合适版本,下载:
wget https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/Anaconda3-5.3.1-Linux-x86_64.sh
- 安装
1、在文件下载的目录下打开终端
2、运行.sh文件
bash Anaconda3-5.3.1-Linux-x86_64.sh
3.进入注册信息页面,输入yes;
4、阅读注册信息,然后输入yes;查看文件即将安装的位置,按enter,即可安装
5、安装完成后,收到加入环境变量的提示信息,输入yes
6、重启终端,即可使用Anaconda3;
7、若在终端输入python,仍然会显示Ubuntu自带的python版本,我们执行:
sudo gedit ~/.bashrc
在文件末尾添加 export PATH=”/home/xupp/anaconda3/bin:$PATH”
在终端执行
source ~/.bashrc
即可使用conda命令
- conda加速
1、添加源
比如清华源:
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/
conda config --set show_channel_urls yes
2、删除源
conda config --remove-key channels
3、查看现在用的是哪些源
conda config --show channels
也可以使用
conda config --show-sources
4、/root/.condarc
为配置文件所在位置
ARM环境
arm平台有专门的anaconda,叫做miniconda,用法和anaconda差不多
下载地址:https://repo.anaconda.com/miniconda/
例如:
wget https://repo.anaconda.com/miniconda/Miniconda3-py39_4.9.2-Linux-aarch64.sh
Linux内核环境配置
Linux不同版本内核安装
查看Linux版本
cat /etc/redhat-release
查看内核版本
uname -r
解压内核压缩包
tar xf linux-2.6.30.tar.gz
Linux内核源码安装流程
1,安装依赖
yum -y install gcc
yum -y install gcc-c++
yum install make
-- 或者
yum groupinstall "Development Tools"
-- 或者
yum install gcc gcc-c++ kernel-devel
--安装ncurses
yum install gcc make ncurses ncurses-devel perl
yum update
2,下载源码包
cd /tmp
wget https://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.32.26.tar.bz2
bzip2 -d linux-2.6.32.26.tar.bz2
tar -xvf linux-2.6.32.26.tar -C /usr/src/
3,安装前配置
cd /usr/src/linux-2.6.32.26/
make menuconfig
""" 此命令运行将弹出"kernel configuration"界面 """
""" 按"ESC",点"YES"退出即可 """
""" 如需定制内核,请按提示进行选择 """
make oldconfig
""" 如果定制内核,则不需要此步 """
""" 为要编译的内核源码使用当前系统内核配置文件 """
""" 当前目录下将会创建 ".config" 文件 """
4,编译安装
make [-jn]
""" n 为数字,如:make -j4 拆分 4 个作业任务并行编译,加快编译速度 """
""" 使用 make -j 则不限制并行编译的任务数,但是出错率可能会高一些 """
""" 如果不使用任何编译参数,一两个小时也是很常见的 """
make modules_install --安装内核模块
make install --安装内核
reboot
5,验证并测试
uname -a
Centos7上源码编译安装llvm 11.0.0
1. 下载llvm-project
直接通过git clone,由于项目文件非常多,所以size很大。试了几次一直超时失败,无奈只能下载压缩包。
报错:
error: RPC failed; curl 18 transfer closed with outstanding read data remaining
fatal: The remote end hung up unexpectedly
fatal: early EOF
fatal: index-pack failed
解决:https://blog.csdn.net/it_liuchengli/article/details/77040806
下载压缩包 llvm-project-11.0.0.tar.xz,这个xz文件大小约80M。
解压:xz -d llvm-project-11.0.0.tar.xz,生成了一个 802M 的tar包。
再解:tar -xvf llvm-project-11.0.0.tar ,生成一个 ./llvm-project-11.0.0 目录
cd llvm-project-11.0.0
2. 升级gcc版本
编译llvm,需要gcc至少为 5.1版本,centos默认安装的是 gcc 4.8.5。
按照如下步骤升级了 gcc 到 7.3.1。
yum install centos-release-scl
yum install devtoolset-7
当前登陆session生效
scl enable devtoolset-7 bash
source /opt/rh/devtoolset-7/enable
执行下列命令,永久生效
echo "source /opt/rh/devtoolset-7/enable" >> ~/.bash_profile
source /opt/rh/devtoolset-7/enable
查看版本,已经是 7.3.1 了
[root@localhost Downloads]# gcc --version
gcc (GCC) 7.3.1 20180303 (Red Hat 7.3.1-5)
Copyright (C) 2017 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
3. 编译安装llvm
在 llvm-project-11.0.0 目录中创建一个build目录
mkdir build
cd build
然后开始编译:
其中 -DLLVM_ENABLE_RTTI=ON 这个选项需要重点说明一下。由于我的目的是为了研究bpf技术,所以不可避免的会涉及到编译安装bpftrace这个工具。在编译bpftrace工程的时候如果没有打开 LLVM 的RTTI,会导致编译失败。而这个编译选项默认是关闭的,所以这里必须明确打开这个功能。
此命令用于检测 llvm 是否包含 rtti 特性
cmake -DCMAKE_BUILD_TYPE=Release -DLLVM_ENABLE_RTTI=ON -DLLVM_ENABLE_PROJECTS="clang;libcxx;libcxxabi" -G "Unix Makefiles" ../llvm
然后 make,这个过程需要很长时间。
make成功,然后再 make install
报错可能需要 sudo make install
clang 11.0.0,安装成功