Linux环境搭建与Python、Go、Docker配置实战指南

更新:11-20 现代故事 我要投稿 纠错 投诉

再次运行sudo apt-get install lsb-core,您将看到LSB Version 提示。

2. 时区理解GMT,UTC,CST和时间戳

UTC(协调世界时)是世界标准时间,世界统一时间,协调世界时。它是一个标准而不是一个时区。采用24小时制,将地球自转时间与原子钟高精度测量相结合

GMT(Greenwich Mean Time)即格林威治标准时间,但从1972年开始,GMT不再是时间标准,只是一个时区的名称

CST可以同时代表以下4个不同时区:(美国、澳大利亚、中国、古巴)

中部标准时间(美国)UT-6:00

中部标准时间(澳大利亚) UT+9:30

中国标准时间UT+8:00

古巴标准时间UT-4:00

时间戳一般是指10位unix时间戳(精确到秒,13位精确到毫秒),从1970年1月1日0:0:0(GMT)到现在的秒数。

命令行输入:

date # 输出当前时间信息,也可以指定输出格式

2019 年9 月5 日,星期四10:45:59 CST

date +%s # 输出当前unix时间戳,以秒为单位(十进制)

1567651512

date -d @1567651512 # 输出时间戳下对应的时间,可以指定输出的格式

星期四, 九月5, 2019 10:45:12 CSTlinux 十进制转换,printf {格式} {值}printf %x 1567651512 # 将十进制转换为十六进制

5d7076b8%

printf %d0x5d7076b8 # 十六进制转换为十进制,前面加0x表示十六进制转换为八进制,使用%o(字母o)

3. 不能连接到 ppa.launchpad.net:W: 无法下载http://ppa.launc...等提示

有时安装第三方软件时,需要添加软件第一源的PPA ,然后安装软件。

添加:

sudo add-apt-repository ppa:app-name/ppa-name

# 更新并安装

sudo apt-get 更新

sudo apt-get install xxx

删除:

sudo add-apt-repository -r http://ppa.launchpad.net/fossfreedom/indicator-sysmonitor/ubuntu 再次运行sudo apt-get Upgrade 就不会出现之前的问题了

4. Linux卡死,界面只有鼠标能用

Linux 崩溃的发生方式有多种,其中最常见的是系统负载过高引起的。它可能正在运行消耗大量内存的程序,并会迅速增加系统负载。

这里有一个只能通过命令行解决的方法。

使用快捷键输入ctrl+alt+F3(尝试按F1~F6),会出现黑色弹窗;然后系统会提示您输入用户名和密码。进入后按回车进入终端界面,然后输入top查看那些消耗资源较多的(基于cpu、mem的进程)一般在最上面,找到PID,快速按q;

然后输入sudo Kill,例如sudo Kill 1434。

最后按alt+print返回桌面,重新登录,然后更新、升级更新系统,然后重启。

顶部

q

sudo 杀死PID_Num1 PID_Num2 PID_Num3.

# 同时按Alt+Print键返回桌面;有时您会被要求重新登录。

----------

# 进入成功后,打开新终端更新系统

sudo apt-get 更新

sudo apt-get Upgrade

5.How to Upgrade my Ubuntu Version

update-manager -c -d

6. windows下docker desktop运行报Hardware assisted virtualization and data execution protection must be enabled

使用docker 运行需要Hyper-V 组件和vmware 支持。解决方法如下:

确保主板BIOS支持虚拟化(如果之前安装过vmware,则说明已经启用,后者右键任务栏,查看任务管理器-性能-CPU,看右下角的virtualization:是否启用) 。您必须确保hyper-v 组件已打开。可以通过以下PowerShell(管理员)命令【开始菜单右键-管理员】dism.exe /Online /Enable-Feature:Microsoft-Hyper-V /All 组件开启后,守护进程必须启动打开(必须启用数据执行保护) bcdedit /set hypervisorlaunchtype auto 重启电脑,重新运行docker shutdown -r -t 0

二、相关操作

1. 如何更新ubuntu内核5.0-5.3

系统和内核不同,例如Ubuntu14和Ubuntu18.04 ,通常称为版本号。每个版本每个数字都有一个代号:bionic、disco等;同样,它们的内核也不同,比如内核3.6和内核5.0,但内核是可以升级的。

如何升级?内核版本有多种,我应该选择哪一个?

建议选择稳定版本。

