Ubuntu操作手册 V2.0
目录
Ubuntu 更新清华源 2
LSI卡Windows远程管理linux服务 2
Ubuntu磁盘分区和格式化 3
Ubuntu自动挂载磁盘或smb远程磁盘 5
USB自动挂载到指定目录和自动卸载 6
Ubuntu添加smb服务 7
SMB添加回收站功能 8
Rsync进行文件的复制同步(可关闭SSH后台进行) 10
Ubuntu安装docker compose插件 10
网络桥接实现KVM虚拟机内外通信 11
开机脚本服务的启用 13
Ubuntu 更新清华源
ubuntu更换软件安装源_Tom_Jary的博客-CSDN博客_ubuntu更换软件源
ubuntu | 镜像站使用帮助 | 清华大学开源软件镜像站 | Tsinghua Open Source Mirror
LSI卡Windows远程管理linux服务
Linux服务部署
- 安装java运行环境:ubuntu 22.04如何安装java环境 - 美洲豹2018 - 博客园 (cnblogs.com)
- apt install openjdk-11-jre-headless
- java --version
- 参考网站远程管理Linux机器上的LSI MegaRAID 9260-8i卡 - 十支穿云箭 - 博客园 (cnblogs.com)教程,其中原始rpm和deb包已保存在对应目录中;
- apt install alien
- rpm转deb:alien –scripts xxxx.rpm
- 安装deb包:dpkg --install xxx.deb
- systemctl enable vivaldiframeworkd.service 要启动服务才能查询下面的状态
- service vivaldiframeworkd start
- service vivaldiframeworkd status
错误问题:
提示返回0x00表示正常提示缺少Python:Ubuntu官方已经没有Python包了,现在改名为Python2.7和Python3,所以处理不了依赖关系;软件依赖java,sudo apt install default-jdk ,安装Java后使用 java –version ,查看java版本;
Windows MSM客户端安装
- 部署java环境:
安装open jre(OpenJDK8U-jre_x86-32_windows_hotspot_8u282b08.msi)
- 添加环境变量:
Create JRE_HOME under "system variables" and set "C:\jre\jdk8u282-b08-jre\"
- 安装MSM软件for Windows
下面是安装原文:
==============
Pre-Requisites
==============
Prior to the MSM installation or Upgrade setup a JRE. Follow the below instructions to setup.
Recommended JRE version: AdoptOpenJDK8u282-b08.
Step 1: Download and unzip OpenJRE in your desired location ( assume: C:\jre folder)
(i) (Not Mandatory step for AdoptOpenJDK8) Copy javax.activation.jar file to "C:\jre\jdk8u282-b08-jre\bin" folder.
Download:https://github.com/javaee/activation/releases/tag/JAF-1_2_0
Step2: Set OpenJRE-8.0.282.8 x86 path to System path
(i) Go to system properties -> Advanced -> Click "Environmental Variables"
(ii) Under "Environmental Variable" go to "system variables".
(iii)Create JRE_HOME under "system variables" and set "C:\jre\jdk8u282-b08-jre\"
Step 3: upgrade the MSM with new release and launch
Notes:
1) Download OpenJRE-8u282-b08 x86 and extract from https://adoptopenjdk.net/releases.html?variant=openjdk8&jvmVariant=hotspot
2) Version check: Open a command prompt and check for the java version:
%JRE_HOME%\bin\java (Version should be "1.8.0_282")
Ubuntu磁盘分区和格式化
使用parted命令来删除和新建磁盘分区,容量不会限制在4T内。
- 安装
sudo apt install parted
- 选择操作的设备,这里假设设备为sda
sudo parted /dev/sda
关于parted操作如下,也可以help命令查看
parted命令详解-分区 - 退役小学生 - 博客园 (cnblogs.com)
注意:
- 在使用分区时,unit单位可以选MB(1000)或者MiB(1024),不能混用
输入unit MB或unit MiB
- 举例一个2T硬盘分区,第一个分区500GB,分区格式为ext4;第二个分区为剩下所有,分区格式为ntfs
- 找到这个硬盘的地址,假设为/dev/sda
sudo parted /dev/sda
- 输入p查看分区表
- 删除所有的分区 rm 编号
- 输入p查看分区表是否删除完全
- 创建新的分区表
mklabel
gpt
- 创建分区 unit MiB设置单位

