ubuntu操作记录

文章目录

  • 1、ubuntu操作记录
    • 1、ubuntu使用mysql
      • 1.1、修改密码
      • 1.2、创建用户
      • 1.3、授权
      • 1.4、执行sql文件
      • 1.5、安装Navicat出现乱码
    • 2、apache-activemq
    • 3、软件快捷方式
    • 4、Markdown软件Typora的安装
    • 5、Ubuntu中无法自启动搜狗拼音或显示栏乱码
    • 6、关于Anaconda的基本操作
      • 6.1、常用命令
      • 6.2、修改环境名称
      • 6.3、分享环境(环境打包)
    • 7、ubuntu18.04安装docker
    • 8、配置开机自启脚本
      • 8.1、文件配置
      • 8.2、创建`rc.local`文件
      • 8.3、添加执行权限
      • 8.4、编辑`rc.local`文件,添加自启任务
  • 2、树莓派操作
    • 2.1、Ubuntu和树莓派文件传输
    • 2.2、设置wifi连接
    • 2.3、设置用户自动登录
    • 2.4、安装`virtualenvwrapper`
    • 2.5、烧录系统
    • 2.6、设置网络
    • 2.7、进入树莓派系统
      • 2.7.1、校正树莓派时间
      • 2.7.2、修改开启ssh和spi
    • 2.8、用户修改
      • 2.8.1、修改pi用户密码
      • 2.8.2、启用root用户
      • 2.8.4、增加用户
      • 2.8.4、开启自动用户免密登陆
    • 2.9、安装环境和需要的Python包
    • 2.10、将文件上传至树莓派
    • 2.11、开机自动运行脚本
    • 2.12、安装can驱动
      • 2.12.1、 虚拟驱动安装
      • 2.12.2、真实设备驱动安装
    • 2.13、拷贝系统
  • 3、docker使用记录
      • docker使用
          • 1.查看容器运行
          • 2.查看当前容器的标准输出
          • 3.停止容器
          • 4.运行容器
          • 5.列出本地镜像
          • 6.删除本地镜像
          • 7.删除日志记录
          • 8.下载镜像
          • 9.查找镜像源
          • 10.更新镜像
          • 11.构建镜像

1、ubuntu操作记录

1、ubuntu使用mysql

安装mariadb数据库:

sudo apt install mariadb-server-10.1 # 自己选择版本
sudo apt install mariadb-client-10.1 # 自己选择版本

1.1、修改密码

ubuntu在安装数据库时,会出现没有设置密码的情况,解决方案如下:

  1. 终端输入: sudo cat /etc/mysql/debian.cnf查看默认的密码
    如果password为空: sudo mysql -u [查找的用户名] -p回车即可进入连接数据库,再改密码即可。
  2. 终端输入:mysql -u [查到的用户名] -p ,再输入查找的密码后,进入mysql中,在mysql中输入以下内容:
mysql> show databases;
mysql> use mysql;
mysql> update user set authentication_string=PASSWORD("root") where user="root";

mysql> update user set plugin="mysql_native_password";
mysql> flush privileges;
mysql> quit;
  1. 在终端中输入 sudo /etc/init.d/mysql restart; 命令,重启mysql服务
  2. 使用新密码登陆
    详情见: https://blog.csdn.net/shihuangdeng898/article/details/84147270

1.2、创建用户

命令:

CREATE USER 'username'@'host' IDENTIFIED BY 'password';

#删除用户
drop user 'username'@'host'

说明:

  • username:你将创建的用户名
  • host:指定该用户在哪个主机上可以登陆,如果是本地用户可用localhost,如果想让该用户可以从任意远程主机登陆,可以使用通配符%
  • password:该用户的登陆密码,密码可以为空,如果为空则该用户可以不需要密码登陆服务器
    示例:
CREATE USER 'dog'@'localhost' IDENTIFIED BY '123456';
CREATE USER 'pig'@'192.168.1.101_' IDENDIFIED BY '123456';
CREATE USER 'pig'@'%' IDENTIFIED BY '123456';
CREATE USER 'pig'@'%' IDENTIFIED BY '';
CREATE USER 'pig'@'%';

1.3、授权

命令:

GRANT privileges ON databasename.tablename TO 'username'@'host'

说明:

  • privileges:用户的操作权限,如SELECT,INSERT,UPDATE等,如果要授予所的权限则使用ALL
  • databasename:数据库名
  • tablename:表名,如果要授予该用户对所有数据库和表的相应操作权限则可用表示,如.*

