Linux学习|Gentoo/Arch/FreeBSD我用 LinuxLinux

从零到一,Linux开发环境一步到位

2018-10-19  本文已影响17人  三也视界

安装manjaro-deppin linux系统

下载manjaro-deepin镜像:

https://sourceforge.net/projects/manjarolinux-community/files/archive/deepin/17.1.7/manjaro-deepin-17.1.7-stable-x86_64.iso/download

如果是要真机安装,下载usbwriter,虚拟机跳过此步

https://sourceforge.net/projects/usbwriter/

真机安装准备一个U盘,使用上面下载好的usbwriter 把manjaro-deepin镜像写入到U盘,插到电脑里引导即可

虚拟机安装,创建虚拟机就不用讲了吧,百度有,和创建其他虚拟机步骤一样

技术分享图片

安装浏览器

firefox 是自带的,添加如下addon附件,安装中文环境
https://addons.mozilla.org/zh-CN/firefox/addon/chinese-simplified-zh-cn-la/?src=search
添加SwitchyOmega,并配置自动规则列表地址(为后面的shadowsockes翻墙配置做准备):
https://raw.githubusercontent.com/gfwlist/gfwlist/master/gfwlist.txt

安装Chrome

sudo pacman -S google-chrome

更新仓库国内源

增加archlinuxcn软件仓库以及各种开发工具源,提高下载速度。

1、更改配置文件

sudo nano /etc/pacman.conf

添加以下内容:

[archlinuxcn]
SigLevel = Optional TrustedOnly
Server = http://mirrors.ustc.edu.cn/archlinuxcn/$arch

[arch4edu]
SigLevel = Never
Server = http://mirrors.tuna.tsinghua.edu.cn/arch4edu/$arch

如下图:Ctrl+X退出并保存更改


截图_2018-10-14_23-52-48.png

2、更新并选择最快的源列表

sudo pacman-mirrors -g

3、更新系统

sudo pacman -Syyu

4、安装archlinuxcn-keyring

sudo pacman -S archlinuxcn-keyring

如果上面安装失败,则执行以下命令:

sudo pacman -Syu haveged
sudo systemctl start haveged
sudo systemctl enable haveged
sudo rm -rf /etc/pacman.d/gnupg
sudo pacman-key --init
sudo pacman-key --populate archlinux
sudo pacman -S archlinuxcn-keyring
sudo pacman-key --populate archlinuxcn

安装中文输入法

# fcitx-rime  非常推荐的拼音输入法
# fcitx-im 全部安装
# fcitx-configtool 图形化配置工具
# fcitx: 输入法本体
# fcitx-gtk2,gtk3,qt4,qt5:对于不同 GUI 框架的支持
# fcitx-cloudpinyin:云输入支持
# fcitx-skin-material:一个很不错的皮肤
# fcitx-rime:我比较推荐的输入法

# 命令支持一并安装,如下:
sudo pacman -S fcitx-rime fcitx-im fcitx-configtool fcitx-gtk2 fcitx-gtk3 fcitx-qt4 fcitx-qt5 fcitx-skin-material fcitx-cloudpinyin fcitx-sogoupinyin

之后就是还需要更改 ~/.xprofile

sudo nano ~/.xprofile 

添加内容,重启之后就可以支持快捷键切换:

export GTK_IM_MODULE=fcitx
export QT_IM_MODULE=fcitx
export XMODIFIERS=@im=fcitx

pacman的常用命令

在软件中心卸载不需要的软件,安装wps、chrome、shadowsocks-qt5、eclipse-java、gimp、vlc、vim、vim-youcompleteme-git、Foxit Reader、electronic-wechat(具体根据个人情况,可用“yaourt 软件名”的方式安装软件)

安装 pacman -S
删除 pacman -R
移除已安装不需要软件包 pacman -Rs
删除一个包,所有依赖 pacman -Rsc
升级包 pacman -Syu
查询包数据库 pacman -Ss
搜索以安装的包 pacman -Qs
显示包大量信息 pacman -Si
本地安装包 pacman -Qi
清理包缓存 pacman -Sc

常用的一些软件

安装网易云音乐

sudo pacman -S netease-cloud-music

压缩解压缩

