开发环境搭建
一直想写一下自己的笔记本上是怎么工作的,
本人主要Linux下开发工作, 使用的是surface laptop笔记本
Linux环境
首先必然是需要
Linux
的, 所以选择了占用内存比较小的安装方式; 之前装的是Centos
, 今天改装的debian
所以记录一下
使用VirtualBox
安装debian
虚拟机, 在安装时不安装桌面和xfce
, 仅安装命令行版本;
网络: virtualbox
采用双网卡的方式Host only
+Bridged
两个网卡, 主机模式网卡 用于和物理机通信在debian
可以设置为192.168.56.xx
网段的静态地址, 物理机可以固定使用该网址访问虚拟机. 桥接模式 用于访问外网, 使用dhcp
模式获取地址
地址:
1: lo: mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: enp0s3: mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
link/ether 08:00:27:8f:31:49 brd ff:ff:ff:ff:ff:ff
inet 192.168.56.101/24 brd 192.168.56.255 scope global enp0s3
valid_lft forever preferred_lft forever
inet6 fe80::a00:27ff:fe8f:3149/64 scope link
valid_lft forever preferred_lft forever
3: enp0s8: mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
link/ether 08:00:27:90:e6:b6 brd ff:ff:ff:ff:ff:ff
inet 192.168.1.102/24 brd 192.168.1.255 scope global dynamic enp0s8
valid_lft 7170sec preferred_lft 7170sec
inet6 fe80::a00:27ff:fe90:e6b6/64 scope link
valid_lft forever preferred_lft forever
配置:
# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).
source /etc/network/interfaces.d/*
# The loopback network interface
auto lo
iface lo inet loopback
# The primary network interface
auto enp0s8
iface enp0s8 inet dhcp
auto enp0s3
iface enp0s3 inet static
address 192.168.56.101
netmask 255.255.255.0
# gateway 192.168.56.1
enp0s3就是仅主机模式的网卡, enp0s8则是桥接模式的网卡
访问Linux
virualbox
是可以采用后台启动的方式的, 就是说完全不用打开virtualbox
的窗口, 为了方便 我使用了一个ps1
脚本
& 'E:\Program Files\Oracle\VirtualBox\VBoxManage.exe' startvm debian -type headless
sleep 20
ssh [email protected]
& 'E:\Program Files\Oracle\VirtualBox\VBoxManage.exe' controlvm debian poweroff
本人并不精通ps1
脚本, 这个脚本写的也比较随意. E:\Program Files\Oracle\VirtualBox\
就是virtualbox
的安装地址
这个脚本的功能就是 后台启动debian ssh链接debian ssh断开后关闭debian; 这个脚本本人放在桌面上, 另外本人安装了fluent Terminal
软件, 可以直接在桌面右键打开, 然后直接运行该脚本.
共享文件夹
virtualbox
提供了共享文件夹的选项, 不过需要安装virtualbox
的扩展, 这个各位自行寻找
注意, 安装增强功能之前记得执行安装apt install build-essential;apt install linux-headers-
uname -r`` 否则即使成功安装了增强功能, 也没办法挂载!
此外我添加了开启启动脚本, 每次启动自行加载共享文件夹
localhost:~$ systemctl status rc-local
● rc-local.service - /etc/rc.local Compatibility
Loaded: loaded (/lib/systemd/system/rc-local.service; enabled-runtime; vendor preset: enab Drop-In: /usr/lib/systemd/system/rc-local.service.d
└─debian.conf
Active: active (exited) since Sat 2019-09-28 16:01:43 CST; 8min ago
Docs: man:systemd-rc-local-generator(8)
Process: 408 ExecStart=/etc/rc.local start (code=exited, status=0/SUCCESS)
这是rc.local
服务, debian
是默认关闭的并且也没有/etc/rc.local文件
不过
#!/bin/sh
#
# rc.local
#
# This script is executed at the end of each multiuser runlevel.
# Make sure that the script will "exit 0" on success or any other
# value on error.
#
# In order to enable or disable this script just change the execution
# bits.
#
# By default this script does nothing.
mount -t vboxsf winsf /home/ad/winsf
exit 0
我们可以自己添加一个/etc/rc.local
脚本, 添加可执行权限, 然后systemctl start rc-local
即可
物理机
包管理工具
scoop
我主要用于安装git
,gcc
,make
,lua
等, 我仅用来管理开发相关软件, 非常好用
集成IDE
因为不管什么都需要加载虚拟机然后运行也很麻烦, 于是我使用了
CLion
对于一些程序, 我也会直接在windows上直接编译直接运行.
编辑器
正常的话, 我使用的是sublime
, markdown
使用的是typora
git工具
使用的时gitkraken
, 并没有特别好, 不过感觉比较好看