WSL配置

WSL(Windows Subsystem) 配置

参考:https://aisoa.cn/post-2904.html

Windows10子系统Ubuntu18.04LTS更换国内源

1.查看Linux版本

1
$ lsb_release -a
1
2
3
4
Distributor ID: Ubuntu
Description: Ubuntu 18.04.2 LTS
Release: 18.04
Codename: bionic

注意:Codename为bionic 当前Ubuntu的版本为Bionic Beaver(仿生海狸)

2.备份数据源

1
$ sudo cp /etc/apt/sources.list /etc/apt/sources-backup.list

3.更换数据源

1
$ sudo vim /etc/apt/sources.list

SDKman管理利器

项目使用java的开发者一定会为新配环境变量而头大,sdkman很好的解决了系统sdk管理的痛点,仅需简单的几行命令就可以完成sdk的安装,更改默认版本。再也不用担心环境变量的问题。

安装

既然是命令行工具,就只能用命令行方式来安装(linux,mac直接用shell,windows用powerShell) 第一步、下载

1
curl -s "https://get.sdkman.io" | bash

第二步、执行脚本

1
source "$HOME/.sdkman/bin/sdkman-init.sh"

第三步、检查是否安装成功

1
sdk version

输出版本信息即安装成功

申请Let's Encrypt通配符HTTPS证书

通配符证书是一个SSL证书,可用于为给定域上的所有子域提供https,例如,*.<domain>.com 意味着任何子域名(如www.example.comlinks.example.com)会使用相同的SSL证书。

使用通配符证书对于允许用户选择子域的应用程序非常有用,例如,wordpress.com子域下的所有博客。

acme.sh 实现了 acme 协议, 可以从 letsencrypt 生成免费的证书。

云主机常用基本操作

预检

在安装之前,请进行一些快速的配置检查,以确保您的服务器满足最低要求。

花一点时间进行这些检查,将大大减少您在安装过程中遇到问题所浪费的时间。

首先,检查服务器的语言环境为en_US.UTF-8

1
2
$ cat /etc/default/locale
LANG="en_US.UTF-8"

Ubuntu18.04下编译OpenWRT15.05遇到的问题和解决方案

最近,OpenWRT开发主战场,从ubuntu16.04 LTS 虚拟机环境迁移到了ubuntu18.04LTS,水土不服,各种不适。不多说,折腾!!!

1. 初检git出错

依赖提示 Please install Git (git-core) >= 1.6.5

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
➜  openwrt git:(master) ✗ make menuconfig
Checking 'working-make'... ok.
.
.
.
Checking 'svn'... ok.
Checking 'git'... failed.
Checking 'file'... ok.
Checking 'openssl'... ok.
Checking 'ldconfig-stub'... ok.

Build dependency: Please install Git (git-core) >= 1.6.5

/home/ubuntu/buildbot/compex/chaos_calmer/openwrt/include/prereq.mk:12: recipe for target 'prereq' failed
Prerequisite check failed. Use FORCE=1 to override.
/home/ubuntu/buildbot/compex/chaos_calmer/openwrt/include/toplevel.mk:140: recipe for target 'staging_dir/host/.prereq-build' failed
make: *** [staging_dir/host/.prereq-build] Error 1

明明已经安装了git,却提示我们安装git,只是openwrt里面prereq-build.mk的一个bug,可以通过打patch的方法来修复它。

解决方案

进到xxx/chaos_calmer/include目录,就是toplevel.mk所在的目录。

1
2
wget https://gitlab.labs.nic.cz/turris/openwrt/uploads/0673001b14ab1d1769604ff0ce7d8781/git-version-check-fix.patch
patch < git-version-check-fix.patch

回到openwrt根目录,再次检查依赖,发现没,没有问题了。

Ubuntu18.04安装docker并使用portainer

1、安装docker

1
apt install docker.io

2、修改成国内镜像源

1
2
3
4
5
6
cd /etc/docker
vim daemon.json

{
"registry-mirrors": ["http://hub-mirror.c.163.com"]
}

重启docker服务

1
service docker restart

3、docker安装portainer

搜索portainer

1
docker search portainer

拉取portainer

1
docker pull portainer/portainer

创建portainer容器并启动

1
docker run -d --name portainerUI -p 8000:9000 -v /var/run/docker.sock:/var/run/docker.sock portainer/portainer

4、访问portainer界面 http://192.168.1.102:8000

首次登陆时,初始化设置密码。


  • 安装docker
    1. apt install docker.io
    2. sudo systemctl enable docker
    3. sudo systemctl start docker
    4. sudo systemctl restart docker
    5. 测试: docker run hello-world
  • 通过Dockerfile构建docker image
    1. 获取镜像:sudo docker pull ubuntu:18.04
    2. 运行镜像:sudo docker run --net host -t -i ubuntu:18.04 /bin/bash
    3. 查看镜像:sudo docker images
    4. 查看镜像:sudo docker image ls
    5. 查看容器:sudo docker ps -a
    6. 查看当前工作容器:sudo docker ps
    7. 删除容器:sudo docker rm <容器id>
    8. 删除镜像:sudo docker image rm <镜像id>
    9. Dockerfile 创建镜像:sudo docker build -t <镜像名称> .
    10. flask 启动服务: python manager.py runserver –host 0.0.0.0 –port 5000
    11. commit: sudo docker commit -a “liutao” -m “face_detection_v1.0” <容器id> face_detection
    12. save: sudo docker save -o face_detection.tar face_detection
    13. load: sudo docker load < face_detection.tar
    14. 进入容器:sudo docker exec -it IMAGE ID或者NAMES /bin/bash
    15. 从容器拷贝文件到宿主机: sudo docker cp mycontainer:/face_detection/upload ~/upload
    16. 从宿主机拷贝文件到容器: sudo docker cp ~/upload mycontainer:/face_detection/upload
  • 多次测试,待程序在docker image正常运行后,可进行服务器部署

Docker ubuntu镜像更换apt-get

1
2
sed -i s@/archive.ubuntu.com/@/mirrors.aliyun.com/@g /etc/apt/sources.list
apt-get clean

Mac使用zsh快速打开SublimeText

通过配置~/.zshrc加入alias来通过命令行启动sublime。

  1. 打开 .zshr
1
vim ~/.zshrc
  1. 在 .zshrc增加别名
1
alias subl="/Applications/Sublime\ Text.app/Contents/SharedSupport/bin/subl"

其中 Sublime\ Text可以按照你系统上安装的Sublime版本的情况被替换成Sublime\ Text\ 2或是其他。取决于你的Sublime Text.app在~/Application里的实际名称。

  1. 更新改动,生效
1
source ~/.zshrc
  1. 即可使用sublime在命令行中创建和编辑文件
1
subl hello.c
  1. 即可使用sublime在命令行中打开当前文件夹
1
subl .

git指令备忘

基本配置

  • 通过终端命令修改
1
2
3
4
5
git config --global user.name "xxx"
git config --global user.email "xxx@gmail.com"
git config --global alias ci commit
git config --global alias dog log --all --decorate --oneline --graph
git config --global alias mg merge
  • vi ~/.gitconfig 直接修改文件配置也可以
1
2
3
4
5
6
7
8
9
10
[user]
name = xxx
email = xxx@gmail.com
[alias]
co = checkout
br = branch
ci = commit
st = status
dog = log --all --decorate --oneline --graph
mg = merge