提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
https://blog.csdn.net/hexuyangguang/article/details/106150287
前言
方便自己后期复习巩固以做的学习记录,若有有缘人刷到也可为你的学习做个参考
一、VMware&Ubuntu系统是什么?
VMware是通过软件模拟的具有硬件系统功能的、运行在一个完全隔离环境中的完整计算机系统
不会对现有系统产生任何影响
Ubuntu
二、安装步骤
1.Ubuntu
https://blog.csdn.net/hexuyangguang/article/details/106150287
本人参照以上进行的安装,其中
本人下拉替换了Chinese,感觉看起来更方便一些
替换中文后,
在这一步,我出现了红色划线区域无法显示,也就是虚拟机安装窗口过大问题,导致无法点击“现在安装”去进行下一步
解决办法:点击内窗口即安装窗口的红叉,回到主页面,找到设置---设备---更改分辨率为1152*864---应用,更改完成后再重新点击页面上的“ 安装Ubuntu 18.04 LTS ”外窗口就明显增大了。
安装完成后进行了一些设置:
1、分辨率设置1152*864
2、联网
3、安装VMware Tools和net-tools(方便Windows与Ubuntu间文件复制,ifconfig)
sudo apt-get install net-tools
4、下载了谷歌
5、安装vim
sudo apt install vim
测试:vim a.txt,出现表示安装成功
6、NewFile快捷键
在templates文件夹右击在终端打开--->touch NewFile
7、设置软件源,选择最佳(检查是否连通)
8、添加了中文输入法
启动ibus框架:im-config -s ibus
sudo ibus-setup #打开iBus设置
选中input method,Add刚才安装的中文拼音就行了。这样, ibus 拼音输入法就安装配置好了。
添加该输入法系统,依次点击System Settings–>Input Sources-->点+号,加上ibus拼音输入法,这样就会在系统的菜单条上显示输入法切换的图标了
按shift键可以切换中/英
9、Shift+Ctrl+C:复制;Shift+Ctrl+V:粘贴
10、安装SSH:用于远程登录、控制及文件传输等功能
sudo apt-get install openssh-server
三、在Ubuntu上安装mysql,anaconda,pycharm
MySQL:在终端依次输入指令:sudo apt update
sudo apt install mysql-server(这里时间会长一点)
出现这类问题的解决办法:
①sudo rm /var/cache/apt/archives/lock
②sudo rm /var/lib/dpkg/lock
再重新install
sudo mysql_secure_installation(设置密码强度和新密码)
是否移除匿名用户?y
是否禁用root用户远程登录?y
是否移除测试数据库?n
是否重载权限表?(是否让设置立刻生效)y
设置完成!!!
检查一下mysql是否正在运行:systemctl status mysql.service
按Ctrl+C结束
连接一下:sudo mysql -u root -p
出现mysql->表示成功
查询数据库:show schemas
;
anaconda:参考教程
桌面打开终端:sudo apt install libgl1-mesa-glx libegl1-mesa libxrandr2 libxrandr2 libxss1 libxcursor1 libxcomposite1 libasound2 libxi6 libxtst6
将官网下载好的anaconda复制到“主目录/下载”,在这个位置打开终端:
bash Anaconda3-2019.10-Linux-x86_64.sh
Enter--->yes--->路径Enter(不要动耐心等待会出现Unpacking payload...)这里时间会比较长,等待过程容易出错,拍摄安装之前的快照,出错了可一键恢复
yes--->Enter结束
source ~/.bashrc--->Enter安装完成
更新:conda update --all--->Enter
y--->Enter,结束
pycharm:
下载地址:PyCharm:JetBrains为专业开发者提供的Python IDE
解压到“主目录/软件”,在bin位置打开终端,依次输入:
ls--->Enter
./pycharm.sh--->continue--->don't send完成
在Pycharm下创建Anaconda虚拟环境,但envs目录下没有interpreter解释器问题的解决_猎户在天的博客-CSDN博客_anaconda3下envs为空
conda create -n my_env python
conda activate my_env
在tool位置创建桌面图标即可
装完之后发现磁盘空间不够用了,最初只设置了20g太小了,然后重新扩容到了512G,然后需要重新分区,尝试使用:vmware:ubuntu虚拟机如何扩容?_MasterHu88的博客-CSDN博客_ubuntu虚拟机扩容
这种办法进行,但是在安装时出现了ubuntu apt-get install更新域名解析失败问题的处理方法_程序小小说的博客-CSDN博客
这种错误,但是按照这篇博客进行解决时,出现了个问题,DNS终端界面无法编辑,有博主说敲i进入编辑模式,但是编辑模式不太正常
index.vimrc复制到桌面,去掉index,名字就是.vimrc,
cd 桌面
mv index.vimrc ../.vimrc就出现行号了,vi下编辑就正常了
Ubuntu联网:
1、上网原理
Windows:网卡硬件+windows系统+应用(端口号)
虚拟机:网卡硬件+Windows系统+VMware+Ubuntu
2、上网方式
NAT方式:(1)Ubuntu缩在Windows内部来上网(只是Windows的一个软件),
(2)局域网中只有Windows主机,没有Ubuntu,
(3)NAT方式,虚拟机上网,局域网中只需要一个IP地址
(4)上网更简单,更容易成功,对外部没有要求
桥接方式:(1)Ubuntu和Windows是并列来对接外部网络,
(2)相当于局域网中多出了一个主机
(3)局域网中需要2个IP地址分别给Windows和Ubuntu
(4)要求局域网中允许新主机加入,新主机还必须有正确的IP地址
(5)方便Ubuntu去连接开发板等外部设备
建议:如果是需要上网装软件,用NAT。如果是需要连开发板,用桥接
3、虚拟机上网相关的设置和技术点
(1)ifconfig命令
(2)IP地址、子网掩码、网关、DNS
(3)静态IP地址和DHCP动态分配IP地址
(4)图形界面配置,与命令行配置
4、联网:ubuntu18.04虚拟机无法上网_没毕业的小垃圾的博客-CSDN博客_ubuntu18.04虚拟机无法联网
挂载:linux新磁盘分区挂载步骤_skullxin19的博客-CSDN博客_linux 分区挂载
未成功,重新创了个虚拟机
之后要尝试一下这种方式:(!待尝试!)虚拟机Ubuntu磁盘扩容_hebbely的博客-CSDN博客_虚拟机ubuntu硬盘扩容
四、Linux指令
1、当我们通过终端远程登录服务器就不能使用图形界面了,做的所有操作都必须在终端中通过终端命令来实现
2、远程维护服务器时,最好不要关闭系统,而应该重新启动系统。因为我们的服务器通常会托管在一个机房里面,当通过SSH登录到服务器可以对其进行日常的维护管理,但是我们通过终端命令将这台计算机关掉,谁来帮我们开启呢?是有些麻烦的,为了避免这种麻烦,我们最好重启。
3、SSH:工作中很少会在现场维护管理服务器,绝大多数都是通过自己的电脑远程管理服务器,首先需要在自己的服务器上安装一个SSH服务器的软件,在自己的电脑上安装SSH的客户端软件,在自己的电脑上通过网络登录到服务器上,对服务器进行日常的登录管理维护了,在Ubuntu、Mac上SSH的服务器和客户端都是默认安装的,只有在Windows电脑下才需要单独安装ssh的客户端。
例子:获取Ubuntu的IP地址,在Mac系统上登录实现对Ubuntu服务器的远程维护:
将Ubuntu下的01.py文件复制到Mac桌面:()
把远程 家目录下的 Desktop/01.py 文件 复制到 本地当前目录下的 01.py
把Mac桌面的01.py复制到远程Ubuntu桌面上
把本地当前目录下的 01.py 文件 复制到 远程 家目录下的 Desktop/01.py
SSH配置别名:
①首先在.ssh目录下创建config文件
②gedit config运行
③把以下内容复制粘贴进文件并进行修改
====================================
Host 别名(如:myserver不能产生新空格)
HostName ip地址
User ztt
Post 22
=====================================
之后就直接ssh myserver 就能登录到远程 ,就不需要输入用户名、IP地址和端口号了
exit退出
如:将Ubuntu桌面的所有内容复制到Mac桌面文件夹下(在Ubuntu终端输入)
scp -r ~/Desktop myserver:Desktop/demo
Ubuntu的桌面文件夹地址 Ubuntu的Host别名 Mac桌面文件夹地址
2、用户权限
r-----可读,w-----可写,x-----可执行
硬链接数 | 文件拥有者名称 组的名称 文件/文件夹大小 创建/修改时间 文件/文件夹名称
硬链接数取决于该目录包含多少子目录
三个一组
3、用户管理
zhangsan用户默认使用的是bash
使用usermod改变用户默认的登录shell,因为在Ubuntu中,用户默认是用的shell叫dash,在XShell下并不方便
在Windows XP系统下XShell界面会和Ubuntu下shell界面不一样,
在Ubuntu执行:
sudo usermod -s /bin/bash zhangsan
再重新登录XShell,就会有用户名字,系统名字,文件名变色
后面的ztt表示用户,前面的表示组
who可以查看当前登录的所有用户以及用户来源(ip,(:0)表示本机)
4、其他
软链接一旦源链接被删除,就会失效;而硬链接不会受影响
tar打包文件,多个文件名用空格隔开
五、安装django
在pycharm的settings中的interpretor中搜索django,2.2.1,安装即可
在终端输入Python--->import django--->django.get_version() 可查看django版本,来确定是否安装成功
创建新的django项目:django-admin startproject mysite1
进入项目文件夹:cd mysite1
运行项目:python3 manage.py runserver
在火狐中打开
成功!!!!!
1、安装pip
1、卸掉之前的pip: sudo apt-get remove python-pip
2、安装pip21.2.2
3、解决command not found
原因:编译sudo的时候加入了–with-secure-path 选项。
解决:在环境配置文件里加一个alias
(1) 执行命令
vi ~/.bashrc
vi文件打开后是命令模式状态,要用i或者a命令才可进入可编辑的状态,添加内容:
alias sudo='sudo env PATH=$PATH'
保存文件按esc退回vi的命令模式,:wq保存
用cat 文件名来查看文件内容。
(2)执行命令
source ~/.bashrc
解决
2、安装pygame
步骤:安装Pygame依赖的库:
sudo apt-get install python3-dev mercurial
sudo apt-get install libsdl-image1.2-dev libsdl-ttf2.0-dev
下载并安装Pygame:
sudo pip3 install pygame
3、连接数据库
登录mysql:sudo mysql -u root -p
创建数据库:create database mysite1 default charset utf8;
在settings.py中当做如下修改
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'mysql',
'USER': 'root',
'PASSWORD': '123',
'HOST': '127.0.0.1',
'PORT': '3306'
}
}
新建一个APP:python3 mange.py startapp bookstore
注册app:不注册在进行数据库迁移时会报错:No changes detected
添加模型类--->在models.py中编写:
from django.db import models
class Book(models.Model):
# 一个模型类代表一张表,一个类属性代表一个字段
title = models.CharField("书名", max_length=50, default='')
price = models.DecimalField('定价', max_digits=7, decimal_places=2)
python3 manage.py makemigrations
但此时数据库中并无这个表
数据库迁移:(1)在项目文件夹下生成迁移文件: python3 manage.py makemigrations
将应用下的models.py文件生成一个中间文件,并保存在migrations文件夹中
(2)执行迁移脚本程序:python3 manage.py migrate
实现迁移,将每个应用下的migrations目录中的中间文件同步回数据库
其中在执行(1)时报错:[django.db.utils.InternalError: (1698, “Access denied for user ‘root‘@‘localhost‘“)]
解决方案:进入mysql,新建了一个ztt用户代替root: create user 'ztt'@'%' identified by '123456';
赋予用户权限: GRANT ALL PRIVILEGES ON . TO 'ztt'@'%' IDENTIFIED BY '123456';
刷新权限:flush privileges;
这里做过密码强度修改:
①查看 mysql 初始的密码策略: SHOW VARIABLES LIKE ‘validate_password%’;
② 设置密码的验证强度等级:set global validate_password_policy=LOW;
③设置希望的密码长度:set global validate_password_length=6;
再次执行(1)又报错:django.db.utils.OperationalError: (1044, "Access denied for user 'ztt'@'%' to database 'mysql'")
解决方案:进入mysql
① 在mysql里面写入本地访问权限: GRANT ALL PRIVILEGES ON *.* TO 'ztt'@'localhost' IDENTIFIED BY '123456' WITH GRANT OPTION;
②flush privileges;
再次执行(1) ,OKOKOK了!!!!
检查数据库:有了!
新增字段一定要设置default,不然会报错
查看mysql表里活动
去数据库查看是否插入成功:select * from book;
F对象解决并发计数的问题