进入官网下载,网速慢的话使用VPN翻墙,选择稳定下载,然后把原来的系统配置放到新解压的目录下,具体百度一下

这是升级内核的简单方法

进入主线内核,看下面的网址,选择对应的版本,一定要选择Build for amd64。

https://kernel.ubuntu.com/~kernel-ppa/mainline 如图linux_kernel.png,选择四个后缀为.deb的即可。如图,两个是header,一个是image,一个是module(包含通用)

https://kernel.ubuntu.com/~kernel-ppa/mainline/v5.3/linux-headers-5.3.0-050300_5.3.0-050300.201909152230_all.deb

https://kernel.ubuntu.com/~kernel-ppa/mainline/v5.3/linux-headers-5.3.0-050300-generic_5.3.0-050300.201909152230_amd64.deb

https://kernel.ubuntu.com/~kernel-ppa/mainline/v5.3/linux-image-unsigned-5.3.0-050300-generic_5.3.0-050300.201909152230_amd64.deb

https://kernel.ubuntu.com/~kernel-ppa/mainline/v5.3/linux-modules-5.3.0-050300-generic_5.3.0-050300.201909152230_amd64.deb

下载后

然后更改权限,复制到/usr/src路径下,然后解压安装

sudo dpkg -i *.deb 等待完成然后重启系统

restart

2. 如何创建图标到桌面

首先进入/usr/share/applications/路径,创建xxxx.desktop文件。以创建pycharm为例

cd /usr/share/applications/

# 这不是桌面上显示的文件。必须创建这个后缀文件并编写代码才能看懂脚本。

sudo touch Pycharm.desktop

sudo chmod 777 Pycharm.desktop # 这个是保存修改后的文件

vim Pycharm.desktop[桌面入口]

名称=Pycharm

Comment=Pycharm-2019.1.3--Python IDE Exec=/home/jackmin/MyApplication/Pycharm-2019.1.3/bin/Pycharm.sh Terminal=false

类型=应用

图标=/home/jackmin/MyApplication/Pycharm-2019.1.3/bin/Pycharm.png 类别=Pycharm;

然后保存,esc-:-wq,然后按Enter。该图标可以在显示应用程序的左下角看到。

相关参数说明,这里以GoLand为例:

[Desktop Entry] # 创建Desktop Entry实体,固定用法

Name=GoLang # 桌面图标名称

Comment=GoLang-2019.2.3--Go IDE # 鼠标放在上面时的提示信息

# 程序执行路径以实际安装的具体路径为准。

Exec=/home/jackmin/MyApplication/GoLand-2019.2.3/bin/goland.sh

# 打开程序后,任务栏显示终端图标(黑框),false则显示内置程序图标。

终端=假

类型

类型=应用

# 桌面显示图标路径以实际安装路径为准。

图标=/home/jackmin/MyApplication/GoLand-2019.2.3/bin/goland.png

类别=GoLand;

3. 如何卸载添加仓库的PPA源

PPA,英文全称是Personal Package Archives,即个人软件包档案。它是Ubuntu Launchpad 网站提供的源码服务,允许个人用户上传软件源代码,通过Launchpad 编译并发布为二进制软件包,作为apt/Synaptic 源码供其他用户下载和更新。

PPA的一般形式为:ppa:user/ppa-name

添加 PPA 源# 添加PPA源的命令是

sudo add-apt-repository ppa:user/ppa-name

#添加后记得更新:

sudo apt-get update删除 PPA 源# 删除PPA源的命令格式为:

sudo add-apt-repository -r ppa:user/ppa-name

# 例如:sudo add-apt-repository -r [https://mirrors.ustc.edu.cn/docker-ce/linux/ubuntu](https://mirrors.ustc.edu.cn/docker-ce/linux/ubuntu)

# 然后进入/etc/apt/sources.list.d目录,删除对应ppa源的保存文件。

# 您也可以直接删除或注释掉/etc/apt/sources.list中自己添加的无效源

#最后更新相同的

sudo apt-get update

4. 下载了(WSL)ubuntu如何升级、换源和配置环境

这里我们以WSL 为例。因为是win10最新预览版,所以启用了wsl2。具体如何安装参考教程

以管理员身份运行powershell 并输入wsl --set-default-version 2

查看当前wsl版本信息wsl -l -v,看到version为2。

名称状态版本

乌班图运行2

