2025年9月

在思科交换机上,可以通过以下命令查看Trunk接口的情况:

  • 查看所有Trunk接口详细信息[__LINK_ICON]:使用 show interfaces trunk 命令,可查看所有Trunk接口的详细信息,包括端口编号、Trunk协议工作模式、封装类型、状态、默认本地VLAN ID、允许通过的VLAN列表以及当前活动的VLAN列表等。例如:

plaintext

Switch# show interfaces trunk
Port Mode Encapsulation Status Native VLAN
Fa0/1 on 802.1q trunking 1
Port Fa0/1
Allowed VLANs: 1-10,20
Active VLANs: 1,5,10
 

  • 查看特定接口的Trunk配置[__LINK_ICON]:若要查看某个特定接口的Trunk配置,可使用 show running - config interface  命令。例如查看接口 FastEthernet0/1 的配置,命令为 show running - config interface FastEthernet0/1 ,输出内容会显示该接口是否启用Trunk模式以及允许通过的VLAN列表等信息。
  • 查看接口的详细模式[__LINK_ICON]:使用 show interfaces <接口> switchport 命令,可查看特定接口的详细模式信息,能确认接口是处于Access还是Trunk模式,以及相关的VLAN配置等。例如 show interfaces GigabitEthernet0/1 switchport ,可查看 GigabitEthernet0/1 接口的相关信息。

Samba 服务器(Linux 系统中实现 SMB 共享的服务)。从 Windows 访问时提示“没有权限”,核心原因是 Samba 服务配置、Linux 系统权限、Windows 访问设置三者中存在权限不匹配,具体排查方向如下:

一、优先排查 Samba 服务自身配置(最常见原因)

Samba 共享权限需在  /etc/samba/smb.conf  配置文件中明确设置,若未允许访问或权限不足,会直接导致 Windows 提示无权限。

1. 检查共享目录的 Samba 权限配置

打开配置文件: sudo vi /etc/samba/smb.conf ,找到您设置的共享段(如  [share] ),确保包含以下关键配置(根据需求调整):

ini

[share] # 共享名称(Windows 访问时显示的名称)

path = /home/smb_share  # 实际共享的 Linux 目录路径
public = no  # 是否允许匿名访问(no=需 Samba 账号密码)
writable = yes  # 是否允许写入(yes=可读写,no=只读)
valid users = smbuser  # 允许访问的 Samba 账号(需提前创建)
create mask = 0644  # 新建文件的权限
directory mask = 0755  # 新建目录的权限

 

  • 若  public = yes  仍无法访问,需检查是否漏加  guest ok = yes (允许匿名)。
  • 配置后需重启 Samba 生效: sudo systemctl restart smb nmb 。

    2. 确认 Samba 账号已创建并生效

    Samba 权限依赖独立的“Samba 账号”(与 Linux 系统账号可同名,但密码独立),若未创建或密码错误,会提示无权限:

  • 创建 Samba 账号(需先存在同名 Linux 账号,如  smbuser ):
     sudo smbpasswd -a smbuser (按提示输入并确认密码)。
  • 检查账号是否激活: sudo pdbedit -L (列出所有有效 Samba 账号,确保目标账号在列)。

二、排查 Linux 系统目录的基础权限(易忽略)

Samba 权限生效的前提是:Linux 系统本身对“共享目录”的权限,允许 Samba 服务(或 Samba 账号)访问。即使 Samba 配置允许,Linux 目录权限不足仍会阻断访问。

1. 查看并调整共享目录的 Linux 权限

执行命令查看权限(将  /home/smb_share  替换为您的共享目录):
 ls -ld /home/smb_share 

  • 要求:目录的“所有者”或“所属组”需包含 Samba 账号(如  smbuser ),且至少具备  r-x  权限(读+执行,执行权限是进入目录的前提)。
  • 若权限不足,执行命令调整(示例:给所属组添加  r-x  权限):
     sudo chmod g+r-x /home/smb_share 
  • 若需允许写入,需添加  w  权限: sudo chmod g+w /home/smb_share 。

    2. 检查 SELinux 限制(CentOS/RHEL 特有)

    Linux 系统的 SELinux 安全机制可能默认阻止 Samba 访问目录,需手动允许:

  • 临时关闭 SELinux 测试(若测试后可访问,说明是 SELinux 问题):
     sudo setenforce 0 (重启后失效,仅用于测试)。
  • 永久允许 Samba 访问目录(推荐):
     sudo semanage fcontext -a -t samba_share_t "/home/smb_share(/.*)?" 
     sudo restorecon -Rv /home/smb_share (刷新 SELinux 上下文)。

三、排查 Windows 端访问设置(细节问题)

1. 确认访问方式正确

Windows 访问 Samba 共享的路径格式: \Samba服务器IP\共享名称 (如  \192.168.1.100\share ),避免输错 IP 或共享名称。

2. 验证登录账号密码正确

