惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

G
Google Developers Blog
Google DeepMind News
Google DeepMind News
Hugging Face - Blog
Hugging Face - Blog
D
Docker
F
Fortinet All Blogs
博客园 - 三生石上(FineUI控件)
Project Zero
Project Zero
Engineering at Meta
Engineering at Meta
J
Java Code Geeks
CTFtime.org: upcoming CTF events
CTFtime.org: upcoming CTF events
Simon Willison's Weblog
Simon Willison's Weblog
S
Security Affairs
NISL@THU
NISL@THU
T
Tor Project blog
A
About on SuperTechFans
宝玉的分享
宝玉的分享
腾讯CDC
S
Schneier on Security
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
P
Privacy & Cybersecurity Law Blog
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
Stack Overflow Blog
Stack Overflow Blog
P
Privacy International News Feed
雷峰网
雷峰网
C
Cyber Attacks, Cyber Crime and Cyber Security
Vercel News
Vercel News
Cisco Talos Blog
Cisco Talos Blog
D
DataBreaches.Net
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
Google Online Security Blog
Google Online Security Blog
Recorded Future
Recorded Future
L
LINUX DO - 热门话题
Microsoft Security Blog
Microsoft Security Blog
Latest news
Latest news
C
Check Point Blog
有赞技术团队
有赞技术团队
T
The Exploit Database - CXSecurity.com
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
云风的 BLOG
云风的 BLOG
SecWiki News
SecWiki News
Application and Cybersecurity Blog
Application and Cybersecurity Blog
爱范儿
爱范儿
月光博客
月光博客
V
Vulnerabilities – Threatpost
T
Threat Research - Cisco Blogs
P
Palo Alto Networks Blog
T
The Blog of Author Tim Ferriss
C
Cisco Blogs
Webroot Blog
Webroot Blog
S
Security @ Cisco Blogs

