课程结束,投稿的论文也有了消息,整个人好像忽然轻松了很多,眨眼间研一的日子已经步入尾声,想着做点啥来充实一下自己。 虽然不是学计算机的,可是据说渣渣学校的渣渣机电的人大多数都成了程序员,正好自己有兴趣,日更记录一下自己的学习生活吧!
最近在学Linux,之前搞了个华为云装centos7,奈何界面是真的不舒服,想着实在没必要9102年还在用那种“古色古香”的命令行界面,然而之前在家庭版win系统设置Haper-V的时候一不小心把VmWare搞炸了。总之种种原因吧,WSL进入了我的眼帘。本科学习ROS的时候使用过Ubuntu,自然而然WSL也选择了Ubuntu系统。
可惜的是,对于linux小白来说,搞炸系统简直是家常便饭。在我接触ubuntu以来不多于50小时的学(作)习(死)中,出现了四次搞炸系统的情况,最近的一次是mysql账户管理时,莫名其妙修改了user数据表,然后mysql的服务器便打不开了,甚至service MySQL start的命令也一直在失败。重装了mysql好几次,一直无法解决,一怒之下删除了wsl for Ubuntu。
五分钟后又乖乖的下了回来,,,
我终于开始意识到,以后这种问题估计只多不少,于是我准备记录一下重装wsl后应该干的几件事,也许你和我的需求一样可以直接套用;也许你和我的需求有所不同,但愿能求同存异;当然也可能我们需要的迥然不同,但愿你也能吸取我的教训,记录一下自己炸系统又重新安装后所需要干的事。
进入正题,目前我重装Ubuntu之后主要做了五件事,分别是为Ubuntu添加账户并创建工作区,更新源,python相关处理,MySQL的安装配置,Django的安装配置及其与MySQL的通信,
当然不排除本文继续更新的可能,比如pytorch,keras,cuda之类的东西。
一:为Ubuntu添加账户并创建工作区
先讲第一件事,WSL安装后一般会让你创建账户并输入密码,习惯上,我喜欢创建自己喜欢的名字而不是root,密码的话也会简单的设置下。那么进入Ubuntu之后需要root账户应该怎么办呢?
sudo passwd
其实是很简单的命令,之后输入普通用户的密码,就可以为root账户设置密码了。
至于工作区的创建,都是些简单的linux命令,比如我习惯在“tmp”文件夹中创建不同的工作区,那么我们使用:
cd /tmp
mkdir your_work_station
cd your_work_station *在这里即可创建文件等
二:更新源
可能linux初学者都知道更新软件源的问题,没错就是这两句。
sudo apt-get update
sudo apt-get upgrade
有很多人想知道这两句的区别在哪儿,我反正不想知道,自己谷歌吧。
但是一般来说,ubuntu的官方网站下载的实在是太慢了,这也是为什么有很多众所周知的镜像源网站存在的原因,比如清华镜像源,阿里源等高校和企业都会有的。对Ubuntu 18.04,使用阿里源,应该在/etc/apt/sources.list文件中删除内容并添加如下文字,为了方便傻瓜式操作,我也列出了些vim指令使用,望仔细辨别。
su
cd /etc/apt/
vim sources.list
100dd *删除旧文件,记得把指针移到最上边噢,总不可能有100行吧
i *进入insert模式
*粘贴如下内容,ctrl+shift+v,可以在WSL设置里面勾选。
deb http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe multiverse
之后我们按“esc”,然后使用“:wq!”保存退出,这时候我们可以再使用刚刚的指令进行更新,一般来说速度会明显增快。
sudo apt-get update
sudo apt-get upgrade
三. python相关处理
Wsl for Ubuntu安装后,如若在命令行输入Python,可以发现是找不到python的,但是python3.6其实是存在于系统中的。一般来说,我习惯于同时使用2.7和原系统中的3.6,因此我会安装python2,但由于常用的还是python3,因此在还需要设置python3为默认的终端。同时pip和ipython也是非常有用的东西,一个可以管理python依赖,一个对于数据处理等是非常有用的shell终端。
sudo apt-get install python-pip *安装python2和pip
sudo apt-get install python3-pip *安装适用于python3的pip
sudo update-alternatives --install /usr/bin/python python /usr/bin/python2 100
sudo update-alternatives --install /usr/bin/python python /usr/bin/python3 150
pip3 install ipython
四. MySQL的安装配置
终于来到了又爱又恨的MySQL,虽然在网上看到很多人选择把mysql安装在普通用户下,但我还是不愿意太过折腾,几句命令就够了。
sudo apt-get install mysql-server
sudo apt-get isntall mysql-client
sudo apt-get install libmysqlclient-dev
如果你和我想使用python操作MySQL的话,最好下载一下PyMySQL。
sudo pip3 install PyMySQL
虽然这样的话好像很多东西都只能在root账户下使用,比如“service MySQL start”,以及后面与Django连接的问题。同时这样安装过程并没有看到设定密码这个选项,有轻微强迫症的同学可以通过如下两句命令root设定密码,但是如果你们想创建普通用户也可以去做,老年人不想折腾,能用就行。
*mysql的知识这里不多讲,能看到这儿的应该都会
set password =password('你的密码');
flush privileges;
简单说一下最后一句命令的意思,修改密码后我们需要刷新一下系统的权限表,当然也可以再命令行窗口下重启mysql服务,效果是一样的。
这样设定下我们使用如下语句登陆MySQL时会提醒我们,需要输入密码:
mysql-uroot -p
五. Django
最后是Django,很多人不想学web开发可能根本用不到,因此随便记录一下直接用apt-get安装即可。安装完成后,创建工程并在配置文件中的database中修改成mysql的相关配置即可。
DATABASES={'default':{'ENGINE':'django.db.backends.mysql','NAME':'mydatabase','USER':'root','PASSWORD':'mypassword','HOST':'','PORT':'',}}
这样Django后端中已经成功与MySQL相连接。这时我们回到拥有“manage.py”文件的目录下,使用如下指令即可看到连接的信息。
root@jose:/home/jose/myblog# python manage.py migrate
Operations to perform:
Apply all migrations: admin, auth, contenttypes, sessions
Running migrations:
Applying contenttypes.0001_initial... OK
Applying auth.0001_initial... OK
Applying admin.0001_initial... OK
Applying admin.0002_logentry_remove_auto_add... OK
Applying admin.0003_logentry_add_action_flag_choices... OK
Applying contenttypes.0002_remove_content_type_name... OK
Applying auth.0002_alter_permission_name_max_length... OK
Applying auth.0003_alter_user_email_max_length... OK
Applying auth.0004_alter_user_username_opts... OK
Applying auth.0005_alter_user_last_login_null... OK
Applying auth.0006_require_contenttypes_0002... OK
Applying auth.0007_alter_validators_add_error_messages... OK
Applying auth.0008_alter_user_username_max_length... OK
Applying auth.0009_alter_user_last_name_max_length... OK
Applying auth.0010_alter_group_name_max_length... OK
Applying auth.0011_update_proxy_permissions... OK
Applying sessions.0001_initial... OK
注:这些操作都是在root账户下完成的。
第一次写博客,更多的可能是为了自己以后重新配置的方便,内容较多,有描述不清的地方还望见谅,如有错误欢迎批评指正,一定虚心接受。
网友评论