启动Ubuntu后,默认从商店安装的版本可能不是最新版本,因此需要升级。但考虑到网络接入问题,先换源,再升级

更改源时需要遵循版本对应关系。检查lsb_release -a 知道代号是bionic(这个稍后会用到)。没有可用的LSB 模块。发行商ID: Ubuntu 描述: Ubuntu 18.04.4 LTS 版本: 18.04 代号: bionic

# 先备份

sudo mv /etc/apt/sources.list /etc/apt/sources.list.bank

#再次创建并编辑(也可以不备份直接编辑)

sudo vim /etc/apt/sources.list

# 复制以下内容,并将代号替换为上面找到的代号bionic(以阿里巴巴源码为例)如下。如果是迪斯科就换成迪斯科。

deb http://mirrors.aliyun.com/ubuntu/仿生主受限宇宙多元宇宙

deb http://mirrors.aliyun.com/ubuntu/bionic-security 主要受限宇宙多元宇宙

deb http://mirrors.aliyun.com/ubuntu/bionic-updates 主要受限宇宙多元宇宙

deb http://mirrors.aliyun.com/ubuntu/仿生提出的主要受限宇宙多元宇宙

deb http://mirrors.aliyun.com/ubuntu/bionic-backports 主要受限宇宙多元宇宙

deb-src http://mirrors.aliyun.com/ubuntu/仿生主受限宇宙多元宇宙

deb-src http://mirrors.aliyun.com/ubuntu/bionic-security 主要受限宇宙多元宇宙

deb-src http://mirrors.aliyun.com/ubuntu/bionic-updates 主要受限宇宙多元宇宙

deb-src http://mirrors.aliyun.com/ubuntu/仿生提出的主要受限宇宙多元宇宙

deb-src http://mirrors.aliyun.com/ubuntu/bionic-backports 主要受限宇宙multiverse 然后更新并安装

sudo apt-get update sudo apt-get upgrade 升级前,切换到root用户sudo su

do-release-upgrade 会提示需要修改文件。

检查新的Ubuntu 版本

没有可用的LTS 开发版本。

升级到最新的非LTS 开发版本

在/etc/update-manager/release-upgrades 中设置Prompt=normal。

# 先修改

sudo vim /etc/update-manager/release-upgrades

# 然后修改lts为正常

Prompt=normal 并运行do-release-upgrade 确认安装;如果不换源,升级会很慢。我这里直接从18.04lts升级到19.10

重新查看版本信息lsb_release -a时,代号变为eoan。此时/etc/apt/sources.list文件已自动更改为eoan。安装oh-my-zsh# 安装zsh 包

sudo apt-get install zsh

#将终端shell的默认bash切换为zsh

须藤chsh -s /bin/zsh

# 重启

# 安装zsh需要提前安装git

sudo apt-get 安装git

更新

sudo apt-get 更新sudo apt-get 升级

# 安装oh-my-zsh

sh -c "$(wget https://raw.githubusercontent.com/robbyrussell/oh-my-zsh/master/tools/install.sh -O -)"

# (可选)安装语法高亮和自动完成

cd ~/.oh-my-zsh/plugins

# 语法高亮

git克隆https://github.com/zsh-users/zsh-syntax-highlighting.git ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-syntax-highlighting

# 自动完成

git克隆git: //github.com/zsh-users/zsh-autosuggestions $ZSH_CUSTOM/plugins/zsh-autosuggestions

# 然后需要在~/.zshrc中声明这些插件,找到plugins=()并添加

vim ~/.zshrc

.