示例:

GRANT SELECT, INSERT ON test.user TO 'pig'@'%';
GRANT ALL ON *.* TO 'pig'@'%';
GRANT ALL ON maindataplus.* TO 'pig'@'%';

注意:
用以上命令授权的用户不能给其它用户授权,如果想让该用户可以授权,用以下命令:

GRANT privileges ON databasename.tablename TO 'username'@'host' WITH GRANT OPTION;

更多操作见: https://www.cnblogs.com/sos-blue/p/6852945.html

1.4、执行sql文件

  1. mysql -u[user] -p[psw] databaseName
  2. 进入mysql中,use数据库,再使用source sql文件路径导入表。

1.5、安装Navicat出现乱码

  1. 将安装目录下的start_navicat文件中的字符集改为zh_CN.UTF-8
  2. 在界面选项中修改字体,见:https://www.cnblogs.com/tanrong/p/10173109.html
  3. 修改字体为:Noto Sans mono CJK SC Regular

2、apache-activemq

需要先安装openjdk,代码:sudo apt-get install openjdk-8-jdk

3、软件快捷方式

cd /usr/share/applications

sudo gedit navicat.desktop

在跳出的编辑器中,写入以下代码:

[Desktop Entry]
Encoding=UTF-8
Name=Navicat # 软件名称
Comment=Navicat Premium # 软件描述
Exec=/home/rongt/software/navicat121_mongodb_cs_x64/start_navicat #(脚本启动路径)
Icon=/home/rongt/software/navicat121_mongodb_cs_x64/Navicat.png  # (图标路径) 
Terminal=false
StartupNotify=true
Type=Application
Categories=Application;Development;

4、Markdown软件Typora的安装

在Ubuntu商店中安装的Typora可能会出现无法使用搜狗拼音的问题,因此需要卸载商店安装的Typora,重新从官网进行安装。安装命令如下:

wget -qO - https://typora.io/linux/public-key.asc | sudo apt-key add -

sudo add-apt-repository 'deb https://typora.io/linux ./'
sudo apt-get update

sudo apt-get install typora

安装完成!

5、Ubuntu中无法自启动搜狗拼音或显示栏乱码

转载自:https://blog.csdn.net/qq_36528804/article/details/83751554

使用命令:pidof fcitx|xargs kill。即可正常使用

在Ubuntu系统上安装搜狗输入法可能会出现候选词显示英文乱码,网上查了一下,按照网上提供的方法,打开终端输入如下命令

cd ~/.config
rm -rf SogouPY* sogou*

再重启,重启之后是不显示乱码了,但等下次再重启之后又会出现乱码的问题。
网上查了一下,发现有更好的解决办法如下,在终端中输入如下命令:

#fictx自带的重启
fcitx -r

或者执行以下三条:

# 获得fcitx的进程id并kill
pidof fcitx|xargs kill

# 重新后台模式打开fcitx
fcitx & 

# 打开sogou
sogou-qimpanel &

不用重启,即可解决。

6、关于Anaconda的基本操作

6.1、常用命令

conda create -n [环境名称] python=[版本] # 创建新环境,指定Python版本
conda create -n [环境名称] [第三方库]...   # 创建环境时,安装指定库
conda remove -n [环境名称] --all # 删除环境
conda remove -n [环境名称] [第三方库] # 删除某个第三方库
conda activate [环境名称] # 激活环境
conda deactivate # 退出环境
conda env list # 显示所有的环境列表
conda info -e # 同上,显示所有的环境列表
conda list # 列举当前环境下的所有包
conda install [第三方库] # 安装第三方库
conda install -n [环境名称] [第三方库] # 为指定环境安装指定包
conda update [第三方库] # 更新当前环境下的某个库

6.2、修改环境名称

先克隆旧环境,再删除旧环境

  1. 第一步,克隆旧环境致新环境中。
conda create -n [新名称] --clone [旧环境名称]
  1. 第2步,删除旧环境
conda remove -n rcnn --all

6.3、分享环境(环境打包)

  1. 生存环境文件
conda env export -n [环境名称] > environment.yml
  1. 使用yml文件安装环境
conda env create -n [环境名称] -f environment.yml

