欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  科技

Ubuntu笔记

程序员文章站 2022-06-24 14:07:27
Ubuntu笔记 Ubuntu使用过程中整理的一些常用或关键操作整理,以备不时之需, 另外自己可以对界面做一些美化,这部分自行百度去配置,我的界面如图 import tensorflow as tf hello = tf.constant('Hello, TensorFlow!') sess = t ......

ubuntu笔记

 

ubuntu使用过程中整理的一些常用或关键操作整理,以备不时之需,

另外自己可以对界面做一些美化,这部分自行百度去配置,我的界面如图

Ubuntu笔记

 

Ubuntu笔记
##################ubuntu18.04版###########################
1.########################换源##############################

1) 备份默认的apt源

1 $ cd /etc/apt
2 $ sudo cp sources.list sources.list.backup
2) 编辑

$ sudo gedit sources.list
复制粘贴以下列表:

deb http://mirrors.aliyun.com/ubuntu/ xenial main restricted universe multiverse 
deb http://mirrors.aliyun.com/ubuntu/ xenial-security main restricted universe multiverse 
deb http://mirrors.aliyun.com/ubuntu/ xenial-updates main restricted universe multiverse 
deb http://mirrors.aliyun.com/ubuntu/ xenial-backports main restricted universe multiverse 
##测试版源 
deb http://mirrors.aliyun.com/ubuntu/ xenial-proposed main restricted universe multiverse 
# 源码 
deb-src http://mirrors.aliyun.com/ubuntu/ xenial main restricted universe multiverse 
deb-src http://mirrors.aliyun.com/ubuntu/ xenial-security main restricted universe multiverse 
deb-src http://mirrors.aliyun.com/ubuntu/ xenial-updates main restricted universe multiverse 
deb-src http://mirrors.aliyun.com/ubuntu/ xenial-backports main restricted universe multiverse 
##测试版源 
deb-src http://mirrors.aliyun.com/ubuntu/ xenial-proposed main restricted universe multiverse 
# canonical 合作伙伴和附加 
deb http://archive.canonical.com/ubuntu/ xenial partner 
deb http://extras.ubuntu.com/ubuntu/ xenial main

 3) 注意,每次修改完apt源,一定要执行一下更新

##更新
sudo apt-get update 更新源 
sudo apt-get upgrade 更新软件

2.########################配置c++环境###################

    sudo apt-get install build-essential    //安装了该软件包,编译c/c++所需要的软件包也都会被安装。

3.############################python3.6#######################

    ubuntu18版本默认安装python3.6,没安装2.7等 其他

sudo apt-get install python3.6
调整python3的优先级,使得3.6优先级较高
sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.5 1
sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.6 2

更改默认值,python默认为python2,现在修改为python3
sudo update-alternatives --install /usr/bin/python python /usr/bin/python2 100
sudo update-alternatives --install /usr/bin/python python /usr/bin/python3 150

    输入命令sudo apt-get install python3-pip安装pip
    输入命令sudo pip3 install --upgrade pip更新pip

    接下来,安装django:
    sudo apt install python3-django
    sudo pip install django==1.11.13
    sudo pip install django==2.1.5

    通过键入以下内容来测试安装是否成功:
    django-admin --version

    安装pyecharts
    pip install pyecharts


    卸载python包命令    pip uninstall xlrd

    远程运行django命令:
    python manage.py runserver 0.0.0.0:8000
    
    刘旸项目 pyecharts配置:
    ⁄usr⁄local⁄lib⁄python3.6/dist-packages/constants.py    添加   default_host="../static/js"

    
4 。##########################lamp#############################

    可从网上找相关资料
mysql
1.安装mysql

首先查看一下自己pc是否安装了其他版本的mysql,有则删之。。。

查看版本号:

mysql -v

apt-get autoremove --purge mysql-server-版本号
apt-get autoremove mysql-server
apt-get remove mysql-common
dpkg -l |grep ^rc|awk '{print $2}' |sudo xargs dpkg -p
至此,卸载完成



#命令1
sudo apt-get update

#命令2
sudo apt-get install mysql-server mysql-client