当 Windows 弹出“输入网络凭据”时,需输入 Samba 账号和密码(不是 Linux 系统账号密码,也不是 Windows 本地账号),且注意区分大小写。

3. 清除旧的错误凭据(若曾输错过密码)

若之前保存过错误的账号密码,Windows 会重复使用导致权限失败,需清除:

  • 打开 Windows “控制面板 → 用户账户 → 管理你的凭据 → Windows 凭据”。
  • 找到对应 Samba 服务器(如  192.168.1.100 )的凭据,点击“删除”,重新访问时输入正确账号密码。

四、快速排查流程(按顺序操作)

1. 先测试 Samba 服务是否正常:在 Linux 本地执行  smbclient -L //localhost/share -U smbuser (输入密码后能看到共享列表,说明 Samba 服务和账号正常)。

2. 再检查 Linux 目录权限: ls -ld /home/smb_share  确保 Samba 账号有访问权限。

3. 最后在 Windows 端清除旧凭据,重新用  \IP\共享名  访问,输入正确 Samba 账号密码。

按以上步骤排查,90% 以上的“权限问题”可解决,核心是确保 Samba 配置权限、Linux 目录权限、Windows 登录凭据三者一致且有效。

在 Ubuntu 系统中安装 KVM 需先确认硬件支持,再通过命令行完成安装,具体步骤如下:

1. 确认硬件虚拟化支持

首先检查 CPU 是否开启虚拟化(Intel-VT 或 AMD-V),在终端执行以下命令:

bash

grep -Eoc '(vmx|svm)' /proc/cpuinfo
 

  • 输出 大于 0:支持虚拟化,继续下一步;
  • 输出 0:需重启电脑进入 BIOS/UEFI,手动开启虚拟化功能。

2. 安装 KVM 核心组件

更新系统软件包后,安装 KVM 及相关工具( qemu-kvm  为核心虚拟化模块, libvirt-daemon  用于管理虚拟机, virt-manager  为图形化管理工具):

bash

1. 更新软件源

sudo apt update

2. 安装 KVM 组件

sudo apt update

sudo apt install -y \
    qemu-kvm \
    libvirt-daemon-system \
    libvirt-clients \
    virtinst \
    bridge-utils \
    cpu-checker

 

如果你有桌面环境,可以再安装:

sudo apt install -y virt-manager

检查 KVM:

lsmod | grep kvm

正常 Intel CPU 一般看到:

kvm_intel
kvm

AMD 则通常是:

kvm_amd
kvm

检查:

sudo kvm-ok

如果没有 kvm-ok:

sudo apt install -y cpu-checker
sudo kvm-ok

正常:

INFO: /dev/kvm exists
KVM acceleration can be used 

3. 将当前用户添加到相关组

避免每次操作都需输入  sudo ,将用户加入  kvm  和  libvirt  组(需注销或重启生效):

bash
  
sudo adduser $USER kvm
sudo adduser $USER libvirt
 

4. 验证安装

执行以下命令,若输出  running  则表示 KVM 服务已正常启动:

bash
  
sudo systemctl status libvirtd
 

5. 启动 KVM 管理工具

  • 图形化界面:在 Ubuntu 应用菜单中搜索  Virtual Machine Manager (或终端执行  virt-manager );
  • 命令行:可通过  virsh  命令管理虚拟机(如  virsh list --all  查看虚拟机列表)。

6、配置你的 br0

先执行下面这 4 个命令:

ip -br addr
ip route
ls -l /etc/netplan/
cat /etc/netplan/*.yaml

获取相关的网络配置信息
image.png

先备份 Netplan

非常建议:

sudo cp /etc/netplan/50-cloud-init.yaml \
        /etc/netplan/50-cloud-init.yaml.bak

然后编辑:

sudo nano /etc/netplan/50-cloud-init.yaml

把现在:

network:
  version: 2
  ethernets:
    eno2:
      dhcp4: true

改成:

network:
  version: 2

  ethernets:
    eno2:
      dhcp4: false

  bridges:
    br0:
      interfaces:
      - enp3s0
    addresses:
    - 192.168.1.100/24
    routes:
    - to: default
      via: 192.168.1.1
    nameservers:
      addresses:
      - 192.168.1.1
      - 8.8.8.8
    parameters:
      stp: false
      forward-delay: 0

保存:

⚠️ 不要直接 netplan apply

因为你现在很可能是 SSH 远程登录。
先去掉

parameters:
  stp: false
  forward-delay: 0

否则sudo netplan try执行不成功
先执行:

sudo netplan generate

如果没有任何错误,再执行:

sudo netplan try

这是非常重要的一步。

netplan try 会临时应用新的网络配置。

如果网络正常,确认配置。

如果网络真的断了,没有确认,Netplan 会自动回滚。

检查ip -br addr

应用更改:sudo netplan apply

在使用 VirtualBox 时,如果遇到无法启用 AMD-V(AMD虚拟化技术)扩展的问题,可能是因为与 KVM 内核模块冲突。AMD-V 是 AMD处理器上的一个硬件特性,用于提高虚拟化性能。而 KVM 是 Linux 下的一个开源虚拟化模块,它允许在 Linux 上运行虚拟化技术。

要解决这个问题,你可以尝试以下几种方法:

1. 禁用 KVM 内核模块

你可以尝试禁用 KVM 内核模块,这样 AMD-V 就可以被启用。以下是操作步骤:

查看当前加载的模块:

打开终端,输入以下命令来查看当前加载的内核模块:

lsmod | grep kvm

临时禁用 KVM:

你可以通过重新加载 VirtualBox 的内核模块来暂时禁用 KVM。首先卸载 VirtualBox 的内核模块,然后重新加载它们:

sudo modprobe -r kvm_amd # 如果你的处理器是 Intel 处理器,则使用 kvm_intel
sudo modprobe -r kvm # 卸载 kvm 模块
sudo modprobe kvm # 重新加载 kvm 模块

永久禁用 KVM:

如果你希望永久禁用 KVM,可以编辑 /etc/modprobe.d/blacklist.conf 文件(如果不存在,则创建此文件),并添加以下行:

blacklist kvm_amd
blacklist kvm

然后重新启动系统。

2. 检查 BIOS/UEFI 设置

确保在 BIOS/UEFI 设置中启用了 AMD-V(或 Intel VT-x,取决于你的处理器类型)。有时候,即使 Linux 禁用了 KVM,BIOS/UEFI 设置中也可能需要手动启用这些虚拟化技术。

重启你的电脑并进入 BIOS/UEFI 设置。

在设置中找到“AMD Virtualization”(或“Intel Virtual Technology”)选项,并确保它被启用。

保存设置并重启电脑。

3. 更新 VirtualBox 和内核

确保你的 VirtualBox 和 Linux 内核都是最新版本。有时候,软件更新可以解决兼容性问题或已知的bug。

sudo apt update && sudo apt upgrade # 对于基于 Debian 的系统
sudo yum update # 对于基于 RHEL 的系统

更新 VirtualBox:

sudo apt install virtualbox # Debian/Ubuntu
sudo yum install VirtualBox # CentOS/RHEL

4. 检查 VirtualBox 配置文件

检查 VirtualBox 的配置文件,确保没有错误的设置阻止了 AMD-V 的启用。你可以尝试重置 VirtualBox 的网络配置或重新安装 VirtualBox。

5. 使用命令行选项启动 VirtualBox

在启动 VirtualBox 时,使用命令行选项来尝试解决问题:

VBoxManage setextradata global GUI/SuppressMessages dialogID # 根据提示信息具体操作,例如禁用某些警告或错误信息。

通过上述方法,你应该能够解决 VirtualBox 无法启用 AMD-V 的问题。如果问题仍然存在,可能需要查看更详细的系统日志或联系技术支持获取进一步帮助。

一.环境搭建

1.安装uiautomator2

在终端使用pip安装即可

pip install  uiautomator2

2.安装adb

可参考:https://www.cnblogs.com/lihongtaoya/p/14970306.html

3.安装weditor

终端执行如下命令

pip install weditor==0.6.4

4.ATX

确保以上环境都搭建好之后,运行下面代码,安卓设备会自动下载安装ATX应用

import uiautomator2 as u2
# 连接启动
d = u2.connect()
print(d.info)

二.元素定位

1.weditor使用

weditor是基于浏览器的一款ui查看器,可以在测试中帮助我们来定位所需要的元素。运行的话可以终端直接输入weditor回车即可
停止ui查看ctrl+c即可停止

2.元素定位

1.定位方法

d(resourceId="android:id/title", text="移动网络")  # 两个条件定位
# 或
d(resourceId="android:id/title")  # 一个条件定位

2.可定位的属性

我们在选中一个元素时,Selected Element下就会显示可定位的属性,场景的属性如下。

className 类名
index 下标
text 文本
textContains text中包含有指定文本的元素
textMatches text符合指定正则的元素
textStartsWith text中指定文本开头的元素
resourceId 指定内容的元素
package 包名
description 描述
checkable 可检查
clickable 可点击
enabled 可激活
focusable 是否聚焦
focused 获取聚焦的元素
scrollable 是否可滚动
longClickable 可长按
selected 当前选中

3.xpath定位

.xpath("//*[@text='设置' and @content-desc='设置,1条通知']").click()

4.相对定位

先定位到一个元素,在来定位元素周边的元素(即:左右上下)

已”显示与亮度“为坐标,来定位”通知与状态栏“和”桌面锁屏与壁纸“

d(resourceId="android:id/title", text="显示与亮度").up(text="通知与状态栏").click()  # 上
d(resourceId="android:id/title", text="显示与亮度").down(text="桌面、锁屏与壁纸").click()  # 下
# d().left()  # 左
# d().right()  # 右