7、ubuntu18.04安装docker

  1. 更换国内软件源,推荐中国科技大学的源,稳定速度快(可选)

    sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak
    
    sudo sed -i 's/archive.ubuntu.com/mirrors.ustc.edu.cn/g' /etc/apt/sources.list
    
    sudo apt update
    
  2. 安装需要的包

    sudo apt install apt-transport-https ca-certificates software-properties-common curl
    
  3. 添加GPG秘钥,并添加Docker-ce软件源,这里以中国科技大学的Docker-ce源为例

    curl -fsSL https://mirrors.ustc.edu.cn/docker-ce/linux/ubuntu/gpg | sudo apt-key add -
    
    sudo add-apt-repository "deb [arch=amd64] https://mirrors.ustc.edu.cn/docker-ce/linux/ubuntu \
    $(lsb_release -cs) stable"
    
  4. 添加成功后更新软件包缓存

    sudo apt update
    
  5. 安装Docker-ce

    sudo apt install docker-ce
    
  6. 设置开机自启动并启动 Docker-ce(安装成功后默认已设置并启动,可忽略)

    sudo systemctl enable docker
    sudo systemctl start docker
    
  7. 测试运行

    sudo docker run hello-world
    
  8. 添加当前用户到 docker 用户组,可以不用 sudo 运行 docker(可选)

    sudo groupadd docker
    sudo usermod -aG docker $USER
    
  9. 测试添加用户组(可选)

    docker run hello-world
    

8、配置开机自启脚本

8.1、文件配置

systemd默认读取/etc/systemd/system下的配置文件,该目录下的文件会链接/lib/systemd/system/下的文件。一般系统安装完/lib/systemd/system/下会有rc-local.service文件,即我们需要的配置文件。

链接过来:

#将/lib/systemd/system下的rc-local.server软链接到etc中
ln -fs /lib/systemd/system/rc-local.service /etc/systemd/system/rc-local.service
cd /etc/systemd/system/
cat rc-local.service 

rc-local.service文件内容

#  SPDX-License-Identifier: LGPL-2.1+
#
#  This file is part of systemd.
#
#  systemd is free software; you can redistribute it and/or modify it
#  under the terms of the GNU Lesser General Public License as published by
#  the Free Software Foundation; either version 2.1 of the License, or
#  (at your option) any later version.

# This unit gets pulled automatically into multi-user.target by
# systemd-rc-local-generator if /etc/rc.local is executable.
[Unit]
Description=/etc/rc.local Compatibility
Documentation=man:systemd-rc-local-generator(8)
ConditionFileIsExecutable=/etc/rc.local
After=network.target

[Service]
Type=forking
ExecStart=/etc/rc.local start
TimeoutSec=0
RemainAfterExit=yes
GuessMainPID=no

[Install]
WantedBy=multi-user.target
Alias=rc-local.service
  1. [Unit] 区块:启动顺序与依赖关系。
  2. [Service] 区块:启动行为,如何启动,启动类型。
  3. [Install] 区块,定义如何安装这个配置文件,即怎样做到开机启动。

8.2、创建rc.local文件

sudo touch /etc/rc.local

8.3、添加执行权限

sudo chmod 755 /etc/rc.local

8.4、编辑rc.local文件,添加自启任务

#!/bin/bash

echo "你好"

reboot重启

2、树莓派操作

2.1、Ubuntu和树莓派文件传输

scp 文件 用户名@ip:/home
#输入密码即可进行传输
#双方电脑都需要安装ssh服务

2.2、设置wifi连接

/etc/wpa_supplicant/wpa_supplicant.conf文件中添加信息

network={
ssid="WiFi-name1"
psk="WiFi-password1"
priority=5
}
 
network={
ssid="WiFi-name2"
psk="WiFi-password2"
priority=4
}
#priority是WiFi优先级,数值越大优先级越高

2.3、设置用户自动登录

  1. 修改pi默认密码,添加root密码
#修改文件
sudo vim /etc/systemd/system/getty.target.wants/getty\@tty1.service 

#我们只要把第28 行从:

ExecStart=-/sbin/agetty --noclear %I $TERM
#改为:

ExecStart=-/sbin/agetty --autologin root --noclear %I $TERM
#保存后,重启就可以自动以root用户登录了。(如果改为其他用户,将以那个设置的用户免密码登录树莓派

2.4、安装virtualenvwrapper

sudo pip3 install virtualenvwrapper -i https://pypi.douban.com/simple

