CSAPP实验环境搭建(macOS)

环境概览:VScode + docker + ubuntu18.04

想要完成CSAPP中的各个实验,首先就需要搭建一个实验环境。这里以Docker搭建ubuntu18.04作为实验环境,并通过VScode完成对ubuntu18.04的远程连接

step1:下载必要软件

  • 安装docker
    下载地址:https://docs.docker.com/desktop
  • 安装VSCode
    下载地址:https://code.visualstudio.com/download

step2:配置Linux

这里Linux选择ubuntu18.04,具体配置步骤如下:

  • 从仓库拉取系统镜像
docker pull ubuntu:18.04
  • 创建容器
docker container run -it -p 7777:22 -v /Users/xxxx/Desktop/csapp:/csapp --name=csapp_env  ubuntu:18.04 /bin/bash

其中,
-p 7777:22:设置端口映射,将tcp22端口转发到7777(后续将通过该端口对容器进行访问),与已占用端口不冲突的情况下可以自由设置
-v /Users/xxxx/Desktop/csapp:/csapp:将服务器目录与容器目录进行共享,方便本地与服务器(创建的Linux系统)之间的文件共享
ubuntu:18.04:拉取的镜像名称。

  • 更新apt软件源
apt-get update
  • 安装sudo
apt-get install sudo
  • 安装c/c++编译环境
sudo apt-get install build-essential
  • 补充gcc的完整环境(gcc-multilib)
sudo apt-get install gcc-multilib
  • 安装gdb
sudo apt-get install gdb

step3:安装并配置SSH服务

  • 安装openssh与vim
sudo apt-get install -y openssh-server
sudo apt-get install vim
  • ssh配置
vim /etc/ssh/sshd_config

修改SSH配置文件,去掉以下选项的#注释

Port 22                     #开启22端口
PermitRootLogin yes         #允许root用户使用ssh登录
RSAAuthentication yes       #启用 RSA 认证
PubkeyAuthentication yes    #启用公钥私钥配对认证方式
AuthorizedKeysFile          .ssh/authorized_keys .ssh/authorized_keys2      #公钥文件路径
  • 重启ssh服务
service ssh restart

step4:SSH服务自启动配置

尽管容器内安装了ssh服务,但每次关闭容器重启后,ssh将恢复停止状态,每次进入容器时需要重新启动ssh服务:service ssh restart,否则远程连接将失败,因此我们在这里利用脚本来实现ssh服务的自动启动:

vim /root/startup_run.sh

写入

#!/bin/bash

LOGTIME=$(date "+%Y-%m-%d %H:%M:%S")
echo "[$LOGTIME] startup run..." >>/root/startup_run.log
service ssh start >>/root/startup_run.log
#service mysql start >>/root/startup_run.log

添加文件权限:

chmod +x /root/startup_run.sh

打开启动文件:

vim /root/.bashrc

把脚本命令添加到文件末尾:

# startup run
if [ -f /root/startup_run.sh ]; then
      /root/startup_run.sh
fi

最后,生效.bashrc:

source ~/.bashrc

至此ssh的自动启动就实现了。

step4:VSCode连接Linux

  • 安装插件remote ssh
    安装ssh示意图
  • 打开查找栏(ctr+shift+p),输入remote-ssh,选择open Configuration file
  • 填写配置文件
    在这里插入图片描述
  • 打开远程资源管理器,选择刚才配置好的host进行SSH连接
    在这里插入图片描述
  • 输入root账户密码
    在这里插入图片描述
  • 找到csapp文件夹,进行实验
    在这里插入图片描述
    至此实验所需环境搭建完毕。
  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 7
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值