Ubuntu 使用教程 & 安装 jupyter notebook (miniconda)

Ubuntu初始化设置

1.购买服务器

1.1 选购服务器

Recommand sites for free server:

for one year: 1核-1G内存-中低网速

https://aws.amazon.com/cn/ [only for new]

[t2.micro (- ECU, 1 vCPU, 2.5 GHz, -, 1 GiB 内存, 仅限于 EBS)]

for one month:

https://www.aliyun.com/

云服务器突发性能型 t5 - 1H-1G-1~5M-40G[only for new]

云服务器共享型 s6 - 2H-4G-1~5M-40G for one week[only for new]

1.2 选择系统-Ubuntu

在系统界面选择 Ubuntu (recommand v20.04)

安装

密码与安全一般会有两个选择:

  • ssh_rsa 密钥 (推荐)

– ssh_rsa 密钥在创建后需要下载私钥到本地,详细见2.1.2 ssh config

  • 密码

– 请记住密码,如果忘记就只能重装系统(注: 在没有其他sudoer用户的情况下)

1.3 配置网卡和ip

  • 网卡与ip选择默认
  • IP推荐ipv4(许多免费服务器不支持ipv6)

值得注意的是一般付费服务器的网络选项,在对网络要求不大的情况下可以选择按流量计费,以获得更高的速度。

在实例创建成功后,进入控制台,在基本信息处可以看到服务器ip地址

2.Ubuntu 系统

2.1 进入系统与ssh

打开终端或其他客户端

终端链接方法:

密码登录:

ssh root@【你的ip填在这里】

回车

hint:如果是第一次链接输入‘yes’同意建立陌生的链接

输入你刚刚设置的密码

等待链接

密钥登录:

ssh root@【你的ip填在这里】-i 【你的密钥本地地址】

回车

hint:如果是第一次链接输入‘yes’同意建立陌生的链接

等待链接

————————————————————————————————

hint:出现以下界面就说明链接成功

—-----------------

Welcome to Ubuntu 18.04.5 LTS (GNU/Linux 4.15.0-147-generic x86_64)

  • Documentation: https://help.ubuntu.com
  • Management: https://landscape.canonical.com
  • Support: https://ubuntu.com/advantage
    New release ‘20.04.2 LTS’ available.
    Run ‘do-release-upgrade’ to upgrade to it.

Welcome to Alibaba Cloud Elastic Compute Service !

Last login: Fri Jul 30 14:09:38 2021 from ...
(base) root@hostname:~#

—-----------------

  • 其他客户端推荐:

– putty: https://www.chiark.greenend.org.uk/~sgtatham/putty/

– reference: https://www.runoob.com/linux/linux-remote-login.html

– termius: https://www.termius.com/

– Xshell: https://www.netsarang.com/en/xshell/

– FinalShell: https://www.hostbuf.com/

– 特别靠谱的使用方法(不推荐):

  • 由服务器提供商提供的VNC链接
  • 由aliyun提供的cloudshell
  • 由aliyun提供的workbranch

其他客户端的方法可以按照教程来做

2.1.1 ssh 语法

ssh username@ipaddr -i Identity -p port

部分man说明:

NAME
ssh – OpenSSH SSH client (remote login program)

SYNOPSIS
ssh [-46AaCfGgKkMNnqsTtVvXxYy] [-B bind_interface] [-b bind_address] [-c cipher_spec] [-D [bind_address:]port] [-E log_file] [-e escape_char] [-F configfile] [-I pkcs11]
[-i identity_file] [-J destination] [-L address] [-l login_name] [-m mac_spec] [-O ctl_cmd] [-o option] [-p port] [-Q query_option] [-R address] [-S ctl_path]
[-W host:port] [-w local_tun[:remote_tun]] destination [command]