2.1 安装配置
sudo mysql_secure_installation

2.2 检查mysql服务状态:
systemctl status mysql.service

设置密码等级
sudo su
mysql
set global validate_password_policy=0;
设置密码长度
set global validate_password_length=4;

以root进入mysql后也可用命令给root设置密码:
#这个为允许本地登录
grant all privileges on *.* to root@localhost identified by "123456";

#这个为允许远程登录
grant all privileges on *.* to 'root'@'%' identified by '8341' with grant option;


设置ubuntu18.04安装mysql后普通用户登录
sudo su
mysql
select user, plugin from mysql.user;

发现mysql的root用户的plugin被修改了,只有换成mysql_native_password才可以使用密码登录mysql。
使用下面的命令更改plugin,同时设置mysql的root访问密码
update mysql.user set authentication_string=password('8341'), plugin='mysql_native_password' where user='root';

#刷新权限
flush privileges;

退出后,切换到普通用户shell并重启mysql,即可使用root用户和上一步设置的root密码登录mysql。
重启mysql:
方式一:sudo/etc/init.d/mysql restart
方式二:sudo service mysql restart

====================忘了mysql密码,从网上找到的解决方案记录在这里====================

结束当前正在运行的mysql进程

# /etc/init.d/mysql stop

用mysql安全模式运行并跳过权限验证

# mysqld_safe --user=mysql --skip-grant-tables --skip-networking &

用空密码方式使用root用户登录 mysql

#  mysql -u root mysql 

更新密码

# update user set password = password('root') where user ='root';

刷新权限

# flush privileges; 

退出

# quit



4.1#########################phpmyadmin###########################
    
    apt-get 安装   
sudo  apt-get install  phpmyadmin

已有的虚拟主机目录建立软连接 
sudo  ln -s /usr/share/phpmyadmin/      /var/www/

但是 ubuntu中的mysql 默认是不允许的 所以要修改mysql的配置
sudo vim /etc/mysql/my.cnf #修改     bind-address 白名单 取消掉


5.############################vim################################
    
    重新安装vim:
sudo apt-get remove vim-common
sudo apt-get install vim

或

执行下面的命令就自动安装好了:
wget -qo- https://raw.github.com/ma6174/vim/master/setup.sh | sh -x


6.#########################django部署到apache2###########################
教程见自强学堂
https://code.ziqiangxuetang.com/django/django-deploy.html

    apt-get update    #获取更新列表
apt-get install apache2    #安装 apache2
restart apache 2 server /重启apache服务

#修改 /etc/apache2/envvars 文件添加下面两句 配置中文环境
 export lang='zh_cn.utf-8'
export lc_all='zh_cn.utf-8'

apt-get install libapache2-mod-wsgi-py3  #让 apache2识别 python3 程序的请求,安装 mod-wsgi模块

确认安装的 apache2 版本号
apachectl -v
ls /user/bin | grep python
默认的版本改为python 3

apachectl -v    查看apache2版本号,本次实验是安装的是apache 2.4.18

安装 python 的 pip 组件管理程序和虚拟机环境程序 virtualenv
pip3 install virtualenv  ,可不装

django项目中顺手新建两个文件夹:
mkdir static
mkdir media

在 /etc/apache2/sites-available/下新建一个文件 这里我把它命名为mysite.conf,文件名可任意取。
sudo vim /etc/apache2/sites-available/mysite.conf
在mysite.conf文件下输入:    (端口为8000,同时后面要为其添加监听端口8000,见后面)

<virtualhost *:8000>
    servername www.xxx.com(这里替换成你自己域名)
    serveralias anothername.com
    serveradmin 1249223183@qq.com(这里替换成你自己的邮箱)
     documentroot /var/www/djangotest/ (这里的参数替换成你自己的项目的目录)
    alias /media/ /var/www/djangotest/media/
    alias /static/ /var/www/djangotest/static/

    <directory /var/www/djangotest/media>
        require all granted
    </directory>

    <directory /var/www/djangotest/static>
        require all granted
    </directory>

    wsgiscriptalias / /var/www/djangotest/djangotest/wsgi.py
    <directory /var/www/djangotest/djangotest>
    <files wsgi.py>
        require all granted
    </files>
    </directory>