sudo pacman -S file-roller unrar unzip p7zip 

Git ssh

pacman -S git openssh

安装wps

yaourt -S wps-office

VSCode

pacman -S visual-studio-code-bin 

解决Windows和Linux双系统时间不一致问题

sudo timedatectl set-local-rtc 1 

打开AUR,支持更多的软件
截图_2018-10-15_19-39-10.png

软件中心搜索deep,安装qq


截图_2018-10-15_00-48-02.png

系统会自动安装上依赖的deep-wine等


截图_2018-10-15_01-04-30.png

在deep的搜索之中切换到AUR库,选择以下微信版本
微信


深度截图_选择区域_20181015010938.png

安装vim

sudo pacman -S vim

安装spf13-vim配置

curl https://j.mp/spf13-vim3 -L > spf13-vim.sh && sh spf13-vim.sh

JDK
sudo pacman -S jdk8

配置Java环境:

export JAVA_HOME=/usr/lib/jvm/default
export JRE_HOME=${JAVA_HOEM}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib 

虚拟机

Archlinux维基有更详细的安装说明:VMware(简体中文).

VMware workstation 14 激活密钥:

CG54H-D8D0H-H8DHY-C6X7X-N2KG6

ZC3WK-AFXEK-488JP-A7MQX-XL8YF

AC5XK-0ZD4H-088HP-9NQZV-ZG2R4

ZC5XK-A6E0M-080XQ-04ZZG-YF08D

ZY5H0-D3Y8K-M89EZ-AYPEG-MYUA8

FF590-2DX83-M81LZ-XDM7E-MKUT4

FF31K-AHZD1-H8ETZ-8WWEZ-WUUVA

CV7T2-6WY5Q-48EWP-ZXY7X-QGUWD

AALYG-20HVE-WHQ13-67MUP-XVMF3

uget & aria2
sudo pacman -S uget
sudo pacman -S aria2

然后在uget的界面点击: 编辑->设置->插件, 在插件匹配顺序选择aria2

坚果云

sudo pacman -S nutstore

shadownsocks-qt5

sudo pacman -S shadownsocks-qt5

jetbrains toolbox

