sudo apt-get install stress-ng
stress-ng --cpu 0 --io 4 --vm 2 --vm-bytes 2G --timeout 8h --metrics-brief >stress-ng.log 2>&1 &
--cpu 0:使用所有可用 CPU 进行压力测试--io 4:启动 4 个 IO 工作线程--vm 2:启动 2 个内存压力线程--vm-bytes 2G:每个内存线程分配 2GB 内存--timeout 8h:测试持续 8 小时--metrics-brief:测试结束后输出简要统计信息想测试更全面的 I/O,可以将 --io 4 替换为 --iomix 4
切换到多用户(命令行)模式
sudo systemctl set-default multi-user.target
sudo reboot
重启后系统将进入命令行界面,不启动桌面环境
切换回图形界面(桌面模式)
sudo systemctl set-default graphical.target
sudo reboot
临时关闭图形界面
sudo systemctl stop display-manager
使用以下命令查看当前系统启动的是 multi-user.target 还是 graphical.target
systemctl get-default
输出结果为:
multi-user.target:当前为命令行模式graphical.target:当前为图形界面模式在 Ubuntu 22.04 上,普通用户默认通常 不能读取内核日志缓冲区,所以会报:
dmesg: read kernel buffer failed: Operation not permitted
让普通用户也能执行,先查看当前限制:
sysctl kernel.dmesg_restrict
如果输出是:
kernel.dmesg_restrict = 1
说明普通用户被禁止读取。
解决办法:
sudo sysctl -w kernel.dmesg_restrict=0
新建一个 sysctl 配置:
echo 'kernel.dmesg_restrict=0' | sudo tee /etc/sysctl.d/99-dmesg.conf
sudo sysctl --system
多用户公共目录方案,可以同时支持 Samba、NFS、Apache 三种访问方式,任何人都能读写 / 下载,且权限不会乱。
sudo apt-get install -y apache2 nfs-kernel-server samba samba-common-bin
1. 创建目录
sudo mkdir -p /srv/public_share
2. 创建公共用户组
777 权限虽然简单,但文件属主会很乱,推荐用统一用户组管理
sudo groupadd public_share
# 把需要访问的用户加入组(比如charleye)
sudo usermod -aG public_share charleye
sudo usermod -aG public_share root
3. 设置目录权限
sudo chown root:public_share /srv/public_share
sudo chmod 775 /srv/public_share
# 设置默认文件权限:新建文件664,目录775
sudo setfacl -d -m g:public_share:rwx /srv/public_share
sudo setfacl -d -m o:r-x /srv/public_share
1. 编辑 exports 文件
sudo vim /etc/exports
添加:
/srv/public_share *(rw,sync,no_subtree_check,no_root_squash,insecure)
rw:读写no_root_squash:客户端 root 能正常读写insecure:允许非特权端口访问(避免 502/permission denied)2. 生效并重启服务
sudo exportfs -ra
sudo systemctl restart nfs-kernel-server
sudo systemctl enable nfs-kernel-server
3. 客户端测试(Linux)
sudo mkdir -p /mnt/public
sudo mount -t nfs ipaddr:/srv/public_share /mnt/public
1. 编辑 smb.conf文件
sudo vim /etc/samba/smb.conf
添加
[public_share]
comment = Public Installer Share
path = /srv/public_share
browsable = yes
writable = yes
create mask = 0664
directory mask = 0775
force group = public_share
这样所有用户写入的文件都属于 public_share 组,大家都能读写。
2. 重启服务
sudo systemctl restart smbd nmbd
sudo systemctl enable smbd nmbd
3. 测试(Windows)
文件资源管理器输入:
\\ipaddr\public_share
直接就能读写文件。
sudo vim /etc/apache2/sites-available/000-default.conf
把里面的内容,完整替换成下面这段(直接复制):
<VirtualHost *:80>
ServerAdmin webmaster@localhost
DocumentRoot /srv/public_share
<Directory /srv/public_share>
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Require all granted
</Directory>
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
Options Indexes 就是让浏览器列出目录里的文件,方便别人直接下载安装包。2. 重启 Apache 生效
sudo systemctl restart apache2
3. 配置权限
sudo usermod -aG public_share www-data
4. 浏览器访问测试
http://ipaddr
注意:ipaddr替换成你的实际IP地址