配置virtualenvwrapper

#搜索virtualenvwrapper.sh的位置

sudo vim ~/.bashrc

#在文件的末尾添加
export VIRTUALENVWRAPPER_PYTHON=/usr/bin/python3
export WORKON_HOME=$HOME/.virtualenvs
source /usr/local/bin/virtualenvwrapper.sh #地址

刷新:source ~/.bashrc

2.5、烧录系统

下载官网系统,使用Etcher软件进行烧录

2.6、设置网络

在树莓派的/etc/wpa_supplicant/wpa_supplicant.conf文件中进行修改,添加你的WiFi名字和密码

network={
ssid="wifi名字"
psk="WiFi密码"
priority=1
}

// 参数介绍

ssid:网络的ssid
psk:密码
priority:连接优先级,数字越大优先级越高(不可以是负数)
scan_ssid:连接隐藏WiFi时需要指定该值为1

2.7、进入树莓派系统

默认的登录账号:pi 密码:raspberry
查看树莓派版本
cat /proc/cpuinfo

2.7.1、校正树莓派时间

// 设置时区为 亚洲(Asia) 上海(Shanghai)

sudo dpkg-reconfigure tzdata

// 启动 NTP 使计算机时钟与 Internet 时间服务器同步

sudo timedatectl set-ntp true

2.7.2、修改开启ssh和spi

使用sudo raspi-config命令进入配置界面,选择第五个》更改ssh和spi为开
然后确认,重启
进入系统后安装ssh和openssh-server
开启远程root用户登录方法:
修改/etc/ssh/sshd_config内的:
#LoginGraceTime 2m
#PermitRootLogin prohibit-password
#StrictModes yes
改为:
LoginGraceTime 2m
PermitRootLogin yes
#PermitRootLogin prohibit-password
StrictModes yes

2.8、用户修改

2.8.1、修改pi用户密码

passwd pi根据提示输入两次密码,提示修改成功

2.8.2、启用root用户

passwd root修改root用户密码
su -切换root用户,输入密码

2.8.4、增加用户

useradd -m -s /bin/bash/ jly增加jly用户,-m强制增加家目录,-s设置默认shell

2.8.4、开启自动用户免密登陆

先切换为root用户
然后修改配置文件:/etc/systemd/system/getty.target.wants/getty\@tty1.service路径下
将其中的ExecStart=-/sbin/agetty --noclear %I $TERM,修改为ExecStart=-/sbin/agetty --autologin (你想要自动免密登陆的用户名) --noclear %I $TERM

2.9、安装环境和需要的Python包

先安装pip3,之后使用pip3 install -r (环境).txt批量安装
pandas装不上的可以使用sudo apt install python3-pandas安装

2.10、将文件上传至树莓派

从本地上传文件命令:sudo scp (需要上传的文件) (树莓派用户)@(树莓派IP):(需要上传到树莓派的文件路径)
上传文件夹时加上-r参数
测试运行项目

2.11、开机自动运行脚本

把需要运行的脚本添加到文件/etc/rc.local里
注意添加到exit 0上方,才开机自动可以运行

2.12、安装can驱动

2.12.1、 虚拟驱动安装

	sudo modprobe vcan
	# Create a vcan network interface with a specific name
	sudo ip link add dev can0 type vcan
	sudo ip link set can0 up

2.12.2、真实设备驱动安装

修改树莓派的/boot/config.txt
sudo vim /boot/config.txt
在config.txt最后加入
记得启动spi和i2c
dtparam=spi=on
dtoverlay=mcp2515-can0,oscillator=8000000,interrupt=25
dtoverlay=spi-bcm2835-overlay
其中模块使用mcp2515-can0,时钟晶振频率为8M,中断25,实际之前配置已经启动了spi,这里第一句修改启动文件,可以确保开机生效,之后sudo reboot

2.13、拷贝系统

sudo dd bs=4M if=/dev/mmcblk0 of=/dev/sda
mmcblk0就是树莓派上原来的存储卡
sda就是插入的USB存储设备(可能会随着接入的设备多少而改变,如可能为sdb,sdc等,自己根据情况去判断是哪一个)