DESCRIPTION
ssh (SSH client) is a program for logging into a remote machine and for executing commands on a remote machine. It is intended to provide secure encrypted communications
between two untrusted hosts over an insecure network. X11 connections, arbitrary TCP ports and UNIX-domain sockets can also be forwarded over the secure channel.

 ssh connects and logs into the specified destination, which may be specified as either [user@]hostname or a URI of the form ssh://[user@]hostname[:port].  The user must
 prove his/her identity to the remote machine using one of several methods (see below).

 If a command is specified, it is executed on the remote host instead of a login shell.

 The options are as follows:

 -4      Forces ssh to use IPv4 addresses only.
 
 -6      Forces ssh to use IPv6 addresses only.

 -B bind_interface
         Bind to the address of bind_interface before attempting to connect to the destination host.  This is only useful on systems with more than one address.

 -b bind_address
         Use bind_address on the local machine as the source address of the connection.  Only useful on systems with more than one address.


 -E log_file
         Append debug logs to log_file instead of standard error.

  -i identity_file
         Selects a file from which the identity (private key) for public key authentication is read.  The default is ~/.ssh/id_dsa, ~/.ssh/id_ecdsa, ~/.ssh/id_ed25519 and
         ~/.ssh/id_rsa.  Identity files may also be specified on a per-host basis in the configuration file.  It is possible to have multiple -i options (and multiple iden-
         tities specified in configuration files).  If no certificates have been explicitly specified by the CertificateFile directive, ssh will also try to load certificate
         information from the filename obtained by appending -cert.pub to identity filenames.
         
  -l login_name
         Specifies the user to log in as on the remote machine.  This also may be specified on a per-host basis in the configuration file.
         
   -p port
         Port to connect to on the remote host.  This can be specified on a per-host basis in the configuration file.

    -q      Quiet mode.  Causes most warning and diagnostic messages to be suppressed.

2.1.2 ssh config

建立config后再也不用每次都加 -i 了。

nano 在~/.ssh/下新建config文件
格式:

nano ~/.ssh/config

input:

Host nickname_or_ipaddr

  HostName ipaddr

  User login_username

  IdentityFile rsa_key

Host nickname_or_ipaddr

  …

2.2 系统维护与更新

2.2.1 系统更新

检查更新与安装

apt update && apt upgrade

2.2.2 系统维护

apt 换源

Ubuntu 更换 apt 源为阿里云

1、复制原文件备份

sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak

2、编辑源列表文件

sudo vim /etc/apt/sources.list

3、将原来的列表删除,添加如下内容

阿里云的源

deb http://mirrors.aliyun.com/ubuntu/ vivid main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ vivid-security main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ vivid-updates main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ vivid-proposed main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ vivid-backports main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ vivid main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ vivid-security main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ vivid-updates main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ vivid-proposed main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ vivid-backports main restricted universe multiverse

ubuntu的源, 最好也加上,避免某些库下载不到

deb http://archive.ubuntu.com/ubuntu/ trusty main restricted universe multiverse
deb http://archive.ubuntu.com/ubuntu/ trusty-security main restricted universe multiverse
deb http://archive.ubuntu.com/ubuntu/ trusty-updates main restricted universe multiverse
deb http://archive.ubuntu.com/ubuntu/ trusty-proposed main restricted universe multiverse
deb http://archive.ubuntu.com/ubuntu/ trusty-backports main restricted universe multiverse

4、运行

sudo apt-get update && apt-get upgrade

作者:大富帅, 链接:https://www.jianshu.com/p/fb337765c2c2
来源:简书,著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

2.2.3 密码改密钥

通常的来说,我们会使用 ssh user@host -p port这个命令,之后输入密码来登录服务器,才能ssh登录到服务器进行操作。如果一天需要登录很多遍服务器,就会输入很多次密码,偷懒的我当然不愿意这么干。而今天我们就要偷懒的进行免密码登录服务器的操作。

Unix系的操作系统提供了各种ssh支持,我们可以通过这些来实现ssh登录。

首先我们要在我们的mac上电脑上生成公钥和私钥,在终端中输入以下命令:

 cd ~/.ssh

首先进入~/.ssh目录,之后:

ssh-keygen -t rsa

之后就可以一路回车,一般都不设置密码,即可在~/.ssh目录中生成私钥文件(id_rsa)和公钥文件(id_rsa.pub)。如果熟悉git ssh-key配置的朋友,可能已经很熟悉这个步骤了,所以我们只要把公钥上传到我们的服务器的~/.ssh目录就好了。

所以我们可以用接下来的命令上传我们的公钥文件:

scp ~/.ssh/id_rsa.pub ssh [email protected] -p 2222:~/.ssh/

接下来我们登录到服务器中,将~/.ssh目录下的id_rsa.pub文件改名为authorized_keys:

mv id_rsa.pub authorized_keys

接着修改文件权限

chmod 700 ~/.ssh/
chmod 600 ~/.ssh/authorized_keys

现在,我们就可以正常的在mac 终端中使用ssh来登录服务器了,无需输入密码。

我们可以在bash_profile中设置一个alias,更能方便登录服务器的操作。

2.2.3.1 简单的ssh密钥安装
先在本地.ssh文件夹下生成密钥

ssh-keygen -t rsa

然后运行

ssh-copy-id user@target_ip

安装一份密钥到服务器
输入密码
建立ssh链接
完成
(此方法只在mac上验证过,windows我不知道)
2.2.4 添加用户

1、创建新用户

sudo adduser username

其中username是你要创建的用户的名字,然后设置密码还有相关信息就可以了