插件=(

git

zsh-语法高亮

zsh-自动建议

# 保存、更新

源~/.zshrc

# 退出并重新登录。如果出现更改中文或者乱码等问题,请参考这里的教程。

5. Python、Java、Go环境变量设置

Java安装及环境配置参考原教程#也可以安装默认的openjdk

sudo apt install default-jdkPython安装及环境配置下载Python-3.8.2.tar.xz文件后,解压到/usr/local/路径下

sudo tar -C /usr/local -xvf Python-3.8.2.tar.xz

cd /usr/local/Python-3.8.2

# 安装前需要安装一些依赖

sudo apt install build-essential zlib1g-dev libncurses5-dev libgdbm-dev libnss3-dev libssl-dev libreadline-dev libffi-dev wget

# 执行configure脚本并优化python二进制文件

./configure --启用优化

# 开始构建Python进程

使-j 8

# 构建完成后,安装python文件。不要使用install,避免覆盖本地自带的python3。

须藤制作替代安装

# 添加环境变量或创建软链接

sudo ln -s /usr/local/Python-3.8.2/python /usr/local/bin/python

# 回车查看版本(不创建软链接,直接Python3.8 -V也是可以的)

$ python -V

Python 3.8.2

# 添加pip软链接并升级

sudo ln -s /usr/local/bin/pip3.8 /usr/local/bin/pip

$ 点-V

pip 19.2.3 来自/usr/local/lib/python3.8/site-packages/pip (python 3.8)

#升级点

pip install --user --upgrade pip

# 更改python源

须藤mkdir -m=777 ~/.pip/

sudo vim pip.conf

输入

[全球的]

索引url=http://mirrors.aliyun.com/pypi/simple/

超时=6000

trust-host=mirrors.aliyun.comGo安装和环境配置与Python类似。下载go1.14.linux-amd64.tar.gz文件后,解压到/usr/local路径(推荐)

sudo tar -C /usr/local -zxvf go1.14.linux-amd64.tar.gz

cd /usr/local/go

# 这里go不需要像Python那样编译。它已经生成了,所以只需将其添加到环境变量中,或者添加软链接即可。

# 建议去添加环境变量,然后还需要添加工作目录

# 将环境变量添加到终端配置文件中(等号两边没有空格)

sudo vim ~/.zshrc

# 添加在前面

导出GOROOT=/usr/local/go/bin

导出路径=$GOROOT:$PATH

# 测试版本

$ 去版本

go版本go1.14 linux/amd64

#添加工作路径(我在$home路径中创建的)

sudo mkdir -m=777 $HOME/Projects_repo/go

# 进入目录创建src、pkg、bin目录

# src ---- 里面的每个子目录都是一个包。包里面是Go的源码文件

# pkg ---- 编译后生成的包的目标文件

# bin ---- 生成的可执行文件

# 再次修改~/.zshrc。将之前的PATH 附加到$HOME/Projects_repo/go

导出路径=$GOROOT:$HOME/Projects_repo/go:$PATH

# 如果以后开发go,请在src目录下创建一个项目文件夹,然后将.go程序

6. ubunt19.10安装docker和镜像加速设置

前言

For WSL添加到项目文件中。由于docker不支持最新版本的Ubuntu19.10,因此文档尚未更新。现在官方支持已经可用。例外,由于WSL属于win10的高版本,对于WSL版本为1是不能直接运行使用的(但并不代表不支持),所以需要配合windows环境(守护进程模式)使用;通信(与守护进程)可以视为C/S架构。因此,我们需要使用Windows docker通过远程IP进行访问。

如果你已经按照我上面提到的安装了WSL2 并开启了WSL2(需要开启Windows Insider 模式,预览用户),我当前的电脑是win10 version 2004 OS build 19041.113。现在您可以通过localhost 直接从Windows 访问Linux 网络应用程序。其次,最新的Windows版本的docker也支持wsl2。如果安装Windows版本的docker,则可以直接在wsl里面使用docker。 (简单的设置就够了)

至于加速,如果您有阿里云或者其他云厂商的账号,您可以在镜像加速服务中找到自己的私有镜像加速寄存器。

如果你是Windows用户,直接在docker桌面的设置中添加dockerenginer的configure即可。

docker_register.jpg

For Linux安装流程=官网入口

如果你是Linux用户,在vim /etc/docker/daemon.json中添加;如果没有私有镜像加速,请添加国内官方镜像,或者其他阿里巴巴官网镜像。

{

用户评论

陌離

这篇文章应该是讲一位程序员从入门 Linux 到学会Python, Go,还有Docker的环境搭建吗?还挺全面的

    有12位网友表示赞同!

眷恋

我对Linux一直感兴趣但我比较菜,这篇文章正好可以参考一下!

    有9位网友表示赞同!

十言i

我以前也用过Go编代码,感觉挺高效的!文章里有没有介绍Go语言的相关框架或者库?

    有14位网友表示赞同!

墨染殇雪

学习Docker环境配置确实很烦人,希望这篇文章能给我一些方便快捷的方法。

    有6位网友表示赞同!

迷路的男人

最近也想转型Linux开发,看到你提到Python和Go的环境配置很有兴趣!

    有5位网友表示赞同!