- 格式化分区
lsblk 查看刚刚分区在哪儿

- 快速格式化第一个和第二个分区
sudo mkfs.ext4 /dev/sde1
sudo mkfs.ntfs -f /dev/sde2 (ntfs要加-f 表示快速格式化)

Ubuntu自动挂载磁盘或smb远程磁盘
- 路径有严格规定,放在/etc/system/system/下;后缀必须是.mount;文件名有严格规定,是挂载目录,将/改为-,绝对路径。
例如:挂到/home/share/sda/目录下,挂载文件为home-share-sda.mount
- 挂载文件内容编辑:
本地

Smb

- 挂载命令
systemctl start home-test.mount
卸载命令
systemctl stop home-test.mount
开机自动挂载
systemctl enable home-test.mount
取消开机自动挂载
systemctl disable home-test.mount
USB自动挂载到指定目录和自动卸载
- 99-usb-automount.rules,放到/etc/udev/rules.d/文件夹下
- usb-automount.sh,放到/usr/local/bin下,并且加权限,sudo chmod +x /usr/local/bin/usb-automount.sh
- usb-automount@.service,放到/etc/systemd/system下
- sudo systemctl daemon-reload
- 在.sh脚本下更改自己需求的挂载目录(目录不要被其他程序占用,否则可能失败)

我是mkdir -p的,目录不存在会自动创建
插入U盘后会自动挂载,挂载后你可以看到service,通过:
systemctl | grep usb-automount
可以看到正在挂载中的U盘设备,大概是这样的感觉:
usb-automount@sdc.service
sdc就是你的U盘设备
然后你可以通过以下命令手动卸载它:
sudo systemctl stop usb-automount@sdc.service
Ubuntu添加smb服务
- 更新源:
sudo apt update
- 安装smb服务:
sudo apt install samba
- 查看服务是否成功:
sudo systemctl status nmbd.service
sudo systemctl status smbd.service
- 编辑smb配置文件
文件路径:/etc/samba/smb.conf
- 这里改为never

我也忘记为啥要改了,好像是安全问题。
- 配置共享路径。直接在配置文件末尾添加即可,具体格式如下

这里[sda]表示共享文件名
path=xxxx绝对路径,严格格式要求
browseable = yes 表示浏览时显示文件夹
writable = yes 表示可写
root,xiaozhi是samba的登录用户名,密码是Ubuntu的用户密码,这里必须添加用户名上去,不然无法登录。文件权限和Ubuntu用户对应的权限一致。我这里为了方便全部root登录,就不用担心权限问题啦!
smbpassword -a root 添加root用户
具体配置参数可以参考下面:Samba配置文件常用参数详解_51CTO博客_nginx配置文件参数详解
- 修改配置文件后需要重启smb服务
sudo systemctl stop smbd.service
sudo systemctl start smbd.service
SMB添加回收站功能
- 在共享文件夹配置下添加如下信息
vfs objects = recycle
recycle:exclude_dir = /home/recycle
recycle:exclude = *.tmp, *.bak, *.o, *.obj, *log, ~$*, *.~??, *.trace
recycle:touch_mtime = yes
recycle:repository = /home/recycle
recycle:versions = yes
recycle:keeptree = yes
recycle:maxsize = 0
配置参数说明:
1.vfs object = recycle:载入Samba用于回收站功能的模块recycle.so。
2.recycle:exclude_dir = /home/recycle:排除的文件夹,支持通配符* 和 ?
3.recycle:exclude = *.tmp, *.bak, *.o, *.obj, *log, ~$*, *.~??, *.trace:不放入回收站的文件类型。
4.recycle:touch_mtime = yes:指定将文件移动到存储库时,是否应更新文件的上次修改日期。
5.recycle:repository = /home/recycle:回收站的相对路径,这个选项指定删除的文件将被储存在什么目录,
即回收站的路径
6.recycle:versions = yes:如果在回收站所在目录中存在同名文件,则以“Copy #x of”文件名的形式加以区分。
7.recycle:keeptree = yes:在将文件移入回收站时,要建立相对应的目录结构。
8.recycle:maxsize = 0:回收站的最大使用空间,单位为字节。“0”表示没有最大使用空间的限制。
注意:
经过本人测试,recycle:exclude_dir文件夹如果含/路径则无法生效,此时填仅填写文件夹名即可,且全局生效(文件夹和子文件夹只要叫这个名都会排除在外)空文件夹不会被回收;名字相同,内容相同的两个文件不同时刻删除回收站仍然会保留两份