Razeen`s Blog

Let's Encrypt 推出 Gen Y 根证书架构:揭示 Web PKI 的五大未来趋势 通过 Wi-Fi 自动备份你的 iPhone 到 Nas 管理培训感悟:从技术视角看管理之路 UPS 一拖多:保护你的 NAS 和 Linux 服务器 从影音中心到 AI 助手:我的50款 Homelab 服务清单 从SSL证书有效期将缩短到47天聊开去 部署一个自己的 Running Page 谈谈特斯拉 Model Y 用车一年的感受和费用分析 弃用 Disqus 评论,使用自建 Waline 使用 Prometheus 和 Grafana 搭建你的证书监控面板 服务器迁移记:一次磁盘换板引发的Linux分区与挂载的学习 改善信息来源, 利用 RSS 高效获取资讯 (RSShub + Reeder5 + WeWe RSS) 多种 Docker 镜像拉取解决方案与实践 App分享 | AppCleaner - Mac上的卸载神器 Azure OpenAI API 申请和使用 如何开通 OneKey 虚拟信用卡,并充值消费 如何拥有一个可长期在国内使用的国外手机号码 分享开通 ChatGPT Plus 过程 如何开通 Depay 虚拟信用卡,并充值消费 如何开通欧易Web3钱包, 交易入账 如何5分钟内1块钱注册 ChatGPT 如何注册美区的 Apple ID (2023年/无需科学上网) NAS折腾记(11): NASTool3.0体验和降级 NAS折腾记(10): Docker版本的NASTool配置 NAS折腾记(9): NASTool与微信交互,微信发送消息远程下载电影【多图】 NAS折腾记(8):群晖安装 NASTool 实现影音半自动化【多图】 内网穿透(2):Tailscale 组网实现内网穿透,操作简单,无成本 内网穿透(1):总结了11中内网穿透的方式,总有一种适合你 NAS折腾记(7):从零开始设置(黑)群晖系统 NAS折腾记(6):黑群晖系统安装好后怎么洗白? NAS折腾记(5):群晖硬盘休眠设置与分析 NAS折腾记(4): 20分钟手把手带你完美安装 DS918+ 黑群晖7.1.1 NAS折腾记(3):NAS 装机 NAS折腾记(2):B360-ITX 双M.2 双2.5G网口 6 SATA主版 开箱 NAS折腾记(1):328元的4盘位Nas机箱开箱 Openwrt + Clash 全局科学上网 Newifi3 刷入 OpenWrt 固件 v21.02 利用 Markdown 画一些流程图、时序图、甘特图等 Homelab(8): 搭建自用 Gitlab 与 Docker 仓库 Nginx Tcp 转发保留客户端真实 IP (PROXY Protocol) Homelab (7):IPSec VPN(基于证书认证)客户端设置 Homelab (6): 基于自签发证书的 IPSec VPN 搭建 Homelab (5): DDNS 动态域名解析 Homelab (4): Linux 服务器基础环境准备 Homelab (3): 整体网络与基础硬件介绍 Go学习笔记(十)老项目迁移 go module 大型灾难记录 Github Actions 初体验之自动化部署 Hexo 博客 记一次 Nginx DNS 缓存导致转发问题 Homelab (2): 电信悦me网关修改桥接模式,路由器拨号 Homelab (1):5分钟上手黑群晖 NAS 终极 Bash 脚本指南 Typora 自动上传图片到七牛云 Ubuntu 20.04 LTS 有线网卡驱动安装 Go学习笔记(九) 计时器的生命周期[译] 利用 git hook 规范你的代码与 commit message 规范 git commit message 与自动化版本控制 超详细 vim 配置 (with MacVim) Golang 中的 RESTful API 最佳实践 折腾服务器(开篇) 我的第一台个人服务器 Newifi3 实现低成本家庭级科学上网 Go学习笔记(八) | 使用 os/exec 执行命令 如何用 Go 调用 Windows API Mac OS 自动根据 WI-FI 名字改变网络位置 关于 Docker 清理 MIME Types 速查表 Go学习笔记(七) | 理解OAuth 2.0并实现一个客户端 我又又又把博客迁移了 Go学习笔记(六) | 使用swaggo自动生成Restful API文档 Go学习笔记(五) | 使用代码片段(snippets)提高编码效率 书单 - 2018 IPFS 初体验,利用 IPFS 托管你的静态网站 记一次 PostgreSQL LIKE 索引优化,联合字段 LIKE 查询优化。 Disqus 添加有趣的 Reactions 的功能 TLS 1.3 详解 (RFC 8446解读) gRPC在Go中的使用(三)gRPC实现TLS加密通信与流模式 gRPC在Go中的使用(二)gRPC实现简单通讯 gRPC在Go中的使用(一)Protocol Buffers语法与相关使用 CentOS 安装 tshark 抓包工具 Go学习笔记(四) | win上使用VSCode搭建Go开发环境 日常 Postgres 数据库点滴记录 简单了解 PKCS 规范 美食篇 | DIY戚风蛋糕(烤箱做蛋糕) Go学习笔记(三) | 怎么写Go基准测试(性能测试) TLS1.3正式更新,为Nginx添加TLS1.3的支持 一次诡异的数据库删除 GitHub Pages自定义域名开启HTTPS 证书透明度是什么?它是怎么工作的? Go学习笔记(二) | 我对 recover 的一点误解 搭建证书透明度(certificate-transparency)日志服务之从入门到放弃 修复远程登陆 Centos 时,出现 UTF-8 Warning HTTPS篇之SSL握手过程详解 Go学习笔记(一) | postgres与golang点点滴滴 AWS 命令行界面(aws-cli)从安装到快速上手 数字证书分类及怎么区分各类数字证书 常用 linux 命令小结(一)文件目录操作 云服务器搭建 hexo 博客,git hooks自动更新 SSH 免密登陆, SSH Config 配置 Golang CGO Mac 交叉编译 Windows 使用 goose 让数据库迁移更加轻松 开始使用Ghost
折腾 Ubuntu 20.04 LTS 开发环境
2020-08-28 · via Razeen`s Blog

前段时间买了个 Inter NUC (NUC10i5FNH6), 主要用来在家里搬砖。体验了一段时间 win10, 虽然配置了 WSL2, 但开发体验实在糟糕,在考虑过 Ubuntu 和黑苹果后,还是选择了 Ubuntu, 毕竟用习惯了白苹果,突然用个黑苹果,不能随意升级,还有接一个 USB WiFi ,还担心驱动问题。。。

