ORB-SLAM2项目的准备工作及其程序的编译(途中解决各种疑难杂症)

    科技2026-09-25  16

    ORB-SLAM2程序的准备工作及编译(途中解决各种疑难杂症)

    第一步(Prerequisites):准备各种库和预备包第二步(Building):建立ORB-SLAM2库第三步(Running):编译与调试

    第一步(Prerequisites):准备各种库和预备包

    1.首先要确定是否安装了C++11或者C++0x编译器 没有安装的,可以用命令: 1.1 更新包列表:

    sudo apt update

    1.2 安装build-essential软件包:

    sudo apt install build-essential

    这个命令会安装一堆新包,包括gcc,g++和make,耐心等待即可。 1.3最后可以验证GCC编译器是否成功安装:

    gcc --version

    输出: gcc (Ubuntu 7.4.0-1ubuntu1~18.04) 7.4.0 Copyright © 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.

    2.下载Pangolin包, 2.1参考这个链接(可以现在windows上下载号tgz,再解压成文件复制到ubutun里) 或命令(推荐):

    git clone https://github.com/stevenlovegrove/Pangolin.git

    2.2 编译安装

    cd Pangolin mkdir build cd build cmake .. make -j4 sudo make install

    (1)在执行make -j4的时候可能会遇到如下问题:No package 'xkbcommon’ 解决这个问题,执行如下命令:

    sudo apt-get install libxkbcommon-dev

    (2)也可能遇到问题:No package ‘wayland-protocols’ found 解决方法:

    sudo apt-get install wayland-protocols

    然后依次执行上面的命令,make -j4执行成功如下图所示: 3.依赖项: c++11 OpenGL (Desktop / ES / ES2)

    sudo apt install libgl1-mesa-dev

    Glew

    sudo apt install libglew-dev

    CMake (for build environment)

    sudo apt install cmake

    Python2 / Python3, for drop-down interactive console

    sudo apt install libpython2.7-dev

    Wayland pkg-config

    sudo apt install pkg-config

    Wayland and EGL

    sudo apt install libegl1-mesa-dev libwayland-dev libxkbcommon-dev wayland-protocols

    Building

    git clone https://github.com/stevenlovegrove/Pangolin.git cd Pangolin mkdir build cd build cmake .. cmake --build .

    Python

    sudo python -mpip install numpy pyopengl Pillow pybind11 git submodule init && git submodule update

    The python module pypangolin must be on your python path, either through installation, or by setting it explicitly: (输入自己的pypangolin路径)

    import sys sys.path.append('path/of/pypangolin.so')

    4.下载并安装OpenCV(至少是2.4.3版本以上的,这里下载的是OpenCV 3.2 source) 也可以通过指令下载:

    git clone https://github.com/Itseez/opencv.git git clone https://github.com/Itseez/opencv_contrib.git

    (一定要下载对应的opencv_contrib)!!!(我就是下载了不对应的报了若干若干若干的错误!!!!) 这个过程需要等待一段时间,具体依赖与你的网速啦,下载成功后,可以在你的home目录下看见opencv和opencv_contrib两个文件夹,将opencv_contrib目录移到opencv目录下。

    在下载的过程中,我们可以添加opencv所需要的依赖库:

    sudo apt-get install build-essential sudo apt-get install cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev sudo apt-get install python-dev python-numpy libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev libjasper-dev libdc1394-22-dev

    以上步骤完成后,我们进入opencv目录,创建build目录:

    cd opencv mkdir build

    进入build目录,开始编译,执行(注意后面的两个点不能少):

    cd build cmake -D CMAKE_INSTALL_PREFIX=/usr/local -D CMAKE_BUILD_TYPE=Release -D OPENCV_EXTRA_MODULES_PATH=../opencv_contrib/modules ..

    在执行cmake指令的时候,需要下载一个ippicv_linux_20151201.tgz文件,如果网不好,可能会卡在: ICV: Downloading ippicv_linux_20151201.tgz… 这时候可以单独下载 ippicv_linux_20151201.tgz文件:文件大小36.5MB,下载链接:https://raw.githubusercontent.com/Itseez/opencv_3rdparty/81a676001ca8075ada498583e4166079e5744668/ippicv/ippicv_linux_20151201.tgz 下载后放到 ‘/opencv-3.2.0/3rdparty/ippicv/downloads/linux-808b791a6eac9ed78d32a7666804320e/’ 文件夹下再重新cmake就行了。

    5.ROS的下载(可选可不选):RGB-D,stereo等样例要用到ROS。

    第二步(Building):建立ORB-SLAM2库

    1.克隆储存库:

    git clone https://github.com/raulmur/ORB_SLAM2.git ORB_SLAM2

    若git指令没找到,即出现: 运行:

    sudo apt install git

    继续运行上面的git指令:

    git clone https://github.com/raulmur/ORB_SLAM2.git ORB_SLAM2

    执行:

    cd ORB_SLAM2 chmod +x build.sh ./build.sh

    在这里出错了: 真正的问题是:configure: error: no acceptable C compiler found in $PATH

    解决方法:执行 yum install gcc-c++

    然后继续make 可以正常执行。

    所以安装:yum

    1.1 打开终端,首先安装build-essential程序包,输入命令:

    apt-get install build-essential

    已满足。 1.2 接着安装yum,输入命令:

    apt-get install yum

    1.3 安装完成,但是没有源,不能直接使用yum来安装软件,于是尝试着把fedora上的源放到ubuntu上使用。首先进入网址下载fedora-163.repo和fedora-updates-163.repo这两个文件, 并复制到/etc/yum/repos.d/目录下。 利用cd进入下载的文件夹,复制:

    sudo cp fedora-163.repo /etc/yum/repos.d/ sudo cp fedora-updates-163.repo /etc/yum/repos.d/

    1.4 复制完成后编辑这两个文件,将$releasever全部替换成17(其他的数字也可以,这个表示fedora的发行版本)。替换命令为:起始行,终止行s/被替换内容/替换内容/g,即

    1,29s/$releasever/17/g 1,29s/$releasever/g

    这时候,出现了文件只允许读,不允许写的状况。 所以打开文件(为这里用的vim),编辑结束后,加上:

    :w !sudo tee %

    输入密码 一直按enter键确认 完成编辑 1.5 最后运行命令:

    yum makecache

    来生成缓存。之后就可以使用yum了,但是如果你想直接使用yum安装软件可要小心点,因为你的系统并不是fedora,最多相当于一个没有安装任何软件的fedora。

    这时候出现了一个致命的错误:

    Error: Cannot retrieve repository metadata (repomd.xml) for repository: fedora

    在 and google上查阅了大量资料,根本无济于事,误人子弟。这个问题其实就是链接打不开 下面介绍解决措施:

    1.5.1 删除路径/etc/yum.repos.d/下的fedora-163.repo和fedora-updates-163.repo文件,然后在/etc/yum.repos.d目录中建立fedora.repo文件。 Tip:删除文件的命令: 强制删除文件夹并提示

    sudo rm -r 文件夹名

    强制删除文件夹不提示 (最暴力)

    sudo rm -rf 文件夹名

    可按照配置生成器进行repo文件的生成,并根据提示保存配置, 在fedora.repo文件中输入:

    [fedora] name=Fedora $releasever - $basearch baseurl=http://mirrors.zju.edu.cn/fedora/releases/$releasever/Everything/$basearch/os/ enabled=1 gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-fedora-$basearch [fedora-debuginfo] name=Fedora $releasever - $basearch baseurl=http://mirrors.zju.edu.cn/fedora/releases/$releasever/Everything/$basearch/debug/ enabled=1 gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-fedora-$basearch [fedora-source] name=Fedora $releasever - $basearch baseurl=http://mirrors.zju.edu.cn/fedora/releases/$releasever/Everything/source/SRPMS/ enabled=1 gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-fedora-$basearch [updates] name=Fedora $releasever - $basearch baseurl=http://mirrors.zju.edu.cn/fedora/updates/$releasever/$basearch/ enabled=1 gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-fedora-$basearch [updates-debuginfo] name=Fedora $releasever - $basearch baseurl=http://mirrors.zju.edu.cn/fedora/updates/$releasever/$basearch/debug/ enabled=1 gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-fedora-$basearch [updates-source] name=Fedora $releasever - $basearch baseurl=http://mirrors.zju.edu.cn/fedora/updates/$releasever/SRPMS/ enabled=1 gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-fedora-$basearch

    显然这个baseurl不能用,所以换用国内的源(镜像站点),推荐中科大、阿里云、浙大、网易等的源。 1.5.2 查找对应的路径: 1.5.3 替换baseurl:

    [fedora] baseurl=https://archives.fedoraproject.org/pub/archive/fedora/linux/releases/17/Everything/x86_64/os/ [fedora-debuginfo] baseurl=https://archives.fedoraproject.org/pub/archive/fedora/linux/releases/17/Everything/x86_64/debug/ [fedora-source] baseurl=https://archives.fedoraproject.org/pub/archive/fedora/linux/releases/17/Everything/source/SRPMS/ [updates] baseurl=https://archives.fedoraproject.org/pub/archive/fedora/linux/releases/17/Everything/ [updates-debuginfo] baseurl=https://archives.fedoraproject.org/pub/archive/fedora/linux/releases/17/Everything/x86_64/debug/ [updates-source] name=Fedora $releasever - $basearch baseurl=https://archives.fedoraproject.org/pub/archive/fedora/linux/releases/17/Everything/source/SRPMS/

    1.5.4 运行命令:

    yum makecache

    成功。 继续运行命令:

    cd ORB_SLAM2 chmod +x build.sh ./build.sh

    报错: google上的解决措施 这实际上是Opencv的版本的问题,还记得我说过opencv版本要对应,于是下载opencv 3.4.1: 命令:

    get -O opencv-3.4.1.zip https://github.com/Itseez/opencv/archive/3.4.1.zip官网

    安装依赖库:

    sudo apt-get install build-essential libgtk2.0-dev libavcodec-dev libavformat-dev libjpeg.dev libtiff5.dev libswscale-dev libjasper-dev

    在opencv-3.4.1文件夹的目录下创建编译文件夹build,进入~/opencv-3.4.4/build,执行cmake

    mkdir build cd build cmake -D CMAKE_BUILD_TYPE=Release –D CMAKE_INSTALL_PREFIX=/usr/local ..

    执行make

    sudo make

    执行make install命令

    sudo make install

    配置OpenCV的编译环境,目的是让系统找到OpenCV的库的路径,打开编写一个空白的文件opencv.conf

    sudo gedit /etc/ld.so.conf.d/opencv.conf

    在opencv.conf中添加如下内容

    /usr/local/lib

    使刚配置路径生效

    sudo ldconfig

    打开bash文件,配置bash

    sudo gedit /etc/bash.bashrc

    在打开的bash.bashrc的最末尾添加如下代码

    PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig export PKG_CONFIG_PATH

    保存关闭文件,使刚才的配置生效 2.安装Eigen 使用命令

    sudo apt-get install libeigen3-dev

    官网:Egien 3.进入ORB_SLAM2目录,给build.sh文件可执行权限,编译ORB-SLAM2,运行如下命令

    cd ORB_SLAM2 chmod +x build.sh ./build.sh

    编辑bash文件

    sudo gedit ~/.bashrc

    将包含Examples/ROS/ORB_SLAM2的路径添加到ROS_PACKAGE_PATH环境变量中。打开.bashrc文件并在最后添加的内容如图所示 ![在这里插入图片描述](https://img-blog.csdnimg.cn/20201012214541408.png#pic_center

    第三步(Running):编译与调试

    问题一:usleep问题(致命) 解决usleep问题:在ORB-SLAM2中的include文件夹里面的system.h加入#include<unistd.h> 打开Thirdparty/g2o/g2o/solvers/linear_solver_eigen.h 将以下代码:

    template <typename MatrixType> class LinearSolverEigen: public LinearSolver<MatrixType> { public: typedef Eigen::SparseMatrix<double, Eigen::ColMajor> SparseMatrix; typedef Eigen::Triplet<double> Triplet; typedef Eigen::PermutationMatrix<Eigen::Dynamic, Eigen::Dynamic, SparseMatrix::Index> PermutationMatrix;

    修改为:

    template <typename MatrixType> class LinearSolverEigen: public LinearSolver<MatrixType> { public: typedef Eigen::SparseMatrix<double, Eigen::ColMajor> SparseMatrix; typedef Eigen::Triplet<double> Triplet; typedef Eigen::PermutationMatrix<Eigen::Dynamic, Eigen::Dynamic, int> PermutationMatrix;

    或运行时出现如下错误 解决办法:在~/home/crown/Desktop/ORB_SLAM2/Examples/ROS/ORB_SLAM2/文件夹下修改CMakeLists.txt文件,在set(LIBS…)后面添加如下的一句话,井使它生效

    -lboost_system

    问题二:install cimpiler error:killed(program cciplus) 直接关机重启就好了。 问题三: ERROR: cannot download default sources list from: https://raw.githubusercontent.com/ros/rosdistro/master/rosdep/sources.list.d/20-default.list Website may be down. 解决办法: 1.直接运行sudo chmod 777 /etc,避免出现mkdir无法创建该包的错误.,如下图 2.自己相应文件夹下/etc/ros/rosdep/sources.list.d去创建目录 20-default.list 效果如下: 问题5.在home打开终端继续执行命令,会出现另外的错 ERROR: default sources list file already exists: /etc/ros/rosdep/sources.list.d/20-default.list Please delete if you wish to re-initialize 解决办法:sudo rm /etc/ros/rosdep/sources.list.d/20-default.list 问题5: /src/ros_rgbd.cc:35: /home/mango/catkin_ws/src/ORB_SLAM2/Examples/ROS/ORB_SLAM2/…/…/…/Thirdparty/g2o/g2o/types/…/core/jacobian_workspace.h:30:10: fatal error: Eigen/Core: No such file or directory #include <Eigen/Core> ^~~~~~~~~~~~ compilation terminated. 分别将se3_ops.h、se3quat.h…等等出现问题的XXX.h文件找到,打开将里面的

    #include <Eigen/Core>

    问题6:出现error:'usleep’问题(最多的!) 解决办法:根据提示哪个文件有这个问题,将它找到,在引入头文件地方添加如下

    #include<unistd.h>

    或者在/home/crown/ORB_SLAM2/include/system.h 添加

    #include<unistd.h>

    问题7:在编译ORB-SLAM2时,出现cpp项目编译时报错: c++: internal compiler error: Killed 原因是内存不够,并且没swap,增加swap 解决办法

    sudo -s dd if=/dev/zero of=/tmp/newdisk bs=1M count=8000 du -sh /tmp/newdisk mkswap -f /tmp/newdisk free -m chmod 0600 /tmp/newdisk swapon /tmp/newdisk free -m

    下载数据集 有TUM、KITTI、EuRoC三种数据集,本实验使用TUM数据集,从下载序列并解压缩。 编译 PATH_TO_SEQUENCE_FOLDER为数据集的存储路径,并将tumx.yaml与下载的数据集对应,比如TUM1.yaml,TUM2.yaml 和TUM3.yaml 分别对应 freiburg1, freiburg2 和 freiburg 我的数据集放在/home/crown/Desktop/Dataset-slam目录下

    ./Examples/Monocular/mono_tum Vocabulary/ORBvoc.txt Examples/Monocular/TUM1.yaml /home/mango/catkin_ws/src/rgbd_dataset_freiburg1_xyz

    执行以下命令。KITTIX.yaml分别将序列0到2、3和4到12 更改为KITTI00-02.yaml,KITTI03.yaml或KITTI04-12.yaml。更改PATH_TO_DATASET_FOLDER未压缩的数据集文件夹。更改SEQUENCE_NUMBER为00,01,02,…,11。 运行步骤和上面一样:

    ./Examples/Stereo/stereo_kitti Vocabulary/ORBvoc.txt Examples/Stereo/KITTIX.yaml PATH_TO_DATASET_FOLDER/dataset/sequences/SEQUENCE_NUMBER

    上面青色就是要修改的部分,其中“PATH_TO_DATASET_FOLDER”就是要找到你要运行的数据集的位置,你要找到你下载的数据集关键文件夹“dataset/sequences/”在哪。然后一步步执行。我保存并运行的是序列00数据,且保存在Data/KITTI目录下 所以就是

    ./Examples/Stereo/stereo_kitti Vocabulary/ORBvoc.txt Examples/Stereo/KITTI00-02.yaml Data/KITTI/data_odometry_gray/dataset/sequences/00

    Tip: 1.(font)字体 infinality字体渲染 The default font is ugly. Copy Microsoft’s truetype font is not a good method, it’s nasty.(默认字体不是很好看,而且复用微软的真实类型字体不是一个好方法,这很不好。) I use infinality. Though the website don’t update anymore. First, download fontconfig-infinality and freetype-infinality: (使用无限式。 虽然网站不再更新。首先,下载fontconfig-infinality和freetype-infinality)

    wget http://www.infinality.net/fedora/linux/20/noarch/fontconfig-infinality-1-20130104_1.noarch.rpm wget http://www.infinality.net/fedora/linux/20/x86_64/freetype-infinality-2.4.10-1.20120615_01.fc17.x86_64.rpm

    然后使用rmp指令安装:

    sudo rpm -ivh fontconfig-infinality-1-20130104_1.noarch.rpm freetype-infinality-2.4.10-1.20120615_01.fc17.x86_64.rpm

    可以手动的解决… then, set the font renderr style using infinality script. I choose osx style. the command is:(然后选择一个风格:)

    sudo /etc/fonts/infinality/infctl.sh setstyle

    MONACO字体 用MONACO作为等宽字体。

    wget http://jsdx.sc.chinaz.com/Files/DownLoad/font2/908.rar # 下载MONACO字体 sudo yum install unrar # 下载unrar: unrar x 908.rar # 解压 cd 908 sudo mkdir -p /usr/share/fonts/my_font sudo mv MONACO.TTF /usr/share/fonts/my_font/ sudo mkfontscale sudo mkfontdir sudo fc-cache -fv # 更新字体缓存

    opencv 用指令下载opencv:

    yum list *opencv*

    或者也可以使用合适的安装包去下载:

    sudo yum install opencv-core opencv opencv-devel opencv-python

    close SELinux SELinux is useless for common people. Just close it.(SELinux是基本无用,还不如减少内存,关了它)

    sudo vim /etc/selinux/config

    改变目录:

    # This file controls the state of SELinux on the system. # SELINUX= can take one of these three values: # enforcing - SELinux security policy is enforced. # permissive - SELinux prints warnings instead of enforcing. # disabled - No SELinux policy is loaded. SELINUX=disabled # here we modify "enforcing" to "disabled" # SELINUXTYPE= can take one of these three values: # targeted - Targeted processes are protected, # minimum - Modification of targeted policy. Only selected processes are protected. # mls - Multi Level Security protection. SELINUXTYPE=targeted

    chrome First, download chrome. I don’t like using a repo for chrome, since every time the system updates, it speed down.

    wget https://dl.google.com/linux/direct/google-chrome-stable_current_x86_64.rpm

    then use yum to download depences:

    yum install redhat-lsb yum install libXScrnSaver

    now let’s install chrome:

    sudo rpm -ivh google-chrome-stable_current_x86_64.rpm

    python

    这里配置了python、python-devel以及pip

    sudo dnf install python python-devel python-pip

    然后创建pip的用户自配置文件,使用阿里云的源来加速访问,即创建并编辑~/.pip/pip.conf,内容为:

    [global] index-url = http://mirrors.aliyun.com/pypi/simple/ [install] trusted-host=mirrors.aliyun.com

    git git配置ssh

    ssh-keygen -t rsa -C "zchrissirhcz"//注意。zchrissirhcz为用户名 //然后三次回车 cat /home/forwhat.cn/.ssh/id_rsa.pub //复制cat出来的内容

    然后到github上个人账户设置中配置SSH Keys:把cat出来的内容贴上去 vim I use vundle to manage my vim plugins.

    sudo yum install vim git clone https://github.com/gmarik/vundle.git ~/.vim/bundle/vundle mkdir -p workspace/gitwhat cd workspace/gitwhat git clone https://github.com/zchrissirhcz/dotfiles mkdir -p ~/.vim/colors cp molokai.vim ~/.vim/colors

    then open vim and do bundle install:

    :BundleInstall

    fcitx输入法 不必卸载默认的ibus。

    sudo yum install fcitx-pinyin sudo yum install fcitx-configtool sudo yum install im-chooser gsettings set org.gnome.settings-daemon.plugins.keyboard active false im-chooser

    弹出的对话框中选择fcitx。重启后可以使用。 配置: 使用 fcitx-configtool 进行配置。 在全局配置的快件键->显示高级选项中,我把切换激活/非激活输入法设定为左shift,输入法切换键设定为Ctrl+Space。

    如果ctrl+空格无法设定,结果显示是LCtrl,也就是左Control键。这种情况是你的Ctrl+Space被别的程序捕获了,比如我在系统设置->全部设置->键盘->快捷键->打字->切换至下个输入源,这里设定为了Ctrl+Space,这里改掉,fcitx那里就可以设定Ctrl+Space来激活输入法了。

    快捷键 配置开启终端快捷键 设置->键盘->快捷键->自定义快捷键->添加:

    name:terminal command:/usr/bin/gnome-terminal #按键设定为Ctrl+Alt+T

    配置截屏快捷键

    mkdir ~/bin cd ~/bin vim screenshot

    添加如下内容:

    #!/bin/bash gnome-screenshot -ai

    添加软链接并添加可执行权限:

    sudo ln -sf /home/chris/bin/screenshot /usr/bin/screenshot chmod +x ~/bin/screenshot

    最后到:设置->键盘->快捷键->自定义快捷键->添加:

    name:screenshot command:screenshot #按键设定为Ctrl+Alt+Q

    美化终端显示[(安装Arc GTK主题(7k+))] 1.直接在 Ubuntu 16.04 LTS 的「终端」中使用如下命令先行添加 Arc GTK theme 源之后进行安装:

    sudo sh -c "echo 'deb http://download.opensuse.org/repositories/home:/Horst3180/xUbuntu_16.04/ /' >> /etc/apt/sources.list.d/arc-theme.list"

    2.要让 Arc GTK 主题源难免正常工作并定期收到主题更新,还需要安装在终端中执行如下命令安装软件源的密钥,不然无法正常使用:

    wget http://download.opensuse.org/repositories/home:Horst3180/xUbuntu_16.04/Release.key sudo apt-key add - < Release.key

    3.上面第一行代码会自动下载 Arc GTK theme repository key,第二行代码会导入并启用软件 repo,当系统提示「OK」时表示已经导入成功,此时使用如下命令便可开始安装 Arc GTK 主题:

    sudo apt update sudo apt install arc-theme

    4.主题安装好之后,我们还是使用 Unity Tweak Tool 来对其进行激活使用。Ubuntu 16.04 LTS 的官方源中已经提供了 Unity Tweak Tool,使用如下命令进行安装:

    sudo apt install unity-tweak-tool

    5.打开 Unity Tweak Tool 工具,在「主题」选项的 GTK 主题列表中选择喜欢的 Arc GTK 主题系列(Arc、Arc-dark 或 Arc-darker 主题)即可。

    取消终端下光标闪烁

    gsettings set org.gnome.desktop.interface cursor-blink false

    virtualbox虚拟电脑目录的移动 比如原来放在$HOME下,现在空间不够了,但是/opt是有空间的。怎样移动过去呢?

    先用命令移动整个目录到目标位置 再设置全局的虚拟电脑目录(管理-》全局设定-》默认虚拟电脑位置) (可能要修改/etc下的一个vbox配置文件) 然后发现原来的vbox都报错了打不开 刷新也没用 在vbox主界面中删除原有的vbox 在vbox主界面 控制-》注册-》选择新位置的vdi文件 vdi文件扩容

    VBoxManage modifyhd <uuid>|<filename> [--resize <megabytes>|--resizebyte <bytes>]

    比如:

    vboxmanage modifyhd fedora22.vdi --resize 20480

    然后进入系统(你当然是要在关闭它时候才修改vdi文件大小的。。),发现还是原来容量,但是有了一块‵空闲区域`。 fdisk命令已经不太会用了。不过gparted很好用:

    sudo yum install gparted

    在终端中打开文件夹,以及在文件夹中打开终端

    sudo dnf install nautilus-terminal nautilus-open-terminal
    Processed: 0.009, SQL: 9