3、docker使用记录

  1. 检查docker版本

    docker version
    
    
  2. 搜索可用镜像

    docker search [镜像名称]
    
    
  3. 下载镜像(在docker网站中,镜像都是以[用户名/镜像名]进行存储的)

    docker pull [查找到的镜像名称]
    
    
  4. 在刚下载的镜像中输出“hello world!”

    docker run learn/tutorial echo "hello word"
    
    
  5. 在容器中安装新程序

    docker run [安装的镜像] apt-get install -y ping
    #参数-y可避免进入交互模式,而docker不支持交互
    
    
  6. 保存对容器的修改

    docker ps -l #获取到安装ping命令之后的容器的id
    
    docker commit [容器id] [新名称]
    #容器id不需要拷贝完整id,3-4位即可区分
    
    
  7. 运行新镜像

    docker run [新镜像名称] ping www.baidu.com
    
    
  8. 检查运行中的镜像

    docker ps # 可以查看所有正在运行中的容器列表
    docker inspect [容器id] # 可以查看容器详情
    
    
  9. 发布个人镜像

    • 在官网注册账号
    • linux端docker 登录
    • 打包
    • push

docker使用

1.查看容器运行

docker ps

2.查看当前容器的标准输出

docker logs (容器id或者容器名称name)

3.停止容器

docker stop (容器id或者name)

4.运行容器

docker run
参数:-t:在新容器内指定一个伪终端或终端
-i:允许你对容器内的标准输入进行交互 如:docker run -i -t ubuntu:15.10 /bin/bash
-d:让容器在后台运行

5.列出本地镜像

docker images

6.删除本地镜像

docker rmi -f (镜像id)

7.删除日志记录

docker rm $(docker ps -a -q)删除全部
docker rm (镜像id)

8.下载镜像

docker pull (镜像名称)

9.查找镜像源

docker search (需要查找的名称) 会自动从Docker Hub网站搜索镜像,网址为:https://hub.docker.com/

10.更新镜像

先使用镜像创建一个容器:docker run -i -t ubuntu:15.10 /bin/bash
在容器内执行apt-get update命令进行更新,然后exit退出
使用docker commit提交,记住这个容器的id
docker commit -m="has update" -a="name1" 12345678 aaaa/bbbb:v1
参数说明:
-m:提交的描述信息
-a:指定镜像作者
12345678:容器id
aaaa/bbbb:v1:制定要创建的目标镜像名
可以使用docker images查看新的镜像aaaa/bbbb:v1

11.构建镜像

使用docker build命令创建一个新的镜像,在此之前我们需要创建一个Dockerfile文件,基于这个文件来创建什么样的镜像。
先创建一个文件夹用于存放我们的Dockerfile文件
cd /opt/static_file/
sudo vim Dockerfile
输入以下内容:
FROM ubuntu:latest
MAINTAINER Bourbon Tian "[email protected]"
RUN apt-get update
RUN apt-get install -y nginx
RUN echo ‘Hi, I am in your container’ > /usr/share/nginx/html/index.html
EXPOSE 80
Dockerfile是由一系列的指令和参数组成,每条指令都必须大写。Dockerfile中的指令会按照从上往下的顺序依次执行。大致流程如下:

  • docker从基础镜像上运行一个容器
  • 执行第一条指令,对容器进行修改
  • docker再给予刚提交的镜像运行一个新的容器
  • 继续执行Dockerfile中的下一条指令,直到所有的指令都执行完毕

FROM:

每个Dockerfile的第一个指令都要是FROM,这个表示的是指定一个已经存在的镜像,在这个镜像的基础智商执行后续命令。

MAINTAINER:

这个指令会告诉docker该镜像的作者是谁,邮箱地址

RUN:

这条指令代表在该镜像中运行指定的命令

EXPOSE:

EXPOSE指令是告诉docker该容器内的应用程序将会使用的容器端口号,可以有多个EXPOSE指令。docker不会自动打开这个端口号,需要在docker run时指定打开哪个端口

执行docker build命令时,Dockerfile中的所有指令都会被提交,成功后返回新的镜像id。类似“Successfully built 94728651ce15”

docker build -t (镜像名称) .)

参数解释:

​ -t:指定要创建的目标镜像名

​ .:Dockerfile文件的所在目录,这里是当前目录,也可以指定Dockerfile的绝对路径

注意:可以使用–no-cache在docker build是指定不适用缓存

使用docker images命令查看新构建的镜像,使用docker history (镜像id)查看镜像的每一层,以及创建这些层的Dockerfile指令。

你可能感兴趣的:(ubuntu操作记录)