Rsync进行文件的复制同步(可关闭SSH后台进行)
Rsync实现本地文件的复制
我单纯用来进行大文件的后台复制。
- 安装rsync
sudo apt install rsync
- 简单的文件复制
将A文件夹复制到B文件夹下
sudo rsync –a –v –r /A /B/
将A文件夹下的内容复制到B文件夹下
sudo rsync –a –v –r /A/ /B/
- 显示整体进度
sudo rsync –ar --info=progress2 /A/ /B/
- 显示单个文件进度
sudo rsync –ar -P /A/ /B/
参考
rsync命令 - 牛粪也香 - 博客园 (cnblogs.com)
rsync详解_simple11618的博客-CSDN博客_rsync
Screen命令实现后台SSH窗口操作(复制时可以关掉SSH)
- 安装
sudo apt install screen
- 新建虚拟SSH窗口
sudo screen –R WindowName
- 在虚拟窗口输入自己想创建的任务
- crtl+a 然后按d ;退出当前虚拟窗口(任务仍然存在)
- sudo screen –r WindowName 回到上次创建的名为WindowName的虚拟窗口
参考
screen命令_xianjun.ye的博客-CSDN博客_screen 命令
Ubuntu安装docker compose插件
参考
Install the Compose plugin | Docker Documentation
全网最详细的Docker-Compose详细教程 - 掘金 (juejin.cn)
安装docker插件
- 更新docker源,安装官方教程:
Install Docker Engine on Ubuntu | Docker Documentation
安装软件
sudo apt-get install docker-compose-plugin
检查版本号
docker compose version
更新同1-3步
docker compose使用方法
- 默认yml文件名为docker-compose.yml或docker-compose.yaml
- 在yml同目录下进行操作
- 后台创建或重新拉起服务
docker-compose up –d
- 删除服务
docker-compose down
- 启动服务
docker-compose start
- 暂停服务
docker-compose stop
docker 使用方法
- 列出所有docker
sudo docker ps –a
- Usage: docker [OPTIONS] COMMAND
剧情command使用docker --help查看
新建qbit举例
- 新建docker目录
sudo mkdir /docker
sudo mkdir /docker/qbit
sudo mkdir /docker/qbit/yml
sudo mkdir /docker/qbit/config
- 将docker-compose.yml文件放在/docker /qbit /yml 文件夹下
- 使用命令创建docker
- docker-compose up –d
- 浏览器登录qbit即可
关于yml配置文件访问Docker Hub
网络桥接实现KVM虚拟机内外通信
- 关闭NetworkManager服务
- 将配置文件放在/etc /system/network目录下
- 启动systemd-network服务 start enable
注意:
- 对于多网卡优先级问题,在网络配置文件里添加路由跃点数即可

- 网络桥接后,可能因为docker服务的关系导致KVM选用br0桥接模式无法正确获取DHCP,导致无法上网
解决办法:
查看sysctl net.bridge.bridge-nf-call-iptables,如果等于1则写为0即可
sudo sysctl net.bridge.bridge-nf-call-iptables=0
可以考虑将其写入开机脚本
开机脚本服务的启用
- 文档在开机脚本里,含一个sh脚本文件,一个service服务文件
- 将sh文件置于/etc
- 将service文件置于/etc/systemd/system下
- 根据需求编辑修改sh文件,比如将上面的=0加入开机脚本,延迟20秒开始执行