NUC 用了一段时间,还是有点卡,CPU跟不上。 最后还是组装了一台台式主机,将原来的系统盘查上去直接就可使用,爽到飞起。 至于NUC就当服务器用了。

毕竟头一次想把 Ubuntu 当作生产力,记录一下折腾过程。

配置篇

配置
CPUi5-10210U (1.6GHz-4.2GHz) Intel(R) Core(TM) i5-10400F CPU @ 2.90GHz
显卡Intel UHD GeForce GTX 1050 Ti
内存32G x 2 (相当浪费==) 32G
磁盘Intel 760p 512G + 三星 860 EVO 500G

系统篇

安装双系统

双系统安装很简单,网上教程视频很多,这里主要说一下我的 Ubuntu 怎么分区的。

我分了 200G 磁盘给 Ubuntu, 其中:

  • 根目录 (/) - 120G

    主要是系统和软件,还是比较吃空间的。

  • HOME (/home) - 79G

    桌面,文档等一些东西,差不多够用了。不够再把其他分区挂载进来存东西就行了。

  • BOOT (/boot) - 1G

    其实现在都用了LVM,BOOT直接放根目录一起也可以了,但我还是给了1G。

至于SWAP分区,我看了以下SWAP分区的作用(内存交换,内存不足就把一部分硬盘虚拟成内存使用),emmm… 貌似我……64G的内存我目前还用不完,索性不分了。

系统设置

  • 软件源设置国内的(关于->Software Updates->Ubuntu软件->下载自);

    我选了一个阿里的,感觉速度还可以。

  • 软件更新频率等按自己偏好设置一波;

  • Dock栏放右边;

磁盘挂载

我想在 Linux 下查看原来 Win的文件,找到磁盘,挂载即可。

# 找磁盘
sudo fdisk -l
设备                起点       末尾      扇区   大小 类型
/dev/nvme0n1p1      2048    1085439   1083392   529M Windows 恢复环境
/dev/nvme0n1p2   1085440    1290239    204800   100M EFI 系统
/dev/nvme0n1p3   1290240    1323007     32768    16M Microsoft 保留
/dev/nvme0n1p4   1323008  419337986 418014979 199.3G Microsoft 基本数据
/dev/nvme0n1p5 419338240  420745215   1406976   687M Windows 恢复环境
/dev/nvme0n1p6 420747264 1000212479 579465216 276.3G Microsoft 基本数据

如,按照分区顺序,大小,我这里基本可以确认 /dev/nvme0n1p4 是 C 盘, /dev/nvme0n1p6是 D 盘。

# 建一个目录 挂载
sudo mkdir /mnt/d
sudo mount /dev/nvme0n1p6 /mnt/d

这只是临时挂载,重启系统需要再次执行挂载命令。启动时自动挂载需要修改文件/etc/fstab

sudo vim /etc/fstab

# 加入如以下(我这里是ntfs系统,如果FAT32,把ntfs改成vfat即可)
/dev/nvme0n1p6 /mnt/d ntfs defaults 0 0

CAPS 与 CTRL 键位互换

sudo vi /usr/share/X11/xkb/keycodes/evdev

搜索 <CAPS>CTRL, 并互换后面的数字。

    ...
    <CAPS> = 37;
    ...

    <LCTL> = 66;

注销,重新登录生效。

安装L2TP/IPSec VPN

公司办公用的是这个VPN,在家要处理一些事情需要连接。

sudo add-apt-repository ppa:nm-l2tp/network-manager-l2tp  
sudo apt update  
sudo apt install -y network-manager-l2tp network-manager-l2tp-gnome

安装后就可以直接在 设置>网络> VPN > ‘+’ > ‘第2层隧道协议(L2TP)’ 中添加了。

环境变量

在home目录下建一个 .bash_profile 放自定义的环境变量,并在启动终端时自动应用。

cd
touch .bash_profile
echo "source \$HOME/.bash_profile" >> .zshrc

