ubuntu18纯净系统个人配置

sudo

apt install sudo

root

  • 进入 root:sudo su
  • 更改 root 密码:passwd root

创建新用户/切换用户

  • adduser:会自动为创建的用户指定主目录、系统shell版本,会在创建时输入用户密码
  • useradd:需要使用参数选项指定上述基本设置,如果不使用任何参数,则创建的用户无密码、无主目录、没有指定shell版本
  • 这里我想创建一个有管理员权限的用户,用 adduser
  • 创建新用户:adduser xiaogeldx
  • 赋予管理员权限:
    • 执行 visudo 命令,该命令实际上打开的是/etc/sudoers文件
      visudo vi /etc/sudoers
    • 修改该文件,在“root ALL=(ALL:ALL) ALL”这一行下面加入一行:
      xiaogeldx ALL=(ALL:ALL) ALL
  • 切换用户:su user #user 是想要切换到的用户名

ssh

sudo apt-get install openssh-client	#用于远程登录
sudo apt-get install openssh-server #提供远程登陆
sudo /etc/init.d/ssh start	#开启远程登陆
ps -e | grep ssh
# 如果成功,会出现如下结果

在这里插入图片描述

  • 修改SSH配置文件以下选项
vim /etc/ssh/sshd_config
# PermitRootLogin prohibit-password # 默认打开 禁止root用户使用密码登陆,需要将其注释
RSAAuthentication yes #启用 RSA 认证
PubkeyAuthentication yes #启用公钥私钥配对认证方式
PermitRootLogin yes #允许root用户使用ssh登录

net-tools

  • 用于 ifconfig
    sudo apt-get install net-tools

搜狗拼音

  • 先下载linux版本,选32位或64位
  • 打开下载的安装包,安装
  • 在ubuntu软件下载fcitx和fcitx配置
  • 进入设置,区域和语言-管理已安装的语言
    在这里插入图片描述
  • 会弹出如下对话框,选安装
    在这里插入图片描述
  • 把键盘输入法系统改为fcitx,然后关闭
    在这里插入图片描述
  • 重启电脑即可

谷歌浏览器

1. 有图形用户界面

2. 没有图形用户界面

  1. 安装依赖
    sudo apt-get install libxss1 libappindicator1 libindicator7
  2. 下载Chrome安装包
    wget https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb
  3. 安装
sudo apt-get install -f
sudo dpkg -i google-chrome*.deb
  • 注:如果安装时(即运行 sudo dpkg -i google-chrome*.deb)报错
Errors were encountered while processing:
 google-chrome-stable

就安装 google-chrome-stable,sudo apt-get install google-chrome-stable,如果出现 E: Unmet dependencies. Try 'apt --fix-broken install' with no packages (or specify a solution).(缺少依赖关系) 就运行 sudo apt --fix-broken install

vim

  • sudo apt install vim

pycharm

创建pycharm快捷方式

  • 创建其他的快捷方式改一下也可以用,比如 navicat,亲试过
  • Ubuntu的快捷方式都放在/usr/share/applications,首先在该目录下创建一个Pycharm.desktop
    sudo vim Pycharm.desktop
  • 输入下面代码:(Exec和Icon的路径改为自己的)
[Desktop Entry]
Type=Application
Name=Pycharm
GenericName=Pycharm3
Comment=Pycharm3:The Python IDE
Exec="/home/xiaoge/下载/pycharm-professional-2019.1.1/pycharm-2019.1.1/bin/pycharm.sh" %f
Icon=/home/xiaoge/下载/pycharm-professional-2019.1.1/pycharm-2019.1.1/bin/pycharm.png
Terminal=pycharm
Categories=Pycharm;
  • 然后即可运行
    在这里插入图片描述
  • requirements.txt文件,里面记录了当前程序的所有依赖包及其精确版本号
  • 小技巧:如果使用pip install安装库比较慢,可以用镜像,方法类似下面:
    • mkdir ~/.pip
      vim ~/.pip/pip.conf,填入下面代码:
      [global]
      index-url = http://mirrors.aliyun.com/pypi/simple/
      [install]
      trusted-host=mirrors.aliyun.com
      [list]
      format=columns
      

