本文主要是对在最新的VirtualBox7上搭建Debian11的笔记记录,方便后续个人回顾,同时搭配对配置的浅析。

sudoers配置

非root用户想要使用sudo命令,需要两个条件:

  1. 系统安装了sudo命令;
  2. 将该用户添加到了/etc/sudoers中;

对于第一点检查是否安装sudo命令,可以使用su -命令切换为root用户,尝试使用sudo命令,同时检查/etc/sudoers这个文件是否存在。如果root使用sudo命令都提示command not found,且/etc/sudoers这个文件也不存在,大概率系统就没有sudo命令,进而几乎所有非root用户都无法使用sudo命令。此时,我们就只能使用root用户来安装sudo命令了(apt-get install sudo),安装好以后会自动创建/etc/sudoers文件。

PS:如果出现尝试安装sudo的时候,也提示无法找到sudo这个包,大概率你没有更新APT,所以先使用命令apt-get update更新下仓库信息。这个时候如果apt-get更新很慢,大概率你没有配置合适的镜像,导致网络很慢。此时,在root用户下,按照下面“APT源配置”方式去配置下APT源,配置好以后再重新尝试安装sudo命令。

当安装好了sudo以及/etc/sudoers也创建好以后,就可以在root用户下去修改/etc/sudoers,把非root用户添加到sudoers里面。

# /etc/sudoers
... ...
root ALL=(ALL:ALL) ALL
用户名 ALL=(ALL:ALL) ALL # 权限含义自行了解
...

将非root用户添加到sudoers以后,如果此时你还在root用户下,则可以使用exit命令退出当前登陆的root用户,回到你一开始的自己用户会话中,然后使用sudo 命令来临时提权执行命令了。

APT源配置

/etc/apt/sources.list

# 默认注释了源码镜像以提高 apt update 速度,如有需要可自行取消注释
deb https://mirrors.tuna.tsinghua.edu.cn/debian/ bullseye main contrib non-free
# deb-src https://mirrors.tuna.tsinghua.edu.cn/debian/ bullseye main contrib non-free
deb https://mirrors.tuna.tsinghua.edu.cn/debian/ bullseye-updates main contrib non-free
# deb-src https://mirrors.tuna.tsinghua.edu.cn/debian/ bullseye-updates main contrib non-free deb https://mirrors.tuna.tsinghua.edu.cn/debian/ bullseye-backports main contrib non-free
# deb-src https://mirrors.tuna.tsinghua.edu.cn/debian/ bullseye-backports main contrib non-free deb https://mirrors.tuna.tsinghua.edu.cn/debian-security bullseye-security main contrib non-free
# deb-src https://mirrors.tuna.tsinghua.edu.cn/debian-security bullseye-security main contrib non-free

配置解析

deb https://mirrors.tuna.tsinghua.edu.cn/debian/ bullseye main contrib non-free

形如如下格式:

deb http://site.example.com/debian/ distribution component1 component2 component3

Archive type

每行的第一个单词,debdeb-src,表示存档的类型。Deb 表示存档包含二进制包 (deb),即我们通常使用的预编译包。Deb-src 表示源码包,它们是原始程序码加上 Debian 控制文件 (.dsc) 和差异.gz包含打包程序所需的更改。

Repository URL

该行的下一个条目是指向要从中下载包的存储库的 URL。Debian 存储库镜像的主要列表位于此处。例如,咱们使用的是清华的镜像,进入该页面会看到如下的FTP界面:

Distribution

发行版本代号 or 发行版代号加-updates-backports-security后缀。例如当前(2022-10-25)Debian最新发行版本为11,代号bullseye。

在上述配置中,我们使用了:bullseysbullseye-updatesbullseye-backports以及bullseye-security(注意,Distribution为bullseye-security时候,URL中的路径对应为debian-security,而不是debian)。

Component

  • main符合 DFSG 标准的软件包组成,这些软件包不依赖于该领域之外的软件来运行。这些软件包被认为是 Debian 发行版中唯一的一部分。
  • contrib 软件包包含 DFSG 兼容的软件,但具有不在 main 中的依赖关系(可能打包为非自由的 Debian)。
  • 非自由软件包含不符合 DFSG 的软件。

当我们通过apt/apt-get进行软件安装的时候,如果出现某些软件找不到,一方面可能软件包名称不对;另一方面,可能是在配置sources.list的时候,main、contrib或者non-free遗漏了配置,导致不会进入这些目录下进行搜索。

基础库

gcc/g++

build-essential包包含了在Linux下开发C/C++基础开发工具与库:

gcc/g++/make/libc6-dev/dpkg-dev等

sudo apt-get install build-essential

git

sudo apt-get install git

CMake

1)apt安装

sudo apt-get cmake

2)如果是源码方式安装,则还可以验证上述的安装gcc/g++等基础开发环境是否OK。

下载源码文件:Download | CMake

进入cmake源码目录,执行配置、构建以及安装(Installing | CMake):

./bootstrap
make
make install