</virtualhost>

这里我的项目地址位置 /var/www/djangotest/目录下


修改你项目中的wsgi.py文件,改为以下内容

import os
from os.path import join,dirname,abspath
import sys    #3
project_dir = dirname(dirname(abspath(__file__)))    #4
from django.core.wsgi import get_wsgi_application
sys.path.insert(0,project_dir)    #5
os.environ.setdefault("django_settings_module", "djangotest.settings")
#这里将settings文件换成你自己的settings即可
application = get_wsgi_application()

3,4,5 为新加的内容,作用是让脚本找到django项目的位置,也可以在mysite.conf中做,
用wsgipythonpath,想了解的自行搜索, 第 7 行如果一台服务器有多个django project时一定要修改
成上面那样,否则访问的时候会发生网站互相串的情况,即访问a网站到了b网站,一会儿正常,
一会儿又不正常(当然也可以使用 mod_wsgi daemon 模式)

5. 设置目录和文件权限
一般目录权限设置为 755,文件权限设置为 644 
sudo chmod -r 644 j1945libraryms  #项目为djangotest
sudo find j1945libraryms  -type d | xargs chmod 755

apache 服务器运行用户可以在 /etc/apache2/envvars 文件里面改,这里使用的是默认值,
当然也可以更改成自己的当前用户,这样的话权限问题就简单很多,但在服务器上推荐有 www-data 用户,
更安全。以下是默认设置
export apache_run_user=www-data
export apache_run_group=www-data

上传文件夹权限
media 文件夹一般用来存放用户上传文件,static 一般用来放自己网站的js,css,图片等,在settings.py中的相关设置
static_url 为静态文件的网址 static_root 为静态文件的根目录,
media_url 为用户上传文件夹的根目录,media_url为对应的访问网址
在settings.py中设置:

# static files (css, javascript, images)
# https://docs.djangoproject.com/en/dev/howto/static-files/
static_url = '/static/'
static_root = os.path.join(base_dir,'static')
# upload folder
media_url = '/media/'
media_root = os.path.join(base_dir,'media')

staticfiles_dirs=[
    ('css',os.path.join(static_root,'css').replace('\\','/')),

    ('images',os.path.join(static_root,'images').replace('\\','/')),
   
 ('js',os.path.join(static_root,'js').replace('\\','/')),
  
  #os.path.join(base_dir, "/static/"),
    #index page static found here
  
  #static_root=os.path.join(base_dir,"static/")#错误
    
#static_root=os.path.join(base_dir,"/static/")#正确

]

在 linux 服务器上,用户上传目录还要设置给 www-data 用户的写权限,下面的方法比较好,不影响原来的用户的编辑。
假如上传目录为 zqxt/media/uploads 文件夹,进入media文件夹,将 uploads 用户组改为www-data,并且赋予该组写权限:
cd media/ # 进入media文件夹
sudo chgrp -r www-data j1945libraryms
sudo chmod -r g+w j1945libraryms
如果你使用的是sqlite3数据库,还会提示 attempt to write a readonly database,同样要给www-data写数据库的权限
进入项目目录的上一级,比如project目录为 /home/tu/blog 那就进入 /home/tu 执行下面的命令(和修改上传文件夹类似)
sudo chgrp www-data j1945libraryms
sudo chmod g+w j1945libraryms
sudo chgrp www-data j1945libraryms/db.sqlite3  # 更改为你的数据库名称
sudo chmod g+w j1945libraryms/db.sqlite3

6. 激活新网站
sudo a2ensite mysite      或      sudo a2ensite mysite.conf
下面可不用再执行
a2ensite /etc/apache2/sites-available/mysite.conf //加载自己新的网站
a2dissite /etc/apache2/sites-available/000-default.conf //让默认的失效

sudo /etc/init.d/apache2 reload  //重新加载
sudo /etc/init.d/apache2 restart //重启apache服务

