Ubuntu18.04安装linux-lab

Ubuntu18.04安装linux-lab

本文主要目的是搭建linux内核实验环境

因为工作需要所以学习linux内核,目前主要根据《linux内核完全注释》和《自己动手写操作系统》进行学习,众所周知,编程的学习是要和实操相结合的,《自己动手写操作系统》中提到的实验环境是Virtual PC搭建的,太古老了,也太麻烦了。后面在找寻更新更方便的环境搭建工具的时候,发现了linux-lab这个开源项目,这个项目的目的就是linux内核的学习,里面提供了各种linux内核实验环境的搭建。

docker安装

  • 更新软件库安装docker依赖
sudo apt-get update
sudo apt-get install apt-transport-https ca-certificates curl gnupg lsb-release
  • 添加Docker官方GPG密钥

    curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
    
  • 添加Docker官方存储库

    echo "deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
    
  • 安装Docker引擎

    sudo apt-get update
    sudo apt-get install docker-ce docker-ce-cli containerd.io
    
  • 启动Docker服务并将其设置为开机启动

    sudo systemctl start docker
    sudo systemctl enable docker
    
  • 验证Docker是否正确安装

    sudo docker run hello-world
    

    运行该命令后,您应该会看到一条消息,确认Docker已正确安装并正在运行

linux-lab安装

  • 下载
git clone https://gitee.com/tinylab/cloud-lab.git
cd cloud-lab && tools/docker/choose linux-lab
  • 安装
tools/docker/run            # 加载镜像,拉起一个 Linux Lab 容器

  • 快速尝鲜

执行 tools/docker/webvnc 后会打开一个 VNC 网页,根据 console 提示输入密码登陆即可,之后打开桌面的 Linux Lab 控制台并执行:

make boot

启动后,会打印如下登陆提示符,输入 root,无需密码直接按下 Enter 键即可,后续即可以在这个环境进行测试编译linux内核了。

意外事件流处理

  • 安装完docker后,执行docker相关命令,报错
Got permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Get http://%2Fvar%2Frun%2Fdocker.sock/v1.26/images/json: dial unix /var/run/docker.sock: connect: permission denied

大概的意思就是:docker进程使用Unix Socket而不是TCP端口。而默认情况下,Unix socket属于root用户,需要root权限才能访问。

解决方法1

使用sudo获取管理员权限,运行docker命令

解决方法2

docker守护进程启动的时候,会默认赋予名字为docker的用户组读写Unix socket的权限,因此只要创建docker用户组,并将当前用户加入到docker用户组中,那么当前用户就有权限访问Unix socket了,进而也就可以执行docker相关命令

sudo groupadd docker     #添加docker用户组
sudo gpasswd -a $USER docker     #将登陆用户加入到docker用户组中
newgrp docker     #更新用户组
docker ps    #测试docker命令是否可以使用sudo正常使用

参考资料

Linux 内核实验环境

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值