字体设置

长时间搬砖,字体一定得看着束缚。 个人偏好CamingoCode字体。更多字体

sudo apt install -y font-manager

字体下载好后,打开安在,在IDE/终端内设置该字体即可。

科学上网

为了面向 Google , Stackoverflow 编程, 科学上网必不可少。我用的这家,¥90多一年,速度够用。

换个Grub2主题

也就是开机选择系统的界面主题。

主题 breeze。 更换步骤如下。

# 下载
git clone git@github.com:gustawho/grub2-theme-breeze.git

# 主题移到合适位置
sudo mkdir /boot/grub/themes
sudo cp -r grub2-theme-breeze/breeze /boot/grub/themes/breeze

# 修改默认配置
sudo vim /etc/default/grub
# 添加如下
GRUB_THEME="/boot/grub/themes/breeze/theme.txt"

# 配置
sudo grub-mkconfig -o /boot/grub/grub.cfg

修改开机启动顺序

默认 Win,毕竟有时候家人也要用。但默认配置是

  1. Ubuntu
  2. Ubuntu 的高级选项
  3. Windows
  4. EFI 设置

看着难受,必须把 Win 第一, Ubuntu第二。

很简单,修改 /boot/grub 即可。

# 该文件是只读的, 给一个修改权限
sudo chmod u+w /boot/grub/grub.cfg

# 修改文件
sudo vim /boot/grub/grub.cfg

menuentry 'xxx' {} 就对应显示的一个启动菜单, 把menuentry 'Windows Boot Manager xxx {}' 移动到menuentry 'Ubuntu' xxx {} 之前 :wq保存即可。

# 恢复只读权限
sudo chmod u-w /boot/grub/grub.cfg

上面的方式,在系统更新 grub 后,或 sudo update-grub之后会失效(grub.cfg 文件被更新了)。

推荐使用下面的方式,即 修改配置文件 /etc/default/grub , 设置 GRUB_DEFAULT=2, 这里的2是 win 在启动界面的顺序,从上到下0,1,2

# sudo vim /etc/default/grub

