记录Vagrant创建虚拟机的Vagrantfile配置,根据实际使用情况会不断完善。
CentOS
1 | Vagrant.configure("2") do |config| |
enablePasswordAuth.sh
1 | # 将 sshd_config 文件中以 PasswordAuthentication 开头的行(以 ^ 表示开头)替换为 PasswordAuthentication yes。 |
Ubuntu
1 | Vagrant.configure("2") do |config| |
enablePasswordAuth.sh
1 | # 将 sshd_config 文件中以 PasswordAuthentication 开头的行(以 ^ 表示开头)替换为 PasswordAuthentication yes。 |
卸载(如有需要可执行)
删除安装包
1 | sudo apt-get autoremove docker docker-ce docker-engine docker.io containerd runc |
删除相关配置文件
1 | dpkg -l | grep docker |
卸载相关插件
1 | sudo apt-get autoremove docker-ce-* |
删除docker的相关配置
1 | sudo rm -rf /etc/systemd/system/docker.service.d |
查询下docker相关软件包
1 | dpkg -l | grep docker |
验证
1 | docker version |
虚拟机扩容
我使用CentOS扩容的时候,需要手动增加分区容量,但是Ubuntu我改了容量后,自动帮我扩容了分区。
如果硬盘扩容了,但是分区信息没有变,则按照以下步骤执行。
如果虚拟机扩容了,需要执行以下操作:
1 | # 比如我50G,扩展成了100G |
先搞懂以下概念:Linux 系统中“一切皆文件”,所有文件都放置在以根目录为树根的树形目录结构中。在 Linux 看来,任何硬件设备也都是文件,它们各有自己的一套文件系统(文件目录结构)。
因此产生的问题是,当在 Linux 系统中使用这些硬件设备时,只有将Linux本身的文件目录与硬件设备的文件目录合二为一,硬件设备才能为我们所用。合二为一的过程称为“挂载”。
如果不挂载,通过Linux系统中的图形界面系统可以查看找到硬件设备,但命令行方式无法找到。
挂载,指的就是将设备文件中的顶级目录连接到 Linux 根目录下的某一目录(最好是空目录),访问此目录就等同于访问设备文件。
纠正一个误区,并不是根目录下任何一个目录都可以作为挂载点,由于挂载操作会使得原有目录中文件被隐藏,因此根目录以及系统原有目录都不要作为挂载点,会造成系统异常甚至崩溃,挂载点最好是新建的空目录。
举个例子,我们想通过命令行访问某个 U 盘中的数据, U 盘文件目录结构和 Linux 系统中的文件目录结构。
目前 U 盘和 Linux 系统文件分属两个文件系统,还无法使用命令行找到 U 盘文件,需要将两个文件系统进行挂载。
接下来,我们在根目录下新建一个目录 /sdb-u,通过挂载命令将 U 盘文件系统挂载到此目录
可以看到,U 盘文件系统已经成为 Linux 文件系统目录的一部分,此时访问 /sdb-u/ 就等同于访问 U 盘。
前面讲过,根目录下的 /dev/ 目录文件负责所有的硬件设备文件,事实上,当 U 盘插入 Linux 后,系统也确实会给 U 盘分配一个目录文件(比如 sdb1),就位于 /dev/ 目录下(/dev/sdb1),但无法通过 /dev/sdb1/ 直接访问 U 盘数据,访问此目录只会提供给你此设备的一些基本信息(比如容量)。
总之,Linux 系统使用任何硬件设备,都必须将设备文件与已有目录文件进行挂载。
新装的虚拟机,按照如下操作,切记是用vagrant创建的空虚拟机
如果你是刚装得虚拟机,建议如下操作,发现分区q
1 | [root@lijing-centos7 ~]# df |
1 | # 查看分区信息 |
执行 fdisk /dev/sda
将之前的分区删掉,重新创建一个主分区
分区完,执行以下命令
1 | partprobe /dev/sda |
df -h
查看磁盘容量,扩容成功
如果已经有生产项目部署了,不要像上面那样操作,应该扩容分区
参考文章:点我跳转
运行以下命令,扩容指定分区。例如扩容分区名称为/dev/sda1
的分区,则执行如下命令。
说明
- 命令参数中的
/dev/sda
和1
之间需要空格分隔,1
是分区编号。
步骤1:扩容分区
MBR分区
1 | type growpart || yum install -y cloud-utils-growpart |
GPT分区(需安装gdisk工具)
1 | # 分区名称视情况调整 |
如下所示,输出CHANGED
字样时,表示分区扩容成功。
1 | [root@lijing-centos7 dev]# LC_ALL=en_US.UTF-8 growpart /dev/sda 1 |
步骤2:扩容文件系统
运行以下命令,获取需要扩容的文件系统的类型和挂载目录。
1 | df -Th |
Type
值为文件系统类型,Mounted on
值为分区的挂载目录。如下表示/dev/sda1
分区的文件系统类型为xfs,挂载目录为/。
1 | [root@lijing-centos7 ~]# df -Th |
如果Filesystem取值后缀不带数字(例如/dev/vdc
),则为裸设备。
扩容文件系统:
扩容命令因文件系统类型而异,请您根据上一步中查询到的文件系统类型选择以下命令。
ext*(例如ext2、ext3、ext4)文件系统:
1 | resize2fs /dev/sda1 |
xfs文件系统
1 | # / 为挂载点 |
btrfs文件系统
1 | btrfs filesystem resize max / |
运行以下命令,确认是否扩容成功。
1 | df -Th |
当查询结果中的文件系统容量和控制台容量一致时,表示扩容成功。