非常推荐安装jetbrans全家桶管理工具,更新和管理十分方便。软件中心搜索toolbox
下载之后进行激活
Step 1: IMPORTANT:
add 0.0.0.0 account.jetbrains.com to your host file ( google if you don't know where it is )

Step 2:
then get the key from http://idea.lanyus.com/getkey

深度截图_选择区域_20181017123450.png

安装Go

toolbox点击下载goland,安装完毕打开软件,打开setting


深度截图_选择区域_20181017124047.png
配置goroot

如果之前没有配置过go环境的话,这里应该是空白的。


深度截图_选择区域_20181017132659.png

安装go环境

官方下载地址:https://golang.org/dl/
需要翻墙,打不开的用这个国内的地址:https://golang.google.cn/dl/
选择对应的linux版本,这里选择了1.9.2(看自己需求,也可以下载最新版本)

深度截图_选择区域_20181017130821.png

1、下载二进制包:go1.4.linux-amd64.tar.gz。

2、将下载的二进制包解压至 /usr/local目录。

tar -C /usr/local -xzf go1.9.2.linux-amd64.tar.gz

3、将 /usr/local/go/bin 目录添加至PATH环境变量:

export PATH=$PATH:/usr/local/go/bin

4、验证是否安装成功
go version


深度截图_选择区域_20181017132221.png

kotlin

https://repo.continuum.io/archive/index.html上下载对应版本的Anaconda。

比如我选择安装 Anaconda3-5.0.1-Linux-x86_64.sh,(对应python3.6,x64系统)可以采用下列命令。

wget https://repo.continuum.io/archive/Anaconda3-5.0.1-Linux-x86_64.sh

下载完成成后直接进行安装:

bash Anaconda3-5.0.1-Linux-x86_64.sh

安装过程中会需要不断回车来阅读并同意license。安装路径默认为用户目录(可以自己指定),最后需要确认将路径加入用户的.bashrc中。

最后,立即使路径生效,需要在用户目录下执行:

source .bashrc

此时,打开python就是最新的3.6版本了。

为了保持更新,可以在终端中执行:

conda upgrade --all

如果报下面的错误,很可能是因为设置了PYTHONPATH环境变量。这将导致Anaconda无法调用正常的自己的库(Anaconda运行不依赖PYTHONPATH环境变量)。

Traceback (most recent call last):
  File "/home/*****/anaconda3/bin/conda", line 4, in <module>
    import re
  File "/home/*****/anaconda3/lib/python3.6/re.py", line 142, in <module>
    class RegexFlag(enum.IntFlag):
AttributeError: module 'enum' has no attribute 'IntFlag'

因此建议在打开python前执行

unset PYTHONPATH

或者暴力地将上述命令同样写入.bashrc文件中并用source生效。

Anaconda除了python外还包括下面几个有用的工具:

在命令行中输入:

conda create -n python27 python=2.7

想要使用python2.7环境同样需要命令 activate python27(这里面的python27是前面create时自己定义的名字),该条命令在linux和mac环境中使用 source activate python27 。接下来看到命令行的最前端多出来(python27),这时候已经处在python2.7的环境中了。想要退出python2.7进入python3.6,需要再次键入命令deactivate(linux和mac下用source deactivate命令)。

更换版本前,强烈建议将镜像源配置好,这样下载速度会快很多,下面给出了清华源的设置命令。

conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
conda config --set show_channel_urls yes

安装额外运行如下命令:

conda create -n py27 python=2.7 # 此处py27是自定义命名,名称一旦确认,下面的命令需与此处一致

conda install -n py27 jupyter # 安装 jupyter notebook
conda install -n py27 spyder # 安装 Spyder

安装完成后,打开notebook可以看到新建按钮出现了python2


20171128150325511.png

如果没有出现,运行下面代码则会出现python2。

source activate py27 # 激活python2
jupyter notebook # 打开notebook

深度截图_选择区域_20181016184310.png

如果需要在新版本中安装(上述python2版本),命令如下:
首先切换到对应版本
Linux方法如下:

source activate py27
pip install xxx # xxx为python包名称

深度截图_选择区域_20181016185655.png 深度截图_选择区域_20181016185725.png

界面使用指南

生成配置文件
jupyter notebook --generate-config
Writing default config to: /home/philos/.jupyter/jupyter_notebook_config.py

生成密码
进入jupyter界面输入以下函数,获取密码
from notebook.auth import passwd
passwd()


深度截图_选择区域_20181016193106.png

修改默认配置文件(查看上面打印出来的文件路径)
sudo nano /home/philos/.jupyter/jupyter_notebook_config.py

设置访问notebook的ip,*表示所有IP,这里设置ip为都可访问

c.NotebookApp.ip='*'

填写刚刚生成的密文 注意前面添加一个小写的u

c.NotebookApp.password = u'sha1:c4e5bb82220c:b366753bc43f4ffc7dae208ef6263340b8d9cc3c'

禁止notebook启动时自动打开浏览器(在linux服务器一般都是ssh命令行访问,没有图形界面的。所以,启动也没啥用)

c.NotebookApp.open_browser = False

指定访问的端口,默认是8888。

c.NotebookApp.port =8889

c.NotebookApp.notebook_dir = '/home/user/user1' #指定工作空间
c.PAMAuthenticator.encoding = 'utf8' #指定utf-8编码,解决读取中文路径或者文件乱码问题

ctrl + W 可以快速搜索到想要修改的内容

启动 jupyter notebook
root 用户需使用以下命令 jupyter notebook --allow-root

本地浏览器访问网址:http://localhost:8889
这里可以建设局域网,公司内网既可以一起访问。或者放到服务器上,通过http://serverIP:端口号进行访问。

深度截图_选择区域_20181016194638.png

上面的操作做完,可以多个用户使用了 但是工作空间只有一个,且只能一个人去开启服务,不能关闭,这点有点但疼痛。

实现多用户:

首先添加linux 用户

useradd user2

passwd user2

然后登录user2

重复上面的操作,生成配置文件,并修改配置文件

注意端口号和工作空间不能跟上面一样就好了。

然后运行命令

jupyter notebook

发现报错,忘了截图了,大概意思是/run/user/0/ 的权限问题

切换root 用户或者sudo 命令

chmod 777 /run/user/0/jupyter
chmod 777 -R /run/user/0/jupyter
chmod 777 -R /run/user/0/
JupyterHub的安装与配置——让Jupyter支持多用户

JupyterHub 添加自己的用户系统

在AWS上配置jupyterhub

teamviewer

manjaro的teamviewer有一些问题,pacman装上之后会出现"Not ready,.."的情况,此时应该:

sudo teamviewer --daemon enable

再打开teamviewer即可!

linux备份

timeshift

  1. 权限问题

sudo gedit /etc/rsyncd.conf

将其中的

uid = nobody
gid = nobody

改为

uid = root
gid = root

备份结束之后一定要改回来!!

系统备份

我目前的解决方案是 rsync,下面给出一个我从 Arch wiki 那里魔改来的备份脚本.区别基本上就是使用了更新和删除,就是如果目标位置已经有备份,他只会更新新的文件,并删除已经被删除了的文件。另外,我还把 steam 的路径添加到了黑名单,这样可以让我节省几十个G的游戏的硬盘空间。如果要还原的话,你只需要把 rsync 的参数互换一下,就以把备份文件复制回原来的位置了。

#!/bin/sh

START=$(date +%s)
rsync -aAXvu --delete /* /Your/Destination/Directory --exclude={/dev/*,/proc/*,/sys/*,/tmp/*,/run/*,/mnt/*,/media/*,/lost+found,/var/lib/pacman/sync/*,/home/towdium/.local/share/Steam/*}
FINISH=$(date +%s)
echo "total time: $(( ($FINISH-$START) / 60 )) minutes, $(( ($FINISH-$START) % 60 )) seconds" | tee /run/media/towdium/Files/manjaro/"Backup from $(date '+%A, %d %B %Y, %T')"

双硬盘时,机械硬盘挂载

  1. 格式化硬盘为EXT4

如果时windows过来的NTFS,一定要进行格式化,否则无法写入

fdisk -l # 列出所有分区,找到想要格式化的分区名,如/dev/sda1
sudo mkfs -t ext4 /dev/sda1 # 格式化完成

  1. 分区

sudo fdisk /dev/sda #格式化后名称为/dev/sda

输入n、p、1、两下回车、wq、回车,分成一个区

  1. 挂载

新建文件夹作为挂载点

mkdir /home/ray/Documents/Data

给定写入权限

chown -R 500:ray /run/media/ray/data/
sudo chown ray:ray /run/media/ray/data/

挂载

sudo mount -t ext4 /dev/sda1 /home/ray/Documents/Data/

  1. 开机自动挂载

sudo gedit /etc/fstab

加入:

/dev/sda1 /home/ray/Documents/Data ext4 defaults 0 2

添加字体

1. 安装依赖

sudo pacman -S fontconfig

2. 下载对应的字体文件,并且放到指定位置

  1. 建立缓存

mkfontscale
mkfontdir
fc-cache -fv

docker + pyspark + jupyter 安装

参考: http://maxmelnick.com/2016/06/04/spark-docker.html

1. 本地安装docker

1.1 安装docker包

sudo pacman -S docker

1.2 防止权限问题,加入用户权限

sudo usermod -aG docker XXX

1.3 重启服务(或者重启计算机)

sudo systemctl restart docker

1.4 查看安装是否成功

sudo docker --version

2 配置spark 镜像(images)和容器(containers)

首先,直接建立容器,如果镜像不存在,则会自动下载:

sudo docker run -d -p 8888:8888 --name spark -v $PWD:/home/jovyan/work jupyter/all-spark-notebook start-notebook.sh --NotebookApp.password='sha1:5b1e121347e8:15266c00b25c2e497714de20a674d5b8935e09dd'

命令解释:

在浏览器中输入'http://localhost:8888',即可打开容器对应的notebook

其次,查看docker状态

# 显示当前容器
docker ps

# 显示所有容器
docker ps -a

# 显示所有镜像 
docker images

# 删除容器
docker rm container_name

# 删除镜像,必须先删除依赖该镜像的容器
docker rmi image_name

最后,直接打开或是关闭

# 关闭容器
docker stop spark

# 打开容器
docker start spark

上一篇下一篇

猜你喜欢

热点阅读