Linux开发环境配置


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安装配置

在本地创建密钥
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,安装成功

Linux文章推荐


文章作者: 杰克成
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 杰克成 !
评论
  目录