安装完成后,可以调用cmake --version查看版本,检查是否编译并安装成功。

X11

sudo apt-get install libx11-dev

OpenSSL

sudo apt-get install libssl-dev

OpenGL(OpenGL的Library、Utilities以及ToolKit)

sudo apt-get install libgl1-mesa-dev
sudo apt-get install libglu1-mesa-dev
sudo apt-get install freeglut3-dev

dkms

DKMS全称是DynamicKernel ModuleSupport,它可以帮我们维护内核外的驱动程序,在内核版本变动之后可以自动重新生成新的模块。当需要开发Linux内核模块的时候,需要该包。同时,安装VBox增强工具时候,会编译内核文件,故也需要安装。

sudo apt-get install dkms

Linux内核相关包

当前版本Linux内核的头文件。当需要开发Linux内核模块的时候,需要该包。同时,安装VBox增强工具时候,会编译内核文件,故也需要安装。

sudo apt-get install linux-headers-$(uname -r)

安装VBox增强工具

方式一:直接利用VBox的Insert Guest Additions CD image

使用该方式,VBox会自动查找对应的增强工具包CD镜像,并挂在到Debian系统。稍等片刻后,我们可以从桌面上看到一个名为:VBOX_GAs_x.x.x的CD镜像,双击打开后可以直接看到里面的内容:

我们首先把其中的VBoxLinuxAdditions.sh拷贝到桌面,或者任意路径。然后命令界面执行:

sudo sh VBoxLinuxAdditions.run

方式二:命令行处理

如果在纯命令行界面,依然是通过上述的Insert Guest Additions CD image操作。操作完成后,此时相当于我们插入一张包含有增强工具软件的CD光盘。此时,我们需要将“光驱”设备挂在到我们的一个目录上,譬如我们创建一个/media/vbox-cd-content/

sudo mkdir /media/vbox-cd-content/

/dev/cdrom挂载到上述目录:

sudo mount /dev/cdrom /media/vbox-cd-content

进入/media/vbox-cd-content,将里面的所有东西都复制到外部目录(譬如创建一个~/VboxAdditions/):

