Ubuntu更新高版本MariaDB

备份数据库:

mysqldump -u root dbname > dbname_backup.sql

添加官方repo:

wget https://r.mariadb.com/downloads/mariadb_repo_setup

echo "935944a2ab2b2a48a47f68711b43ad2d698c97f1c3a7d074b34058060c2ad21b  mariadb_repo_setup" \
       | sha256sum -c -

chmod +x mariadb_repo_setup

sudo ./mariadb_repo_setup

强制升级:

sudo apt update
sudo apt -u dist-upgrade

Ubuntu部署nginX

通过APT安装nginx

sudo apt update
sudo apt upgrade
sudo apt install nginx

编辑nginx的配置文件

//nginx配置的主文件
sudo vim /etc/nginx/nginx.conf
//nginx.conf默认引用了/etc/nginx/conf.d/中的所有.conf文件,所以建议以在conf.d中添加文件的形式添加web服务配置
sudo vim /etc/nginx/conf.d/vm.conf

以基本的web服务为例,vm.conf的配置内容可以是:

server {

    # 使用的端口,及是否作为默认服务
    listen    16666 default_server;

    # 服务器名称,同一个IP的同一个端口可以设置为不同的域名,nginx可以根据用户访问的域名的不同      提供不同的网站服务。
    server_name yttj.f3322.net:16666;

    # 文件的位置
    location / {

        # 文件根目录
        root     /usr/share/nginx/html;

        # 主页文件名
        index    index.html;
    }
}

配置完成后,即可启动nginx

sudo systemctl start nginx
#启用开机自动启动
sudo systemctl enable nginx

Ubuntu的防火墙默认开启,还应设置防火墙开放服务的端口

sudo ufw allow 16666

Jupyter Notebook安装于虚拟机或云服务器

系统为Ubuntu Server 22.04.2。

pip install jupyter
jupyter notebook --generate-config
vim ~/.jupyter/jupyter_notebook_config.py

在ipython,用jupyter自带的密码生成器生成哈希密码,复制最终的out结果

ipython
>>> from notebook.auth import passwd
>>> passwd()

修改配置文件中的配置(必须要修改ip才能在外网访问)

c.NotebookApp.ip = 'xxx.xxx.xx.xx'
c.NotebookApp.open_browser = False
c.NotebookApp.password = ''  #此处应为前文中复制的哈希密码
c.NotebookApp.port = 8888
c.NotebookApp.allow_remote_access = True

防火墙开放8888端口

sudo ufw allow 8888

启动Jupyter Notebook

jupyter notebook

外网访问IP:8888即可

(notebook中的python环境可能与系统的环境不一致,进而出现找不到依赖库的情况,最简单的方法是直接在notebook中安装包,从根源上解决就得给notebook配置kernel)

! pip install numpy    #在jupyter notebook 中直接安装库

Ubuntu 20修改网络配置

原有的/etc/network/interfaces方法已经不适用,现需要:

sudo vi /etc/netplan/00-installer-config.yaml

yaml格式的样本:

# This is the network config written by 'subiquity'
network:
  ethernets:
    ens160:
      dhcp4: false
      addresses: [192.168.3.18/24]
      gateway4: 192.168.1.1
      nameservers:
        addresses: [223.5.5.5,119.29.29.29]

  version: 2

修改完成后,应用配置:

sudo netplan apply

Ubuntu下WireGuard的常用操作

Wireguard的配置文件位置:

/etc/wireguard/wg0.conf

不中断服务更新配置文件:

wg syncconf wg0<(wg-quick strip wg0)

重启服务:

systemctl restart wg-quick@wg0.service

显示状态:

wg show

生成密钥对:

wg genkey | tee /etc/wireguard/privatekey | wg pubkey | tee /etc/wireguard/publickey

启动与停止某端口:

wg-quick up wg0
wg-quick down wg0

初次安装需要开启内核的转发功能:

echo 1 > /proc/sys/net/ipv4/ip_forward

echo "net.ipv4.ip_forward = 1" >> /etc/sysctl.conf

sysctl -p

Ubuntu下配置MariaDB

先确定root已设置密码;

sudo passwd root

安装mariadb-server;

sudo apt install mariadb-server

mariadb初始配置;

sudo mysql_secure_installation

修改配置文件,以允许远程连接;

sudo vim /etc/mysql/mariadb.conf.d/50-server.cnf
→#bind-address 127.0.0.1

重启mariadb-server;

systemctl restart mariadb.service

登录mariadb;

sudo mariadb -u root -p

配置远程访问用户权限;


select User, host from mysql.user;
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'password' WITH GRANT OPTION;
FLUSH PRIVILEGES;

尝试远程连接。

Ubuntu配置ROS环境

添加 sources.list(设置你的电脑可以从 packages.ros.org 接收软件.)

sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list'

添加 keys

wget http://packages.ros.org/ros.key -O - | sudo apt-key add -

更新软件包索引

sudo apt update

安装桌面完整版 : 包含ROS、rqt、rviz、机器人通用库、2D/3D 模拟器、导航以及2D/3D感知

sudo apt install ros-noetic-desktop-full python-rosinstall
//可能需要换源,ubuntu官方源较为老旧,可能存在兼容问题,无法安装。

必须在使用ROS的每个bash终端中获取此脚本的源代码。

source /opt/ros/noetic/setup.bash

环境配置

echo "source /opt/ros/noetic/setup.bash" >> ~/.bashrc
source ~/.bashrc