GRUB_DEFAULT=2
GRUB_TIMEOUT_STYLE=hidden
GRUB_TIMEOUT=10
GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian`
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
GRUB_CMDLINE_LINUX=""

顶部状态栏显示CPU等监控信息

效果如下:

其实这只是桌面系统gnome的一个插件,我们只需要安装一个 Chrome 浏览器插件GNOME Shell integration 和 本地的代理chrome-gnome-shell 就可以在https://extensions.gnome.org/ 上安装、管理你的桌面插件。

  • Chrome 浏览器插件 -> chrome-gnome-shell ;

  • 本地代理安装

    sudo apt install chrome-gnome-shell
    

安装完成后,打开 https://extensions.gnome.org ,搜索 system-monitor ,打开开关,状态栏就有了,可以点击设计按钮设置喜欢的样式。

2020-08-29_16-52.png

软件篇

Chrome

最喜欢的浏览器还是Chrome, 直接下载 .deb 包安装

Typora

没错,Markdown 就用它,简洁而强大。

# or run:
# sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys BA300B7755AFCFAE
wget -qO - https://typora.io/linux/public-key.asc | sudo apt-key add -
# add Typora's repository
sudo add-apt-repository 'deb https://typora.io/linux ./'
sudo apt update
# install typora
sudo apt install -y typora

Flameshot

很强大的一款截图软件,写文档需要标注,说明,马赛克等等,很实用。

sudo apt install -y flameshot

Enpass

一款仅次于 1password 的密码管理软件。 由于是早期付费用户(¥80全平台==),还是享受到一定优惠的。

sudo - i 
echo "deb https://apt.enpass.io/ stable main" > /etc/apt/sources.list.d/enpass.list
wget -O - https://apt.enpass.io/keys/enpass-linux.key | apt-key add -
apt update
apt install -y enpsudo vi /usr/share/X11/xkb/keycodes/evdevass
exit

SwitchHosts

一款 Electron 写的跨平台 Hosts 管理软件,管理/切换 Hosts很方便。

SwitchHosts

images/PNG image.png

SMB服务

手机与 Linux 怎么快速传文件,我考虑用了 SMB。 正好苹果手机的文件支持连接SMB服务。

# 安装
sudo apt-get install -y samba samba-common

# 设置一个共享文件夹
mkdir /home/razeen/wspace/share

# 权限放开
sudo chmod 777 /home/razeen/wspace/share -R

# 添加用户, 需要输入密码
sudo smbpasswd -a razeen
New SMB password:
Retype new SMB password:
Added user razeen.

# 配置
sudo vim /etc/samba/smb.conf

# 我简单设置了一下
[ubuntu]
   comment = ubuntu share dir
   path = /home/razeen/wspace/share
   public = yes
   writable = yes
   
# 重启服务
sudo systemctl restart smbd.service

# 开机自启
systemctl enable smbd.service

在手机直接输入 smb://你的ip 浏览器提示打开文件应用, 确认,然后进去输入刚刚设置的账户以及密码即可。然后手机中的文件就可以直接分享到电脑,电脑上的文件拖到共享文件夹可以快速下载。

搬砖工具篇

oh-my-zsh

高效,美观的终端,就靠它了。

先安装 zsh , git编译

再安装 oh-my-zsh

sh -c "$(curl -fsSL https://raw.github.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"

设置启动时自动进入 zsh

首选项 -> 配置文件 -> 运行自定义命令而不是shell -> 自定义命令 输入 zsh

tmux

分屏,Session, 多缓存区,高效管理终端,终端复用 用它没错。

配置还在摸索,Mac 上的不适用了,后面再单独整理一篇文章。

vim

效率,极客之选。

同上,配置还在摸索,Mac 上的不适用了,后面再单独整理一篇文章。

docker

安装。

sudo apt update
sudo apt-get install -y \
    apt-transport-https \
    ca-certificates \
    curl \
    gnupg-agent \
    software-properties-common
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
sudo apt-key fingerprint 0EBFCD88
sudo add-apt-repository \
   "deb [arch=amd64] https://download.docker.com/linux/ubuntu \
   $(lsb_release -cs) \
   stable"
sudo apt-get update
sudo apt-get install -y docker-ce docker-ce-cli containerd.io

把 docker 加入当前用户组,然后重启,用非 root 运行 docker。

sudo usermod -aG docker $USER

添加国内的镜像源。

sudo vim /etc/docker/daemon.json

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

# 重启 docker服务
systemctl restart docker.service
# 自启动
systemctl enable docker.service

VSCode 配置

好用,没话说。直接官网下载,点击安装。

Golang 篇

作为主力编程语言,不能怠慢。

从源码安装

必须从源码安装,掌控每个细节。

通商准备工作

给自己建一个工作区, 以及相关目录

cd 

# go 相关目录
mkdir -p wspace/source/go \
	wspace/source/go14 \
	wspace/go/src \
	wspace/go/bin

# 相关环境变量
echo '
# 我的工作区
export WSPACE=$HOME/wspace
# 源码文件
export SOURCECODE=$WSPACE/source
# go 安装引导
export GOROOT_BOOTSTRAP=$SOURCECODE/go14
# go root
export GOROOT=$SOURCECODE/go
# go path
export GOPATH=$WSPACE/go
# go bin
export GOBIN=$GOPATH/bin
# go module
export GO111MODULE=on
# go proxy
export GOPROXY=https://goproxy.io,direct
# cgo
export CGO_ENABLED=0

# PATH
export PATH=$PATH:$GOROOT/bin:$GOBIN
' >> .bash_profile

source .bash_profile
下载Go1.4引导
curl https://dl.google.com/go/go1.4-bootstrap-20171003.tar.gz -v -o go1.4.tar.gz
tar -zxvf go1.4.tar.gz
mv go/* $GOROOT_BOOTSTRAP
rm -fr go go1.4.tar.gz
cd $GOROOT_BOOTSTRAP/src
./all.bash
下载源码并编译
git clone https://go.googlesource.com/go $GOROOT
cd $GOROOT
git checkout go1.15
cd src
./all.bash
go version