2、赋予新用户sudo权限

用adduser创建后的新用户是不能使用sudo的,因为还没有赋予相关root权限,执行以下代码赋予权限

sudo usermod -a -G adm username
sudo usermod -a -G sudo username

3、删除用户
当需要删除用户时可以使用以下指令

sudo userdel -r username

这个指令会删除用户username并把该用户下的所有文件(/home/username/路径下的所有文件)都删除,若要保留这些文件而仅仅删除用户,可使用以下指令

sudo userdel username

ps:(可查看/etc/group文件来查看各用户组情况)
————————————————
版权声明:本文为CSDN博主「acelove40」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/acelove40/article/details/54343629

2.2.3 chmod

Linux chmod命令

Linux chmod(英文全拼:change mode)命令是控制用户对文件的权限的命令

Linux/Unix 的文件调用权限分为三级 : 文件所有者(Owner)、用户组(Group)、其它用户(Other Users)。

语法

chmod [-cfvR] [–help] [–version] mode file…

for mode 其中:

u 表示该文件的拥有者,g 表示与该文件的拥有者属于同一个群体(group)者,o 表示其他以外的人,a 表示这三者皆是。

  • 表示增加权限、- 表示取消权限、= 表示唯一设定权限。

r 表示可读取,w 表示可写入,x 表示可执行,X 表示只有当该文件是个子目录或者该文件已经被设定过为可执行。

其他参数说明:

-c : 若该文件权限确实已经更改,才显示其更改动作

-f : 若该文件权限无法被更改也不要显示错误讯息

-v : 显示权限变更的详细资料

-R : 对目前目录下的所有文件与子目录进行相同的权限变更(即以递归的方式逐个变更)

–help : 显示辅助说明

–version : 显示版本

link to chmod : https://www.runoob.com/linux/linux-comm-chmod.html

常用命令剪切板:

chmod a+X name
chmod 

Linux chown 命令

Linux chown(英文全拼:change owner)命令用于设置文件所有者和文件关联组的命令。

Linux/Unix 是多人多工操作系统,所有的文件皆有拥有者。利用 chown 将指定文件的拥有者改为指定的用户或组,用户可以是用户名或者用户 ID,组可以是组名或者组 ID,文件是以空格分开的要改变权限的文件列表,支持通配符。 。

chown 需要超级用户 root 的权限才能执行此命令。

只有超级用户和属于组的文件所有者才能变更文件关联组。非超级用户如需要设置关联组可能需要使用 chgrp 命令。

使用权限 : root

link to chown : https://www.runoob.com/linux/linux-comm-chown.html

linux: https://www.runoob.com/linux/linux-tutorial.html

3. 安装Miniconda

转到 https://docs.conda.io/en/latest/miniconda.html 选择最新的Miniconda右键复制最新的
然后使用 Wget 命令获取最新的.sh 文件

wget https://repo.anaconda.com/miniconda/Miniconda3-py38_4.10.3-Linux-x86_64.sh

然后会出现这个界面代表下载成功
Ubuntu 使用教程 & 安装 jupyter notebook (miniconda)_第1张图片
然后运行

sh Miniconda3-py38_4.10.3-Linux-x86_64.sh 

【可能名字会有一点点变化。】
出现如下提示:
Ubuntu 使用教程 & 安装 jupyter notebook (miniconda)_第2张图片
然后就无脑按Enter
它会在你目前的目录安装
然后执行,进行初始化:

conda init

最后重启ssh连接
就出现请添加图片描述
有"(base)"就说明安装成功了

4. 安装jupyter notebook

conda install jupyter notebook
jupyter notebook --generate-config
jupyter notebook password
cd ~/.jupyter/

编辑jupyter_notebook_config.py
将其中的

# Set options for ip, and toggle off
# browser auto-opening
# Set ip to '*' to bind on all interfaces (ips) for the public server
c.NotebookApp.ip = '*'
c.NotebookApp.open_browser = False

# It is a good idea to set a known, fixed port for server access
c.NotebookApp.port = 8888

记得,要在防火墙上打开你设置的对用端口
例如

sudo ufw allow 8888

参考资料

linux help: https://www.runoob.com/linux/linux-tutorial.html

linux command: https://www.runoob.com/linux/linux-command-manual.html

  • chmod : https://www.runoob.com/linux/linux-comm-chmod.html

  • chown : https://www.runoob.com/linux/linux-comm-chown.html

jupyter help: https://jupyter-notebook.readthedocs.io/en/latest/index.html

  • remote jupyter help: https://jupyter-notebook.readthedocs.io/en/latest/public_server.html#using-let-s-encrypt

你可能感兴趣的:(guide,linux,ubuntu)