7. 错误排查
一,没有静态文件,网站打开很乱,没有布局,多半是静态文件没有生效。
确保你的配置文件中的路径是正确的
确保你的settings.py中的文件设置正确
收集静态文件(详细静态文件部署教程)

如果这样做还看不到出错信息,只是显示一个服务器错误,你可以查看apache2的错误日志
cat /var/log/apache2/error.log

#######################apache配置多站点

发表于电光石火订阅227
     apache在安装之后默认只是指向一个站点,即127.0.0.1,如果要进行多站点的配置,需要更改一些配置。 

     1.让apache在启动时能加载虚拟主机模块。
 打开apache安装目录下conf/httpd.conf文件,找到下面两行文字,把最前面的 # 号去掉,然后保存。
 #loadmodule vhost_alias_module modules/mod_vhost_alias.so
 #include conf/extra/httpd-vhosts.conf   

     2.接着找到同一文件中的documentroot和directory,改为站点目录的上一级目录
 例如站点放在 d:/apache/www/1 和 d:/apache/www/2,则改为以下形式
 documentroot"d:/apache/www"
 <directory"d:/apache/www">  

     3.配置完成后即可打开apache安装目录下/conf/extra/httpd-vhosts.conf文件,在最后添加如下:
 documentroot是文件放置路径,servername是网站域名:


 <virtualhost *:80>
     serveradmin webmaster@dummy-host.example.com
     documentroot "c:/apache2/docs/dummy-host.example.com"     #web目录路径
     servername dummy-host.example.com           #host名称
     serveralias www.dummy-host.example.com
     errorlog "logs/dummy-host.example.com-error.log"
     customlog "logs/dummy-host.example.com-access.log" common
 </virtualhost> 
     最后重启apache服务就配置完成。 

     faq: 

     遇到403问题如何解决? 

     遇到403问题,是由于目录没有权限访问导致,修改http.conf中directory标签 

      <directory>
     options followsymlinks
     allowoverride none
     order deny,allow
     allow from 127.0.0.1
 </directory> 
 
 
6.0#########################django配置mysql数据库#########################

在settings.py中配置:

databases = {
    'default': {
        'engine': 'django.db.backends.mysql',   # 数据库引擎
        'name': 'mydb',         # 你要存储数据的库名,事先要创建之
        'user': 'root',         # 数据库用户名
        'password': '1234',     # 密码
        'host': 'localhost',    # 主机
        'port': '3306',         # 数据库使用的端口
    }
}

数据库迁移
python3不支持mysqldb,可用pymysql代替。
1.首先,在python虚拟环境下安装pymysql:sudo pip install pymysql

2.然后,在项目文件夹下的_init_.py添加如下代码即可。
import pymysql
pymysql.install_as_mysqldb()

3.再者,在terminal中执行数据库迁移命令:
python manage.py makemigrations
python manage.py migrate


6.1####################开启ubuntu云服务器的防火墙端口号#####################
sudo ufw status  查看当前防火墙状态
ufw default allow/deny:外来访问默认允许/拒绝
ufw allow 8000:允许 访问8000端口,8000后可跟/tcp或/udp,表示tcp或udp封包。
ufw deny 8000:拒绝 访问8000端口,8000后可跟/tcp或/udp,表示tcp或udp封包。

开启apache2监听端口  8000
sudo vi /etc/apache2/ports.conf    
添加   listen   8000

7.##############################on-my-zsh################################

安装zsh
sudo apt-get install zsh

2、把默认的shell改成zsh
chsh -s /bin/zsh
注意:不要使用sudo。

3、配置密码文件,解决chsh: pam认证失败的问题
sudo vim /etc/passwd
把第一行的/bin/bash改成/bin/zsh,这个是root用户的
把最后一行的/bin/bash改成/bin/zsh,这个应该是每台电脑的登录用户名+计算机名组成的

4、安装git

sudo apt-get install git
5、安装oh-my-zsh

为什么要安装,用于快速配置zsh。

官网:http://ohmyz.sh/