mkdir ~/VboxAdditions/
sudo cp -R /media/vbox-cd-content/* ~/VBoxAdditions/

复制完成后,我们可以先卸载CD挂载目录:

sudo umount /media/vbox-cd-content/
# 注意点1:umount 不是 unmount!
# 注意点2:如果提示设备Busy,说明这个目录还占用着,比如你还在这个目录里面,可以先退到其他目录。

卸载目录后,我们在看里面是没有内容了。

进入我们拷贝好内容的~/VBoxAdditions/,执行命令,等待完成即可:

sudo sh VBoxLinuxAdditions.run

完成后,重启:

sudo reboot

重启完成后,我们就可以配置一个共享目录来检查是否安装成功。共享目录的配置,网上有很多,这里不再赘述。

这里没有选择Auto-mount自动挂载,那么需要手动挂载。这里点击OK以后,我们进入Linux,可以手动创建一个目录:/media/shared-dir目录,然后通过调用挂载的命令:

sudo mkdir /media/shared-dif/
sudo mount -t vboxsf SharedDir /media/shared-dir

解读下这个命令。首先,-t vboxsf必须要有,该参数是在完成VBox的增强功能安装以后才能使用;其次,SharedDir需要和上述配置共享文件夹配置里面的Folder Name保持一致,代表我要将这个外部对应的目录挂到Linux系统中;最后的/media/shared-dir/就是要挂到当前Linux系统中的那个目录。

完成挂载后,我们可以在宿主系统创建一个文件夹来验证:

可以看到已经将宿主系统里面的hello.txt在Linux读取出来了。

【个人笔记】VirtualBox7+Debian11基础环境搭建的更多相关文章

  1. Maven 学习笔记(一) 基础环境搭建

    在Java的世界里,项目的管理与构建,有两大常用工具,一个是Maven,另一个是Gradle,当然,还有一个正在淡出的Ant.Maven 和 Gradle 都是非常出色的工具,排除个人喜好,用哪个工具 ...

  2. Java学习笔记【一、环境搭建】

    今天把java的学习重新拾起来,一方面是因为公司的项目需要用到大数据方面的东西,需要用java做语言 另一方面是原先使用的C#公司也在慢慢替换为java,为了以后路宽一些吧,技多不压身 此次的学习目标 ...

  3. Spark入门实战系列--2.Spark编译与部署(上)--基础环境搭建

    [注] 1.该系列文章以及使用到安装包/测试数据 可以在<倾情大奉送--Spark入门实战系列>获取: 2.Spark编译与部署将以CentOS 64位操作系统为基础,主要是考虑到实际应用 ...

  4. Solr学习笔记之1、环境搭建

    Solr学习笔记之1.环境搭建 一.下载相关安装包 1.JDK 2.Tomcat 3.Solr 此文所用软件包版本如下: 操作系统:Win7 64位 JDK:jdk-7u25-windows-i586 ...

  5. ESP32学习笔记(一) 环境搭建与下载

    ESP32学习笔记(一) 环境搭建与下载 作者:Nevel 博客:nevel.cnblogs.com 转载请保留出处 前几天刚入手了ESP32模块,趁着放假有时间,我们先把ESP32的编译环境搭建好 ...

  6. EXT 基础环境搭建

    EXT 基础环境搭建使用 Sencha CMD 下载地址 https://www.sencha.com/products/extjs/cmd-download/ Sencha CMD 常用命令 API ...

  7. IOS开发基础环境搭建

    一.目的 本文的目的是windows下IOS开发基础环境搭建做了对应的介绍,大家可根据文档步骤进行mac环境部署: 二.安装虚拟机 下载虚拟机安装文件绿色版,点击如下文件安装 获取安装包:       ...

  8. Spark环境搭建(上)——基础环境搭建

    Spark摘说 Spark的环境搭建涉及三个部分,一是linux系统基础环境搭建,二是Hadoop集群安装,三是Spark集群安装.在这里,主要介绍Spark在Centos系统上的准备工作--linu ...

  9. 【1】windows下IOS开发基础环境搭建

    一.目的 本文的目的是windows下IOS开发基础环境搭建做了对应的介绍,大家可根据文档步骤进行mac环境部署: 二.安装虚拟机 下载虚拟机安装文件绿色版,点击如下文件安装 获取安装包:       ...

  10. (一)Hyperledger Fabric 1.1安装部署-基础环境搭建

    在学习和开发hyperledger fabric的时候遇到了一些坑,现将自己的一些总结和心得整理如下,以期对大家有所帮助.本次使用的宿主机环境:ubuntu,版本:Ubuntu 16.04.3 LTS ...

随机推荐

  1. 案例:DG备库报错ORA-600[2619]致使mrp进程异常终止

    很多刚入行的DBA往往一看有ORA-600这类错误就不知所措,直接就想寻求中高级DBA支持,甚至在网上还看到有人说,判断一个Oracle DBA是否达到中级以上,就是看其是否可以独立思考处理ORA-6 ...

  2. PostgreSQL-查询每个表的大小

    1.查询数据库中单个表的大小(不包含索引) select pg_size_pretty(pg_relation_size('表名')); 2.查询所有表的大小并排序(包含索引) SELECT tabl ...

  3. Kakfa系列丛书推荐之《深入理解Kafka:核心设计与实践原理》

    pdf格式文档下载见下文 编者推荐 本书从Kafka的基本概念入手,主要从生产端.消费端.服务端等3个方面进行全面的陈述,主要内容包括Kafka的基本使用方式.生产者客户端的使用.消费者客户端的使用. ...

  4. JS leetcode 有多少小于当前数字的数字 解题分析,你应该了解的桶排序

    壹 ❀ 引 刷题其实一直没断,只是这两天懒得整理题目...那么今天来记录一道前天做的题,题目本身不难,不过拓展起来还是有些东西可以讲,题目来自leetcode有多少小于当前数字的数字,题目描述如下: ...

  5. NC15172 情人节的电灯泡

    题目链接 题目 题目描述 情人节到了,小芳和小明手牵手,打算过一个完美的情人节,但是小刚偏偏也来了,当了一个明晃晃的电灯泡,小明很尴尬,就和小刚说,我交给你个任务,你完成了我俩就带你玩,否则你就回家吧 ...

  6. NC16641 [NOIP2007]守望者的逃离

    题目链接 题目 题目描述 恶魔猎手尤迪安野心勃勃,他背叛了暗夜精灵,率领深藏在海底的娜迦族企图叛变.守望者在与尤迪安的交锋中遭遇了围杀,被困在一个荒芜的大岛上.为了杀死守望者,尤迪安开始对这个荒岛施咒 ...

  7. 负载均衡load balancing和算法分类概要介绍

    一.负载均衡介绍 1.1 什么是负载均衡 负载均衡(load balancing) 它是计算机的一种技术,用来在计算机集群.网络连接.CPU.磁盘驱动器或其他资源中分配负载,以达到优化资源使用.最大化 ...

  8. Ansible的基本配置

    目录 定义主机和组 主机的定义 主机组的定于 主机组的嵌套 选择主机和组 匹配主机 使用通配符匹配 配置文件优先级 配置文件详解 配置文件段 配置文件参数说明 配置案例 1. 在节点上创建一个普通用户 ...

  9. Windows系统下的输入法选择

    总共用过5款输入法:搜狗拼音输入法,QQ拼音输入法,谷歌拼音输入法,手心输入法,小狼毫. 搜狗输入法功能最强大,词库也很全,基本上对于盲打的输入纠错很准确,但是因为后台会启动多个服务,会占很多内存资源 ...

  10. 【libGDX】加载G3DJ模型

    1 前言 ​ libGDX 提供了自己的 3D 格式模型文件,称为 G3D,包含 g3dj(Json 格式)和 g3db(Binary 格式)文件,官方介绍见 → importing-blender- ...