- Start service测试是否成功,成功后enable即可
解决安装ESXI时12/13代CPU紫屏问题
根据紫屏代码看基本就是CPU不兼容的问题了,应该是12代CPU太新,VMware还没有放到最新的兼容列表里面(安装介质中有各个厂家的兼容元数据文件,包括Intel、AMD、海光等,文件主要为UC_AMD.B00、UC_INTEL.B00、UC_HYGON.B00)
解决方法
经过一番研究终于找到了跳过CPU检查的方法,跳过后安装正常
1) vSphere安装启动界面,安装shift + o 键(在那个倒计时5秒的启动界面)
2) 启动代码的后面添加cpuUniformityHardCheckPanic=FALSE

3)安装正常
安装完毕后,每次启动还会遇到紫屏的情况,我们可以先用shift+o临时启动,启动后,修改vSphere安装目录中的boot.cfg 加上跳过CPU检查的代码即可,boot.cfg的文件位置可通过如下命令进行查找
find / -name boot.cfg
通过上述命令将会查找到2个位置,建议2个位置都进行修改
开启SSH和shell,SSH里面在进行两处boot.cfg修改,vi打开文件,依然是在kernelopt那一行末尾追加
ESXI直通NIVIDA显卡和SATA控制器
- AX2000为例,在PCI设备上将显卡切换为直通模式
- 在虚拟机添加PCI设备(包含显卡所有子项,非动态PCI)
- 开机出现电源打不开的情况直接在高级中添加参数:
pciPassthru.use64bitMMIO=TRUE
pciPassthru.64bitMMIOSizeGB=64

SATA控制器直通:
- 连接到esxi的ssh,输入命令 lspci -v | grep "Class 0106" -B 1。复制红线位置,这个就是你的主板板载的SATA控制器的名称

- 打开以下路径/etc/vmware/passthru.map。在文本末端加入
#Intel Corporation Device a382 -----这行文字是你的sata控制器名称,
8086 a382 d3d0 false -----8086是PCIE设备的供应商ID,a382是PCIE设备的设备ID

- 重新引导
Ubuntu安装显卡驱动并实现docker-emby硬解码
- 显卡驱动安装:打开ubuntu桌面,使用里面的更新器→附加驱动 进行安装和更新

- Docker要使用英伟达驱动,必须安装nvidia-container-toolkit
安装教程可参考:Ubuntu 22.04 LTS : NVIDIA Container Toolkit : Install : Server World (server-world.info)
- curl -s -L https://nvidia.github.io/nvidia-docker/gpgkey | apt-key add -
- curl -s -L https://nvidia.github.io/nvidia-docker/ubuntu22.04/nvidia-docker.list > /etc/apt/sources.list.d/nvidia-docker.list
- apt update
- apt -y install nvidia-container-toolkit
- systemctl restart docker
root@dlp:~# curl -s -L https://nvidia.github.io/nvidia-docker/gpgkey | apt-key add -OK
root@dlp:~# curl -s -L https://nvidia.github.io/nvidia-docker/ubuntu22.04/nvidia-docker.list > /etc/apt/sources.list.d/nvidia-docker.list
root@dlp:~# apt update
root@dlp:~# apt -y install nvidia-container-toolkit
root@dlp:~# systemctl restart docker
NEXTCLOUD配置SSL证书
- 随便映射个文件夹进去,去docker运行a2enmod ssl
- 把/etc/apache2/mods-enabled/文件全部复制出来
- 重新映射出/etc/apache2/mods-enabled
- 映射/etc/apache2/sites-enabled 把配置文件nextcloud.conf放进去
- 重启docker 完事
注意:data文件夹docker目录为:/var/www/html/data
PVE安装注意事项
- 写入映像时使用DD方式写入,不要以ISO方式写入,不然识别不了。