离线版本:(链接: https://pan.baidu.com/s/1i5iqyhb 密码: v5c2),如果使用离线版本需要修改为可执行权限:sudo chmod +x *.sh

sh -c "$(curl -fssl https://raw.github.com/robbyrussell/oh-my-zsh/master/tools/install.sh)"
6、重启电脑,查看效果
7、安装autojump自动跳转插件

官网:https://github.com/wting/autojump

安装:

sudo apt-get install autojump
配置教程:cat /usr/share/doc/autojump/readme.debian

配置:

vim .zshrc
#在最后一行加入,注意点后面是一个空格
. /usr/share/autojump/autojump.sh
生效:

source ~/.zshrc
8、安装zsh-syntax-highlighting语法高亮插件

官网:https://github.com/zsh-users/zsh-syntax-highlighting

安装:

git clone https://github.com/zsh-users/zsh-syntax-highlighting.git
echo "source ${(q-)pwd}/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh" >> ${zdotdir:-$home}/.zshrc
生效:

source ~/.zshrc
9、安装zsh-autosuggestions语法历史记录插件

官网:https://github.com/zsh-users/zsh-autosuggestions

安装:

git clone git://github.com/zsh-users/zsh-autosuggestions $zsh_custom/plugins/zsh-autosuggestions
plugins=(zsh-autosuggestions)
然后会发现上面这句话是不会生效的。这里科普一下:在~/.oh-my-zsh/plugins下有很多插件,直接使用plugins=(ant mvn svn git)这样的命令是可以直接加载插件的。

经过研究发现,如果使用plugins去执行插件的,首先要在本机已经安装了这个软件之后才可以使用。且这种方式在ubuntu下不支持命令去执行,只能放在.zshrc文件下使用,然后再通过source ~/.zshrc使其生效。这个是对于ubuntu比较吭的地方。

所以上面的plugins要放在~/.zshrc,具体修改如下:

vim ~/.zshrc
增加插件:



然后增加zsh的执行文件在最后一行:

source $zsh_custom/plugins/zsh-autosuggestions/zsh-autosuggestions.zsh


生效:

source ~/.zshrc
10、配置主题

官方主题参考:https://github.com/robbyrussell/oh-my-zsh/wiki/external-themes

sudo vim ~/.zshrc
找到zsh_theme="robbyrussell",修改为:zsh_theme="ys";

生效:

source ~/.zshrc
 

二、卸载:

执行:

sudo sh -c "$(curl -fssl https://raw.github.com/robbyrussell/oh-my-zsh/master/tools/uninstall.sh)"
把/etc/passwd改回bash:

第一行的/bin/bash

最后一行的/bin/bash


###########################ubuntu下使用命令安装配置中文环境####################################

1. 查看当前语言环境
1.执行 echo $lang   或者locale
2.若输出结果为en_us.utf-8,则表示当前语言环境为英文

2. 安装中文语言包

执行命令:
apt-get update && apt-get install language-pack-zh-hans

3. 编辑/etc/default/locale文件

vim /etc/default/locale

lang="zh_cn.utf-8"
language="zh_cn:zh"
lc_numeric="zh_cn"
lc_time="zh_cn"
lc_monetary="zh_cn"
lc_paper="zh_cn"
lc_name="zh_cn"
lc_address="zh_cn"
lc_telephone="zh_cn"
lc_measurement="zh_cn"
lc_identification="zh_cn"
lc_all="zh_cn.utf-8"


4. 编辑/etc/environment 文件

vim /etc/environment 
重要提示:原本的path..内容保留,不要更改或删除

lang="zh_cn.utf-8"
language="zh_cn:zh"
lc_numeric="zh_cn"
lc_time="zh_cn"
lc_monetary="zh_cn"
lc_paper="zh_cn"
lc_name="zh_cn"
lc_address="zh_cn"
lc_telephone="zh_cn"
lc_measurement="zh_cn"
lc_identification="zh_cn"
lc_all="zh_cn.utf-8"

5. 重启机器

输入命令: reboot


################################python textbolb文本情感分析##################################
安装
sudo pip install -u textblob

如果已经安装textblob,需要更新则需要运行:
sudo pip install -u textblob nltk

如果第一次安装textblob,你可能需要下载必要的nltk语料库。命令:
curl https://raw.github.com/sloria/textblob/master/download_corpora.py | python

使用此命令下载语料库:
python -m textblob.download_corpora


问题解决:
我本地没有taggers/averaged_perceptron_tagger/averaged_perceptron_tagger.pickle这个文件,打开本地nltk_data,发现还真是,只有下载了
解决方法:使用nltk下载

nltk.download()

#########################安装qt####################################

1 安装包下载
在官网进行下载http://download.qt.io/archive/qt

2 安装qt
先对qt-opensource-linux-x64-5.11.1.run文件赋予可执行权限:

$sudo chmod a+x qt-opensource-linux-x64-5.11.1.run
再在.run文件所在目录下运行.run文件安装qt

$./qt-opensource-linux-x64-5.11.1.run
然后按照提示一路next完成安装(类似于windows中软件安装方式)

3 qt环境设置
ubuntu中的环境变量配置文件一般为/etc/profile, 所以修改该文件:

$sudo vim /etc/profile
在打开的文件最后加入两行:

export path="/opt/opt/qt5.12.2/tools/qtcreator/bin:$path"
export path="/opt/opt/qt5.12.2/5.12.2/gcc_64/bin:$path"
其中/opt/qt5.12.2为qt的安装路径,根据情况修改。

保存退出后,使用命令

qtcreator
即可打开qt进行coding。

:-1: error: cannot find -lgl 问题解决:
 sudo apt-get install libgl1-mesa-dev


 下面没测试
 sudo apt-get install mesa-common-dev 
 sudo apt-get install libglu1-mesa-dev -y
###########################tensorflow################################ 

 sudo apt-get update  
    sudo apt-get upgrade

sudo pip install tensorflow

完成后继续安装,但是需要numpy 升级
  sudo pip install numpy -i

继续安装继续报错:launchpadlib 1.10.2 requires testresources, which is not installed.
不信邪了,继续解决

  sudo pip install launchpadlib
  同时升级一下pillow
  sudo pip install -u pillow

又会有好多错误,但是*关于six包的
 sudo pip install six --upgrade --target="/usr/local/lib/python2.7/dist-packages"


我只能在升级啦,测试了各种升级办法,还是上面的这个好用(重点重点).
继续安装上面的各种包,终于…..成功啦!

测试一下
  • import tensorflow as tf
  • hello = tf.constant('hello, tensorflow!')
  • sess = tf.session()
  • print(sess.run(hello))

############################qq,微信,百度网盘等######################## ubuntu18没成功 https://github.com/wszqkzqk/deepin-wine-ubuntu ##########################将自己的ubuntu18.04打包成镜像############################## ubuntu18没成功 1. 先下载remastersys wget ftp://ftp.gwdg.de/pub/linux/easyvdr/mirror/remastersys/ubuntu/remastersys/remastersys_3.0.4-2_all.deb wget ftp://ftp.gwdg.de/pub/linux/easyvdr/mirror/remastersys/ubuntu/remastersys-gui/remastersys-gui_3.0.4-1_amd64.deb 2. 安装依赖 sudo apt install syslinux-utils isolinux squashfs-tools casper libdebian-installer4 ubiquity-frontend-debconf user-setup discover sudo apt install libvte-common libvte9 plymouth-x11 wget http://security.ubuntu.com/ubuntu/pool/universe/x/xresprobe/xresprobe_0.4.24ubuntu9_amd64.deb sudo dpkg -i xresprobe_*ubuntu9_amd64.deb 3. 安装remastersys sudo dpkg -i remastersys_3.0.4-2_all.deb sudo dpkg -i remastersys-gui_3.0.4-1_amd64.deb 4. 启动remastersys sudo remastersys-gui 说明: backup:打包整个系统,包括你的个人数据和配置信息。 distribution:打包一个可与朋友分享的iso文件,不包括你的个人数据和配置信息。 customize: 软件设置 clea workingfolder:清除临时文件 check log:检查remastersys.log quit:退出remastersys backup