虚拟环境 virtualenv+virtualenvwrapper

什么是虚拟环境:
	通过工具将系统上的Python解释器复制了一份最简版本
虚拟环境的重要性:
	- 不会污染系统环境
	- 不同的项目环境的隔离

安装虚拟环境

  1. 安装Python解释器
  2. 使用virtualenv
    创建隔离的Python运行环境
    Windows下:
    1. 安装:pip install virtualenv
    2. 创建独立的Python运行环境
    virtualenv spider
    创建新的Python环境放到当前目录下的spider目录中
    3. 进入虚拟环境
    env\spider\activate
    Linux下:
    1. 安装:pip install virtualenv
    2. 创建独立的Python运行环境
    virtualenv -p /usr/bin/python3.6 env #指定Python版本
    virtualenv env #默认Python2.7
    创建新的Python环境放到当前目录下的env目录中
    3. 进入虚拟环境
    cd env
    source ./bin/activate
    4. 退出虚拟环境:deactivate
    5. 删除虚拟环境:rmvirtualenv env
  3. 使用 virtualenv+virtualenvwrapper
#安装virtualenv这个包
sudo apt-get install virtualenv
#安装 virtualenwrapper 这个包
sudo apt-get install virtualenvwrapper
#运行下virtualenvwrapper.sh
source /usr/share/virtualenvwrapper/virtualenvwrapper.sh
#这里运行成功不会提示
#创建虚拟环境
mkvirtualenv -p /usr/bin/pythonx.x「项目名字」
#mkvirtualenv -p /usr/bin/python3.7 spider
#进入虚拟环境
workon  [项目名字]
  1. 安装虚拟机导入Ubuntu或者用云服务器
  • 退出,删除虚拟环境
    • 退出虚拟环境:deactivate
      在这里插入图片描述

安装在原开发环境中依赖的库

  • 配置两台机器上相同的扩展库环境
    • 第一步,在已配置好的机器上使用
      pip freeze > requirements.txt生成扩展库信息列表
    • 第二步,把生成的requirements.txt文件复制到目标机器上的python安装目录中scripts子目录(没有该目录也不要紧,就放在root目录下)
    • 第三步,在目标机器上执行pip install -r requirements.txt,读取文件requirements.txt中的扩展库信息并在本机进行安装

python3.7+up

  • 安装依赖库:
sudo apt-get install build-essential checkinstall
sudo apt-get install libreadline-gplv2-dev libncursesw5-dev libssl-dev libsqlite3-dev tk-dev libgdbm-dev libc6-dev libbz2-dev
  • 下载Python 3.7.3:
    sudo mkdir -p /etc/python3.7
    cd /etc/python3.7
    sudo wget https://www.python.org/ftp/python/3.7.3/Python-3.7.3.tgz

  • 解压下载的软件包:
    sudo tar xzf Python-3.7.3.tgz

  • 编译Python源:
    cd Python-3.7.3
    sudo ./configure --enable-optimizations --prefix=/etc/python3.7
    sudo make altinstall

  • 建立python3.7的软链
    sudo ln -s /etc/python3.7/bin/python3.7 /usr/bin/python3.7
    sudo ln -s /etc/python3.7/bin/pip3.7 /usr/bin/pip3.7

  • 将/etc/python3.7/bin加入PATH
    vim ~/.bash_profile

# .bash_profile
# Get the aliases and functions
if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi
# User specific environment and startup programs
PATH=$PATH:$HOME/bin:/etc/python3.7/bin
export PATH
  • 使生效
    source ~/.bash_profile

  • 如果报错-ModuleNotFoundError: No module named ‘_ctypes’

sudo apt-get install --reinstall zlibc zlib1g zlib1g-dev
sudo apt-get install libffi-dev libssl-dev libreadline-dev -y
  • 将 python3.7 设为默认 python 版本
cd /usr/bin
sudo rm -rf python
sudo ln -s /usr/bin/python3.7  /usr/bin/python

  • 如果报错No apport report written because MaxReports is reached already Errors were encountered while processing:
cd /var/lib/dpkg  
sudo mv info/ info-bak  
sudo mkdir info  
sudo apt-get update  
sudo apt-get install -f  
#就解决了问题,然后恢复info-bak
sudo mv info/* info-bak/  
sudo rm -rf info  
sudo mv info-bak/ info  

在这里插入图片描述

Ubuntu+django+nginx+uwsgi

  • 系统更新:
sudo apt-get update
sudo apt-get dist-upgrade
#有选1234就选1,有default或者y,n的选默认

需要安装pythonX.Y-devXY,即你的Python版本

uwsgi

  • 安装uWSGI:(首先要创建虚拟环境,在虚拟环境下进行)
    pip install uwsgi

  • 基本无问题,进行下一步:

  • 基础测试:创建一个名为test.py的文件,代码如下:

def application(env, start_response):
    start_response('200 OK', [('Content-Type','text/html')])
    return [b"Hello World"] 
  • 运行uWSGI:
    uwsgi --http :8000 --wsgi-file test.py
    • http :8000
      使用协议http,端口8000
    • wsgi-file test.py
      加载指定的文件test.py
  • 访问本地或服务器的ip:8000(如果在本地运行就是127.0.0.1:8000,如果是服务器就用服务器的ip)
    • 显示Hello World就证明成功了,uwsgi安装无异常
  • 确保django程序无误后,用uwsgi运行django项目(在django项目根目录运行)
    uwsgi --http :8000 --module 项目名.wsgi
    module 项目名.wsgi:加载指定的wsgi模块
  • 关闭uwsgi:sudo pkill -f uwsgi -9
  • 创建一个名为mysite_uwsgi.ini的文件vim /etc/uwsgi/sites/web_prv.ini
  • 填入以下内容:
[uwsgi]
chdir           = /home/web_prv
module          = web_prv.wsgi:application
wsgi-file       = /home/web_prv/web_prv/wsgi.py
home            = /home/env
master          = true
processes       = 1
thunder-lock    =true
enable-threads  =true 
socket          = web_prv.sock
chmod-socket    = 666
vacuum          = true 
daemonize = /home/web_prv/logs/web_prv.log
  • uwsgi配置参数
http : 协议类型和端口号
processes : 开启的进程数量
workers : 开启的进程数量,等同于processes(官网的说法是spawn the specified number ofworkers / processes)
chdir : 指定运行目录(chdir to specified directory before apps loading)
wsgi-file : 载入wsgi-file(load .wsgi file)
stats : 在指定的地址上,开启状态服务(enable the stats server on the specified address)
threads : 运行线程。由于GIL的存在,我觉得这个真心没啥用。(run each worker in prethreaded mode with the specified number of threads)
master : 允许主进程存在(enable master process)
daemonize : 使进程在后台运行,并将日志打到指定的日志文件或者udp服务器(daemonize uWSGI)。实际上最常用的,还是把运行记录输出到一个本地文件上。(肯定要启用,要不刷屏!!)
pidfile : 指定pid文件的位置,记录主进程的pid号。   (生成pid文件,以便stop uwsgi)
vacuum : 当服务器退出的时候自动清理环境,删除unix socket文件和pid文件(try to remove all of the generated file/sockets)

nginx

  • 安装nginx:
    sudo apt-get install nginx
  • 运行/停止/重启nginx:
    sudo service nginx start/stop/restart
  • 运行nginx后在浏览器输入ip显示如下表示成功(nginx配置默认端口是80,所以直接输入ip即可)
    在这里插入图片描述
  • 在/etc/nginx/sites-available/目录中创建一个后缀为 .conf 的文件,并将下面代码放入其中:
    vim /etc/nginx/sites-available/web_prv.conf
  • 填入内容:
# the upstream component nginx needs to connect to
upstream web_prv {
    server unix:///home/web_prv/web_prv.sock; 和uwsgi的配置socket = web_prv.sock对应
}
# configuration of the server
server {
# the port your site will be served on
    listen      80;
    # the domain name it will serve for
    server_name xxx;
    server_name xxxx;	#确保django的settings.py文件中的ALLOWED_HOSTS有这些域名或者ip
    charset     utf-8;
    access_log /home/web_prv/logs/access.log;	#django项目根目录下创建logs文件夹,logs下创建access.log和error.log
    error_log /home/web_prv/logs/error.log;
    # max upload size
    client_max_body_size 75M;
    location /static {
        alias /home/web_prv/static;# your Django project's static files - amend as required
    }
	location /media {
		alias /home/web_prv/media;
	}
    # Finally, send all non-media requests to the Django server.
    location / {
        uwsgi_pass  web_prv;
        include     /etc/nginx/uwsgi_params;# the uwsgi_params file you installed
    }
}
  • 这个conf文件告诉nginx从文件系统提供媒体和静态文件,以及处理需要Django干预的请求。对于大型部署,让一个服务器处理静态/媒体文件,另一个处理Django应用程序被认为是一种好习惯,但是现在,这样做即可
  • 保存退出,并检测错误!提示ok,那才行!
    #建立软连接,关于Linux软连接,硬链接等参考此文软硬连接https://www.ibm.com/developerworks/cn/linux/l-cn-hardandsymb-links/index.html
    sudo ln -s /etc/nginx/sites-available/web_prv.conf /etc/nginx/sites-enabled/
    sudo service nginx configtest
    有错误用sudo nginx -t查看
  • 重启服务:
service nginx restart
uwsgi /etc/uwsgi/sites/web_prv.ini -d /home/web_prv/web_prv.log
  • 如果这时候你的网站已经可以正常浏览使用了,别忘记再在项目中的settings.py中关闭你的Debug:settings.py
    DEBUG = False
    /etc/nginx/sites-available/default default是个链接,所以如果想要自己创建个配置文件(我建的web_prv),就链接一下,链接方法:
    ln -s /etc/nginx/sites-available/web_prv /etc/nginx/sites-enabled/

  • 检查你的nginx错误日志(/var/log/nginx/error.log)。如果你看到类似的东西:
    connect() to unix:///path/to/your/mysite/mysite.sock failed (13: Permission
    denied)
    那么可能你需要管理套接字上的权限,以便允许nginx使用它。
    尝试:
    uwsgi --socket mysite.sock --wsgi-file test.py --chmod-socket=666 # (very permissive)

  • 运行项目uwsgi /etc/uwsgi/sites/web_prv.ini -d /home/web_prv/logs/web_prv.log
    settings.py一些注意点

sys.path.insert(0, BASE_DIR)
sys.path.insert(1, os.path.join(BASE_DIR, 'apps'))
DEBUG = False
ALLOWED_HOSTS = [
    'xxx',
    'xxxx'
]
STATIC_URL = '/static/'
STATIC_ROOT = os.path.join(BASE_DIR, 'static/')
MEDIA_URL = '/media/'
MEDIA_ROOT = os.path.join(BASE_DIR,'media')

  • 如果之前部署过,也就是有了 .sock 这个文件,需要将其删除后再进行 uwsgi /etc/uwsgi/sites/web_prv.ini -d /home/web_prv/logs/web_prv.log,或者运行后发现配置错了导致部署失败,更改好配置后也要删除该文件,在运行 uwsgi

navicat

1 下载配置navicat

  • 到navicat官网https://www.navicat.com.cn/products下载
  • 解压下载的安装包tar -zxvf
  • 查看系统支持的字符集: locale -a,我的有‘zh_CN.UTF-8’
  • 进入解压的文件夹内,打开start_navicat文件,会看到 export LANG=”en_US.UTF-8” 将这行代码改为 export LANG=”zh_CN.UTF-8”
  • 顺便修改数据库字符集,打开 /etc/mysql/mysql.conf.d路径下的mysqld.cnf文件,
    sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf,
    在[mysqld]段落中添加如下两行:
    character-set-server=utf8
    collation-server=utf8_general_ci
    重启MySQL:service mysql restart
    输入密码登录:mysql -uroot -p
    然后查看数据库字符集设置:
    mysql -u root -p
    mysql> show variables like ‘character_set_%’;
    查看字符集排序设置:
    mysql> show variables like ‘collation_%’;
    在这里插入图片描述
  • 打开navicat./start_navicat
  • 进入后choose工具-选项,将文字都选为AR PL UKai CN
  • 添加数据库链接信息

创建navicat快捷方式

  • 在/usr/share/applications文件夹下创建navicat.desktop文件
[Desktop Entry]
Encoding=UTF-8
Name=Navicat 
Comment=The Smarter Way to manage dadabase 
Exec=/bin/sh "/home/xiaoge/下载/navicat121_premium_cs_x64/start_navicat" 	#改为自己的路径
Icon=/home/xiaoge/下载/navicat121_premium_cs_x64/navicat.png    #改为自己的路径
Categories=Application;Database;MySQL;navicat
Version=1.0
Type=Application

vsftpd

安装vsftpd

  • sudo apt-get install vsftpd
  • service vsftpd restart/start/stop

创建用户

  • mkdir -p /home/xiaoge
  • useradd xiaoge -g ftp -d /home/xiaoge -s /sbin/nologin
  • passwd xiaoge
  • 可以使用“netstat -tl”命令检查FTP端口有没有已经打开,或者直接在浏览器里输入“ftp://你的服务器IP”(新安装的vsftpd默认是可以匿名不需要密码直接访问),如果能直接连接到FTP服务器,则安装vsftpd算是大功告成
  • 修改vsftpd的配置文件“vi /etc/vsftpd.conf”:(添加或修改)
    #禁止匿名访问
    anonymous_enable=NO
    #接受本地用户
    local_enable=YES
    #可以上传
    write_enable=YES
    #启用在chroot_list_file的用户只能访问根目录
    chroot_list_enable=YES
    chroot_list_file=/etc/vsftpd.chroot_list
    
  • 在/etc/vsftpd.chroot_list添加受访问目录限制的用户:
    echo "xiaoge" >> /etc/vsftpd.chroot_list
  • 如果报错“530 Login incorrect”,在 /etc/shells 最后一行添加“/sbin/nologin”
  • 如果报错500 Illegal PORT command.ftp: bind: Address already in use
    ftp> quote pasv
    227 Entering Passive Mode (192,168,0,112,164,248).
    ftp> passive
    Passive mode on.
    

ftp端口

  • ftp服务有两个端口,默认情况下,一个是20端口,另一个是21端口,21端口用于连接,20端口用于数据传输
  • 进行ftp文件传输,客户端首先连接到ftp服务器的21端口,进行用户的认证,认证成功后,要传输文件时,ftp服务器会开一个端口20来进行传输数据文件
  • 报错 响应: 550 Failed to change directory.
    解决方法:
    • sudo gedit /etc/vsftpd.conf
      增加:local_root=/home/test
      以下三句去掉#
      chroot_local_user=YES
      chroot_list_enable=YES
      chroot_list_file=/etc/vsftpd.chroot_list
      保存
    • sudo gedit /etc/vsftpd.chroot_list
      增加ftp的用户名(一行一个ftp用户名)
      保存
    • sudo chmod 777 /home/ftpdir
    • sudo service vsftpd restart

git和github

git安装配置

  • Linux安装

      apt-get install libcurl4-gnutls-dev libexpat1-dev gettext libz-dev libssl-dev
      apt-get install git
      git --version		#查看版本
    
  • 配置用户

      git config --global user.name 用户名
      git config --global user.email 邮箱
    
  • 查看配置信息

      git config --list
    

github

  • git连接github,本地git仓库和github仓库之间的传输是通过SSH加密的

  • 使用以下命令生成SSH Key:

      ssh-keygen -t rsa -C "邮箱"		#注意有引号#邮箱是github注册的邮箱
    
  • 一直回车就行,成功的话会在~/下生成.ssh文件夹,进去,打开 id_rsa.pub,复制里面的 key

      cd ~
      cd .ssh
      cat id_rsa.pub		#复制key
    
  • 在github上,选择Settings
    在这里插入图片描述

  • 选SSH and GPG keys,选New SSH key
    在这里插入图片描述

  • Title随意填,Key把前面复制的key粘贴到这里
    在这里插入图片描述

  • 为了验证是否成功用如下代码

      ssh -T git@github.com	#成功会显示github名
    
  • 选择下图中的New repository
    在这里插入图片描述

  • 在Repository Name中填github中的项目名,其他默认
    在这里插入图片描述

  • 创建一个和github的项目名相同的git本地仓库的文件夹,然后进入文件夹

      #下面这些代码是复制图中的第二种方法的代码
      echo "# hahaah" >> README.md
      git init
      git add README.md
      git commit -m "first commit"
      git remote add origin git@github.com:xiaogeldx/hahaah.git
      git push -u origin master
    

在这里插入图片描述

pycharm配置git和github

redis

  • 在 Ubuntu 系统安装 Redis 可以使用以下命令:
sudo apt-get update
sudo apt-get install redis-server
  • 启动 Redis
    redis-server
  • 查看 redis 是否启动
    redis-cli
  • 以上命令将打开以下终端:
    redis 127.0.0.1:6379>
  • 127.0.0.1 是本机 IP ,6379 是 redis 服务端口,可以输入 PING 命令
redis 127.0.0.1:6379> ping
PONG

以上说明我们已经成功安装了redis

Ubuntu下做win10启动盘

  • 下载 woeusb,这款软件是我最后用的方法,最初用 grade 分区,用挂载win10.iso的方法,boot,grub引导等都不成,也用过全是命令行制作或者grade分区+dd等,包括ms-sys等方法都穿插用过,最后万念俱灰采用woeusb
  • 最初选方法时查资料看大家说woeusb不靠谱,再加上个人感觉太简单,不可信,就一直没用,直到实在没新法子了才用它,悔不该,太年轻,为了做这个启动盘白白浪费三整天的时间精力,光往u盘里拷iso就不止20次,我都怕u盘让我拷烧了,没想到用woeusb一次就成功了
  • 因为我的U盘早就用grade分区为fat32,所以不知道是否需要先分区,但我个人认为不需要先分区了,因为现在的woeusb带有这个功能,自己也没从头尝试,望知
  • 环境:Ubuntu19,8GU盘,woeusb,win10的iso文件

安装woeusb

sudo add-apt-repository ppa:nilarimogard/webupd8
sudo apt update
sudo apt install woeusb

在这里插入图片描述

使用woeusb

  • 操作十分简单,和 Ubuntu/Linux 自带的启动盘创建器差不多,如下图
    在这里插入图片描述
  • 点 install 等一会即可,我的电脑,U盘不好,等了不到二十分钟做好了
  • 重启自动进入重装系统界面(前提是 BIOS 设置为U盘的启动优先级最高)

docker

安装 docker

sudo apt-get install \
    apt-transport-https \
    ca-certificates \
    curl \
    gnupg-agent \
    software-properties-common
  • 添加Docker的官方GPG密钥:
    curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
  • 添加仓库。
sudo add-apt-repository \
   "deb [arch=amd64] https://download.docker.com/linux/ubuntu \
   $(lsb_release -cs) \
   stable"
  • 安装docker ce
    sudo apt-get install docker-ce docker-ce-cli containerd.io
  • 测试
    sudo docker run hello-world
  • 添加当前用户到 docker 用户组
    sudo usermod -aG docker xiaoge #xiaoge 为当前用户名

docker 的优化配置

  • 在 /etc/docker/daemon.json 中写入如下内容(如果文件不存在请新建该文件)
{
  "registry-mirrors": [
    "https://dockerhub.azk8s.cn",
    "https://reg-mirror.qiniu.com"
  ]
}

ipython

sudo apt-get install ipython3
pip install ipython

网易云音乐

修改 Ubuntu 镜像

在这里插入图片描述

sudo vim /etc/apt/sources.list

恢复成英文

sudo vim  /etc/default/locale 
#以下内容
LANG="en_US.UTF-8"
LANGUAGE="en_US:en" 
#以上内容
source /etc/default/locale 
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值